botmux 3.18.6 → 3.18.7

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 (239) hide show
  1. package/dist/.runtime-build-id +1 -1
  2. package/dist/adapters/backend/riff-backend.d.ts +158 -0
  3. package/dist/adapters/backend/riff-backend.d.ts.map +1 -1
  4. package/dist/adapters/backend/riff-backend.js +330 -7
  5. package/dist/adapters/backend/riff-backend.js.map +1 -1
  6. package/dist/adapters/backend/sandbox.d.ts +42 -0
  7. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  8. package/dist/adapters/backend/sandbox.js +95 -5
  9. package/dist/adapters/backend/sandbox.js.map +1 -1
  10. package/dist/adapters/cli/codex-app.d.ts.map +1 -1
  11. package/dist/adapters/cli/codex-app.js +2 -1
  12. package/dist/adapters/cli/codex-app.js.map +1 -1
  13. package/dist/adapters/cli/dsh.d.ts.map +1 -1
  14. package/dist/adapters/cli/dsh.js +2 -1
  15. package/dist/adapters/cli/dsh.js.map +1 -1
  16. package/dist/adapters/cli/mir.d.ts.map +1 -1
  17. package/dist/adapters/cli/mir.js +2 -1
  18. package/dist/adapters/cli/mir.js.map +1 -1
  19. package/dist/adapters/cli/mira.d.ts.map +1 -1
  20. package/dist/adapters/cli/mira.js +2 -1
  21. package/dist/adapters/cli/mira.js.map +1 -1
  22. package/dist/adapters/hook-command.d.ts +3 -5
  23. package/dist/adapters/hook-command.d.ts.map +1 -1
  24. package/dist/adapters/hook-command.js +59 -13
  25. package/dist/adapters/hook-command.js.map +1 -1
  26. package/dist/autostart.d.ts +76 -0
  27. package/dist/autostart.d.ts.map +1 -1
  28. package/dist/autostart.js +105 -28
  29. package/dist/autostart.js.map +1 -1
  30. package/dist/bot-registry.d.ts +12 -0
  31. package/dist/bot-registry.d.ts.map +1 -1
  32. package/dist/bot-registry.js +43 -3
  33. package/dist/bot-registry.js.map +1 -1
  34. package/dist/cli/dashboard-command.d.ts +142 -0
  35. package/dist/cli/dashboard-command.d.ts.map +1 -1
  36. package/dist/cli/dashboard-command.js +160 -0
  37. package/dist/cli/dashboard-command.js.map +1 -1
  38. package/dist/cli/dashboard-endpoint.d.ts +66 -0
  39. package/dist/cli/dashboard-endpoint.d.ts.map +1 -1
  40. package/dist/cli/dashboard-endpoint.js +144 -30
  41. package/dist/cli/dashboard-endpoint.js.map +1 -1
  42. package/dist/cli/send-dispatch.d.ts +2 -0
  43. package/dist/cli/send-dispatch.d.ts.map +1 -1
  44. package/dist/cli/send-dispatch.js +8 -2
  45. package/dist/cli/send-dispatch.js.map +1 -1
  46. package/dist/cli.d.ts.map +1 -1
  47. package/dist/cli.js +270 -38
  48. package/dist/cli.js.map +1 -1
  49. package/dist/core/binary-self-update.d.ts +7 -0
  50. package/dist/core/binary-self-update.d.ts.map +1 -1
  51. package/dist/core/binary-self-update.js +17 -0
  52. package/dist/core/binary-self-update.js.map +1 -1
  53. package/dist/core/command-handler.d.ts.map +1 -1
  54. package/dist/core/command-handler.js +52 -1
  55. package/dist/core/command-handler.js.map +1 -1
  56. package/dist/core/cost-calculator.d.ts +9 -1
  57. package/dist/core/cost-calculator.d.ts.map +1 -1
  58. package/dist/core/cost-calculator.js +5 -0
  59. package/dist/core/cost-calculator.js.map +1 -1
  60. package/dist/core/passthrough-commands.d.ts.map +1 -1
  61. package/dist/core/passthrough-commands.js +1 -1
  62. package/dist/core/passthrough-commands.js.map +1 -1
  63. package/dist/core/self-spawn.d.ts +46 -1
  64. package/dist/core/self-spawn.d.ts.map +1 -1
  65. package/dist/core/self-spawn.js +57 -0
  66. package/dist/core/self-spawn.js.map +1 -1
  67. package/dist/core/worker-pool.d.ts.map +1 -1
  68. package/dist/core/worker-pool.js +81 -5
  69. package/dist/core/worker-pool.js.map +1 -1
  70. package/dist/daemon.d.ts.map +1 -1
  71. package/dist/daemon.js +93 -0
  72. package/dist/daemon.js.map +1 -1
  73. package/dist/dashboard/autostart-api.d.ts.map +1 -1
  74. package/dist/dashboard/autostart-api.js +16 -3
  75. package/dist/dashboard/autostart-api.js.map +1 -1
  76. package/dist/dashboard/bot-onboarding.d.ts +2 -1
  77. package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
  78. package/dist/dashboard/bot-onboarding.js +22 -6
  79. package/dist/dashboard/bot-onboarding.js.map +1 -1
  80. package/dist/dashboard/bot-payload.d.ts +1 -0
  81. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  82. package/dist/dashboard/bot-payload.js +3 -0
  83. package/dist/dashboard/bot-payload.js.map +1 -1
  84. package/dist/dashboard/connector-api.d.ts.map +1 -1
  85. package/dist/dashboard/connector-api.js +28 -0
  86. package/dist/dashboard/connector-api.js.map +1 -1
  87. package/dist/dashboard/trigger-api.d.ts.map +1 -1
  88. package/dist/dashboard/trigger-api.js +33 -21
  89. package/dist/dashboard/trigger-api.js.map +1 -1
  90. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  91. package/dist/dashboard/web/bot-defaults-page.js +12 -2
  92. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  93. package/dist/dashboard/web/bot-defaults.d.ts +2 -0
  94. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  95. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  96. package/dist/dashboard/web/bot-onboarding.d.ts +40 -1
  97. package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
  98. package/dist/dashboard/web/bot-onboarding.js +52 -2
  99. package/dist/dashboard/web/bot-onboarding.js.map +1 -1
  100. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  101. package/dist/dashboard/web/i18n.js +2 -0
  102. package/dist/dashboard/web/i18n.js.map +1 -1
  103. package/dist/dashboard/webhook-routes.d.ts.map +1 -1
  104. package/dist/dashboard/webhook-routes.js +272 -30
  105. package/dist/dashboard/webhook-routes.js.map +1 -1
  106. package/dist/dashboard-web/app.js +1 -1
  107. package/dist/dashboard-web/chunks/{agent-workbench-dock-page-XHJUYFGN.js → agent-workbench-dock-page-6LC422N6.js} +1 -1
  108. package/dist/dashboard-web/chunks/{agent-workbench-page-FLKTLIRM.js → agent-workbench-page-RSAWY7O2.js} +1 -1
  109. package/dist/dashboard-web/chunks/{bot-defaults-page-XMGLZZ2E.js → bot-defaults-page-67RAWCSQ.js} +1 -1
  110. package/dist/dashboard-web/chunks/{chunk-TLG45URB.js → chunk-IA5KMD5O.js} +1 -1
  111. package/dist/dashboard-web/chunks/{chunk-BU3Q6XC6.js → chunk-K232GT3M.js} +2 -2
  112. package/dist/dashboard-web/chunks/chunk-MMLTCXHP.js +10 -0
  113. package/dist/dashboard-web/chunks/{chunk-ECFC7UG2.js → chunk-R3LJUCEO.js} +1 -1
  114. package/dist/dashboard-web/chunks/{chunk-Z67OSM5P.js → chunk-YJA3KY3J.js} +1 -1
  115. package/dist/dashboard-web/chunks/{connectors-page-WDM4CEAU.js → connectors-page-DJCTHSFB.js} +1 -1
  116. package/dist/dashboard-web/chunks/{feedback-page-GMJ4FLJ4.js → feedback-page-O7SZRKNM.js} +1 -1
  117. package/dist/dashboard-web/chunks/{groups-page-L4ZJNWVR.js → groups-page-7PONUYHE.js} +1 -1
  118. package/dist/dashboard-web/chunks/{insights-page-7LUJU2CX.js → insights-page-J6DAAJ6D.js} +1 -1
  119. package/dist/dashboard-web/chunks/{monitor-room-7LZUJQPF.js → monitor-room-F3QNEW7N.js} +1 -1
  120. package/dist/dashboard-web/chunks/{monitoring-page-AUSXMPYO.js → monitoring-page-JHDD2VS2.js} +1 -1
  121. package/dist/dashboard-web/chunks/{office-page-6ZU6MAZN.js → office-page-MMTN4IKD.js} +1 -1
  122. package/dist/dashboard-web/chunks/{overview-page-QBC5CIYH.js → overview-page-IQ2UJAJP.js} +1 -1
  123. package/dist/dashboard-web/chunks/{roles-page-QO3YCA7D.js → roles-page-FNI4MGX6.js} +1 -1
  124. package/dist/dashboard-web/chunks/{schedules-page-YNGSKDQW.js → schedules-page-6PUU63KS.js} +1 -1
  125. package/dist/dashboard-web/chunks/{sessions-page-BWR4UB6X.js → sessions-page-O4N72EXT.js} +4 -4
  126. package/dist/dashboard-web/chunks/{settings-page-2IRIS3FP.js → settings-page-G7B3STUF.js} +1 -1
  127. package/dist/dashboard-web/chunks/{skills-page-5RZPM6HJ.js → skills-page-CEWKQOIG.js} +1 -1
  128. package/dist/dashboard-web/chunks/{team-federation-page-KERG6LKC.js → team-federation-page-NUP4VK4H.js} +1 -1
  129. package/dist/dashboard-web/chunks/{v3-page-766CBD7H.js → v3-page-M4XF6D5Z.js} +1 -1
  130. package/dist/dashboard-web/chunks/{whiteboards-page-2M6XZD5C.js → whiteboards-page-L755NZX6.js} +1 -1
  131. package/dist/dashboard-web/style.css +13 -0
  132. package/dist/dashboard.js +3 -0
  133. package/dist/dashboard.js.map +1 -1
  134. package/dist/global-config.d.ts +3 -0
  135. package/dist/global-config.d.ts.map +1 -1
  136. package/dist/global-config.js +10 -3
  137. package/dist/global-config.js.map +1 -1
  138. package/dist/i18n/en.d.ts.map +1 -1
  139. package/dist/i18n/en.js +19 -1
  140. package/dist/i18n/en.js.map +1 -1
  141. package/dist/i18n/zh.d.ts.map +1 -1
  142. package/dist/i18n/zh.js +19 -1
  143. package/dist/i18n/zh.js.map +1 -1
  144. package/dist/im/lark/api-gate.d.ts +53 -0
  145. package/dist/im/lark/api-gate.d.ts.map +1 -0
  146. package/dist/im/lark/api-gate.js +322 -0
  147. package/dist/im/lark/api-gate.js.map +1 -0
  148. package/dist/im/lark/audio-transcribe.d.ts +23 -0
  149. package/dist/im/lark/audio-transcribe.d.ts.map +1 -0
  150. package/dist/im/lark/audio-transcribe.js +126 -0
  151. package/dist/im/lark/audio-transcribe.js.map +1 -0
  152. package/dist/im/lark/card-builder.d.ts +6 -0
  153. package/dist/im/lark/card-builder.d.ts.map +1 -1
  154. package/dist/im/lark/card-builder.js +53 -1
  155. package/dist/im/lark/card-builder.js.map +1 -1
  156. package/dist/im/lark/card-handler.d.ts +10 -0
  157. package/dist/im/lark/card-handler.d.ts.map +1 -1
  158. package/dist/im/lark/card-handler.js +68 -1
  159. package/dist/im/lark/card-handler.js.map +1 -1
  160. package/dist/im/lark/client.d.ts.map +1 -1
  161. package/dist/im/lark/client.js +247 -224
  162. package/dist/im/lark/client.js.map +1 -1
  163. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  164. package/dist/im/lark/event-dispatcher.js +34 -3
  165. package/dist/im/lark/event-dispatcher.js.map +1 -1
  166. package/dist/im/lark/message-parser.d.ts +16 -0
  167. package/dist/im/lark/message-parser.d.ts.map +1 -1
  168. package/dist/im/lark/message-parser.js +31 -0
  169. package/dist/im/lark/message-parser.js.map +1 -1
  170. package/dist/services/budget-tracker.d.ts +61 -0
  171. package/dist/services/budget-tracker.d.ts.map +1 -0
  172. package/dist/services/budget-tracker.js +306 -0
  173. package/dist/services/budget-tracker.js.map +1 -0
  174. package/dist/services/connector-store.d.ts +16 -0
  175. package/dist/services/connector-store.d.ts.map +1 -1
  176. package/dist/services/connector-store.js.map +1 -1
  177. package/dist/services/failed-turn-retry.d.ts +43 -0
  178. package/dist/services/failed-turn-retry.d.ts.map +1 -0
  179. package/dist/services/failed-turn-retry.js +50 -0
  180. package/dist/services/failed-turn-retry.js.map +1 -0
  181. package/dist/services/model-pricing.d.ts +80 -0
  182. package/dist/services/model-pricing.d.ts.map +1 -0
  183. package/dist/services/model-pricing.js +182 -0
  184. package/dist/services/model-pricing.js.map +1 -0
  185. package/dist/services/session-store.d.ts.map +1 -1
  186. package/dist/services/session-store.js +13 -3
  187. package/dist/services/session-store.js.map +1 -1
  188. package/dist/services/trigger-types.d.ts +10 -0
  189. package/dist/services/trigger-types.d.ts.map +1 -1
  190. package/dist/services/trigger-types.js.map +1 -1
  191. package/dist/services/usage-ledger.d.ts +10 -0
  192. package/dist/services/usage-ledger.d.ts.map +1 -1
  193. package/dist/services/usage-ledger.js +36 -0
  194. package/dist/services/usage-ledger.js.map +1 -1
  195. package/dist/services/voice/asr.d.ts +17 -0
  196. package/dist/services/voice/asr.d.ts.map +1 -0
  197. package/dist/services/voice/asr.js +64 -0
  198. package/dist/services/voice/asr.js.map +1 -0
  199. package/dist/services/voice/index.d.ts +17 -2
  200. package/dist/services/voice/index.d.ts.map +1 -1
  201. package/dist/services/voice/index.js +43 -0
  202. package/dist/services/voice/index.js.map +1 -1
  203. package/dist/services/voice/types.d.ts +15 -0
  204. package/dist/services/voice/types.d.ts.map +1 -1
  205. package/dist/services/webhook-idempotency.d.ts +134 -0
  206. package/dist/services/webhook-idempotency.d.ts.map +1 -0
  207. package/dist/services/webhook-idempotency.js +265 -0
  208. package/dist/services/webhook-idempotency.js.map +1 -0
  209. package/dist/setup/app-name.d.ts +1 -0
  210. package/dist/setup/app-name.d.ts.map +1 -1
  211. package/dist/setup/app-name.js +7 -0
  212. package/dist/setup/app-name.js.map +1 -1
  213. package/dist/setup/bot-config-editor.d.ts +28 -0
  214. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  215. package/dist/setup/bot-config-editor.js +73 -0
  216. package/dist/setup/bot-config-editor.js.map +1 -1
  217. package/dist/setup/open-platform-automation.d.ts +26 -0
  218. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  219. package/dist/setup/open-platform-automation.js +90 -1
  220. package/dist/setup/open-platform-automation.js.map +1 -1
  221. package/dist/setup/open-platform-outcome.d.ts.map +1 -1
  222. package/dist/setup/open-platform-outcome.js +8 -2
  223. package/dist/setup/open-platform-outcome.js.map +1 -1
  224. package/dist/types.d.ts +20 -1
  225. package/dist/types.d.ts.map +1 -1
  226. package/dist/utils/usage-limit-tracker.d.ts +29 -9
  227. package/dist/utils/usage-limit-tracker.d.ts.map +1 -1
  228. package/dist/utils/usage-limit-tracker.js +122 -14
  229. package/dist/utils/usage-limit-tracker.js.map +1 -1
  230. package/dist/worker.js +27 -6
  231. package/dist/worker.js.map +1 -1
  232. package/dist/workflows/definition.d.ts +56 -56
  233. package/dist/workflows/events/payloads.d.ts +2 -2
  234. package/dist/workflows/events/schema.d.ts +430 -430
  235. package/dist/workflows/migration/v2-run-archive-schema.d.ts +2 -2
  236. package/dist/workflows/v3/run-envelope.d.ts +56 -56
  237. package/package.json +9 -8
  238. package/scripts/postinstall-bin.mjs +25 -0
  239. package/dist/dashboard-web/chunks/chunk-NJCJR3U2.js +0 -10
