@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
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ALL_TOOLS,
3
3
  init_tool_config
4
- } from "./cli-2dfbv8qr.js";
4
+ } from "./cli-fy6x31ps.js";
5
5
  import {
6
6
  normalizeAssetKey,
7
7
  defaultAssetKey,
@@ -28,7 +28,14 @@ import {
28
28
  VersionableFieldSchema,
29
29
  SessionCostModelBreakdownSchema,
30
30
  init_types4
31
- } from "./cli-41z8xwj0.js";
31
+ } from "./cli-7wspm5gm.js";
32
+ import {
33
+ CODEX_AUTH_FAILURE_BENCH_THRESHOLD,
34
+ CODEX_AUTH_FAILURE_BENCH_MS,
35
+ CODEX_AUTH_WATCH_NAMESPACE,
36
+ codexAuthBenchMarkerKey,
37
+ init_codex_auth_failure
38
+ } from "./cli-fw2w0kva.js";
32
39
  import {
33
40
  generateDefaultClaudeMd2,
34
41
  generateDefaultSoulMd2,
@@ -42,7 +49,7 @@ import {
42
49
  init_identity_field_budget,
43
50
  contentSha256,
44
51
  init_profile_sync
45
- } from "./cli-ycm6180s.js";
52
+ } from "./cli-a7v854rf.js";
46
53
  import {
47
54
  isSlackConfigured,
48
55
  init_config4
@@ -53,7 +60,7 @@ import {
53
60
  } from "./cli-4sydckyj.js";
54
61
  import {
55
62
  init_templates4
56
- } from "./cli-v726afdm.js";
63
+ } from "./cli-2pnswgh8.js";
57
64
  import {
58
65
  SUBSCRIPTION_KEY_TYPES,
59
66
  planAllowsModelFamily,
@@ -70,7 +77,7 @@ import {
70
77
  deriveProviderFromKeyType,
71
78
  selectCredential,
72
79
  init_credentials2
73
- } from "./cli-aq58fk5m.js";
80
+ } from "./cli-g83s9ewh.js";
74
81
  import {
75
82
  registerTemplate,
76
83
  getAllTemplateDefinitions,
@@ -78,11 +85,11 @@ import {
78
85
  configureDbResolver,
79
86
  init_resolver,
80
87
  init_session_templates
81
- } from "./cli-j4kw3rsx.js";
88
+ } from "./cli-cm5yqn35.js";
82
89
  import {
83
90
  runtimeHarnessSections,
84
91
  init_runtime_model_catalog
85
- } from "./cli-a2jw6ee5.js";
92
+ } from "./cli-1p89xny0.js";
86
93
  import {
87
94
  init_zod
88
95
  } from "./cli-k5671be5.js";
