@desplega.ai/agent-swarm 2.5.3 → 2.6.0

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 (349) hide show
  1. package/README.md +2 -2
  2. package/dist/{acp-adapter-gr2fcyyj.js → acp-adapter-dgfakfpw.js} +9 -9
  3. package/dist/{actions-wv766ghf.js → actions-fbqma8aa.js} +21 -21
  4. package/dist/{amp-adapter-speb906t.js → amp-adapter-en0jy6hs.js} +4 -4
  5. package/dist/{app-ag29n14f.js → app-k8a5cgpp.js} +3 -3
  6. package/dist/{assistant-3x8bz3eg.js → assistant-a16433gr.js} +30 -26
  7. package/dist/{boot-reembed-jsmfrpzf.js → boot-reembed-6c1sjfnr.js} +1 -1
  8. package/dist/{boot-reembed-5b3d2eea.js → boot-reembed-f4nn561n.js} +1 -1
  9. package/dist/{boot-scrub-sweep-s73gerxy.js → boot-scrub-sweep-d4w9gajf.js} +4 -4
  10. package/dist/{boot-seeds-5zmax2wr.js → boot-seeds-9bmkspyw.js} +4 -4
  11. package/dist/{claude-adapter-hswdnm3t.js → claude-adapter-nys1kjxa.js} +9 -9
  12. package/dist/{claude-managed-adapter-cvbzj1h6.js → claude-managed-adapter-55207973.js} +3 -3
  13. package/dist/{claude-managed-setup-3k8m3hhc.js → claude-managed-setup-3cm35gey.js} +11 -4
  14. package/dist/{claude-sdk-session-fkbyk66x.js → claude-sdk-session-nw5yd8cp.js} +9313 -9260
  15. package/dist/{cli-210xd1f4.js → cli-03gg9pd1.js} +4 -4
  16. package/dist/{cli-kxpfx2xr.js → cli-0z1xjzwa.js} +2 -2
  17. package/dist/cli-1tem6ns9.js +894 -0
  18. package/dist/{cli-25j01dpj.js → cli-24j1jeeb.js} +3 -3
  19. package/dist/{cli-ta8bd7th.js → cli-2sjhpsns.js} +2 -2
  20. package/dist/{cli-p859hcc8.js → cli-39aet655.js} +2 -2
  21. package/dist/{cli-g1cw7xtt.js → cli-39rrw8yp.js} +1 -1
  22. package/dist/{cli-e2ar4bp1.js → cli-3aqd4jaa.js} +121 -47
  23. package/dist/{cli-jjznk3f7.js → cli-3fwqy71j.js} +69 -35
  24. package/dist/{cli-p9rafdrb.js → cli-3gfvmzht.js} +7 -7
  25. package/dist/{cli-03vpq45j.js → cli-3ndmpxxv.js} +2 -2
  26. package/dist/{cli-aecdcr77.js → cli-4hxrf0p4.js} +228 -74
  27. package/dist/{cli-mz9afxxf.js → cli-4rf0f5vg.js} +15 -3
  28. package/dist/{cli-qzme5949.js → cli-5rj83bam.js} +284 -202
  29. package/dist/{cli-fsdprwrg.js → cli-5sckpqcx.js} +2 -2
  30. package/dist/{cli-cz5nmdxt.js → cli-683y0b3a.js} +2 -2
  31. package/dist/{cli-3ngdk5te.js → cli-6y51ryva.js} +2 -2
  32. package/dist/{cli-n4c8e3s5.js → cli-708wdy32.js} +1 -1
  33. package/dist/{cli-pasyvjmm.js → cli-737pyqxr.js} +1 -1
  34. package/dist/{cli-gx4rm0qx.js → cli-7enjwya9.js} +1 -1
  35. package/dist/{cli-6x9ma5w5.js → cli-803188pb.js} +1 -1
  36. package/dist/{cli-avdvgcay.js → cli-9abdgn5t.js} +28 -9
  37. package/dist/{cli-99xgw26r.js → cli-a2rr0fmg.js} +1 -1
  38. package/dist/{cli-e5bxnjps.js → cli-a34pr3w1.js} +7 -7
  39. package/dist/{cli-502eqv93.js → cli-abkm71vr.js} +1 -1
  40. package/dist/{cli-mmhj8vd7.js → cli-ag2yrnt5.js} +11 -2
  41. package/dist/{cli-n45mr7zh.js → cli-aj8djyqt.js} +5 -5
  42. package/dist/{cli-1fc85mvt.js → cli-art7c1zh.js} +5 -5
  43. package/dist/{cli-40jsnrjm.js → cli-az25fn5f.js} +10 -8
  44. package/dist/{cli-9s05422w.js → cli-bqztfyve.js} +1 -1
  45. package/dist/{cli-bn0rewsy.js → cli-c081bj3b.js} +2 -2
  46. package/dist/{cli-svrj71pg.js → cli-c2habvsf.js} +12 -12
  47. package/dist/{cli-s49hpn37.js → cli-ca6banwz.js} +85 -19
  48. package/dist/{cli-hhxjnjzs.js → cli-cz37jqss.js} +12 -10
  49. package/dist/{cli-6n8axjv1.js → cli-d2dpf95n.js} +2 -2
  50. package/dist/{cli-tx00c0h6.js → cli-dqygeeh5.js} +17 -1
  51. package/dist/{cli-z21whrrg.js → cli-emhjcj2y.js} +17 -17
  52. package/dist/{cli-e8jyq7d8.js → cli-esakngh8.js} +7 -3
  53. package/dist/{cli-ha9rmwgq.js → cli-fb8m699c.js} +2 -2
  54. package/dist/{cli-35gtk1p6.js → cli-ffvsj2qw.js} +44 -13
  55. package/dist/{cli-ce0ak9ms.js → cli-g20jjwt4.js} +26 -26
  56. package/dist/{cli-kxawjrxg.js → cli-g8ka5j4j.js} +772 -194
  57. package/dist/{cli-vwn81jbs.js → cli-gf95q3bm.js} +5 -5
  58. package/dist/{cli-s53vp709.js → cli-gnsb1zxa.js} +2 -2
  59. package/dist/{cli-nwyw3zhg.js → cli-gxee0bqa.js} +1 -1
  60. package/dist/{cli-gpv60278.js → cli-hfeb68z4.js} +7 -7
  61. package/dist/{cli-0ebey9hg.js → cli-j6rktc91.js} +1 -1
  62. package/dist/{cli-ewm3pwbq.js → cli-k21gx5ht.js} +46 -23
  63. package/dist/{cli-egjggehm.js → cli-kf4jree9.js} +2 -2
  64. package/dist/{cli-dabehxhp.js → cli-kt907da6.js} +1 -1
  65. package/dist/{cli-p0rzjkya.js → cli-m5a9m0ak.js} +32 -13
  66. package/dist/{cli-fzcn3d87.js → cli-m70bajzr.js} +3 -3
  67. package/dist/{cli-w1zwctj2.js → cli-mtnj4fwa.js} +11 -5
  68. package/dist/{cli-gpsz7g88.js → cli-mvjz5an3.js} +16 -12
  69. package/dist/{cli-hcpj2xqz.js → cli-n7asmce6.js} +225 -3
  70. package/dist/{cli-y561h5a9.js → cli-nn6vx2mq.js} +5 -5
  71. package/dist/cli-nq677csy.js +140 -0
  72. package/dist/{cli-a5ebc95n.js → cli-pfk92eqz.js} +18 -15
  73. package/dist/{cli-p6zs9h4y.js → cli-rr7zx19j.js} +767 -249
  74. package/dist/{cli-qgf8emrn.js → cli-sqma6vw1.js} +10 -7
  75. package/dist/{cli-0xk505e8.js → cli-sxgtf5fw.js} +1 -1
  76. package/dist/{cli-nzfnt2gs.js → cli-tf1n0r0b.js} +1 -1
  77. package/dist/{cli-qqzmjxkf.js → cli-v49fkghp.js} +11 -6
  78. package/dist/{cli-x77gen2p.js → cli-w2656ka1.js} +7 -7
  79. package/dist/{cli-5kqnemen.js → cli-yvy48785.js} +1 -1
  80. package/dist/{cli-8s5wx3nz.js → cli-zqne1qcj.js} +44 -17
  81. package/dist/cli.js +22 -22
  82. package/dist/{codex-adapter-n8ka66vf.js → codex-adapter-d95q4qsn.js} +7 -7
  83. package/dist/{codex-hook-e2he7aca.js → codex-hook-brpnycn5.js} +1 -1
  84. package/dist/{codex-login-rn7c5gxt.js → codex-login-8cg0vhf2.js} +1 -1
  85. package/dist/{codex-session-runner-fsebts37.js → codex-session-runner-gdwd8h0c.js} +8 -8
  86. package/dist/{commands-t04rt2pc.js → commands-jqmgk54b.js} +2 -2
  87. package/dist/{controller-rgna04r2.js → controller-z3jq589f.js} +30 -4
  88. package/dist/{controllers-connect-bqm1rtft.js → controllers-connect-r2za39ef.js} +23 -23
  89. package/dist/{cursor-adapter-swr2k95y.js → cursor-adapter-4mr4jgkw.js} +2 -3
  90. package/dist/{db-a4m7haw0.js → db-ppv2tze7.js} +3 -3
  91. package/dist/{db-24ck09xy.js → db-w36wwb5g.js} +4 -2
  92. package/dist/{devin-adapter-4ycy4vrf.js → devin-adapter-byen2cxt.js} +1 -1
  93. package/dist/{dispatcher-nwf9ss0q.js → dispatcher-pv5h77vf.js} +20 -20
  94. package/dist/{docker-nfy2gc8t.js → docker-fdzyewpz.js} +4 -4
  95. package/dist/{dsh-adapter-kpdnhjst.js → dsh-adapter-d4pdpb3r.js} +2 -3
  96. package/dist/{e2b-9gkdhm3c.js → e2b-222hsajc.js} +2 -2
  97. package/dist/{e2b-cjtf8k1z.js → e2b-fn3zacvt.js} +2 -2
  98. package/dist/{easter-egg-3d-e4qv8dxj.js → easter-egg-3d-4sp4dvmc.js} +1 -1
  99. package/dist/{event-bus-3z78ep5n.js → event-bus-pghg8hqy.js} +1 -1
  100. package/dist/{execute-0xpz8950.js → execute-jev839y1.js} +1 -1
  101. package/dist/{external-channel-j1e2p34p.js → external-channel-y6nkzhnn.js} +2 -2
  102. package/dist/{grok-adapter-qtjz0whk.js → grok-adapter-t08b9ntm.js} +10 -10
  103. package/dist/handlers-eqsnmv95.js +41 -0
  104. package/dist/{heartbeat-vtesda5d.js → heartbeat-vn31xwdk.js} +23 -23
  105. package/dist/{hook-b2hhj6rd.js → hook-6d0zbvvt.js} +6 -5
  106. package/dist/{hook-8wqaszda.js → hook-cpjs8q51.js} +13 -7
  107. package/dist/{http-mxcqhhcs.js → http-9c6medda.js} +1085 -136
  108. package/dist/{index-spwxjgay.js → index-38t35h0n.js} +20 -20
  109. package/dist/{index-1r8wfpzs.js → index-g6k9tctj.js} +1 -1
  110. package/dist/{index-srg522m6.js → index-k0yt1tvq.js} +20 -20
  111. package/dist/{index-31ceyf42.js → index-pkma1yf8.js} +1 -1
  112. package/dist/{index-n1vbvta9.js → index-qhjf2htm.js} +29 -24
  113. package/dist/index-yqgbfgaj.js +43 -0
  114. package/dist/{keepalive-dsd8rtgx.js → keepalive-em0117bp.js} +4 -4
  115. package/dist/lead-23e7z59t.js +79 -0
  116. package/dist/{maintenance-jqmqwnet.js → maintenance-kbme3qy9.js} +1 -1
  117. package/dist/{oauth-refresh-sweep-q2c3bnvm.js → oauth-refresh-sweep-xysj4yse.js} +3 -3
  118. package/dist/{onboard-w4yd7s8t.js → onboard-p6q0vz97.js} +3 -3
  119. package/dist/{opencode-adapter-9tppvxar.js → opencode-adapter-esv3k9yn.js} +7 -7
  120. package/dist/{otel-impl-f36byzbd.js → otel-impl-54qhqh1z.js} +2 -2
  121. package/dist/{pi-mono-adapter-tqsge1ay.js → pi-mono-adapter-mymbwhj0.js} +41 -14
  122. package/dist/{pricing-refresh-xvak5p4v.js → pricing-refresh-yb75wv33.js} +3 -3
  123. package/dist/{rbac-roles-gfn30fb8.js → rbac-roles-1vp2mw4p.js} +2 -2
  124. package/dist/{rbac-roles-682k2mt5.js → rbac-roles-dexhc9x8.js} +1 -1
  125. package/dist/render-v2-tjay5hhf.js +16 -0
  126. package/dist/{resume-2dvq348g.js → resume-8ayf37g5.js} +11 -9
  127. package/dist/{runtime-bt5pkpm1.js → runtime-hqe5cqcd.js} +1 -1
  128. package/dist/{session-access-7f21ekq9.js → session-access-fdhp987s.js} +4 -4
  129. package/dist/session-source-backfill-qgtc86z1.js +110 -0
  130. package/dist/{setup-epffxtbk.js → setup-4rrmqcq3.js} +1 -1
  131. package/dist/{virtual-modules-mnfbh5mr.js → virtual-modules-52km00d6.js} +2 -2
  132. package/dist/{work-objects-xz1a5rqk.js → work-objects-p28fgd70.js} +23 -23
  133. package/dist/worker-e3w7vye1.js +79 -0
  134. package/dist/{x-pbpezr0s.js → x-wxrzvzx8.js} +2 -2
  135. package/openapi.json +1323 -16
  136. package/package.json +5 -5
  137. package/plugin/commands/create-pr.md +2 -2
  138. package/plugin/pi-skills/create-pr/SKILL.md +2 -2
  139. package/src/assets/source-key.ts +95 -0
  140. package/src/be/db/api-keys.ts +80 -0
  141. package/src/be/db/approvals.ts +48 -0
  142. package/src/be/db/session-labels.ts +28 -0
  143. package/src/be/db/session-moves.ts +5 -6
  144. package/src/be/db/session-tree.ts +153 -14
  145. package/src/be/db/tasks/read.ts +11 -0
  146. package/src/be/db/tasks/write.ts +21 -6
  147. package/src/be/db/workflow-idempotency.ts +183 -0
  148. package/src/be/db/workflow-runs.ts +500 -7
  149. package/src/be/db-retention.ts +61 -6
  150. package/src/be/db.ts +126 -131
  151. package/src/be/memory/providers/openai-embedding.ts +5 -1
  152. package/src/be/migrations/242_workflow_idempotency_keys.sql +40 -0
  153. package/src/be/migrations/244_api_key_validation.sql +4 -0
  154. package/src/be/onboarding.ts +4 -0
  155. package/src/be/scripts/typecheck.ts +1 -1
  156. package/src/be/sealed-json.ts +1 -0
  157. package/src/be/seed-scripts/catalog/compound-insights.inline.ts +2 -2
  158. package/src/be/seed-scripts/catalog/compound-insights.ts +2 -2
  159. package/src/be/seed-skills/bundled-files.generated.json +1 -1
  160. package/src/be/session-source-backfill.ts +163 -0
  161. package/src/be/sql-connections.ts +7 -1
  162. package/src/be/swarm-config-guard.ts +3 -0
  163. package/src/be/users.ts +9 -0
  164. package/src/comb/review-batch.ts +28 -1
  165. package/src/comb/templates.ts +7 -2
  166. package/src/commands/claude-managed-setup.ts +7 -1
  167. package/src/commands/controller.ts +33 -0
  168. package/src/commands/credential-refresh.ts +76 -1
  169. package/src/commands/credential-wait.ts +2 -2
  170. package/src/commands/provider-credentials.ts +210 -170
  171. package/src/commands/runner.ts +31 -6
  172. package/src/extensions/apply-task-create.ts +64 -11
  173. package/src/extensions/contract-types.generated.ts +1 -1
  174. package/src/extensions/contract.ts +30 -0
  175. package/src/extensions/dispatcher.ts +4 -0
  176. package/src/extensions/post-bridge.ts +8 -0
  177. package/src/hooks/context-bound-note.ts +196 -0
  178. package/src/hooks/hook.ts +12 -0
  179. package/src/http/all-routes.ts +2 -0
  180. package/src/http/api-keys.ts +53 -0
  181. package/src/http/assets.ts +15 -0
  182. package/src/http/codex-oauth-accounts.ts +191 -0
  183. package/src/http/comb.ts +15 -2
  184. package/src/http/config.ts +49 -17
  185. package/src/http/core.ts +6 -0
  186. package/src/http/fleet-benchmark.ts +5 -2
  187. package/src/http/idempotency-key.ts +117 -0
  188. package/src/http/index.ts +11 -0
  189. package/src/http/integrations.ts +5 -1
  190. package/src/http/kv.ts +8 -3
  191. package/src/http/onboarding.ts +6 -1
  192. package/src/http/pool-keys.ts +354 -0
  193. package/src/http/sessions.ts +37 -12
  194. package/src/http/stats.ts +1 -0
  195. package/src/http/status.ts +26 -12
  196. package/src/http/tasks.ts +3 -0
  197. package/src/http/used-by.ts +7 -2
  198. package/src/http/workflows.ts +207 -33
  199. package/src/integrations/chat-sdk/inbound.ts +27 -0
  200. package/src/kv-reserved-namespaces.ts +19 -0
  201. package/src/prompts/context-bound-note.ts +48 -0
  202. package/src/prompts/session-templates.ts +25 -1
  203. package/src/providers/acp-targets.ts +1 -1
  204. package/src/providers/amp-adapter.ts +30 -8
  205. package/src/providers/claude-adapter.ts +34 -5
  206. package/src/providers/claude-managed-adapter.ts +42 -9
  207. package/src/providers/claude-sdk-session.ts +10 -0
  208. package/src/providers/claude-session-events.ts +13 -0
  209. package/src/providers/codex-adapter.ts +83 -11
  210. package/src/providers/opencode-adapter.ts +18 -0
  211. package/src/providers/pi-mono-adapter.ts +35 -0
  212. package/src/runtime-providers/docker.ts +6 -2
  213. package/src/scheduler/scheduler.ts +3 -2
  214. package/src/scripts-runtime/swarm-sdk.ts +7 -1
  215. package/src/scripts-runtime/types/stdlib.d.ts +1 -1
  216. package/src/scripts-runtime/types/swarm-extension.d.ts +52 -8
  217. package/src/scripts-runtime/types/swarm-sdk.d.ts +1 -1
  218. package/src/slack/assistant.ts +7 -0
  219. package/src/slack/channel-labels.ts +74 -0
  220. package/src/slack/handlers.ts +8 -0
  221. package/src/slack/inbound-files.ts +5 -2
  222. package/src/slack/thread-buffer.ts +4 -0
  223. package/src/tasks/sibling-awareness.ts +12 -3
  224. package/src/telemetry-context.ts +5 -6
  225. package/src/telemetry-identity.ts +3 -3
  226. package/src/tests/amp-adapter.test.ts +97 -0
  227. package/src/tests/api-keys-validation.test.ts +170 -0
  228. package/src/tests/approval-requests.test.ts +10 -7
  229. package/src/tests/approval-sweeps.test.ts +12 -6
  230. package/src/tests/base-prompt.test.ts +1 -1
  231. package/src/tests/claude-hook-output.test.ts +79 -1
  232. package/src/tests/claude-managed-adapter.test.ts +321 -0
  233. package/src/tests/claude-routes-e2e.test.ts +7 -2
  234. package/src/tests/codex-adapter.test.ts +163 -0
  235. package/src/tests/codex-credential-pools.test.ts +120 -0
  236. package/src/tests/codex-gateway-route.test.ts +165 -0
  237. package/src/tests/codex-oauth-accounts.test.ts +357 -0
  238. package/src/tests/comb-review-batch.test.ts +63 -2
  239. package/src/tests/config-pool-keys.test.ts +533 -0
  240. package/src/tests/context-bound-note.test.ts +269 -0
  241. package/src/tests/credential-check.test.ts +290 -2
  242. package/src/tests/credential-refresh.test.ts +172 -1
  243. package/src/tests/db-retention.test.ts +9 -3
  244. package/src/tests/db-task-read-contract.test.ts +1 -0
  245. package/src/tests/db-task-write-contract.test.ts +1 -3
  246. package/src/tests/docs-index-footprint.test.js +3 -3
  247. package/src/tests/extensions-pre-task.test.ts +325 -0
  248. package/src/tests/fetch-resolved-env.test.ts +17 -0
  249. package/src/tests/fixtures/extensions/record-blocks/hooks.ts +10 -0
  250. package/src/tests/fixtures/extensions/record-blocks/manifest.json +7 -0
  251. package/src/tests/fixtures/extensions/record-task-create/hooks.ts +9 -0
  252. package/src/tests/fixtures/extensions/record-task-create/manifest.json +7 -0
  253. package/src/tests/fixtures/fake-amp.ts +22 -8
  254. package/src/tests/fixtures/held-template-render.ts +42 -0
  255. package/src/tests/fixtures/workflow-idempotency-trigger.child.ts +73 -0
  256. package/src/tests/fleet-benchmark.test.ts +8 -0
  257. package/src/tests/get-workflow-run-tool.test.ts +98 -0
  258. package/src/tests/integrations-http.test.ts +32 -2
  259. package/src/tests/internal-ai/complete-structured.test.ts +37 -1
  260. package/src/tests/internal-ai/credentials.test.ts +23 -0
  261. package/src/tests/kv-http.test.ts +32 -0
  262. package/src/tests/kv-tool.test.ts +25 -0
  263. package/src/tests/multi-runtime-registration.test.ts +12 -12
  264. package/src/tests/onboarding.test.ts +108 -1
  265. package/src/tests/openai-embedding-credentials.test.ts +35 -0
  266. package/src/tests/openapi-route-headers.test.ts +2 -0
  267. package/src/tests/opencode-adapter.test.ts +134 -0
  268. package/src/tests/openrouter-attribution-call-sites.test.ts +2 -2
  269. package/src/tests/org-website.test.ts +36 -0
  270. package/src/tests/pi-mono-adapter.test.ts +105 -0
  271. package/src/tests/prompt-template-session.test.ts +4 -3
  272. package/src/tests/provider-key-probes.test.ts +181 -0
  273. package/src/tests/rbac-e2e-helpers.test.ts +88 -1
  274. package/src/tests/rbac-e2e-helpers.ts +36 -11
  275. package/src/tests/runner-push-delivery.test.ts +25 -0
  276. package/src/tests/runtime-controller-liveness.test.ts +133 -0
  277. package/src/tests/runtime-providers-docker.test.ts +2 -0
  278. package/src/tests/script-connections.test.ts +5 -0
  279. package/src/tests/script-run-config-scope.test.ts +91 -3
  280. package/src/tests/script-runs-retention.test.ts +212 -0
  281. package/src/tests/sdk-allowlist.test.ts +39 -0
  282. package/src/tests/session-logs.test.ts +70 -0
  283. package/src/tests/session-source-backfill.test.ts +429 -0
  284. package/src/tests/session-source-keys.test.ts +236 -0
  285. package/src/tests/session-source-labels.test.ts +419 -0
  286. package/src/tests/sessions-detail-batch.test.ts +2 -0
  287. package/src/tests/sessions-move.test.ts +131 -0
  288. package/src/tests/sessions-tree.test.ts +336 -2
  289. package/src/tests/slack-inbound-files.test.ts +103 -23
  290. package/src/tests/status.test.ts +101 -18
  291. package/src/tests/tasks-workflow-run-filter.test.ts +146 -0
  292. package/src/tests/test-net.ts +31 -0
  293. package/src/tests/transcription.test.ts +8 -0
  294. package/src/tests/used-by-route.test.ts +11 -0
  295. package/src/tests/workflow-cascade-cancel.test.ts +1341 -0
  296. package/src/tests/workflow-foreach-supersede-retry.test.ts +488 -0
  297. package/src/tests/workflow-http-v2.test.ts +131 -0
  298. package/src/tests/workflow-idempotency.test.ts +915 -0
  299. package/src/tests/workflow-step-order.test.ts +92 -0
  300. package/src/tests/workflow-sub-workflow.test.ts +30 -0
  301. package/src/tools/get-tasks.ts +8 -0
  302. package/src/tools/kv/kv-read-auth.ts +4 -2
  303. package/src/tools/task-action.ts +1 -1
  304. package/src/tools/workflows/cancel-workflow-run.ts +1 -1
  305. package/src/tools/workflows/get-workflow-run.ts +14 -4
  306. package/src/types.ts +24 -0
  307. package/src/utils/company-profile.ts +51 -1
  308. package/src/utils/context-window.ts +8 -6
  309. package/src/utils/credentials.ts +5 -2
  310. package/src/utils/internal-ai/complete-structured.ts +5 -0
  311. package/src/utils/internal-ai/credentials.ts +4 -3
  312. package/src/utils/provider-key-probes.ts +328 -0
  313. package/src/utils/transcription.ts +4 -1
  314. package/src/workflows/approval-cancel.ts +15 -13
  315. package/src/workflows/approval-notifications.ts +5 -1
  316. package/src/workflows/checkpoint.ts +6 -3
  317. package/src/workflows/engine.ts +30 -8
  318. package/src/workflows/executors/foreach.ts +2 -2
  319. package/src/workflows/executors/sub-workflow.ts +8 -1
  320. package/src/workflows/foreach-driver.ts +10 -3
  321. package/src/workflows/foreach-join.ts +29 -6
  322. package/src/workflows/recovery.ts +6 -1
  323. package/src/workflows/resume.ts +168 -56
  324. package/src/workflows/retry-poller.ts +49 -3
  325. package/src/workflows/task-step-routing.ts +29 -7
  326. package/templates/ai-toolbox.manifest.json +8 -8
  327. package/templates/community/open-prompt-showreel/PLAYBOOK.md +5 -6
  328. package/templates/community/open-prompt-showreel/lead-prompt.md +1 -1
  329. package/templates/community/open-prompt-showreel/skills/open-prompt-showreel/SKILL.md +4 -4
  330. package/templates/skills/agent-browser/SKILL.md +4 -4
  331. package/templates/skills/agent-browser/content.md +4 -4
  332. package/templates/skills/code-quality/config.json +1 -1
  333. package/templates/skills/code-quality/content.md +2 -2
  334. package/templates/skills/delegate-work/content.md +29 -25
  335. package/templates/skills/delegate-work/files/scripts/codex-exec.sh +5 -5
  336. package/templates/skills/qa/content.md +2 -2
  337. package/templates/skills/researching/content.md +4 -0
  338. package/templates/skills/swarm-scripts/SKILL.md +1 -0
  339. package/templates/skills/swarm-scripts/content.md +1 -0
  340. package/templates/skills/work-on-task/SKILL.md +1 -1
  341. package/templates/skills/work-on-task/content.md +1 -1
  342. package/dist/cli-7421jzsw.js +0 -84
  343. package/dist/cli-e45e4m6b.js +0 -413
  344. package/dist/cli-zw88zjba.js +0 -307
  345. package/dist/handlers-19xr6dnz.js +0 -41
  346. package/dist/index-kw2mmat7.js +0 -43
  347. package/dist/lead-zyerk1x2.js +0 -79
  348. package/dist/render-v2-hgytz8nn.js +0 -12
  349. package/dist/worker-42t8emjt.js +0 -79
