@desplega.ai/agent-swarm 2.7.4 → 2.7.5

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 (253) hide show
  1. package/README.md +1 -1
  2. package/dist/acp-adapter-g3ads55s.js +15 -0
  3. package/dist/{actions-gfrr9vb7.js → actions-zwfykqqk.js} +18 -18
  4. package/dist/{amp-adapter-0s58gm46.js → amp-adapter-z3s0ssdt.js} +3 -3
  5. package/dist/{app-stvq692g.js → app-vmp4fgep.js} +3 -3
  6. package/dist/{assistant-5s37fr9n.js → assistant-vwde653f.js} +28 -21
  7. package/dist/{boot-reembed-yzy1841n.js → boot-reembed-375t7tbk.js} +1 -1
  8. package/dist/{boot-reembed-cv82gz7y.js → boot-reembed-gq9rcpnj.js} +1 -1
  9. package/dist/{boot-scrub-sweep-8k4q95ap.js → boot-scrub-sweep-nd938kyf.js} +4 -4
  10. package/dist/{boot-seeds-ftt9htah.js → boot-seeds-aykx51v3.js} +4 -4
  11. package/dist/{boxd-515v1t8z.js → boxd-k1j26g3h.js} +1 -1
  12. package/dist/{claude-adapter-t00wrzeh.js → claude-adapter-8j4hm099.js} +7 -7
  13. package/dist/{claude-managed-adapter-g6vmjccb.js → claude-managed-adapter-dvs2xw5n.js} +2 -2
  14. package/dist/{claude-managed-setup-afpa82f7.js → claude-managed-setup-0wyynpn1.js} +3 -3
  15. package/dist/{claude-sdk-session-vj0c2azx.js → claude-sdk-session-q6wj5hmy.js} +9 -9
  16. package/dist/{cli-wndv9p7g.js → cli-0731hvbw.js} +6 -6
  17. package/dist/{cli-d2pzqej1.js → cli-0bxqnvq9.js} +719 -7
  18. package/dist/{cli-jkt52mgt.js → cli-0gey5fzy.js} +2 -2
  19. package/dist/{cli-1yekbyqm.js → cli-1338796d.js} +205 -48
  20. package/dist/{cli-1s1dqn1j.js → cli-1ayk1eas.js} +171 -123
  21. package/dist/{cli-a4btqqft.js → cli-1b7btd38.js} +1 -1
  22. package/dist/{cli-a2jw6ee5.js → cli-1p89xny0.js} +1 -1
  23. package/dist/{cli-v726afdm.js → cli-2pnswgh8.js} +1 -1
  24. package/dist/{cli-kvtc7aez.js → cli-3h4nhjn8.js} +42 -14
  25. package/dist/{cli-655xm9ms.js → cli-583frbyr.js} +1 -1
  26. package/dist/{cli-4r12t6w6.js → cli-5c4hjzne.js} +101 -4
  27. package/dist/{cli-az0bpf8p.js → cli-5pag6rmn.js} +3 -3
  28. package/dist/{cli-36g23z21.js → cli-6s7vdcta.js} +4 -4
  29. package/dist/{cli-rtk9g7av.js → cli-73jzwksr.js} +6 -2
  30. package/dist/{cli-jg0nfda6.js → cli-75gkpjvw.js} +52 -21
  31. package/dist/{cli-a81qevyg.js → cli-7a42nfy0.js} +20 -36
  32. package/dist/{cli-0sbkss7h.js → cli-7wcyk2s5.js} +2 -2
  33. package/dist/{cli-41z8xwj0.js → cli-7wspm5gm.js} +14 -4
  34. package/dist/{cli-byqfbnjw.js → cli-82ae98pz.js} +9 -9
  35. package/dist/{cli-bq2pcphn.js → cli-8hs41zy2.js} +1 -1
  36. package/dist/{cli-vqgnyh76.js → cli-98rw5dt5.js} +15 -3
  37. package/dist/{cli-9cctx1tn.js → cli-a22h291q.js} +1 -1
  38. package/dist/{cli-j4kt1mpb.js → cli-a47xy8eq.js} +3 -3
  39. package/dist/{cli-ycm6180s.js → cli-a7v854rf.js} +5 -3
  40. package/dist/{cli-98pke4vk.js → cli-ae7mrdf9.js} +2 -2
  41. package/dist/{cli-ahd90bwt.js → cli-afrrppsw.js} +6 -6
  42. package/dist/{cli-8yy525ad.js → cli-bhjt02p8.js} +2 -2
  43. package/dist/{cli-v1yw3wha.js → cli-bnz7a7qf.js} +4 -4
  44. package/dist/{cli-j4kw3rsx.js → cli-cm5yqn35.js} +18 -0
  45. package/dist/{cli-h55y2bjc.js → cli-dhar9qay.js} +2 -2
  46. package/dist/{cli-5gr1g711.js → cli-fqzx7gwa.js} +2 -2
  47. package/dist/{cli-tzrpv5sc.js → cli-ftyxyspd.js} +1 -1
  48. package/dist/cli-fw2w0kva.js +47 -0
  49. package/dist/{cli-2dfbv8qr.js → cli-fy6x31ps.js} +1 -0
  50. package/dist/{cli-mvckssyq.js → cli-g61qxmge.js} +5 -5
  51. package/dist/{cli-aq58fk5m.js → cli-g83s9ewh.js} +7 -1
  52. package/dist/{cli-224epwwf.js → cli-hn9hxmz9.js} +3 -3
  53. package/dist/{cli-5hjced2v.js → cli-j3jvnpe8.js} +6 -6
  54. package/dist/{cli-dae4sbgy.js → cli-jm2vfpfd.js} +2 -2
  55. package/dist/{cli-zn15c46z.js → cli-mjzynrse.js} +1 -1
  56. package/dist/{cli-a1fhj4n9.js → cli-mmwm7zbf.js} +2 -2
  57. package/dist/{cli-cq1pf336.js → cli-mry0qzym.js} +5 -5
  58. package/dist/{cli-bwty35gx.js → cli-mthwvjre.js} +1 -1
  59. package/dist/{cli-s0exq74r.js → cli-nmbmy64z.js} +3 -3
  60. package/dist/{cli-wcmnan2g.js → cli-nn4d8dne.js} +5 -5
  61. package/dist/{cli-jg4p5t36.js → cli-nzxr556s.js} +121 -51
  62. package/dist/{cli-bcz074zx.js → cli-p599f1qm.js} +1 -1
  63. package/dist/{cli-k76tgq03.js → cli-pywf3eh5.js} +2 -2
  64. package/dist/{cli-wk9md5px.js → cli-qxnf8z2z.js} +2 -2
  65. package/dist/{cli-je8yeyc5.js → cli-rhw40jgb.js} +5 -5
  66. package/dist/{cli-avgcz4ra.js → cli-rm6hqj3z.js} +406 -35
  67. package/dist/{cli-0fgr1w9b.js → cli-rpm2sgv0.js} +2 -2
  68. package/dist/{cli-t282jgab.js → cli-rqkxrmgw.js} +12 -12
  69. package/dist/{cli-2qpvmmkw.js → cli-s0qnd4wv.js} +1 -1
  70. package/dist/{cli-pwyevs29.js → cli-spknvxbq.js} +22 -21
  71. package/dist/{cli-9y354g3j.js → cli-srye3vdt.js} +1 -1
  72. package/dist/{cli-pe09p6dv.js → cli-tqgg40ek.js} +1 -1
  73. package/dist/{cli-f255yaqn.js → cli-vbyfwh92.js} +3 -3
  74. package/dist/{cli-gcbdjt47.js → cli-vfym7wmz.js} +6 -6
  75. package/dist/{cli-edmm9d9y.js → cli-vqypxzh4.js} +7 -7
  76. package/dist/{cli-1gm8jcyr.js → cli-wvaawacd.js} +13 -13
  77. package/dist/{cli-eny54typ.js → cli-wx3rhnm0.js} +1 -1
  78. package/dist/{cli-b1afgtj3.js → cli-xbkdm710.js} +3 -3
  79. package/dist/{cli-mc97xy2s.js → cli-xtjhfmpc.js} +16 -4
  80. package/dist/{cli-eqx6k993.js → cli-y24sc29k.js} +25 -13
  81. package/dist/{cli-ktmvb20s.js → cli-z6jkx23q.js} +12 -12
  82. package/dist/{cli-7n5sbw0z.js → cli-z8eh3ex8.js} +5 -5
  83. package/dist/cli-zh3fp8v2.js +151 -0
  84. package/dist/{cli-13jvmew3.js → cli-zppwg9p9.js} +7 -7
  85. package/dist/cli.js +18 -18
  86. package/dist/{codex-adapter-g0gctw29.js → codex-adapter-q6k3gnyg.js} +5 -5
  87. package/dist/{codex-hook-vrzz2xhr.js → codex-hook-9efm2x1m.js} +1 -1
  88. package/dist/{codex-login-0gg46ygn.js → codex-login-y0pmff1c.js} +1 -1
  89. package/dist/{codex-session-runner-dr2cxe1c.js → codex-session-runner-3mwmk3d9.js} +6 -6
  90. package/dist/{commands-1p07cvff.js → commands-evrenjn9.js} +2 -2
  91. package/dist/{controller-z0s7sv6r.js → controller-xjp8vswh.js} +4 -4
  92. package/dist/{controllers-connect-x9kvvhyk.js → controllers-connect-pp5jnxvc.js} +20 -20
  93. package/dist/{cursor-adapter-m5b98pvk.js → cursor-adapter-yf47w4t0.js} +2 -2
  94. package/dist/{db-rsh04kh3.js → db-rgfsh91f.js} +2 -2
  95. package/dist/{db-capk2raj.js → db-zxpw6aht.js} +3 -3
  96. package/dist/{devin-adapter-yxm87fe9.js → devin-adapter-r9phbnc9.js} +1 -1
  97. package/dist/{dispatcher-304q6fwa.js → dispatcher-smasgws7.js} +17 -17
  98. package/dist/{docker-7rxt0rry.js → docker-rrjhaqt9.js} +2 -2
  99. package/dist/{dsh-adapter-btewem0y.js → dsh-adapter-ftyy8dnp.js} +2 -2
  100. package/dist/{e2b-renc0k8q.js → e2b-qcaj675y.js} +2 -2
  101. package/dist/{e2b-7fc9b9bd.js → e2b-w1p0bnpm.js} +2 -2
  102. package/dist/{easter-egg-3d-fm1p3n4d.js → easter-egg-3d-yyts7p16.js} +1 -1
  103. package/dist/{embedding-space-s68v49ct.js → embedding-space-1z0mbg95.js} +6 -6
  104. package/dist/{embeddings-4ms3604w.js → embeddings-ygeg7tm7.js} +1 -1
  105. package/dist/{event-bus-dfjx2qdh.js → event-bus-g0ka3pbw.js} +1 -1
  106. package/dist/{execute-mcdgccjs.js → execute-14qhqp4d.js} +1 -1
  107. package/dist/{external-channel-9dxwfztn.js → external-channel-ttgrs3sx.js} +2 -2
  108. package/dist/fx-adapter-gt6pncj2.js +18 -0
  109. package/dist/{grok-adapter-05ecv4h0.js → grok-adapter-sm4m5k4g.js} +8 -8
  110. package/dist/handlers-vwmba1m2.js +31 -0
  111. package/dist/{heartbeat-3n94heh3.js → heartbeat-qahz4p62.js} +20 -20
  112. package/dist/{hook-zxwje86c.js → hook-4fd5wq5w.js} +4 -4
  113. package/dist/{hook-aadrn69x.js → hook-kj3d398m.js} +6 -6
  114. package/dist/{http-xzxk9mst.js → http-1ted0j1k.js} +100 -64
  115. package/dist/index-5r71rf98.js +32 -0
  116. package/dist/{index-d34f6r87.js → index-6rq3r5zb.js} +1 -1
  117. package/dist/{index-9j4zwcht.js → index-7v51awbn.js} +158 -672
  118. package/dist/index-anmwxs87.js +29 -0
  119. package/dist/{index-qeb82z37.js → index-q4b917zs.js} +1 -1
  120. package/dist/index-spp0ra5c.js +36 -0
  121. package/dist/{keepalive-w4aakbyk.js → keepalive-6cf311t5.js} +4 -4
  122. package/dist/lead-fjy418cw.js +69 -0
  123. package/dist/{maintenance-hbptpk6p.js → maintenance-a4bm1bmt.js} +1 -1
  124. package/dist/{oauth-refresh-sweep-217semrv.js → oauth-refresh-sweep-3h0dfw1k.js} +3 -3
  125. package/dist/{onboard-vz2s5df3.js → onboard-myn5hraa.js} +3 -3
  126. package/dist/{opencode-adapter-gtfd7d7v.js → opencode-adapter-p2nkb5am.js} +5 -5
  127. package/dist/{otel-impl-aefave37.js → otel-impl-a1a0ef6b.js} +2 -2
  128. package/dist/{pi-mono-adapter-f8h5yseh.js → pi-mono-adapter-rzmpb72a.js} +117 -23
  129. package/dist/{pricing-refresh-m1yhh9ya.js → pricing-refresh-83drrnxj.js} +3 -3
  130. package/dist/{rbac-roles-svj72cdf.js → rbac-roles-0fb6e7pj.js} +2 -2
  131. package/dist/{rbac-roles-rrw8twdz.js → rbac-roles-s8y6ecb5.js} +1 -1
  132. package/dist/{render-v2-amwbnfxh.js → render-v2-twmbgrz4.js} +3 -3
  133. package/dist/{resume-9cd6wf6z.js → resume-zfqc36xj.js} +7 -7
  134. package/dist/{runtime-fp4vrx7m.js → runtime-qwggdpqr.js} +1 -1
  135. package/dist/{session-access-21t6yjyg.js → session-access-sc9pn9da.js} +4 -4
  136. package/dist/{session-source-backfill-pxbzcsc6.js → session-source-backfill-qh07xr8g.js} +3 -3
  137. package/dist/{setup-4592tqz4.js → setup-4fr0m7a1.js} +1 -1
  138. package/dist/{virtual-modules-gzfnpmnz.js → virtual-modules-fh4ha15b.js} +2 -2
  139. package/dist/{work-objects-t9tcf174.js → work-objects-0wr8zxct.js} +20 -20
  140. package/dist/worker-0c5tyzqe.js +69 -0
  141. package/dist/{worker-follow-up-q32jh4yk.js → worker-follow-up-ktyyazyp.js} +17 -17
  142. package/dist/{x-b6wxntdt.js → x-vmmye1kb.js} +2 -2
  143. package/openapi.json +97 -32
  144. package/package.json +1 -1
  145. package/src/be/db/session-summaries.ts +8 -2
  146. package/src/be/db/session-tree.ts +174 -61
  147. package/src/be/db/session-visibility.ts +5 -4
  148. package/src/be/db.ts +8 -4
  149. package/src/be/migrations/259_session_summaries_open_tasks.sql +111 -0
  150. package/src/be/model-validation.ts +5 -1
  151. package/src/be/pricing-normalize.ts +7 -2
  152. package/src/be/scripts/typecheck.ts +1 -0
  153. package/src/be/seed/schedules-seeder.ts +135 -9
  154. package/src/be/seed/workflows-seeder.ts +65 -1
  155. package/src/be/seed-pricing.ts +23 -0
  156. package/src/be/steering.ts +50 -3
  157. package/src/be/swarm-config-guard.ts +1 -0
  158. package/src/commands/provider-credentials.ts +29 -2
  159. package/src/commands/runner.ts +86 -5
  160. package/src/extensions/contract-types.generated.ts +1 -1
  161. package/src/extensions/contract.ts +27 -1
  162. package/src/extensions/dispatcher.ts +4 -0
  163. package/src/http/agents.ts +1 -0
  164. package/src/http/mcp-bridge.ts +4 -0
  165. package/src/integrations/chat-sdk/inbound.ts +15 -5
  166. package/src/integrations/chat-sdk/steering.ts +3 -1
  167. package/src/kv-reserved-namespaces.ts +2 -0
  168. package/src/prompts/base-prompt.ts +4 -1
  169. package/src/prompts/session-templates.ts +26 -0
  170. package/src/providers/acp-adapter.ts +190 -26
  171. package/src/providers/acp-targets.ts +306 -6
  172. package/src/providers/amp-adapter.ts +1 -1
  173. package/src/providers/codex-adapter.ts +9 -44
  174. package/src/providers/codex-oauth/flow.ts +24 -3
  175. package/src/providers/codex-oauth/storage.ts +56 -17
  176. package/src/providers/codex-oauth/subscription.ts +67 -0
  177. package/src/providers/fx-adapter.ts +211 -0
  178. package/src/providers/index.ts +5 -1
  179. package/src/providers/mcp-loopback-proxy.ts +94 -0
  180. package/src/providers/pi-mono-adapter.ts +98 -13
  181. package/src/providers/pricing-sources.md +8 -0
  182. package/src/providers/reasoning-effort.ts +17 -1
  183. package/src/providers/types.ts +2 -1
  184. package/src/scheduler/scheduler.ts +36 -3
  185. package/src/scripts-runtime/sdk-allowlist.ts +1 -0
  186. package/src/scripts-runtime/types/stdlib.d.ts +5 -0
  187. package/src/scripts-runtime/types/swarm-extension.d.ts +33 -0
  188. package/src/scripts-runtime/types/swarm-sdk.d.ts +5 -0
  189. package/src/server.ts +7 -0
  190. package/src/slack/assistant.ts +17 -1
  191. package/src/slack/handlers.ts +18 -5
  192. package/src/slack/left-threads.ts +65 -0
  193. package/src/slack/steering.ts +3 -0
  194. package/src/slack/thread-buffer.ts +40 -16
  195. package/src/tests/acp-adapter.test.ts +79 -0
  196. package/src/tests/base-prompt.test.ts +12 -0
  197. package/src/tests/chat-sdk-inbound.test.ts +30 -0
  198. package/src/tests/chatgpt-subscription-model-groups.test.ts +62 -0
  199. package/src/tests/chatgpt-subscription-pi.test.ts +170 -0
  200. package/src/tests/chatgpt-subscription-session-bench.test.ts +198 -0
  201. package/src/tests/codex-oauth-credential-info.test.ts +40 -0
  202. package/src/tests/codex-oauth-refresh-egress.test.ts +194 -0
  203. package/src/tests/context-window.test.ts +7 -0
  204. package/src/tests/explicit-model-validation.test.ts +99 -0
  205. package/src/tests/extensions-run-context.test.ts +11 -0
  206. package/src/tests/extensions-steering.test.ts +353 -0
  207. package/src/tests/extensions-validate.test.ts +5 -0
  208. package/src/tests/fixtures/extensions/steering-policy/hooks.ts +39 -0
  209. package/src/tests/fixtures/extensions/steering-policy/manifest.json +7 -0
  210. package/src/tests/fixtures/fake-fx.ts +167 -0
  211. package/src/tests/fixtures/fx/acp-responses-recorded.json +157 -0
  212. package/src/tests/fixtures/fx/acp-updates-recorded.jsonl +15 -0
  213. package/src/tests/fx-adapter.test.ts +771 -0
  214. package/src/tests/grok-adapter.test.ts +36 -0
  215. package/src/tests/mcp-loopback-proxy.test.ts +193 -0
  216. package/src/tests/model-tier-resolution.test.ts +3 -3
  217. package/src/tests/pricing-refresh.test.ts +5 -5
  218. package/src/tests/prompt-template-session.test.ts +5 -3
  219. package/src/tests/provider-registration.test.ts +2 -1
  220. package/src/tests/query-audit-plans.test.ts +3 -2
  221. package/src/tests/script-connections.test.ts +2 -0
  222. package/src/tests/seed-model-profiles.test.ts +2 -2
  223. package/src/tests/seed-schedules.test.ts +138 -0
  224. package/src/tests/session-cost-recompute-unit.test.ts +39 -0
  225. package/src/tests/session-costs-golden.test.ts +26 -0
  226. package/src/tests/session-summaries-plans.test.ts +120 -0
  227. package/src/tests/session-summaries.test.ts +72 -12
  228. package/src/tests/sessions-tree.test.ts +11 -3
  229. package/src/tests/slack-leave-thread.test.ts +431 -0
  230. package/src/tests/tool-annotations.test.ts +2 -1
  231. package/src/tests/workflow-engine-v2.test.ts +42 -0
  232. package/src/tests/workflow-script-principal.test.ts +207 -7
  233. package/src/tools/slack-leave-thread.ts +104 -0
  234. package/src/tools/steer-task.ts +3 -2
  235. package/src/tools/tool-config.ts +2 -1
  236. package/src/types.ts +19 -0
  237. package/src/utils/codex-auth-failure.ts +30 -0
  238. package/src/utils/context-window.ts +4 -1
  239. package/src/utils/credentials.ts +7 -0
  240. package/src/utils/fx-models.ts +43 -0
  241. package/src/workflows/cooldown.ts +3 -2
  242. package/src/workflows/engine.ts +24 -9
  243. package/templates/schedules/dreaming-daily/config.json +1 -1
  244. package/templates/schedules/dreaming-daily/content.md +6 -14
  245. package/templates/skills/swarm-docs/content.md +1 -0
  246. package/templates/workflows/dreaming/content.md +5 -1
  247. package/dist/acp-adapter-96dc64m2.js +0 -15
  248. package/dist/handlers-jg7v74ty.js +0 -31
  249. package/dist/index-8c1zbz59.js +0 -29
  250. package/dist/index-8k8tmfxd.js +0 -32
  251. package/dist/index-hq617xdj.js +0 -36
  252. package/dist/lead-567kw7x3.js +0 -68
  253. package/dist/worker-fjdqra6q.js +0 -68
