@desplega.ai/agent-swarm 1.159.0 → 1.161.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 (415) hide show
  1. package/README.md +2 -2
  2. package/dist/{acp-adapter-qhch0n2v.js → acp-adapter-xx489vvb.js} +286 -75
  3. package/dist/{actions-dtsh1mfb.js → actions-ykjkn0m9.js} +32 -30
  4. package/dist/{anthropic-messages-f2h06k64.js → anthropic-messages-5qx80j9k.js} +99 -14
  5. package/dist/{app-y1b9srva.js → app-0hdqa4k1.js} +13 -11
  6. package/dist/{assistant-31hwy5xj.js → assistant-am2g5g8a.js} +40 -32
  7. package/dist/{azure-openai-responses-0k1mfax5.js → azure-openai-responses-fszbkp0e.js} +3 -3
  8. package/dist/{boot-reembed-48d2qpkt.js → boot-reembed-gt5gjkt4.js} +14 -12
  9. package/dist/{boot-reembed-w0bryhkr.js → boot-reembed-xy9t7avg.js} +15 -13
  10. package/dist/{boot-scrub-logs-t65wbrn7.js → boot-scrub-logs-9x0985y5.js} +12 -10
  11. package/dist/boot-seeds-trv0d4vg.js +29 -0
  12. package/dist/{claude-adapter-1t6611ne.js → claude-adapter-jb6e1e54.js} +32 -26
  13. package/dist/{claude-managed-adapter-werp659j.js → claude-managed-adapter-yxkfxg8j.js} +7 -7
  14. package/dist/{claude-managed-setup-y6rdgbc1.js → claude-managed-setup-d1q9hv2b.js} +26 -27
  15. package/dist/{claude-sdk-session-zhkyk8yw.js → claude-sdk-session-zga700s2.js} +11737 -11256
  16. package/dist/{cli-79aq9cgb.js → cli-0383bp7f.js} +1222 -406
  17. package/dist/{cli-xgpf00sk.js → cli-0c7ata9h.js} +24 -23
  18. package/dist/{cli-qjxy52w7.js → cli-121ph74b.js} +2 -2
  19. package/dist/{cli-20035trh.js → cli-17xpf7cm.js} +14 -7
  20. package/dist/{cli-cqt19wg6.js → cli-1a2j50m0.js} +11 -2
  21. package/dist/{cli-g9df2m37.js → cli-1cz0c18q.js} +249 -200
  22. package/dist/{cli-fjtp3463.js → cli-1er0rhz8.js} +13 -12
  23. package/dist/{cli-ca2w7zv7.js → cli-2hhfhfq5.js} +11 -6
  24. package/dist/{cli-npssxgaz.js → cli-2pdaysab.js} +52 -2
  25. package/dist/{cli-rykfmgwg.js → cli-2x0e561b.js} +1 -1
  26. package/dist/{cli-503ya656.js → cli-35pj2yva.js} +20 -150
  27. package/dist/cli-3qhyh31j.js +166 -0
  28. package/dist/{cli-cygyqj3b.js → cli-3zc55ctx.js} +8 -6
  29. package/dist/{cli-96qd5psa.js → cli-58e8yr0d.js} +1 -1
  30. package/dist/{cli-4aj25szq.js → cli-5nbmpy8w.js} +2 -2
  31. package/dist/{cli-mg24hkt4.js → cli-5p3x4zna.js} +2 -2
  32. package/dist/{cli-vwbbaecp.js → cli-7119ja3w.js} +3 -3
  33. package/dist/{cli-mzkqpxee.js → cli-798vkbks.js} +2 -2
  34. package/dist/{cli-3gvrr8vj.js → cli-82c1pacn.js} +111 -54
  35. package/dist/{cli-hgqfttfc.js → cli-89s4ngw3.js} +1 -1
  36. package/dist/{cli-9b13ggd1.js → cli-89v6kyq7.js} +1 -0
  37. package/dist/{cli-b6thtzac.js → cli-8g6mc14k.js} +7 -7
  38. package/dist/{cli-eg7cdg68.js → cli-9m03pzga.js} +5 -5
  39. package/dist/cli-9s68w752.js +303 -0
  40. package/dist/{cli-48527fpw.js → cli-a8c82p2t.js} +16 -15
  41. package/dist/{cli-5f2hq128.js → cli-ad4qxm6j.js} +12 -11
  42. package/dist/{cli-e4xnc0qp.js → cli-akfj32vj.js} +33 -7
  43. package/dist/{cli-ejpygnqz.js → cli-bh7jed3k.js} +212 -22
  44. package/dist/{cli-0z2v4nhw.js → cli-cat6h73s.js} +1 -1
  45. package/dist/{cli-e0ndxhtk.js → cli-cfkrztza.js} +190 -13
  46. package/dist/{cli-kc3dp84d.js → cli-d56tgd45.js} +216 -59
  47. package/dist/cli-dbmwby6a.js +9 -0
  48. package/dist/{cli-0n2e4x49.js → cli-ecfxwnyb.js} +15 -2
  49. package/dist/{cli-gzyh0j0g.js → cli-ee8bc46j.js} +66 -166
  50. package/dist/{cli-kdnehe0t.js → cli-et8m9xsv.js} +1 -1
  51. package/dist/cli-f9w1semm.js +413 -0
  52. package/dist/cli-gt4hxb8p.js +99 -0
  53. package/dist/{cli-qv4jv8bx.js → cli-hgmnf38m.js} +2 -2
  54. package/dist/{cli-10ym38qc.js → cli-hn04t9db.js} +3 -3
  55. package/dist/{cli-qvnnx4ct.js → cli-jpf7e1zq.js} +105 -243
  56. package/dist/cli-jyy6pm2f.js +333872 -0
  57. package/dist/{cli-dvjpkkjd.js → cli-kgd3p0bm.js} +7 -7
  58. package/dist/cli-ma3zvh39.js +10404 -0
  59. package/dist/{cli-r2ap2czm.js → cli-nexqx4ve.js} +6 -0
  60. package/dist/{cli-j9z8mfx3.js → cli-nsdxtcbg.js} +37 -20
  61. package/dist/{cli-wgjx0q33.js → cli-phfg8vy8.js} +392 -53
  62. package/dist/{cli-rgjprct3.js → cli-ptr8h7kp.js} +19 -1
  63. package/dist/{cli-s8s499xy.js → cli-qbksc292.js} +3 -2
  64. package/dist/{cli-bv0a38v9.js → cli-qwsnmjdd.js} +515 -229
  65. package/dist/{cli-68bmme5p.js → cli-r6fsxc76.js} +40018 -52654
  66. package/dist/{cli-rrqmqr1s.js → cli-rtx9dygp.js} +1 -1
  67. package/dist/{cli-rfezr056.js → cli-sqm3r5ps.js} +83 -15
  68. package/dist/{cli-zw65mab6.js → cli-t6v2ah3r.js} +67 -13
  69. package/dist/{cli-vn0qv9cj.js → cli-t845n9xk.js} +28 -14
  70. package/dist/cli-trc24wk2.js +143 -0
  71. package/dist/{cli-wd9hz40d.js → cli-tre4bdgq.js} +5 -5
  72. package/dist/{cli-9yg65c1j.js → cli-tsk3nz8a.js} +29 -1
  73. package/dist/{cli-phsaj4xq.js → cli-v0pvvhfq.js} +1 -1
  74. package/dist/{cli-hj65wsts.js → cli-vnnz5ncg.js} +4695 -4915
  75. package/dist/{cli-cpvsaqsw.js → cli-w0bwte75.js} +8 -5
  76. package/dist/{cli-z9x0sh1t.js → cli-we0q7t0e.js} +3 -3
  77. package/dist/{cli-r94z9p1z.js → cli-wgbezhw2.js} +3 -0
  78. package/dist/{cli-19jenss3.js → cli-xk79303e.js} +51 -17
  79. package/dist/{cli-31nkw3g3.js → cli-ybgv4kw2.js} +15 -8
  80. package/dist/{cli-ardpzhjm.js → cli-yrg7c73k.js} +13 -6
  81. package/dist/{cli-de1396j2.js → cli-ywybs5as.js} +7 -1
  82. package/dist/{cli-vhjwh6cz.js → cli-yy6dew39.js} +2 -2
  83. package/dist/{cli-bgv70kym.js → cli-zb6xbk61.js} +3 -2
  84. package/dist/{cli-4tvgz99m.js → cli-ze1d3wzv.js} +79 -27
  85. package/dist/cli.js +33 -32
  86. package/dist/{cloudflare-workers-ai-system-one-1sg586qv.js → cloudflare-workers-ai-system-one-k6fbxw9d.js} +2 -2
  87. package/dist/{codex-adapter-jqfqqa21.js → codex-adapter-04v97vep.js} +23 -20
  88. package/dist/{codex-hook-5eys3dya.js → codex-hook-20me6byw.js} +2 -2
  89. package/dist/{codex-login-he9vrn90.js → codex-login-cf7mzsgg.js} +48 -3
  90. package/dist/{codex-session-runner-zd341dsm.js → codex-session-runner-ax69mqq3.js} +21 -20
  91. package/dist/{commands-vfsysz4s.js → commands-18gy08n1.js} +12 -10
  92. package/dist/{db-s3znhvbn.js → db-d2pvjpyt.js} +22 -10
  93. package/dist/{devin-adapter-8vgkwh29.js → devin-adapter-dpsv6hd9.js} +1 -1
  94. package/dist/{dispatcher-5xn0c7rf.js → dispatcher-8wbwyzjg.js} +31 -29
  95. package/dist/{dsh-adapter-894mgfvs.js → dsh-adapter-ysqk9snv.js} +9 -4
  96. package/dist/{e2b-ez07znam.js → e2b-esmt1r16.js} +3 -1
  97. package/dist/{execute-71ysgv35.js → execute-cmagrbrz.js} +235 -52
  98. package/dist/{google-generative-ai-1nfcdphp.js → google-generative-ai-k6n5nbpp.js} +3 -3
  99. package/dist/{google-vertex-1tqcd7b1.js → google-vertex-44xxtcvp.js} +3 -3
  100. package/dist/{handlers-5w4jwycr.js → handlers-6b69m5kp.js} +34 -32
  101. package/dist/{hook-z0hbxj85.js → hook-k3mydf2n.js} +16 -14
  102. package/dist/{hook-853bxrr6.js → hook-srnkt0hb.js} +16 -14
  103. package/dist/{http-akc3wy3m.js → http-hrf80ca1.js} +836 -189
  104. package/dist/{index-ttpbhnjg.js → index-1asbaj62.js} +32 -30
  105. package/dist/{index-cd151qkq.js → index-45evq4ee.js} +31 -29
  106. package/dist/{index-k661dzzr.js → index-9rxdvj6w.js} +32 -30
  107. package/dist/index-k4nj18qs.js +31 -0
  108. package/dist/{index-5sz16ksh.js → index-xmevk2b9.js} +89 -61
  109. package/dist/{keepalive-8p9rpvz5.js → keepalive-sfdz6ksp.js} +14 -12
  110. package/dist/{lead-jp69z5h3.js → lead-ej91e9hw.js} +52 -50
  111. package/dist/{llama-cpp-classify-t2tccams.js → llama-cpp-classify-tgj35k8d.js} +1 -1
  112. package/dist/{maintenance-fwx4ev0k.js → maintenance-80dnd7ke.js} +15 -13
  113. package/dist/{mistral-conversations-bhvwqcnk.js → mistral-conversations-pc3ntnxt.js} +1 -1
  114. package/dist/node-f0ykebbv.js +2107 -0
  115. package/dist/node-wyamey5r.js +19 -0
  116. package/dist/{oauth-refresh-sweep-cwcq1ctx.js → oauth-refresh-sweep-m1etk2mx.js} +13 -11
  117. package/dist/{onboard-2b4q0t84.js → onboard-0q8sdfqc.js} +2 -2
  118. package/dist/{openai-codex-responses-nekthgks.js → openai-codex-responses-n7n683p2.js} +2 -2
  119. package/dist/{openai-completions-hxtzwj0s.js → openai-completions-jpaj5g2b.js} +2 -2
  120. package/dist/{openai-responses-w4r118w7.js → openai-responses-9a3nme9j.js} +3 -3
  121. package/dist/{opencode-adapter-zz7xvjj6.js → opencode-adapter-4wcgmvgf.js} +13 -11
  122. package/dist/{openrouter-images-b6sqqjgn.js → openrouter-images-8yx3487g.js} +1 -1
  123. package/dist/{otel-impl-g8rs4vwr.js → otel-impl-hnqm9mxq.js} +2 -2
  124. package/dist/pi-logo-animation-e9a0t68z.js +1003 -0
  125. package/dist/{pi-mono-adapter-n0me28wt.js → pi-mono-adapter-d6sqm9wr.js} +301 -78
  126. package/dist/{pricing-refresh-0v77385v.js → pricing-refresh-y60z64pm.js} +14 -13
  127. package/dist/quickjs-r1pq2107.wasm +0 -0
  128. package/dist/{rbac-roles-krjyazbj.js → rbac-roles-8pa0754b.js} +13 -11
  129. package/dist/{render-v2-3wjsp9aw.js → render-v2-418s1vj7.js} +13 -11
  130. package/dist/{runtime-ktjysacx.js → runtime-3pknc168.js} +5 -4
  131. package/dist/{setup-yeqryke6.js → setup-yghdkj4x.js} +2 -2
  132. package/dist/{typesafe-system-one-96960jxp.js → typesafe-system-one-2ef30pec.js} +2 -2
  133. package/dist/{virtual-modules-dzdeq1sf.js → virtual-modules-jcceevt5.js} +8 -6
  134. package/dist/{work-objects-3pakpkw0.js → work-objects-j1sz20v9.js} +34 -32
  135. package/dist/{worker-85testgj.js → worker-d4gcvkjt.js} +52 -50
  136. package/dist/{x-n3e0v3xa.js → x-f1gt1pz3.js} +2 -2
  137. package/openapi.json +587 -19
  138. package/package.json +16 -15
  139. package/src/azure-devops/api.ts +121 -0
  140. package/src/azure-devops/auth.ts +78 -0
  141. package/src/azure-devops/handlers.ts +413 -0
  142. package/src/azure-devops/index.ts +27 -0
  143. package/src/azure-devops/templates.ts +108 -0
  144. package/src/azure-devops/types.ts +90 -0
  145. package/src/be/db/api-keys.ts +70 -0
  146. package/src/be/db/tasks/read.ts +1 -1
  147. package/src/be/db/tasks/write.ts +16 -0
  148. package/src/be/db-client.ts +11 -2
  149. package/src/be/db-retention.ts +95 -32
  150. package/src/be/db.ts +187 -24
  151. package/src/be/memory/constants.ts +16 -0
  152. package/src/be/memory/graph-expansion.ts +8 -1
  153. package/src/be/memory/index-content.ts +20 -1
  154. package/src/be/memory/key-guard.ts +93 -0
  155. package/src/be/memory/key-paths.ts +103 -0
  156. package/src/be/memory/providers/sqlite-store.ts +203 -60
  157. package/src/be/memory/raters/llm-summarizer.ts +10 -4
  158. package/src/be/memory/raters/llm.ts +15 -5
  159. package/src/be/memory/raters/store.ts +6 -3
  160. package/src/be/memory/raters/types.ts +11 -0
  161. package/src/be/memory/reranker.ts +38 -7
  162. package/src/be/memory/types.ts +12 -1
  163. package/src/be/migrations/185_api_key_auth_failures.sql +6 -0
  164. package/src/be/migrations/186_api_key_seat_mismatch.sql +8 -0
  165. package/src/be/migrations/190_memory_rating_model.sql +7 -0
  166. package/src/be/migrations/191_context_versions_previous_index.sql +8 -0
  167. package/src/be/model-tier-keys.ts +16 -1
  168. package/src/be/model-tier-resolution.ts +63 -18
  169. package/src/be/model-validation.ts +86 -10
  170. package/src/be/pricing-normalize.ts +4 -2
  171. package/src/be/scripts/typecheck.ts +4 -3
  172. package/src/be/seed/runner.ts +18 -12
  173. package/src/be/seed/types.ts +1 -0
  174. package/src/be/seed-pricing.ts +16 -0
  175. package/src/be/seed-scripts/catalog/task-failure-audit.ts +26 -26
  176. package/src/be/swarm-config-guard.ts +13 -1
  177. package/src/commands/claude-managed-setup.ts +33 -31
  178. package/src/commands/codex-login.ts +67 -0
  179. package/src/commands/credential-outcome-report.ts +191 -0
  180. package/src/commands/provider-credentials.ts +28 -15
  181. package/src/commands/rate-limit-outcome.ts +34 -4
  182. package/src/commands/runner.ts +479 -228
  183. package/src/commands/seat-mismatch-report.ts +46 -0
  184. package/src/e2b/env.ts +2 -0
  185. package/src/extensions/apply-task-create.ts +27 -1
  186. package/src/extensions/catalog.generated.json +17 -0
  187. package/src/extensions/contract-types.generated.ts +1 -1
  188. package/src/github/handlers.ts +10 -74
  189. package/src/github/reactions.ts +119 -138
  190. package/src/github/task-reactions.ts +34 -11
  191. package/src/heartbeat/heartbeat.ts +15 -2
  192. package/src/hooks/hook.ts +1 -1
  193. package/src/http/agents.ts +15 -2
  194. package/src/http/api-keys.ts +140 -2
  195. package/src/http/codex-oauth-keep-warm.ts +3 -5
  196. package/src/http/core.ts +12 -0
  197. package/src/http/extensions.ts +51 -27
  198. package/src/http/index.ts +4 -0
  199. package/src/http/mcp-user.ts +8 -13
  200. package/src/http/mcp.ts +19 -12
  201. package/src/http/memory.ts +91 -18
  202. package/src/http/poll.ts +9 -1
  203. package/src/http/schedules.ts +17 -2
  204. package/src/http/script-runs.ts +12 -0
  205. package/src/http/session-data.ts +6 -4
  206. package/src/http/stats.ts +1 -0
  207. package/src/http/status.ts +15 -1
  208. package/src/http/tasks.ts +80 -8
  209. package/src/http/users.ts +1 -1
  210. package/src/http/webhooks.ts +120 -2
  211. package/src/http/workflows.ts +11 -0
  212. package/src/mcp-client/http-client.ts +5 -0
  213. package/src/memory/recall-query.ts +74 -0
  214. package/src/prompts/base-prompt.ts +15 -4
  215. package/src/prompts/session-templates.ts +22 -1
  216. package/src/providers/acp-adapter.ts +1 -0
  217. package/src/providers/claude-adapter.ts +98 -21
  218. package/src/providers/claude-managed-adapter.ts +30 -2
  219. package/src/providers/claude-sdk-session.ts +3 -1
  220. package/src/providers/codex-adapter.ts +11 -11
  221. package/src/providers/codex-skill-resolver.ts +6 -0
  222. package/src/providers/devin-adapter.ts +1 -0
  223. package/src/providers/dsh-adapter.ts +205 -7
  224. package/src/providers/harness-version.ts +83 -7
  225. package/src/providers/opencode-adapter.ts +77 -4
  226. package/src/providers/pi-binary-root/src/extensions/codemode/worker.ts +11 -0
  227. package/src/providers/pi-codemode-runtime.ts +17 -0
  228. package/src/providers/pi-mono-adapter.ts +387 -83
  229. package/src/providers/pi-mono-extension.ts +17 -2
  230. package/src/providers/pricing-sources.md +5 -1
  231. package/src/providers/reasoning-effort.ts +10 -2
  232. package/src/providers/types.ts +9 -1
  233. package/src/rbac/legacy-policy.ts +20 -0
  234. package/src/rbac/permissions.ts +15 -0
  235. package/src/scripts-runtime/types/stdlib.d.ts +13 -5
  236. package/src/scripts-runtime/types/swarm-extension.d.ts +4 -2
  237. package/src/scripts-runtime/types/swarm-sdk.d.ts +13 -5
  238. package/src/slack/assistant.ts +13 -0
  239. package/src/slack/render-v2.ts +87 -37
  240. package/src/slack/session-status.ts +541 -0
  241. package/src/tasks/context-key.ts +38 -1
  242. package/src/tasks/sibling-awareness.ts +3 -2
  243. package/src/telemetry.ts +5 -4
  244. package/src/templates.d.ts +6 -0
  245. package/src/tests/api-key-auth-failure-route.test.ts +142 -0
  246. package/src/tests/api-key-tracking.test.ts +368 -1
  247. package/src/tests/azure-devops-auth.test.ts +100 -0
  248. package/src/tests/azure-devops-handlers.test.ts +324 -0
  249. package/src/tests/azure-devops-webhook-malformed.test.ts +96 -0
  250. package/src/tests/base-prompt.test.ts +40 -2
  251. package/src/tests/claude-adapter.test.ts +58 -0
  252. package/src/tests/claude-default-route.test.ts +260 -0
  253. package/src/tests/claude-managed-adapter.test.ts +47 -0
  254. package/src/tests/claude-managed-setup.test.ts +48 -0
  255. package/src/tests/claude-prompt-body-once.test.ts +117 -0
  256. package/src/tests/claude-routes-e2e.test.ts +316 -0
  257. package/src/tests/codex-auth-failure.test.ts +52 -0
  258. package/src/tests/codex-login.test.ts +116 -0
  259. package/src/tests/context-versions-retention.test.ts +314 -0
  260. package/src/tests/core-auth.test.ts +7 -0
  261. package/src/tests/credential-exhaustion-policy.test.ts +118 -3
  262. package/src/tests/credential-outcome-report.test.ts +171 -0
  263. package/src/tests/credential-status-api.test.ts +103 -2
  264. package/src/tests/db-retention.test.ts +14 -14
  265. package/src/tests/db-task-read-contract.test.ts +6 -0
  266. package/src/tests/db-task-write-contract.test.ts +533 -1
  267. package/src/tests/docs-index-footprint.test.js +3 -3
  268. package/src/tests/dokploy-deploy.test.ts +315 -0
  269. package/src/tests/dsh-adapter.test.ts +134 -2
  270. package/src/tests/dsh-usage.test.ts +153 -0
  271. package/src/tests/explicit-model-validation.test.ts +253 -2
  272. package/src/tests/extensions-catalog.test.ts +1 -0
  273. package/src/tests/extensions-example-deploy-awareness.test.ts +301 -0
  274. package/src/tests/extensions-http.test.ts +137 -10
  275. package/src/tests/extensions-mcp-tools.test.ts +28 -0
  276. package/src/tests/extensions-pre-task.test.ts +73 -0
  277. package/src/tests/fetch-resolved-env.test.ts +70 -0
  278. package/src/tests/fixtures/azure-devops/pull-request-commented.json +129 -0
  279. package/src/tests/fixtures/azure-devops/pull-request-created.json +88 -0
  280. package/src/tests/fixtures/fake-claude-routes.ts +229 -0
  281. package/src/tests/github-handlers-reactions.test.ts +486 -0
  282. package/src/tests/github-reactions.test.ts +280 -0
  283. package/src/tests/hang-watchdog-worker.ts +47 -0
  284. package/src/tests/hang-watchdog.test.ts +45 -0
  285. package/src/tests/hang-watchdog.ts +30 -0
  286. package/src/tests/harness-cli-version.test.ts +62 -0
  287. package/src/tests/harness-model-guard.test.ts +123 -0
  288. package/src/tests/harness-version.test.ts +70 -3
  289. package/src/tests/http-api-integration.test.ts +21 -0
  290. package/src/tests/http-task-write-ownership.test.ts +195 -0
  291. package/src/tests/internal-ai/complete-structured.test.ts +94 -0
  292. package/src/tests/internal-ai/credentials.test.ts +22 -0
  293. package/src/tests/internal-ai/models.test.ts +36 -2
  294. package/src/tests/internal-ai/schema-parity.test.ts +25 -1
  295. package/src/tests/internal-ai/summarize-session.test.ts +23 -7
  296. package/src/tests/mcp-user-route.test.ts +133 -0
  297. package/src/tests/memory-fts-populate.test.ts +139 -0
  298. package/src/tests/memory-http-recall-gating.test.ts +125 -1
  299. package/src/tests/memory-key-paths.test.ts +1055 -0
  300. package/src/tests/memory-rate-endpoint.test.ts +66 -0
  301. package/src/tests/memory-rater-llm-summarizer.test.ts +2 -1
  302. package/src/tests/memory-rater-llm.test.ts +73 -0
  303. package/src/tests/memory-rater-store.test.ts +31 -0
  304. package/src/tests/memory-reranker.test.ts +40 -0
  305. package/src/tests/model-rate-limit-windows.test.ts +19 -0
  306. package/src/tests/model-tier-resolution.test.ts +92 -0
  307. package/src/tests/opencode-adapter.test.ts +214 -2
  308. package/src/tests/opencode-plugin.test.ts +4 -0
  309. package/src/tests/pi-codemode.test.ts +324 -0
  310. package/src/tests/pi-mono-adapter.test.ts +3 -0
  311. package/src/tests/pi-native-mcp.test.ts +193 -0
  312. package/src/tests/pi-tool-exposure.test.ts +374 -0
  313. package/src/tests/preload.ts +9 -0
  314. package/src/tests/prompt-template-session.test.ts +5 -3
  315. package/src/tests/provider-registration.test.ts +0 -2
  316. package/src/tests/providers/pi-cost.test.ts +190 -4
  317. package/src/tests/rate-limit-event.test.ts +65 -0
  318. package/src/tests/rate-limit-outcome.test.ts +90 -0
  319. package/src/tests/rbac-engine.test.ts +41 -2
  320. package/src/tests/runner-key-completion-outcome.test.ts +112 -0
  321. package/src/tests/runner-key-outcome-late-reset.test.ts +224 -0
  322. package/src/tests/runner-registration-retry.test.ts +149 -0
  323. package/src/tests/runner-slot-reconcile.test.ts +199 -0
  324. package/src/tests/script-connections.test.ts +8 -0
  325. package/src/tests/seat-mismatch-report.test.ts +85 -0
  326. package/src/tests/seed-scripts.test.ts +49 -0
  327. package/src/tests/seed.test.ts +25 -0
  328. package/src/tests/session-costs-recompute-all-providers.test.ts +23 -0
  329. package/src/tests/slack-render-v2.test.ts +96 -0
  330. package/src/tests/slack-session-status.test.ts +626 -0
  331. package/src/tests/status.test.ts +29 -0
  332. package/src/tests/steering-promotion.test.ts +51 -0
  333. package/src/tests/store-progress-ownership.test.ts +136 -0
  334. package/src/tests/subscription-plans.test.ts +28 -0
  335. package/src/tests/task-citations.test.ts +3 -2
  336. package/src/tests/task-reactions.test.ts +29 -6
  337. package/src/tests/vcs-azure-devops.test.ts +73 -0
  338. package/src/tests/webhooks-task-blocked.test.ts +23 -0
  339. package/src/tests/workflow-agent-task.test.ts +30 -0
  340. package/src/tests/workflow-llm.test.ts +14 -0
  341. package/src/tests/workflow-triggers-v2.test.ts +320 -0
  342. package/src/tools/context-diff.ts +20 -0
  343. package/src/tools/extension-install.ts +27 -16
  344. package/src/tools/memory-edit.ts +47 -3
  345. package/src/tools/memory-search.ts +13 -1
  346. package/src/tools/memory-store.ts +55 -3
  347. package/src/tools/schedules/create-schedule.ts +1 -1
  348. package/src/tools/schedules/patch-schedule.ts +16 -3
  349. package/src/tools/schedules/update-schedule.ts +16 -3
  350. package/src/tools/send-task.ts +10 -7
  351. package/src/tools/store-progress.ts +49 -4
  352. package/src/tools/task-action.ts +2 -1
  353. package/src/tools/workflows/create-workflow.ts +8 -2
  354. package/src/tools/workflows/update-workflow.ts +8 -2
  355. package/src/types.ts +54 -7
  356. package/src/utils/codex-auth-failure.ts +34 -0
  357. package/src/utils/credentials.test.ts +31 -1
  358. package/src/utils/credentials.ts +92 -39
  359. package/src/utils/dsh-usage.ts +53 -0
  360. package/src/utils/error-tracker.ts +80 -0
  361. package/src/utils/harness-cli-version.ts +6 -4
  362. package/src/utils/internal-ai/complete-structured.ts +26 -3
  363. package/src/utils/internal-ai/credentials.ts +23 -9
  364. package/src/utils/internal-ai/index.ts +8 -1
  365. package/src/utils/internal-ai/models.ts +34 -8
  366. package/src/utils/internal-ai/summarize-session.ts +22 -8
  367. package/src/utils/model-rate-limit-windows.ts +12 -0
  368. package/src/utils/runtime-model-catalog.ts +15 -0
  369. package/src/utils/secret-scrubber.ts +8 -0
  370. package/src/utils/spawn-model-guard.ts +43 -0
  371. package/src/utils/subscription-plans.ts +22 -0
  372. package/src/vcs/azure-devops.ts +80 -0
  373. package/src/vcs/index.ts +5 -1
  374. package/src/vcs/types.ts +2 -2
  375. package/src/workflows/executors/agent-task.ts +7 -6
  376. package/src/workflows/model-validation.ts +45 -0
  377. package/src/workflows/patch-definition.ts +5 -0
  378. package/src/workflows/triggers.ts +85 -0
  379. package/templates/community/open-prompt-showreel/PLAYBOOK.md +336 -0
  380. package/templates/community/open-prompt-showreel/README.md +33 -0
  381. package/templates/community/open-prompt-showreel/example/tla-races/facts.ts +145 -0
  382. package/templates/community/open-prompt-showreel/example/tla-races/facts.v3.json +140 -0
  383. package/templates/community/open-prompt-showreel/example/tla-races/music.mist-city.json +8 -0
  384. package/templates/community/open-prompt-showreel/example/tla-races/reel.html +805 -0
  385. package/templates/community/open-prompt-showreel/example/tla-races/smoke.sh +48 -0
  386. package/templates/community/open-prompt-showreel/lead-prompt.md +89 -0
  387. package/templates/community/open-prompt-showreel/setup.sh +167 -0
  388. package/templates/community/open-prompt-showreel/skills/motion-design-replication/SKILL.md +85 -0
  389. package/templates/community/open-prompt-showreel/skills/motion-design-video-analysis/SKILL.md +115 -0
  390. package/templates/community/open-prompt-showreel/skills/open-prompt-showreel/SKILL.md +147 -0
  391. package/templates/community/open-prompt-showreel/skills/video-generation/SKILL.md +195 -0
  392. package/templates/community/open-prompt-showreel/tools/fetch-music.sh +65 -0
  393. package/templates/community/open-prompt-showreel/tools/music-analyze.py +69 -0
  394. package/templates/community/open-prompt-showreel/tools/music-current.sh +34 -0
  395. package/templates/community/open-prompt-showreel/tools/music-cut.sh +36 -0
  396. package/templates/community/open-prompt-showreel/tools/music-refine.py +39 -0
  397. package/templates/community/open-prompt-showreel/tools/render.mjs +157 -0
  398. package/templates/community/open-prompt-showreel/tools/sheet.sh +44 -0
  399. package/templates/community/open-prompt-showreel/tools/web-compress.sh +17 -0
  400. package/templates/community/open-prompt-showreel/tools/x-reencode.sh +21 -0
  401. package/templates/extensions/README.md +1 -0
  402. package/templates/extensions/deploy-awareness/README.md +28 -0
  403. package/templates/extensions/deploy-awareness/hooks.ts +152 -0
  404. package/templates/extensions/deploy-awareness/manifest.json +8 -0
  405. package/templates/skills/memory/config.json +2 -2
  406. package/templates/skills/memory/content.md +59 -5
  407. package/templates/skills/swarm-extensions/config.json +1 -1
  408. package/templates/skills/swarm-extensions/content.md +28 -5
  409. package/templates/skills/workflow-iterate/content.md +1 -0
  410. package/dist/boot-seeds-h7c32hvm.js +0 -27
  411. package/dist/cli-2djtr51b.js +0 -48
  412. package/dist/cli-7zttzetj.js +0 -324
  413. package/dist/cli-j490egb5.js +0 -5632
  414. package/dist/cli-m4excttz.js +0 -333481
  415. package/dist/index-bjmjh9h4.js +0 -29
