@desplega.ai/agent-swarm 2.2.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/README.md +1 -0
  2. package/dist/{acp-adapter-k0vwfyvn.js → acp-adapter-kedstxx6.js} +6 -6
  3. package/dist/{actions-w4pnb8vz.js → actions-vget6r1k.js} +18 -16
  4. package/dist/{amp-adapter-0cmxb2t5.js → amp-adapter-xeb5mktv.js} +2 -2
  5. package/dist/{app-zneem7g9.js → app-mqap8t8m.js} +3 -3
  6. package/dist/{assistant-wbzd2rnr.js → assistant-h0gv97mv.js} +20 -18
  7. package/dist/{boot-reembed-4kx69j3g.js → boot-reembed-qr8a894z.js} +1 -1
  8. package/dist/{boot-reembed-db0wwgy1.js → boot-reembed-rj85jjhw.js} +1 -1
  9. package/dist/{boot-scrub-sweep-tfv4d3mm.js → boot-scrub-sweep-eyfvn6v9.js} +3 -3
  10. package/dist/{boot-seeds-w2hmkxn5.js → boot-seeds-xs9a8dx1.js} +4 -4
  11. package/dist/{claude-adapter-5qrc2paq.js → claude-adapter-bm23cye7.js} +5 -5
  12. package/dist/{claude-managed-adapter-n7ahjyx6.js → claude-managed-adapter-1mwrsm9d.js} +2 -2
  13. package/dist/{claude-managed-setup-7ra32em4.js → claude-managed-setup-gkfgks4j.js} +1 -1
  14. package/dist/{claude-sdk-session-cd02gc76.js → claude-sdk-session-apb4ypz3.js} +5 -5
  15. package/dist/cli-02vhhssk.js +848 -0
  16. package/dist/{cli-4ync7m60.js → cli-0ebey9hg.js} +1 -1
  17. package/dist/{cli-665j3feb.js → cli-0xk505e8.js} +1 -1
  18. package/dist/{cli-8c1m9mhy.js → cli-1cevz46c.js} +5 -5
  19. package/dist/{cli-gzvb3d4a.js → cli-1jx0srjt.js} +3 -3
  20. package/dist/{cli-zj4d6afs.js → cli-1pa3rz69.js} +21 -6
  21. package/dist/{cli-vmbakbq0.js → cli-2rwet3r7.js} +1 -1
  22. package/dist/{cli-azs9bhc5.js → cli-3wjs22x3.js} +2 -2
  23. package/dist/{cli-tba8fxf9.js → cli-4fhyq711.js} +45 -36
  24. package/dist/{cli-ak4c12mh.js → cli-5ff2sjyt.js} +1 -1
  25. package/dist/{cli-6q7pyd3k.js → cli-5s5hx57y.js} +5 -3
  26. package/dist/{cli-h23mr2s6.js → cli-6ftrrwm1.js} +9 -371
  27. package/dist/{cli-9ac0mkg5.js → cli-8b9wvjps.js} +1 -1
  28. package/dist/cli-8cxkw1f5.js +382 -0
  29. package/dist/{cli-xhgtay7w.js → cli-8rwvksbc.js} +2 -2
  30. package/dist/{cli-e09hj50q.js → cli-8wkb09q5.js} +11 -11
  31. package/dist/{cli-ksrphveb.js → cli-a1esmmee.js} +14 -2
  32. package/dist/{cli-xnp2vkx7.js → cli-avmqhatn.js} +7 -7
  33. package/dist/{cli-xx13gqf3.js → cli-b80a1100.js} +1 -1
  34. package/dist/{cli-z1hh99j0.js → cli-bfc3k1x5.js} +3 -3
  35. package/dist/{cli-0k9rcwfy.js → cli-bhwa8rzc.js} +33 -15
  36. package/dist/{cli-8cvvytad.js → cli-bn26xbcs.js} +2 -2
  37. package/dist/{cli-k28p6xh7.js → cli-c8fwpgqb.js} +1 -1
  38. package/dist/{cli-rc3r0bnh.js → cli-ccn0eybf.js} +1 -1
  39. package/dist/{cli-9td5ss65.js → cli-dsgj3e7a.js} +2 -2
  40. package/dist/{cli-jrk8mj0t.js → cli-ecshf504.js} +2 -2
  41. package/dist/{cli-raejy0mp.js → cli-eqgfs202.js} +1 -1
  42. package/dist/{cli-ppapy34w.js → cli-f3nx1h8z.js} +2 -2
  43. package/dist/{cli-c9vrwcpb.js → cli-ffbrkh1r.js} +74 -35
  44. package/dist/{cli-mnry16kh.js → cli-kk2r80n5.js} +4 -4
  45. package/dist/{cli-c0dpzwnx.js → cli-kz116kvw.js} +3 -3
  46. package/dist/{cli-e5y285rg.js → cli-mvg2hf8p.js} +4 -4
  47. package/dist/{cli-2jm992rm.js → cli-mz1ezzzh.js} +2 -2
  48. package/dist/{cli-dw0njd9q.js → cli-nme7wery.js} +6 -6
  49. package/dist/{cli-mvsfbbgq.js → cli-nrrg0fvy.js} +18 -4
  50. package/dist/{cli-8jtrekpy.js → cli-p1m2b6gc.js} +7 -7
  51. package/dist/{cli-4c7k75rq.js → cli-rg7ntypm.js} +378 -84
  52. package/dist/{cli-z3dk189k.js → cli-rsd7ga7v.js} +10 -8
  53. package/dist/{cli-etvn5ej2.js → cli-sppc0cmw.js} +1 -1
  54. package/dist/{cli-8w65vwee.js → cli-tg9ksbn8.js} +1 -1
  55. package/dist/{cli-th8krqbf.js → cli-tgvpmnwz.js} +2 -2
  56. package/dist/{cli-hwc4a9xm.js → cli-tj4j2ts4.js} +6 -6
  57. package/dist/{cli-jhhb2v9n.js → cli-ttaz6c7m.js} +2 -2
  58. package/dist/{cli-w7z94e6c.js → cli-tx00c0h6.js} +4 -2
  59. package/dist/{cli-4g629sgr.js → cli-wrv09v7q.js} +20 -1
  60. package/dist/{cli-cby329ny.js → cli-wyrr38xm.js} +2 -2
  61. package/dist/{cli-5ks6x36q.js → cli-x1p5dhq2.js} +3 -3
  62. package/dist/{cli-bddxamg7.js → cli-x719j3vs.js} +220 -629
  63. package/dist/{cli-ztcxv5nv.js → cli-xfe63zx3.js} +1 -1
  64. package/dist/{cli-q6gw45wj.js → cli-ywyrffff.js} +1 -1
  65. package/dist/{cli-p46xdr1m.js → cli-zvze9rbm.js} +1 -1
  66. package/dist/cli.js +15 -15
  67. package/dist/{codex-adapter-m0fx3v3s.js → codex-adapter-pp2gq8gr.js} +3 -3
  68. package/dist/{codex-hook-x6tm6y5m.js → codex-hook-qwzccd64.js} +1 -1
  69. package/dist/{codex-session-runner-j9m2gfyy.js → codex-session-runner-0vzn09t8.js} +3 -3
  70. package/dist/{commands-ktnqwrv4.js → commands-psqhkttb.js} +2 -2
  71. package/dist/{controller-nex2he8v.js → controller-t20vz2k8.js} +2 -2
  72. package/dist/{controllers-connect-6yhwqv9v.js → controllers-connect-gkxmqw9d.js} +24 -20
  73. package/dist/{cursor-adapter-02s5ekva.js → cursor-adapter-3v542qe5.js} +1 -1
  74. package/dist/{db-jvr86v7f.js → db-2xbyenjr.js} +2 -2
  75. package/dist/{db-19tw9r5s.js → db-nc1rd869.js} +3 -2
  76. package/dist/{dispatcher-d3mnsg2y.js → dispatcher-ewceb8ts.js} +17 -15
  77. package/dist/{dsh-adapter-63rvej88.js → dsh-adapter-75xwh78t.js} +1 -1
  78. package/dist/{easter-egg-3d-6hg2r942.js → easter-egg-3d-xsc47jwf.js} +1 -1
  79. package/dist/{execute-bcqc69a5.js → execute-gzmw1mnw.js} +1 -1
  80. package/dist/{external-channel-44cwer32.js → external-channel-a5dsmxn4.js} +2 -2
  81. package/dist/{google-generative-ai-phpmwxvg.js → google-generative-ai-bmq8gkf3.js} +1 -1
  82. package/dist/{google-vertex-es9ybgdy.js → google-vertex-b1rvp52s.js} +1 -1
  83. package/dist/{grok-adapter-ysp907f6.js → grok-adapter-vj88xr23.js} +7 -7
  84. package/dist/handlers-zbs90bny.js +39 -0
  85. package/dist/{heartbeat-2etacsqq.js → heartbeat-t2m9r3wa.js} +20 -18
  86. package/dist/{hook-mzxxs5n2.js → hook-8femx1bg.js} +4 -4
  87. package/dist/{hook-3kvmax6d.js → hook-xa677f8r.js} +5 -5
  88. package/dist/{http-fn978m0g.js → http-xpmmq028.js} +940 -269
  89. package/dist/{index-e4tsa1h7.js → index-8pwc1jc8.js} +17 -15
  90. package/dist/{index-w2wr89xd.js → index-cdzyfrsp.js} +1 -1
  91. package/dist/{index-1r8hw4vd.js → index-dg2tmj99.js} +17 -15
  92. package/dist/index-nxa6me0q.js +41 -0
  93. package/dist/{index-039x2sag.js → index-s7ckdajq.js} +42 -14
  94. package/dist/{index-wgsw9xcz.js → index-syztqdt6.js} +1 -1
  95. package/dist/{index-x0q2a4f9.js → index-ysd45kgc.js} +1 -1
  96. package/dist/{index-g909y089.js → index-zgvqzjsw.js} +8 -8
  97. package/dist/{keepalive-d4nzs76x.js → keepalive-3nr4st3r.js} +3 -3
  98. package/dist/{lead-8h5n9k5f.js → lead-td8h2sfn.js} +33 -31
  99. package/dist/{maintenance-ea6jfw42.js → maintenance-verwpe2c.js} +1 -1
  100. package/dist/{oauth-refresh-sweep-3f25djq3.js → oauth-refresh-sweep-9q2t0y3q.js} +2 -2
  101. package/dist/{onboard-pvk7hdb2.js → onboard-aytqedmq.js} +2 -2
  102. package/dist/{opencode-adapter-eeesgfqk.js → opencode-adapter-f4hryjny.js} +4 -4
  103. package/dist/{otel-impl-qb7nhgdp.js → otel-impl-hckw4wt1.js} +1 -1
  104. package/dist/{pi-mono-adapter-zasp3ze3.js → pi-mono-adapter-hxby0ce1.js} +6 -6
  105. package/dist/{pricing-refresh-6ehwkcmp.js → pricing-refresh-5nvme3sm.js} +3 -3
  106. package/dist/{rbac-roles-km0f9cmm.js → rbac-roles-pd8c26m1.js} +5 -3
  107. package/dist/{rbac-roles-9648nh00.js → rbac-roles-vbpy21mg.js} +2 -2
  108. package/dist/{render-v2-xkze1wef.js → render-v2-7nqgvk2q.js} +3 -3
  109. package/dist/{resume-tq0bbvt5.js → resume-b6djcj3c.js} +6 -6
  110. package/dist/{runtime-ar8310ba.js → runtime-txrxc9za.js} +1 -1
  111. package/dist/session-access-fc3f9y12.js +25 -0
  112. package/dist/{setup-rnrazxvd.js → setup-n39szm6b.js} +1 -1
  113. package/dist/{virtual-modules-wzk6jf3a.js → virtual-modules-wyp2k6z3.js} +2 -2
  114. package/dist/{work-objects-e75q2rqs.js → work-objects-jem2fre0.js} +20 -18
  115. package/dist/{worker-4ww4hjef.js → worker-wr6xgfr2.js} +33 -31
  116. package/openapi.json +1011 -115
  117. package/package.json +2 -2
  118. package/src/apps/action-caller.ts +6 -0
  119. package/src/apps/script-types.ts +16 -3
  120. package/src/be/asset-key-audit.ts +4 -13
  121. package/src/be/db/active-sessions.ts +5 -0
  122. package/src/be/db/session-visibility.ts +29 -0
  123. package/src/be/db/tasks/read.ts +61 -3
  124. package/src/be/db/tasks/write.ts +15 -6
  125. package/src/be/db.ts +149 -66
  126. package/src/be/events.ts +11 -0
  127. package/src/be/migrations/227_inbox_item_state_last_read_at.sql +1 -0
  128. package/src/be/migrations/230_session_shares.sql +23 -0
  129. package/src/be/rbac-roles.ts +2 -0
  130. package/src/be/seed-scripts/catalog/heartbeat-jev-gate.ts +22 -4
  131. package/src/be/session-shares.ts +244 -0
  132. package/src/be/swarm-config-guard.ts +23 -2
  133. package/src/commands/runner.ts +11 -0
  134. package/src/heartbeat/heartbeat.ts +25 -7
  135. package/src/http/active-sessions.ts +13 -2
  136. package/src/http/agents.ts +10 -3
  137. package/src/http/all-routes.ts +1 -0
  138. package/src/http/api-keys.ts +3 -1
  139. package/src/http/approval-requests.ts +2 -1
  140. package/src/http/apps.ts +36 -11
  141. package/src/http/assets.ts +26 -4
  142. package/src/http/config.ts +3 -0
  143. package/src/http/context.ts +2 -0
  144. package/src/http/core.ts +39 -2
  145. package/src/http/events.ts +6 -2
  146. package/src/http/favorite-owner.ts +1 -1
  147. package/src/http/fs.ts +38 -3
  148. package/src/http/inbox-state.ts +58 -8
  149. package/src/http/index.ts +3 -1
  150. package/src/http/memory.ts +3 -1
  151. package/src/http/ranking.ts +367 -0
  152. package/src/http/realtime.ts +26 -21
  153. package/src/http/route-def.ts +77 -11
  154. package/src/http/script-runs.ts +2 -1
  155. package/src/http/scripts.ts +8 -0
  156. package/src/http/session-access.ts +179 -0
  157. package/src/http/session-data.ts +10 -2
  158. package/src/http/sessions.ts +212 -12
  159. package/src/http/stats.ts +7 -3
  160. package/src/http/tasks.ts +83 -7
  161. package/src/http/used-by.ts +11 -3
  162. package/src/kv-reserved-namespaces.ts +1 -0
  163. package/src/prompts/session-templates.ts +3 -1
  164. package/src/providers/amp-adapter.ts +1 -1
  165. package/src/ranking/telemetry-ranking.ts +147 -0
  166. package/src/ranking/usage.ts +57 -0
  167. package/src/rbac/admission.ts +22 -7
  168. package/src/rbac/legacy-policy.ts +2 -0
  169. package/src/rbac/permissions.ts +9 -0
  170. package/src/realtime/auth.ts +69 -0
  171. package/src/realtime/tickets.ts +4 -1
  172. package/src/realtime/transport.ts +77 -9
  173. package/src/slack/blocks.ts +18 -0
  174. package/src/slack/dm.ts +29 -0
  175. package/src/telemetry-contract/EVENTS.md +3 -0
  176. package/src/telemetry-contract/SOURCE.json +37 -4
  177. package/src/telemetry-contract/catalog.json +69 -0
  178. package/src/telemetry-contract/ranking/fixtures/expected.json +30 -0
  179. package/src/telemetry-contract/ranking/fixtures/invalid/bad-category.json +11 -0
  180. package/src/telemetry-contract/ranking/fixtures/invalid/bad-claim.json +11 -0
  181. package/src/telemetry-contract/ranking/fixtures/invalid/blank-description.json +11 -0
  182. package/src/telemetry-contract/ranking/fixtures/invalid/blank-name.json +11 -0
  183. package/src/telemetry-contract/ranking/fixtures/invalid/description-too-long.json +11 -0
  184. package/src/telemetry-contract/ranking/fixtures/invalid/domain-uppercase.json +11 -0
  185. package/src/telemetry-contract/ranking/fixtures/invalid/domain-with-scheme.json +11 -0
  186. package/src/telemetry-contract/ranking/fixtures/invalid/domain-with-www.json +11 -0
  187. package/src/telemetry-contract/ranking/fixtures/invalid/http-source-url.json +11 -0
  188. package/src/telemetry-contract/ranking/fixtures/invalid/missing-description.json +10 -0
  189. package/src/telemetry-contract/ranking/fixtures/invalid/missing-version.json +10 -0
  190. package/src/telemetry-contract/ranking/fixtures/invalid/name-not-string.json +11 -0
  191. package/src/telemetry-contract/ranking/fixtures/invalid/name-too-long.json +11 -0
  192. package/src/telemetry-contract/ranking/fixtures/invalid/not-object.json +1 -0
  193. package/src/telemetry-contract/ranking/fixtures/invalid/null.json +1 -0
  194. package/src/telemetry-contract/ranking/fixtures/invalid/other-with-subcategory.json +11 -0
  195. package/src/telemetry-contract/ranking/fixtures/invalid/oversize.json +1 -0
  196. package/src/telemetry-contract/ranking/fixtures/invalid/short-claim.json +11 -0
  197. package/src/telemetry-contract/ranking/fixtures/invalid/subcategory-other-category.json +11 -0
  198. package/src/telemetry-contract/ranking/fixtures/invalid/trailing-data.json +1 -0
  199. package/src/telemetry-contract/ranking/fixtures/invalid/unknown-field.json +12 -0
  200. package/src/telemetry-contract/ranking/fixtures/invalid/unsupported-version.json +11 -0
  201. package/src/telemetry-contract/ranking/fixtures/invalid/updated-at-not-date.json +11 -0
  202. package/src/telemetry-contract/ranking/fixtures/invalid/updated-at-offset.json +11 -0
  203. package/src/telemetry-contract/ranking/fixtures/invalid/wrong-case-field.json +11 -0
  204. package/src/telemetry-contract/ranking/fixtures/valid/category-without-subcategory.json +11 -0
  205. package/src/telemetry-contract/ranking/fixtures/valid/full.json +11 -0
  206. package/src/telemetry-contract/ranking/fixtures/valid/minimal.json +11 -0
  207. package/src/telemetry-contract/ranking/fixtures/valid/padded-text.json +11 -0
  208. package/src/telemetry-contract/ranking/fixtures/valid/unicode-name.json +11 -0
  209. package/src/telemetry-contract/ranking/listing.v1.schema.json +61 -0
  210. package/src/telemetry-contract/ranking/taxonomy.json +8 -0
  211. package/src/telemetry-contract/ranking-taxonomy.gen.ts +11 -0
  212. package/src/telemetry-contract/types.gen.ts +708 -1
  213. package/src/telemetry.ts +26 -2
  214. package/src/tests/apps-rbac.test.ts +189 -2
  215. package/src/tests/apps-script-types.test.ts +16 -3
  216. package/src/tests/asset-key-api.test.ts +128 -0
  217. package/src/tests/asset-key-invariants.test.ts +179 -3
  218. package/src/tests/asset-key-migration.test.ts +35 -0
  219. package/src/tests/check-pr-body.test.ts +23 -0
  220. package/src/tests/check-ranking-entry.test.ts +146 -0
  221. package/src/tests/db-extraction-contract.test.ts +1 -0
  222. package/src/tests/db-task-read-contract.test.ts +1 -0
  223. package/src/tests/docs-index-footprint.test.js +2 -2
  224. package/src/tests/heartbeat-checklist.test.ts +88 -0
  225. package/src/tests/heartbeat-jev-gate.test.ts +394 -10
  226. package/src/tests/inbox-state.test.ts +167 -0
  227. package/src/tests/kv-tool.test.ts +15 -0
  228. package/src/tests/org-identity.test.ts +44 -0
  229. package/src/tests/ranking-listing.test.ts +112 -0
  230. package/src/tests/ranking-route.test.ts +319 -0
  231. package/src/tests/ranking-usage.test.ts +50 -0
  232. package/src/tests/rbac-admission-e2e.test.ts +8 -0
  233. package/src/tests/rbac-admission.test.ts +38 -0
  234. package/src/tests/rbac-charact-http.test.ts +4 -3
  235. package/src/tests/rbac-engine.test.ts +2 -0
  236. package/src/tests/rbac-roles.test.ts +2 -0
  237. package/src/tests/realtime-room-surfaces.test.ts +3 -1
  238. package/src/tests/realtime-session-join-race.test.ts +142 -0
  239. package/src/tests/realtime-tickets.test.ts +24 -17
  240. package/src/tests/realtime-transport.test.ts +91 -0
  241. package/src/tests/script-connections.test.ts +2 -0
  242. package/src/tests/session-route-posture.test.ts +639 -0
  243. package/src/tests/session-sharing-routes.test.ts +282 -0
  244. package/src/tests/session-sharing.test.ts +526 -0
  245. package/src/tests/sessions-detail-batch.test.ts +7 -1
  246. package/src/tests/slack-tool-blocks.test.ts +101 -0
  247. package/src/tests/slack-update.test.ts +55 -0
  248. package/src/tests/slack-user-dm.test.ts +177 -0
  249. package/src/tests/used-by-route.test.ts +10 -0
  250. package/src/tools/slack-post.ts +18 -12
  251. package/src/tools/slack-read.ts +13 -1
  252. package/src/tools/slack-reply.ts +7 -10
  253. package/src/tools/slack-start-thread.ts +18 -11
  254. package/src/tools/slack-update.ts +2 -9
  255. package/src/types.ts +37 -0
  256. package/src/utils/org-identity.ts +33 -0
  257. package/templates/skills/apps/SKILL.md +17 -0
  258. package/templates/skills/apps/content.md +17 -0
  259. package/templates/skills/code-quality/content.md +2 -2
  260. package/templates/skills/pages/content.md +4 -0
  261. package/templates/skills/swarm-scripts/SKILL.md +6 -0
  262. package/templates/skills/swarm-scripts/content.md +6 -0
  263. package/dist/handlers-t5pbabwf.js +0 -37
  264. package/dist/index-qyjbb7br.js +0 -39
  265. package/dist/{cli-n5mrsg0f.js → cli-60cgh1rv.js} +3 -3
  266. /package/dist/{cli-j0v75y13.js → cli-y83zk5sb.js} +0 -0