@@ -1 +1 @@
1
- 772cb5082be7e1181051fb6e4344f92bc8a484024a69f8d8f5cbc607b014e30a
1
+ 7ffead20508a7bf7e8617ab21fa14b8a28746b30f59b24300b192af33659585e
@@ -91,6 +91,29 @@ export interface RiffBackendConfig {
91
91
  * after the mandatory botmux install commands.
92
92
  */
93
93
  setupCommands?: string[];
94
+ /**
95
+ * Extra HTTP headers added to EVERY riff outbound request (task-execute,
96
+ * task-follow-up, task-stream, the reconcile tasks query, task-cancel,
97
+ * task-detail). Intended for PPE/lane routing — e.g. { 'x-tt-env':
98
+ * 'ppe_shenhan_sh', 'x-use-ppe': '1' } to hit a PPE deployment instead of
99
+ * production. Empty/unset → no extra headers (production, current behavior).
100
+ * MUST cover all requests uniformly: routing only task-execute to PPE while
101
+ * task-stream hits production would split a session across environments.
102
+ * Also mergeable from the BOTMUX_RIFF_EXTRA_HEADERS env var (JSON object);
103
+ * config wins on key conflicts.
104
+ */
105
+ extraHeaders?: Record<string, string>;
106
+ /**
107
+ * Override the follow-up fetch timeout budgets (ms). Both optional; when unset
108
+ * the built-in defaults apply (hot 30s / cold 60s). Cold covers a follow-up
109
+ * that must synchronously wake a reclaimed sandbox (idle gap / daemon-restart
110
+ * resume); hot covers a follow-up right after the previous turn. Exposed so the
111
+ * values can be tuned against riff's measured P50/P99 without a code change,
112
+ * and so tests/live-repro can force a timeout by shrinking them. Non-positive
113
+ * or non-finite values are ignored.
114
+ */
115
+ followUpHotTimeoutMs?: number;
116
+ followUpColdTimeoutMs?: number;
94
117
  }