@@ -10,7 +10,14 @@ import {
10
10
  } from "./cli-et1bbwqf.js";
11
11
  import {
12
12
  retryProviderRequest
13
- } from "./cli-s8s499xy.js";
13
+ } from "./cli-qbksc292.js";
14
+ import {
15
+ ANTHROPIC_FEDERATION_RULE_ID_ENV,
16
+ ANTHROPIC_IDENTITY_TOKEN_FILE_ENV,
17
+ ANTHROPIC_ORGANIZATION_ID_ENV,
18
+ ANTHROPIC_SERVICE_ACCOUNT_ID_ENV,
19
+ ANTHROPIC_WORKSPACE_ID_ENV
20
+ } from "./cli-trc24wk2.js";
14
21
  import"./cli-51tf7ac3.js";
15
22
  import {
16
23
  adjustMaxTokensForThinking,
@@ -19,7 +26,7 @@ import {
19
26
  getJsonSchemaToolParameters,
20
27
  resolveJsonSchemaStrictSampling,
21
28
  transformMessages
22
- } from "./cli-31nkw3g3.js";
29
+ } from "./cli-ybgv4kw2.js";
23
30
  import {
24
31
  sanitizeSurrogates
25
32
  } from "./cli-y2apkfe2.js";
@@ -184,14 +191,39 @@ function hasHeader(headers, name) {
184
191
  }
