visionclaw 0.1.219-dev.codex-issue-2805-worker-runtime.3 → 0.1.219-dev.codex-2941-task-board-on-main.1

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.
Files changed (144) hide show
  1. package/dist/agent/browser-launcher.d.ts +19 -1
  2. package/dist/agent/browser-launcher.d.ts.map +1 -1
  3. package/dist/agent/browser-launcher.js +40 -0
  4. package/dist/agent/browser-launcher.js.map +1 -1
  5. package/dist/agent/command-handlers.js +2 -2
  6. package/dist/agent/command-handlers.js.map +1 -1
  7. package/dist/agent/engines/claude/session.d.ts +6 -0
  8. package/dist/agent/engines/claude/session.d.ts.map +1 -1
  9. package/dist/agent/engines/claude/session.js +34 -2
  10. package/dist/agent/engines/claude/session.js.map +1 -1
  11. package/dist/agent/engines/pi/tools.d.ts.map +1 -1
  12. package/dist/agent/engines/pi/tools.js +2 -1
  13. package/dist/agent/engines/pi/tools.js.map +1 -1
  14. package/dist/agent/fund-league-hold.d.ts.map +1 -1
  15. package/dist/agent/fund-league-hold.js +5 -1
  16. package/dist/agent/fund-league-hold.js.map +1 -1
  17. package/dist/agent/interrupt-handler.d.ts.map +1 -1
  18. package/dist/agent/interrupt-handler.js +4 -1
  19. package/dist/agent/interrupt-handler.js.map +1 -1
  20. package/dist/agent/lifecycle-trace.d.ts +3 -2
  21. package/dist/agent/lifecycle-trace.d.ts.map +1 -1
  22. package/dist/agent/lifecycle-trace.js +4 -9
  23. package/dist/agent/lifecycle-trace.js.map +1 -1
  24. package/dist/agent/lifecycle-transitions.d.ts +42 -0
  25. package/dist/agent/lifecycle-transitions.d.ts.map +1 -1
  26. package/dist/agent/lifecycle-transitions.js +62 -6
  27. package/dist/agent/lifecycle-transitions.js.map +1 -1
  28. package/dist/agent/loop.d.ts.map +1 -1
  29. package/dist/agent/loop.js +99 -27
  30. package/dist/agent/loop.js.map +1 -1
  31. package/dist/agent/public-activity.d.ts +1 -1
  32. package/dist/agent/public-activity.d.ts.map +1 -1
  33. package/dist/agent/public-activity.js.map +1 -1
  34. package/dist/agent/runtime-context.d.ts +2 -0
  35. package/dist/agent/runtime-context.d.ts.map +1 -1
  36. package/dist/agent/runtime-context.js +4 -0
  37. package/dist/agent/runtime-context.js.map +1 -1
  38. package/dist/agent/service-gate.d.ts.map +1 -1
  39. package/dist/agent/service-gate.js +4 -1
  40. package/dist/agent/service-gate.js.map +1 -1
  41. package/dist/agent/state.d.ts +14 -0
  42. package/dist/agent/state.d.ts.map +1 -1
  43. package/dist/agent/state.js +13 -5
  44. package/dist/agent/state.js.map +1 -1
  45. package/dist/agent/status.d.ts.map +1 -1
  46. package/dist/agent/status.js +4 -1
  47. package/dist/agent/status.js.map +1 -1
  48. package/dist/agent/system-prompt.d.ts.map +1 -1
  49. package/dist/agent/system-prompt.js +11 -1
  50. package/dist/agent/system-prompt.js.map +1 -1
  51. package/dist/agent/tool-call-watchdog.d.ts +7 -0
  52. package/dist/agent/tool-call-watchdog.d.ts.map +1 -1
  53. package/dist/agent/tool-call-watchdog.js +32 -2
  54. package/dist/agent/tool-call-watchdog.js.map +1 -1
  55. package/dist/agent/wake-cycle-runner.d.ts +11 -0
  56. package/dist/agent/wake-cycle-runner.d.ts.map +1 -1
  57. package/dist/agent/wake-cycle-runner.js +42 -9
  58. package/dist/agent/wake-cycle-runner.js.map +1 -1
  59. package/dist/channels/interface.d.ts +18 -0
  60. package/dist/channels/interface.d.ts.map +1 -1
  61. package/dist/channels/interface.js.map +1 -1
  62. package/dist/channels/qq-status.d.ts.map +1 -1
  63. package/dist/channels/qq-status.js +1 -0
  64. package/dist/channels/qq-status.js.map +1 -1
  65. package/dist/channels/telegram-status.d.ts +22 -4
  66. package/dist/channels/telegram-status.d.ts.map +1 -1
  67. package/dist/channels/telegram-status.js +216 -39
  68. package/dist/channels/telegram-status.js.map +1 -1
  69. package/dist/channels/telegram-task-board.d.ts +79 -0
  70. package/dist/channels/telegram-task-board.d.ts.map +1 -0
  71. package/dist/channels/telegram-task-board.js +384 -0
  72. package/dist/channels/telegram-task-board.js.map +1 -0
  73. package/dist/channels/telegram.d.ts +6 -1
  74. package/dist/channels/telegram.d.ts.map +1 -1
  75. package/dist/channels/telegram.js +31 -2
  76. package/dist/channels/telegram.js.map +1 -1
  77. package/dist/i18n/messages.d.ts +248 -0
  78. package/dist/i18n/messages.d.ts.map +1 -1
  79. package/dist/i18n/messages.js +79 -13
  80. package/dist/i18n/messages.js.map +1 -1
  81. package/dist/obs/tunnel.d.ts +9 -1
  82. package/dist/obs/tunnel.d.ts.map +1 -1
  83. package/dist/obs/tunnel.js +121 -54
  84. package/dist/obs/tunnel.js.map +1 -1
  85. package/dist/stt-client.d.ts +10 -0
  86. package/dist/stt-client.d.ts.map +1 -1
  87. package/dist/stt-client.js +64 -31
  88. package/dist/stt-client.js.map +1 -1
  89. package/dist/threads/foreground-task.d.ts +10 -2
  90. package/dist/threads/foreground-task.d.ts.map +1 -1
  91. package/dist/threads/foreground-task.js +18 -3
  92. package/dist/threads/foreground-task.js.map +1 -1
  93. package/dist/threads/foreman-host.d.ts +13 -1
  94. package/dist/threads/foreman-host.d.ts.map +1 -1
  95. package/dist/threads/foreman-host.js +79 -7
  96. package/dist/threads/foreman-host.js.map +1 -1
  97. package/dist/threads/foreman-protocol.d.ts +2 -0
  98. package/dist/threads/foreman-protocol.d.ts.map +1 -1
  99. package/dist/threads/foreman-protocol.js +3 -1
  100. package/dist/threads/foreman-protocol.js.map +1 -1
  101. package/dist/threads/process-group.js +7 -2
  102. package/dist/threads/process-group.js.map +1 -1
  103. package/dist/threads/relay-adapter.d.ts +2 -0
  104. package/dist/threads/relay-adapter.d.ts.map +1 -1
  105. package/dist/threads/relay-adapter.js +6 -0
  106. package/dist/threads/relay-adapter.js.map +1 -1
  107. package/dist/threads/task-settlement.d.ts +17 -0
  108. package/dist/threads/task-settlement.d.ts.map +1 -0
  109. package/dist/threads/task-settlement.js +34 -0
  110. package/dist/threads/task-settlement.js.map +1 -0
  111. package/dist/threads/thread-activity-controller.d.ts +21 -0
  112. package/dist/threads/thread-activity-controller.d.ts.map +1 -1
  113. package/dist/threads/thread-activity-controller.js +111 -3
  114. package/dist/threads/thread-activity-controller.js.map +1 -1
  115. package/dist/tools/browser-health.d.ts +2 -0
  116. package/dist/tools/browser-health.d.ts.map +1 -0
  117. package/dist/tools/browser-health.js +18 -0
  118. package/dist/tools/browser-health.js.map +1 -0
  119. package/dist/tools/browser-set-engine.js +1 -1
  120. package/dist/tools/browser-set-engine.js.map +1 -1
  121. package/dist/tools/delegation.d.ts +7 -0
  122. package/dist/tools/delegation.d.ts.map +1 -1
  123. package/dist/tools/delegation.js +30 -3
  124. package/dist/tools/delegation.js.map +1 -1
  125. package/dist/tools/fund-league.d.ts +4 -0
  126. package/dist/tools/fund-league.d.ts.map +1 -1
  127. package/dist/tools/fund-league.js +1 -1
  128. package/dist/tools/fund-league.js.map +1 -1
  129. package/dist/tools/index.d.ts.map +1 -1
  130. package/dist/tools/index.js +2 -0
  131. package/dist/tools/index.js.map +1 -1
  132. package/dist/tools/upgrade.d.ts +2 -1
  133. package/dist/tools/upgrade.d.ts.map +1 -1
  134. package/dist/tools/upgrade.js +26 -8
  135. package/dist/tools/upgrade.js.map +1 -1
  136. package/dist/utils/restart.d.ts +6 -0
  137. package/dist/utils/restart.d.ts.map +1 -1
  138. package/dist/utils/restart.js +7 -1
  139. package/dist/utils/restart.js.map +1 -1
  140. package/dist/utils/version-check.d.ts.map +1 -1
  141. package/dist/utils/version-check.js +19 -9
  142. package/dist/utils/version-check.js.map +1 -1
  143. package/dist-agent/bundle.cjs +2 -2
  144. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkG,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG7K,OAAO,EAAiD,KAAK,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACtH,OAAO,EAAqC,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC3G,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAI3D,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,8BAA8B,CAAC;IAClD,2EAA2E;IAC3E,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAC3C;;;;OAIG;IACH,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IACzD,mFAAmF;IACnF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA0CD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,WAAW,EACxB,uBAAuB,EAAE,uBAAuB,EAChD,cAAc,CAAC,EAAE,0BAA0B,GAC1C,MAAM,CA+OR"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkG,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG7K,OAAO,EAAiD,KAAK,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACtH,OAAO,EAAqC,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC3G,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAI3D,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,8BAA8B,CAAC;IAClD,2EAA2E;IAC3E,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAC3C;;;;OAIG;IACH,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IACzD,mFAAmF;IACnF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoDD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,WAAW,EACxB,uBAAuB,EAAE,uBAAuB,EAChD,cAAc,CAAC,EAAE,0BAA0B,GAC1C,MAAM,CA+OR"}