package/README.md CHANGED
@@ -22,7 +22,7 @@ agent-swarm.dev is an open-source operating system for AI work. A lead agent del
22
22
  - Workflows, schedules, scripts, and apps for recurring work
23
23
  - [Extensions](https://docs.agent-swarm.dev/docs/guides/extensions) for trusted TypeScript hooks, installed as agent-owned inert drafts and activated by a trusted lead, operator, or dashboard user
24
24
  - [Realtime rooms](./runbooks/realtime-rooms.md) for shared page state, presence, and live channels
25
- - Your choice of harness and models: Claude Code, Codex, pi, opencode, [Cursor](https://docs.agent-swarm.dev/docs/guides/provider-auth/cursor), Amp, [Grok](https://docs.agent-swarm.dev/docs/guides/provider-auth/grok), Devin, or ACP agents
25
+ - Your choice of harness and models: Claude Code, Codex, pi, opencode, [Cursor](https://docs.agent-swarm.dev/docs/guides/provider-auth/cursor), Amp, [Grok](https://docs.agent-swarm.dev/docs/guides/provider-auth/grok), [fx](https://docs.agent-swarm.dev/docs/guides/provider-auth/fx), Devin, or ACP agents
26
26
 
27
27
  ```mermaid
28
28
  flowchart LR
@@ -0,0 +1,15 @@
1
+ import {
2
+ ACPAdapter2
3
+ } from "./cli-rm6hqj3z.js";
4
+ import"./cli-zppwg9p9.js";
5
+ import"./cli-hn9hxmz9.js";
6
+ import"./cli-a22h291q.js";
7
+ import"./cli-4bd1rck6.js";
8
+ import"./cli-jc1g9ndz.js";
9
+ import"./cli-a47xy8eq.js";
10
+ import"./cli-0726awxw.js";
11
+ import"./cli-dhar9qay.js";
12
+ import"./cli-98rw5dt5.js";
13
+ export {
14
+ ACPAdapter2 as ACPAdapter
15
+ };
@@ -6,13 +6,13 @@ import {
6
6
  getTaskById2,
7
7
  cancelTask2,
8
8
  init_db4
9
- } from "./cli-1s1dqn1j.js";
10
- import"./cli-eny54typ.js";
9
+ } from "./cli-1ayk1eas.js";
10
+ import"./cli-wx3rhnm0.js";
11
11
  import {
12
12
  EXTERNAL_CHANNEL_BLOCKED_REPLY2,
13
13
  shouldBlockChannel2,
14
14
  init_external_channel
15
- } from "./cli-a1fhj4n9.js";
15
+ } from "./cli-mmwm7zbf.js";
16
16
  import {
17
17
  noteSlackInboundSideEffect,
18
18
  ignoreSlackInbound,
@@ -26,28 +26,28 @@ import {
26
26
  isSlackRenderV2Enabled2,
27
27
  ensureSlackThreadTree2,
28
28
  init_render_v2
29
- } from "./cli-1gm8jcyr.js";
30
- import"./cli-mvckssyq.js";
29
+ } from "./cli-wvaawacd.js";
30
+ import"./cli-g61qxmge.js";
31
31
  import {
32
32
  createTaskWithSiblingAwareness,
33
33
  init_sibling_awareness
34
- } from "./cli-1yekbyqm.js";
35
- import"./cli-bq2pcphn.js";
36
- import"./cli-36g23z21.js";
37
- import"./cli-wcmnan2g.js";
34
+ } from "./cli-1338796d.js";
35
+ import"./cli-8hs41zy2.js";
36
+ import"./cli-6s7vdcta.js";
37
+ import"./cli-nn4d8dne.js";
38
38
  import"./cli-3xj33nrx.js";
39
- import"./cli-cq1pf336.js";
40
- import"./cli-7n5sbw0z.js";
39
+ import"./cli-mry0qzym.js";
40
+ import"./cli-z8eh3ex8.js";
41
41
  import {
42
42
  resolveSlackUserId,
43
43
  init_enrich
44
- } from "./cli-s0exq74r.js";
45
- import"./cli-mc97xy2s.js";
46
- import"./cli-d2pzqej1.js";
47
- import"./cli-0sbkss7h.js";
48
- import"./cli-pwyevs29.js";
49
- import"./cli-k76tgq03.js";
50
- import"./cli-8yy525ad.js";
44
+ } from "./cli-nmbmy64z.js";
45
+ import"./cli-xtjhfmpc.js";
46
+ import"./cli-0bxqnvq9.js";
47
+ import"./cli-7wcyk2s5.js";
48
+ import"./cli-spknvxbq.js";
49
+ import"./cli-pywf3eh5.js";
50
+ import"./cli-bhjt02p8.js";
51
51
  import {
52
52
  __esm
53
53
  } from "./cli-242037k3.js";
@@ -2,10 +2,10 @@ import {
2
2
  checkAmpCredentials2,
3
3
  liveTestAmpCredentials2,
4
4
  AmpAdapter2
5
- } from "./cli-ahd90bwt.js";
5
+ } from "./cli-afrrppsw.js";
6
6
  import"./cli-jc1g9ndz.js";
7
- import"./cli-h55y2bjc.js";
8
- import"./cli-vqgnyh76.js";
7
+ import"./cli-dhar9qay.js";
8
+ import"./cli-98rw5dt5.js";
9
9
  export {
10
10
  AmpAdapter2 as AmpAdapter,
11
11
  checkAmpCredentials2 as checkAmpCredentials,
@@ -4,9 +4,9 @@ import {
4
4
  startSlackApp2,
5
5
  stopSlackApp2,
6
6
  init_app3
7
- } from "./cli-1gm8jcyr.js";
8
- import"./cli-a1fhj4n9.js";
9
- import"./cli-1s1dqn1j.js";
7
+ } from "./cli-wvaawacd.js";
8
+ import"./cli-mmwm7zbf.js";
9
+ import"./cli-1ayk1eas.js";
10
10
  init_app3();
11
11
 
12
12
  export {
@@ -6,11 +6,11 @@ import {
6
6
  getMostRecentTaskInThread2,
7
7
  reactionName,
8
8
  init_db4
9
- } from "./cli-1s1dqn1j.js";
9
+ } from "./cli-1ayk1eas.js";
10
10
  import {
11
11
  shouldBlockChannel2,
12
12
  init_external_channel
13
- } from "./cli-a1fhj4n9.js";
13
+ } from "./cli-mmwm7zbf.js";
14
14
  import {
15
15
  require_dist4,
16
16
  noteSlackInboundSideEffect,
@@ -25,10 +25,10 @@ import {
25
25
  isSlackRenderV2Enabled2,
26
26
  ensureSlackThreadTree2,
27
27
  init_render_v2
28
- } from "./cli-1gm8jcyr.js";
28
+ } from "./cli-wvaawacd.js";
29
29
  import"./cli-3xj33nrx.js";
30
- import"./cli-eny54typ.js";
31
- import"./cli-mvckssyq.js";
30
+ import"./cli-wx3rhnm0.js";
31
+ import"./cli-g61qxmge.js";
32
32
  import {
33
33
  init_templates,
34
34
  buildEffectiveText,
@@ -38,37 +38,39 @@ import {
38
38
  init_inbound_files,
39
39
  isAddressedToOtherUser,
40
40
  init_router,
41
+ shouldSkipLeftSlackThread,
42
+ init_left_threads,
41
43
  slackInboundMessageText,
42
44
  collectSlackMessageFiles,
43
45
  init_message_text
44
- } from "./cli-1yekbyqm.js";
45
- import"./cli-bq2pcphn.js";
46
- import"./cli-36g23z21.js";
47
- import"./cli-wcmnan2g.js";
48
- import"./cli-cq1pf336.js";
49
- import"./cli-7n5sbw0z.js";
46
+ } from "./cli-1338796d.js";
47
+ import"./cli-8hs41zy2.js";
48
+ import"./cli-6s7vdcta.js";
49
+ import"./cli-nn4d8dne.js";
50
+ import"./cli-mry0qzym.js";
51
+ import"./cli-z8eh3ex8.js";
50
52
  import {
51
53
  wasEventSeen,
52
54
  init_event_dedup,
53
55
  bufferThreadMessage,
54
56
  getBufferMessageCount,
55
57
  init_thread_buffer
56
- } from "./cli-kvtc7aez.js";
58
+ } from "./cli-3h4nhjn8.js";
57
59
  import {
58
60
  resolveSlackUserId,
59
61
  rewriteSlackMentions,
60
62
  init_enrich
61
- } from "./cli-s0exq74r.js";
62
- import"./cli-mc97xy2s.js";
63
- import"./cli-d2pzqej1.js";
64
- import"./cli-0sbkss7h.js";
65
- import"./cli-pwyevs29.js";
66
- import"./cli-k76tgq03.js";
67
- import"./cli-8yy525ad.js";
63
+ } from "./cli-nmbmy64z.js";
64
+ import"./cli-xtjhfmpc.js";
65
+ import"./cli-0bxqnvq9.js";
66
+ import"./cli-7wcyk2s5.js";
67
+ import"./cli-spknvxbq.js";
68
+ import"./cli-pywf3eh5.js";
69
+ import"./cli-bhjt02p8.js";
68
70
  import {
69
71
  resolveTemplate,
70
72
  init_resolver
71
- } from "./cli-j4kw3rsx.js";
73
+ } from "./cli-cm5yqn35.js";
72
74
  import {
73
75
  isEnvFlagEnabled,
74
76
  init_env_flag
@@ -186,8 +188,12 @@ function createAssistant(options = {}) {
186
188
  console.warn("[Slack] assistant: auth.test() failed — skipping bot-mention check", e);
187
189
  }
188
190
  }
191
+ const botMentioned = !!cachedBotUserId && rawText.includes(`<@${cachedBotUserId}>`);
192
+ if (await shouldSkipLeftSlackThread(channelId, msg.thread_ts, botMentioned)) {
193
+ console.log(`[Slack] assistant: skipping message in left thread ${channelId}/${threadTs}`);
194
+ return ignoreSlackInbound("thread_left");
195
+ }
189
196
  if (cachedBotUserId) {
190
- const botMentioned = rawText.includes(`<@${cachedBotUserId}>`);
191
197
  if (!botMentioned && isAddressedToOtherUser(rawText, cachedBotUserId)) {
192
198
  console.log(`[Slack] assistant: skipping message in ${channelId}/${threadTs} — mentions another user, not us`);
193
199
  return ignoreSlackInbound("other_user_mention");
@@ -308,6 +314,7 @@ var init_assistant = __esm(() => {
308
314
  init_external_channel();
309
315
  init_inbound_dispatch();
310
316
  init_inbound_files();
317
+ init_left_threads();
311
318
  init_message_text();
312
319
  init_render_v2();
313
320
  init_router();
@@ -6,7 +6,7 @@ import {
6
6
  getMemoryStore2,
7
7
  init_memory,
8
8
  init_db4
9
- } from "./cli-1s1dqn1j.js";
9
+ } from "./cli-1ayk1eas.js";
10
10
  import {
11
11
  __esm
12
12
  } from "./cli-242037k3.js";
@@ -4,7 +4,7 @@ import {
4
4
  embedScript2,
5
5
  init_embeddings,
6
6
  init_db4
7
- } from "./cli-1s1dqn1j.js";
7
+ } from "./cli-1ayk1eas.js";
8
8
  import {
9
9
  __esm
10
10
  } from "./cli-242037k3.js";
@@ -8,16 +8,16 @@ import {
8
8
  getMemoryStore2,
9
9
  init_memory,
10
10
  init_db4
11
- } from "./cli-1s1dqn1j.js";
11
+ } from "./cli-1ayk1eas.js";
12
12
  import {
13
13
  contentSha256,
14
14
  init_profile_sync
15
- } from "./cli-ycm6180s.js";
15
+ } from "./cli-a7v854rf.js";
16
16
  import {
17
17
  SCRUBBER_RULES_VERSION,
18
18
  scrubSecrets,
19
19
  init_secret_scrubber
20
- } from "./cli-a4btqqft.js";
20
+ } from "./cli-1b7btd38.js";
21
21
 
22
22
  // src/be/boot-scrub-sweep.ts
23
23
  init_profile_sync();
@@ -87,7 +87,7 @@ async function runBootScrubSweep(opts = {}) {
87
87
  console.log(`[${tag}] complete`);
88
88
  const memoryChanged = stats.find((s) => s.table === "agent_memory")?.changed ?? 0;
89
89
  if (memoryChanged > 0 && opts.reembed !== false) {
90
- const { runBootReembed } = await import("./boot-reembed-yzy1841n.js");
90
+ const { runBootReembed } = await import("./boot-reembed-375t7tbk.js");
91
91
  await runBootReembed();
92
92
  }
93
93
  return stats;
@@ -3,10 +3,10 @@ import {
3
3
  ensureRbacSeeded2,
4
4
  ensureModelProfilesSeeded2,
5
5
  init_boot_seeds
6
- } from "./cli-36g23z21.js";
7
- import"./cli-mc97xy2s.js";
8
- import"./cli-bq2pcphn.js";
9
- import"./cli-1s1dqn1j.js";
6
+ } from "./cli-6s7vdcta.js";
7
+ import"./cli-xtjhfmpc.js";
8
+ import"./cli-8hs41zy2.js";
9
+ import"./cli-1ayk1eas.js";
10
10
  init_boot_seeds();
11
11
 
12
12
  export {
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  redactWithEnv,
11
11
  init_env2
12
- } from "./cli-98pke4vk.js";
12
+ } from "./cli-ae7mrdf9.js";
13
13
  import {
14
14
  __esm
15
15
  } from "./cli-242037k3.js";
@@ -4,18 +4,18 @@ import {
4
4
  buildClaudeSessionEnvironment2,
5
5
  runClaudeSessionSummary2,
6
6
  ClaudeAdapter2
7
- } from "./cli-byqfbnjw.js";
8
- import"./cli-wndv9p7g.js";
9
- import"./cli-dae4sbgy.js";
7
+ } from "./cli-82ae98pz.js";
8
+ import"./cli-0731hvbw.js";
9
+ import"./cli-jm2vfpfd.js";
10
10
  import"./cli-d82btycs.js";
11
11
  import"./cli-98rwmcyc.js";
12
12
  import"./cli-4bd1rck6.js";
13
13
  import"./cli-jc1g9ndz.js";
14
- import"./cli-j4kt1mpb.js";
14
+ import"./cli-a47xy8eq.js";
15
15
  import"./cli-0726awxw.js";
16
- import"./cli-h55y2bjc.js";
17
- import"./cli-bwty35gx.js";
18
- import"./cli-vqgnyh76.js";
16
+ import"./cli-dhar9qay.js";
17
+ import"./cli-mthwvjre.js";
18
+ import"./cli-98rw5dt5.js";
19
19
  export {
20
20
  ClaudeAdapter2 as ClaudeAdapter,
21
21
  buildClaudeSessionEnvironment2 as buildClaudeSessionEnvironment,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  checkClaudeManagedCredentials2,
3
3
  ClaudeManagedAdapter2
4
- } from "./cli-gcbdjt47.js";
4
+ } from "./cli-vfym7wmz.js";
5
5
  import"./cli-4zsenjhy.js";
6
6
  import"./cli-kr5tjjtz.js";
7
7
  import"./cli-318r69gq.js";
8
8
  import"./cli-0726awxw.js";
9
- import"./cli-h55y2bjc.js";
9
+ import"./cli-dhar9qay.js";
10
10
  export {
11
11
  ClaudeManagedAdapter2 as ClaudeManagedAdapter,
12
12
  checkClaudeManagedCredentials2 as checkClaudeManagedCredentials
@@ -12,15 +12,15 @@ import {
12
12
  init_flow,
13
13
  init_auth_json,
14
14
  init_storage
15
- } from "./cli-jg0nfda6.js";
15
+ } from "./cli-75gkpjvw.js";
16
16
  import {
17
17
  DEFAULT_MODEL_TIER_MAP,
18
18
  init_types4
19
- } from "./cli-41z8xwj0.js";
19
+ } from "./cli-7wspm5gm.js";
20
20
  import {
21
21
  selectCredential,
22
22
  init_credentials2
23
- } from "./cli-aq58fk5m.js";
23
+ } from "./cli-g83s9ewh.js";
24
24
  import {
25
25
  getApiKey,
26
26
  init_api_key
@@ -1,32 +1,32 @@
1
1
  import {
2
2
  recordContextState
3
- } from "./cli-h55y2bjc.js";
3
+ } from "./cli-dhar9qay.js";
4
4
  import {
5
5
  redactRateLimitEvent,
6
6
  SessionErrorTracker,
7
7
  trackErrorFromJson,
8
8
  parseStderrForErrors
9
- } from "./cli-bwty35gx.js";
10
- import"./cli-dae4sbgy.js";
11
- import"./cli-j4kt1mpb.js";
9
+ } from "./cli-mthwvjre.js";
10
+ import"./cli-jm2vfpfd.js";
11
+ import"./cli-a47xy8eq.js";
12
12
  import"./cli-d82btycs.js";
13
13
  import"./cli-0726awxw.js";
14
- import"./cli-wndv9p7g.js";
14
+ import"./cli-0731hvbw.js";
15
15
  import {
16
16
  ClaudeBackgroundKeepalive,
17
17
  normalizeClaudeMessage,
18
18
  cleanupTaskFile2,
19
19
  buildClaudeSessionEnvironment2,
20
20
  runClaudeSessionSummary2
21
- } from "./cli-byqfbnjw.js";
21
+ } from "./cli-82ae98pz.js";
22
22
  import"./cli-jc1g9ndz.js";
23
23
  import"./cli-4bd1rck6.js";
24
24
  import"./cli-98rwmcyc.js";
25
- import"./cli-vqgnyh76.js";
25
+ import"./cli-98rw5dt5.js";
26
26
  import {
27
27
  getContextWindowSize,
28
28
  init_context_window
29
- } from "./cli-rtk9g7av.js";
29
+ } from "./cli-73jzwksr.js";
30
30
  import {
31
31
  signalProcessGroup,
32
32
  detachedProcessGroup,
@@ -37,7 +37,7 @@ import {
37
37
  import {
38
38
  scrubSecrets,
39
39
  init_secret_scrubber
40
- } from "./cli-a4btqqft.js";
40
+ } from "./cli-1b7btd38.js";
41
41
 
42
42
  // src/providers/claude-sdk-session.ts
43
43
  import { EventEmitter } from "node:events";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  materializeClaudeMd,
3
3
  stopClaudeMd
4
- } from "./cli-dae4sbgy.js";
4
+ } from "./cli-jm2vfpfd.js";
5
5
  import {
6
6
  summarizeSession
7
- } from "./cli-j4kt1mpb.js";
7
+ } from "./cli-a47xy8eq.js";
8
8
  import {
9
9
  contextBoundNoteThreshold,
10
10
  injectClaimedContextBoundNote
11
- } from "./cli-h55y2bjc.js";
11
+ } from "./cli-dhar9qay.js";
12
12
  import {
13
13
  guardGhPrBody,
14
14
  guardGhPrRoom
@@ -32,11 +32,11 @@ import {
32
32
  warnProfileFileTooLarge,
33
33
  buildIndependentIdentityPayloads,
34
34
  init_profile_sync
35
- } from "./cli-ycm6180s.js";
35
+ } from "./cli-a7v854rf.js";
36
36
  import {
37
37
  init_package,
38
38
  package_default
39
- } from "./cli-pe09p6dv.js";
39
+ } from "./cli-tqgg40ek.js";
40
40
  import {
41
41
  MAX_PROFILE_FILE_LENGTH,
42
42
  getMcpBaseUrl,
@@ -53,7 +53,7 @@ import {
53
53
  import {
54
54
  scrubSecrets,
55
55
  init_secret_scrubber
56
- } from "./cli-a4btqqft.js";
56
+ } from "./cli-1b7btd38.js";
57
57
 
58
58
  // src/hooks/hook.ts
59
59
  init_package();