185
192
  return false;
186
193
  }
194
+ function hasRequestAuth(apiKey, headers) {
195
+ return !!apiKey || hasHeader(headers, "authorization") || hasHeader(headers, "x-api-key") || hasHeader(headers, "cf-aig-authorization");
196
+ }
187
197
  function assertRequestAuth(provider, apiKey, headers) {
188
- if (apiKey)
198
+ if (!hasRequestAuth(apiKey, headers))
199
+ throw new Error(`No API key for provider: ${provider}`);
200
+ }
201
+
202
+ class PiAnthropic extends Anthropic {
203
+ _shouldResolveDefaultCredentials() {
204
+ return false;
205
+ }
206
+ }
207
+ function getAnthropicFederation(model, apiKey, headers, env) {
208
+ if (model.provider !== "anthropic" || hasRequestAuth(apiKey, headers))
189
209
  return;
190
- if (hasHeader(headers, "authorization") || hasHeader(headers, "x-api-key") || hasHeader(headers, "cf-aig-authorization")) {
210
+ const federationRuleId = getProviderEnvValue(ANTHROPIC_FEDERATION_RULE_ID_ENV, env);
211
+ const organizationId = getProviderEnvValue(ANTHROPIC_ORGANIZATION_ID_ENV, env);
212
+ const identityTokenFile = getProviderEnvValue(ANTHROPIC_IDENTITY_TOKEN_FILE_ENV, env);
213
+ if (!federationRuleId || !organizationId || !identityTokenFile)
191
214
  return;
192
- }
193
- throw new Error(`No API key for provider: ${provider}`);
215
+ return {
216
+ organization_id: organizationId,
217
+ workspace_id: getProviderEnvValue(ANTHROPIC_WORKSPACE_ID_ENV, env),
218
+ authentication: {
219
+ type: "oidc_federation",
220
+ federation_rule_id: federationRuleId,
221
+ service_account_id: getProviderEnvValue(ANTHROPIC_SERVICE_ACCOUNT_ID_ENV, env),
222
+ identity_token: { source: "file", path: identityTokenFile }
223
+ }
224
+ };
194
225
  }
