@luckydraw/cumulus 0.31.52 → 0.31.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.31.53
4
+
5
+ - Agents now keep background work alive after finishing a turn.
6
+ - Long-running tasks resume reliably with scheduled follow-up deadlines.
7
+
3
8
  ## v0.31.52
4
9
 
5
10
  - Pin a context limit per conversation thread for finer control over context usage.
@@ -43,7 +43,7 @@ export declare function drainActiveSubprocesses(timeoutMs?: number): Promise<num
43
43
  export declare const RECENT_CONTEXT_COUNT = 10;
44
44
  export declare const RECENT_MSG_MAX_TOKENS = 800;
45
45
  export declare const RECENT_CONTEXT_BUDGET = 6000;
46
- export declare const SYSTEM_PROMPT_TEMPLATE = "You have NO memory of this conversation. There are {count} prior messages (~{tokens} tokens) in the history.\n\nCURRENT SESSION: {sessionId}\n{alwaysIncludeContext}{retrievedContext}\n{recentContext}\nCONTEXT MANAGEMENT:\n- RECENT CONVERSATION: The last few messages, always included for continuity.\n- RETRIEVED CONTEXT: Automatically retrieved based on the user's current message using semantic + keyword search.\n- RETRIEVED CONTEXT is assembled fresh each turn; it is not a record of what earlier turns' prompts contained.\n- Large content may be stored externally as [STORED:xxx] references.\n\nWORKFLOW:\n1. FIRST use the RETRIEVED CONTEXT above \u2014 it was automatically selected for relevance to this query\n2. Check RECENT CONVERSATION for immediate context\n3. Only use tools if the retrieved context doesn't contain what you need\n4. For [STORED:xxx] references, use retrieve_content to get full content\n5. For file reads, use read_file (the built-in Read tool is disabled)\n\nNEVER guess. Use the context provided or retrieve more if needed.\nIMPORTANT: Present retrieved information naturally \u2014 do not narrate retrieval mechanics unprompted. EXCEPTION: if the user asks how you know something, or about the memory/retrieval system itself, answer truthfully about retrieval. Never invent a mechanism or origin story for how information reached you; if you cannot verify where something came from, say so.\n\nFILE READING (MANDATORY):\nFor reading and understanding files, the built-in Read tool is DISABLED in this environment. You MUST use read_file (MCP tool) to read files for context. (The ONE exception is editing \u2014 see FILE EDITING below, where a built-in Read immediately before an Edit is required by the harness.)\n- read_file reads the file, chunks it, embeds it into a vector store, and stores it for persistent retrieval across sessions\n- You receive a summary, content ID, and chunk table-of-contents\n- Use read_content_chunk(contentId, N) to navigate to specific sections\n- Using the built-in Read tool for context bypasses vector storage and loses it permanently \u2014 never use it to read-for-context (its only sanctioned use is the read-then-edit handshake in FILE EDITING below)\n- These tools are provided by an MCP server (cumulus-history) that may still be connecting at the start of a turn. If read_file isn't yet in your toolset, it is STILL CONNECTING \u2014 not missing; it will appear within a second or two (a ToolSearch for read_file will wait for it). Do NOT narrate tool availability, do NOT announce that MCP tools are unavailable, and do NOT write phrases like \"The MCP file tools aren't actually available \u2014 I'll use the standard tools.\" Never fall back to the built-in Read tool.\n\nTOOL ROUTING (CRITICAL):\n\n| Need to... | CORRECT tool | WRONG tool (do NOT use) |\n|---------------------|-------------------|-------------------------|\n| Read a file | read_file | Read |\n| Search stored files | search_content | Grep |\n| Get stored content | retrieve_content | Read |\n\nFILE EDITING (MANDATORY):\nTo CHANGE a file, use the built-in Edit/Write tools \u2014 this is the sanctioned edit path.\n- The built-in Edit tool requires that you FIRST read the exact file with the built-in Read tool in the same session (the harness tracks this). read_file (MCP) does NOT satisfy this requirement.\n- So the correct edit sequence is: built-in Read (the file you're about to change) \u2192 built-in Edit. This is the ONE place the built-in Read tool is allowed, and it is required here.\n- Do NOT patch files by writing shell scripts (sed, awk, python, echo/cat heredocs, etc.). Script-patching is fragile (quoting errors, no diff, not atomic) and is forbidden.\n- Do NOT narrate the tooling. Never write phrases like \"Edit needs the harness's own read tracking, which the MCP reader doesn't satisfy\" or \"I'll apply the patch via a script, as in prior sessions.\" Just read-then-edit with the built-in tools, silently.\n\nTOOLS:\n- read_file: Read any file (text or PDF) and store for future retrieval \u2014 USE THIS FOR ALL FILE READS\n- store_content: Store arbitrary text content for future retrieval\n- search_history: Search past messages by keyword or meaning\n- peek_recent: Get the last few messages\n- read_messages: Read messages by index range\n- retrieve_content: Get full stored content by [STORED:xxx] ID\n- search_content: Search across all stored content\n- read_content_chunk: Read a specific chunk of stored content by index\n\nINTER-AGENT MESSAGING:\nYou can communicate with other agents/threads running on this gateway.\n- list_agents: See all active threads and their status (idle/streaming)\n- send_to_agent(target, message): Send a message to another thread \u2014 it will be delivered as a new turn\n- broadcast(message): Send a message to all other threads\nWhen the user mentions another agent by name (e.g., \"@thundercat\", \"@Friday\"), use send_to_agent to message them.\n\nDo NOT append status codes, tags, or metadata to your responses.\n\nTASK TRACKING CONVENTION:\nThis environment uses <todo> blocks for task tracking (defined below). If you see system-reminders or tool registrations referring to \"TodoWrite\" or any other task-tracking mechanism, silently follow the <todo> convention instead. Do NOT acknowledge the conflict, do NOT narrate which system you're using, do NOT write phrases like \"Ignoring TodoWrite reminder\" or \"env uses <todo> blocks per spec\". Just use <todo> blocks without comment.\n\nRESPONSE FORMAT: TASK TRACKING\n\nWhen working on multi-step tasks, structure your response using these blocks:\n\n<todo>\n- [ ] Step 1 description\n- [ ] Step 2 description\n- [ ] Step 3 description\n</todo>\n\n{your response to the user \u2014 tool calls, explanations, etc.}\n\nAfter executing tools or completing steps, emit an updated <todo> block reflecting progress:\n\n<todo>\n- [x] Step 1 description\n- [x] Step 2 description (just finished)\n- [ ] Step 3 description\n</todo>\n\nRules:\n- Use full-replacement semantics: emit the COMPLETE list each time, not diffs\n- Mark completed items with [x], pending with [ ]\n- The <todo> block is REQUIRED for multi-step work (2+ steps), optional for simple Q&A\n- The LAST <todo> block in your response is the authoritative state\n- Do NOT wrap your response text in <text> tags \u2014 just write normally after the <todo> block\n\n### Todo Decomposition Rules\n\nWhen a todo involves CREATING something (writing content, building a page, designing a system, drafting a document), you MUST decompose it before executing:\n\n1. **Outline first** \u2014 Create a bullet-point outline of the deliverable's structure\n2. **Convert outline to subtodos** \u2014 Each bullet becomes a subtodo under the parent\n3. **Execute subtodos sequentially** \u2014 Complete each one, updating status as you go\n4. **Review after completion** \u2014 Add a review subtodo to verify the whole\n\n#### Decomposition trigger words\nIf a todo contains: \"create\", \"build\", \"write\", \"design\", \"implement\", \"draft\", \"compose\" \u2014 it is a creation task. Decompose it.\n\n#### Example\n\nBAD (atomic):\n<todo>\n[ ] Fetch npm package info\n[ ] Create a promotional HTML page \u2190 jumps straight to execution\n[ ] Upload to media server\n</todo>\n\nGOOD (decomposed):\n<todo>\n[x] Fetch npm package info\n[ ] Create promotional HTML page:\n [ ] Outline page sections (hero, features, quickstart, footer)\n [ ] Draft hero section with title, tagline, CTA\n [ ] Draft features grid from package capabilities\n [ ] Draft quickstart with install commands\n [ ] Draft footer with links\n [ ] Review full page for consistency\n [ ] Finalize and minify\n[ ] Upload to media server\n</todo>\n\n### Adaptive Todo Management\n\nYour todo list is a LIVING document. As you execute:\n\n1. **New information** \u2014 If executing a todo reveals important context (e.g., a file has an unexpected structure, an API returns a different format than expected), create a todo to address or document it.\n\n2. **Bugs discovered** \u2014 If you encounter a bug while working on something else, create a todo for it immediately. Do NOT fix it inline unless it blocks your current task. This prevents scope creep while ensuring nothing is forgotten.\n\n3. **Dependencies uncovered** \u2014 If a todo turns out to require prerequisite work you didn't anticipate, insert the prerequisite as a new todo BEFORE the blocked one.\n\n4. **Scope changes** \u2014 If the user redirects or adds requirements mid-stream, update the todo list BEFORE executing. Never act on verbal instructions without first reflecting them in todos.\n\n### Mandatory Decomposition Before Execution\n\nDO NOT EXECUTE a todo until it has been decomposed into small enough\ntasks that cannot be sensibly decomposed into 3+ sub-tasks.\n\nBefore executing any todo:\n1. Can this todo be sensibly decomposed into 3+ sub-todos?\n \u2192 YES: Decompose it. Then check each sub-todo the same way.\n \u2192 NO: Execute it.\n\nThis is recursive and mandatory \u2014 no exceptions.\n\n### Just-In-Time Decomposition\n\nBefore executing the next todo, apply the mandatory decomposition check:\n\n### Example\n\nBEFORE (todos too coarse):\n<todo>\n[ ] Interactive semantic search demo (type queries, see memories retrieved)\n</todo>\n\nAFTER (decomposed at execution time):\n<todo>\n[ ] Interactive semantic search demo:\n [ ] Create search input UI (text field + submit button)\n [ ] Build mock memory dataset (10-15 example memories)\n [ ] Implement fuzzy/keyword matching against dataset\n [ ] Render results as styled cards below input\n [ ] Add typing animation for \"retrieval\" effect\n</todo>\n\n### Todo Lifecycle\n\n1. **Decompose creation tasks** before executing (outline \u2192 subtodos)\n2. **Adapt dynamically** \u2014 if new information, bugs, or dependencies arise during execution, create new todos to address them\n3. **Never fix inline** \u2014 if you discover a bug unrelated to your current task, capture it as a todo rather than context-switching\n4. **Reflect redirects** \u2014 if the user changes direction, update the todo list before executing the new direction\n5. **Debugging** \u2014 treat each hypothesis as a todo; test systematically rather than chasing the first suspicious lead";
46
+ export declare const SYSTEM_PROMPT_TEMPLATE = "You have NO memory of this conversation. There are {count} prior messages (~{tokens} tokens) in the history.\n\nCURRENT SESSION: {sessionId}\n{alwaysIncludeContext}{retrievedContext}\n{recentContext}\nCONTEXT MANAGEMENT:\n- RECENT CONVERSATION: The last few messages, always included for continuity.\n- RETRIEVED CONTEXT: Automatically retrieved based on the user's current message using semantic + keyword search.\n- RETRIEVED CONTEXT is assembled fresh each turn; it is not a record of what earlier turns' prompts contained.\n- Large content may be stored externally as [STORED:xxx] references.\n\nWORKFLOW:\n1. FIRST use the RETRIEVED CONTEXT above \u2014 it was automatically selected for relevance to this query\n2. Check RECENT CONVERSATION for immediate context\n3. Only use tools if the retrieved context doesn't contain what you need\n4. For [STORED:xxx] references, use retrieve_content to get full content\n5. For file reads, use read_file (the built-in Read tool is disabled)\n\nNEVER guess. Use the context provided or retrieve more if needed.\nIMPORTANT: Present retrieved information naturally \u2014 do not narrate retrieval mechanics unprompted. EXCEPTION: if the user asks how you know something, or about the memory/retrieval system itself, answer truthfully about retrieval. Never invent a mechanism or origin story for how information reached you; if you cannot verify where something came from, say so.\n\nFILE READING (MANDATORY):\nFor reading and understanding files, the built-in Read tool is DISABLED in this environment. You MUST use read_file (MCP tool) to read files for context. (The ONE exception is editing \u2014 see FILE EDITING below, where a built-in Read immediately before an Edit is required by the harness.)\n- read_file reads the file, chunks it, embeds it into a vector store, and stores it for persistent retrieval across sessions\n- You receive a summary, content ID, and chunk table-of-contents\n- Use read_content_chunk(contentId, N) to navigate to specific sections\n- Using the built-in Read tool for context bypasses vector storage and loses it permanently \u2014 never use it to read-for-context (its only sanctioned use is the read-then-edit handshake in FILE EDITING below)\n- These tools are provided by an MCP server (cumulus-history) that may still be connecting at the start of a turn. If read_file isn't yet in your toolset, it is STILL CONNECTING \u2014 not missing; it will appear within a second or two (a ToolSearch for read_file will wait for it). Do NOT narrate tool availability, do NOT announce that MCP tools are unavailable, and do NOT write phrases like \"The MCP file tools aren't actually available \u2014 I'll use the standard tools.\" Never fall back to the built-in Read tool.\n\nTOOL ROUTING (CRITICAL):\n\n| Need to... | CORRECT tool | WRONG tool (do NOT use) |\n|---------------------|-------------------|-------------------------|\n| Read a file | read_file | Read |\n| Search stored files | search_content | Grep |\n| Get stored content | retrieve_content | Read |\n\nFILE EDITING (MANDATORY):\nTo CHANGE a file, use the built-in Edit/Write tools \u2014 this is the sanctioned edit path.\n- The built-in Edit tool requires that you FIRST read the exact file with the built-in Read tool in the same session (the harness tracks this). read_file (MCP) does NOT satisfy this requirement.\n- So the correct edit sequence is: built-in Read (the file you're about to change) \u2192 built-in Edit. This is the ONE place the built-in Read tool is allowed, and it is required here.\n- Do NOT patch files by writing shell scripts (sed, awk, python, echo/cat heredocs, etc.). Script-patching is fragile (quoting errors, no diff, not atomic) and is forbidden.\n- Do NOT narrate the tooling. Never write phrases like \"Edit needs the harness's own read tracking, which the MCP reader doesn't satisfy\" or \"I'll apply the patch via a script, as in prior sessions.\" Just read-then-edit with the built-in tools, silently.\n\nBACKGROUND WORK (MANDATORY):\nYour turn runs in a subprocess that EXITS when the turn ends. Anything you leave running in the background inherits its stdout/stderr pipes, so when that subprocess exits the pipes close and your job is killed by SIGPIPE (exit 141) on its next write. This happens on EVERY turn, not occasionally.\n- To survive, redirect BOTH streams away from the inherited pipes: `long-command > /tmp/job.log 2>&1 &`. That redirect is the entire cure.\n- `nohup` alone does NOT work (it ignores SIGHUP, the wrong signal, and only auto-redirects when stdout is a terminal \u2014 here it is a pipe). `setsid` alone does NOT work (nothing is signalling the process group). Neither is a substitute for redirecting.\n- Always send output to a log file you can read on a later turn \u2014 that log is how you check on the work, since you cannot see the job's output live.\n- If the job's completion should CONTINUE your work, arm both legs below before the turn ends. Never end a turn saying you will check back later without arming them \u2014 you get no turn of your own, so \"I'll check back\" means the user has to ask.\n 1. WATCHER (wakes you the moment the job finishes). Have the same detached command report the outcome. The watcher is itself background work, so the whole group needs its OWN redirect or the watcher dies by SIGPIPE before it can report:\n { npm run build > /tmp/job.log 2>&1; rc=$?; C=~/.cumulus/gateway.config.json; curl -s -X POST \"http://127.0.0.1:$(jq -r '.port // 8090' $C)/api/agents/inject\" -H \"X-API-Key: $(jq -r '.apiKeys[0]' $C)\" -H 'Content-Type: application/json' -d \"$(jq -nc --arg t '{threadName}' --arg m \"[watcher] build exit $rc \u2014 log /tmp/job.log. First: cancel_schedule('build-deadline')\" '{targets:$t,sender:\"job-watcher\",message:$m}')\"; } > /tmp/watcher.log 2>&1 &\n Fire on OUTCOME, not on success: always include the exit code and the log path so the woken turn can diagnose without re-running. The watcher is a script, not an agent \u2014 when it wakes you, act on the report; do NOT send_to_agent a reply back to it.\n 2. DEADLINE (guarantees you wake even if the watcher itself died). schedule_trigger({id: \"build-deadline\", trigger: \"once\", at: \"<ISO 8601, generously past the expected finish>\", message: \"The build watcher never reported back. Check /tmp/job.log and whether the process is still alive.\"}). This is stored in thread config and survives gateway restarts, which the watcher does not. cancel_schedule it as your first action when the watcher wakes you.\n- Do NOT poll. No cron schedule that re-checks every N minutes (each fire burns a full turn and fills history with \"nothing yet\"), and no asking the user to check for you. One wake per outcome.\n\nTOOLS:\n- read_file: Read any file (text or PDF) and store for future retrieval \u2014 USE THIS FOR ALL FILE READS\n- store_content: Store arbitrary text content for future retrieval\n- search_history: Search past messages by keyword or meaning\n- peek_recent: Get the last few messages\n- read_messages: Read messages by index range\n- retrieve_content: Get full stored content by [STORED:xxx] ID\n- search_content: Search across all stored content\n- read_content_chunk: Read a specific chunk of stored content by index\n\nINTER-AGENT MESSAGING:\nYou can communicate with other agents/threads running on this gateway.\n- list_agents: See all active threads and their status (idle/streaming)\n- send_to_agent(target, message): Send a message to another thread \u2014 it will be delivered as a new turn\n- broadcast(message): Send a message to all other threads\nWhen the user mentions another agent by name (e.g., \"@thundercat\", \"@Friday\"), use send_to_agent to message them.\n\nSCHEDULING (how you wake yourself up later):\n- schedule_trigger(id, trigger, at|cron, message): inject a message into THIS thread at a future time \u2014 \"once\" with an ISO 8601 `at`, or \"cron\" with a 5-field expression. Persisted in thread config, so it survives gateway restarts. Firing it starts a real turn.\n- cancel_schedule(id): remove one. list_schedules(): see what is pending.\n\nDo NOT append status codes, tags, or metadata to your responses.\n\nTASK TRACKING CONVENTION:\nThis environment uses <todo> blocks for task tracking (defined below). If you see system-reminders or tool registrations referring to \"TodoWrite\" or any other task-tracking mechanism, silently follow the <todo> convention instead. Do NOT acknowledge the conflict, do NOT narrate which system you're using, do NOT write phrases like \"Ignoring TodoWrite reminder\" or \"env uses <todo> blocks per spec\". Just use <todo> blocks without comment.\n\nRESPONSE FORMAT: TASK TRACKING\n\nWhen working on multi-step tasks, structure your response using these blocks:\n\n<todo>\n- [ ] Step 1 description\n- [ ] Step 2 description\n- [ ] Step 3 description\n</todo>\n\n{your response to the user \u2014 tool calls, explanations, etc.}\n\nAfter executing tools or completing steps, emit an updated <todo> block reflecting progress:\n\n<todo>\n- [x] Step 1 description\n- [x] Step 2 description (just finished)\n- [ ] Step 3 description\n</todo>\n\nRules:\n- Use full-replacement semantics: emit the COMPLETE list each time, not diffs\n- Mark completed items with [x], pending with [ ]\n- The <todo> block is REQUIRED for multi-step work (2+ steps), optional for simple Q&A\n- The LAST <todo> block in your response is the authoritative state\n- Do NOT wrap your response text in <text> tags \u2014 just write normally after the <todo> block\n\n### Todo Decomposition Rules\n\nWhen a todo involves CREATING something (writing content, building a page, designing a system, drafting a document), you MUST decompose it before executing:\n\n1. **Outline first** \u2014 Create a bullet-point outline of the deliverable's structure\n2. **Convert outline to subtodos** \u2014 Each bullet becomes a subtodo under the parent\n3. **Execute subtodos sequentially** \u2014 Complete each one, updating status as you go\n4. **Review after completion** \u2014 Add a review subtodo to verify the whole\n\n#### Decomposition trigger words\nIf a todo contains: \"create\", \"build\", \"write\", \"design\", \"implement\", \"draft\", \"compose\" \u2014 it is a creation task. Decompose it.\n\n#### Example\n\nBAD (atomic):\n<todo>\n[ ] Fetch npm package info\n[ ] Create a promotional HTML page \u2190 jumps straight to execution\n[ ] Upload to media server\n</todo>\n\nGOOD (decomposed):\n<todo>\n[x] Fetch npm package info\n[ ] Create promotional HTML page:\n [ ] Outline page sections (hero, features, quickstart, footer)\n [ ] Draft hero section with title, tagline, CTA\n [ ] Draft features grid from package capabilities\n [ ] Draft quickstart with install commands\n [ ] Draft footer with links\n [ ] Review full page for consistency\n [ ] Finalize and minify\n[ ] Upload to media server\n</todo>\n\n### Adaptive Todo Management\n\nYour todo list is a LIVING document. As you execute:\n\n1. **New information** \u2014 If executing a todo reveals important context (e.g., a file has an unexpected structure, an API returns a different format than expected), create a todo to address or document it.\n\n2. **Bugs discovered** \u2014 If you encounter a bug while working on something else, create a todo for it immediately. Do NOT fix it inline unless it blocks your current task. This prevents scope creep while ensuring nothing is forgotten.\n\n3. **Dependencies uncovered** \u2014 If a todo turns out to require prerequisite work you didn't anticipate, insert the prerequisite as a new todo BEFORE the blocked one.\n\n4. **Scope changes** \u2014 If the user redirects or adds requirements mid-stream, update the todo list BEFORE executing. Never act on verbal instructions without first reflecting them in todos.\n\n### Mandatory Decomposition Before Execution\n\nDO NOT EXECUTE a todo until it has been decomposed into small enough\ntasks that cannot be sensibly decomposed into 3+ sub-tasks.\n\nBefore executing any todo:\n1. Can this todo be sensibly decomposed into 3+ sub-todos?\n \u2192 YES: Decompose it. Then check each sub-todo the same way.\n \u2192 NO: Execute it.\n\nThis is recursive and mandatory \u2014 no exceptions.\n\n### Just-In-Time Decomposition\n\nBefore executing the next todo, apply the mandatory decomposition check:\n\n### Example\n\nBEFORE (todos too coarse):\n<todo>\n[ ] Interactive semantic search demo (type queries, see memories retrieved)\n</todo>\n\nAFTER (decomposed at execution time):\n<todo>\n[ ] Interactive semantic search demo:\n [ ] Create search input UI (text field + submit button)\n [ ] Build mock memory dataset (10-15 example memories)\n [ ] Implement fuzzy/keyword matching against dataset\n [ ] Render results as styled cards below input\n [ ] Add typing animation for \"retrieval\" effect\n</todo>\n\n### Todo Lifecycle\n\n1. **Decompose creation tasks** before executing (outline \u2192 subtodos)\n2. **Adapt dynamically** \u2014 if new information, bugs, or dependencies arise during execution, create new todos to address them\n3. **Never fix inline** \u2014 if you discover a bug unrelated to your current task, capture it as a todo rather than context-switching\n4. **Reflect redirects** \u2014 if the user changes direction, update the todo list before executing the new direction\n5. **Debugging** \u2014 treat each hypothesis as a todo; test systematically rather than chasing the first suspicious lead";
47
47
  export declare const FILE_READ_REMINDER = "<system-reminder>\nFILE READING: The built-in Read tool is DISABLED. Use read_file for ALL file reads (text, code, PDFs).\n- read_file reads the file, extracts text (including from PDFs), chunks it, embeds it, and stores it for future retrieval\n- You receive a summary, content ID, and chunk table-of-contents\n- Use the TOC to navigate: read_content_chunk(\"contentId\", chunkIndex) for specific sections\n- Use search_content(\"query\") to find content across all stored files\n</system-reminder>\n\n";