@@ -15,17 +15,17 @@ import {
15
15
  init_secret_registry,
16
16
  upsertSwarmConfig2,
17
17
  init_db3
18
- } from "./cli-kxawjrxg.js";
18
+ } from "./cli-g8ka5j4j.js";
19
19
  import {
20
20
  createRuntimeProvider,
21
21
  init_runtime_providers
22
- } from "./cli-p859hcc8.js";
22
+ } from "./cli-39aet655.js";
23
23
  import {
24
24
  closeSessionTokenConnections,
25
25
  init_session_token_connections,
26
26
  insertSessionToken,
27
27
  init_users
28
- } from "./cli-e8jyq7d8.js";
28
+ } from "./cli-esakngh8.js";
29
29
  import {
30
30
  RuntimeControllerCreateSchema,
31
31
  RuntimeControllerUpdateSchema,
@@ -33,13 +33,13 @@ import {
33
33
  RuntimePoolUpdateSchema,
34
34
  RuntimePoolCreateAgentSchema,
35
35
  init_types
36
- } from "./cli-mz9afxxf.js";
36
+ } from "./cli-4rf0f5vg.js";
37
37
  import {
38
38
  scrubSecrets,
39
39
  registerVolatileSecret,
40
40
  unregisterVolatileSecret,
41
41
  init_secret_scrubber
42
- } from "./cli-n4c8e3s5.js";
42
+ } from "./cli-708wdy32.js";
43
43
  import {
44
44
  __esm
45
45
  } from "./cli-242037k3.js";
