@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
@@ -9,7 +9,7 @@ import {
9
9
  loadMcpConfig,
10
10
  addMcpServerConfig,
11
11
  removeMcpServerConfig
12
- } from "./cli-edmm9d9y.js";
12
+ } from "./cli-vqypxzh4.js";
13
13
  import {
14
14
  McpOAuthCredentialStore2,
15
15
  McpSignInCancelledError2,
@@ -17,7 +17,7 @@ import {
17
17
  McpServerLog2,
18
18
  createDefaultTransport2,
19
19
  McpServerConnection2
20
- } from "./cli-5gr1g711.js";
20
+ } from "./cli-fqzx7gwa.js";
21
21
 
22
22
  // node_modules/@earendil-works/pi-coding-agent/dist/extensions/mcp/cli.js
23
23
  import { existsSync } from "node:fs";
@@ -165,11 +165,6 @@ import {
165
165
  touchScratchScriptLastUsed,
166
166
  restoreScratchScriptLastUsedIfUnchanged,
167
167
  init_db3,
168
- SteeringRequestError,
169
- isSteeringEnabled,
170
- carryUnhandledSteering,
171
- requestSteering,
172
- init_steering2,
173
168
  getWorkflowRunTriggeredByAgentId,
174
169
  getWorkflowRunSummary,
175
170
  getWorkflowRunStepsSlimByRunId,
@@ -179,6 +174,12 @@ import {
179
174
  getRunningSubWorkflowSteps,
180
175
  getSettledChildRunParentSteps,
181
176
  init_workflow_runs,
177
+ SteeringRequestError,
178
+ SteeringBlockedError,
179
+ isSteeringEnabled,
180
+ carryUnhandledSteering,
181
+ requestSteering,
182
+ init_steering2,
182
183
  getPendingTaskForAgent2,
183
184
  startTask2,
184
185
  updateTaskClaudeSessionId2,
@@ -348,17 +349,17 @@ import {
348
349
  recordInlineScriptRun2,
349
350
  exports_db,
350
351
  init_db4
351
- } from "./cli-1s1dqn1j.js";
352
+ } from "./cli-1ayk1eas.js";
352
353
  import {
353
354
  getUserGrant2,
354
355
  init_rbac_roles
355
- } from "./cli-bq2pcphn.js";
356
+ } from "./cli-8hs41zy2.js";
356
357
  import {
357
358
  ensurePricingSeeded2,
358
359
  ensureRbacSeeded2,
359
360
  ensureModelProfilesSeeded2,
360
361
  init_boot_seeds
361
- } from "./cli-36g23z21.js";
362
+ } from "./cli-6s7vdcta.js";
362
363
  import {
363
364
  buildCatalogEntries,
364
365
  listModelCatalog,
@@ -370,11 +371,11 @@ import {
370
371
  requestModelCatalogRefresh2,
371
372
  startPricingRefreshLoop2,
372
373
  init_pricing_refresh
373
- } from "./cli-wcmnan2g.js";
374
+ } from "./cli-nn4d8dne.js";
374
375
  import {
375
376
  workflowEventBus2,
376
377
  init_event_bus
377
- } from "./cli-eny54typ.js";
378
+ } from "./cli-wx3rhnm0.js";
378
379
  import {
379
380
  slackCode,
380
381
  slackMissingScopeMessage,
@@ -383,7 +384,7 @@ import {
383
384
  externalChannelToolError2,
384
385
  getChannelBlockReason2,
385
386
  init_external_channel
386
- } from "./cli-a1fhj4n9.js";
387
+ } from "./cli-mmwm7zbf.js";
387
388
  import {
388
389
  noteSlackInboundSideEffect,
389
390
  init_inbound_dispatch,
@@ -418,7 +419,7 @@ import {
418
419
  startSlackApp2,
419
420
  stopSlackApp2,
420
421
  init_app3
421
- } from "./cli-1gm8jcyr.js";
422
+ } from "./cli-wvaawacd.js";
422
423
  import {
423
424
  shapeApprovalResolution,
424
425
  init_approval_resolution,
@@ -442,7 +443,7 @@ import {
442
443
  resumeFromChildRun2,
443
444
  initWaitBusSubscriptions2,
444
445
  init_resume
445
- } from "./cli-mvckssyq.js";
446
+ } from "./cli-g61qxmge.js";
446
447
  import {
447
448
  FilesError,
448
449
  providerPath,
@@ -456,7 +457,7 @@ import {
456
457
  import {
457
458
  getRuntimePool2,
458
459
  init_db2
459
- } from "./cli-cq1pf336.js";
460
+ } from "./cli-mry0qzym.js";
460
461
  import {
461
462
  duplicateGuardedQueryKey,
462
463
  parseQueryParams,
@@ -489,19 +490,19 @@ import {
489
490
  findRoute,
490
491
  route,
491
492
  init_route_def
492
- } from "./cli-7n5sbw0z.js";
493
+ } from "./cli-z8eh3ex8.js";
493
494
  import {
494
495
  COMPOSIO_HTTP_METHODS,
495
496
  executeComposioRequest,
496
497
  composioArgsFromParts,
497
498
  init_composio
498
- } from "./cli-2qpvmmkw.js";
499
+ } from "./cli-s0qnd4wv.js";
499
500
  import {
500
501
  ampPinProviderError,
501
502
  ampPinCatalogError,
502
503
  ampModelError,
503
504
  init_amp_models
504
- } from "./cli-zn15c46z.js";
505
+ } from "./cli-mjzynrse.js";
505
506
  import {
506
507
  object,
507
508
  init_v4_mini
@@ -522,7 +523,7 @@ import {
522
523
  import {
523
524
  loadModelsDevCache,
524
525
  init_modelsdev_cache
525
- } from "./cli-mc97xy2s.js";
526
+ } from "./cli-xtjhfmpc.js";
526
527
  import {
527
528
  require_dist2,
528
529
  ConnectionAuthInputSchema,
@@ -562,6 +563,8 @@ import {
562
563
  init_import_allowlist,
563
564
  runScriptWithRunCredential,
564
565
  init_run_credential,
566
+ seededWorkflowState,
567
+ init_workflows_seeder,
565
568
  extractScriptSignature,
566
569
  init_extract_signature,
567
570
  extractArgsJsonSchema,
@@ -599,7 +602,7 @@ import {
599
602
  init_typecheck,
600
603
  parseSkillContent,
601
604
  init_skill_parser
602
- } from "./cli-d2pzqej1.js";
605
+ } from "./cli-0bxqnvq9.js";
603
606
  import {
604
607
  detachedProcessGroup,
605
608
  registerProcessGroup,
@@ -614,7 +617,7 @@ import {
614
617
  ensureToken,
615
618
  ensureTokenOrThrow,
616
619
  init_ensure_token
617
- } from "./cli-0sbkss7h.js";
620
+ } from "./cli-7wcyk2s5.js";
618
621
  import {
619
622
  require_fast_deep_equal
620
623
  } from "./cli-bhp11egn.js";
@@ -709,7 +712,7 @@ import {
709
712
  validateDefinition,
710
713
  applyDefinitionPatch,
711
714
  init_definition2
712
- } from "./cli-pwyevs29.js";
715
+ } from "./cli-spknvxbq.js";
713
716
  import {
714
717
  isMultiRuntimeEnabled,
715
718
  init_multi_runtime2
@@ -728,11 +731,11 @@ import {
728
731
  import {
729
732
  publicEndpointSsrfOptions,
730
733
  init_mcp_wrapper
731
- } from "./cli-k76tgq03.js";
734
+ } from "./cli-pywf3eh5.js";
732
735
  import {
733
736
  canProvisionKind,
734
737
  init_runtime_providers
735
- } from "./cli-b1afgtj3.js";
738
+ } from "./cli-xbkdm710.js";
736
739
  import {
737
740
  findUserById,
738
741
  findUserByExternalId,
@@ -747,7 +750,7 @@ import {
747
750
  resolveSessionToken,
748
751
  fingerprintApiKey,
749
752
  init_users
750
- } from "./cli-8yy525ad.js";
753
+ } from "./cli-bhjt02p8.js";
751
754
  import {
752
755
  isRbacEnabled,
753
756
  decideAdmission,
@@ -818,7 +821,7 @@ import {
818
821
  KvNamespaceSchema,
819
822
  KvKeySchema,
820
823
  init_types4
821
- } from "./cli-41z8xwj0.js";
824
+ } from "./cli-7wspm5gm.js";
822
825
  import {
823
826
  generateDefaultClaudeMd2,
824
827
  generateDefaultSoulMd2,
@@ -829,7 +832,7 @@ import {
829
832
  init_task_attachment_links,
830
833
  contentSha256,
831
834
  init_profile_sync
832
- } from "./cli-ycm6180s.js";
835
+ } from "./cli-a7v854rf.js";
833
836
  import {
834
837
  getSlackConfiguration,
835
838
  init_config4
@@ -841,7 +844,7 @@ import {
841
844
  import {
842
845
  selectCredential,
843
846
  init_credentials2
844
- } from "./cli-aq58fk5m.js";
847
+ } from "./cli-g83s9ewh.js";
845
848
  import {
846
849
  findInterpolationTokens,
847
850
  interpolate,
@@ -851,7 +854,7 @@ import {
851
854
  init_registry3,
852
855
  resolveTemplate,
853
856
  init_resolver
854
- } from "./cli-j4kw3rsx.js";
857
+ } from "./cli-cm5yqn35.js";
855
858
  import {
856
859
  init_zod
857
860
  } from "./cli-k5671be5.js";
@@ -890,7 +893,7 @@ import {
890
893
  import {
891
894
  init_package,
892
895
  package_default
893
- } from "./cli-pe09p6dv.js";
896
+ } from "./cli-tqgg40ek.js";
894
897
  import {
895
898
  realtimeBus,
896
899
  init_bus
@@ -925,8 +928,9 @@ import {
925
928
  registerVolatileSecret,
926
929
  registerSensitiveKeyName,
927
930
  init_secret_scrubber
928
- } from "./cli-a4btqqft.js";
931
+ } from "./cli-1b7btd38.js";
929
932
  import {
933
+ chatgptSubscriptionModelId,
930
934
  isAlias,
931
935
  parseAlias,
932
936
  resolveAlias,
@@ -939,7 +943,7 @@ import {
939
943
  openAICompatibleProviderIds,
940
944
  claudeCatalogModelId,
941
945
  init_src2
942
- } from "./cli-4r12t6w6.js";
946
+ } from "./cli-5c4hjzne.js";
943
947
  import {
944
948
  __toESM,
945
949
  __commonJS,
@@ -20308,6 +20312,9 @@ function isKnownCatalogModel(model, catalog) {
20308
20312
  const id = model.trim().replace(CONTEXT_SUFFIX_RE, "");
20309
20313
  if (!id)
20310
20314
  return false;
20315
+ const subscriptionId = chatgptSubscriptionModelId(id);
20316
+ if (subscriptionId)
20317
+ return hasModel(catalog, "openai", subscriptionId);
20311
20318
  const slash = id.indexOf("/");
20312
20319
  if (slash > 0) {
20313
20320
  const provider = id.slice(0, slash);
@@ -20864,7 +20871,7 @@ function startRetryPoller(registry, intervalMs = 5000) {
20864
20871
  if (!waiting)
20865
20872
  continue;
20866
20873
  if (result.waitFor === "workflow.child.finished") {
20867
- const { resumeFromChildRun } = await import("./resume-9cd6wf6z.js");
20874
+ const { resumeFromChildRun } = await import("./resume-zfqc36xj.js");
20868
20875
  await resumeFromChildRun(step.id, registry);
20869
20876
  }
20870
20877
  } else {
@@ -21577,7 +21584,7 @@ var init_notify = __esm(() => {
21577
21584
  }
21578
21585
  }
21579
21586
  case "slack": {
21580
- const { getSlackApp } = await import("./app-stvq692g.js");
21587
+ const { getSlackApp } = await import("./app-vmp4fgep.js");
21581
21588
  const app = getSlackApp();
21582
21589
  if (!app) {
21583
21590
  return {
@@ -22886,7 +22893,7 @@ async function dispatchScheduleTarget(schedule, extraTags = []) {
22886
22893
  };
22887
22894
  const runId = await startWorkflowExecution2(workflow, triggerData, registry, {
22888
22895
  triggerType: "schedule",
22889
- triggeredByAgentId: schedule.createdByAgentId,
22896
+ triggeredByAgentId: await scheduledWorkflowPrincipal(schedule, workflow),
22890
22897
  requestedByUserId: schedule.createdBy
22891
22898
  });
22892
22899
  await throwIfWorkflowNeedsSetup(schedule.id, [runId]);
@@ -22919,6 +22926,23 @@ async function dispatchScheduleTarget(schedule, extraTags = []) {
22919
22926
  }
22920
22927
  }
22921
22928
  }
22929
+ async function scheduledWorkflowPrincipal(schedule, workflow) {
22930
+ if (schedule.createdByAgentId)
22931
+ return schedule.createdByAgentId;
22932
+ if (workflow.createdByAgentId)
22933
+ return;
22934
+ const seeded = await seededWorkflowState(workflow);
22935
+ if (seeded === "unseeded")
22936
+ return;
22937
+ if (seeded === "edited") {
22938
+ throw new Error(`Schedule "${schedule.name}" has no creator and the nodes or params of seeded workflow "${workflow.name}" were edited, so it will not run as the lead. Re-create the schedule as the agent it should run as.`);
22939
+ }
22940
+ const lead = await getLeadAgent2();
22941
+ if (!lead) {
22942
+ throw new Error(`Schedule "${schedule.name}" has no creator and the swarm has no lead to run its workflow as`);
22943
+ }
22944
+ return lead.id;
22945
+ }
22922
22946
  async function throwIfWorkflowNeedsSetup(scheduleId, runIds) {
22923
22947
  for (const runId of runIds) {
22924
22948
  const run = await getWorkflowRun2(runId);
@@ -23164,6 +23188,7 @@ var init_scheduler = __esm(() => {
23164
23188
  init_script_credential_broker();
23165
23189
  init_db3();
23166
23190
  init_run_credential();
23191
+ init_workflows_seeder();
23167
23192
  init_telemetry();
23168
23193
  init_workflows();
23169
23194
  init_engine();
@@ -24240,6 +24265,7 @@ var init_sdk_allowlist = __esm(() => {
24240
24265
  slack_downloadFile: "slack-download-file",
24241
24266
  slack_delete: "slack-delete",
24242
24267
  slack_update: "slack-update",
24268
+ slack_leaveThread: "slack-leave-thread",
24243
24269
  chat_reply: "chat-reply",
24244
24270
  chat_post: "chat-post",
24245
24271
  chat_openDm: "chat-open-dm",
@@ -24882,7 +24908,7 @@ function setPreloadedTools(server, names) {
24882
24908
  async function applyPreToolCall(name, args, requestInfo, inputSchema) {
24883
24909
  if (requestInfo.callOrigin !== "mcp")
24884
24910
  return { args };
24885
- const dispatcher = await import("./dispatcher-304q6fwa.js");
24911
+ const dispatcher = await import("./dispatcher-smasgws7.js");
24886
24912
  const result = await dispatcher.dispatchPre("pre.tool.call", { tool: name, args, requestInfo }, inputSchema ? {
24887
24913
  validateModify: async (data) => {
24888
24914
  const schema = normalizeObjectSchema(inputSchema) ?? inputSchema;
@@ -26946,6 +26972,10 @@ function runContext2(event, payload) {
26946
26972
  agentId = stringField(payload, "workerAgentId");
26947
26973
  subject = `task ${stringField(payload, "completedTask", "id") ?? "?"} ${stringField(payload, "status") ?? ""}`.trim();
26948
26974
  break;
26975
+ case "pre.task.steer":
26976
+ agentId = stringField(payload, "sender", "agentId");
26977
+ subject = `${stringField(payload, "source") ?? "?"}: task ${stringField(payload, "task", "id") ?? "?"}`;
26978
+ break;
26949
26979
  case "pre.slack.route":
26950
26980
  case "post.slack.message":
26951
26981
  subject = `channel ${stringField(payload, "channelId") ?? "?"}: ${snippet(field(payload, "text"), 60)}`;
@@ -33980,6 +34010,8 @@ async function requestChatThreadSteering(args) {
33980
34010
  });
33981
34011
  return { task, result };
33982
34012
  } catch (error) {
34013
+ if (error instanceof SteeringBlockedError)
34014
+ throw error;
33983
34015
  const detail = error instanceof Error ? error.message : String(error);
33984
34016
  const what = error instanceof SteeringRequestError ? "was refused" : "failed";
33985
34017
  console.warn(scrubSecrets(`[chat-sdk] Steering task ${task.id} ${what} (${detail}); creating a follow-up task`));
@@ -34141,11 +34173,21 @@ async function handleChatInbound(thread, message, kind) {
34141
34173
  addressed = unaddressed;
34142
34174
  }
34143
34175
  if (!immediate && attachments.length === 0 && text && !isChatThreadBuffered(thread.id)) {
34144
- const steering = await requestChatThreadSteering({
34145
- contextKey: chatSdkContextKey(thread.id),
34146
- message: text,
34147
- resolveSender: () => resolveChatSender(adapter, message.author.userId)
34148
- });
34176
+ let steering;
34177
+ try {
34178
+ steering = await requestChatThreadSteering({
34179
+ contextKey: chatSdkContextKey(thread.id),
34180
+ message: text,
34181
+ resolveSender: () => resolveChatSender(adapter, message.author.userId)
34182
+ });
34183
+ } catch (error) {
34184
+ if (!(error instanceof SteeringBlockedError))
34185
+ throw error;
34186
+ console.info(`[chat-sdk] ${thread.id}: steering blocked: ${error.reason}`);
34187
+ stopTypingKeepalive(thread.id);
34188
+ await setChatMessageReaction(adapter, thread.id, message.id, "failed");
34189
+ return;
34190
+ }
34149
34191
  if (steering) {
34150
34192
  console.log(`[chat-sdk] ${adapter} message steered task ${steering.task.id} (${steering.result.outcome})`);
34151
34193
  await setChatMessageReaction(adapter, thread.id, message.id, "steered");
@@ -34488,6 +34530,7 @@ var init_inbound = __esm(() => {
34488
34530
  init_db4();
34489
34531
  init_session_labels();
34490
34532
  init_identity();
34533
+ init_steering2();
34491
34534
  init_unmapped_identities();
34492
34535
  init_dispatcher();
34493
34536
  init_resolver();
@@ -35830,7 +35873,7 @@ async function notifySlack(text) {
35830
35873
  return;
35831
35874
  }
35832
35875
  try {
35833
- const { getSlackApp } = await import("./app-stvq692g.js");
35876
+ const { getSlackApp } = await import("./app-vmp4fgep.js");
35834
35877
  const app = getSlackApp();
35835
35878
  if (!app) {
35836
35879
  console.warn("[Jira webhook keepalive] Slack not available, cannot send notification");
@@ -35901,7 +35944,7 @@ async function deleteJiraWebhook(webhookId) {
35901
35944
  console.log(`[Jira webhook keepalive] Deleted webhook id=${webhookId}`);
35902
35945
  }
35903
35946
  async function overwriteWebhookIds(next) {
35904
- const { getDbClient } = await import("./db-rsh04kh3.js");
35947
+ const { getDbClient } = await import("./db-rgfsh91f.js");
35905
35948
  await getDbClient().transaction(async (tx) => {
35906
35949
  const row = await tx.get("SELECT metadata FROM oauth_apps WHERE provider = 'jira'");
35907
35950
  if (!row) {
@@ -109374,7 +109417,7 @@ async function reloadGlobalConfigsAndIntegrations() {
109374
109417
  return runWithoutRequestAuth(() => reloadGlobalConfigsAndIntegrationsInner());
109375
109418
  }
109376
109419
  async function reloadGlobalConfigsAndIntegrationsInner() {
109377
- const { getEmbeddingProvider, resetEmbeddingProvider } = await import("./index-qeb82z37.js");
109420
+ const { getEmbeddingProvider, resetEmbeddingProvider } = await import("./index-q4b917zs.js");
109378
109421
  const wasEmbeddingsConfigured = getEmbeddingProvider().isConfigured();
109379
109422
  const updated = await loadGlobalConfigsIntoEnv(true);
109380
109423
  await syncTelemetryEnabled("settings").catch((err) => {
@@ -109390,7 +109433,7 @@ async function reloadGlobalConfigsAndIntegrationsInner() {
109390
109433
  integrations.push("embeddings");
109391
109434
  }
109392
109435
  if (isEmbeddingsConfigured) {
109393
- import("./embedding-space-s68v49ct.js").then(({ runEmbeddingMaintenance }) => runEmbeddingMaintenance({ backfill: !wasEmbeddingsConfigured })).catch((err) => {
109436
+ import("./embedding-space-1z0mbg95.js").then(({ runEmbeddingMaintenance }) => runEmbeddingMaintenance({ backfill: !wasEmbeddingsConfigured })).catch((err) => {
109394
109437
  console.error("[config-reload] embedding maintenance failed (non-fatal):", err);
109395
109438
  });
109396
109439
  }
@@ -109836,6 +109879,42 @@ var init_mcp_limits = __esm(() => {
109836
109879
  MCP_MAX_REQUEST_BODY_BYTES = 4 * 1024 * 1024;
109837
109880
  });
109838
109881
 
109882
+ // src/slack/left-threads.ts
109883
+ function isSlackLeaveThreadDisabled() {
109884
+ return isEnvFlagEnabled(SLACK_LEAVE_THREAD_DISABLE, false);
109885
+ }
109886
+ function threadKey(channelId, threadTs) {
109887
+ return `${channelId}:${threadTs}`;
109888
+ }
109889
+ async function leaveSlackThread(channelId, threadTs, agentId) {
109890
+ await upsertKv2({
109891
+ namespace: SLACK_LEFT_THREAD_KV_NAMESPACE,
109892
+ key: threadKey(channelId, threadTs),
109893
+ value: { agentId, leftAt: new Date().toISOString() },
109894
+ valueType: "json"
109895
+ });
109896
+ }
109897
+ async function isSlackThreadLeft(channelId, threadTs) {
109898
+ return await getKv2(SLACK_LEFT_THREAD_KV_NAMESPACE, threadKey(channelId, threadTs)) !== null;
109899
+ }
109900
+ async function shouldSkipLeftSlackThread(channelId, threadTs, botMentioned) {
109901
+ if (!threadTs)
109902
+ return false;
109903
+ const key = threadKey(channelId, threadTs);
109904
+ if (botMentioned) {
109905
+ if (await deleteKv2(SLACK_LEFT_THREAD_KV_NAMESPACE, key)) {
109906
+ console.log(`[Slack] Rejoined left thread ${key}: bot mentioned`);
109907
+ }
109908
+ return false;
109909
+ }
109910
+ return isSlackThreadLeft(channelId, threadTs);
109911
+ }
109912
+ var SLACK_LEFT_THREAD_KV_NAMESPACE = "slack-left-thread", SLACK_LEAVE_THREAD_DISABLE = "SLACK_LEAVE_THREAD_DISABLE";
109913
+ var init_left_threads = __esm(() => {
109914
+ init_db4();
109915
+ init_env_flag();
109916
+ });
109917
+
109839
109918
  // src/tools/task-tool-ctx.ts
109840
109919
  function ownerCtx(info) {
109841
109920
  return {
@@ -119739,6 +119818,7 @@ var init_kv_reserved_namespaces = __esm(() => {
119739
119818
  ["heartbeat-checklist", "namespace is reserved for heartbeat checklist receipts"],
119740
119819
  ["worker", "namespace is reserved for worker nudges"],
119741
119820
  ["slack-external-alert", "namespace is reserved for Slack external channel alerts"],
119821
+ ["slack-left-thread", "namespace is reserved for left Slack threads; use slack-leave-thread"],
119742
119822
  [
119743
119823
  "session-labels",
119744
119824
  "namespace is reserved for session source labels; GET /api/session-tree returns them"
@@ -135057,6 +135137,78 @@ var init_slack_invite_to_channel = __esm(() => {
135057
135137
  init_utils();
135058
135138
  });
135059
135139
 
135140
+ // src/tools/slack-leave-thread.ts
135141
+ var registerSlackLeaveThreadTool = (server) => {
135142
+ createToolRegistrar(server)("slack-leave-thread", {
135143
+ title: "Leave a Slack thread",
135144
+ description: "Stop following a Slack thread until someone @mentions the bot there again. Messages in the thread that do not @mention the bot are then ignored, with no task and no reply. Posts nothing to Slack. Pass taskId for the thread of your Slack-originated task, or (lead only) channelId and threadTs.",
135145
+ annotations: { openWorldHint: true, idempotentHint: true },
135146
+ inputSchema: object2({
135147
+ taskId: uuid().optional().describe("A task whose Slack thread to leave."),
135148
+ channelId: string2().min(1).optional().describe("The Slack channel ID of the thread."),
135149
+ threadTs: string2().min(1).optional().describe("Timestamp of the thread root (dotted, 'p' deep-link, or full permalink URL).")
135150
+ }),
135151
+ outputSchema: swarmToolOutputSchema({
135152
+ channelId: string2().optional(),
135153
+ threadTs: string2().optional()
135154
+ })
135155
+ }, async ({ taskId, channelId, threadTs }, requestInfo, _meta) => {
135156
+ if (isSlackLeaveThreadDisabled()) {
135157
+ return toolErr(`slack-leave-thread is disabled by ${SLACK_LEAVE_THREAD_DISABLE}.`);
135158
+ }
135159
+ if (!requestInfo.agentId) {
135160
+ return toolErr("Agent ID not found.");
135161
+ }
135162
+ const agent = await getAgentById2(requestInfo.agentId);
135163
+ if (!agent) {
135164
+ return toolErr("Agent not found.");
135165
+ }
135166
+ const mayLeaveAnyThread = can({
135167
+ principal: { kind: "agent", agentId: agent.id, isLead: agent.isLead },
135168
+ verb: "integration.slack.post",
135169
+ resource: { kind: "none" },
135170
+ source: "mcp"
135171
+ }).allow;
135172
+ let slackChannelId;
135173
+ let slackThreadTs;
135174
+ if (taskId) {
135175
+ if (channelId || threadTs) {
135176
+ return toolErr("Provide either taskId or channelId and threadTs, not both.");
135177
+ }
135178
+ const task = await getTaskById2(taskId);
135179
+ if (!task) {
135180
+ return toolErr("Task not found.");
135181
+ }
135182
+ if (!mayLeaveAnyThread && (task.agentId !== agent.id || task.source !== "slack" || !task.slackTriggerMessageTs)) {
135183
+ return toolErr("Only a lead or the agent assigned a Slack-originated task can leave its thread.");
135184
+ }
135185
+ slackChannelId = task.slackChannelId;
135186
+ slackThreadTs = task.slackThreadTs;
135187
+ } else if (channelId && threadTs) {
135188
+ if (!mayLeaveAnyThread) {
135189
+ return toolErr("Leaving a thread by channelId and threadTs requires lead privileges.");
135190
+ }
135191
+ slackChannelId = channelId;
135192
+ slackThreadTs = parseSlackTs(threadTs);
135193
+ } else {
135194
+ return toolErr("Must provide taskId, or both channelId and threadTs.");
135195
+ }
135196
+ if (!slackChannelId || !slackThreadTs) {
135197
+ return toolErr("No Slack thread context available.");
135198
+ }
135199
+ await leaveSlackThread(slackChannelId, slackThreadTs, agent.id);
135200
+ return toolOk(`Left Slack thread ${slackChannelId}/${slackThreadTs}. Messages there are ignored until someone @mentions the bot.`, { data: { channelId: slackChannelId, threadTs: slackThreadTs } });
135201
+ });
135202
+ };
135203
+ var init_slack_leave_thread = __esm(() => {
135204
+ init_zod();
135205
+ init_db4();
135206
+ init_rbac();
135207
+ init_left_threads();
135208
+ init_message_text();
135209
+ init_utils();
135210
+ });
135211
+
135060
135212
  // src/tools/slack-list-channels.ts
135061
135213
  var SlackChannelSchema, registerSlackListChannelsTool = (server) => {
135062
135214
  createToolRegistrar(server)("slack-list-channels", {
@@ -136116,7 +136268,7 @@ async function steerTaskHandler(ctx, { taskId, message, mode = "queue", onUnsupp
136116
136268
  message,
136117
136269
  mode,
136118
136270
  onUnsupported,
136119
- source: "mcp",
136271
+ source: ctx.kind === "owner" && ctx.requestInfo?.callOrigin === "script-sdk" ? "script" : "mcp",
136120
136272
  createdByKind: ctx.kind === "owner" ? "agent" : "user",
136121
136273
  createdByAgentId: ctx.kind === "owner" ? ctx.agentId : undefined,
136122
136274
  createdByUserId: ctx.kind === "user" ? ctx.userId : undefined
@@ -136135,7 +136287,7 @@ async function steerTaskHandler(ctx, { taskId, message, mode = "queue", onUnsupp
136135
136287
  var steerTaskInputSchema, steerTaskUserInputSchema, steerTaskOutputSchema, registerSteerTaskTool = (server) => {
136136
136288
  createToolRegistrar(server)("steer-task", {
136137
136289
  title: "Steer Task",
136138
- description: 'Send a message to a task that is already running. `mode:"steer"` is honored on pi, claude-managed, codex and cursor; claude, devin, opencode and amp support queue only (amp delivery lands at the next tool result). Pass `onUnsupported:"fail"` to get an error instead of a downgrade.',
136290
+ description: 'Send a message to a task that is already running. `mode:"steer"` is honored on pi, claude-managed, codex, cursor and fx (fx supports steer only); claude, devin, opencode and amp support queue only (amp delivery lands at the next tool result). Pass `onUnsupported:"fail"` to get an error instead of a downgrade.',
136139
136291
  annotations: { destructiveHint: true },
136140
136292
  inputSchema: steerTaskInputSchema,
136141
136293
  outputSchema: steerTaskOutputSchema
@@ -137371,7 +137523,7 @@ async function emitBudgetRefusalSideEffects(ctx, inserted) {
137371
137523
  console.warn(`[budget-refusal-notify] Failed to create follow-up task for budget refusal (task=${ctx.task.id.slice(0, 8)}): ${err}`);
137372
137524
  }
137373
137525
  }
137374
- import("./event-bus-dfjx2qdh.js").then(({ workflowEventBus }) => {
137526
+ import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
137375
137527
  workflowEventBus.emit("task.budget_refused", {
137376
137528
  taskId: ctx.task.id,
137377
137529
  agentId: ctx.agentId,
@@ -139660,6 +139812,9 @@ async function createServer(opts = {}) {
139660
139812
  registerSlackDownloadFileTool(server);
139661
139813
  registerSlackDeleteTool(server);
139662
139814
  registerSlackUpdateTool(server);
139815
+ if (opts.fullSurface === true || !isSlackLeaveThreadDisabled()) {
139816
+ registerSlackLeaveThreadTool(server);
139817
+ }
139663
139818
  }
139664
139819
  if (hasCapability("prompt-templates")) {
139665
139820
  registerListPromptTemplatesTool(server);
@@ -139717,6 +139872,7 @@ var init_server = __esm(() => {
139717
139872
  init_resolver();
139718
139873
  init_rbac();
139719
139874
  init_config4();
139875
+ init_left_threads();
139720
139876
  init_accept_steer();
139721
139877
  init_app_action_run();
139722
139878
  init_app_diff();
@@ -139805,6 +139961,7 @@ var init_server = __esm(() => {
139805
139961
  init_slack_delete();
139806
139962
  init_slack_download_file();
139807
139963
  init_slack_invite_to_channel();
139964
+ init_slack_leave_thread();
139808
139965
  init_slack_list_channels();
139809
139966
  init_slack_post();
139810
139967
  init_slack_read();
@@ -139871,4 +140028,4 @@ var init_server = __esm(() => {
139871
140028
  loggedToolAllowlistWarnings = new Set;
139872
140029
  });
139873
140030
 
139874
- export { DEFAULT_NEGOTIATED_PROTOCOL_VERSION, SUPPORTED_PROTOCOL_VERSIONS, isJSONRPCRequest, isJSONRPCResultResponse, isJSONRPCErrorResponse, JSONRPCMessageSchema, isInitializeRequest, init_types, McpServer, init_mcp, repointTrackerSyncBySwarmId, init_tracker, isRuntimePoolWakeable, isAgentReachable, init_reachability, referencedBundlePaths, skillDirs, init_manifest_format, TaskCreationBlockedError, init_errors2, resolveIdentity, renderIdentity, init_identity, recordUnmappedIdentity, init_unmapped_identities, MAX_TASK_ATTACHMENT_BYTES, recordTaskAttachmentUpload, scopeFromAttachment, backingProviderId, init_task_attachment_store, taskModelPin, resumedTaskModelSelection, init_model_pin, listHarnessModelSupport, recordHarnessModelSupport, agentRanModel, getAgentHarnessCliVersion, setAgentHarnessCliVersion, init_harness_model_support, sanitizeModelTierOverrides, parseModelTierOverridesHeader, setAgentModelTierOverrides, previewModelTiers, recordClaimModelResolution, init_model_tier_resolution, harnessModelErrorFor, poolTaskRunsOnHarness, explicitModelError, explicitModelErrorForAgent, init_model_validation, stripSiblingBlock, init_sibling_block, createTaskWithSiblingAwareness, init_sibling_awareness, transcribeAudioNotes, init_transcription, init_templates, buildEffectiveText, bufferedFileFailures, fetchSlackFiles, createSlackTaskWithFiles, notifySlackFileFailures, init_inbound_files, isAddressedToOtherUser, broadcastMatches, routeMessage, extractTaskFromMessage, init_router, extractSlackMessageText, slackInboundMessageText, collectSlackMessageFiles, init_message_text, createAdditiveBuffer, init_additive_buffer, recoverIncompleteRuns, init_recovery, handleWebhookTrigger, verifyHmacSignature, WebhookError, init_triggers, snapshotAndUpdateWorkflow, init_version, RawLlmConfigSchema, RawLlmOutputSchema, executeRawLlm, init_raw_llm, getExecutorRegistry2, initWorkflows2, init_workflows, dispatchScheduleTarget, calculateNextRun2, startScheduler2, stopScheduler2, runScheduleNow2, init_scheduler, ExtensionAssetConflictError, init_assets, ExtensionOwnershipError, getExtensionFiles, getExtensionById, getExtensionByName, listExtensions, listExtensionVersions, updateExtensionMeta, listExtensionRuns, init_db, SDK_ALLOWLIST, mcpToolNameForSdkMethod, init_sdk_allowlist, MCP_OVERFLOW_NAMESPACE, mcpOverflowAuthError, init_kv_overflow, hasKvViewArgs, resolveKvView, init_kv_view, toolErr, createToolRegistrar, init_utils, handleMcpBridge, init_mcp_bridge, Redacted, init_redacted, SCRIPT_SDK_RESPONSE_LIMIT_BYTES, readScriptSdkJsonResponse, init_response_limit, ExtensionConfigError, init_loader, ExtensionLifecycleError, setExtensionLoopbackBaseUrl, enableExtension, disableExtension, activateVersion, ExtensionAssetsInvalidError, installExtensionWithAssets, uninstallExtension, reloadExtension, loadEnabledExtensions, stopExtensionRuntime, init_lifecycle, ExtensionAbortedError2, isRegistered2, isExtensionAgentId2, getExtensionBridgeToken2, resolveBridgeCallOrigin2, extensionIdForAgent2, runContext2, registerLoaded2, unregister2, listRegistered2, dispatchPre2, dispatchPost2, init_dispatcher, REBOOT_RETRY_PIN_TAG2, getPinCandidateAgent2, resolveLeadOnlyRecoveryAssignment2, getResumeGeneration2, getNextResumeGeneration2, inheritedModelSelection2, createWorkerTaskFollowUp2, createResumeFollowUp2, createRerouteDecisionTask2, createPoolStarvationDecisionTask2, init_worker_follow_up, isGitHubEnabled, initGitHub, verifyWebhookSignature, isAgentMailEnabled, initAgentMail, verifyAgentMailWebhook, isInboxAllowed, isSenderAllowed, handleMessageReceived, init_agentmail, isAzureDevOpsEnabled, initAzureDevOps, verifyAzureDevOpsWebhook, isAzureDevOpsUrl, canonicalAzureDevOpsRepoUrl, parseAzureDevOpsRepoUrl, init_azure_devops, createdPullRequestOf, commentedPayloadOf, handlePullRequestCreated, handlePullRequestCommented, handleWorkItemCreated, handleWorkItemUpdated, handleWorkItemCommented, handleWorkItemDeleted, handleWorkItemRestored, initAzureDevOpsOutbound, init_azure_devops2, enqueueAuditRow, enqueueAdmissionRow, flushAuditBuffer, startAuditWriter, stopAuditWriter, startAuditGc, stopAuditGc, init_rbac_audit, getTelemetryIngestAnchor, init_telemetry_ingest_anchor, initApiTelemetry, syncTelemetryEnabled, init_telemetry_enable, isBitbucketEnabled, initBitbucket, verifyBitbucketWebhook, isDuplicateDelivery, markDeliveryProcessed, pullRequestEventOf, pullRequestCommentEventOf, handlePullRequestCreated2, handlePullRequestCommentCreated, handlePullRequestClosed, init_bitbucket, handlePullRequest, handleIssue, handleComment, handlePullRequestReview, handleCheckRun, handleCheckSuite, handleWorkflowRun, init_github, isGitLabEnabled, initGitLab, verifyGitLabWebhook, handleMergeRequest, handleIssue2, handleNote, handlePipeline, init_gitlab, isChatSdkEnabled, getChatSdkConfig, init_config, errorMessage, init_logger, resolveAdapterApiUrl, init_adapters, trackBackground, init_background, TelegramBotApiError, callTelegramBotApi, init_telegram_api, isTrustedTeamsServiceUrl, init_teams_origin, getSessionLabels, rememberSessionLabel, init_session_labels, isChatSdkStopping, startChatSdk, getChatInstance, isChatAdapterConfigured, getChatSdkHealth, stopChatSdk, init_runtime, getJiraMetadata, updateJiraMetadata, clearJiraMetadata, init_metadata, registerJiraWebhook, deleteJiraWebhook, init_webhook_lifecycle, isJiraEnabled, initJira, init_app, handleJiraWebhook, init_webhook, init_jira, handleAgentSessionEvent, handleIssueUpdate, handleIssueDelete, handleAgentSessionPrompted, init_sync, isLinearEnabled, initLinear, init_app2, init_linear, init_slack, isCookieSafePageId, extractPageSession, extractLegacyPageSession, extractAndVerifyCookie, pageSessionSetCookies, init_page_session, resolveHttpRequestAuth, init_auth, getDeploymentEnvValue, loadGlobalConfigsIntoEnv, reloadGlobalConfigsAndIntegrations, scheduleIntegrationsReload, handleCore, init_core, MCP_MAX_TOOL_INPUT_ELEMENTS, MCP_MAX_REQUEST_BODY_BYTES, init_mcp_limits, userCtx, init_task_tool_ctx, requestPrincipal, agentFirstPrincipal, requireAuthKind, rejectGuest, init_request_principal, handleApps, init_apps, cancelApprovalRequest, cancelApprovalRequestAndRun, init_approval_cancel, getUserCommsPrefs, init_requester_comms, getTaskDetailsInputSchema, getTaskDetailsOutputSchema, getTaskDetailsHandler, init_get_task_details, cancelTaskInputSchema, cancelTaskOutputSchema, cancelTaskHandler, init_cancel_task, executeReadOnlyQuery, assertSelectOnlyQuery, handleDbQuery, init_db_query, snapshotMetric, init_version2, AssetKeyAuthorizationError, authorizeAssetKeyWrite, init_asset_key_auth, getPageEditCounter, init_page_versions, snapshotPage, init_version3, assertOAuthAppUrlsSafe, assertOAuthEgressUrlSafe, init_app_validation, listOAuthPresets, listOAuthPresetIds, getOAuthPreset, hydrateOAuthAppFromPreset, init_presets, scopedResourceScopeIdSchema, resolveScopedResourceId, init_scoped_resource, MemoryKeyError, init_key_guard, refreshLinks, init_link_resolver, indexMemoryContent, init_index_content, dedupeMemoryDocumentIds, recordMemoryAccesses, recordRetrievals, init_retrieval, ExplicitSelfDuplicateError, applyRating, init_store, shouldPersistAutomaticTaskMemory, init_automatic_task_gate, guardTerminalTaskResultWrite, init_terminal_result_guard, getTasksInputSchema, getTasksOutputSchema, getTasksHandler, init_get_tasks, reservedNamespaceError, privateNamespaceError, reservedRoomKeyError, init_kv_reserved_namespaces, updateMcpServerChecked, init_mcp_server_checked_update, updateTouchesStdioExecution, init_mcp_server_stdio_gate, canReadMemory, init_access, getLinksForMemory, init_links_store, expandCandidatesWithGraph, init_graph_expansion, isApiDraining, drainApi, init_api_drain, markKapsoMessageRead, sendKapsoReaction, init_client, getKapsoConfig, getKapsoNumberMapping, markKapsoMessageSeen, init_config2, changesAllowMerge, init_repo_merge_policy, updateSwarmRepoChecked, init_repo_checked_update, getCombConfig, init_config3, resolveRoomNamespace, roomRequestInfo, authorizeRoomNamespace, sessionAccessTopic, sessionPresenceRoot, init_auth2, RoomOperationSchema, init_document, removeAwarenessStates, init_awareness, roomTopic, decodeRoomSnapshot, roomView, getRoom, changeRoom, applyRoomUpdate, resetRoom, sweepRooms, closeRooms, removeNamespaceRooms, init_rooms, init_scheduler2, MEMORY_KEYS_DEFAULT_PREFIX, MEMORY_KEYS_MAX_LIMIT, estimateTokens, posteriorMean, listMemoryKeys, checkChunkIntegrity, getMemoryChunks, getPosteriorsByIds, init_key_browser, createEvent, createEventsBatch, getEventCountsFiltered, getEventsFiltered, init_events, mergeScheduleTiming, validateRecurringTiming, init_validate, checkOutputSchemaShape, sendTaskOutputSchema, sendTaskHandler, init_send_task, steerTaskUserInputSchema, steerTaskOutputSchema, steerTaskHandler, init_steer_task, canClaim, init_budget_admission, emitBudgetRefusalSideEffects, init_budget_refusal_notify, workflowModelErrors, init_model_validation2, patchWorkflowDefinition, init_patch_definition, idempotencyKeyHeader, readIdempotencyKey, replayAcceptedOperation, init_idempotency_key, resolveScriptsOnlyMode, init_scripts_only_mode, ALL_CAPABILITIES, hasCapability, getEnabledCapabilities, createServer, init_server };
140031
+ export { DEFAULT_NEGOTIATED_PROTOCOL_VERSION, SUPPORTED_PROTOCOL_VERSIONS, isJSONRPCRequest, isJSONRPCResultResponse, isJSONRPCErrorResponse, JSONRPCMessageSchema, isInitializeRequest, init_types, McpServer, init_mcp, repointTrackerSyncBySwarmId, init_tracker, isRuntimePoolWakeable, isAgentReachable, init_reachability, referencedBundlePaths, skillDirs, init_manifest_format, TaskCreationBlockedError, init_errors2, resolveIdentity, renderIdentity, init_identity, recordUnmappedIdentity, init_unmapped_identities, MAX_TASK_ATTACHMENT_BYTES, recordTaskAttachmentUpload, scopeFromAttachment, backingProviderId, init_task_attachment_store, taskModelPin, resumedTaskModelSelection, init_model_pin, listHarnessModelSupport, recordHarnessModelSupport, agentRanModel, getAgentHarnessCliVersion, setAgentHarnessCliVersion, init_harness_model_support, sanitizeModelTierOverrides, parseModelTierOverridesHeader, setAgentModelTierOverrides, previewModelTiers, recordClaimModelResolution, init_model_tier_resolution, harnessModelErrorFor, poolTaskRunsOnHarness, explicitModelError, explicitModelErrorForAgent, init_model_validation, stripSiblingBlock, init_sibling_block, createTaskWithSiblingAwareness, init_sibling_awareness, transcribeAudioNotes, init_transcription, init_templates, buildEffectiveText, bufferedFileFailures, fetchSlackFiles, createSlackTaskWithFiles, notifySlackFileFailures, init_inbound_files, isAddressedToOtherUser, broadcastMatches, routeMessage, extractTaskFromMessage, init_router, isSlackThreadLeft, shouldSkipLeftSlackThread, init_left_threads, extractSlackMessageText, slackInboundMessageText, collectSlackMessageFiles, init_message_text, createAdditiveBuffer, init_additive_buffer, recoverIncompleteRuns, init_recovery, handleWebhookTrigger, verifyHmacSignature, WebhookError, init_triggers, snapshotAndUpdateWorkflow, init_version, RawLlmConfigSchema, RawLlmOutputSchema, executeRawLlm, init_raw_llm, getExecutorRegistry2, initWorkflows2, init_workflows, dispatchScheduleTarget, calculateNextRun2, startScheduler2, stopScheduler2, runScheduleNow2, init_scheduler, ExtensionAssetConflictError, init_assets, ExtensionOwnershipError, getExtensionFiles, getExtensionById, getExtensionByName, listExtensions, listExtensionVersions, updateExtensionMeta, listExtensionRuns, init_db, SDK_ALLOWLIST, mcpToolNameForSdkMethod, init_sdk_allowlist, MCP_OVERFLOW_NAMESPACE, mcpOverflowAuthError, init_kv_overflow, hasKvViewArgs, resolveKvView, init_kv_view, toolErr, createToolRegistrar, init_utils, handleMcpBridge, init_mcp_bridge, Redacted, init_redacted, SCRIPT_SDK_RESPONSE_LIMIT_BYTES, readScriptSdkJsonResponse, init_response_limit, ExtensionConfigError, init_loader, ExtensionLifecycleError, setExtensionLoopbackBaseUrl, enableExtension, disableExtension, activateVersion, ExtensionAssetsInvalidError, installExtensionWithAssets, uninstallExtension, reloadExtension, loadEnabledExtensions, stopExtensionRuntime, init_lifecycle, ExtensionAbortedError2, isRegistered2, isExtensionAgentId2, getExtensionBridgeToken2, resolveBridgeCallOrigin2, extensionIdForAgent2, runContext2, registerLoaded2, unregister2, listRegistered2, dispatchPre2, dispatchPost2, init_dispatcher, REBOOT_RETRY_PIN_TAG2, getPinCandidateAgent2, resolveLeadOnlyRecoveryAssignment2, getResumeGeneration2, getNextResumeGeneration2, inheritedModelSelection2, createWorkerTaskFollowUp2, createResumeFollowUp2, createRerouteDecisionTask2, createPoolStarvationDecisionTask2, init_worker_follow_up, isGitHubEnabled, initGitHub, verifyWebhookSignature, isAgentMailEnabled, initAgentMail, verifyAgentMailWebhook, isInboxAllowed, isSenderAllowed, handleMessageReceived, init_agentmail, isAzureDevOpsEnabled, initAzureDevOps, verifyAzureDevOpsWebhook, isAzureDevOpsUrl, canonicalAzureDevOpsRepoUrl, parseAzureDevOpsRepoUrl, init_azure_devops, createdPullRequestOf, commentedPayloadOf, handlePullRequestCreated, handlePullRequestCommented, handleWorkItemCreated, handleWorkItemUpdated, handleWorkItemCommented, handleWorkItemDeleted, handleWorkItemRestored, initAzureDevOpsOutbound, init_azure_devops2, enqueueAuditRow, enqueueAdmissionRow, flushAuditBuffer, startAuditWriter, stopAuditWriter, startAuditGc, stopAuditGc, init_rbac_audit, getTelemetryIngestAnchor, init_telemetry_ingest_anchor, initApiTelemetry, syncTelemetryEnabled, init_telemetry_enable, isBitbucketEnabled, initBitbucket, verifyBitbucketWebhook, isDuplicateDelivery, markDeliveryProcessed, pullRequestEventOf, pullRequestCommentEventOf, handlePullRequestCreated2, handlePullRequestCommentCreated, handlePullRequestClosed, init_bitbucket, handlePullRequest, handleIssue, handleComment, handlePullRequestReview, handleCheckRun, handleCheckSuite, handleWorkflowRun, init_github, isGitLabEnabled, initGitLab, verifyGitLabWebhook, handleMergeRequest, handleIssue2, handleNote, handlePipeline, init_gitlab, isChatSdkEnabled, getChatSdkConfig, init_config, errorMessage, init_logger, resolveAdapterApiUrl, init_adapters, trackBackground, init_background, TelegramBotApiError, callTelegramBotApi, init_telegram_api, isTrustedTeamsServiceUrl, init_teams_origin, getSessionLabels, rememberSessionLabel, init_session_labels, isChatSdkStopping, startChatSdk, getChatInstance, isChatAdapterConfigured, getChatSdkHealth, stopChatSdk, init_runtime, getJiraMetadata, updateJiraMetadata, clearJiraMetadata, init_metadata, registerJiraWebhook, deleteJiraWebhook, init_webhook_lifecycle, isJiraEnabled, initJira, init_app, handleJiraWebhook, init_webhook, init_jira, handleAgentSessionEvent, handleIssueUpdate, handleIssueDelete, handleAgentSessionPrompted, init_sync, isLinearEnabled, initLinear, init_app2, init_linear, init_slack, isCookieSafePageId, extractPageSession, extractLegacyPageSession, extractAndVerifyCookie, pageSessionSetCookies, init_page_session, resolveHttpRequestAuth, init_auth, getDeploymentEnvValue, loadGlobalConfigsIntoEnv, reloadGlobalConfigsAndIntegrations, scheduleIntegrationsReload, handleCore, init_core, MCP_MAX_TOOL_INPUT_ELEMENTS, MCP_MAX_REQUEST_BODY_BYTES, init_mcp_limits, userCtx, init_task_tool_ctx, requestPrincipal, agentFirstPrincipal, requireAuthKind, rejectGuest, init_request_principal, handleApps, init_apps, cancelApprovalRequest, cancelApprovalRequestAndRun, init_approval_cancel, getUserCommsPrefs, init_requester_comms, getTaskDetailsInputSchema, getTaskDetailsOutputSchema, getTaskDetailsHandler, init_get_task_details, cancelTaskInputSchema, cancelTaskOutputSchema, cancelTaskHandler, init_cancel_task, executeReadOnlyQuery, assertSelectOnlyQuery, handleDbQuery, init_db_query, snapshotMetric, init_version2, AssetKeyAuthorizationError, authorizeAssetKeyWrite, init_asset_key_auth, getPageEditCounter, init_page_versions, snapshotPage, init_version3, assertOAuthAppUrlsSafe, assertOAuthEgressUrlSafe, init_app_validation, listOAuthPresets, listOAuthPresetIds, getOAuthPreset, hydrateOAuthAppFromPreset, init_presets, scopedResourceScopeIdSchema, resolveScopedResourceId, init_scoped_resource, MemoryKeyError, init_key_guard, refreshLinks, init_link_resolver, indexMemoryContent, init_index_content, dedupeMemoryDocumentIds, recordMemoryAccesses, recordRetrievals, init_retrieval, ExplicitSelfDuplicateError, applyRating, init_store, shouldPersistAutomaticTaskMemory, init_automatic_task_gate, guardTerminalTaskResultWrite, init_terminal_result_guard, getTasksInputSchema, getTasksOutputSchema, getTasksHandler, init_get_tasks, reservedNamespaceError, privateNamespaceError, reservedRoomKeyError, init_kv_reserved_namespaces, updateMcpServerChecked, init_mcp_server_checked_update, updateTouchesStdioExecution, init_mcp_server_stdio_gate, canReadMemory, init_access, getLinksForMemory, init_links_store, expandCandidatesWithGraph, init_graph_expansion, isApiDraining, drainApi, init_api_drain, markKapsoMessageRead, sendKapsoReaction, init_client, getKapsoConfig, getKapsoNumberMapping, markKapsoMessageSeen, init_config2, changesAllowMerge, init_repo_merge_policy, updateSwarmRepoChecked, init_repo_checked_update, getCombConfig, init_config3, resolveRoomNamespace, roomRequestInfo, authorizeRoomNamespace, sessionAccessTopic, sessionPresenceRoot, init_auth2, RoomOperationSchema, init_document, removeAwarenessStates, init_awareness, roomTopic, decodeRoomSnapshot, roomView, getRoom, changeRoom, applyRoomUpdate, resetRoom, sweepRooms, closeRooms, removeNamespaceRooms, init_rooms, init_scheduler2, MEMORY_KEYS_DEFAULT_PREFIX, MEMORY_KEYS_MAX_LIMIT, estimateTokens, posteriorMean, listMemoryKeys, checkChunkIntegrity, getMemoryChunks, getPosteriorsByIds, init_key_browser, createEvent, createEventsBatch, getEventCountsFiltered, getEventsFiltered, init_events, mergeScheduleTiming, validateRecurringTiming, init_validate, checkOutputSchemaShape, sendTaskOutputSchema, sendTaskHandler, init_send_task, steerTaskUserInputSchema, steerTaskOutputSchema, steerTaskHandler, init_steer_task, canClaim, init_budget_admission, emitBudgetRefusalSideEffects, init_budget_refusal_notify, workflowModelErrors, init_model_validation2, patchWorkflowDefinition, init_patch_definition, idempotencyKeyHeader, readIdempotencyKey, replayAcceptedOperation, init_idempotency_key, resolveScriptsOnlyMode, init_scripts_only_mode, ALL_CAPABILITIES, hasCapability, getEnabledCapabilities, createServer, init_server };