@@ -22,7 +22,7 @@ import {
22
22
  VersionableFieldSchema,
23
23
  SessionCostModelBreakdownSchema,
24
24
  init_types
25
- } from "./cli-ksrphveb.js";
25
+ } from "./cli-a1esmmee.js";
26
26
  import {
27
27
  generateDefaultClaudeMd2,
28
28
  generateDefaultSoulMd2,
@@ -36,7 +36,7 @@ import {
36
36
  init_identity_field_budget,
37
37
  contentSha256,
38
38
  init_profile_sync
39
- } from "./cli-cby329ny.js";
39
+ } from "./cli-wyrr38xm.js";
40
40
  import {
41
41
  isSlackConfigured,
42
42
  init_config
@@ -51,7 +51,7 @@ import {
51
51
  } from "./cli-yxqag76b.js";
52
52
  import {
53
53
  init_templates3
54
- } from "./cli-4ync7m60.js";
54
+ } from "./cli-0ebey9hg.js";
55
55
  import {
56
56
  registerTemplate,
57
57
  getAllTemplateDefinitions,
@@ -59,7 +59,7 @@ import {
59
59
  configureDbResolver,
60
60
  init_resolver,
61
61
  init_session_templates
62
- } from "./cli-w7z94e6c.js";
62
+ } from "./cli-tx00c0h6.js";
63
63
  import {
64
64
  activeModelBlock,
65
65
  init_model_rate_limit_windows
@@ -82,8 +82,10 @@ import {
82
82
  init_zod
83
83
  } from "./cli-4chz1hye.js";
84
84
  import {
85
+ exports_iso,
85
86
  string2,
86
87
  uuid,
88
+ url,
87
89
  number2,
88
90
  boolean,
89
91
  array2,
@@ -91,8 +93,10 @@ import {
91
93
  strictObject2,
92
94
  looseObject,
93
95
  union2,
96
+ discriminatedUnion,
94
97
  record2,
95
- _enum2
98
+ _enum2,
99
+ literal2
96
100
  } from "./cli-d9f7gzeq.js";
97
101
  import {
98
102
  getNodeEnv,
@@ -101,7 +105,7 @@ import {
101
105
  import {
102
106
  init_package,
103
107
  package_default
104
- } from "./cli-2jm992rm.js";
108
+ } from "./cli-mz1ezzzh.js";
105
109
  import {
106
110
  realtimeBus,
107
111
  init_bus
@@ -1865,6 +1869,75 @@ var init_catalog = __esm(() => {
1865
1869
  }
1866
1870
  }
1867
1871
  },
1872
+ {
1873
+ product: "agent-swarm",
1874
+ event: "ranking.opted_in",
1875
+ description: "An admin opted the install into the public ranking, or the API rebuilt its listing after an org identity change.",
1876
+ since: "2026-10-18",
1877
+ source: "api-server",
1878
+ properties: {
1879
+ listing: {
1880
+ type: "string",
1881
+ required: true,
1882
+ description: "The stringified telemetry_ranking listing (contracts/telemetry/ranking/listing.v1.schema.json). The ingest also requires its name and domain to equal context.org_name and context.org_website."
1883
+ }
1884
+ }
1885
+ },
1886
+ {
1887
+ product: "agent-swarm",
1888
+ event: "ranking.opted_out",
1889
+ description: "The install left the public ranking: the admin turned it off, or the org name or website was cleared or changed.",
1890
+ since: "2026-10-18",
1891
+ source: "api-server",
1892
+ properties: {
1893
+ domain: {
1894
+ type: "string",
1895
+ required: true,
1896
+ description: "The listing domain that leaves the ranking: a lowercase hostname."
1897
+ }
1898
+ }
1899
+ },
1900
+ {
1901
+ product: "agent-swarm",
1902
+ event: "ranking.usage",
1903
+ description: "Token usage of one session on an install opted into the public ranking. Sent next to session.cost.",
1904
+ since: "2026-10-18",
1905
+ source: "worker",
1906
+ properties: {
1907
+ totalTokens: {
1908
+ type: "integer",
1909
+ required: true,
1910
+ minimum: 0,
1911
+ description: "inputTokens + cacheReadTokens + cacheWriteTokens + outputTokens. The ranking sums this."
1912
+ },
1913
+ inputTokens: {
1914
+ type: "integer",
1915
+ required: true,
1916
+ minimum: 0
1917
+ },
1918
+ outputTokens: {
1919
+ type: "integer",
1920
+ required: true,
1921
+ minimum: 0
1922
+ },
1923
+ cacheReadTokens: {
1924
+ type: "integer",
1925
+ minimum: 0
1926
+ },
1927
+ cacheWriteTokens: {
1928
+ type: "integer",
1929
+ minimum: 0
1930
+ },
1931
+ model: {
1932
+ type: "string",
1933
+ description: "The session's model, the same value as session.cost.model. Usage without it, or with a value the ranking does not accept, is shown as the model unknown."
1934
+ },
1935
+ provider: {
1936
+ type: "string",
1937
+ description: "The session's provider, the same value as session.cost.provider. Missing means unknown."
1938
+ }
1939
+ }
1940
+ },
1868
1941
  {
1869
1942
  product: "agent-fs",
1870
1943
  event: "server.started",
@@ -2385,7 +2458,7 @@ function track(options) {
2385
2458
  function trackRelayed(event, properties, options) {
2386
2459
  emit(event, properties, undefined, options.actor, options.emitter);
2387
2460
  }
2388
- function emit(event, properties, metadata, actor, emitter = source) {
2461
+ function emit(event, properties, metadata, actor, emitter = source, identity) {
2389
2462
  if (!isTelemetryEnabled() || !installationId)
2390
2463
  return;
2391
2464
  maybeRefreshOrgIdentity();
@@ -2396,7 +2469,7 @@ function emit(event, properties, metadata, actor, emitter = source) {
2396
2469
  const occurredAt = new Date().toISOString();
2397
2470
  const sentFor = installationId;
2398
2471
  const isCloud = cachedIsCloud || isCloudDeployment();
2399
- const orgIdentity = getOrgIdentity();
2472
+ const orgIdentity = identity ? { ...getOrgIdentity(), organization_name: identity.orgName } : getOrgIdentity();
2400
2473
  const userId = actor?.userId?.trim() || undefined;
2401
2474
  const payload = {
2402
2475
  schema_version: 2,
@@ -2410,7 +2483,7 @@ function emit(event, properties, metadata, actor, emitter = source) {
2410
2483
  orgId,
2411
2484
  orgName: orgIdentity.organization_name,
2412
2485
  orgDomain: cachedOrgDomain,
2413
- orgWebsite: normalizeOrgWebsite(process.env.SWARM_ORG_WEBSITE),
2486
+ orgWebsite: identity?.orgWebsite ?? normalizeOrgWebsite(process.env.SWARM_ORG_WEBSITE),
2414
2487
  installationId,
2415
2488
  actor: userId ? { userId, role: actor?.role ?? roleResolver?.(userId) ?? null } : undefined,
2416
2489
  isCloud,
@@ -2559,6 +2632,9 @@ var init_telemetry = __esm(() => {
2559
2632
  ...secondsSinceInstall !== undefined ? { seconds_since_install: secondsSinceInstall } : {}
2560
2633
  }, undefined, actor);
2561
2634
  },
2635
+ ranking(event, props, identity) {
2636
+ emit(`ranking.${event}`, props, undefined, undefined, source, identity);
2637
+ },
2562
2638
  org(event, props) {
2563
2639
  emit(`org.${event}`, props, undefined);
2564
2640
  },
@@ -2625,9 +2701,7 @@ function auditAssetKeys(db) {
2625
2701
  }
2626
2702
  const attachmentMappings = db.prepare(`SELECT
2627
2703
  a.id AS attachment_id,
2628
- t."key" AS task_key,
2629
- m.id AS mapping_id,
2630
- m."key" AS mapping_key
2704
+ m.id AS mapping_id
2631
2705
  FROM task_attachments a
2632
2706
  JOIN agent_tasks t ON t.id = a.task_id
2633
2707
  LEFT JOIN asset_key_mappings m
@@ -2646,14 +2720,6 @@ function auditAssetKeys(db) {
2646
2720
  entityId: row.attachment_id,
2647
2721
  message: "Agent-fs attachment has no logical namespace mapping."
2648
2722
  });
2649
- } else if (row.mapping_key !== row.task_key) {
2650
- issues.push({
2651
- severity: "warning",
2652
- code: "provider-mapping-drift",
2653
- entityType: "file",
2654
- entityId: row.mapping_id,
2655
- message: "Provider mapping namespace differs from its parent task namespace."
2656
- });
2657
2723
  }
2658
2724
  }
2659
2725
  const sourcedMappings = db.prepare(`SELECT
@@ -4486,7 +4552,7 @@ var init_runtime = __esm(() => {
4486
4552
  // src/telemetry-identity.ts
4487
4553
  async function loadUserRole(userId) {
4488
4554
  try {
4489
- const { getUserGrant } = await import("./rbac-roles-9648nh00.js");
4555
+ const { getUserGrant } = await import("./rbac-roles-vbpy21mg.js");
4490
4556
  const grant = await getUserGrant(userId);
4491
4557
  const role = grant.grantsAll ? "admin" : "member";
4492
4558
  if (roleCache.size >= ROLE_CACHE_LIMIT) {
@@ -5534,8 +5600,9 @@ async function hasNonTerminalRerouteDecisionChild2(parentId) {
5534
5600
  LIMIT 1`, [parentId]);
5535
5601
  return row !== undefined && row !== null;
5536
5602
  }
5537
- async function getTasksByAgentId2(agentId) {
5538
- const rows = await getDbClient2().query("SELECT * FROM agent_tasks WHERE agentId = ? ORDER BY createdAt DESC", [agentId]);
5603
+ async function getTasksByAgentId2(agentId, readableBy) {
5604
+ const readable = readableBy ? readableSessionCondition(readableBy.userId) : undefined;
5605
+ const rows = await getDbClient2().query(`SELECT * FROM agent_tasks WHERE agentId = ?${readable ? ` AND ${readable.sql}` : ""} ORDER BY createdAt DESC`, [agentId, ...readable?.params ?? []]);
5539
5606
  return rows.map(rowToAgentTask);
5540
5607
  }
5541
5608
  async function getAgentCurrentTask2(agentId) {
@@ -5554,6 +5621,27 @@ async function findTaskByVcs2(vcsRepo, vcsNumber) {
5554
5621
  LIMIT 1`, [vcsRepo, vcsNumber]);
5555
5622
  return row ? rowToAgentTask(row) : null;
5556
5623
  }
5624
+ function readableSessionCondition(userId, taskIdColumn = "agent_tasks.id", opts = {}) {
5625
+ const otherOwner = userId ? "r.requestedByUserId IS NOT NULL AND r.requestedByUserId != ?" : "r.requestedByUserId IS NOT NULL";
5626
+ const shareMatch = userId ? "(s.userId IS NULL OR s.userId = ?)" : "s.userId IS NULL";
5627
+ const notHidden = `${taskIdColumn} NOT IN (
5628
+ WITH RECURSIVE hidden(id) AS (
5629
+ SELECT r.id FROM agent_tasks r
5630
+ WHERE (r.parentTaskId IS NULL
5631
+ OR NOT EXISTS (SELECT 1 FROM agent_tasks p WHERE p.id = r.parentTaskId))
5632
+ AND ${otherOwner}
5633
+ AND NOT EXISTS (SELECT 1 FROM session_shares s
5634
+ WHERE s.rootTaskId = r.id AND s.revokedAt IS NULL AND ${shareMatch})
5635
+ UNION ALL
5636
+ SELECT c.id FROM agent_tasks c JOIN hidden ON c.parentTaskId = hidden.id
5637
+ )
5638
+ SELECT id FROM hidden
5639
+ )`;
5640
+ return {
5641
+ sql: opts.nullable ? `(${taskIdColumn} IS NULL OR ${notHidden})` : notHidden,
5642
+ params: userId ? [userId, userId] : []
5643
+ };
5644
+ }
5557
5645
  async function getAllTasks2(filters, opts) {
5558
5646
  const conditions = [];
5559
5647
  const params = [];
@@ -5633,6 +5721,11 @@ async function getAllTasks2(filters, opts) {
5633
5721
  if (!filters?.includeHeartbeat) {
5634
5722
  conditions.push(`(IFNULL(taskType, '') NOT IN ('heartbeat', 'heartbeat-checklist', 'boot-triage') AND tags NOT LIKE '%"heartbeat"%')`);
5635
5723
  }
5724
+ if (filters?.readableBy) {
5725
+ const readable = readableSessionCondition(filters.readableBy.userId);
5726
+ conditions.push(readable.sql);
5727
+ params.push(...readable.params);
5728
+ }
5636
5729
  const whereClause = conditions.length > 0 ? `WHERE ${conditions.join(" AND ")}` : "";
5637
5730
  const limit = filters?.limit ?? 25;
5638
5731
  const offset = filters?.offset ?? 0;
@@ -5750,6 +5843,11 @@ async function getTasksCount2(filters) {
5750
5843
  if (!filters?.includeHeartbeat) {
5751
5844
  conditions.push(`(IFNULL(taskType, '') NOT IN ('heartbeat', 'heartbeat-checklist', 'boot-triage') AND tags NOT LIKE '%"heartbeat"%')`);
5752
5845
  }
5846
+ if (filters?.readableBy) {
5847
+ const readable = readableSessionCondition(filters.readableBy.userId);
5848
+ conditions.push(readable.sql);
5849
+ params.push(...readable.params);
5850
+ }
5753
5851
  const whereClause = conditions.length > 0 ? `WHERE ${conditions.join(" AND ")}` : "";
5754
5852
  const query = `SELECT COUNT(*) as count FROM agent_tasks ${whereClause}`;
5755
5853
  const result = await getDbClient2().get(query, params);
@@ -6339,6 +6437,26 @@ var init_model_profiles = __esm(() => {
6339
6437
  init_read();
6340
6438
  });
6341
6439
 
6440
+ // src/be/db/session-visibility.ts
6441
+ function sessionViewerCondition(viewer) {
6442
+ const shared = `EXISTS (SELECT 1 FROM session_shares s
6443
+ WHERE s.rootTaskId = r.id AND s.revokedAt IS NULL AND (s.userId IS NULL OR s.userId = ?))`;
6444
+ if (viewer.scope === "mine") {
6445
+ return { sql: "r.requestedByUserId = ?", params: [viewer.userId] };
6446
+ }
6447
+ if (viewer.scope === "shared") {
6448
+ return {
6449
+ sql: `(r.requestedByUserId IS NOT NULL AND r.requestedByUserId IS NOT ? AND ${shared})`,
6450
+ params: [viewer.userId, viewer.userId]
6451
+ };
6452
+ }
6453
+ return {
6454
+ sql: `(r.requestedByUserId IS NULL OR r.requestedByUserId = ? OR ${shared})`,
6455
+ params: [viewer.userId, viewer.userId]
6456
+ };
6457
+ }
6458
+ var init_session_visibility = () => {};
6459
+
6342
6460
  // src/be/db/tasks/human-free.ts
6343
6461
  function humanFreeCase(parentFlag) {
6344
6462
  return `CASE
@@ -7178,10 +7296,11 @@ async function resumeTask2(taskId) {
7178
7296
  }
7179
7297
  return row ? rowToAgentTask(row) : null;
7180
7298
  }
7181
- async function getPausedTasksForAgent2(agentId) {
7299
+ async function getPausedTasksForAgent2(agentId, readableBy) {
7300
+ const readable = readableBy ? readableSessionCondition(readableBy.userId) : undefined;
7182
7301
  const rows = await getDbClient2().query(`SELECT * FROM agent_tasks
7183
- WHERE agentId = ? AND status = 'paused'
7184
- ORDER BY createdAt ASC, rowid ASC`, [agentId]);
7302
+ WHERE agentId = ? AND status = 'paused'${readable ? ` AND ${readable.sql}` : ""}
7303
+ ORDER BY createdAt ASC, rowid ASC`, [agentId, ...readable?.params ?? []]);
7185
7304
  return rows.map(rowToAgentTask);
7186
7305
  }
7187
7306
  async function getOrphanedInProgressTasksForAgent2(agentId, minAgeSeconds = 60) {
@@ -7227,13 +7346,14 @@ async function resetOrphanedInProgressTasksForAgent2(agentId, minAgeSeconds = 60
7227
7346
  }
7228
7347
  return rows.map(rowToAgentTask);
7229
7348
  }
7230
- async function getRecentlyCancelledTasksForAgent2(agentId) {
7349
+ async function getRecentlyCancelledTasksForAgent2(agentId, readableBy) {
7231
7350
  const fiveMinutesAgo = new Date(Date.now() - 5 * 60 * 1000).toISOString();
7351
+ const readable = readableBy ? readableSessionCondition(readableBy.userId) : undefined;
7232
7352
  const rows = await getDbClient2().query(`SELECT * FROM agent_tasks
7233
7353
  WHERE agentId = ?
7234
7354
  AND status = 'cancelled'
7235
- AND finishedAt > ?
7236
- ORDER BY finishedAt DESC`, [agentId, fiveMinutesAgo]);
7355
+ AND finishedAt > ?${readable ? ` AND ${readable.sql}` : ""}
7356
+ ORDER BY finishedAt DESC`, [agentId, fiveMinutesAgo, ...readable?.params ?? []]);
7237
7357
  return rows.map(rowToAgentTask);
7238
7358
  }
7239
7359
  async function deleteTask2(id) {
@@ -7506,6 +7626,108 @@ var init_schema = __esm(() => {
7506
7626
  };
7507
7627
  });
7508
7628
 
7629
+ // src/telemetry-contract/ranking-taxonomy.gen.ts
7630
+ var RANKING_TAXONOMY;
7631
+ var init_ranking_taxonomy_gen = __esm(() => {
7632
+ RANKING_TAXONOMY = {
7633
+ engineering: ["coding-agents", "qa-testing", "devops", "code-review"],
7634
+ product: ["research", "design", "analytics"],
7635
+ marketing: ["content", "seo", "social"],
7636
+ support: ["customer-support", "docs"],
7637
+ operations: ["back-office", "sales-ops", "finance"],
7638
+ other: []
7639
+ };
7640
+ });
7641
+
7642
+ // src/ranking/telemetry-ranking.ts
7643
+ function inCategory(category, subcategory) {
7644
+ if (subcategory === null)
7645
+ return true;
7646
+ const subs = RANKING_TAXONOMY[category];
7647
+ return subs?.includes(subcategory) ?? false;
7648
+ }
7649
+ function parseTelemetryRanking(raw) {
7650
+ if (new TextEncoder().encode(raw).length > TELEMETRY_RANKING_MAX_BYTES) {
7651
+ throw new Error(`telemetry_ranking exceeds ${TELEMETRY_RANKING_MAX_BYTES} bytes`);
7652
+ }
7653
+ return telemetryRankingSchema.parse(JSON.parse(raw));
7654
+ }
7655
+ function readTelemetryRanking(raw) {
7656
+ if (!raw?.trim())
7657
+ return null;
7658
+ try {
7659
+ return parseTelemetryRanking(raw);
7660
+ } catch {
7661
+ return null;
7662
+ }
7663
+ }
7664
+ function mintRankingClaim() {
7665
+ const bytes = crypto.getRandomValues(new Uint8Array(16));
7666
+ return `rk_${Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("")}`;
7667
+ }
7668
+ function buildListing(identity, form, claim, now = new Date) {
7669
+ if (!identity.ok || !identity.name || !identity.website) {
7670
+ throw new Error(`Org identity is missing: ${identity.missing.join(", ")}`);
7671
+ }
7672
+ const listing = {
7673
+ v: 1,
7674
+ claim,
7675
+ name: identity.name,
7676
+ domain: identity.website,
7677
+ category: form.category,
7678
+ subcategory: blankToNull(form.subcategory),
7679
+ description: blankToNull(form.description),
7680
+ sourceCodeUrl: blankToNull(form.sourceCodeUrl),
7681
+ updatedAt: now.toISOString()
7682
+ };
7683
+ return parseTelemetryRanking(JSON.stringify(listing));
7684
+ }
7685
+ function rankingEntryFile(listing) {
7686
+ return `${JSON.stringify({ $schema: "./schema.json", domain: listing.domain, claim: listing.claim }, null, 2)}
7687
+ `;
7688
+ }
7689
+ function rankingPrUrl(listing) {
7690
+ const params = new URLSearchParams({
7691
+ filename: `community/ranking/${listing.domain}.json`,
7692
+ value: rankingEntryFile(listing),
7693
+ message: `chore(ranking): add ${listing.domain}`
7694
+ });
7695
+ return `https://github.com/${RANKING_REPO}/new/main?${params.toString()}`;
7696
+ }
7697
+ function rankingLeaveUrl(domain) {
7698
+ return `https://github.com/${RANKING_REPO}/delete/main/community/ranking/${domain}.json`;
7699
+ }
7700
+ var TELEMETRY_RANKING_KEY = "telemetry_ranking", PUBLIC_RANKING_ENABLED_KEY = "PUBLIC_RANKING_ENABLED", TELEMETRY_RANKING_MAX_BYTES = 2048, RANKING_CATEGORIES, RANKING_CLAIM_PATTERN, hostname, nullableText = (max) => string2().trim().min(1).max(max).nullable(), telemetryRankingV1, telemetryRankingSchema, rankingFormSchema, blankToNull = (value) => value?.trim() || null, RANKING_REPO = "desplega-ai/agent-swarm";
7701
+ var init_telemetry_ranking = __esm(() => {
7702
+ init_zod();
7703
+ init_ranking_taxonomy_gen();
7704
+ init_org_website();
7705
+ RANKING_CATEGORIES = Object.keys(RANKING_TAXONOMY);
7706
+ RANKING_CLAIM_PATTERN = /^rk_[0-9a-f]{32}$/;
7707
+ hostname = string2().refine((v) => normalizeOrgWebsite(v) === v, "bare hostname");
7708
+ telemetryRankingV1 = strictObject2({
7709
+ v: literal2(1),
7710
+ claim: string2().regex(RANKING_CLAIM_PATTERN),
7711
+ name: string2().trim().min(1).max(60),
7712
+ domain: hostname,
7713
+ category: _enum2(RANKING_CATEGORIES),
7714
+ subcategory: string2().regex(/^[a-z0-9]+(-[a-z0-9]+)*$/).max(40).nullable(),
7715
+ description: nullableText(160),
7716
+ sourceCodeUrl: url({ protocol: /^https$/ }).max(200).nullable(),
7717
+ updatedAt: exports_iso.datetime()
7718
+ }).refine((l) => inCategory(l.category, l.subcategory), {
7719
+ path: ["subcategory"],
7720
+ message: "not in this category"
7721
+ });
7722
+ telemetryRankingSchema = discriminatedUnion("v", [telemetryRankingV1]);
7723
+ rankingFormSchema = object2({
7724
+ category: _enum2(RANKING_CATEGORIES),
7725
+ subcategory: string2().nullable().optional(),
7726
+ description: string2().nullable().optional(),
7727
+ sourceCodeUrl: string2().nullable().optional()
7728
+ });
7729
+ });
7730
+
7509
7731
  // src/scripts-runtime/executors/quickjs-pool-config.ts
7510
7732
  function validateQuickJSPoolSize(value) {
7511
7733
  const error = `Invalid SCRIPT_QUICKJS_POOL_SIZE (must be an integer between 1 and ${MAX_QUICKJS_POOL_SIZE})`;
@@ -7670,7 +7892,8 @@ function isInternalConfigKey(key) {
7670
7892
  return INTERNAL_CONFIG_KEYS.has(key.toLowerCase());
7671
7893
  }
7672
7894
  function internalConfigKeyError(key) {
7673
- const owner = key.toLowerCase() === "runtime_owner_id" ? "the runtime supervisor" : "/api/onboarding";
7895
+ const lower = key.toLowerCase();
7896
+ const owner = lower === "runtime_owner_id" ? "the runtime supervisor" : lower === TELEMETRY_RANKING_KEY ? "/api/ranking" : "/api/onboarding";
7674
7897
  return new Error(`Key '${key}' is managed by ${owner}`);
7675
7898
  }
7676
7899
  function isReservedConfigKey(key) {
@@ -7779,6 +8002,7 @@ function validateExportToEnv(key, exportToEnv) {
7779
8002
  var TEAMS_SDK_ENV_KEYS, RESERVED_KEYS, API_ONLY_CONFIG_KEYS, INTERNAL_CONFIG_KEYS, BOOLEAN_LITERALS, MAX_DB_RETENTION_DAYS = 1e6, DB_RETENTION_TUNING_BOUNDS, validateControllerTokenTtlDays, validateControllerGraceSec, VALIDATED_KEYS;
7780
8003
  var init_swarm_config_guard = __esm(() => {
7781
8004
  init_schema();
8005
+ init_telemetry_ranking();
7782
8006
  init_quickjs_pool_config();
7783
8007
  init_reaction_shortcode();
7784
8008
  init_types();
@@ -7805,7 +8029,11 @@ var init_swarm_config_guard = __esm(() => {
7805
8029
  "CHAT_SDK_API_URL_OVERRIDES"
7806
8030
  ]);
7807
8031
  API_ONLY_CONFIG_KEYS = new Set(["API_AGENT_FS_API_KEY", "SLACK_SIGNING_SECRET"]);
7808
- INTERNAL_CONFIG_KEYS = new Set(["onboarding_state", "runtime_owner_id"]);
8032
+ INTERNAL_CONFIG_KEYS = new Set([
8033
+ "onboarding_state",
8034
+ "runtime_owner_id",
8035
+ TELEMETRY_RANKING_KEY
8036
+ ]);
7809
8037
  BOOLEAN_LITERALS = ["true", "false", "1", "0"];
7810
8038
  DB_RETENTION_TUNING_BOUNDS = {
7811
8039
  DB_RETENTION_TICK_BUDGET_MS: { min: 1000, max: 300000 },
@@ -7847,6 +8075,16 @@ var init_swarm_config_guard = __esm(() => {
7847
8075
  return "Invalid TASK_TOOL_MANIFESTS (expected JSON with taskTypes and/or schedules maps, each selecting at most 16 known swarm tools)";
7848
8076
  }
7849
8077
  },
8078
+ [TELEMETRY_RANKING_KEY.toUpperCase()]: (value) => {
8079
+ try {
8080
+ if (typeof value !== "string")
8081
+ throw new Error("Expected JSON string");
8082
+ parseTelemetryRanking(value);
8083
+ return null;
8084
+ } catch {
8085
+ return "Invalid telemetry_ranking (expected the v1 ranking listing JSON)";
8086
+ }
8087
+ },
7850
8088
  SWARM_ENABLED_TOOLS: (value) => {
7851
8089
  try {
7852
8090
  if (typeof value !== "string")
@@ -7920,6 +8158,7 @@ var init_swarm_config_guard = __esm(() => {
7920
8158
  },
7921
8159
  ...booleanValidators([
7922
8160
  "SWARM_USED_BY_CONSENT",
8161
+ "PUBLIC_RANKING_ENABLED",
7923
8162
  "SWARM_DEV_MODE",
7924
8163
  "MULTI_RUNTIME_ENABLED",
7925
8164
  "STEERING_ENABLED",
@@ -18494,7 +18733,7 @@ async function loadSecretRegistry() {
18494
18733
  result.failed += 1;
18495
18734
  }
18496
18735
  try {
18497
- const { loadRuntimeControllerSecrets } = await import("./db-19tw9r5s.js");
18736
+ const { loadRuntimeControllerSecrets } = await import("./db-nc1rd869.js");
18498
18737
  const loaded = await loadRuntimeControllerSecrets();
18499
18738
  result.runtimeController = loaded.count;
18500
18739
  result.failed += loaded.failed;
@@ -18751,6 +18990,9 @@ async function refreshActiveSessionOnActivity2(taskId, minIntervalMs = SESSION_A
18751
18990
  const result = await getDbClient2().run("UPDATE active_sessions SET lastHeartbeatAt = ? WHERE taskId = ? AND lastHeartbeatAt < ?", [new Date(nowMs).toISOString(), taskId, new Date(nowMs - minIntervalMs).toISOString()]);
18752
18991
  return result.changes > 0;
18753
18992
  }
18993
+ async function getActiveSessionById(id) {
18994
+ return getDbClient2().get("SELECT * FROM active_sessions WHERE id = ?", [id]);
18995
+ }
18754
18996
  var SESSION_ACTIVITY_REFRESH_MIN_INTERVAL_MS2 = 30000;
18755
18997
  var init_active_sessions = __esm(() => {
18756
18998
  init_runtime();
@@ -20105,8 +20347,8 @@ async function moveAssetKey2(input) {
20105
20347
  const previousKey = await currentAssetKey(input.entityType, input.id);
20106
20348
  if (!previousKey)
20107
20349
  return false;
20108
- if (previousKey === key)
20109
- return true;
20350
+ if (previousKey === key && input.entityType !== "task")
20351
+ return {};
20110
20352
  if (input.entityType === "file") {
20111
20353
  const mapping = await getAssetKeyMapping2(input.id);
20112
20354
  if (mapping?.sourceEntityType === "task-attachment") {
@@ -20114,40 +20356,59 @@ async function moveAssetKey2(input) {
20114
20356
  }
20115
20357
  }
20116
20358
  const now = new Date().toISOString();
20117
- await getDbClient2().transaction(async (tx) => {
20359
+ return getDbClient2().transaction(async (tx) => {
20118
20360
  switch (input.entityType) {
20119
20361
  case "task": {
20120
- const mappedFiles = await tx.query(`SELECT DISTINCT m.id, m."key" AS key
20362
+ const root = await getTaskById2(input.id);
20363
+ if (!root)
20364
+ return false;
20365
+ const tasks = [root];
20366
+ for (const id of input.descendantTaskIds ?? []) {
20367
+ const task = id === root.id ? null : await getTaskById2(id);
20368
+ if (task)
20369
+ tasks.push(task);
20370
+ }
20371
+ const movedTaskIds = [];
20372
+ for (const task of tasks) {
20373
+ if (task.key === key)
20374
+ continue;
20375
+ const mappedFiles = await tx.query(`SELECT DISTINCT m.id, m."key" AS key
20121
20376
  FROM asset_key_mappings m
20122
20377
  JOIN task_attachments a
20123
20378
  ON m.provider_id = COALESCE(NULLIF(a.provider_id, ''), 'agent-fs')
20124
20379
  AND m.provider_org_id = COALESCE(a.agent_fs_org_id, '')
20125
20380
  AND m.provider_drive_id = COALESCE(a.agent_fs_drive_id, '')
20126
20381
  AND m.provider_key = COALESCE(NULLIF(a.provider_key, ''), a.path)
20127
- WHERE a.task_id = ?`, [input.id]);
20128
- await tx.run('UPDATE agent_tasks SET "key" = ?, lastUpdatedAt = ?, updated_by = ? WHERE id = ?', [key, now, input.changedBy ?? null, input.id]);
20129
- await tx.run(`UPDATE asset_key_mappings
20130
- SET "key" = ?, updated_at = ?, updated_by = ?
20131
- WHERE EXISTS (
20132
- SELECT 1 FROM task_attachments a
20133
20382
  WHERE a.task_id = ?
20134
- AND asset_key_mappings.provider_id = COALESCE(NULLIF(a.provider_id, ''), 'agent-fs')
20135
- AND asset_key_mappings.provider_org_id = COALESCE(a.agent_fs_org_id, '')
20136
- AND asset_key_mappings.provider_drive_id = COALESCE(a.agent_fs_drive_id, '')
20137
- AND asset_key_mappings.provider_key = COALESCE(NULLIF(a.provider_key, ''), a.path)
20138
- )`, [key, now, input.changedBy ?? null, input.id]);
20139
- for (const mapping of mappedFiles) {
20140
- if (mapping.key === key)
20141
- continue;
20383
+ AND (m.source_entity_type IS NOT 'task-attachment'
20384
+ OR m.source_entity_id IN (SELECT id FROM task_attachments WHERE task_id = ?))`, [task.id, task.id]);
20385
+ await tx.run('UPDATE agent_tasks SET "key" = ?, updated_by = ? WHERE id = ?', [
20386
+ key,
20387
+ input.changedBy ?? null,
20388
+ task.id
20389
+ ]);
20390
+ for (const mapping of mappedFiles) {
20391
+ if (mapping.key === key)
20392
+ continue;
20393
+ await tx.run('UPDATE asset_key_mappings SET "key" = ?, updated_at = ?, updated_by = ? WHERE id = ?', [key, now, input.changedBy ?? null, mapping.id]);
20394
+ await insertAssetKeyHistory({
20395
+ entityType: "file",
20396
+ entityId: mapping.id,
20397
+ previousKey: mapping.key,
20398
+ newKey: key,
20399
+ changedBy: input.changedBy
20400
+ });
20401
+ }
20142
20402
  await insertAssetKeyHistory({
20143
- entityType: "file",
20144
- entityId: mapping.id,
20145
- previousKey: mapping.key,
20403
+ entityType: "task",
20404
+ entityId: task.id,
20405
+ previousKey: task.key,
20146
20406
  newKey: key,
20147
20407
  changedBy: input.changedBy
20148
20408
  });
20409
+ movedTaskIds.push(task.id);
20149
20410
  }
20150
- break;
20411
+ return { movedTaskIds };
20151
20412
  }
20152
20413
  case "workflow":
20153
20414
  await tx.run('UPDATE workflows SET "key" = ?, lastUpdatedAt = ?, updated_by = ? WHERE id = ?', [key, now, input.changedBy ?? null, input.id]);
@@ -20189,8 +20450,8 @@ async function moveAssetKey2(input) {
20189
20450
  newKey: key,
20190
20451
  changedBy: input.changedBy
20191
20452
  });
20453
+ return {};
20192
20454
  });
20193
- return true;
20194
20455
  }
20195
20456
  async function deleteTaskAttachment2(id) {
20196
20457
  const result = await getDbClient2().run("DELETE FROM task_attachments WHERE id = ?", [id]);
@@ -20320,11 +20581,12 @@ async function getSteeringMessageById2(id) {
20320
20581
  async function getPendingSteeringForTask2(taskId) {
20321
20582
  return await getSteeringMessagesForTask2(taskId, { status: "pending" });
20322
20583
  }
20323
- async function getPendingSteeringForAgent2(agentId) {
20584
+ async function getPendingSteeringForAgent2(agentId, readableBy) {
20585
+ const readable = readableBy ? readableSessionCondition(readableBy.userId, "t.id") : undefined;
20324
20586
  const rows = await getDbClient2().query(`${STEERING_MESSAGE_SELECT}
20325
20587
  JOIN agent_tasks t ON t.id = m.task_id
20326
- WHERE t.agentId = ? AND m.status = 'pending'
20327
- ORDER BY m.created_at ASC, m.rowid ASC`, [agentId]);
20588
+ WHERE t.agentId = ? AND m.status = 'pending'${readable ? ` AND ${readable.sql}` : ""}
20589
+ ORDER BY m.created_at ASC, m.rowid ASC`, [agentId, ...readable?.params ?? []]);
20328
20590
  return rows.map(rowToSteeringMessage);
20329
20591
  }
20330
20592
  async function markSteeringDelivered2(id, deliveredMode, expectedTaskId) {
@@ -20380,12 +20642,12 @@ async function hasPendingSteering2(taskId) {
20380
20642
  LIMIT 1`, [taskId]);
20381
20643
  return row !== null;
20382
20644
  }
20383
- async function getAgentWithTasks2(id) {
20645
+ async function getAgentWithTasks2(id, readableBy) {
20384
20646
  return await getDbClient2().transaction(async () => {
20385
20647
  const agent = await getAgentById2(id);
20386
20648
  if (!agent)
20387
20649
  return null;
20388
- const tasks = await getTasksByAgentId2(id);
20650
+ const tasks = await getTasksByAgentId2(id, readableBy);
20389
20651
  return { ...agent, tasks };
20390
20652
  }, { readOnly: true });
20391
20653
  }
@@ -20394,7 +20656,7 @@ async function getAllAgentsWithTasks2(opts) {
20394
20656
  const agents = await getAllAgents2({ slim: opts?.slim ?? false });
20395
20657
  return await Promise.all(agents.map(async (agent) => ({
20396
20658
  ...agent,
20397
- tasks: await getTasksByAgentId2(agent.id)
20659
+ tasks: await getTasksByAgentId2(agent.id, opts?.readableBy)
20398
20660
  })));
20399
20661
  }, { readOnly: true });
20400
20662
  }
@@ -20427,8 +20689,9 @@ async function createLogEntry2(entry) {
20427
20689
  throw new Error("Failed to create log entry");
20428
20690
  return rowToAgentLog(row);
20429
20691
  }
20430
- async function getLogsByAgentId2(agentId) {
20431
- const rows = await getDbClient2().query("SELECT * FROM agent_log WHERE agentId = ? ORDER BY createdAt DESC", [agentId]);
20692
+ async function getLogsByAgentId2(agentId, readableBy) {
20693
+ const readable = readableBy ? readableSessionCondition(readableBy.userId, "agent_log.taskId", { nullable: true }) : undefined;
20694
+ const rows = await getDbClient2().query(`SELECT * FROM agent_log WHERE agentId = ?${readable ? ` AND ${readable.sql}` : ""} ORDER BY createdAt DESC`, [agentId, ...readable?.params ?? []]);
20432
20695
  return rows.map(rowToAgentLog);
20433
20696
  }
20434
20697
  async function getLogsByTaskId2(taskId, limit = 200) {
@@ -20447,12 +20710,14 @@ async function getLogsByEventType2(eventType) {
20447
20710
  const rows = await getDbClient2().query("SELECT * FROM agent_log WHERE eventType = ? ORDER BY createdAt DESC", [eventType]);
20448
20711
  return rows.map(rowToAgentLog);
20449
20712
  }
20450
- async function getAllLogs2(limit) {
20713
+ async function getAllLogs2(limit, readableBy) {
20714
+ const readable = readableBy ? readableSessionCondition(readableBy.userId, "agent_log.taskId", { nullable: true }) : undefined;
20715
+ const readableParams = readable?.params ?? [];
20451
20716
  if (limit) {
20452
- const rows = await getDbClient2().query("SELECT * FROM agent_log WHERE eventType != 'agent_status_change' ORDER BY createdAt DESC LIMIT ?", [limit]);
20717
+ const rows = await getDbClient2().query(`SELECT * FROM agent_log WHERE eventType != 'agent_status_change'${readable ? ` AND ${readable.sql}` : ""} ORDER BY createdAt DESC LIMIT ?`, [...readableParams, limit]);
20453
20718
  return rows.map(rowToAgentLog);
20454
20719
  }
20455
- const rows = await getDbClient2().query("SELECT * FROM agent_log ORDER BY createdAt DESC");
20720
+ const rows = await getDbClient2().query(`SELECT * FROM agent_log${readable ? ` WHERE ${readable.sql}` : ""} ORDER BY createdAt DESC`, readableParams);
20456
20721
  return rows.map(rowToAgentLog);
20457
20722
  }
20458
20723
  async function findRecentSimilarTasks2(opts) {
@@ -22327,21 +22592,24 @@ async function releaseStaleProcessingInbox2(timeoutMinutes = 30) {
22327
22592
  WHERE status = 'processing' AND lastUpdatedAt < ?`, [now, cutoffTime]);
22328
22593
  return result.changes;
22329
22594
  }
22330
- async function getConcurrentContext2() {
22595
+ async function getConcurrentContext2(readableBy) {
22331
22596
  const client = getDbClient2();
22597
+ const readable = readableBy ? readableSessionCondition(readableBy.userId, "t.id") : undefined;
22598
+ const readableSql = readable ? ` AND ${readable.sql}` : "";
22599
+ const readableParams = readable?.params ?? [];
22332
22600
  const processingInboxMessages = await client.query("SELECT id, content, source, slackChannelId, slackThreadTs, createdAt FROM inbox_messages WHERE status = 'processing' ORDER BY createdAt DESC");
22333
22601
  const fiveMinutesAgo = new Date(Date.now() - 5 * 60 * 1000).toISOString();
22334
22602
  const recentTaskDelegations = await client.query(`SELECT t.id, t.task, t.agentId, a.name as agentName, t.creatorAgentId, t.status, t.createdAt
22335
22603
  FROM agent_tasks t
22336
22604
  LEFT JOIN agents a ON t.agentId = a.id
22337
22605
  WHERE t.createdAt > ?
22338
- AND t.creatorAgentId IN (SELECT id FROM agents WHERE isLead = 1)
22339
- ORDER BY t.createdAt DESC`, [fiveMinutesAgo]);
22606
+ AND t.creatorAgentId IN (SELECT id FROM agents WHERE isLead = 1)${readableSql}
22607
+ ORDER BY t.createdAt DESC`, [fiveMinutesAgo, ...readableParams]);
22340
22608
  const activeSwarmTasks = await client.query(`SELECT t.id, t.task, t.agentId, a.name as agentName, t.status, t.createdAt, t.progress
22341
22609
  FROM agent_tasks t
22342
22610
  LEFT JOIN agents a ON t.agentId = a.id
22343
- WHERE t.status = 'in_progress'
22344
- ORDER BY t.createdAt DESC`);
22611
+ WHERE t.status = 'in_progress'${readableSql}
22612
+ ORDER BY t.createdAt DESC`, readableParams);
22345
22613
  return {
22346
22614
  processingInboxMessages,
22347
22615
  recentTaskDelegations,
@@ -23085,11 +23353,22 @@ async function deleteActiveSessionById2(id) {
23085
23353
  const result = await getDbClient2().run("DELETE FROM active_sessions WHERE id = ?", [id]);
23086
23354
  return result.changes > 0;
23087
23355
  }
23088
- async function getActiveSessions2(agentId) {
23356
+ async function getActiveSessions2(agentId, readableBy) {
23357
+ const conditions = [];
23358
+ const params = [];
23089
23359
  if (agentId) {
23090
- return await getDbClient2().query("SELECT * FROM active_sessions WHERE agentId = ? ORDER BY startedAt DESC", [agentId]);
23360
+ conditions.push("agentId = ?");
23361
+ params.push(agentId);
23091
23362
  }
23092
- return await getDbClient2().query("SELECT * FROM active_sessions ORDER BY startedAt DESC");
23363
+ if (readableBy) {
23364
+ const readable = readableSessionCondition(readableBy.userId, "active_sessions.taskId", {
23365
+ nullable: true
23366
+ });
23367
+ conditions.push(readable.sql);
23368
+ params.push(...readable.params);
23369
+ }
23370
+ const where = conditions.length > 0 ? `WHERE ${conditions.join(" AND ")}` : "";
23371
+ return await getDbClient2().query(`SELECT * FROM active_sessions ${where} ORDER BY startedAt DESC`, params);
23093
23372
  }
23094
23373
  async function heartbeatActiveSession2(taskId) {
23095
23374
  const now = new Date().toISOString();
@@ -25942,6 +26221,7 @@ function rowToInboxItemState(row) {
25942
26221
  dismissedAt: row.dismissedAt ?? undefined,
25943
26222
  doneAt: row.doneAt ?? undefined,
25944
26223
  readAt: row.readAt ?? undefined,
26224
+ lastReadAt: row.lastReadAt ?? undefined,
25945
26225
  createdAt: row.createdAt,
25946
26226
  lastUpdatedAt: row.lastUpdatedAt
25947
26227
  };
@@ -25967,14 +26247,15 @@ async function upsertInboxState2(opts) {
25967
26247
  const doneAt = opts.doneAt ?? (opts.status === "done" ? now : null);
25968
26248
  const snoozeUntil = opts.snoozeUntil ?? null;
25969
26249
  const readAt = opts.readAt ?? null;
25970
- const row = await getDbClient2().get(`INSERT INTO inbox_item_state (userId, itemType, itemId, status, snoozeUntil, dismissedAt, doneAt, readAt, createdAt, lastUpdatedAt)
25971
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
26250
+ const row = await getDbClient2().get(`INSERT INTO inbox_item_state (userId, itemType, itemId, status, snoozeUntil, dismissedAt, doneAt, readAt, lastReadAt, createdAt, lastUpdatedAt)
26251
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
25972
26252
  ON CONFLICT(userId, itemType, itemId) DO UPDATE SET
25973
26253
  status = excluded.status,
25974
26254
  snoozeUntil = excluded.snoozeUntil,
25975
26255
  dismissedAt = excluded.dismissedAt,
25976
26256
  doneAt = excluded.doneAt,
25977
26257
  readAt = COALESCE(inbox_item_state.readAt, excluded.readAt),
26258
+ lastReadAt = CASE WHEN ? THEN excluded.lastReadAt ELSE inbox_item_state.lastReadAt END,
25978
26259
  lastUpdatedAt = excluded.lastUpdatedAt
25979
26260
  RETURNING *`, [
25980
26261
  opts.userId,
@@ -25985,8 +26266,10 @@ async function upsertInboxState2(opts) {
25985
26266
  dismissedAt,
25986
26267
  doneAt,
25987
26268
  readAt,
26269
+ opts.lastReadAt ?? null,
25988
26270
  now,
25989
- now
26271
+ now,
26272
+ opts.lastReadAt !== undefined ? 1 : 0
25990
26273
  ]);
25991
26274
  if (!row)
25992
26275
  throw new Error("Failed to upsert inbox state");
@@ -26140,6 +26423,11 @@ async function listRecentSessions2(opts) {
26140
26423
  conditions.push(`r.contextKey LIKE ? ESCAPE '\\'`);
26141
26424
  params.push(literalPrefixPattern(opts.contextKeyPrefix));
26142
26425
  }
26426
+ if (opts?.viewer) {
26427
+ const viewer = sessionViewerCondition(opts.viewer);
26428
+ conditions.push(viewer.sql);
26429
+ params.push(...viewer.params);
26430
+ }
26143
26431
  params.push(limit, offset);
26144
26432
  const rootRows = await getDbClient2().query(`WITH RECURSIVE chain(root_id, id, lastUpdatedAt, status) AS (
26145
26433
  SELECT r.id, r.id, r.lastUpdatedAt, r.status
@@ -26199,26 +26487,31 @@ async function countSessions2(opts) {
26199
26487
  const sources = opts?.source?.filter((s) => s.length > 0) ?? [];
26200
26488
  const q = opts?.q?.trim();
26201
26489
  const requestedByUserId = opts?.requestedByUserId?.trim() || undefined;
26202
- const conditions = ["parentTaskId IS NULL"];
26490
+ const conditions = ["r.parentTaskId IS NULL"];
26203
26491
  const params = [];
26204
26492
  if (sources.length > 0) {
26205
- conditions.push(`source IN (${sources.map(() => "?").join(", ")})`);
26493
+ conditions.push(`r.source IN (${sources.map(() => "?").join(", ")})`);
26206
26494
  params.push(...sources);
26207
26495
  }
26208
26496
  if (q && q.length > 0) {
26209
- conditions.push("(lower(task) LIKE ? OR lower(COALESCE(title, '')) LIKE ?)");
26497
+ conditions.push("(lower(r.task) LIKE ? OR lower(COALESCE(r.title, '')) LIKE ?)");
26210
26498
  const like = `%${q.toLowerCase()}%`;
26211
26499
  params.push(like, like);
26212
26500
  }
26213
26501
  if (requestedByUserId) {
26214
- conditions.push("requestedByUserId = ?");
26502
+ conditions.push("r.requestedByUserId = ?");
26215
26503
  params.push(requestedByUserId);
26216
26504
  }
26217
26505
  if (opts?.contextKeyPrefix) {
26218
- conditions.push(`contextKey LIKE ? ESCAPE '\\'`);
26506
+ conditions.push(`r.contextKey LIKE ? ESCAPE '\\'`);
26219
26507
  params.push(literalPrefixPattern(opts.contextKeyPrefix));
26220
26508
  }
26221
- const row = await getDbClient2().get(`SELECT COUNT(*) AS count FROM agent_tasks WHERE ${conditions.join(" AND ")}`, params);
26509
+ if (opts?.viewer) {
26510
+ const viewer = sessionViewerCondition(opts.viewer);
26511
+ conditions.push(viewer.sql);
26512
+ params.push(...viewer.params);
26513
+ }
26514
+ const row = await getDbClient2().get(`SELECT COUNT(*) AS count FROM agent_tasks r WHERE ${conditions.join(" AND ")}`, params);
26222
26515
  return row?.count ?? 0;
26223
26516
  }
26224
26517
  function rowToBudget(row) {
@@ -26947,6 +27240,7 @@ var init_db3 = __esm(() => {
26947
27240
  init_context_versions();
26948
27241
  init_model_profiles();
26949
27242
  init_runtime();
27243
+ init_session_visibility();
26950
27244
  init_human_free();
26951
27245
  init_read();
26952
27246
  init_write();
@@ -27019,4 +27313,4 @@ var init_db3 = __esm(() => {
27019
27313
  };
27020
27314
  });
27021
27315
 
27022
- export { slackContextKey, chatSdkContextKey, chatThreadOfContextKey, agentmailContextKey, githubContextKey, gitlabContextKey, azureDevOpsContextKey, azureDevOpsWorkItemContextKey, linearContextKey, buildJiraContextKey, scheduleContextKey, workflowContextKey, agentContextKey, pageContextKey, init_context_key, checkSlackRoutingCoherence, init_slack_routing, init_catalog, catalog_default, mapTriggerSurface, init_telemetry_context, TELEMETRY_PROXY_ORIGIN, normalizeOrgWebsite, orgLogoUrl, isFilledOrgLogoUrl, init_org_website, beginRequestAuthScope, setRequestAuth, getRequestAuth, getCurrentRequestAuth, runWithoutRequestAuth, getCurrentRequestUserId, init_request_auth_context, setTelemetryIngestObserver, isTelemetryEnabled, _resolveIntegrationType, _resolveIntegrationProvider, initTelemetry, setTelemetryRoleResolver, isTelemetryReady, track, trackRelayed, telemetry, emitIntegrationConnected, init_telemetry, auditAssetKeys, init_asset_key_audit, CredentialBindingSchema, placeholderForConfigKey, CredentialBroker, DEFAULT_CREDENTIAL_BINDINGS, assertUrlSafe, parseEgressAllowlist, init_egress_guard, init_credential_broker, encryptSecret, decryptSecret, getEncryptionKey, init_crypto, isInTransaction, init_db_client, breaksJsonValidity, scrubJsonValue, init_scrub_json, sealJson, init_sealed_json, getPromptTemplateDefaultDrift, init_default_drift, init_templates, init_templates2, isSqliteVecAvailable2, resolveSqliteVecExtensionPath2, __resetSqliteVecExtensionPathCacheForTests2, initDb2, getDb2, closeDb2, getDbClient2, init_runtime, cachedUserRole, configureOrgDomainPersistence, recomputeOrgDomain, scheduleOrgDomainRecompute, init_telemetry_identity, resolveTriggerSurface, emitTaskTelemetry, init_telemetry_trigger, 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, computeContentHash2, createContextVersion2, getLatestContextVersion2, getContextVersion2, getContextVersionHistory2, vcsRepoName, vcsRepoUrlMatches, init_vcs_repo_match, rowToAgentTask, getTaskById2, getChildTasks2, hasNonTerminalResumeChild2, SUPERSEDED_RESUME_REPAIR_WINDOW_MS2, getSupersededTasksWithoutResume2, getSupersededTasksWithUnsettledDependents2, hasNonTerminalRerouteDecisionChild2, getTasksByAgentId2, getAgentCurrentTask2, getTasksByStatus2, findTaskByVcs2, findTaskByGitHub2, 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, setHumanFreeQueueListener, drainHumanFreeReclassifyQueue, init_human_free, onTaskStarted, init_task_lifecycle_events, channelTopic, addWorkerSubscription, removeWorkerSubscription, listSubscribedWorkerAgents, init_channels, publishWorkerNudge, init_worker_nudges, createTask2, getPendingTaskForAgent2, assignUnassignedTaskPending2, startTask2, updateTaskClaudeSessionId2, recordTaskProviderIfUnset2, updateTaskTitle2, completeTask2, failTask2, overwriteTerminalTaskResultText2, cancelTask2, supersedeTask2, settleSupersededTaskDependents2, backfillSupersedeTaskResumeTaskId2, pauseTask2, resumeTask2, getPausedTasksForAgent2, getOrphanedInProgressTasksForAgent2, resetOrphanedInProgressTasksForAgent2, getRecentlyCancelledTasksForAgent2, deleteTask2, updateTaskProgress2, getChildWorkflowRunId, getWorkflowRunParent, getWorkflowRunLineage, getSettledChildRunParentSteps, init_workflow_runs, CHAT_SDK_ADAPTER_NAMES, CHAT_SDK_ADAPTER_SCHEMAS, ChatSdkAdaptersDraftSchema, firstIssueText, isAdapterEntryEnabled, init_schema, 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_drain, 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, validateRuntimeTokenTtlHours, validateControllerTokenTtlDays, validateControllerGraceSec, validateConfigValue, 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_openai, CANDIDATE_SET_MULTIPLIER, isGraphExpansionEnabled, EMBEDDING_DIMENSIONS, init_constants, 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, rowToCandidate, init_sqlite_store, getEmbeddingProvider2, resetEmbeddingProvider2, getMemoryStore2, init_memory, embeddingProvider, embedScript, searchScripts, reembedAllScripts, init_embeddings, upsertScriptByName, getScript, getScriptById, getScriptVersion, listScripts, listScriptVersions, deleteScript, touchScratchScriptLastUsed, restoreScratchScriptLastUsedIfUnchanged, createScriptApi, listScriptApisForScript, getScriptApiById, getScriptApiSecret, updateScriptApi, rotateScriptApiSecret, deleteScriptApi, recordScriptApiUsage, init_db2, oauthSecretName, registerStoredSecret, loadSecretRegistry, init_secret_registry, STEERING_MOVED_ERROR, SteeringRequestError, isSteeringEnabled, getTaskSteeringFields, getTaskSteeringFieldsForTasks, promotePendingSteeringForTask, markSteeringUndeliverable, carryUnhandledSteering, requestSteering, init_steering, WorkflowReplayStateError, init_workflow_replay, SESSION_ACTIVITY_REFRESH_MIN_INTERVAL_MS2, refreshActiveSessionOnActivity2, recordKeySeatMismatch2, getScriptRunExecutionArgs2, 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_db3 };
27316
+ export { slackContextKey, chatSdkContextKey, chatThreadOfContextKey, agentmailContextKey, githubContextKey, gitlabContextKey, azureDevOpsContextKey, azureDevOpsWorkItemContextKey, linearContextKey, buildJiraContextKey, scheduleContextKey, workflowContextKey, agentContextKey, pageContextKey, init_context_key, checkSlackRoutingCoherence, init_slack_routing, init_catalog, catalog_default, mapTriggerSurface, init_telemetry_context, TELEMETRY_PROXY_ORIGIN, normalizeOrgWebsite, orgLogoUrl, isFilledOrgLogoUrl, init_org_website, beginRequestAuthScope, setRequestAuth, getRequestAuth, getCurrentRequestAuth, runWithoutRequestAuth, getCurrentRequestUserId, init_request_auth_context, setTelemetryIngestObserver, isTelemetryEnabled, _resolveIntegrationType, _resolveIntegrationProvider, initTelemetry, setTelemetryRoleResolver, isTelemetryReady, track, trackRelayed, telemetry, emitIntegrationConnected, init_telemetry, auditAssetKeys, init_asset_key_audit, CredentialBindingSchema, placeholderForConfigKey, CredentialBroker, DEFAULT_CREDENTIAL_BINDINGS, assertUrlSafe, parseEgressAllowlist, init_egress_guard, init_credential_broker, encryptSecret, decryptSecret, getEncryptionKey, init_crypto, isInTransaction, init_db_client, breaksJsonValidity, scrubJsonValue, init_scrub_json, sealJson, init_sealed_json, getPromptTemplateDefaultDrift, init_default_drift, init_templates, init_templates2, isSqliteVecAvailable2, resolveSqliteVecExtensionPath2, __resetSqliteVecExtensionPathCacheForTests2, initDb2, getDb2, closeDb2, getDbClient2, init_runtime, cachedUserRole, configureOrgDomainPersistence, recomputeOrgDomain, scheduleOrgDomainRecompute, init_telemetry_identity, resolveTriggerSurface, emitTaskTelemetry, init_telemetry_trigger, 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, computeContentHash2, createContextVersion2, getLatestContextVersion2, getContextVersion2, getContextVersionHistory2, vcsRepoName, vcsRepoUrlMatches, init_vcs_repo_match, rowToAgentTask, getTaskById2, getChildTasks2, hasNonTerminalResumeChild2, SUPERSEDED_RESUME_REPAIR_WINDOW_MS2, getSupersededTasksWithoutResume2, getSupersededTasksWithUnsettledDependents2, hasNonTerminalRerouteDecisionChild2, getTasksByAgentId2, getAgentCurrentTask2, getTasksByStatus2, findTaskByVcs2, 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, setHumanFreeQueueListener, drainHumanFreeReclassifyQueue, init_human_free, onTaskStarted, init_task_lifecycle_events, channelTopic, addWorkerSubscription, removeWorkerSubscription, listSubscribedWorkerAgents, init_channels, publishWorkerNudge, init_worker_nudges, createTask2, getPendingTaskForAgent2, assignUnassignedTaskPending2, startTask2, updateTaskClaudeSessionId2, recordTaskProviderIfUnset2, updateTaskTitle2, completeTask2, failTask2, overwriteTerminalTaskResultText2, cancelTask2, supersedeTask2, settleSupersededTaskDependents2, backfillSupersedeTaskResumeTaskId2, pauseTask2, resumeTask2, getPausedTasksForAgent2, getOrphanedInProgressTasksForAgent2, resetOrphanedInProgressTasksForAgent2, getRecentlyCancelledTasksForAgent2, deleteTask2, updateTaskProgress2, getChildWorkflowRunId, getWorkflowRunParent, getWorkflowRunLineage, getSettledChildRunParentSteps, init_workflow_runs, CHAT_SDK_ADAPTER_NAMES, CHAT_SDK_ADAPTER_SCHEMAS, ChatSdkAdaptersDraftSchema, firstIssueText, isAdapterEntryEnabled, init_schema, TELEMETRY_RANKING_KEY, PUBLIC_RANKING_ENABLED_KEY, RANKING_CATEGORIES, readTelemetryRanking, rankingFormSchema, mintRankingClaim, buildListing, rankingEntryFile, rankingPrUrl, rankingLeaveUrl, 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_drain, 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, validateRuntimeTokenTtlHours, validateControllerTokenTtlDays, validateControllerGraceSec, validateConfigValue, 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_openai, CANDIDATE_SET_MULTIPLIER, isGraphExpansionEnabled, EMBEDDING_DIMENSIONS, init_constants, 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, rowToCandidate, init_sqlite_store, getEmbeddingProvider2, resetEmbeddingProvider2, getMemoryStore2, init_memory, embeddingProvider, embedScript, searchScripts, reembedAllScripts, init_embeddings, upsertScriptByName, getScript, getScriptById, getScriptVersion, listScripts, listScriptVersions, deleteScript, touchScratchScriptLastUsed, restoreScratchScriptLastUsedIfUnchanged, createScriptApi, listScriptApisForScript, getScriptApiById, getScriptApiSecret, updateScriptApi, rotateScriptApiSecret, deleteScriptApi, recordScriptApiUsage, init_db2, oauthSecretName, registerStoredSecret, loadSecretRegistry, init_secret_registry, STEERING_MOVED_ERROR, SteeringRequestError, isSteeringEnabled, getTaskSteeringFields, getTaskSteeringFieldsForTasks, promotePendingSteeringForTask, markSteeringUndeliverable, carryUnhandledSteering, requestSteering, init_steering, WorkflowReplayStateError, init_workflow_replay, SESSION_ACTIVITY_REFRESH_MIN_INTERVAL_MS2, refreshActiveSessionOnActivity2, getActiveSessionById, init_active_sessions, recordKeySeatMismatch2, getScriptRunExecutionArgs2, 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_db3 };