@@ -4,7 +4,7 @@ import {
4
4
  claimKv2,
5
5
  deleteKv2,
6
6
  init_db3
7
- } from "./cli-kxawjrxg.js";
7
+ } from "./cli-g8ka5j4j.js";
8
8
  import {
9
9
  isEnvFlagEnabled,
10
10
  init_env_flag
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  scrubSecrets,
14
14
  init_secret_scrubber
15
- } from "./cli-n4c8e3s5.js";
15
+ } from "./cli-708wdy32.js";
16
16
 
17
17
  // src/slack/external-channel.ts
18
18
  init_db3();
@@ -773,4 +773,4 @@ var init_src2 = __esm(() => {
773
773
  init_resolve_alias();
774
774
  });
775
775
 
776
- export { isAlias, parseAlias, resolveAlias, harnessCatalogSection, isHarnessModelJudged, normalizeGrokModel, harnessModelIds, modelFamilyKey, buildClaudeShortnameMap, harnessModelMismatch, openAICompatibleProviders, openAICompatibleProviderIds, providerKeyVars, openAICompatibleKeyVars, openAICompatibleBaseUrlVars, baseUrlOverride, ignoredBaseUrlVar, providerBaseUrl, openAICompatibleProvider, providerForModel, providerForKeyVar, providerKeyFromEnv, providerHarnessModels, withAgentChatRegistrySections, registryCatalogSections, withRegistryCatalogSections, dshCatalogRef, grokCatalogRef, cursorCatalogRef, reasoningLevelsFor, claudeCatalogModelId, init_src2 };
776
+ export { isAlias, parseAlias, resolveAlias, harnessCatalogSection, isHarnessModelJudged, normalizeGrokModel, harnessModelIds, modelFamilyKey, buildClaudeShortnameMap, harnessModelMismatch, openAICompatibleProviders, openAICompatibleProviderIds, providerKeyVars, openAICompatibleKeyVars, baseUrlEnvVar, openAICompatibleBaseUrlVars, baseUrlOverride, ignoredBaseUrlVar, providerBaseUrl, openAICompatibleProvider, providerForModel, providerForKeyVar, providerKeyFromEnv, providerHarnessModels, withAgentChatRegistrySections, registryCatalogSections, withRegistryCatalogSections, dshCatalogRef, grokCatalogRef, cursorCatalogRef, reasoningLevelsFor, claudeCatalogModelId, init_src2 };
@@ -1,19 +1,19 @@
1
- import {
2
- getSlackConfiguration,
3
- init_config
4
- } from "./cli-qeaq3j6t.js";
5
1
  import {
6
2
  isSteeringEnabled2,
7
3
  init_steering_enabled
8
4
  } from "./cli-4sydckyj.js";
