Download src/tools/SendMessageTool/prompt.ts from chenbhao/codev: direct link, hf CLI and curl.
- Browser
- Download file 2.36 kB
-
https://huggingface.co/chenbhao/codev/resolve/afbc7edaae4e6bb0102ba024b49ce8be89d2264c/src/tools/SendMessageTool/prompt.ts
- Command line
-
hf download hf://chenbhao/codev@afbc7edaae4e6bb0102ba024b49ce8be89d2264c/src/tools/SendMessageTool/prompt.ts
-
curl -L -o prompt.ts https://huggingface.co/chenbhao/codev/resolve/afbc7edaae4e6bb0102ba024b49ce8be89d2264c/src/tools/SendMessageTool/prompt.ts
2.36 kB
| import { feature } from 'bun:bundle' | |
| export const DESCRIPTION = 'Send a message to another agent' | |
| export function getPrompt(): string { | |
| const udsRow = feature('UDS_INBOX') | |
| ? `\n| \`"uds:/path/to.sock"\` | Local Claude session's socket (same machine; use \`ListPeers\`) | | |
| | \`"bridge:session_..."\` | Remote Control peer session (cross-machine; use \`ListPeers\`) |` | |
| : '' | |
| const udsSection = feature('UDS_INBOX') | |
| ? `\n\n## Cross-session | |
| Use \`ListPeers\` to discover targets, then: | |
| \`\`\`json | |
| {"to": "uds:/tmp/cc-socks/1234.sock", "message": "check if tests pass over there"} | |
| {"to": "bridge:session_01AbCd...", "message": "what branch are you on?"} | |
| \`\`\` | |
| A listed peer is alive and will process your message β no "busy" state; messages enqueue and drain at the receiver's next tool round. Your message arrives wrapped as \`<cross-session-message from="...">\`. **To reply to an incoming message, copy its \`from\` attribute as your \`to\`.**` | |
| : '' | |
| return ` | |
| # SendMessage | |
| Send a message to another agent. | |
| \`\`\`json | |
| {"to": "researcher", "summary": "assign task 1", "message": "start on task #1"} | |
| \`\`\` | |
| | \`to\` | | | |
| |---|---| | |
| | \`"researcher"\` | Teammate by name | | |
| | \`"*"\` | Broadcast to all teammates β expensive (linear in team size), use only when everyone genuinely needs it |${udsRow} | |
| Your plain text output is NOT visible to other agents β to communicate, you MUST call this tool. Messages from teammates are delivered automatically; you don't check an inbox. Refer to teammates by name, never by UUID. When relaying, don't quote the original β it's already rendered to the user.${udsSection} | |
| ## Protocol responses (legacy) | |
| If you receive a JSON message with \`type: "shutdown_request"\` or \`type: "plan_approval_request"\`, respond with the matching \`_response\` type β echo the \`request_id\`, set \`approve\` true/false: | |
| \`\`\`json | |
| {"to": "team-lead", "message": {"type": "shutdown_response", "request_id": "...", "approve": true}} | |
| {"to": "researcher", "message": {"type": "plan_approval_response", "request_id": "...", "approve": false, "feedback": "add error handling"}} | |
| \`\`\` | |
| Approving shutdown terminates your process. Rejecting plan sends the teammate back to revise. Don't originate \`shutdown_request\` unless asked. Don't send structured JSON status messages β use TaskUpdate. | |
| `.trim() | |
| } | |