95
118
  /** Valid riff service base URL: non-empty http(s). Shared by the worker's
96
119
  * spawn fail-fast and the dashboard PUT endpoint so every config entry point
@@ -148,6 +171,7 @@ export declare function cancelRiffTaskById(cfg: {
148
171
  baseUrl: string;
149
172
  jwt?: string;
150
173
  jwtEnv?: string;
174
+ extraHeaders?: Record<string, string>;
151
175
  }, taskId: string): Promise<boolean>;
152
176
  /** Irreversible short hash of a sandbox URL for log correlation — the unique
153
177
  * subdomain IS the write capability, so neither URL nor host may be logged. */
@@ -322,7 +346,42 @@ export declare class RiffBackend implements SessionBackend {
322
346
  private connectionStartedAtMs;
323
347
  /** 预算层级(单调覆盖,见 destroySession 注释);字段化以便测试注入边界。 */
324
348
  private cancelTimeoutMs;
349
+ /** task-execute(首建)的 fetch 预算。create 只是服务端入队,快,保持较小。 */
325
350
  private createTimeoutMs;
351
+ /** task-follow-up 的 fetch 预算,冷/热两档。follow-up 返回前的同步预检(JWT 刷新
352
+ * + 读沙箱状态 + lark/meego/agentBuddy 授权检查)本就比 create 重;沙箱变冷时
353
+ * (空闲被回收 / daemon 重启后 resume 血缘)还会叠加 archive+snapshot+IDE-proxy
354
+ * 探测——正是当初顶穿共用 10s 预算的慢路径(实测 spawn→timeout 恰好 10.01s)。
355
+ * 故 follow-up 给更大预算并按冷/热分档。30/60s 为暂定值,待 riff 侧 P50/P99
356
+ * 回填;字段化以便测试注入。 */
357
+ private followUpHotTimeoutMs;
358
+ private followUpColdTimeoutMs;
359
+ /** follow-up 距上次任务活动超过此阈值(或本进程尚无任何活动,见 followUpTimeoutMs)
360
+ * 即判为冷沙箱,走 followUpColdTimeoutMs。 */
361
+ private coldFollowUpThresholdMs;
362
+ /** follow-up 超时后对 thread 的对账查询预算 / 最多尝试次数 / 重试间隔。查询是只读的,
363
+ * 刚在超时瞬间建好的子任务可能要一小会才可查到,故允许一次短重试。字段化以便测试注入。 */
364
+ private reconcileTimeoutMs;
365
+ private reconcileMaxAttempts;
366
+ private reconcileRetryDelayMs;
367
+ /** 对账「发送时刻下限」的容差,分两档(见 pickReconciledChild):
368
+ * - 已从 `Date` 头实测到服务端偏差 → 只需覆盖测量误差本身(`Date` 头整秒精度
369
+ * ~0.5s + 一个往返 + 期间的小漂移),取 5s。
370
+ * - 尚未观测到 `Date` 头(首次对账、代理剥掉了该头等) → 偏差完全未知,退回
371
+ * 30s 盲兜底:宁可窗口宽一些,也不要因本机时钟快而永远认领不到子任务。
372
+ * 容差直接就是误接窗口宽度(创建于本轮发送前该时长内的遗留任务会被误判为本轮
373
+ * 的),所以能测到偏差时必须收窄。字段化以便测试注入。 */
374
+ private reconcileClockSkewMs;
375
+ private reconcileBlindClockSkewMs;
376
+ /** riff 服务端时钟减本机时钟(ms),由 tasks 响应的 `Date` 头实测得出;`null`
377
+ * 表示尚未观测到(此时按偏差未知处理,走盲兜底容差)。用于把「发送时刻」换算到
378
+ * 服务端时间轴,再与服务端写入的 `createdAt` 比较。 */
379
+ private serverClockOffsetMs;
380
+ /** 最近一次「任务活动」的 wall-clock ms(成功建任务/续任务,或收到任意 SSE 事件),
381
+ * 本进程尚无活动时为 null。驱动 follow-up 冷/热判据:长时间空闲或全新进程
382
+ * (daemon 重启 resume)意味着 riff 沙箱大概率已被回收,下一次 follow-up 需同步
383
+ * 唤醒它——正是需要更大预算的慢路径。 */
384
+ private lastTaskActivityMs;
326
385
  private destroyDeadlineMs;
327
386
  /** SSE 重连退避基数(指数退避的第一档);字段化以便测试把重连间隔压到 0。 */
328
387
  private reconnectBaseDelayMs;
@@ -372,6 +431,16 @@ export declare class RiffBackend implements SessionBackend {
372
431
  * host-identity refresh). `opts.forceRefresh=true` bypasses the debounce
373
432
  * window (an actual server 401 proved the token bad). */
374
433
  private getJwt;
434
+ /** Merge the configured extra headers (PPE/lane routing, see config.extraHeaders)
435
+ * into an outbound request's header map, in place. Precedence: existing headers
436
+ * already set (JWT, Content-Type) are never overwritten; config.extraHeaders
437
+ * wins over the BOTMUX_RIFF_EXTRA_HEADERS env var on key conflicts. Applied to
438
+ * EVERY riff request so a session never splits across environments. No-op when
439
+ * nothing is configured (production, current behavior). */
440
+ private applyExtraHeaders;
441
+ /** Extra headers from the env var (JSON object) overlaid by config.extraHeaders.
442
+ * Malformed env JSON is ignored with a warning rather than throwing. */
443
+ private resolveExtraHeaders;
375
444
  private resolveJwt;
376
445
  private readJwtFromBytecloudKeychain;
377
446
  spawn(_bin: string, _args: string[], _opts: SpawnOpts): void;
@@ -423,7 +492,96 @@ export declare class RiffBackend implements SessionBackend {
423
492
  private extractAttachments;
424
493
  private basename;
425
494
  private createTask;
495
+ /** Record a "task activity" tick — drives the follow-up cold/hot decision.
496
+ * Called on every SSE event and on each successful create/adopt so a long
497
+ * idle gap (sandbox likely reclaimed) or a fresh process is detectable. */
498
+ private markActivity;
499
+ /** Pick the follow-up fetch budget. Cold (larger budget) when the riff sandbox
500
+ * has likely gone cold and this follow-up must synchronously wake it:
501
+ * • this process has seen NO task activity yet — the daemon-restart resume
502
+ * case (currentTaskId came from resumeParentTaskId, sandbox long idle);
503
+ * this is exactly the logged 10.01s timeout.
504
+ * • the last activity was longer ago than coldFollowUpThresholdMs.
505
+ * Hot budget otherwise (a follow-up right after the previous turn). */
506
+ private followUpTimeoutMs;
426
507
  private followUp;
508
+ /** Node's AbortSignal.timeout() rejects with a DOMException/Error named
509
+ * "TimeoutError" ("The operation was aborted due to timeout"). Match by name
510
+ * (message wording is locale/runtime-dependent). AbortError (manual abort) is
511
+ * deliberately NOT treated as a timeout — that is teardown, handled elsewhere. */
512
+ private isTimeoutError;
513
+ /**
514
+ * After a follow-up fetch times out, ask the thread whether the child task was
515
+ * in fact created (the pre-flight simply outran our budget). botmux sends its
516
+ * own sessionId as the riff threadId (task-execute threadId: this.sessionId),
517
+ * and riff stores it verbatim (no rewrite/mapping) — so we query by sessionId
518
+ * directly, no task-detail hop needed.
519
+ *
520
+ * IDENTITY INVARIANT (locked by design with the riff side): riff's
521
+ * `GET /api/tasks` is owner-scoped. This reconcile MUST reuse the CURRENT
522
+ * backend instance's getJwt() — the same identity that created the task — or it
523
+ * would query as a different owner and get an empty list. Never introduce a
524
+ * different credential here.
525
+ *
526
+ * Returns true iff this follow-up's child task was found and adopted (streaming
527
+ * resumed / terminal result fetched). False means "no child yet" → caller keeps
528
+ * the lineage without adopting.
529
+ *
530
+ * MATCHING ANCHOR — `followUpParentTaskId` PLUS a send-time floor:
531
+ * riff has no per-request id we could echo back (no clientRequestId in the
532
+ * task document, no X-Idempotency-Key handling), so the parent link is the
533
+ * only server-side signal tying a task to this follow-up.
534
+ * It is not unique on its own: riff redirects a follow-up's parent to the
535
+ * thread's LATEST node (api/lambda/task-follow-up.ts — "普通追问必须从 thread
536
+ * 最新节点发起"), so several siblings can share one parent — including a task
537
+ * stranded by an EARLIER timed-out turn. Adopting that one would replay a
538
+ * previous turn's output and silently drop this turn's prompt.
539
+ * Hence `sentAtMs`: only a child created at/after the moment we issued THIS
540
+ * follow-up can be its child. `createdAt` is in riff's
541
+ * TASK_THREAD_SUMMARY_PROJECTION, so the summary view really carries it.
542
+ * A node with an absent/unparsable createdAt is NOT adopted — fail closed,
543
+ * because a wrong adopt is worse than a missed one (the caller keeps the
544
+ * lineage and the user just resends).
545
+ * Ties are broken by the OLDEST qualifying child: the first task created
546
+ * after we sent is the one our request produced.
547
+ */
548
+ private reconcileAfterFollowUpTimeout;
549
+ /** The effective reconcile floor in riff's time frame: our send instant,
550
+ * translated by the measured server clock offset, minus the tolerance.
551
+ * `createdAt` is stamped by riff's clock (TaskService: `new Date()`), while
552
+ * sentAtMs is ours — two different machines. The tolerance IS the mis-adopt
553
+ * window (a leftover task created within it, just before we sent, still
554
+ * passes), so it is kept tight once the offset is known and only stays wide
555
+ * while it is unknown.
556
+ * CAVEAT: an intermediary (proxy/gateway) may rewrite `Date`, in which case
557
+ * the measured offset is that hop's clock, not riff's — harmless while the two
558
+ * agree to within the tolerance. A server-side NTP jump between stamping
559
+ * `createdAt` and sending the response is absorbed the same way.
560
+ * Single-sourced so the diagnostic log can never name a different threshold
561
+ * than the filter actually applies. */
562
+ private reconcileFloorMs;
563
+ /** The thread node this follow-up created, or undefined. Requires BOTH the
564
+ * parent link AND creation at/after the effective floor (see
565
+ * reconcileFloorMs + the anchor notes on reconcileAfterFollowUpTimeout — the
566
+ * parent alone can match a task stranded by an earlier timed-out turn).
567
+ * Unparsable/absent createdAt → not a candidate. Oldest qualifying node wins. */
568
+ private pickReconciledChild;
569
+ /** riff terminal task statuses — whitelist so future intermediate states are
570
+ * never mis-classified as "done" (they default to "still running"). Mirrors
571
+ * TERMINAL_RIFF_STATUSES. */
572
+ private isTerminalStatus;
573
+ /** GET /api/tasks?threadId=&view=summary → { success, data: RiffThreadNode[] }.
574
+ * Owner-scoped (see reconcileAfterFollowUpTimeout). view=summary is the
575
+ * lightweight projection (no logs/results) suited to this hot-path probe. */
576
+ private fetchThreadNodes;
577
+ /** Record how far riff's clock sits from ours, read from an HTTP `Date`
578
+ * response header (RFC 9110 requires it, and it is generated by the same
579
+ * machine that stamps `createdAt`). Lets the reconcile floor correct for a
580
+ * real measured offset instead of assuming the two clocks agree.
581
+ * Whole-second resolution, and the value is one round-trip old, so callers
582
+ * still add a small tolerance on top. Unparsable/missing header → leave the
583
+ * previous observation (or none) in place. */
584
+ private observeServerClock;
427
585
  /**
428
586
  * Prepend the configured system prompt to the user prompt.
429
587
  * The riff API has no separate system-prompt field (only userPrompt), so we
@@ -1 +1 @@
1
- {"version":3,"file":"riff-backend.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/riff-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"riff-backend.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/riff-backend.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,2BAA2B,EAC3B,SAAS,EACV,MAAM,YAAY,CAAC;AAqCpB;;;;;;;GAOG;AACH,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,6CAA8C,CAAC;AAClF,eAAO,MAAM,qBAAqB,wBAAyB,CAAC;AAC5D,MAAM,MAAM,kBAAkB,GAAG,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAatE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;mDAC+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;6DACyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;0EACsE;IACtE,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB;iEAC6D;IAC7D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;0DAEsD;IACtD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;gFAEgF;AAChF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM,CAQ1D;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,kBAAkB,CAE7E;AAED,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB;;iFAE6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU7D;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,GAAG,IAAgC,GACpE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CA2BlD;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,GAAE,OAAO,4BAA2D,GAC5E;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAYrD;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAC9F,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAED;gFACgF;AAChF,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AA6CD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,GAAE,MAAkB,EACxB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,EAAE,CAoEV;AA4BD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAavD;AAED;;;;;;;;;;;;;;;GAeG;AACH;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,wBAAgB,wBAAwB,CACtC,IAAI,GAAE,MAAkB,EACxB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,KAAK,GAAE,MAAmB,EAC1B,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,IAAI,CAsBf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,IAAI,CAaf;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,EAAE,GAAG,IAAI,CAUjB;AAED;;;;;yEAKyE;AACzE,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C;;;;2CAI2C;AAC3C,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAY7C,wBAAgB,gCAAgC,IAAI,IAAI,CAGvD;AAED,MAAM,WAAW,uBAAuB;IACtC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;oFAEgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EACpB,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,OAAO,CAAC,CAsBlB;AAkHD;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,YAAW,cAAc;IAChD,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,MAAM,CAAuE;IACrF,OAAO,CAAC,WAAW,CAAwC;IAC3D,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,QAAQ,CAAkD;IAClE,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,sFAAsF;IACtF,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,MAAM,CAAS;IACvB;8EAC0E;IAC1E,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB;;gFAE4E;IAC5E,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,oBAAoB,CAAK;IACjC;;;;;;;;;;;;;;;;;;gFAkB4E;IAC5E,OAAO,CAAC,qBAAqB,CAAuB;IACpD,kDAAkD;IAClD,OAAO,CAAC,eAAe,CAAS;IAChC,wDAAwD;IACxD,OAAO,CAAC,eAAe,CAAU;IACjC;;;;;wBAKoB;IACpB,OAAO,CAAC,oBAAoB,CAAU;IACtC,OAAO,CAAC,qBAAqB,CAAU;IACvC;0CACsC;IACtC,OAAO,CAAC,uBAAuB,CAAU;IACzC;qDACiD;IACjD,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,qBAAqB,CAAS;IACtC;;;;;;qCAMiC;IACjC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,yBAAyB,CAAU;IAC3C;;0CAEsC;IACtC,OAAO,CAAC,mBAAmB,CAAuB;IAClD;;;6BAGyB;IACzB,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,iBAAiB,CAAU;IACnC,6CAA6C;IAC7C,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,mBAAmB,CAAU;IACrC;;;;;yCAKqC;IACrC,OAAO,CAAC,sBAAsB,CAAU;IACxC;+EAC2E;IAC3E,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,aAAa,CAA8B;IACnD;;6EAEyE;IACzE,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,sBAAsB,CAAqD;IACnF,OAAO,CAAC,2BAA2B,CAAqD;IACxF;;8DAE0D;IAC1D,OAAO,CAAC,UAAU,CAAoC;gBAE1C,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM;IAcxD,2EAA2E;IAC3E,WAAW,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAK5C,4EAA4E;IAC5E,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAIhC;;+EAE2E;IAC3E,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI;IAKnD;;;;;8DAK0D;IAC1D,OAAO,CAAC,MAAM;IAId;;;;;gEAK4D;IAC5D,OAAO,CAAC,iBAAiB;IAOzB;6EACyE;IACzE,OAAO,CAAC,mBAAmB;YAqBb,UAAU;IA+CxB,OAAO,CAAC,4BAA4B;IAIpC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAK5D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAkC5B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI1C,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIxC,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI;IAItE,IAAI,IAAI,IAAI;IAaN,cAAc,IAAI,OAAO,CAAC,oBAAoB,CAAC;IA+H/C,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B1C,oBAAoB,IAAI,IAAI;IAQtB,qBAAqB,IAAI,OAAO,CAAC,2BAA2B,CAAC;IA0C7D,mBAAmB,IAAI,OAAO,CAAC,2BAA2B,CAAC;IA4CjE,oBAAoB,IAAI,IAAI;IAO5B,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B,oBAAoB,IAAI,MAAM;IAI9B,eAAe,IAAI,MAAM;IAIzB,WAAW,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAMpD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAiBhB,mFAAmF;IACnF,OAAO,CAAC,QAAQ;IAMhB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAevB;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAoEnB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,QAAQ;YAKF,UAAU;IA6DxB;;gFAE4E;IAC5E,OAAO,CAAC,YAAY;IAIpB;;;;;;4EAMwE;IACxE,OAAO,CAAC,iBAAiB;YAMX,QAAQ;IA2DtB;;;uFAGmF;IACnF,OAAO,CAAC,cAAc;IAItB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;YACW,6BAA6B;IAwC3C;;;;;;;;;;;;4CAYwC;IACxC,OAAO,CAAC,gBAAgB;IAMxB;;;;sFAIkF;IAClF,OAAO,CAAC,mBAAmB;IAoB3B;;kCAE8B;IAC9B,OAAO,CAAC,gBAAgB;IAIxB;;kFAE8E;YAChE,gBAAgB;IAiB9B;;;;;;mDAM+C;IAC/C,OAAO,CAAC,kBAAkB;IAO1B;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;YAUF,eAAe;YAuFf,cAAc;IAM5B;;;;;;;OAOG;YACW,aAAa;IAuB3B;;;uCAGmC;IACnC,OAAO,CAAC,UAAU;YAIJ,UAAU;YAgBV,mBAAmB;YA0BnB,UAAU;IA2GxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,cAAc;IAkItB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAgBvB,oFAAoF;IACpF,OAAO,CAAC,mBAAmB;IAW3B,yFAAyF;YAC3E,oBAAoB;IAuBlC,OAAO,CAAC,SAAS;YAUH,kBAAkB;CA2DjC"}