5
+ import {
6
+ getSlackConfiguration,
7
+ init_config
8
+ } from "./cli-qeaq3j6t.js";
9
9
  import {
10
10
  init_templates3
11
- } from "./cli-0ebey9hg.js";
11
+ } from "./cli-j6rktc91.js";
12
12
  import {
13
13
  resolveTemplateAsync,
14
14
  init_resolver,
15
15
  init_session_templates
16
- } from "./cli-tx00c0h6.js";
16
+ } from "./cli-dqygeeh5.js";
17
17
  import {
18
18
  MAX_PROFILE_FILE_LENGTH,
19
19
  getAppUrl,
@@ -24,7 +24,7 @@ import {
24
24
  import {
25
25
  scrubSecrets,
26
26
  init_secret_scrubber
27
- } from "./cli-n4c8e3s5.js";
27
+ } from "./cli-708wdy32.js";
28
28
  import {
29
29
  __esm
30
30
  } from "./cli-242037k3.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  registerTemplate,
3
3
  init_registry
4
- } from "./cli-tx00c0h6.js";
4
+ } from "./cli-dqygeeh5.js";
5
5
  import {
6
6
  __esm
7
7
  } from "./cli-242037k3.js";
@@ -1,18 +1,17 @@
1
1
  import {
2
- runStopHookSessionSummarySubprocess
3
- } from "./cli-w1zwctj2.js";
2
+ contextStatePath,
3
+ contextBoundNoteMarkerPath,
4
+ recordContextState
5
+ } from "./cli-nq677csy.js";
4
6
  import {
5
- CONTEXT_FORMULA,
6
- getContextWindowSize,
7
- computeContextUsedUnified,
8
- clampContextPercent
9
- } from "./cli-a5ebc95n.js";
7
+ runStopHookSessionSummarySubprocess
8
+ } from "./cli-mtnj4fwa.js";
10
9
  import {
11
10
  redactRateLimitEventLine,
12
11
  SessionErrorTracker,
13
12
  trackErrorFromJson,
14
13
  parseStderrForErrors
15
- } from "./cli-gx4rm0qx.js";
14
+ } from "./cli-7enjwya9.js";
16
15
  import {
17
16
  swarmRuntimeInstanceId
18
17
  } from "./cli-e8xyjvfc.js";