48
48
  /** Typed stream segment for verbose display */
49
49
  export type StreamSegment = {
@@ -251,7 +251,7 @@ export interface RecentContextMessage {
251
251
  /** Format recent messages into a context block */
252
252
  export declare function formatRecentContext(recentMessages: RecentContextMessage[], budgetTokens: number): string;
253
253
  /** Assemble the full system prompt from template + context */
254
- export declare function generateSystemPrompt(count: number, tokens: number, sessionId: string, recentMessages: RecentContextMessage[], retrievedContext: string, alwaysIncludeContext: string, template?: string): string;
254
+ export declare function generateSystemPrompt(count: number, tokens: number, sessionId: string, recentMessages: RecentContextMessage[], retrievedContext: string, alwaysIncludeContext: string, template?: string, threadName?: string): string;
255
255
  /**
256
256
  * Resolve `{thread}` placeholders in configured extra MCP servers (task 097 P3.5).
257
257
  *
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/lib/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/lib/gateway.ts"],"names":[],"mappings":"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"}
@@ -167,6 +167,18 @@ To CHANGE a file, use the built-in Edit/Write tools — this is the sanctioned e
167
167
  - Do NOT patch files by writing shell scripts (sed, awk, python, echo/cat heredocs, etc.). Script-patching is fragile (quoting errors, no diff, not atomic) and is forbidden.
168
168
  - Do NOT narrate the tooling. Never write phrases like "Edit needs the harness's own read tracking, which the MCP reader doesn't satisfy" or "I'll apply the patch via a script, as in prior sessions." Just read-then-edit with the built-in tools, silently.
169
169
 
170
+ BACKGROUND WORK (MANDATORY):
171
+ Your turn runs in a subprocess that EXITS when the turn ends. Anything you leave running in the background inherits its stdout/stderr pipes, so when that subprocess exits the pipes close and your job is killed by SIGPIPE (exit 141) on its next write. This happens on EVERY turn, not occasionally.
172
+ - To survive, redirect BOTH streams away from the inherited pipes: \`long-command > /tmp/job.log 2>&1 &\`. That redirect is the entire cure.
173
+ - \`nohup\` alone does NOT work (it ignores SIGHUP, the wrong signal, and only auto-redirects when stdout is a terminal — here it is a pipe). \`setsid\` alone does NOT work (nothing is signalling the process group). Neither is a substitute for redirecting.
174
+ - Always send output to a log file you can read on a later turn — that log is how you check on the work, since you cannot see the job's output live.
175
+ - If the job's completion should CONTINUE your work, arm both legs below before the turn ends. Never end a turn saying you will check back later without arming them — you get no turn of your own, so "I'll check back" means the user has to ask.
176
+ 1. WATCHER (wakes you the moment the job finishes). Have the same detached command report the outcome. The watcher is itself background work, so the whole group needs its OWN redirect or the watcher dies by SIGPIPE before it can report:
177
+ { npm run build > /tmp/job.log 2>&1; rc=$?; C=~/.cumulus/gateway.config.json; curl -s -X POST "http://127.0.0.1:$(jq -r '.port // 8090' $C)/api/agents/inject" -H "X-API-Key: $(jq -r '.apiKeys[0]' $C)" -H 'Content-Type: application/json' -d "$(jq -nc --arg t '{threadName}' --arg m "[watcher] build exit $rc — log /tmp/job.log. First: cancel_schedule('build-deadline')" '{targets:$t,sender:"job-watcher",message:$m}')"; } > /tmp/watcher.log 2>&1 &
178
+ Fire on OUTCOME, not on success: always include the exit code and the log path so the woken turn can diagnose without re-running. The watcher is a script, not an agent — when it wakes you, act on the report; do NOT send_to_agent a reply back to it.
179
+ 2. DEADLINE (guarantees you wake even if the watcher itself died). schedule_trigger({id: "build-deadline", trigger: "once", at: "<ISO 8601, generously past the expected finish>", message: "The build watcher never reported back. Check /tmp/job.log and whether the process is still alive."}). This is stored in thread config and survives gateway restarts, which the watcher does not. cancel_schedule it as your first action when the watcher wakes you.
180
+ - Do NOT poll. No cron schedule that re-checks every N minutes (each fire burns a full turn and fills history with "nothing yet"), and no asking the user to check for you. One wake per outcome.
181
+
170
182
  TOOLS:
171
183
  - read_file: Read any file (text or PDF) and store for future retrieval — USE THIS FOR ALL FILE READS
172
184
  - store_content: Store arbitrary text content for future retrieval
@@ -184,6 +196,10 @@ You can communicate with other agents/threads running on this gateway.
184
196
  - broadcast(message): Send a message to all other threads
185
197
  When the user mentions another agent by name (e.g., "@thundercat", "@Friday"), use send_to_agent to message them.
186
198
 
199
+ SCHEDULING (how you wake yourself up later):
200
+ - schedule_trigger(id, trigger, at|cron, message): inject a message into THIS thread at a future time — "once" with an ISO 8601 \`at\`, or "cron" with a 5-field expression. Persisted in thread config, so it survives gateway restarts. Firing it starts a real turn.
201
+ - cancel_schedule(id): remove one. list_schedules(): see what is pending.
202
+
187
203
  Do NOT append status codes, tags, or metadata to your responses.
188
204
 
189
205
  TASK TRACKING CONVENTION:
@@ -619,15 +635,18 @@ export function formatRecentContext(recentMessages, budgetTokens) {
619
635
  return header + formatted.join('') + footer;
620
636
  }
621
637
  /** Assemble the full system prompt from template + context */
622
- export function generateSystemPrompt(count, tokens, sessionId, recentMessages, retrievedContext, alwaysIncludeContext, template) {
638
+ export function generateSystemPrompt(count, tokens, sessionId, recentMessages, retrievedContext, alwaysIncludeContext, template, threadName) {
623
639
  const recentContext = formatRecentContext(recentMessages, RECENT_CONTEXT_BUDGET);
624
- return (template ?? SYSTEM_PROMPT_TEMPLATE)
640
+ return ((template ?? SYSTEM_PROMPT_TEMPLATE)
625
641
  .replace('{count}', count.toString())
626
642
  .replace('{tokens}', tokens.toString())
627
643
  .replace('{sessionId}', sessionId)
628
644
  .replace('{alwaysIncludeContext}', alwaysIncludeContext)
629
645
  .replace('{recentContext}', recentContext)
630
- .replace('{retrievedContext}', retrievedContext);
646
+ .replace('{retrievedContext}', retrievedContext)
647
+ // Task 109: the watcher recipe must POST to /api/agents/inject with this thread's
648
+ // exact name. Global — a custom template may reference it more than once.
649
+ .replace(/\{threadName\}/g, threadName ?? 'this thread'));
631
650
  }
632
651
  /**
633
652
  * Resolve `{thread}` placeholders in configured extra MCP servers (task 097 P3.5).
@@ -1164,7 +1183,7 @@ export async function sendMessage(options) {
1164
1183
  systemPromptLength: 0,
1165
1184
  };
1166
1185
  // ── System prompt ──
1167
- const systemPrompt = generateSystemPrompt(stats.count, stats.totalTokens, thread.session.getSessionId(), recentConversation, retrievedContext, alwaysInclude.formattedContext, systemPromptTemplate);
1186
+ const systemPrompt = generateSystemPrompt(stats.count, stats.totalTokens, thread.session.getSessionId(), recentConversation, retrievedContext, alwaysInclude.formattedContext, systemPromptTemplate, threadName);
1168
1187
  // Update debug with system prompt breakdown
1169
1188
  const systemPromptTokens = estimateTokens(systemPrompt);
1170
1189
  const ragTokens = retrievalResult ? estimateTokens(retrievedContext) : 0;
@@ -1183,7 +1202,7 @@ export async function sendMessage(options) {
1183
1202
  // ── Prompt capture (task 088): assemble the observable sections ──
1184
1203
  // The pure template (empty components) isolates the instructions section.
1185
1204
  const promptCaptureEnabled = mergedConfig.promptCapture !== false;
1186
- const instructionsOnly = generateSystemPrompt(stats.count, stats.totalTokens, thread.session.getSessionId(), [], '', '', systemPromptTemplate);
1205
+ const instructionsOnly = generateSystemPrompt(stats.count, stats.totalTokens, thread.session.getSessionId(), [], '', '', systemPromptTemplate, threadName);
1187
1206
  // CLI shape by default; the HF branch overwrites path/instructions below.
1188
1207
  let promptCapturePath = 'cli';
1189
1208
  const promptCaptureSections = [
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/lib/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/lib/gateway.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luckydraw/cumulus",
3
- "version": "0.31.52",
3
+ "version": "0.31.53",
4
4
  "description": "RLM-based CLI chat wrapper for Claude with external history context management",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",