@@ -24,6 +24,16 @@ import { RUNTIME_DISCLOSURE_POLICY } from "./runtime-disclosure-policy.js";
24
24
  const FOREMAN_SECTION = `
25
25
  ### Background Tasks
26
26
  You keep the conversation; background workers do long work, so the user keeps getting real answers while it runs.
27
+
28
+ How to talk about it to the user: to them there is only you. Workers, delegation, task ids, limits and refused or conflicting tool calls are internal machinery; never mention them.
29
+ - Speak in the first person as the one doing the work, e.g. "我另外开着在弄,好了告诉你", "这个我同时在跑,大概几分钟", "I'm on it in parallel and will report back".
30
+ - Say you are on something ("我在弄") only after its delegation was accepted. Leaving out the internal reason never means hiding a failure: if a request did not start, say which one did not start and what you will do next.
31
+ - The words below are off limits only when you describe how you yourself work. When the user asks about an admin console (管理后台), system settings, an app running in the background or similar, answer normally. Never say 后台, 后台任务, 交给/派给, 子任务, 子 agent, worker, background, delegated, handed off or 系统 to the user.
32
+ - Never tell the user that a tool refused, conflicted, hit a limit, or that "the system" did something. Fix it yourself (retry, or use the right tool). If something really cannot be done, say plainly what you could not do and what you will do next, without the internal reason.
33
+ - Your process narration (the text you write between tool calls) can be shown to the user on the progress card, word for word (Fin-App shows it). The same rules apply to it: first person, no internal words, e.g. "我同时开始弄 D 和 E" instead of "我把 D 和 E 交给后台".
34
+ - Several requests in one message: start each one, then give one short reply covering all of them, e.g. "B 和 C 我都开始弄了,好了分别告诉你".
35
+ - When a result comes back, deliver it as your own work ("弄好了:…"), never as "the background task finished".
36
+
27
37
  - One task may use at most 3 task tool calls here (files, shell, web, memory); a 4th is refused. If 3 are not enough, or the work is known to be long (reviewing a PR, research, coding, running tests), hand it off with \`delegate_task\`: the goal, the constraints, what is done, what remains and any artifacts. Do not start a worker when you already have the answer; when you only need a clarification, ask the user.
28
38
  - Use \`delegate_tasks\` to dispatch independent Tasks in parallel. Each Task has its own id and budget. Default \`result_mode=separate\` needs no parent; select \`combined\` only for one jointly reviewed result. Use \`workspace_mode=read_only\` for pure inspection, \`shared\` for serial edits/tests in the current directory, and \`isolated\` only for explicit parallel modifications. No worker belongs to this conversation.
29
39
  - After delegation succeeds, do not duplicate that Task's execution here. You may delegate further independent Tasks, coordinate existing ones, answer questions, and reply. \`finish\` ends only the current chat turn; background Tasks continue.
@@ -185,7 +195,7 @@ ${proactiveWakeEnabled ? "- Proactive wake events are skipped if you are already
185
195
  - **Match language**: reply in the same language as the inbound message (Chinese message → Chinese reply).
186
196
  - **Match channel**: always reply via the same channel the message arrived on.
187
197
  - **No Markdown in chat apps**: WeChat, Feishu, and Telegram do not render Markdown — use plain text and emojis only.
188
- - **Progress vs chat**: process narration is ordinary assistant text (Telegram and Fin-App show it on the progress card, not as a chat bubble). \`notify_user\` is the chat message the owner must see — results, questions, blockers, and attachments.
198
+ - **Progress vs chat**: process narration is ordinary assistant text (Fin-App shows it on the progress card, not as a chat bubble; Telegram shows neither). The owner reads it: write it in the first person, in the owner's language, and describe what you are doing, not how the system works. \`notify_user\` is the chat message the owner must see — results, questions, blockers, and attachments.
189
199
  - **Minimize questions**: take action and report the outcome rather than asking for permission. Only confirm before irreversible actions (large trades, emails to external parties).
190
200
  - **Error reporting**: when a tool fails, try alternative approaches before giving up. Report failures clearly: what failed, why, what was tried, and what alternatives remain. For auth/credential errors, re-read memory to verify stored credentials.
191
201
 
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
1
  import type { ActivityTracker } from "./activity-tracker.js";
2
2
  import type { VisionClawConfig } from "../config/types.js";
3
3
  import type { BrowserBackend } from "./runtime-surface.js";
4
+ /**
5
+ * How long a shell command says it will wait: the sum of its explicit
6
+ * `sleep N` calls, in ms (0 when none). A command that sleeps on purpose
7
+ * prints nothing until the sleep ends, which looks exactly like a hang, so
8
+ * the smart alarm must not judge it before then.
9
+ */
10
+ export declare function declaredShellWaitMs(toolName: string, toolInput: string): number;
4
11
  /** Info about a tool call that was killed due to timeout. */
5
12
  export declare const TOOL_CALL_ABORTED_CODE: "TOOL_CALL_ABORTED";
6
13
  export interface ToolTimeoutInfo {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-call-watchdog.d.ts","sourceRoot":"","sources":["../../src/agent/tool-call-watchdog.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAoC3D,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB,EAAG,mBAA4B,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,sBAAsB,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,wFAAwF;IACxF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAYD;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAgB;IAOzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAXnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IACtE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAC/D,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,iBAAiB,CAAS;gBAGf,SAAS,EAAE,MAAM,IAAI,EACrB,MAAM,CAAC,EAAE,gBAAgB,YAAA,EACzB,eAAe,CAAC,EAAE,eAAe,YAAA,EACjC,gBAAgB,GAAE,MAAgC,EAClD,cAAc,GAAE,cAA6B,EAC7C,gBAAgB,UAAO;IAW1C,mGAAmG;IACnG,OAAO,CAAC,aAAa;IAQrB,2CAA2C;IAC3C,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAUzE,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQjC;;;OAGG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAa7F,qEAAqE;IACrE,SAAS,IAAI,eAAe,GAAG,IAAI;IAInC,iFAAiF;IACjF,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,oEAAoE;IACpE,OAAO,IAAI,IAAI;IAQf;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;YAwBV,qBAAqB;IAiCnC;;;;OAIG;YACW,mBAAmB;CAoIlC"}
1
+ {"version":3,"file":"tool-call-watchdog.d.ts","sourceRoot":"","sources":["../../src/agent/tool-call-watchdog.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAyC3D;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAgB/E;AAED,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB,EAAG,mBAA4B,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,sBAAsB,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,wFAAwF;IACxF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAYD;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAgB;IAOzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAXnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IACtE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAC/D,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,iBAAiB,CAAS;gBAGf,SAAS,EAAE,MAAM,IAAI,EACrB,MAAM,CAAC,EAAE,gBAAgB,YAAA,EACzB,eAAe,CAAC,EAAE,eAAe,YAAA,EACjC,gBAAgB,GAAE,MAAgC,EAClD,cAAc,GAAE,cAA6B,EAC7C,gBAAgB,UAAO;IAW1C,mGAAmG;IACnG,OAAO,CAAC,aAAa;IAQrB,2CAA2C;IAC3C,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAUzE,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQjC;;;OAGG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAa7F,qEAAqE;IACrE,SAAS,IAAI,eAAe,GAAG,IAAI;IAInC,iFAAiF;IACjF,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,oEAAoE;IACpE,OAAO,IAAI,IAAI;IAQf;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;YAwBV,qBAAqB;IAiCnC;;;;OAIG;YACW,mBAAmB;CAqIlC"}
@@ -29,6 +29,35 @@ const GENERAL_ALARM_INTERVAL_MS = 30_000;
29
29
  const ABSOLUTE_TIMEOUT_MS = 30 * 60 * 1000;
30
30
  /** How often (ms) the backup watchdog checks for stale tool calls. */
31
31
  const WATCHDOG_POLL_INTERVAL_MS = 15_000;
32
+ /** Bare shell tool names on either engine (`Bash`, `bash`, `mcp__…__shell`, …). */
33
+ const SHELL_TOOL_NAME_PATTERN = /(?:^|_)(?:bash|shell|terminal)$/i;
34
+ const SLEEP_PATTERN = /(?:^|[\s;&|(])sleep\s+(\d+(?:\.\d+)?)([smhd]?)(?=$|[\s;&|)])/g;
35
+ const SLEEP_UNIT_MS = { "": 1_000, s: 1_000, m: 60_000, h: 3_600_000, d: 86_400_000 };
36
+ /**
37
+ * How long a shell command says it will wait: the sum of its explicit
38
+ * `sleep N` calls, in ms (0 when none). A command that sleeps on purpose
39
+ * prints nothing until the sleep ends, which looks exactly like a hang, so
40
+ * the smart alarm must not judge it before then.
41
+ */
42
+ export function declaredShellWaitMs(toolName, toolInput) {
43
+ if (!SHELL_TOOL_NAME_PATTERN.test(toolName))
44
+ return 0;
45
+ let command = toolInput;
46
+ try {
47
+ const parsed = JSON.parse(toolInput);
48
+ if (parsed && typeof parsed === "object" && typeof parsed.command === "string") {
49
+ command = parsed.command;
50
+ }
51
+ }
52
+ catch {
53
+ // Not JSON: scan the raw input.
54
+ }
55
+ let total = 0;
56
+ for (const match of command.matchAll(SLEEP_PATTERN)) {
57
+ total += Number(match[1]) * SLEEP_UNIT_MS[match[2]];
58
+ }
59
+ return Number.isFinite(total) ? total : 0;
60
+ }
32
61
  /** Info about a tool call that was killed due to timeout. */
33
62
  export const TOOL_CALL_ABORTED_CODE = "TOOL_CALL_ABORTED";
34
63
  /**
@@ -198,8 +227,9 @@ export class ToolCallWatchdog {
198
227
  this.onTimeout();
199
228
  return;
200
229
  }
201
- // Not yet time for the next alarm?
202
- const nextAlarmAt = GENERAL_ALARM_INTERVAL_MS * (info.alarmCount + 1);
230
+ // Not yet time for the next alarm? An explicit sleep is not judged before
231
+ // it is due to end; the alarms are counted from there.
232
+ const nextAlarmAt = declaredShellWaitMs(info.name, info.input) + GENERAL_ALARM_INTERVAL_MS * (info.alarmCount + 1);
203
233
  if (elapsedMs < nextAlarmAt)
204
234
  return;
205
235
  // Already evaluating or already triggered?
@@ -1 +1 @@
1
- {"version":3,"file":"tool-call-watchdog.js","sourceRoot":"","sources":["../../src/agent/tool-call-watchdog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-call-watchdog.js","sourceRoot":"","sources":["../../src/agent/tool-call-watchdog.ts"],"names":[],"mappings":"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"}
@@ -110,6 +110,17 @@ export declare class WakeCycleRunner {
110
110
  private silenceRecoveryExhausted;
111
111
  /** Recovering only while a spendable bucket is in use. Reset when the wake ends. */
112
112
  private recoveryPhase;
113
+ /** Publish Recovering once per wake. Later spends of the same bucket stay there. */
114
+ private enterRecovery;
115
+ /**
116
+ * Publish Running for the attempt that is about to start. Spending a
117
+ * recovery bucket leaves the wake in Recovering, and a pre-turn compaction
118
+ * failure publishes Recovering before `run()` is called. Neither may keep
119
+ * the rest of the wake there: `canDrainRunningTurn` only accepts Running,
120
+ * so a retry that stayed in Recovering would stop injecting mid-turn
121
+ * messages until the wake ended.
122
+ */
123
+ private beginAttempt;
113
124
  /**
114
125
  * Watchdog recoveries span multiple queue-driven wakes, so this state lives
115
126
  * on the resident runner rather than inside a single run() invocation.
@@ -1 +1 @@
1
- {"version":3,"file":"wake-cycle-runner.d.ts","sourceRoot":"","sources":["../../src/agent/wake-cycle-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wake-cycle-runner.d.ts","sourceRoot":"","sources":["../../src/agent/wake-cycle-runner.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { isEmailChannel, presentsAssistantText } from "../channels/interface.js"
9
9
  import { isCalendarInterruptMessage } from "./owner-initiated-eligibility.js";
10
10
  import { emailAddressesMatch } from "../utils/email.js";
11
11
  import { EXTERNAL_WAKE_KIND } from "../channels/queue.js";
12
- import { nextRecoveryPhase } from "./lifecycle-transitions.js";
12
+ import { nextRecoveryPhase, publishLifecycle } from "./lifecycle-transitions.js";
13
13
  import { COMPACTION_FAILURE_CONTINUATION, CompactionFailureError } from "./compaction-failure.js";
14
14
  import { ToolOutputRepairError } from "./transcript-output-repair.js";
15
15
  import { getFallbackEngine, getLlmEffort, getLlmRetryEffort, setFallbackEngine } from "./model-provider.js";
@@ -396,6 +396,32 @@ export class WakeCycleRunner {
396
396
  silenceRecoveryExhausted = false;
397
397
  /** Recovering only while a spendable bucket is in use. Reset when the wake ends. */
398
398
  recoveryPhase = "Running";
399
+ /** Publish Recovering once per wake. Later spends of the same bucket stay there. */
400
+ enterRecovery() {
401
+ if (this.recoveryPhase === "Recovering")
402
+ return;
403
+ this.recoveryPhase = "Recovering";
404
+ publishLifecycle(this.deps.agentState, "Recovering");
405
+ }
406
+ /**
407
+ * Publish Running for the attempt that is about to start. Spending a
408
+ * recovery bucket leaves the wake in Recovering, and a pre-turn compaction
409
+ * failure publishes Recovering before `run()` is called. Neither may keep
410
+ * the rest of the wake there: `canDrainRunningTurn` only accepts Running,
411
+ * so a retry that stayed in Recovering would stop injecting mid-turn
412
+ * messages until the wake ended.
413
+ */
414
+ beginAttempt() {
415
+ if (this.recoveryPhase !== "Running")
416
+ this.recoveryPhase = "Running";
417
+ // A held entry belongs to a closed host, not to this attempt. Publishing
418
+ // Running would clear that hold and look like the wake can take work.
419
+ if (this.deps.agentState.entryHeld)
420
+ return;
421
+ if (this.deps.agentState.lifecycle !== "Running") {
422
+ publishLifecycle(this.deps.agentState, "Running");
423
+ }
424
+ }
399
425
  /**
400
426
  * Watchdog recoveries span multiple queue-driven wakes, so this state lives
401
427
  * on the resident runner rather than inside a single run() invocation.
@@ -495,7 +521,10 @@ export class WakeCycleRunner {
495
521
  this.malformedRequestRefreshAttempted = false;
496
522
  this.emptyTurnRetries = 0;
497
523
  this.silenceRecoveryExhausted = false;
498
- this.recoveryPhase = "Running";
524
+ // A pre-turn compaction failure publishes Recovering before this wake is
525
+ // entered. Keep that until the first attempt starts; resetting here used
526
+ // to hide it, so later recovery spends never published Running again.
527
+ this.recoveryPhase = this.deps.agentState.lifecycle === "Recovering" ? "Recovering" : "Running";
499
528
  // --- Capture transcript start lines for post-cycle indexing ---
500
529
  // Recovery can rotate the session to a new transcript, so anchor by
501
530
  // transcript path instead of using a single start line captured at cycle
@@ -591,6 +620,10 @@ export class WakeCycleRunner {
591
620
  const effort = tierEffort && silenceAttempt > 1
592
621
  ? getLlmRetryEffort(tierEffort, silenceAttempt - 1)
593
622
  : tierEffort ?? effortSchedule[silenceAttempt - 1];
623
+ // The attempt starts here, not when the previous one spent a recovery
624
+ // bucket. Compaction failure and every retry publish Recovering;
625
+ // staying there would refuse mid-turn messages for the rest of the wake.
626
+ this.beginAttempt();
594
627
  const queryStream = activeSession.sendAndStream(messageContent, { effort, externalContextDigest: externalContext.digest });
595
628
  try {
596
629
  streamResult = await processAgentStream(queryStream, activeSession, activityTracker, config, silenceTimeoutMs);
@@ -649,7 +682,7 @@ export class WakeCycleRunner {
649
682
  spent: engineAnswersProbe ? silenceAttempt : MAX_SILENCE_RETRIES,
650
683
  });
651
684
  if (silencePhase === "Recovering")
652
- this.recoveryPhase = "Recovering";
685
+ this.enterRecovery();
653
686
  if (silencePhase === "Recovering" && engineAnswersProbe) {
654
687
  const nextTimeoutMs = SILENCE_TIMEOUT_SCHEDULE_MS[silenceAttempt] ?? SILENCE_TIMEOUT_SCHEDULE_MS[SILENCE_TIMEOUT_SCHEDULE_MS.length - 1];
655
688
  const nextEffort = tierEffort
@@ -740,7 +773,7 @@ export class WakeCycleRunner {
740
773
  })
741
774
  : null;
742
775
  if (networkPhase === "Recovering") {
743
- this.recoveryPhase = "Recovering";
776
+ this.enterRecovery();
744
777
  transientStreamRetries++;
745
778
  logger.system(`Transient stream failure (retry ${transientStreamRetries}/${MAX_TRANSIENT_STREAM_RETRIES}) — retrying the current business turn...`);
746
779
  continue;
@@ -827,7 +860,7 @@ export class WakeCycleRunner {
827
860
  spent: prematureEndContinuations,
828
861
  });
829
862
  if (prematurePhase === "Recovering") {
830
- this.recoveryPhase = "Recovering";
863
+ this.enterRecovery();
831
864
  prematureEndContinuations++;
832
865
  logger.warn(`Turn ended without finish — continuing (${prematureEndContinuations}/${MAX_PREMATURE_END_CONTINUATIONS})`);
833
866
  messageContent = [{
@@ -905,7 +938,7 @@ export class WakeCycleRunner {
905
938
  this.toolAbortRecoveries += 1;
906
939
  const retryable = toolAbortPhase === "Recovering";
907
940
  if (retryable)
908
- this.recoveryPhase = "Recovering";
941
+ this.enterRecovery();
909
942
  if (!retryable)
910
943
  this.toolAbortRecoveryExhausted = true;
911
944
  this.persistToolAbortRecoveryChain();
@@ -1553,7 +1586,7 @@ export class WakeCycleRunner {
1553
1586
  }
1554
1587
  return { kind: "done", consecutiveErrors };
1555
1588
  }
1556
- this.recoveryPhase = "Recovering";
1589
+ this.enterRecovery();
1557
1590
  this.emptyTurnRetries++;
1558
1591
  const message = [
1559
1592
  "Your previous turn ended with no additional content. This alone does not indicate whether the task is complete.",
@@ -1628,7 +1661,7 @@ export class WakeCycleRunner {
1628
1661
  spent: consecutiveErrors,
1629
1662
  });
1630
1663
  if (unknownPhase === "Recovering")
1631
- this.recoveryPhase = "Recovering";
1664
+ this.enterRecovery();
1632
1665
  if (unknownPhase === "Stopping") {
1633
1666
  const notice = formatOwnerErrorNotice(category, consecutiveErrors);
1634
1667
  logger.warn(`Notifying owner about repeated agent error: ${errMsg}`);
@@ -1724,7 +1757,7 @@ export class WakeCycleRunner {
1724
1757
  spent: attempts[recoveryKind],
1725
1758
  });
1726
1759
  if (outputPhase === "Recovering")
1727
- this.recoveryPhase = "Recovering";
1760
+ this.enterRecovery();
1728
1761
  if (attempts[recoveryKind] === 0 && outputPhase === "Recovering") {
1729
1762
  attempts[recoveryKind]++;
1730
1763
  if (!compactionAlreadyFailed) {