@@ -110,7 +117,7 @@ import {
110
117
  import {
111
118
  init_package,
112
119
  package_default
113
- } from "./cli-pe09p6dv.js";
120
+ } from "./cli-tqgg40ek.js";
114
121
  import {
115
122
  realtimeBus,
116
123
  init_bus
@@ -125,13 +132,13 @@ import {
125
132
  registerVolatileSecret,
126
133
  registerSensitiveKeyName,
127
134
  init_secret_scrubber
128
- } from "./cli-a4btqqft.js";
135
+ } from "./cli-1b7btd38.js";
129
136
  import {
130
137
  isAlias,
131
138
  parseAlias,
132
139
  harnessModelMismatch,
133
140
  init_src2
134
- } from "./cli-4r12t6w6.js";
141
+ } from "./cli-5c4hjzne.js";
135
142
  import {
136
143
  __toCommonJS,
137
144
  __commonJS,
@@ -5019,7 +5026,7 @@ var init_runtime2 = __esm(() => {
5019
5026
  // src/telemetry-identity.ts
5020
5027
  async function loadUserRole(userId) {
5021
5028
  try {
5022
- const { getUserGrant } = await import("./rbac-roles-svj72cdf.js");
5029
+ const { getUserGrant } = await import("./rbac-roles-0fb6e7pj.js");
5023
5030
  const grant = await getUserGrant(userId);
5024
5031
  const role = grant.grantsAll ? "admin" : "member";
5025
5032
  const user = await getDbClient2().get("SELECT json_extract(metadata, '$.jobFunction') AS jobFunction FROM users WHERE id = ? AND json_valid(metadata)", [userId]);
@@ -5181,27 +5188,6 @@ var init_telemetry_trigger = __esm(() => {
5181
5188
  rootSurfaceCache = new Map;
5182
5189
  });
5183
5190
 
5184
- // src/utils/codex-auth-failure.ts
5185
- function isCodexAuthFailureReason(failureReason) {
5186
- if (!failureReason || !failureReason.includes("[auth-error]"))
5187
- return false;
5188
- const lower = failureReason.toLowerCase();
5189
- return !TRANSIENT_AUTH_ERROR_MARKERS.some((m) => lower.includes(m));
5190
- }
5191
- var CODEX_AUTH_FAILURE_BENCH_THRESHOLD = 2, CODEX_AUTH_FAILURE_BENCH_MS, CODEX_AUTH_WATCH_NAMESPACE = "codex-auth-watch", codexAuthBenchMarkerKey = (keySuffix) => `bench:${keySuffix}`, TRANSIENT_AUTH_ERROR_MARKERS;
5192
- var init_codex_auth_failure = __esm(() => {
5193
- CODEX_AUTH_FAILURE_BENCH_MS = 365 * 24 * 60 * 60 * 1000;
5194
- TRANSIENT_AUTH_ERROR_MARKERS = [
5195
- "waiting for the refresh lock",
5196
- "refresh rejected (429",
5197
- "refresh rejected (5",
5198
- "refresh rejected (unknown status",
5199
- "out of credits",
5200
- "no credentials found in config store",
5201
- "not a confirmed auth rejection"
5202
- ];
5203
- });
5204
-
5205
5191
  // src/utils/config-env-export.ts
5206
5192
  function isEnvExportRestrictedKey(key) {
5207
5193
  return ENV_EXPORT_RESTRICTED_KEYS.has(key.toUpperCase()) || CONNECTION_SECRET_KEY.test(key);
@@ -7267,8 +7253,8 @@ var init_page_search = __esm(() => {
7267
7253
 
7268
7254
  // src/be/db/session-visibility.ts
7269
7255
  function sessionViewerCondition(viewer) {
7270
- const shared = `EXISTS (SELECT 1 FROM session_shares s
7271
- WHERE s.rootTaskId = r.id AND s.revokedAt IS NULL AND (s.userId IS NULL OR s.userId = ?))`;
7256
+ const shared = `r.id IN (SELECT s.rootTaskId FROM session_shares s
7257
+ WHERE s.revokedAt IS NULL AND (s.userId IS NULL OR s.userId = ?))`;
7272
7258
  if (viewer.scope === "mine") {
7273
7259
  return { sql: "r.requestedByUserId = ?", params: [viewer.userId] };
7274
7260
  }
@@ -7289,8 +7275,8 @@ function sessionMineCondition(userId) {
7289
7275
  return {
7290
7276
  sql: `((r.requestedByUserId = ? AND (r.source NOT IN (${machine})
7291
7277
  OR (r.source = 'system' AND r.taskType IN (${humanSystem}))))
7292
- OR EXISTS (SELECT 1 FROM session_shares s
7293
- WHERE s.rootTaskId = r.id AND s.revokedAt IS NULL AND (s.userId IS NULL OR s.userId = ?)))`,
7278
+ OR r.id IN (SELECT s.rootTaskId FROM session_shares s
7279
+ WHERE s.revokedAt IS NULL AND (s.userId IS NULL OR s.userId = ?)))`,
7294
7280
  params: [userId, ...MACHINE_SESSION_SOURCES, ...HUMAN_SYSTEM_TASK_TYPES, userId]
7295
7281
  };
7296
7282
  }
@@ -7405,21 +7391,21 @@ var init_session_moves = __esm(() => {
7405
7391
  });
7406
7392
 
7407
7393
  // src/be/db/session-tree.ts
7408
- function sessionReadStateSql(userId, now = new Date().toISOString()) {
7394
+ function sessionReadStateSql(userId, now = new Date().toISOString(), a = LEGACY_READ_STATE_COLUMNS) {
7409
7395
  const quiet = new Date(Date.parse(now) - AUTO_DONE_QUIET_MS).toISOString();
7410
7396
  const scope = inboxScopeCondition(userId);
7411
- const autoDone = `(a.openTasks = 0 AND a.pendingApproval = 0 AND a.lastActivityAt <= ? AND ${scope.sql})`;
7397
+ const autoDone = `(${a.openTasks} = 0 AND ${a.pendingApproval} = 0 AND ${a.lastActivityAt} <= ? AND ${scope.sql})`;
7412
7398
  const autoDoneParams = [quiet, ...scope.params];
7413
7399
  return {
7414
7400
  sql: `CASE
7415
7401
  WHEN s.id IS NULL THEN CASE
7416
- WHEN a.lastActivityAt > ? THEN 'unread'
7402
+ WHEN ${a.lastActivityAt} > ? THEN 'unread'
7417
7403
  WHEN ${autoDone} THEN 'done'
7418
7404
  ELSE 'read' END
7419
7405
  WHEN s.status = 'dismissed' THEN 'done'
7420
- WHEN s.status = 'done' THEN CASE WHEN a.reopensDone > 0 THEN 'unread' ELSE 'done' END
7406
+ WHEN s.status = 'done' THEN CASE WHEN ${a.reopensDone} THEN 'unread' ELSE 'done' END
7421
7407
  WHEN s.status = 'snoozed' THEN CASE WHEN s.snoozeUntil > ? THEN 'later' ELSE 'unread' END
7422
- WHEN a.lastActivityAt > COALESCE(s.lastReadAt, s.lastUpdatedAt) THEN 'unread'
7408
+ WHEN ${a.lastActivityAt} > COALESCE(s.lastReadAt, s.lastUpdatedAt) THEN 'unread'
7423
7409
  WHEN ${autoDone} AND s.lastUpdatedAt <= ? THEN 'done'
7424
7410
  ELSE 'read'
7425
7411
  END`,
@@ -7435,29 +7421,42 @@ function sessionReadStateSql(userId, now = new Date().toISOString()) {
7435
7421
  function sourceKeyRanges() {
7436
7422
  return SESSION_SOURCES.map((source) => ({ source, ...keyPrefixRange(`shared/${source}/`) }));
7437
7423
  }
7438
- function threadRootsSql() {
7424
+ function sourceThreadKeySql() {
7439
7425
  const key = 'r."key"';
7440
7426
  const leaf = `substr(${key}, length(rtrim(rtrim(${key}, '/'), replace(${key}, '/', ''))) + 1)`;
7441
7427
  const ranges = sourceKeyRanges();
7442
7428
  return {
7443
- sql: `(CASE WHEN (${ranges.map(() => `(${key} >= ? AND ${key} < ?)`).join(" OR ")}) AND ${leaf} GLOB 'thread:?*/'
7444
- THEN (SELECT COUNT(*) FROM agent_tasks session_thread_root WHERE session_thread_root."key" = ${key}
7445
- AND session_thread_root.parentTaskId IS NULL AND session_thread_root.requestedByUserId IS NOT NULL)
7446
- ELSE 0 END)`,
7429
+ sql: `(${ranges.map(() => `(${key} >= ? AND ${key} < ?)`).join(" OR ")}) AND ${leaf} GLOB 'thread:?*/'`,
7447
7430
  params: ranges.flatMap(({ lo, hi }) => [lo, hi])
7448
7431
  };
7449
7432
  }
7433
+ function threadRootsSql() {
7434
+ const thread = sourceThreadKeySql();
7435
+ return {
7436
+ sql: `(CASE WHEN ${thread.sql}
7437
+ THEN (SELECT COUNT(*) FROM session_summaries session_thread_root
7438
+ WHERE session_thread_root."key" = r."key" AND session_thread_root.requestedByUserId IS NOT NULL)
7439
+ ELSE 0 END)`,
7440
+ params: thread.params
7441
+ };
7442
+ }
7443
+ async function threadRootCounts() {
7444
+ const thread = sourceThreadKeySql();
7445
+ const rows = await getDbClient2().query(`SELECT r."key", COUNT(*) AS threadRoots FROM session_summaries r
7446
+ WHERE r.requestedByUserId IS NOT NULL AND ${thread.sql} GROUP BY r."key"`, thread.params);
7447
+ return new Map(rows.map((row) => [row.key, row.threadRoots]));
7448
+ }
7450
7449
  async function getSessionGroupKey(task) {
7451
7450
  const threadRoots = threadRootsSql();
7452
7451
  const row = await getDbClient2().get(`SELECT ${threadRoots.sql} AS threadRoots FROM agent_tasks r WHERE r.id = ?`, [...threadRoots.params, task.id]);
7453
7452
  return sessionThreadGroupKey(task.key, row?.threadRoots ?? 0);
7454
7453
  }
7455
- function groupCondition(group) {
7454
+ function groupCondition(group, scan = false) {
7456
7455
  const { lo, hi } = keyPrefixRange(group);
7457
7456
  const start = [...lo].length + 1;
7458
7457
  const threadRoots = threadRootsSql();
7459
7458
  return {
7460
- sql: `(r."key" >= ? AND r."key" < ? AND (r."key" = ? OR (
7459
+ sql: `(${scan ? "+" : ""}r."key" >= ? AND ${scan ? "+" : ""}r."key" < ? AND (r."key" = ? OR (
7461
7460
  instr(substr(r."key", ?, length(r."key") - ?), '/') = 0 AND
7462
7461
  (${SESSION_LEAF_KINDS.map(() => 'substr(r."key", ?) GLOB ?').join(" OR ")}) AND
7463
7462
  ${threadRoots.sql} < ?
@@ -7475,9 +7474,9 @@ function groupCondition(group) {
7475
7474
  };
7476
7475
  }
7477
7476
  function noGroupCondition(userId) {
7478
- const groups = [groupCondition("shared/")];
7477
+ const groups = [groupCondition("shared/", true)];
7479
7478
  if (userId)
7480
- groups.push(groupCondition(`personal/${userId}/`));
7479
+ groups.push(groupCondition(`personal/${userId}/`, true));
7481
7480
  return {
7482
7481
  sql: `(${groups.map((g) => g.sql).join(" OR ")})`,
7483
7482
  params: groups.flatMap((g) => g.params)
@@ -7487,7 +7486,7 @@ function inboxScopeCondition(userId) {
7487
7486
  const ranges = sourceKeyRanges();
7488
7487
  const noGroup = noGroupCondition(userId);
7489
7488
  return {
7490
- sql: `(${ranges.map(() => '(r."key" >= ? AND r."key" < ?)').join(" OR ")} OR ${noGroup.sql})`,
7489
+ sql: `(${ranges.map(() => '(+r."key" >= ? AND +r."key" < ?)').join(" OR ")} OR ${noGroup.sql})`,
7491
7490
  params: [...ranges.flatMap(({ lo, hi }) => [lo, hi]), ...noGroup.params]
7492
7491
  };
7493
7492
  }
@@ -7499,7 +7498,7 @@ function effectiveSourceSql() {
7499
7498
  };
7500
7499
  }
7501
7500
  function sessionRootFilter(opts = {}) {
7502
- const conditions = ["r.parentTaskId IS NULL"];
7501
+ const conditions = [];
7503
7502
  const params = [];
7504
7503
  const add = (fragment) => {
7505
7504
  conditions.push(fragment.sql);
@@ -7529,7 +7528,8 @@ function sessionRootFilter(opts = {}) {
7529
7528
  if (opts.q?.trim()) {
7530
7529
  const like = `%${opts.q.trim().toLowerCase()}%`;
7531
7530
  add({
7532
- sql: "(lower(r.task) LIKE ? OR lower(COALESCE(r.title, '')) LIKE ?)",
7531
+ sql: `EXISTS (SELECT 1 FROM agent_tasks rt WHERE rt.id = r.id
7532
+ AND (lower(rt.task) LIKE ? OR lower(COALESCE(rt.title, '')) LIKE ?))`,
7533
7533
  params: [like, like]
7534
7534
  });
7535
7535
  }
@@ -7543,7 +7543,7 @@ function sessionRootFilter(opts = {}) {
7543
7543
  if (opts.viewer) {
7544
7544
  add(sessionViewerCondition(opts.viewer));
7545
7545
  if (opts.tree)
7546
- conditions.push("r.requestedByUserId IS NOT NULL");
7546
+ conditions.push("+r.requestedByUserId IS NOT NULL");
7547
7547
  if (opts.mine)
7548
7548
  add(sessionMineCondition(opts.viewer.userId));
7549
7549
  }
@@ -7566,7 +7566,7 @@ function sessionRootFilter(opts = {}) {
7566
7566
  const scope = inboxScopeCondition(opts.viewer?.userId);
7567
7567
  add(opts.triage === "done" && opts.viewer?.userId ? { sql: `(${marked.sql} OR ${scope.sql})`, params: [...marked.params, ...scope.params] } : marked);
7568
7568
  }
7569
- return { sql: conditions.join(" AND "), params };
7569
+ return { sql: conditions.length ? conditions.join(" AND ") : "1", params };
7570
7570
  }
7571
7571
  function excludesTriaged(opts) {
7572
7572
  return !!(opts.viewer?.userId && (opts.groupKey || opts.keyPrefix || opts.noGroup));
@@ -7574,13 +7574,8 @@ function excludesTriaged(opts) {
7574
7574
  function hasSessionChainFilter(opts) {
7575
7575
  return !!(opts.triage || opts.status || opts.withUserId || excludesTriaged(opts));
7576
7576
  }
7577
- function sessionSummaryQuery(opts = {}) {
7578
- const root = sessionRootFilter(opts);
7579
- const read = opts.viewer?.userId ? sessionReadStateSql(opts.viewer.userId, opts.now) : { sql: "NULL", params: [] };
7580
- const params = [...root.params];
7581
- if (opts.withUserId)
7582
- params.push(opts.withUserId);
7583
- params.push(opts.viewer?.userId ?? null, ...read.params, opts.viewer?.userId ?? null);
7577
+ function summaryRowFilters(opts) {
7578
+ const params = [];
7584
7579
  const filters = [];
7585
7580
  if (opts.triage === "unread")
7586
7581
  filters.push("readState = 'unread'");
@@ -7601,37 +7596,40 @@ function sessionSummaryQuery(opts = {}) {
7601
7596
  WHERE sh.rootTaskId = a.root_id AND sh.revokedAt IS NULL AND sh.userId = ?))`);
7602
7597
  params.push(opts.withUserId);
7603
7598
  }
7599
+ return { sql: filters.length ? `WHERE ${filters.join(" AND ")}` : "", params };
7600
+ }
7601
+ function sessionSummaryQuery(opts = {}) {
7602
+ const root = sessionRootFilter(opts);
7603
+ const read = opts.viewer?.userId ? sessionReadStateSql(opts.viewer.userId, opts.now, {
7604
+ lastActivityAt: "r.lastActivityAt",
7605
+ openTasks: "r.openTaskCount",
7606
+ pendingApproval: "r.pendingApprovalCount",
7607
+ reopensDone: "r.lastHumanAt > s.lastUpdatedAt"
7608
+ }) : { sql: "NULL", params: [] };
7609
+ const filters = summaryRowFilters(opts);
7610
+ const withUser = opts.withUserId ? `r.id IN (SELECT m.rootId FROM agent_tasks t JOIN session_members m ON m.taskId = t.id
7611
+ WHERE t.requestedByUserId = ?) AS withUser,` : "";
7604
7612
  return {
7605
- sql: `WITH RECURSIVE chain(root_id, id, lastUpdatedAt, status, requestedByUserId,
7606
- createdAt, source, requestedByUserIdInherited) AS (
7607
- SELECT r.id, r.id, r.lastUpdatedAt, r.status, r.requestedByUserId,
7608
- r.createdAt, r.source, r.requestedByUserIdInherited
7609
- FROM agent_tasks r WHERE ${root.sql}
7610
- UNION ALL
7611
- SELECT c.root_id, t.id, t.lastUpdatedAt, t.status, t.requestedByUserId,
7612
- t.createdAt, t.source, t.requestedByUserIdInherited
7613
- FROM chain c JOIN agent_tasks t ON t.parentTaskId = c.id
7614
- ), agg AS (
7615
- SELECT chain.root_id, COUNT(*) AS chainCount,
7616
- chain.status AS latestStatus, MAX(chain.lastUpdatedAt) AS lastActivityAt,
7617
- ${opts.withUserId ? "SUM(chain.requestedByUserId = ?) AS withUser," : ""}
7618
- SUM(EXISTS (SELECT 1 FROM approval_requests ar
7619
- WHERE ar.sourceTaskId = chain.id AND ar.status = 'pending')) AS pendingApproval,
7620
- SUM(${openTaskSql}) AS openTasks,
7621
- SUM(${reopensDoneSql}) AS reopensDone
7622
- FROM chain LEFT JOIN inbox_item_state d
7623
- ON d.userId = ? AND d.itemType = 'to_read' AND d.itemId = chain.root_id AND d.status = 'done'
7624
- GROUP BY chain.root_id
7625
- ), state AS (
7626
- SELECT a.*, ${read.sql} AS readState, s.snoozeUntil
7627
- FROM agg a CROSS JOIN agent_tasks r ON r.id = a.root_id LEFT JOIN inbox_item_state s
7628
- ON s.userId = ? AND s.itemType = 'to_read' AND s.itemId = a.root_id
7613
+ sql: `WITH state AS (
7614
+ SELECT r.id AS root_id, r.createdAt AS rootCreatedAt, r."key", r.source, r.slackChannelId,
7615
+ r.chainCount, r.latestStatus, r.lastActivityAt, ${withUser}
7616
+ r.pendingApprovalCount AS pendingApproval, r.openTaskCount AS openTasks,
7617
+ ${read.sql} AS readState, s.snoozeUntil
7618
+ FROM ${SESSION_ROOTS} r LEFT JOIN inbox_item_state s
7619
+ ON s.userId = ? AND s.itemType = 'to_read' AND s.itemId = r.id
7620
+ WHERE ${root.sql}
7629
7621
  ), summary AS (
7630
7622
  SELECT *, (COALESCE(readState = 'unread' AND latestStatus = 'failed', 0) OR pendingApproval) AS needsYou
7631
7623
  FROM state
7632
7624
  )
7633
- SELECT a.* FROM summary a ${filters.length ? `WHERE ${filters.join(" AND ")}` : ""}`,
7634
- params
7625
+ SELECT a.* FROM summary a ${filters.sql}`,
7626
+ params: [
7627
+ ...opts.withUserId ? [opts.withUserId] : [],
7628
+ ...read.params,
7629
+ opts.viewer?.userId ?? null,
7630
+ ...root.params,
7631
+ ...filters.params
7632
+ ]
7635
7633
  };
7636
7634
  }
7637
7635
  async function getSessionReadState(rootId, userId, now) {
@@ -7643,7 +7641,7 @@ function sessionCountQuery(opts = {}) {
7643
7641
  const chain = hasSessionChainFilter(opts);
7644
7642
  const query = chain ? sessionSummaryQuery(opts) : sessionRootFilter(opts);
7645
7643
  return {
7646
- sql: chain ? `SELECT COUNT(*) AS count FROM (${query.sql})` : `SELECT COUNT(*) AS count FROM agent_tasks r WHERE ${query.sql}`,
7644
+ sql: chain ? `SELECT COUNT(*) AS count FROM (${query.sql})` : `SELECT COUNT(*) AS count FROM ${SESSION_ROOTS} r WHERE ${query.sql}`,
7647
7645
  params: query.params
7648
7646
  };
7649
7647
  }
@@ -7653,13 +7651,11 @@ async function sessionPageFields(roots) {
7653
7651
  return result;
7654
7652
  const ids = roots.map((r) => r.id);
7655
7653
  const [tasks, shares] = await Promise.all([
7656
- getDbClient2().query(`WITH RECURSIVE chain(root_id, id) AS (
7657
- SELECT id, id FROM agent_tasks WHERE id IN (${ids.map(() => "?").join(",")})
7658
- UNION ALL SELECT c.root_id, t.id FROM chain c JOIN agent_tasks t ON t.parentTaskId = c.id
7659
- ) SELECT c.root_id, t.requestedByUserId AS id, u.name,
7654
+ getDbClient2().query(`SELECT m.rootId AS root_id, t.requestedByUserId AS id, u.name,
7660
7655
  CASE WHEN t.source = 'system' AND t.taskType = 'follow-up' THEN NULL ELSE NULLIF(trim(substr(t.output, 1, 200)), '') END AS preview
7661
- FROM chain c CROSS JOIN agent_tasks t ON t.id = c.id
7656
+ FROM session_members m CROSS JOIN agent_tasks t ON t.id = m.taskId
7662
7657
  LEFT JOIN users u ON u.id = t.requestedByUserId
7658
+ WHERE m.rootId IN (${ids.map(() => "?").join(",")})
7663
7659
  ORDER BY t.lastUpdatedAt DESC, t.createdAt DESC, t.id DESC`, ids),
7664
7660
  getDbClient2().query(`SELECT sh.rootTaskId AS root_id, sh.userId AS id, u.name, sh.access FROM session_shares sh
7665
7661
  LEFT JOIN users u ON u.id = sh.userId
@@ -7709,10 +7705,12 @@ async function getSessionTree(actor, now, opts = {}) {
7709
7705
  tree: true,
7710
7706
  mine: opts.mine
7711
7707
  });
7712
- const threadRoots = threadRootsSql();
7713
- const rows = await getDbClient2().query(`SELECT r.id, r."key", r.source, r.slackChannelId, a.lastActivityAt, a.latestStatus, a.readState, a.needsYou,
7714
- ${threadRoots.sql} AS threadRoots
7715
- FROM (${query.sql}) a CROSS JOIN agent_tasks r ON r.id = a.root_id`, [...threadRoots.params, ...query.params]);
7708
+ const [rows, threadRoots] = await Promise.all([
7709
+ getDbClient2().query(`SELECT a.root_id, a."key", a.source, a.slackChannelId, a.lastActivityAt, a.latestStatus,
7710
+ a.readState, a.needsYou
7711
+ FROM (${query.sql}) a`, query.params),
7712
+ threadRootCounts()
7713
+ ]);
7716
7714
  const counts = () => ({ total: 0, unread: 0, running: 0, needsYou: 0 });
7717
7715
  const result = {
7718
7716
  groups: [],
@@ -7744,14 +7742,15 @@ async function getSessionTree(actor, now, opts = {}) {
7744
7742
  for (const row of rows) {
7745
7743
  const source = effectiveSource(row.key, row.source);
7746
7744
  sources.set(source, (sources.get(source) ?? 0) + 1);
7747
- const key = sessionThreadGroupKey(row.key, row.threadRoots);
7745
+ const rowThreadRoots = threadRoots.get(row.key) ?? 0;
7746
+ const key = sessionThreadGroupKey(row.key, rowThreadRoots);
7748
7747
  const sourceGroupKey = sessionGroupKey(row.key);
7749
7748
  const channelId = /^shared\/slack\/([^/]+)\/$/.exec(sourceGroupKey)?.[1];
7750
7749
  if (channelId && row.slackChannelId?.toLowerCase() === channelId) {
7751
7750
  slackChannels.add(channelId);
7752
7751
  }
7753
- if (row.threadRoots >= NESTED_THREAD_MIN_ROOTS && isSourceThreadKey(row.key)) {
7754
- threadRootIds.push(row.id);
7752
+ if (rowThreadRoots >= NESTED_THREAD_MIN_ROOTS && isSourceThreadKey(row.key)) {
7753
+ threadRootIds.push(row.root_id);
7755
7754
  sourceGroups.add(sourceGroupKey);
7756
7755
  }
7757
7756
  if (sourceOfKey(key))
@@ -7827,7 +7826,7 @@ async function triageSessionList(userId, filters, action) {
7827
7826
  ]);
7828
7827
  return result.changes;
7829
7828
  }
7830
- var AUTO_DONE_QUIET_MS, terminalSql, runningSql, openTaskSql, AGENT_TASK_SOURCES, reopensDoneSql, THREAD_OPEN = "<thread_context>", THREAD_CLOSE = "</thread_context>", THREAD_OPEN_AT, THREAD_CLOSE_AT, THREAD_LABEL_LENGTH = 300, THREAD_LABEL_TRIM_MARGIN = 100, THREAD_PROMPT_SQL, UNREAD_CURSOR = "1970-01-01T00:00:00.000Z";
7829
+ var AUTO_DONE_QUIET_MS, LEGACY_READ_STATE_COLUMNS, SESSION_ROOTS = "(SELECT rootId AS id, * FROM session_summaries)", terminalSql, runningSql, openTaskSql, AGENT_TASK_SOURCES, reopensDoneSql, THREAD_OPEN = "<thread_context>", THREAD_CLOSE = "</thread_context>", THREAD_OPEN_AT, THREAD_CLOSE_AT, THREAD_LABEL_LENGTH = 300, THREAD_LABEL_TRIM_MARGIN = 100, THREAD_PROMPT_SQL, UNREAD_CURSOR = "1970-01-01T00:00:00.000Z";
7831
7830
  var init_session_tree = __esm(() => {
7832
7831
  init_key();
7833
7832
  init_source_key();
@@ -7835,6 +7834,12 @@ var init_session_tree = __esm(() => {
7835
7834
  init_db4();
7836
7835
  init_session_visibility();
7837
7836
  AUTO_DONE_QUIET_MS = 24 * 3600000;
7837
+ LEGACY_READ_STATE_COLUMNS = {
7838
+ lastActivityAt: "a.lastActivityAt",
7839
+ openTasks: "a.openTasks",
7840
+ pendingApproval: "a.pendingApproval",
7841
+ reopensDone: "a.reopensDone > 0"
7842
+ };
7838
7843
  terminalSql = TERMINAL_TASK_STATUSES.map((s) => `'${s}'`).join(",");
7839
7844
  runningSql = `latestStatus NOT IN (${terminalSql})`;
7840
7845
  openTaskSql = `chain.status NOT IN (${terminalSql})`;
@@ -8163,8 +8168,11 @@ async function dropSessionDescendants(taskId) {
8163
8168
  UNION SELECT t.id FROM descendant d JOIN agent_tasks t ON t.parentTaskId = d.id
8164
8169
  ) DELETE FROM session_members WHERE taskId IN (SELECT id FROM descendant)`, [taskId]);
8165
8170
  }
8171
+ var OPEN_TASK_SQL;
8166
8172
  var init_session_summaries = __esm(() => {
8173
+ init_types4();
8167
8174
  init_runtime2();
8175
+ OPEN_TASK_SQL = `t.status NOT IN (${TERMINAL_TASK_STATUSES.map((s) => `'${s}'`).join(", ")})`;
8168
8176
  });
8169
8177
 
8170
8178
  // src/be/db/tasks/write.ts
@@ -8428,7 +8436,7 @@ async function completeTask2(id, output, options) {
8428
8436
  });
8429
8437
  } catch {}
8430
8438
  getDbClient2().afterCommit(() => {
8431
- import("./event-bus-dfjx2qdh.js").then(({ workflowEventBus }) => {
8439
+ import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
8432
8440
  workflowEventBus.emit("task.completed", {
8433
8441
  taskId: id,
8434
8442
  output: scrubbedOutput,
@@ -8483,7 +8491,7 @@ async function failTask2(id, reason, opts = {}) {
8483
8491
  });
8484
8492
  } catch {}
8485
8493
  getDbClient2().afterCommit(() => {
8486
- import("./event-bus-dfjx2qdh.js").then(({ workflowEventBus }) => {
8494
+ import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
8487
8495
  workflowEventBus.emit("task.failed", {
8488
8496
  taskId: id,
8489
8497
  failureReason: scrubbedReason,
@@ -8565,7 +8573,7 @@ async function cancelTask2(id, reason, options = {}) {
8565
8573
  });
8566
8574
  } catch {}
8567
8575
  getDbClient2().afterCommit(() => {
8568
- import("./event-bus-dfjx2qdh.js").then(({ workflowEventBus }) => {
8576
+ import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
8569
8577
  workflowEventBus.emit("task.cancelled", {
8570
8578
  taskId: id,
8571
8579
  agentId: row.agentId,
@@ -8577,7 +8585,7 @@ async function cancelTask2(id, reason, options = {}) {
8577
8585
  if (row.source === "schedule" && row.taskType === "deferred" && row.parentTaskId) {
8578
8586
  getDbClient2().afterCommit(async () => {
8579
8587
  try {
8580
- const { createWorkerTaskFollowUp } = await import("./worker-follow-up-q32jh4yk.js");
8588
+ const { createWorkerTaskFollowUp } = await import("./worker-follow-up-ktyyazyp.js");
8581
8589
  await createWorkerTaskFollowUp({
8582
8590
  task: rowToAgentTask(row),
8583
8591
  status: "failed",
@@ -8638,7 +8646,7 @@ async function supersedeTask2(id, args) {
8638
8646
  });
8639
8647
  } catch {}
8640
8648
  getDbClient2().afterCommit(() => {
8641
- import("./event-bus-dfjx2qdh.js").then(({ workflowEventBus }) => {
8649
+ import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
8642
8650
  workflowEventBus.emit("task.superseded", {
8643
8651
  taskId: id,
8644
8652
  reason: args.reason,
@@ -8853,7 +8861,7 @@ async function updateTaskProgress2(id, progress) {
8853
8861
  });
8854
8862
  } catch {}
8855
8863
  getDbClient2().afterCommit(() => {
8856
- import("./event-bus-dfjx2qdh.js").then(({ workflowEventBus }) => {
8864
+ import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
8857
8865
  workflowEventBus.emit("task.progress", {
8858
8866
  taskId: id,
8859
8867
  progress: scrubbedProgress,
@@ -9314,7 +9322,7 @@ function emitRunFinished(runId, workflowId, status) {
9314
9322
  }
9315
9323
  function emitBusEventAfterCommit(event, payload) {
9316
9324
  getDbClient2().afterCommit(() => {
9317
- import("./event-bus-dfjx2qdh.js").then(({ workflowEventBus }) => {
9325
+ import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
9318
9326
  workflowEventBus.emit(event, payload);
9319
9327
  }).catch((err) => console.error(`[db] ${event} event not emitted:`, scrubSecrets(err instanceof Error ? err.message : String(err))));
9320
9328
  });
@@ -10135,6 +10143,7 @@ var init_swarm_config_guard = __esm(() => {
10135
10143
  "ADDITIVE_SLACK",
10136
10144
  "SLACK_THREAD_FOLLOWUP_REQUIRE_MENTION",
10137
10145
  "SLACK_THREAD_WAKE_ON_ANY_MESSAGE",
10146
+ "SLACK_LEAVE_THREAD_DISABLE",
10138
10147
  "RBAC_ENABLED",
10139
10148
  "SEED_AUTOMATIONS_ENABLED",
10140
10149
  "RBAC_AUDIT_DISABLED",
@@ -18841,7 +18850,7 @@ function noteEmbeddingSuccess() {
18841
18850
  const report = (what) => (err) => {
18842
18851
  console.error(`[memory] ${what} backfill after embeddings recovered failed:`, err.message);
18843
18852
  };
18844
- backfill2 = import("./embedding-space-s68v49ct.js").then(({ runEmbeddingMaintenance }) => runEmbeddingMaintenance({ backfill: true })).catch(report("Embedding")).finally(() => {
18853
+ backfill2 = import("./embedding-space-1z0mbg95.js").then(({ runEmbeddingMaintenance }) => runEmbeddingMaintenance({ backfill: true })).catch(report("Embedding")).finally(() => {
18845
18854
  backfill2 = null;
18846
18855
  });
18847
18856
  }
@@ -20903,7 +20912,7 @@ async function loadSecretRegistry() {
20903
20912
  result.failed += 1;
20904
20913
  }
20905
20914
  try {
20906
- const { loadRuntimeControllerSecrets } = await import("./db-capk2raj.js");
20915
+ const { loadRuntimeControllerSecrets } = await import("./db-zxpw6aht.js");
20907
20916
  const loaded = await loadRuntimeControllerSecrets();
20908
20917
  result.runtimeController = loaded.count;
20909
20918
  result.failed += loaded.failed;
@@ -21052,17 +21061,40 @@ async function requestSteering(args) {
21052
21061
  }
21053
21062
  const requestedMode = args.mode ?? "queue";
21054
21063
  const onUnsupported = args.onUnsupported ?? "degrade";
21055
- const provider = await providerForTask(task);
21064
+ const { dispatchPre, extensionIdForAgent } = await import("./dispatcher-smasgws7.js");
21065
+ const preSteer = await dispatchPre("pre.task.steer", {
21066
+ task,
21067
+ message: args.message,
21068
+ mode: requestedMode,
21069
+ source: args.source ?? "api",
21070
+ sender: {
21071
+ kind: args.createdByKind ?? "system",
21072
+ userId: args.createdByUserId,
21073
+ agentId: args.createdByAgentId
21074
+ },
21075
+ messageTimestamps: args.messageTimestamps,
21076
+ slack: args.slack
21077
+ }, {
21078
+ skipExtensionId: extensionIdForAgent(args.createdByAgentId),
21079
+ validateModify: (data) => steeringModifySchema.safeParse(data)
21080
+ });
21081
+ if (preSteer.action === "block") {
21082
+ throw new SteeringBlockedError(preSteer.reason, preSteer.extension);
21083
+ }
21084
+ const currentTask = await getTaskById2(args.taskId);
21085
+ if (!currentTask)
21086
+ throw new SteeringRequestError("Task not found", 404);
21087
+ const provider = await providerForTask(currentTask);
21056
21088
  const supportedModes = PROVIDER_STEER_CAPABILITIES[provider];
21057
21089
  if (onUnsupported === "fail" && !supportedModes.includes(requestedMode)) {
21058
21090
  const supported = supportedModes.length > 0 ? supportedModes.join(", ") : "none";
21059
21091
  throw new SteeringRequestError(`Harness provider '${provider}' does not support steering mode '${requestedMode}' (supported modes: ${supported})`, 422);
21060
21092
  }
21061
- const activeTask = task.status === "paused" ? await resumeTask2(task.id) : task;
21093
+ const activeTask = currentTask.status === "paused" ? await resumeTask2(task.id) : currentTask;
21062
21094
  if (!activeTask) {
21063
21095
  throw new SteeringRequestError("Failed to resume paused task", 500);
21064
21096
  }
21065
- const body = scrubSecrets(args.message);
21097
+ const body = scrubSecrets(preSteer.action === "modify" ? preSteer.data.message : args.message);
21066
21098
  const preStart = activeTask.status === "unassigned" || activeTask.status === "offered" || activeTask.status === "pending";
21067
21099
  const degradedFrom = requestedMode === "steer" && supportedModes.length > 0 && (!supportedModes.includes("steer") || preStart) ? requestedMode : undefined;
21068
21100
  const effectiveMode = degradedFrom ? "queue" : requestedMode;
@@ -21094,8 +21126,9 @@ async function requestSteering(args) {
21094
21126
  degradedFrom
21095
21127
  };
21096
21128
  }
21097
- var STEERING_MOVED_ERROR = "Steering message moved to another task", SteeringRequestError, AGENT_ID_CHUNK = 500;
21129
+ var STEERING_MOVED_ERROR = "Steering message moved to another task", SteeringRequestError, SteeringBlockedError, steeringModifySchema, AGENT_ID_CHUNK = 500;
21098
21130
  var init_steering2 = __esm(() => {
21131
+ init_zod();
21099
21132
  init_types4();
21100
21133
  init_secret_scrubber();
21101
21134
  init_steering_enabled();
@@ -21108,6 +21141,19 @@ var init_steering2 = __esm(() => {
21108
21141
  this.name = "SteeringRequestError";
21109
21142
  }
21110
21143
  };
21144
+ SteeringBlockedError = class SteeringBlockedError extends SteeringRequestError {
21145
+ reason;
21146
+ extension;
21147
+ constructor(reason, extension) {
21148
+ super(`Steering blocked by extension ${extension.name}: ${reason}`, 403);
21149
+ this.reason = reason;
21150
+ this.extension = extension;
21151
+ this.name = "SteeringBlockedError";
21152
+ }
21153
+ };
21154
+ steeringModifySchema = strictObject2({
21155
+ message: string2().refine((message) => message.trim().length > 0, "Message must not be empty")
21156
+ });
21111
21157
  });
21112
21158
 
21113
21159
  // src/be/db/active-sessions.ts
@@ -23243,7 +23289,7 @@ async function createTaskExtended2(task, options) {
23243
23289
  priority: row.priority
23244
23290
  }, (task) => task !== null, row.requestedByUserId);
23245
23291
  getDbClient2().afterCommit(() => {
23246
- import("./event-bus-dfjx2qdh.js").then(({ workflowEventBus }) => {
23292
+ import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
23247
23293
  workflowEventBus.emit("task.created", {
23248
23294
  taskId: row.id,
23249
23295
  task: row.task,
@@ -23325,7 +23371,7 @@ async function releaseTask2(taskId, wakeSnapshot) {
23325
23371
  } catch {}
23326
23372
  if (isRuntimePoolsEnabled() && !wakeSnapshot)
23327
23373
  getDbClient2().afterCommit(() => {
23328
- import("./event-bus-dfjx2qdh.js").then(({ workflowEventBus }) => workflowEventBus.emit("task.unassigned", { taskId })).catch((error) => console.error("[db] Routing event failed:", scrubSecrets(String(error))));
23374
+ import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => workflowEventBus.emit("task.unassigned", { taskId })).catch((error) => console.error("[db] Routing event failed:", scrubSecrets(String(error))));
23329
23375
  });
23330
23376
  }
23331
23377
  return row ? rowToAgentTask(row) : null;
@@ -23395,7 +23441,7 @@ async function rejectTask2(taskId, agentId, reason) {
23395
23441
  } catch {}
23396
23442
  if (isRuntimePoolsEnabled())
23397
23443
  getDbClient2().afterCommit(() => {
23398
- import("./event-bus-dfjx2qdh.js").then(({ workflowEventBus }) => workflowEventBus.emit("task.unassigned", { taskId })).catch((error) => console.error("[db] Routing event failed:", scrubSecrets(String(error))));
23444
+ import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => workflowEventBus.emit("task.unassigned", { taskId })).catch((error) => console.error("[db] Routing event failed:", scrubSecrets(String(error))));
23399
23445
  });
23400
23446
  }
23401
23447
  return row ? rowToAgentTask(row) : null;
@@ -25073,7 +25119,7 @@ async function deleteScheduledTask2(id) {
25073
25119
  const parent = await getTaskById2(deferred.parentTaskId);
25074
25120
  if (!parent?.deferredAt)
25075
25121
  return;
25076
- const { createWorkerTaskFollowUp } = await import("./worker-follow-up-q32jh4yk.js");
25122
+ const { createWorkerTaskFollowUp } = await import("./worker-follow-up-ktyyazyp.js");
25077
25123
  await createWorkerTaskFollowUp({
25078
25124
  task: parent,
25079
25125
  status: "failed",
@@ -28615,13 +28661,15 @@ async function getRootTaskChain2(rootTaskId) {
28615
28661
  async function listRecentSessions2(opts = {}) {
28616
28662
  const query = sessionSummaryQuery(opts);
28617
28663
  const threadRoots = threadRootsSql();
28664
+ const order = (a) => `${opts.triage === "later" ? `${a}.snoozeUntil ASC,` : ""}
28665
+ ${a}.lastActivityAt DESC, ${a}.rootCreatedAt DESC, ${a}.root_id DESC`;
28618
28666
  const rootRows = await getDbClient2().query(`SELECT r.*, a.chainCount AS __chainCount, a.lastActivityAt AS __lastActivityAt,
28619
28667
  a.latestStatus AS __latestStatus, a.readState AS __readState,
28620
28668
  a.snoozeUntil AS __snoozeUntil, a.needsYou AS __needsYou,
28621
28669
  ${threadRoots.sql} AS __threadRoots
28622
- FROM (${query.sql}) a CROSS JOIN agent_tasks r ON r.id = a.root_id
28623
- ORDER BY ${opts.triage === "later" ? "a.snoozeUntil ASC," : ""}
28624
- a.lastActivityAt DESC, r.createdAt DESC, r.id DESC LIMIT ? OFFSET ?`, [...threadRoots.params, ...query.params, opts.limit ?? 25, opts.offset ?? 0]);
28670
+ FROM (SELECT * FROM (${query.sql}) page ORDER BY ${order("page")} LIMIT ? OFFSET ?) a
28671
+ CROSS JOIN agent_tasks r ON r.id = a.root_id
28672
+ ORDER BY ${order("a")}`, [...threadRoots.params, ...query.params, opts.limit ?? 25, opts.offset ?? 0]);
28625
28673
  const fields = await sessionPageFields(rootRows.map((row) => ({
28626
28674
  id: row.id,
28627
28675
  requestedByUserId: row.requestedByUserId ?? undefined
@@ -29451,4 +29499,4 @@ var init_db4 = __esm(() => {
29451
29499
  };
29452
29500
  });
29453
29501
 
29454
- export { slackContextKey, chatSdkContextKey, chatThreadOfContextKey, agentmailContextKey, githubContextKey, gitlabContextKey, azureDevOpsContextKey, azureDevOpsWorkItemContextKey, bitbucketContextKey, linearContextKey, buildJiraContextKey, scheduleContextKey, workflowContextKey, agentContextKey, pageContextKey, init_context_key, sessionSourceKey, sourceOfKey, SOURCE_GROUPS_READ_ONLY, sourceMoveError, init_source_key, checkSlackRoutingCoherence, init_slack_routing, init_catalog, catalog_default, COMPANY_TEAM_SIZES, COMPANY_USE_CASES, USER_FUNCTIONS, reportedUseCase, reportedUserFunction, init_company_profile, mapTriggerSurface, init_telemetry_context, TELEMETRY_PROXY_ORIGIN, normalizeOrgWebsite, orgLogoUrl, isFilledOrgLogoUrl, init_org_website, beginRequestAuthScope, setRequestAuth, getRequestAuth, runWithoutRequestAuth, authUserId, authUser, isOperatorAuth, getCurrentRequestUserId, init_request_auth_context, setTelemetryIngestObserver, isTelemetryEnabled, _resolveIntegrationType, _resolveIntegrationProvider, initTelemetry, setTelemetryRoleResolver, setTelemetryFunctionResolver, isTelemetryReady, track, trackRelayed, telemetry, emitIntegrationConnected, init_telemetry, auditAssetKeys, init_asset_key_audit, CredentialBindingSchema, placeholderForConfigKey, CredentialBroker, DEFAULT_CREDENTIAL_BINDINGS, isPrivateAddress, assertUrlSafe, parseEgressAllowlist, init_egress_guard, init_credential_broker, encryptSecret, decryptSecret, getEncryptionKey, init_crypto, isInTransaction, init_db_client, breaksJsonValidity, scrubJsonValue, foldHexCopies, init_scrub_json, sealJson, init_sealed_json, getPromptTemplateDefaultDrift, init_default_drift, init_templates2, init_templates3, isSqliteVecAvailable2, resolveSqliteVecExtensionPath2, __resetSqliteVecExtensionPathCacheForTests2, initDb2, getDb2, closeDb2, getDbClient2, init_runtime2, cachedUserRole, cachedUserFunction, invalidateTelemetryUserRole, configureOrgDomainPersistence, recomputeOrgDomain, scheduleOrgDomainRecompute, init_telemetry_identity, resolveTriggerSurface, emitTaskTelemetry, init_telemetry_trigger, CODEX_AUTH_FAILURE_BENCH_THRESHOLD, CODEX_AUTH_WATCH_NAMESPACE, codexAuthBenchMarkerKey, isCodexAuthFailureReason, init_codex_auth_failure, isEnvExportRestrictedKey, init_config_env_export, MASKED_SECRET_VALUE, init_config_secrets, HeartbeatExpiryError, init_heartbeat_expiry, isRuntimePoolsEnabled, init_runtime_pools_flag, normalizeDate, normalizeDateRequired, init_date_utils, rowToAgent, updateAgentCredentialState2, updateAgentCredentialMissing2, createAgent2, getAgentById2, EXTENSION_AGENT_ROLE2, NOT_EXTENSION_AGENT_SQL2, isExtensionAgent2, extensionAgentAssignmentError2, ReservedAgentRoleError2, reservedRoleViolation2, ExtensionAgentAssignmentError2, getAllAgents2, getAgentStatusCounts2, getLeadAgent2, updateAgentStatus2, updateAgentMaxTasks2, updateAgentProvider2, setAgentHarnessProvider2, updateAgentCredStatus2, listAgentsWithCredStatusByProvider2, getAgentHarnessProviders2, updateAgentActivity2, MAX_EMPTY_POLLS2, incrementEmptyPollCount2, resetEmptyPollCount2, shouldBlockPolling2, deleteAgent2, getActiveTaskCount2, hasCapacity2, getRemainingCapacity2, updateAgentStatusFromCapacity2, isPoolAffinityEnforcementEnabled2, buildRoutingAffinityFromAgent2, isAgentEligibleForTask2, getAgentDailyTaskCounts2, init_agents, listApprovalRequestSummaries2, getPendingApprovalVoteState2, recordApprovalVotes2, getPendingApprovalsForTasks2, approvalCancellationNotificationKey, listUndeliveredCancelledApprovalRequestIds, init_approvals, computeContentHash2, createContextVersion2, getLatestContextVersion2, getContextVersion2, getContextVersionHistory2, vcsRepoName, vcsRepoUrlMatches, init_vcs_repo_match, startTaskSearchBackfill, stopTaskSearchBackfill, init_search_index, rowToAgentTask, getTaskById2, getChildTasks2, TASK_LINEAGE_LIMITS2, getTaskLineage2, hasNonTerminalResumeChild2, SUPERSEDED_RESUME_REPAIR_WINDOW_MS2, getSupersededTasksWithoutResume2, getSupersededTasksWithUnsettledDependents2, hasNonTerminalRerouteDecisionChild2, getTasksByAgentId2, getAgentCurrentTask2, getTasksByStatus2, findTaskByVcs2, findActiveTasksByVcs2, findTaskByGitHub2, readableSessionCondition, getAllTasks2, getTasksCount2, getTaskStats2, getCompletedSlackTasks2, getPendingSlackRelayTasks2, markSlackRelayAttempted2, markSlackRelayDelivered2, markFinalizedSlackRelaysDelivered2, getPendingChatRelayTasks2, giveUpStaleChatRelays2, markChatRelayAttempted2, recordChatRelayError2, markChatRelayDelivered2, markChatRelayGivenUp2, getRecentlyFinishedWorkerTasks2, markTasksNotified2, resetTasksNotified2, getInProgressSlackTasks2, getSlackTasksMissingTree2, getInProgressTasksByContextKey2, isLinearTrackerContextKey2, findExistingLinearTrackerContextWork2, getLatestTaskByContextKey2, getLatestScriptRunStepTaskByContextKey2, getAgentWorkingOnThread2, getLatestActiveTaskInThread2, getLatestLeadTaskInThread2, getAgentWorkingOnContextKey2, getLatestActiveTaskByContextKey2, getLatestLeadTaskByContextKey2, getMostRecentTaskInThread2, findCompletedTaskInThread2, findRecentCancelledTaskInThread2, init_read, MODEL_PROFILE_CONFIG_KEY, listModelProfiles, getModelProfileByName, createModelProfile, updateModelProfile, modelProfileReferences, modelProfileRefError, deleteModelProfile, getAgentDefaultProfileName, repoModelOverrideKeys, taskProfileError, init_model_profiles, AssetKeyMovesBlockedError2, assertAssetKeyMovesAllowed2, moveTaskChainKeyInTx2, moveSessionChains, listPrefixRoots, listSharedPrefixRoots, init_session_moves, getSessionGroupKey, getSessionReadState, getSessionTree, triageSessionList, init_session_tree, setHumanFreeQueueListener, drainHumanFreeReclassifyQueue, init_human_free, onTaskStarted, init_task_lifecycle_events, channelTopic, addWorkerSubscription, removeWorkerSubscription, listSubscribedWorkerAgents, init_channels, publishWorkerNudge, init_worker_nudges, CHAT_SDK_ADAPTER_NAMES, CHAT_SDK_ADAPTER_SCHEMAS, ChatSdkAdaptersDraftSchema, firstIssueText, isAdapterEntryEnabled, init_schema, TELEMETRY_RANKING_KEY, PUBLIC_RANKING_ENABLED_KEY, RANKING_CATEGORIES, readTelemetryRanking, rankingFormSchema, buildListing, init_telemetry_ranking, resolveQuickJSPoolSize, init_quickjs_pool_config, SLACK_REACTION_DEFAULTS, SLACK_REACTION_CONFIG_KEYS, reactionName, completedStatusIcon, init_reaction_shortcode, API_DRAINING_HEADER, API_DRAIN_MAX_MS_LIMIT, isApiDrainingResponse, init_api_drain2, parseEnabledTools, init_enabled_tools, parseTaskToolManifest, CHAT_TASK_ONLY_TOOLS, isChatSdkTask, selectTaskTools, init_task_tool_manifest, tierConfigKey, init_model_tier_keys, isApiOnlyConfigKey, isInternalConfigKey, internalConfigKeyError, isReservedConfigKey, reservedKeyError, MAX_DB_RETENTION_DAYS, DB_RETENTION_TUNING_BOUNDS, APPS_JSON_COLUMN_MAX_BYTES_BOUNDS, CODEX_OAUTH_KEEP_WARM_MAX_AGE_HOURS_BOUNDS, validateRuntimeTokenTtlHours, validateControllerTokenTtlDays, validateControllerGraceSec, validateConfigValue, validateConfigEntry, validateExportToEnv, init_swarm_config_guard, getDefaultAuthorizationIdForProvider, getOAuthApp, getOAuthAppById, getOAuthAppIdByProvider, createOAuthApp, updateOAuthAppById, upsertOAuthApp, listAuthorizationsForApp, getAuthorizationById, upsertAuthorization, updateAuthorizationTokens, updateAuthorizationIdentity, deleteAuthorizationById, deleteAuthorizationsForApp, createOAuthPending, consumeOAuthPending, gcOAuthPending, markAuthorizationRefreshFailed, getOAuthTokens, listAuthorizationSweepRows, listKeepAliveAuthorizations, deleteOAuthTokens, acquireOAuthRefreshLock, releaseOAuthRefreshLock, init_oauth, OpenAI2, init_openai2, LEARNING_DUPLICATE_MIN_SIMILARITY, CANDIDATE_SET_MULTIPLIER, isGraphExpansionEnabled, EMBEDDING_DIMENSIONS, init_constants2, LONGTERM_ROOT, MEMORY_KEY_PATTERN, MEMORY_KEY_PATTERN_MESSAGE, MEMORY_KEY_MAX_LENGTH, isLongtermKey, longtermKeyError, isConsolidatedKey, consolidatedKeyMessage, resolveStoreKey, init_key_paths, computeScore, rerank, init_reranker, searchMemoryCandidates, init_search_candidates, rowToCandidate, init_sqlite_store, getEmbeddingProvider2, resetEmbeddingProvider2, getMemoryStore2, init_memory, embeddingProvider2, computeScriptEmbedding2, writeScriptEmbedding2, embedScript2, searchScripts2, reembedAllScripts2, init_embeddings, upsertScriptByName, getScript, getScriptById, getScriptVersion, listScripts, listScriptVersions, deleteScript, touchScratchScriptLastUsed, restoreScratchScriptLastUsedIfUnchanged, createScriptApi, listScriptApisForScript, getScriptApiById, getScriptApiSecret, updateScriptApi, rotateScriptApiSecret, deleteScriptApi, recordScriptApiUsage, init_db3, oauthSecretName, registerStoredSecret, loadSecretRegistry, init_secret_registry, STEERING_MOVED_ERROR, SteeringRequestError, isSteeringEnabled, getTaskSteeringFields, getTaskSteeringFieldsForTasks, promotePendingSteeringForTask, markSteeringUndeliverable, carryUnhandledSteering, requestSteering, init_steering2, WorkflowReplayStateError, init_workflow_replay, getWorkflowRunTriggeredByAgentId, getWorkflowRunSummary, getWorkflowRunStepsSlimByRunId, WORKFLOW_RUN_TREE_MAX_DEPTH, WorkflowRunTreeError, getRunLineageBlock, getWorkflowRunTreeIds, getWorkflowRunStatus, getOpenWorkflowTreeTaskIds, getTaskIdsWithDependents, workflowRunTreeHasOpenWork, getWorkflowRunTree, cancelOpenWorkflowTreeSteps, disarmWorkflowTreeRetries, cancelLiveWorkflowTreeRuns, getChildWorkflowRunId, isParentStepAttemptCurrent, getRunningSubWorkflowSteps, getWorkflowRunParent, getWorkflowRunLineage, getSettledChildRunParentSteps, emitRunFinished, createForeachChildSteps, createForeachAttemptSteps, init_workflow_runs, SESSION_ACTIVITY_REFRESH_MIN_INTERVAL_MS2, refreshActiveSessionOnActivity2, getActiveSessionById, init_active_sessions, createTask2, getPendingTaskForAgent2, assignUnassignedTaskPending2, startTask2, updateTaskClaudeSessionId2, recordTaskProviderIfUnset2, updateTaskTitle2, completeTask2, failTask2, overwriteTerminalTaskResultText2, cancelTask2, supersedeTask2, settleSupersededTaskDependents2, backfillSupersedeTaskResumeTaskId2, pauseTask2, resumeTask2, getPausedTasksForAgent2, getOrphanedInProgressTasksForAgent2, resetOrphanedInProgressTasksForAgent2, getRecentlyCancelledTasksForAgent2, deleteTask2, updateTaskProgress2, IdempotencyKeyTakenError, workflowRequestFingerprint, findAcceptedWorkflowOperation, assertWorkflowIdempotencyKeyUnused, recordAcceptedWorkflowOperation, init_workflow_idempotency, recordKeySeatMismatch2, recordKeyValidation2, retirePoolKeyStatus, init_api_keys, getScriptRunExecutionArgs2, literalPrefixPattern2, getSlackRenderV2ActivatedAt2, ensureSlackRenderV2Activation2, getSlackDelegationActivatedAt2, ensureSlackDelegationActivation2, isPendingSlackMessage2, isSettledSlackMessage2, recordSlackMessage2, reserveSlackMessage2, bindSlackMessageTimestamp2, updateSlackMessageRecord2, markSlackTreeRendered2, deleteSlackMessageRecord2, getSlackTreeMessage2, getSlackTreeMessageByThread2, getSlackOutcomeMessage2, getResolvableDeferralOutcomes2, markSlackDeferralResolved2, noteSlackOutcomeDeliveryFailure2, abandonSlackOutcomeDelivery2, getSlackTreeMessages2, getSlackMessageByChannelTs2, getSlackTasksInThread2, listSlackThreadsAwaitingHuman2, isSlackThreadAwaitingHuman2, markTaskSlackReplySent2, setSlackMessageTracking2, updateTaskVcs2, insertTaskAttachment2, recordTaskPullRequestAttachments2, getAssetKeyMappingByProvider2, upsertAssetKeyMapping2, getAssetKeyMapping2, listAssetSummaries2, moveAssetKey2, deleteTaskAttachment2, replaceTaskAttachment2, getTaskAttachments2, createSteeringMessage2, getSteeringMessagesForTask2, getSteeringMessageById2, getPendingSteeringForTask2, getPendingSteeringForAgent2, markSteeringDelivered2, markSteeringHandled2, markSteeringPromoted2, cancelPendingSteeringForTask2, hasPendingSteering2, getAgentWithTasks2, getAllAgentsWithTasks2, createLogEntry2, getLogsByAgentId2, getLogsByTaskId2, getLogsByTaskIdAndEventType2, getLogsByTaskIdChronological2, getLogsByEventType2, getAllLogs2, findRecentSimilarTasks2, createTaskExtended2, claimTask2, releaseTask2, acceptTask2, rejectTask2, moveTaskToBacklog2, moveTaskFromBacklog2, promoteDraftTask2, refreshDraftTaskLease2, promoteAbandonedDraftTasks2, releaseStaleReviewingTasks2, releaseStaleOfferedTasksForOfflineAgents2, getOfferedTasksForAgent2, claimOfferedTask2, getUnassignedTasksCount2, getUnassignedTaskIds2, getUnassignedTaskIdsForAgent2, checkDependencies2, getDependentTasks2, cascadeFailDependents2, updateAgentProfile2, updateAgentName2, createChannel2, getMessageById2, getChannelById2, getChannelByName2, getAllChannels2, deleteChannel2, postMessage2, getChannelMessages2, updateReadState2, getLastReadAt2, getUnreadMessages2, getMentionsForAgent2, getInboxSummary2, claimMentions2, releaseMentionProcessing2, releaseStaleMentionProcessing2, createService2, getServiceById2, getServiceByAgentAndName2, getServicesByAgentId2, getAllServices2, updateServiceStatus2, deleteService2, upsertService2, deleteServicesByAgentId2, createSessionLogs2, getSessionLogsByTaskId2, getSessionLogsBySession2, createSessionCost2, getSessionCostsByTaskId2, getSessionCostsByAgentId2, getAllSessionCosts2, getSessionCostsFiltered2, UNATTRIBUTED_USER_ID2, getSessionCostSummary2, getAttributionByPerson2, getDashboardCostSummary2, createInboxMessage2, getInboxMessageById2, getUnreadInboxMessages2, claimInboxMessages2, markInboxMessageRead2, markInboxMessageResponded2, markInboxMessageDelegated2, releaseStaleProcessingInbox2, getConcurrentContext2, getScheduledTasks2, getScheduledTaskById2, getScheduledTaskByName2, createScheduledTask2, updateScheduledTask2, deleteScheduledTask2, getDueScheduledTasks2, autoEncryptLegacyPlaintextSecrets2, maskSecrets2, getSwarmConfigs2, getInjectableGlobalConfigs2, getSwarmConfigById2, getSwarmConfigLookupById2, upsertSwarmConfig2, emitBuiltInIntegrationConnectedOnce2, deleteSwarmConfig2, deleteSwarmConfigByKey2, getResolvedConfig2, getSwarmRepos2, getSwarmRepoById2, getSwarmRepoByName2, getSwarmRepoByUrl2, createSwarmRepo2, updateSwarmRepo2, deleteSwarmRepo2, getAgentMailInboxMapping2, getAgentMailInboxMappingsByAgent2, getAllAgentMailInboxMappings2, createAgentMailInboxMapping2, deleteAgentMailInboxMapping2, findTaskByAgentMailThread2, insertActiveSession2, deleteActiveSession2, deleteActiveSessionById2, getActiveSessions2, heartbeatActiveSession2, cleanupStaleSessions2, cleanupAgentSessions2, updateActiveSessionProviderSessionId2, getActiveSessionForTask2, reassociateSessionLogs2, getStalledInProgressTasks2, getStalePinnedResumes2, failPendingResumeIfUnclaimed2, getIdleWorkersWithCapacity2, getUnassignedPoolTasks2, getStaleUnassignedAffinityTasks2, getRecentFailedTasks2, getRecentCompletedCount2, getRecentFailedCount2, createWorkflow2, getWorkflow2, listWorkflows2, updateWorkflow2, deleteWorkflow2, getWorkflowsByScheduleId2, createWorkflowRun2, getWorkflowRun2, updateWorkflowRun2, listWorkflowRuns2, countWorkflowRuns2, listWorkflowRunsPage2, createWorkflowRunStep2, getWorkflowRunStep2, updateWorkflowRunStep2, getWorkflowRunStepsByRunId2, getStuckWorkflowRuns2, getLastSuccessfulRun2, getLastRunStart2, getRetryableSteps2, getCompletedStepNodeIds2, getTaskByWorkflowRunStepId2, detachTaskFromWorkflowRunStep2, getStepByIdempotencyKey2, getStepCountForNode2, getLatestStepForNode2, getCurrentStepForNode2, createWorkflowVersion2, getWorkflowVersions2, getWorkflowVersion2, createAppVersion2, getAppVersions2, getAppVersion2, createPage2, getPage2, getPageBySlug2, getLatestPageBySlug2, listPagesByAgent2, listAllPages2, countAllPages2, countPagesByAgent2, updatePage2, deletePage2, incrementPageViewCount2, createPageVersion2, getPageVersions2, getPageVersion2, createMetric2, getMetric2, getMetricBySlug2, listMetricsByAgent2, listAllMetrics2, countAllMetrics2, countMetricsByAgent2, updateMetric2, deleteMetric2, createMetricVersion2, getMetricVersions2, getMetricVersion2, getPromptTemplates2, getPromptTemplateById2, upsertPromptTemplate2, deletePromptTemplate2, resetPromptTemplateToDefault2, getPromptTemplateHistory2, resolvePromptTemplate2, checkoutPromptTemplate2, getAllChannelActivityCursors2, getChannelActivityCursor2, upsertChannelActivityCursor2, createApprovalRequest2, getApprovalRequestById2, resolveApprovalRequest2, cancelApprovalRequestById2, cancelPendingApprovalRequestsForRun2, listCancelledApprovalRequestsForRun2, listCancelledApprovalRequestsForStep2, claimApprovalCancellationNotification2, completeApprovalCancellationNotificationClaim2, releaseApprovalCancellationNotificationClaim2, updateApprovalRequestNotifications2, listApprovalRequests2, getStuckApprovalRuns2, getApprovalRequestByStepId2, getExpiredPendingApprovals2, getStaleApprovalRequests2, createWaitState2, getWaitStateById2, getWaitStateByStepId2, getDueWaitStates2, getPendingEventWaitNames2, getPendingWaitsByEvent2, resolveWaitState2, getStuckWaitRuns2, SKILL_FILE_LIMITS2, normalizeSkillFilePath2, createSkill2, updateSkill2, listSkillFileManifest2, getSkillFiles2, getSkillFile2, upsertSkillFile2, upsertSkillFiles2, deleteSkillFile2, deleteSkill2, getSkillById2, getSkillByName2, listSkills2, searchSkills2, installSkill2, getSystemDefaultSkills2, installSystemDefaultSkillsForAgent2, uninstallSkill2, getAgentSkills2, toggleAgentSkill2, createMcpServer2, emitMcpServerConnectedTelemetry2, updateMcpServer2, deleteMcpServer2, getMcpServerById2, getMcpServerByName2, listMcpServers2, installMcpServer2, uninstallMcpServer2, getAgentMcpServers2, createContextSnapshot2, getContextSnapshotsByTaskId2, getContextSnapshotsBySessionId2, getContextSummaryByTaskId2, getAvailableKeyIndices2, recordKeyUsage2, setApiKeyPlan2, markKeyRateLimited2, recordKeyAuthFailure2, recordKeyRateLimitWindows2, setApiKeyName2, clearKeyRateLimit2, getKeyStatuses2, getKeyCostSummary2, getUserById2, getAllUsers2, createUser2, updateUser2, deleteUser2, listInboxState2, upsertInboxState2, listFavorites2, listUserFavorites2, getFavoriteItemIdSet2, setFavorite2, setUserFavorite2, withFavoriteFlags2, listTaskTemplates2, getRootTaskChain2, listRecentSessions2, countSessions2, getBudget2, getBudgets2, upsertBudget2, deleteBudget2, getAllPricingRows2, getPricingRows2, getActivePricingRow2, insertPricingRow2, deletePricingRow2, getDailySpendForAgent2, getDailySpendGlobal2, getDailySpendForUser2, recordBudgetRefusalNotification2, getBudgetRefusalNotification2, getRecentBudgetRefusalNotifications2, hasBudgetRefusalNotificationToday2, setBudgetRefusalFollowUpTaskId2, getLiveAgentCounts2, getReadyAgentCounts2, getInstanceActivity2, getSwarmMetrics2, hasFirstCompletedTask2, getKv2, sweepExpiredKv2, sweepExpiredKvPrefix2, upsertKv2, claimKv2, deleteKv2, KvTypeCollisionError2, incrKv2, kvPrefixUpperBound2, listKv2, countKv2, createScriptRun2, recordInlineScriptRun2, getScriptRun2, getScriptRunByIdempotencyKey2, listScriptRuns2, countScriptRuns2, countActiveScriptRuns2, updateScriptRun2, updateScriptRunIfNotTerminal2, updateScriptRunIfRunning2, getRunningScriptRuns2, getScriptRunJournalStep2, upsertScriptRunJournalStep2, listScriptRunJournalSteps2, countScriptRunJournalSteps2, countScriptRunJournalAgentTaskSteps2, exports_db, init_db4 };
29502
+ export { slackContextKey, chatSdkContextKey, chatThreadOfContextKey, agentmailContextKey, githubContextKey, gitlabContextKey, azureDevOpsContextKey, azureDevOpsWorkItemContextKey, bitbucketContextKey, linearContextKey, buildJiraContextKey, scheduleContextKey, workflowContextKey, agentContextKey, pageContextKey, init_context_key, sessionSourceKey, sourceOfKey, SOURCE_GROUPS_READ_ONLY, sourceMoveError, init_source_key, checkSlackRoutingCoherence, init_slack_routing, init_catalog, catalog_default, COMPANY_TEAM_SIZES, COMPANY_USE_CASES, USER_FUNCTIONS, reportedUseCase, reportedUserFunction, init_company_profile, mapTriggerSurface, init_telemetry_context, TELEMETRY_PROXY_ORIGIN, normalizeOrgWebsite, orgLogoUrl, isFilledOrgLogoUrl, init_org_website, beginRequestAuthScope, setRequestAuth, getRequestAuth, runWithoutRequestAuth, authUserId, authUser, isOperatorAuth, getCurrentRequestUserId, init_request_auth_context, setTelemetryIngestObserver, isTelemetryEnabled, _resolveIntegrationType, _resolveIntegrationProvider, initTelemetry, setTelemetryRoleResolver, setTelemetryFunctionResolver, isTelemetryReady, track, trackRelayed, telemetry, emitIntegrationConnected, init_telemetry, auditAssetKeys, init_asset_key_audit, CredentialBindingSchema, placeholderForConfigKey, CredentialBroker, DEFAULT_CREDENTIAL_BINDINGS, isPrivateAddress, assertUrlSafe, parseEgressAllowlist, init_egress_guard, init_credential_broker, encryptSecret, decryptSecret, getEncryptionKey, init_crypto, isInTransaction, init_db_client, breaksJsonValidity, scrubJsonValue, foldHexCopies, init_scrub_json, sealJson, init_sealed_json, getPromptTemplateDefaultDrift, init_default_drift, init_templates2, init_templates3, isSqliteVecAvailable2, resolveSqliteVecExtensionPath2, __resetSqliteVecExtensionPathCacheForTests2, initDb2, getDb2, closeDb2, getDbClient2, init_runtime2, cachedUserRole, cachedUserFunction, invalidateTelemetryUserRole, configureOrgDomainPersistence, recomputeOrgDomain, scheduleOrgDomainRecompute, init_telemetry_identity, resolveTriggerSurface, emitTaskTelemetry, init_telemetry_trigger, isEnvExportRestrictedKey, init_config_env_export, MASKED_SECRET_VALUE, init_config_secrets, HeartbeatExpiryError, init_heartbeat_expiry, isRuntimePoolsEnabled, init_runtime_pools_flag, normalizeDate, normalizeDateRequired, init_date_utils, rowToAgent, updateAgentCredentialState2, updateAgentCredentialMissing2, createAgent2, getAgentById2, EXTENSION_AGENT_ROLE2, NOT_EXTENSION_AGENT_SQL2, isExtensionAgent2, extensionAgentAssignmentError2, ReservedAgentRoleError2, reservedRoleViolation2, ExtensionAgentAssignmentError2, getAllAgents2, getAgentStatusCounts2, getLeadAgent2, updateAgentStatus2, updateAgentMaxTasks2, updateAgentProvider2, setAgentHarnessProvider2, updateAgentCredStatus2, listAgentsWithCredStatusByProvider2, getAgentHarnessProviders2, updateAgentActivity2, MAX_EMPTY_POLLS2, incrementEmptyPollCount2, resetEmptyPollCount2, shouldBlockPolling2, deleteAgent2, getActiveTaskCount2, hasCapacity2, getRemainingCapacity2, updateAgentStatusFromCapacity2, isPoolAffinityEnforcementEnabled2, buildRoutingAffinityFromAgent2, isAgentEligibleForTask2, getAgentDailyTaskCounts2, init_agents, listApprovalRequestSummaries2, getPendingApprovalVoteState2, recordApprovalVotes2, getPendingApprovalsForTasks2, approvalCancellationNotificationKey, listUndeliveredCancelledApprovalRequestIds, init_approvals, computeContentHash2, createContextVersion2, getLatestContextVersion2, getContextVersion2, getContextVersionHistory2, vcsRepoName, vcsRepoUrlMatches, init_vcs_repo_match, startTaskSearchBackfill, stopTaskSearchBackfill, init_search_index, rowToAgentTask, getTaskById2, getChildTasks2, TASK_LINEAGE_LIMITS2, getTaskLineage2, hasNonTerminalResumeChild2, SUPERSEDED_RESUME_REPAIR_WINDOW_MS2, getSupersededTasksWithoutResume2, getSupersededTasksWithUnsettledDependents2, hasNonTerminalRerouteDecisionChild2, getTasksByAgentId2, getAgentCurrentTask2, getTasksByStatus2, findTaskByVcs2, findActiveTasksByVcs2, findTaskByGitHub2, readableSessionCondition, getAllTasks2, getTasksCount2, getTaskStats2, getCompletedSlackTasks2, getPendingSlackRelayTasks2, markSlackRelayAttempted2, markSlackRelayDelivered2, markFinalizedSlackRelaysDelivered2, getPendingChatRelayTasks2, giveUpStaleChatRelays2, markChatRelayAttempted2, recordChatRelayError2, markChatRelayDelivered2, markChatRelayGivenUp2, getRecentlyFinishedWorkerTasks2, markTasksNotified2, resetTasksNotified2, getInProgressSlackTasks2, getSlackTasksMissingTree2, getInProgressTasksByContextKey2, isLinearTrackerContextKey2, findExistingLinearTrackerContextWork2, getLatestTaskByContextKey2, getLatestScriptRunStepTaskByContextKey2, getAgentWorkingOnThread2, getLatestActiveTaskInThread2, getLatestLeadTaskInThread2, getAgentWorkingOnContextKey2, getLatestActiveTaskByContextKey2, getLatestLeadTaskByContextKey2, getMostRecentTaskInThread2, findCompletedTaskInThread2, findRecentCancelledTaskInThread2, init_read, MODEL_PROFILE_CONFIG_KEY, listModelProfiles, getModelProfileByName, createModelProfile, updateModelProfile, modelProfileReferences, modelProfileRefError, deleteModelProfile, getAgentDefaultProfileName, repoModelOverrideKeys, taskProfileError, init_model_profiles, AssetKeyMovesBlockedError2, assertAssetKeyMovesAllowed2, moveTaskChainKeyInTx2, moveSessionChains, listPrefixRoots, listSharedPrefixRoots, init_session_moves, getSessionGroupKey, getSessionReadState, getSessionTree, triageSessionList, init_session_tree, setHumanFreeQueueListener, drainHumanFreeReclassifyQueue, init_human_free, onTaskStarted, init_task_lifecycle_events, channelTopic, addWorkerSubscription, removeWorkerSubscription, listSubscribedWorkerAgents, init_channels, publishWorkerNudge, init_worker_nudges, CHAT_SDK_ADAPTER_NAMES, CHAT_SDK_ADAPTER_SCHEMAS, ChatSdkAdaptersDraftSchema, firstIssueText, isAdapterEntryEnabled, init_schema, TELEMETRY_RANKING_KEY, PUBLIC_RANKING_ENABLED_KEY, RANKING_CATEGORIES, readTelemetryRanking, rankingFormSchema, buildListing, init_telemetry_ranking, resolveQuickJSPoolSize, init_quickjs_pool_config, SLACK_REACTION_DEFAULTS, SLACK_REACTION_CONFIG_KEYS, reactionName, completedStatusIcon, init_reaction_shortcode, API_DRAINING_HEADER, API_DRAIN_MAX_MS_LIMIT, isApiDrainingResponse, init_api_drain2, parseEnabledTools, init_enabled_tools, parseTaskToolManifest, CHAT_TASK_ONLY_TOOLS, isChatSdkTask, selectTaskTools, init_task_tool_manifest, tierConfigKey, init_model_tier_keys, isApiOnlyConfigKey, isInternalConfigKey, internalConfigKeyError, isReservedConfigKey, reservedKeyError, MAX_DB_RETENTION_DAYS, DB_RETENTION_TUNING_BOUNDS, APPS_JSON_COLUMN_MAX_BYTES_BOUNDS, CODEX_OAUTH_KEEP_WARM_MAX_AGE_HOURS_BOUNDS, validateRuntimeTokenTtlHours, validateControllerTokenTtlDays, validateControllerGraceSec, validateConfigValue, validateConfigEntry, validateExportToEnv, init_swarm_config_guard, getDefaultAuthorizationIdForProvider, getOAuthApp, getOAuthAppById, getOAuthAppIdByProvider, createOAuthApp, updateOAuthAppById, upsertOAuthApp, listAuthorizationsForApp, getAuthorizationById, upsertAuthorization, updateAuthorizationTokens, updateAuthorizationIdentity, deleteAuthorizationById, deleteAuthorizationsForApp, createOAuthPending, consumeOAuthPending, gcOAuthPending, markAuthorizationRefreshFailed, getOAuthTokens, listAuthorizationSweepRows, listKeepAliveAuthorizations, deleteOAuthTokens, acquireOAuthRefreshLock, releaseOAuthRefreshLock, init_oauth, OpenAI2, init_openai2, LEARNING_DUPLICATE_MIN_SIMILARITY, CANDIDATE_SET_MULTIPLIER, isGraphExpansionEnabled, EMBEDDING_DIMENSIONS, init_constants2, LONGTERM_ROOT, MEMORY_KEY_PATTERN, MEMORY_KEY_PATTERN_MESSAGE, MEMORY_KEY_MAX_LENGTH, isLongtermKey, longtermKeyError, isConsolidatedKey, consolidatedKeyMessage, resolveStoreKey, init_key_paths, computeScore, rerank, init_reranker, searchMemoryCandidates, init_search_candidates, rowToCandidate, init_sqlite_store, getEmbeddingProvider2, resetEmbeddingProvider2, getMemoryStore2, init_memory, embeddingProvider2, computeScriptEmbedding2, writeScriptEmbedding2, embedScript2, searchScripts2, reembedAllScripts2, init_embeddings, upsertScriptByName, getScript, getScriptById, getScriptVersion, listScripts, listScriptVersions, deleteScript, touchScratchScriptLastUsed, restoreScratchScriptLastUsedIfUnchanged, createScriptApi, listScriptApisForScript, getScriptApiById, getScriptApiSecret, updateScriptApi, rotateScriptApiSecret, deleteScriptApi, recordScriptApiUsage, init_db3, oauthSecretName, registerStoredSecret, loadSecretRegistry, init_secret_registry, WorkflowReplayStateError, init_workflow_replay, getWorkflowRunTriggeredByAgentId, getWorkflowRunSummary, getWorkflowRunStepsSlimByRunId, WORKFLOW_RUN_TREE_MAX_DEPTH, WorkflowRunTreeError, getRunLineageBlock, getWorkflowRunTreeIds, getWorkflowRunStatus, getOpenWorkflowTreeTaskIds, getTaskIdsWithDependents, workflowRunTreeHasOpenWork, getWorkflowRunTree, cancelOpenWorkflowTreeSteps, disarmWorkflowTreeRetries, cancelLiveWorkflowTreeRuns, getChildWorkflowRunId, isParentStepAttemptCurrent, getRunningSubWorkflowSteps, getWorkflowRunParent, getWorkflowRunLineage, getSettledChildRunParentSteps, emitRunFinished, createForeachChildSteps, createForeachAttemptSteps, init_workflow_runs, SESSION_ACTIVITY_REFRESH_MIN_INTERVAL_MS2, refreshActiveSessionOnActivity2, getActiveSessionById, init_active_sessions, STEERING_MOVED_ERROR, SteeringRequestError, SteeringBlockedError, isSteeringEnabled, getTaskSteeringFields, getTaskSteeringFieldsForTasks, promotePendingSteeringForTask, markSteeringUndeliverable, carryUnhandledSteering, requestSteering, init_steering2, createTask2, getPendingTaskForAgent2, assignUnassignedTaskPending2, startTask2, updateTaskClaudeSessionId2, recordTaskProviderIfUnset2, updateTaskTitle2, completeTask2, failTask2, overwriteTerminalTaskResultText2, cancelTask2, supersedeTask2, settleSupersededTaskDependents2, backfillSupersedeTaskResumeTaskId2, pauseTask2, resumeTask2, getPausedTasksForAgent2, getOrphanedInProgressTasksForAgent2, resetOrphanedInProgressTasksForAgent2, getRecentlyCancelledTasksForAgent2, deleteTask2, updateTaskProgress2, IdempotencyKeyTakenError, workflowRequestFingerprint, findAcceptedWorkflowOperation, assertWorkflowIdempotencyKeyUnused, recordAcceptedWorkflowOperation, init_workflow_idempotency, recordKeySeatMismatch2, recordKeyValidation2, retirePoolKeyStatus, init_api_keys, getScriptRunExecutionArgs2, literalPrefixPattern2, getSlackRenderV2ActivatedAt2, ensureSlackRenderV2Activation2, getSlackDelegationActivatedAt2, ensureSlackDelegationActivation2, isPendingSlackMessage2, isSettledSlackMessage2, recordSlackMessage2, reserveSlackMessage2, bindSlackMessageTimestamp2, updateSlackMessageRecord2, markSlackTreeRendered2, deleteSlackMessageRecord2, getSlackTreeMessage2, getSlackTreeMessageByThread2, getSlackOutcomeMessage2, getResolvableDeferralOutcomes2, markSlackDeferralResolved2, noteSlackOutcomeDeliveryFailure2, abandonSlackOutcomeDelivery2, getSlackTreeMessages2, getSlackMessageByChannelTs2, getSlackTasksInThread2, listSlackThreadsAwaitingHuman2, isSlackThreadAwaitingHuman2, markTaskSlackReplySent2, setSlackMessageTracking2, updateTaskVcs2, insertTaskAttachment2, recordTaskPullRequestAttachments2, getAssetKeyMappingByProvider2, upsertAssetKeyMapping2, getAssetKeyMapping2, listAssetSummaries2, moveAssetKey2, deleteTaskAttachment2, replaceTaskAttachment2, getTaskAttachments2, createSteeringMessage2, getSteeringMessagesForTask2, getSteeringMessageById2, getPendingSteeringForTask2, getPendingSteeringForAgent2, markSteeringDelivered2, markSteeringHandled2, markSteeringPromoted2, cancelPendingSteeringForTask2, hasPendingSteering2, getAgentWithTasks2, getAllAgentsWithTasks2, createLogEntry2, getLogsByAgentId2, getLogsByTaskId2, getLogsByTaskIdAndEventType2, getLogsByTaskIdChronological2, getLogsByEventType2, getAllLogs2, findRecentSimilarTasks2, createTaskExtended2, claimTask2, releaseTask2, acceptTask2, rejectTask2, moveTaskToBacklog2, moveTaskFromBacklog2, promoteDraftTask2, refreshDraftTaskLease2, promoteAbandonedDraftTasks2, releaseStaleReviewingTasks2, releaseStaleOfferedTasksForOfflineAgents2, getOfferedTasksForAgent2, claimOfferedTask2, getUnassignedTasksCount2, getUnassignedTaskIds2, getUnassignedTaskIdsForAgent2, checkDependencies2, getDependentTasks2, cascadeFailDependents2, updateAgentProfile2, updateAgentName2, createChannel2, getMessageById2, getChannelById2, getChannelByName2, getAllChannels2, deleteChannel2, postMessage2, getChannelMessages2, updateReadState2, getLastReadAt2, getUnreadMessages2, getMentionsForAgent2, getInboxSummary2, claimMentions2, releaseMentionProcessing2, releaseStaleMentionProcessing2, createService2, getServiceById2, getServiceByAgentAndName2, getServicesByAgentId2, getAllServices2, updateServiceStatus2, deleteService2, upsertService2, deleteServicesByAgentId2, createSessionLogs2, getSessionLogsByTaskId2, getSessionLogsBySession2, createSessionCost2, getSessionCostsByTaskId2, getSessionCostsByAgentId2, getAllSessionCosts2, getSessionCostsFiltered2, UNATTRIBUTED_USER_ID2, getSessionCostSummary2, getAttributionByPerson2, getDashboardCostSummary2, createInboxMessage2, getInboxMessageById2, getUnreadInboxMessages2, claimInboxMessages2, markInboxMessageRead2, markInboxMessageResponded2, markInboxMessageDelegated2, releaseStaleProcessingInbox2, getConcurrentContext2, getScheduledTasks2, getScheduledTaskById2, getScheduledTaskByName2, createScheduledTask2, updateScheduledTask2, deleteScheduledTask2, getDueScheduledTasks2, autoEncryptLegacyPlaintextSecrets2, maskSecrets2, getSwarmConfigs2, getInjectableGlobalConfigs2, getSwarmConfigById2, getSwarmConfigLookupById2, upsertSwarmConfig2, emitBuiltInIntegrationConnectedOnce2, deleteSwarmConfig2, deleteSwarmConfigByKey2, getResolvedConfig2, getSwarmRepos2, getSwarmRepoById2, getSwarmRepoByName2, getSwarmRepoByUrl2, createSwarmRepo2, updateSwarmRepo2, deleteSwarmRepo2, getAgentMailInboxMapping2, getAgentMailInboxMappingsByAgent2, getAllAgentMailInboxMappings2, createAgentMailInboxMapping2, deleteAgentMailInboxMapping2, findTaskByAgentMailThread2, insertActiveSession2, deleteActiveSession2, deleteActiveSessionById2, getActiveSessions2, heartbeatActiveSession2, cleanupStaleSessions2, cleanupAgentSessions2, updateActiveSessionProviderSessionId2, getActiveSessionForTask2, reassociateSessionLogs2, getStalledInProgressTasks2, getStalePinnedResumes2, failPendingResumeIfUnclaimed2, getIdleWorkersWithCapacity2, getUnassignedPoolTasks2, getStaleUnassignedAffinityTasks2, getRecentFailedTasks2, getRecentCompletedCount2, getRecentFailedCount2, createWorkflow2, getWorkflow2, listWorkflows2, updateWorkflow2, deleteWorkflow2, getWorkflowsByScheduleId2, createWorkflowRun2, getWorkflowRun2, updateWorkflowRun2, listWorkflowRuns2, countWorkflowRuns2, listWorkflowRunsPage2, createWorkflowRunStep2, getWorkflowRunStep2, updateWorkflowRunStep2, getWorkflowRunStepsByRunId2, getStuckWorkflowRuns2, getLastSuccessfulRun2, getLastRunStart2, getRetryableSteps2, getCompletedStepNodeIds2, getTaskByWorkflowRunStepId2, detachTaskFromWorkflowRunStep2, getStepByIdempotencyKey2, getStepCountForNode2, getLatestStepForNode2, getCurrentStepForNode2, createWorkflowVersion2, getWorkflowVersions2, getWorkflowVersion2, createAppVersion2, getAppVersions2, getAppVersion2, createPage2, getPage2, getPageBySlug2, getLatestPageBySlug2, listPagesByAgent2, listAllPages2, countAllPages2, countPagesByAgent2, updatePage2, deletePage2, incrementPageViewCount2, createPageVersion2, getPageVersions2, getPageVersion2, createMetric2, getMetric2, getMetricBySlug2, listMetricsByAgent2, listAllMetrics2, countAllMetrics2, countMetricsByAgent2, updateMetric2, deleteMetric2, createMetricVersion2, getMetricVersions2, getMetricVersion2, getPromptTemplates2, getPromptTemplateById2, upsertPromptTemplate2, deletePromptTemplate2, resetPromptTemplateToDefault2, getPromptTemplateHistory2, resolvePromptTemplate2, checkoutPromptTemplate2, getAllChannelActivityCursors2, getChannelActivityCursor2, upsertChannelActivityCursor2, createApprovalRequest2, getApprovalRequestById2, resolveApprovalRequest2, cancelApprovalRequestById2, cancelPendingApprovalRequestsForRun2, listCancelledApprovalRequestsForRun2, listCancelledApprovalRequestsForStep2, claimApprovalCancellationNotification2, completeApprovalCancellationNotificationClaim2, releaseApprovalCancellationNotificationClaim2, updateApprovalRequestNotifications2, listApprovalRequests2, getStuckApprovalRuns2, getApprovalRequestByStepId2, getExpiredPendingApprovals2, getStaleApprovalRequests2, createWaitState2, getWaitStateById2, getWaitStateByStepId2, getDueWaitStates2, getPendingEventWaitNames2, getPendingWaitsByEvent2, resolveWaitState2, getStuckWaitRuns2, SKILL_FILE_LIMITS2, normalizeSkillFilePath2, createSkill2, updateSkill2, listSkillFileManifest2, getSkillFiles2, getSkillFile2, upsertSkillFile2, upsertSkillFiles2, deleteSkillFile2, deleteSkill2, getSkillById2, getSkillByName2, listSkills2, searchSkills2, installSkill2, getSystemDefaultSkills2, installSystemDefaultSkillsForAgent2, uninstallSkill2, getAgentSkills2, toggleAgentSkill2, createMcpServer2, emitMcpServerConnectedTelemetry2, updateMcpServer2, deleteMcpServer2, getMcpServerById2, getMcpServerByName2, listMcpServers2, installMcpServer2, uninstallMcpServer2, getAgentMcpServers2, createContextSnapshot2, getContextSnapshotsByTaskId2, getContextSnapshotsBySessionId2, getContextSummaryByTaskId2, getAvailableKeyIndices2, recordKeyUsage2, setApiKeyPlan2, markKeyRateLimited2, recordKeyAuthFailure2, recordKeyRateLimitWindows2, setApiKeyName2, clearKeyRateLimit2, getKeyStatuses2, getKeyCostSummary2, getUserById2, getAllUsers2, createUser2, updateUser2, deleteUser2, listInboxState2, upsertInboxState2, listFavorites2, listUserFavorites2, getFavoriteItemIdSet2, setFavorite2, setUserFavorite2, withFavoriteFlags2, listTaskTemplates2, getRootTaskChain2, listRecentSessions2, countSessions2, getBudget2, getBudgets2, upsertBudget2, deleteBudget2, getAllPricingRows2, getPricingRows2, getActivePricingRow2, insertPricingRow2, deletePricingRow2, getDailySpendForAgent2, getDailySpendGlobal2, getDailySpendForUser2, recordBudgetRefusalNotification2, getBudgetRefusalNotification2, getRecentBudgetRefusalNotifications2, hasBudgetRefusalNotificationToday2, setBudgetRefusalFollowUpTaskId2, getLiveAgentCounts2, getReadyAgentCounts2, getInstanceActivity2, getSwarmMetrics2, hasFirstCompletedTask2, getKv2, sweepExpiredKv2, sweepExpiredKvPrefix2, upsertKv2, claimKv2, deleteKv2, KvTypeCollisionError2, incrKv2, kvPrefixUpperBound2, listKv2, countKv2, createScriptRun2, recordInlineScriptRun2, getScriptRun2, getScriptRunByIdempotencyKey2, listScriptRuns2, countScriptRuns2, countActiveScriptRuns2, updateScriptRun2, updateScriptRunIfNotTerminal2, updateScriptRunIfRunning2, getRunningScriptRuns2, getScriptRunJournalStep2, upsertScriptRunJournalStep2, listScriptRunJournalSteps2, countScriptRunJournalSteps2, countScriptRunJournalAgentTaskSteps2, exports_db, init_db4 };