@@ -33,10 +32,17 @@ import {
33
32
  } from "./cli-vbhgkw9h.js";
34
33
  import {
35
34
  applyReasoningEffort
36
- } from "./cli-bn0rewsy.js";
35
+ } from "./cli-c081bj3b.js";
37
36
  import {
38
37
  fetchInstalledMcpServers
39
38
  } from "./cli-bst1vp7e.js";
39
+ import {
40
+ CONTEXT_FORMULA,
41
+ getContextWindowSize,
42
+ computeContextUsedUnified,
43
+ clampContextPercent,
44
+ init_context_window
45
+ } from "./cli-pfk92eqz.js";
40
46
  import {
41
47
  resolveClaudeTransport,
42
48
  isClaudeBridgeEffective
@@ -47,18 +53,16 @@ import {
47
53
  import {
48
54
  withFileLock,
49
55
  init_file_lock
50
- } from "./cli-gpv60278.js";
51
- import {
52
- CLAUDE_CREDENTIALS_HINT,
53
- validateClaudeCredentials,
54
- init_credentials
55
- } from "./cli-zw88zjba.js";
56
+ } from "./cli-hfeb68z4.js";
56
57
  import {
57
58
  routeCredentialStatus,
58
59
  deriveDefaultRoute,
59
60
  routeUnsetEnv,
60
- init_src
61
- } from "./cli-e45e4m6b.js";
61
+ init_src,
62
+ CLAUDE_CREDENTIALS_HINT,
63
+ validateClaudeCredentials,
64
+ init_credentials
65
+ } from "./cli-1tem6ns9.js";
62
66
  import {
63
67
  getOpenRouterAttributionHeaders,
64
68
  init_openrouter_base_url
@@ -70,7 +74,7 @@ import {
70
74
  import {
71
75
  scrubSecrets,
72
76
  init_secret_scrubber
73
- } from "./cli-n4c8e3s5.js";
77
+ } from "./cli-708wdy32.js";
74
78
  import {
75
79
  __toESM
76
80
  } from "./cli-242037k3.js";
@@ -95,6 +99,7 @@ import {
95
99
  import { homedir as homedir2 } from "node:os";
96
100
  import { dirname, join as join2, resolve as resolve2 } from "node:path";
97
101
  import { promisify } from "node:util";
102
+ init_context_window();
98
103
  init_credentials();
99
104
  init_env_flag();
100
105
  init_file_lock();
@@ -284,6 +289,7 @@ function mergeClaudeSettingsArgs(argLists, cwd) {
284
289
  }
285
290
 
286
291
  // src/providers/claude-session-events.ts
292
+ init_context_window();
287
293
  init_secret_scrubber();
288
294
  function finiteNumber(value) {
289
295
  return typeof value === "number" && Number.isFinite(value) ? value : undefined;
@@ -348,6 +354,7 @@ function normalizeClaudeMessage(json, state) {
348
354
  let model;
349
355
  let contextWindowSize;
350
356
  let assistantText;
357
+ let requestContextTokens;
351
358
  if (json.type === "system" && json.subtype === "init" && json.session_id) {
352
359
  sessionId = json.session_id;
353
360
  model = typeof json.model === "string" ? json.model : undefined;
@@ -416,6 +423,9 @@ function normalizeClaudeMessage(json, state) {
416
423
  outputTokens: usage.output_tokens ?? 0,
417
424
  contextFormula: CONTEXT_FORMULA
418
425
  });
426
+ if (!json.parent_tool_use_id) {
427
+ requestContextTokens = (usage.input_tokens ?? 0) + (usage.cache_read_input_tokens ?? 0) + (usage.cache_creation_input_tokens ?? 0);
428
+ }
419
429
  }
420
430
  }
421
431
  if (json.type === "user" && Array.isArray(json.message?.content)) {
@@ -434,6 +444,7 @@ function normalizeClaudeMessage(json, state) {
434
444
  contextWindowSize,
435
445
  cost,
436
446
  assistantText,
447
+ requestContextTokens,
437
448
  isResult: json.type === "result"
438
449
  };
439
450
  }
@@ -475,9 +486,16 @@ async function writeTaskFile(key, data) {
475
486
  return filePath;
476
487
  }
477
488
  async function cleanupTaskFile2(key) {
478
- try {
479
- await unlink(getTaskFilePath(key));
480
- } catch {}
489
+ const taskFilePath = getTaskFilePath(key);
490
+ for (const path of [
491
+ taskFilePath,
492
+ contextStatePath(taskFilePath),
493
+ contextBoundNoteMarkerPath(taskFilePath)
494
+ ]) {
495
+ try {
496
+ await unlink(path);
497
+ } catch {}
498
+ }
481
499
  }
482
500
  function parseClaudeBinary(raw) {
483
501
  const trimmed = (raw ?? "claude").trim();
@@ -911,6 +929,7 @@ class ClaudeSession {
911
929
  systemPromptFile;
912
930
  appliedReasoningEffort;
913
931
  lastAssistantText = "";
932
+ lastContextTokens;
914
933
  transcript;
915
934
  backgroundKeepalive;
916
935
  deliverSteering;
@@ -1174,6 +1193,10 @@ ${scrubSecrets(stderrOutput)}`);
1174
1193
  setCost(normalized.cost);
1175
1194
  if (normalized.assistantText)
1176
1195
  this.lastAssistantText = normalized.assistantText;
1196
+ if (normalized.requestContextTokens !== undefined && normalized.requestContextTokens !== this.lastContextTokens) {
1197
+ this.lastContextTokens = normalized.requestContextTokens;
1198
+ recordContextState(getTaskFilePath(this.taskFileKey), normalized.requestContextTokens, this.model);
1199
+ }
1177
1200
  this.transcript.push(...normalized.transcriptEntries);
1178
1201
  for (const event of normalized.events)
1179
1202
  this.emit(event);
@@ -1236,7 +1259,7 @@ class ClaudeAdapter2 {
1236
1259
  if (transport === "sdk" && isClaudeBridgeEffective(sourceEnv)) {
1237
1260
  throw new Error("CLAUDE_TRANSPORT=sdk cannot run with an effective Claude Bridge configuration. Select CLI transport or disable the bridge.");
1238
1261
  }
1239
- const claudeSdk = transport === "sdk" ? await import("./claude-sdk-session-fkbyk66x.js") : undefined;
1262
+ const claudeSdk = transport === "sdk" ? await import("./claude-sdk-session-nw5yd8cp.js") : undefined;
1240
1263
  claudeSdk?.validateClaudeSdkAdditionalArgs([
1241
1264
  ...claudeBinaryArgv.slice(1),
1242
1265
  ...config.additionalArgs ?? []
@@ -1265,7 +1288,7 @@ class ClaudeAdapter2 {
1265
1288
  }
1266
1289
  if (isEnvFlagEnabled("CLAUDE_TRUST_PRESEED", true, sourceEnv)) {
1267
1290
  try {
1268
- await preseedClaudeTrustDialog(await resolveClaudeTrustDirs(config.cwd));
1291
+ await preseedClaudeTrustDialog(await resolveClaudeTrustDirs(config.cwd), sourceEnv.HOME || undefined);
1269
1292
  } catch (err) {
1270
1293
  console.warn(`\x1B[33m[claude]\x1B[0m ${scrubSecrets(`Failed to pre-seed trust for ${config.cwd}: ${err}`)}`);
1271
1294
  }
@@ -9,12 +9,12 @@ import {
9
9
  acquireOAuthRefreshLock,
10
10
  releaseOAuthRefreshLock,
11
11
  init_oauth
12
- } from "./cli-kxawjrxg.js";
12
+ } from "./cli-g8ka5j4j.js";
13
13
  import {
14
14
  scrubSecrets,
15
15
  registerVolatileSecret,
16
16
  init_secret_scrubber
17
- } from "./cli-n4c8e3s5.js";
17
+ } from "./cli-708wdy32.js";
18
18
 
19
19
  // node_modules/oauth4webapi/build/index.js
20
20
  var USER_AGENT;
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  scrubSecrets,
8
8
  init_secret_scrubber
9
- } from "./cli-n4c8e3s5.js";
9
+ } from "./cli-708wdy32.js";
10
10
  import {
11
11
  __esm
12
12
  } from "./cli-242037k3.js";
@@ -1,12 +1,11 @@
1
+ import {
2
+ contextBoundNoteThreshold,
3
+ createContextBoundNote
4
+ } from "./cli-nq677csy.js";
1
5
  import {
2
6
  ampBillsCacheWrites,
3
7
  resolveAmpModel
4
- } from "./cli-9s05422w.js";
5
- import {
6
- CONTEXT_FORMULA,
7
- computeContextUsedUnified,
8
- clampContextPercent
9
- } from "./cli-a5ebc95n.js";
8
+ } from "./cli-bqztfyve.js";
10
9
  import {
11
10
  swarmRuntimeInstanceId
12
11
  } from "./cli-e8xyjvfc.js";
@@ -23,20 +22,27 @@ import {
23
22
  } from "./cli-jc1g9ndz.js";
24
23
  import {
25
24
  applyReasoningEffort
26
- } from "./cli-bn0rewsy.js";
25
+ } from "./cli-c081bj3b.js";
26
+ import {
27
+ CONTEXT_FORMULA,
28
+ computeContextUsedUnified,
29
+ clampContextPercent,
30
+ init_context_window
31
+ } from "./cli-pfk92eqz.js";
27
32
  import {
28
33
  scrubSecrets,
29
34
  registerVolatileSecret,
30
35
  init_secret_scrubber
31
- } from "./cli-n4c8e3s5.js";
36
+ } from "./cli-708wdy32.js";
32
37
 
33
38
  // src/providers/amp-adapter.ts
34
39
  import { existsSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs";
35
40
  import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises";
36
41
  import { tmpdir } from "node:os";
37
42
  import { join } from "node:path";
43
+ init_context_window();
38
44
  init_secret_scrubber();
39
- var AMP_PACKAGE = "@ampcode/cli@0.0.1792756861-g6187a2";
45
+ var AMP_PACKAGE = "@ampcode/cli@0.0.1792929650-g000512";
40
46
  var AMP_MCP_SERVER_NAME = "agent-swarm";
41
47
  var AMP_PLUGIN_MODE_KEY = "agent-swarm";
42
48
  var AMP_LIVE_TEST_TIMEOUT_MS = 5000;
@@ -322,6 +328,7 @@ class AmpSession {
322
328
  captures = [];
323
329
  steeringSeq = 0;
324
330
  steers = new Map;
331
+ observeContextBound;
325
332
  constructor(proc, directory, prompt, run) {
326
333
  this.proc = proc;
327
334
  this.directory = directory;
@@ -353,6 +360,12 @@ class AmpSession {
353
360
  });
354
361
  }
355
362
  };
363
+ this.observeContextBound = createContextBoundNote({
364
+ threshold: contextBoundNoteThreshold(run.env),
365
+ model: () => run.selection.pin,
366
+ canDeliver: () => !this.inputClosed && !this.aborted,
367
+ inject: (note) => this.queueSteering(note, true)
368
+ });
356
369
  this.completion = this.runSession(prompt);
357
370
  }
358
371
  onEvent(listener) {
@@ -375,13 +388,13 @@ class AmpSession {
375
388
  await this.stdin.write(userMessage(text));
376
389
  await this.stdin.flush?.();
377
390
  }
378
- queueSteering(text) {
391
+ queueSteering(text, internal = false) {
379
392
  const name = `${String(++this.steeringSeq).padStart(6, "0")}.json`;
380
393
  const temp = join(this.run.steeringInbox, `.${name}.tmp`);
381
394
  writeFileSync(temp, JSON.stringify(text), { mode: 384 });
382
395
  renameSync(temp, join(this.run.steeringInbox, name));
383
396
  return new Promise((resolve) => {
384
- this.steers.set(name, { text, via: "inbox", resolve });
397
+ this.steers.set(name, { text, via: "inbox", internal, resolve });
385
398
  });
386
399
  }
387
400
  inboxPath(name, suffix = "") {
@@ -446,7 +459,7 @@ class AmpSession {
446
459
  continue;
447
460
  }
448
461
  steer.via = "stdin";
449
- taken.push({ name, text: steer.text });
462
+ taken.push({ name, text: steer.text, internal: steer.internal });
450
463
  }
451
464
  return taken;
452
465
  }
@@ -482,7 +495,11 @@ class AmpSession {
482
495
  onTurnEnd() {
483
496
  if (this.inputClosed)
484
497
  return;
485
- for (const { name, text } of this.takeSteering()) {
498
+ for (const { name, text, internal } of this.takeSteering()) {
499
+ if (internal) {
500
+ this.settleSteer(name, { delivered: false, reason: "no tool result carried the note" });
501
+ continue;
502
+ }
486
503
  this.writeInput(text).catch((error) => {
487
504
  this.settleSteer(name, {
488
505
  delivered: false,
@@ -581,6 +598,8 @@ class AmpSession {
581
598
  });
582
599
  if (used > 0)
583
600
  this.emitContext(used, output, null);
601
+ if (topLevel && calledTool)
602
+ this.observeContextBound(input + cacheRead + cacheCreation);
584
603
  }
585
604
  if (topLevel && !calledTool && message.stop_reason !== "tool_use")
586
605
  this.onTurnEnd();
@@ -2,7 +2,7 @@ import {
2
2
  isGrokOpenRouterModel,
3
3
  grokTargetProfile,
4
4
  ACPAdapter2
5
- } from "./cli-8s5wx3nz.js";
5
+ } from "./cli-zqne1qcj.js";
6
6
  import {
7
7
  getOpenRouterBaseUrl,
8
8
  getOpenRouterAttributionHeaders,
@@ -11,11 +11,11 @@ import {
11
11
  import {
12
12
  registerVolatileSecret,
13
13
  init_secret_scrubber
14
- } from "./cli-n4c8e3s5.js";
14
+ } from "./cli-708wdy32.js";
15
15
  import {
16
16
  normalizeGrokModel,
17
17
  init_src2
18
- } from "./cli-nwyw3zhg.js";
18
+ } from "./cli-gxee0bqa.js";
19
19
 
20
20
  // src/providers/grok-adapter.ts
21
21
  init_src2();
@@ -8,10 +8,14 @@ import {
8
8
  import {
9
9
  materializeClaudeMd,
10
10
  stopClaudeMd
11
- } from "./cli-ta8bd7th.js";
11
+ } from "./cli-2sjhpsns.js";
12
12
  import {
13
13
  summarizeSession
14
- } from "./cli-mmhj8vd7.js";
14
+ } from "./cli-ag2yrnt5.js";
15
+ import {
16
+ contextBoundNoteThreshold,
17
+ injectClaimedContextBoundNote
18
+ } from "./cli-nq677csy.js";
15
19
  import {
16
20
  guardGhPrBody,
17
21
  guardGhPrRoom
@@ -27,11 +31,11 @@ import {
27
31
  warnProfileFileTooLarge,
28
32
  buildIndependentIdentityPayloads,
29
33
  init_profile_sync
30
- } from "./cli-gpv60278.js";
34
+ } from "./cli-hfeb68z4.js";
31
35
  import {
32
36
  init_package,
33
37
  package_default
34
- } from "./cli-y561h5a9.js";
38
+ } from "./cli-nn6vx2mq.js";
35
39
  import {
36
40
  MAX_PROFILE_FILE_LENGTH,
37
41
  getMcpBaseUrl,
@@ -48,7 +52,7 @@ import {
48
52
  import {
49
53
  scrubSecrets,
50
54
  init_secret_scrubber
51
- } from "./cli-n4c8e3s5.js";
55
+ } from "./cli-708wdy32.js";
52
56
 
53
57
  // src/hooks/hook.ts
54
58
  init_package();
@@ -833,6 +837,8 @@ You do not have a pre-defined agent ID, you will receive one when you join the s
833
837
  const maybeTaskId = msg.tool_response?.task?.id;
834
838
  outputToolContext("PostToolUse", `Task sent successfully.${maybeTaskId ? ` Task ID: ${maybeTaskId}.` : ""} Monitor progress using the get-task-details tool periodically.`);
835
839
  }
840
+ } else if (!msg.agent_id) {
841
+ await injectClaimedContextBoundNote(process.env.TASK_FILE, contextBoundNoteThreshold(), (note) => outputToolContext("PostToolUse", note));
836
842
  }
837
843
  }
838
844
  break;
@@ -10,7 +10,7 @@ import {
10
10
  getMostRecentTaskInThread2,
11
11
  reactionName,
12
12
  init_db3
13
- } from "./cli-kxawjrxg.js";
13
+ } from "./cli-g8ka5j4j.js";
14
14
  import {
15
15
  TaskCreationBlockedError,
16
16
  buildEffectiveText,
@@ -23,7 +23,7 @@ import {
23
23
  extractTaskFromMessage,
24
24
  extractSlackMessageText,
25
25
  dispatchPre2
26
- } from "./cli-aecdcr77.js";
26
+ } from "./cli-4hxrf0p4.js";
27
27
  import {
28
28
  noteSlackInboundSideEffect,
29
29
  ignoreSlackInbound,
@@ -34,23 +34,23 @@ import {
34
34
  isSlackRenderV2Enabled2,
35
35
  ensureSlackThreadTree2,
36
36
  registerTreeMessage
37
- } from "./cli-ce0ak9ms.js";
37
+ } from "./cli-g20jjwt4.js";
38
38
  import {
39
39
  isBlockExternalEnabled2,
40
40
  invalidateChannelExternality2,
41
41
  getChannelBlockReason2,
42
42
  shouldBlockChannel2,
43
43
  leaveExternalChannel2
44
- } from "./cli-s53vp709.js";
44
+ } from "./cli-gnsb1zxa.js";
45
45
  import {
46
46
  workflowEventBus2,
47
47
  init_event_bus
48
- } from "./cli-dabehxhp.js";
48
+ } from "./cli-kt907da6.js";
49
49
  import {
50
50
  enrichSlackUserEmail,
51
51
  resolveSlackUserId,
52
52
  rewriteSlackMentions
53
- } from "./cli-25j01dpj.js";
53
+ } from "./cli-24j1jeeb.js";
54
54
  import {
55
55
  wasEventSeen,
56
56
  requestSlackThreadSteering,
@@ -58,11 +58,11 @@ import {
58
58
  bufferThreadMessage,
59
59
  getBufferMessageCount,
60
60
  instantFlush
61
- } from "./cli-qgf8emrn.js";
61
+ } from "./cli-sqma6vw1.js";
62
62
  import {
63
63
  resolveTemplate,
64
64
  init_resolver
65
- } from "./cli-tx00c0h6.js";
65
+ } from "./cli-dqygeeh5.js";
66
66
  import {
67
67
  init_zod
68
68
  } from "./cli-4chz1hye.js";
@@ -79,7 +79,7 @@ import {
79
79
  import {
80
80
  scrubSecrets,
81
81
  init_secret_scrubber
82
- } from "./cli-n4c8e3s5.js";
82
+ } from "./cli-708wdy32.js";
83
83
  import {
84
84
  __using,
85
85
  __callDispose
@@ -400,6 +400,10 @@ function registerMessageHandler2(app) {
400
400
  }
401
401
  }
402
402
  matches ??= await routeMessage(routingText, botUserId, botMentioned || isImplicitMention, routingThreadContext);
403
+ const slack = {
404
+ trigger: "mention",
405
+ messages: [{ ts: msg.ts, userId: msg.user, text: msg.text ?? "" }]
406
+ };
403
407
  if (matches.length === 0) {
404
408
  let __stack = [];
405
409
  try {
@@ -451,7 +455,7 @@ ${taskDescription}`;
451
455
  slackUserId: msg.user,
452
456
  requestedByUserId,
453
457
  contextKey: slackContextKey({ channelId: msg.channel, threadTs })
454
- }, inbound);
458
+ }, inbound, slack);
455
459
  await ackSlackMessage(client, msg.channel, msg.ts, reactionName("accepted"), "accepted");
456
460
  await notifySlackFileFailures(client, msg.channel, threadTs, unattached);
457
461
  if (isSlackRenderV2Enabled2()) {
@@ -544,7 +548,7 @@ ${taskDescription}`;
544
548
  inheritParentOutputSchema: false,
545
549
  requestedByUserId,
546
550
  contextKey: slackContextKey({ channelId: msg.channel, threadTs })
547
- }, inbound);
551
+ }, inbound, slack);
548
552
  const { task } = created;
549
553
  unattached.push(...created.unattached);
550
554
  await ackSlackMessage(client, msg.channel, msg.ts, reactionName("accepted"), "accepted");
@@ -562,7 +566,7 @@ ${taskDescription}`;
562
566
  slackUserId: msg.user,
563
567
  requestedByUserId,
564
568
  contextKey: slackContextKey({ channelId: msg.channel, threadTs })
565
- }, inbound);
569
+ }, inbound, slack);
566
570
  const { task } = created;
567
571
  unattached.push(...created.unattached);
568
572
  await ackSlackMessage(client, msg.channel, msg.ts, reactionName("accepted"), "accepted");