226
+ var federationClient;
195
227
  var ANTHROPIC_MESSAGE_EVENTS = new Set([
196
228
  "message_start",
197
229
  "message_delta",
@@ -376,7 +408,9 @@ var stream = (model, context, options) => {
376
408
  isOAuth = false;
377
409
  } else {
378
410
  const apiKey = options?.apiKey;
379
- assertRequestAuth(model.provider, apiKey, options?.headers);
411
+ const federation = getAnthropicFederation(model, apiKey, options?.headers, options?.env);
412
+ if (!federation)
413
+ assertRequestAuth(model.provider, apiKey, options?.headers);
380
414
  let copilotDynamicHeaders;
381
415
  if (model.provider === "github-copilot") {
382
416
  const hasImages = hasCopilotVisionInput(normalizedContext.messages);
@@ -387,7 +421,7 @@ var stream = (model, context, options) => {
387
421
  }
388
422
  const cacheRetention = resolveCacheRetention(options?.cacheRetention, options?.env);
389
423
  const cacheSessionId = cacheRetention === "none" ? undefined : options?.sessionId;
390
- const created = createClient(model, apiKey, options?.headers, options?.fetch, copilotDynamicHeaders, cacheSessionId);
424
+ const created = createClient(model, apiKey, options?.headers, options?.fetch, copilotDynamicHeaders, cacheSessionId, federation);
391
425
  client = created.client;
392
426
  isOAuth = created.isOAuthToken;
393
427
  }
@@ -642,7 +676,9 @@ function mapThinkingLevelToEffort(model, level) {
642
676
  }
643
677
  }
644
678
  var streamSimple = (model, context, options) => {
645
- assertRequestAuth(model.provider, options?.apiKey, options?.headers);
679
+ if (!getAnthropicFederation(model, options?.apiKey, options?.headers, options?.env)) {
680
+ assertRequestAuth(model.provider, options?.apiKey, options?.headers);
681
+ }
646
682
  const base = {
647
683
  ...buildBaseOptions(model, context, options, options?.apiKey),
648
684
  toolChoice: options?.toolChoice
@@ -673,9 +709,9 @@ var streamSimple = (model, context, options) => {
673
709
  function isOAuthToken(apiKey) {
674
710
  return apiKey.includes("sk-ant-oat");
675
711
  }
676
- function createClient(model, apiKey, optionsHeaders, fetch, dynamicHeaders, sessionId) {
712
+ function createClient(model, apiKey, optionsHeaders, fetch, dynamicHeaders, sessionId, federation) {
677
713
  if (model.provider === "github-copilot") {
678
- const client2 = new Anthropic({
714
+ const client2 = new PiAnthropic({
679
715
  apiKey: null,
680
716
  authToken: apiKey ?? null,
681
717
  baseURL: model.baseUrl,
@@ -689,7 +725,7 @@ function createClient(model, apiKey, optionsHeaders, fetch, dynamicHeaders, sess
689
725
  return { client: client2, isOAuthToken: false };
690
726
  }
691
727
  if (apiKey && isOAuthToken(apiKey)) {
692
- const client2 = new Anthropic({
728
+ const client2 = new PiAnthropic({
693
729
  apiKey: null,
694
730
  authToken: apiKey,
695
731
  baseURL: model.baseUrl,
@@ -714,7 +750,22 @@ function createClient(model, apiKey, optionsHeaders, fetch, dynamicHeaders, sess
714
750
  accept: "application/json",
715
751
  "anthropic-dangerous-direct-browser-access": "true"
716
752
  }, sessionAffinityHeaders, model.headers, optionsHeaders);
717
- const client = new Anthropic({
753
+ if (federation) {
754
+ const key = JSON.stringify([model.baseUrl, federation]);
755
+ if (federationClient?.key !== key || federationClient.fetch !== fetch) {
756
+ const client2 = new PiAnthropic({
757
+ apiKey: null,
758
+ authToken: null,
759
+ config: federation,
760
+ baseURL: model.baseUrl,
761
+ dangerouslyAllowBrowser: true,
762
+ fetch
763
+ });
764
+ federationClient = { key, fetch, client: client2 };
765
+ }
766
+ return { client: federationClient.client.withOptions({ defaultHeaders }), isOAuthToken: false };
767
+ }
768
+ const client = new PiAnthropic({
718
769
  apiKey: apiKey ?? null,
719
770
  authToken: null,
720
771
  baseURL: model.baseUrl,
@@ -1055,11 +1106,45 @@ function insertThinkingLevelMessages(converted, activeEffort) {
1055
1106
  function shouldUseFineGrainedToolStreamingBeta(model, context) {
1056
1107
  return getCurrentTools(context.messages).length > 0 && !getAnthropicCompat(model).supportsEagerToolInputStreaming;
1057
1108
  }
1109
+ var ANTHROPIC_STRICT_UNSUPPORTED_KEYWORDS = new Set([
1110
+ "minimum",
1111
+ "maximum",
1112
+ "exclusiveMinimum",
1113
+ "exclusiveMaximum",
1114
+ "multipleOf",
1115
+ "maxItems",
1116
+ "uniqueItems",
1117
+ "minContains",
1118
+ "maxContains",
1119
+ "minProperties",
1120
+ "maxProperties"
1121
+ ]);
1122
+ var ANTHROPIC_STRICT_STRING_FORMATS = new Set([
1123
+ "date-time",
1124
+ "time",
1125
+ "date",
1126
+ "duration",
1127
+ "email",
1128
+ "hostname",
1129
+ "uri",
1130
+ "ipv4",
1131
+ "ipv6",
1132
+ "uuid"
1133
+ ]);
1134
+ var isAnthropicStrictUnsupportedKeyword = (key, value) => {
1135
+ if (ANTHROPIC_STRICT_UNSUPPORTED_KEYWORDS.has(key))
1136
+ return true;
1137
+ if (key === "minItems")
1138
+ return value !== 0 && value !== 1;
1139
+ if (key === "format")
1140
+ return typeof value !== "string" || !ANTHROPIC_STRICT_STRING_FORMATS.has(value);
1141
+ return false;
1142
+ };
1058
1143
  function convertTools(tools, isOAuthToken2, supportsEagerToolInputStreaming, supportsStrictTools, cacheControl) {
1059
1144
  if (!tools)
1060
1145
  return [];
1061
1146
  return tools.map((tool, index) => {
1062
- const strict = resolveJsonSchemaStrictSampling(tool, supportsStrictTools);
1147
+ const strict = resolveJsonSchemaStrictSampling(tool, supportsStrictTools, isAnthropicStrictUnsupportedKeyword);
1063
1148
  const parameters = getJsonSchemaToolParameters(tool, strict);
1064
1149
  const schema = parameters;
1065
1150
  const legacyInputSchema = {
@@ -3,26 +3,28 @@ import {
3
3
  initSlackApp,
4
4
  startSlackApp,
5
5
  stopSlackApp
6
- } from "./cli-wgjx0q33.js";
6
+ } from "./cli-phfg8vy8.js";
7
7
  import"./cli-q51yprfq.js";
8
8
  import"./cli-3er6gcsn.js";
9
9
  import"./cli-2658f6at.js";
10
10
  import"./cli-yatxqynm.js";
11
- import"./cli-g9df2m37.js";
12
- import"./cli-e4xnc0qp.js";
13
- import"./cli-ardpzhjm.js";
11
+ import"./cli-1cz0c18q.js";
12
+ import"./cli-3qhyh31j.js";
13
+ import"./cli-akfj32vj.js";
14
+ import"./cli-yrg7c73k.js";
15
+ import"./cli-ptr8h7kp.js";
16
+ import"./cli-xk79303e.js";
14
17
  import"./cli-n7h1kqpf.js";
15
- import"./cli-rgjprct3.js";
18
+ import"./cli-ywybs5as.js";
16
19
  import"./cli-dv6cdjs2.js";
17
- import"./cli-cqt19wg6.js";
18
- import"./cli-19jenss3.js";
19
- import"./cli-de1396j2.js";
20
+ import"./cli-1a2j50m0.js";
21
+ import"./cli-f9w1semm.js";
20
22
  import"./cli-ej6gbxfb.js";
21
- import"./cli-7zttzetj.js";
23
+ import"./cli-jyy6pm2f.js";
22
24
  import"./cli-sd0mxa3c.js";
23
25
  import"./cli-w5e1d1vv.js";
24
- import"./cli-48527fpw.js";
25
- import"./cli-r2ap2czm.js";
26
+ import"./cli-a8c82p2t.js";
27
+ import"./cli-nexqx4ve.js";
26
28
  import"./cli-bd957dgb.js";
27
29
  import"./cli-pzxba7gw.js";
28
30
  import"./cli-zf8jjwex.js";
@@ -2,50 +2,51 @@ import {
2
2
  bufferThreadMessage,
3
3
  getBufferMessageCount,
4
4
  wasEventSeen
5
- } from "./cli-eg7cdg68.js";
5
+ } from "./cli-9m03pzga.js";
6
6
  import {
7
7
  resolveSlackUserId,
8
8
  rewriteSlackMentions
9
- } from "./cli-mg24hkt4.js";
9
+ } from "./cli-5p3x4zna.js";
10
10
  import {
11
11
  buildEffectiveText,
12
12
  createSlackTaskWithFiles,
13
13
  fetchSlackFiles,
14
14
  hasOtherUserMention,
15
15
  notifySlackFileFailures
16
- } from "./cli-79aq9cgb.js";
17
- import"./cli-0z2v4nhw.js";
18
- import"./cli-cpvsaqsw.js";
16
+ } from "./cli-0383bp7f.js";
17
+ import"./cli-cat6h73s.js";
18
+ import"./cli-w0bwte75.js";
19
19
  import"./cli-re8z5p8p.js";
20
- import"./cli-jsp14b6c.js";
21
- import"./cli-z9x0sh1t.js";
22
- import"./cli-9yg65c1j.js";
23
- import"./cli-cygyqj3b.js";
24
- import"./cli-m4excttz.js";
25
- import"./cli-0n2e4x49.js";
26
- import"./cli-fjtp3463.js";
20
+ import"./cli-3zc55ctx.js";
21
+ import"./cli-1er0rhz8.js";
27
22
  import"./cli-epan13p1.js";
28
23
  import"./cli-y89t4nca.js";
29
24
  import"./cli-f14fvzag.js";
30
- import"./cli-rfezr056.js";
31
- import"./cli-vhjwh6cz.js";
25
+ import"./cli-sqm3r5ps.js";
26
+ import"./cli-yy6dew39.js";
32
27
  import"./cli-3dpj7atn.js";
33
- import"./cli-gzyh0j0g.js";
28
+ import"./cli-2x0e561b.js";
29
+ import"./cli-ee8bc46j.js";
34
30
  import"./cli-rb9m6rpe.js";
35
- import"./cli-rykfmgwg.js";
36
- import"./cli-vwbbaecp.js";
37
- import"./cli-qv4jv8bx.js";
31
+ import"./cli-jsp14b6c.js";
32
+ import"./cli-7119ja3w.js";
33
+ import"./cli-hgmnf38m.js";
34
+ import"./cli-we0q7t0e.js";
35
+ import"./cli-tsk3nz8a.js";
36
+ import"./cli-ecfxwnyb.js";
38
37
  import"./cli-fad8m16k.js";
39
- import"./cli-kc3dp84d.js";
40
- import"./cli-10ym38qc.js";
38
+ import"./cli-d56tgd45.js";
39
+ import"./cli-hn04t9db.js";
41
40
  import"./cli-bsakbbkm.js";
41
+ import"./cli-trc24wk2.js";
42
42
  import"./cli-51tf7ac3.js";
43
43
  import {
44
44
  ackSlackMessage,
45
45
  ensureSlackThreadTree,
46
46
  isSlackRenderV2Enabled,
47
+ markSlackSessionProcessing,
47
48
  require_dist
48
- } from "./cli-wgjx0q33.js";
49
+ } from "./cli-phfg8vy8.js";
49
50
  import"./cli-q51yprfq.js";
50
51
  import"./cli-3er6gcsn.js";
51
52
  import"./cli-2658f6at.js";
@@ -58,27 +59,29 @@ import {
58
59
  init_db,
59
60
  reactionName,
60
61
  slackContextKey
61
- } from "./cli-g9df2m37.js";
62
- import"./cli-e4xnc0qp.js";
63
- import"./cli-ardpzhjm.js";
64
- import"./cli-n7h1kqpf.js";
62
+ } from "./cli-1cz0c18q.js";
63
+ import"./cli-3qhyh31j.js";
64
+ import"./cli-akfj32vj.js";
65
+ import"./cli-yrg7c73k.js";
65
66
  import {
66
67
  init_resolver,
67
68
  resolveTemplate
68
- } from "./cli-rgjprct3.js";
69
+ } from "./cli-ptr8h7kp.js";
70
+ import"./cli-xk79303e.js";
71
+ import"./cli-n7h1kqpf.js";
72
+ import"./cli-ywybs5as.js";
69
73
  import"./cli-dv6cdjs2.js";
70
- import"./cli-cqt19wg6.js";
71
- import"./cli-19jenss3.js";
72
- import"./cli-de1396j2.js";
74
+ import"./cli-1a2j50m0.js";
75
+ import"./cli-f9w1semm.js";
73
76
  import {
74
77
  init_env_flag,
75
78
  isEnvFlagEnabled
76
79
  } from "./cli-ej6gbxfb.js";
77
- import"./cli-7zttzetj.js";
80
+ import"./cli-jyy6pm2f.js";
78
81
  import"./cli-sd0mxa3c.js";
79
82
  import"./cli-w5e1d1vv.js";
80
- import"./cli-48527fpw.js";
81
- import"./cli-r2ap2czm.js";
83
+ import"./cli-a8c82p2t.js";
84
+ import"./cli-nexqx4ve.js";
82
85
  import"./cli-13hw4z91.js";
83
86
  import"./cli-btbzvq95.js";
84
87
  import"./cli-1m2e086m.js";
@@ -132,7 +135,11 @@ function createAssistant() {
132
135
  console.log(`[Slack] dropping Slack retry: event_id=${eventId}`);
133
136
  return;
134
137
  }
138
+ let statusThread;
135
139
  const safeSetStatus = async (status) => {
140
+ if (statusThread && isSlackRenderV2Enabled() && await markSlackSessionProcessing({ ...statusThread, client })) {
141
+ return;
142
+ }
136
143
  try {
137
144
  await setStatus(status);
138
145
  } catch (error) {
@@ -152,6 +159,7 @@ function createAssistant() {
152
159
  const msg = message;
153
160
  const threadTs = msg.thread_ts || message.ts;
154
161
  const channelId = message.channel;
162
+ statusThread = { channelId, threadTs };
155
163
  const messageText = msg.text || "";
156
164
  const files = msg.files;
157
165
  const userId = msg.user || "";
@@ -2,7 +2,7 @@ import {
2
2
  convertResponsesMessages,
3
3
  convertResponsesTools,
4
4
  processResponsesStream
5
- } from "./cli-bgv70kym.js";
5
+ } from "./cli-zb6xbk61.js";
6
6
  import {
7
7
  clampOpenAIPromptCacheKey
8
8
  } from "./cli-mrptpp86.js";
@@ -15,7 +15,7 @@ import {
15
15
  } from "./cli-et1bbwqf.js";
16
16
  import {
17
17
  retryProviderRequest
18
- } from "./cli-s8s499xy.js";
18
+ } from "./cli-qbksc292.js";
19
19
  import {
20
20
  formatProviderError,
21
21
  normalizeProviderError
@@ -23,7 +23,7 @@ import {
23
23
  import {
24
24
  buildBaseOptions,
25
25
  createGrammarToolInputProperties
26
- } from "./cli-31nkw3g3.js";
26
+ } from "./cli-ybgv4kw2.js";
27
27
  import"./cli-y2apkfe2.js";
28
28
  import {
29
29
  headersToRecord
@@ -3,27 +3,29 @@ import {
3
3
  getEmbeddingProvider,
4
4
  getMemoryStore,
5
5
  init_constants
6
- } from "./cli-kc3dp84d.js";
7
- import"./cli-10ym38qc.js";
6
+ } from "./cli-d56tgd45.js";
7
+ import"./cli-hn04t9db.js";
8
8
  import"./cli-2658f6at.js";
9
9
  import {
10
10
  getDbClient,
11
11
  init_db
12
- } from "./cli-g9df2m37.js";
13
- import"./cli-e4xnc0qp.js";
14
- import"./cli-ardpzhjm.js";
12
+ } from "./cli-1cz0c18q.js";
13
+ import"./cli-3qhyh31j.js";
14
+ import"./cli-akfj32vj.js";
15
+ import"./cli-yrg7c73k.js";
16
+ import"./cli-ptr8h7kp.js";
17
+ import"./cli-xk79303e.js";
15
18
  import"./cli-n7h1kqpf.js";
16
- import"./cli-rgjprct3.js";
19
+ import"./cli-ywybs5as.js";
17
20
  import"./cli-dv6cdjs2.js";
18
- import"./cli-cqt19wg6.js";
19
- import"./cli-19jenss3.js";
20
- import"./cli-de1396j2.js";
21
+ import"./cli-1a2j50m0.js";
22
+ import"./cli-f9w1semm.js";
21
23
  import"./cli-ej6gbxfb.js";
22
- import"./cli-7zttzetj.js";
24
+ import"./cli-jyy6pm2f.js";
23
25
  import"./cli-sd0mxa3c.js";
24
26
  import"./cli-w5e1d1vv.js";
25
- import"./cli-48527fpw.js";
26
- import"./cli-r2ap2czm.js";
27
+ import"./cli-a8c82p2t.js";
28
+ import"./cli-nexqx4ve.js";
27
29
  import"./cli-zf8jjwex.js";
28
30
  import"./cli-bc05qbss.js";
29
31
 
@@ -1,28 +1,30 @@
1
1
  import {
2
2
  embedScript,
3
3
  embeddingProvider
4
- } from "./cli-vwbbaecp.js";
5
- import"./cli-kc3dp84d.js";
6
- import"./cli-10ym38qc.js";
4
+ } from "./cli-7119ja3w.js";
5
+ import"./cli-d56tgd45.js";
6
+ import"./cli-hn04t9db.js";
7
7
  import"./cli-2658f6at.js";
8
8
  import {
9
9
  getDbClient,
10
10
  init_db
11
- } from "./cli-g9df2m37.js";
12
- import"./cli-e4xnc0qp.js";
13
- import"./cli-ardpzhjm.js";
11
+ } from "./cli-1cz0c18q.js";
12
+ import"./cli-3qhyh31j.js";
13
+ import"./cli-akfj32vj.js";
14
+ import"./cli-yrg7c73k.js";
15
+ import"./cli-ptr8h7kp.js";
16
+ import"./cli-xk79303e.js";
14
17
  import"./cli-n7h1kqpf.js";
15
- import"./cli-rgjprct3.js";
18
+ import"./cli-ywybs5as.js";
16
19
  import"./cli-dv6cdjs2.js";
17
- import"./cli-cqt19wg6.js";
18
- import"./cli-19jenss3.js";
19
- import"./cli-de1396j2.js";
20
+ import"./cli-1a2j50m0.js";
21
+ import"./cli-f9w1semm.js";
20
22
  import"./cli-ej6gbxfb.js";
21
- import"./cli-7zttzetj.js";
23
+ import"./cli-jyy6pm2f.js";
22
24
  import"./cli-sd0mxa3c.js";
23
25
  import"./cli-w5e1d1vv.js";
24
- import"./cli-48527fpw.js";
25
- import"./cli-r2ap2czm.js";
26
+ import"./cli-a8c82p2t.js";
27
+ import"./cli-nexqx4ve.js";
26
28
  import"./cli-zf8jjwex.js";
27
29
  import"./cli-bc05qbss.js";
28
30
 
@@ -1,24 +1,26 @@
1
1
  import {
2
2
  getDbClient,
3
3
  init_db
4
- } from "./cli-g9df2m37.js";
5
- import"./cli-e4xnc0qp.js";
6
- import"./cli-ardpzhjm.js";
4
+ } from "./cli-1cz0c18q.js";
5
+ import"./cli-3qhyh31j.js";
6
+ import"./cli-akfj32vj.js";
7
+ import"./cli-yrg7c73k.js";
8
+ import"./cli-ptr8h7kp.js";
9
+ import"./cli-xk79303e.js";
7
10
  import"./cli-n7h1kqpf.js";
8
- import"./cli-rgjprct3.js";
11
+ import"./cli-ywybs5as.js";
9
12
  import"./cli-dv6cdjs2.js";
10
- import"./cli-cqt19wg6.js";
11
- import"./cli-19jenss3.js";
12
- import"./cli-de1396j2.js";
13
+ import"./cli-1a2j50m0.js";
14
+ import"./cli-f9w1semm.js";
13
15
  import"./cli-ej6gbxfb.js";
14
- import"./cli-7zttzetj.js";
16
+ import"./cli-jyy6pm2f.js";
15
17
  import"./cli-sd0mxa3c.js";
16
18
  import"./cli-w5e1d1vv.js";
17
- import"./cli-48527fpw.js";
19
+ import"./cli-a8c82p2t.js";
18
20
  import {
19
21
  init_secret_scrubber,
20
22
  scrubSecrets
21
- } from "./cli-r2ap2czm.js";
23
+ } from "./cli-nexqx4ve.js";
22
24
  import"./cli-zf8jjwex.js";
23
25
  import"./cli-bc05qbss.js";
24
26
 
@@ -0,0 +1,29 @@
1
+ import {
2
+ ensurePricingSeeded,
3
+ ensureRbacSeeded
4
+ } from "./cli-we0q7t0e.js";
5
+ import"./cli-tsk3nz8a.js";
6
+ import"./cli-ecfxwnyb.js";
7
+ import"./cli-1cz0c18q.js";
8
+ import"./cli-3qhyh31j.js";
9
+ import"./cli-akfj32vj.js";
10
+ import"./cli-yrg7c73k.js";
11
+ import"./cli-ptr8h7kp.js";
12
+ import"./cli-xk79303e.js";
13
+ import"./cli-n7h1kqpf.js";
14
+ import"./cli-ywybs5as.js";
15
+ import"./cli-dv6cdjs2.js";
16
+ import"./cli-1a2j50m0.js";
17
+ import"./cli-f9w1semm.js";
18
+ import"./cli-ej6gbxfb.js";
19
+ import"./cli-jyy6pm2f.js";
20
+ import"./cli-sd0mxa3c.js";
21
+ import"./cli-w5e1d1vv.js";
22
+ import"./cli-a8c82p2t.js";
23
+ import"./cli-nexqx4ve.js";
24
+ import"./cli-zf8jjwex.js";
25
+ import"./cli-bc05qbss.js";
26
+ export {
27
+ ensurePricingSeeded,
28
+ ensureRbacSeeded
29
+ };
@@ -15,47 +15,51 @@ import {
15
15
  resolveClaudeBinary,
16
16
  resolveClaudeBinaryArgv,
17
17
  resolveClaudeBridgeEnabled,
18
+ resolveClaudePrompt,
18
19
  resolveClaudeQueueSteeringOverride,
19
- runClaudeSessionSummary
20
- } from "./cli-4tvgz99m.js";
21
- import"./cli-b6thtzac.js";
22
- import"./cli-qjxy52w7.js";
23
- import"./cli-q2j38vre.js";
24
- import"./cli-5f2hq128.js";
25
- import"./cli-hp1n6zq3.js";
20
+ runClaudeSessionSummary,
21
+ withClaudeRouteEnv
22
+ } from "./cli-ze1d3wzv.js";
23
+ import"./cli-8g6mc14k.js";
24
+ import"./cli-121ph74b.js";
26
25
  import"./cli-tng3131n.js";
26
+ import"./cli-q2j38vre.js";
27
27
  import"./cli-zm7njwzd.js";
28
- import"./cli-wd9hz40d.js";
28
+ import"./cli-wgbezhw2.js";
29
+ import"./cli-tre4bdgq.js";
30
+ import"./cli-ad4qxm6j.js";
31
+ import"./cli-hp1n6zq3.js";
29
32
  import"./cli-eree7rnv.js";
30
- import"./cli-npssxgaz.js";
31
- import"./cli-ca2w7zv7.js";
32
- import"./cli-cpvsaqsw.js";
33
+ import"./cli-2pdaysab.js";
34
+ import"./cli-2hhfhfq5.js";
35
+ import"./cli-w0bwte75.js";
33
36
  import"./cli-re8z5p8p.js";
34
- import"./cli-m4excttz.js";
35
37
  import"./cli-y89t4nca.js";
36
38
  import"./cli-f14fvzag.js";
37
- import"./cli-rfezr056.js";
38
- import"./cli-vhjwh6cz.js";
39
+ import"./cli-sqm3r5ps.js";
40
+ import"./cli-yy6dew39.js";
39
41
  import"./cli-3dpj7atn.js";
40
- import"./cli-gzyh0j0g.js";
42
+ import"./cli-2x0e561b.js";
43
+ import"./cli-ee8bc46j.js";
41
44
  import"./cli-rb9m6rpe.js";
42
- import"./cli-rykfmgwg.js";
43
- import"./cli-10ym38qc.js";
45
+ import"./cli-hn04t9db.js";
44
46
  import"./cli-bsakbbkm.js";
47
+ import"./cli-trc24wk2.js";
45
48
  import"./cli-2658f6at.js";
46
- import"./cli-ardpzhjm.js";
49
+ import"./cli-yrg7c73k.js";
50
+ import"./cli-ptr8h7kp.js";
51
+ import"./cli-xk79303e.js";
47
52
  import"./cli-n7h1kqpf.js";
48
- import"./cli-rgjprct3.js";
53
+ import"./cli-ywybs5as.js";
49
54
  import"./cli-dv6cdjs2.js";
50
- import"./cli-cqt19wg6.js";
51
- import"./cli-19jenss3.js";
52
- import"./cli-de1396j2.js";
55
+ import"./cli-1a2j50m0.js";
56
+ import"./cli-f9w1semm.js";
53
57
  import"./cli-ej6gbxfb.js";
54
- import"./cli-7zttzetj.js";
58
+ import"./cli-jyy6pm2f.js";
55
59
  import"./cli-sd0mxa3c.js";
56
60
  import"./cli-w5e1d1vv.js";
57
- import"./cli-48527fpw.js";
58
- import"./cli-r2ap2czm.js";
61
+ import"./cli-a8c82p2t.js";
62
+ import"./cli-nexqx4ve.js";
59
63
  import"./cli-13hw4z91.js";
60
64
  import"./cli-btbzvq95.js";
61
65
  import"./cli-1m2e086m.js";
@@ -80,6 +84,8 @@ export {
80
84
  resolveClaudeBinary,
81
85
  resolveClaudeBinaryArgv,
82
86
  resolveClaudeBridgeEnabled,
87
+ resolveClaudePrompt,
83
88
  resolveClaudeQueueSteeringOverride,
84
- runClaudeSessionSummary
89
+ runClaudeSessionSummary,
90
+ withClaudeRouteEnv
85
91
  };
@@ -3,15 +3,15 @@ import {
3
3
  checkClaudeManagedCredentials,
4
4
  composeManagedUserMessage,
5
5
  normalizeRepoUrl
6
- } from "./cli-vn0qv9cj.js";
6
+ } from "./cli-t845n9xk.js";
7
7
  import"./cli-hsxj0yar.js";
8
- import"./cli-2djtr51b.js";
9
- import"./cli-j490egb5.js";
8
+ import"./cli-gt4hxb8p.js";
9
+ import"./cli-tre4bdgq.js";
10
10
  import"./cli-hp1n6zq3.js";
11
- import"./cli-wd9hz40d.js";
12
- import"./cli-m4excttz.js";
13
- import"./cli-7zttzetj.js";
14
- import"./cli-r2ap2czm.js";
11
+ import"./cli-ma3zvh39.js";
12
+ import"./cli-51tf7ac3.js";
13
+ import"./cli-jyy6pm2f.js";
14
+ import"./cli-nexqx4ve.js";
15
15
  import"./cli-bc05qbss.js";
16
16
  export {
17
17
  ClaudeManagedAdapter,