@desplega.ai/agent-swarm 1.172.0 → 2.0.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.
- package/README.md +1 -1
- package/dist/{acp-adapter-fpecx1g1.js → acp-adapter-sj2g0m84.js} +18 -17
- package/dist/{actions-pw87a1a8.js → actions-fegk44gr.js} +65 -35
- package/dist/{amp-adapter-8jem2bc0.js → amp-adapter-ad8ft89x.js} +8 -7
- package/dist/{anthropic-messages-8ee2f22q.js → anthropic-messages-r6czkjv1.js} +7 -7
- package/dist/{app-wmf0m843.js → app-kfvgbvzy.js} +19 -13
- package/dist/{assistant-emp1e108.js → assistant-z7zdy9ja.js} +65 -38
- package/dist/{boot-reembed-1de4f4aj.js → boot-reembed-5c2z0mbe.js} +11 -9
- package/dist/{boot-reembed-4ymn9atn.js → boot-reembed-j8xa181e.js} +11 -9
- package/dist/{boot-scrub-sweep-adhk1s8c.js → boot-scrub-sweep-hnkn3rgt.js} +12 -10
- package/dist/{boot-seeds-8q637aew.js → boot-seeds-kwjq4d2z.js} +15 -13
- package/dist/{claude-adapter-t26cv8a4.js → claude-adapter-9vmvpvgd.js} +20 -19
- package/dist/{claude-managed-adapter-xgxhqrt2.js → claude-managed-adapter-k9qae05j.js} +7 -5
- package/dist/{claude-managed-setup-bnmjarjc.js → claude-managed-setup-q54zx5q2.js} +6 -4
- package/dist/{claude-sdk-session-gsfsh662.js → claude-sdk-session-9jye6cxr.js} +12698 -11995
- package/dist/{cli-k46r9hmk.js → cli-03gedhng.js} +16 -14
- package/dist/{cli-kb4ehzx5.js → cli-1e4b6bzh.js} +7 -7
- package/dist/{cli-d603qf86.js → cli-29jc5q7w.js} +10 -8
- package/dist/cli-2m1ktfzz.js +17795 -0
- package/dist/{cli-8vs9trd4.js → cli-3dj8k4vy.js} +1 -1
- package/dist/{cli-zxm9p3x4.js → cli-3fbmmawm.js} +5 -5
- package/dist/{cli-gmdajfw5.js → cli-4jxm2qtz.js} +4987 -1708
- package/dist/{cli-tadfgd0t.js → cli-5hkm7whv.js} +33 -4
- package/dist/{cli-6jb2rf77.js → cli-5t4f29ez.js} +3 -3
- package/dist/{cli-7a0sde2x.js → cli-6cagzc96.js} +9 -0
- package/dist/cli-6cvfxs8r.js +47 -0
- package/dist/{cli-pj6x9qce.js → cli-6jyj59nb.js} +2 -2
- package/dist/{cli-388egyf6.js → cli-6razj6t4.js} +2 -2
- package/dist/{cli-qsztpfry.js → cli-74ahz61x.js} +2 -2
- package/dist/{cli-4nz8p1p5.js → cli-7x0g4sn1.js} +15474 -16082
- package/dist/{cli-yatxqynm.js → cli-9ha6hs2d.js} +1 -290
- package/dist/{cli-81r1wjyv.js → cli-9nfx44eh.js} +1 -1
- package/dist/cli-9traj3dn.js +638 -0
- package/dist/{cli-smcrrmhy.js → cli-agzebbd5.js} +9 -9
- package/dist/{cli-bf7485pm.js → cli-apx87jne.js} +2 -2
- package/dist/{cli-ztrv9y21.js → cli-bzszjf2p.js} +3689 -1081
- package/dist/{cli-c5km5znr.js → cli-c8r3kzzb.js} +1 -1
- package/dist/{cli-hsem16hb.js → cli-cgtksawx.js} +7 -4
- package/dist/{cli-db3m6zdt.js → cli-d2qr7aj4.js} +1 -1
- package/dist/{cli-1hgat6pa.js → cli-d5f9ed5c.js} +5 -5
- package/dist/cli-e3g5mbkz.js +776 -0
- package/dist/{cli-7jykv7ef.js → cli-e6mpjhed.js} +1 -1
- package/dist/{cli-j6kpj9az.js → cli-ee9gtz70.js} +1553 -68
- package/dist/{cli-e0a9sk00.js → cli-eejsgvm4.js} +4 -4
- package/dist/{cli-tgpfnm6r.js → cli-ef1hg1wv.js} +518 -59
- package/dist/cli-f527ce74.js +781 -0
- package/dist/{cli-ppy4nnnh.js → cli-f7kr7svz.js} +2 -2
- package/dist/cli-hjwmhcg1.js +10622 -0
- package/dist/{cli-2bw3w47j.js → cli-hnhtk6cj.js} +1 -1
- package/dist/{cli-ywm1azg9.js → cli-hnmhtzvh.js} +6 -4
- package/dist/{cli-4fnb6884.js → cli-hvqbtna4.js} +7 -1259
- package/dist/{cli-pstq9888.js → cli-j0pfptdp.js} +220 -103
- package/dist/cli-jta2eyzc.js +619 -0
- package/dist/{cli-esnpehf5.js → cli-k382tshb.js} +12 -13
- package/dist/cli-k3dp5tpf.js +263 -0
- package/dist/{cli-wd0hz6ah.js → cli-kbrt8gqa.js} +9 -91
- package/dist/cli-kceah1eh.js +92 -0
- package/dist/{cli-prrt9fa0.js → cli-ke896fcf.js} +10 -10
- package/dist/{cli-nv4zd0b9.js → cli-kt6zqg0e.js} +6 -6
- package/dist/{cli-g6t9texm.js → cli-m50t4309.js} +5 -18
- package/dist/cli-n2wq4j7m.js +6985 -0
- package/dist/{cli-c2pq2rjb.js → cli-n3hzg89b.js} +46 -15
- package/dist/{cli-tmhsxhb8.js → cli-n5vwg842.js} +23 -6
- package/dist/{cli-5rv1j9ga.js → cli-ne236afy.js} +53 -7
- package/dist/cli-p0sg24zp.js +16 -0
- package/dist/{cli-d161g69q.js → cli-p1x85d2t.js} +50 -2
- package/dist/{cli-7pz3b7x5.js → cli-przpmdgr.js} +25 -0
- package/dist/{cli-g4f5pj26.js → cli-q0ke1yww.js} +111 -25
- package/dist/{cli-e3pmyt39.js → cli-q50942rs.js} +1 -1
- package/dist/{cli-r44t9wqc.js → cli-r106725k.js} +2 -2
- package/dist/{cli-gj81e47t.js → cli-r2pnvj8g.js} +2 -2
- package/dist/{cli-r8smj8b8.js → cli-r62a35ea.js} +19 -3
- package/dist/{cli-cd0hv9nh.js → cli-ra0xzggj.js} +2 -2
- package/dist/cli-rhs9pz33.js +294 -0
- package/dist/{cli-nyhb1r6x.js → cli-s2sp957d.js} +52 -29
- package/dist/{cli-1x7da0de.js → cli-s4setq91.js} +8 -8
- package/dist/{cli-xczpdp9e.js → cli-se8w6wny.js} +6 -6
- package/dist/cli-skxvvpap.js +10140 -0
- package/dist/{cli-014vns2y.js → cli-stfs0k5s.js} +208 -525
- package/dist/{cli-0p3enk35.js → cli-tqaazemc.js} +9 -1
- package/dist/{cli-cf69s3ew.js → cli-tr4sxp68.js} +3 -3
- package/dist/{cli-8hzfb6xz.js → cli-tsde1hdr.js} +15 -15
- package/dist/{cli-cceskcvt.js → cli-txqb9s38.js} +8 -8
- package/dist/{cli-aspcaef3.js → cli-v1yb0rqb.js} +6 -6
- package/dist/{cli-j1pmc07z.js → cli-vatyhshy.js} +268 -40
- package/dist/{cli-04emfe2q.js → cli-vdach5a9.js} +5 -5
- package/dist/{cli-7avy4v8w.js → cli-w1q7h2r2.js} +5 -3
- package/dist/{cli-rcp5aqdw.js → cli-w7m81tb7.js} +1 -1
- package/dist/{cli-hwwvy36w.js → cli-wayw93nt.js} +3 -3
- package/dist/cli-wmgrkscj.js +23254 -0
- package/dist/{cli-gp1rtyvk.js → cli-z5jjpaxw.js} +29 -6
- package/dist/{cli-451ks6aw.js → cli-zkpks3r3.js} +1 -1
- package/dist/cli.js +32 -48
- package/dist/{codex-adapter-m4tgdysy.js → codex-adapter-y81sssk0.js} +16 -15
- package/dist/{codex-login-841kv5fk.js → codex-login-f2rcfpp9.js} +3 -2
- package/dist/{codex-session-runner-ymwzm6ea.js → codex-session-runner-8vx4j6a9.js} +16 -15
- package/dist/{commands-n0hshcvs.js → commands-kcpvpcrr.js} +21 -10
- package/dist/{controller-hq5ggpcp.js → controller-ywrmt6yd.js} +5 -4
- package/dist/{controllers-connect-y07cqcvy.js → controllers-connect-kwpvj3rf.js} +45 -38
- package/dist/{cursor-adapter-q8pgv5qa.js → cursor-adapter-cehv1qns.js} +7 -6
- package/dist/{db-hkqvrdcb.js → db-k8ankj20.js} +13 -11
- package/dist/{db-4w7tmt1g.js → db-ww5d7jq3.js} +29 -9
- package/dist/{devin-adapter-xgtj680j.js → devin-adapter-x1022qb1.js} +3 -2
- package/dist/{dispatcher-5sd69y14.js → dispatcher-e8gq5m68.js} +41 -34
- package/dist/{docker-f503k9p0.js → docker-ff6y1190.js} +3 -2
- package/dist/{dsh-adapter-2h8m4cab.js → dsh-adapter-3epjm3af.js} +7 -6
- package/dist/{e2b-66xra4az.js → e2b-8ygwhg0f.js} +4 -3
- package/dist/{e2b-xwhyj8cw.js → e2b-swhnpw3n.js} +4 -3
- package/dist/{event-bus-vjtv82gm.js → event-bus-6axnngdj.js} +3 -2
- package/dist/external-channel-h3359cwn.js +52 -0
- package/dist/{google-generative-ai-7pavrbv7.js → google-generative-ai-g8db7x0f.js} +5 -3
- package/dist/{google-vertex-3f1jk41f.js → google-vertex-r2692q0r.js} +5 -3
- package/dist/{grok-adapter-8m9yqzbq.js → grok-adapter-0d4x7gkx.js} +19 -18
- package/dist/{handlers-s20xr10r.js → handlers-an1gzv21.js} +44 -37
- package/dist/{heartbeat-3k31q4g2.js → heartbeat-6dakeb61.js} +46 -39
- package/dist/{hook-gdn6a2fn.js → hook-6v6cv6d5.js} +12 -24
- package/dist/{hook-ygwerrdh.js → hook-sa5xye4y.js} +13 -12
- package/dist/{http-jdteeg81.js → http-r7f3eky0.js} +1598 -279
- package/dist/index-52j1aja4.js +3465 -0
- package/dist/{index-e0snym4t.js → index-7ep4gzdk.js} +41 -34
- package/dist/index-9gw58n4k.js +193 -0
- package/dist/index-9j87mcm8.js +56305 -0
- package/dist/index-bsmcresk.js +79424 -0
- package/dist/index-mh85qhec.js +475 -0
- package/dist/{index-vm3bm9t7.js → index-rmpw9a8q.js} +41 -34
- package/dist/{index-6ksewd5y.js → index-s2wxgzr0.js} +1015 -732
- package/dist/{index-tsszt7g9.js → index-v1v6n7hg.js} +46 -39
- package/dist/index-we27kd31.js +12810 -0
- package/dist/{index-ffqzqgwb.js → index-zk96aq1k.js} +11 -9
- package/dist/{keepalive-jekc896t.js → keepalive-be9vwy5h.js} +13 -11
- package/dist/{lead-4k9s9szx.js → lead-0861cwrf.js} +64 -57
- package/dist/{maintenance-shazch4n.js → maintenance-mzzgc8bn.js} +11 -9
- package/dist/node-c9we95xf.js +1 -1
- package/dist/{node-fkajaq96.js → node-mn1zs7an.js} +2 -1
- package/dist/{oauth-refresh-sweep-5gb36kn8.js → oauth-refresh-sweep-cpdnfwdj.js} +12 -10
- package/dist/{onboard-ydrbnvww.js → onboard-fh8qs4r3.js} +11 -3
- package/dist/{opencode-adapter-5zh0he20.js → opencode-adapter-nm42wwj8.js} +19 -14
- package/dist/{otel-impl-6pf5cv86.js → otel-impl-x6c1c9g4.js} +248 -869
- package/dist/{pi-mono-adapter-ef9wwx9m.js → pi-mono-adapter-9n2ya240.js} +245 -107
- package/dist/{pricing-refresh-s52nsa5q.js → pricing-refresh-qb0rv0ap.js} +13 -11
- package/dist/{rbac-roles-aq3msh4e.js → rbac-roles-1gzdwbh1.js} +12 -10
- package/dist/{rbac-roles-q5gb5e8v.js → rbac-roles-3mraey52.js} +13 -11
- package/dist/{render-v2-pd1rg54q.js → render-v2-agpa45zz.js} +19 -13
- package/dist/{resume-gw4a2c6v.js → resume-x0ydy9s9.js} +27 -21
- package/dist/{runtime-qfry88v2.js → runtime-sa2vr16g.js} +2 -2
- package/dist/{setup-jda1ksdh.js → setup-as9ga0d6.js} +2 -2
- package/dist/{virtual-modules-b3ga2m65.js → virtual-modules-9gkxqrap.js} +7 -6
- package/dist/{work-objects-tb7ycye8.js → work-objects-y5g1y7ev.js} +49 -37
- package/dist/{worker-njjccz5d.js → worker-860c3e38.js} +64 -57
- package/dist/{x-qfmygqqv.js → x-m477fr0h.js} +3 -2
- package/openapi.json +951 -356
- package/package.json +12 -13
- package/src/apps/catalog.generated.json +1309 -53
- package/src/apps/page-validator.ts +93 -31
- package/src/azure-devops/api.ts +94 -18
- package/src/azure-devops/auth.ts +32 -0
- package/src/azure-devops/boards-sync.ts +708 -0
- package/src/azure-devops/handlers.ts +52 -8
- package/src/azure-devops/html.ts +26 -0
- package/src/azure-devops/index.ts +15 -0
- package/src/azure-devops/templates.ts +86 -0
- package/src/azure-devops/types.ts +65 -1
- package/src/be/config-refs.ts +60 -0
- package/src/be/db/page-versions.ts +15 -0
- package/src/be/db/runtime.ts +35 -8
- package/src/be/db/skill-name-resolution.ts +36 -0
- package/src/be/db/tasks/read.ts +230 -0
- package/src/be/db/tasks/write.ts +7 -0
- package/src/be/db.ts +74 -13
- package/src/be/migrations/213_script_connections_sql.sql +79 -0
- package/src/be/migrations/215_swarm_config_export_to_env.sql +34 -0
- package/src/be/migrations/216_task_resolved_effort.sql +5 -0
- package/src/be/migrations/217_chat_sdk_state.sql +104 -0
- package/src/be/model-catalog-store.ts +5 -1
- package/src/be/model-tier-resolution.ts +12 -1
- package/src/be/model-validation.ts +5 -2
- package/src/be/models-catalog.ts +26 -1
- package/src/be/modelsdev-cache.json +198 -63
- package/src/be/modelsdev-cache.ts +9 -1
- package/src/be/script-connections.ts +47 -8
- package/src/be/script-credential-broker.ts +39 -2
- package/src/be/scripts/run-saved.ts +1 -0
- package/src/be/scripts/typecheck.ts +10 -8
- package/src/be/seed/runner.ts +13 -1
- package/src/be/seed/state-db.ts +5 -0
- package/src/be/seed/types.ts +6 -0
- package/src/be/seed-pricing.ts +19 -2
- package/src/be/seed-scripts/catalog/ops-catalog-audit.inline.ts +1 -1
- package/src/be/seed-scripts/catalog/ops-catalog-audit.ts +1 -1
- package/src/be/seed-skills/bundled-files.generated.json +10 -18
- package/src/be/seed-skills/index.ts +107 -3
- package/src/be/sql-connections.ts +118 -0
- package/src/be/swarm-config-guard.ts +53 -0
- package/src/cli.tsx +0 -16
- package/src/commands/onboard/non-interactive.ts +4 -2
- package/src/commands/profile-sync.ts +5 -3
- package/src/commands/provider-credentials.ts +52 -6
- package/src/commands/runner.ts +196 -56
- package/src/e2b/env.ts +5 -0
- package/src/extensions/contract-types.generated.ts +1 -1
- package/src/extensions/contract.ts +45 -0
- package/src/extensions/dispatcher.ts +7 -0
- package/src/extensions/post-bridge.ts +40 -0
- package/src/github/handlers.ts +11 -4
- package/src/heartbeat/templates.ts +8 -5
- package/src/hooks/hook.ts +0 -26
- package/src/http/all-routes.ts +0 -1
- package/src/http/config.ts +36 -17
- package/src/http/core.ts +4 -0
- package/src/http/index.ts +14 -2
- package/src/http/integrations.ts +88 -1
- package/src/http/mcp-oauth.ts +6 -13
- package/src/http/mcp.ts +15 -5
- package/src/http/page-proxy.ts +2 -4
- package/src/http/pages-public.ts +6 -5
- package/src/http/pages.ts +5 -14
- package/src/http/poll.ts +28 -68
- package/src/http/requested-by.ts +54 -0
- package/src/http/route-def.ts +7 -6
- package/src/http/script-connection-proxy.ts +51 -4
- package/src/http/script-connections.ts +5 -2
- package/src/http/scripts.ts +1 -0
- package/src/http/session-cost-recompute.ts +12 -2
- package/src/http/session-data.ts +4 -0
- package/src/http/stats.ts +1 -30
- package/src/http/tasks.ts +61 -5
- package/src/http/utils.ts +14 -0
- package/src/http/webhooks.ts +183 -2
- package/src/http/x.ts +1 -0
- package/src/integrations/chat-sdk/adapters.ts +129 -0
- package/src/integrations/chat-sdk/attachments.ts +232 -0
- package/src/integrations/chat-sdk/background.ts +36 -0
- package/src/integrations/chat-sdk/commands.ts +194 -0
- package/src/integrations/chat-sdk/config.ts +198 -0
- package/src/integrations/chat-sdk/discord-api.ts +63 -0
- package/src/integrations/chat-sdk/discord-gateway.ts +185 -0
- package/src/integrations/chat-sdk/handlers.ts +28 -0
- package/src/integrations/chat-sdk/inbound.ts +426 -0
- package/src/integrations/chat-sdk/limits.ts +48 -0
- package/src/integrations/chat-sdk/logger.ts +81 -0
- package/src/integrations/chat-sdk/outbound.ts +123 -0
- package/src/integrations/chat-sdk/relay.ts +172 -0
- package/src/integrations/chat-sdk/router.ts +169 -0
- package/src/integrations/chat-sdk/runtime.ts +351 -0
- package/src/integrations/chat-sdk/schema.ts +245 -0
- package/src/integrations/chat-sdk/state.ts +243 -0
- package/src/integrations/chat-sdk/status.ts +244 -0
- package/src/integrations/chat-sdk/steering.ts +58 -0
- package/src/integrations/chat-sdk/teams-origin.ts +77 -0
- package/src/integrations/chat-sdk/telegram-api.ts +56 -0
- package/src/integrations/chat-sdk/templates.ts +16 -0
- package/src/integrations/chat-sdk/test-hooks.ts +37 -0
- package/src/integrations/chat-sdk/thread-buffer.ts +100 -0
- package/src/integrations/chat-sdk/typing.ts +65 -0
- package/src/jira/adf.ts +3 -1
- package/src/kv-reserved-namespaces.ts +2 -0
- package/src/oauth/mcp-wrapper.ts +10 -6
- package/src/otel-impl.ts +2 -1
- package/src/pages/version.ts +4 -5
- package/src/prompts/base-prompt.ts +111 -45
- package/src/providers/acp-target-catalog.ts +6 -0
- package/src/providers/acp-targets.ts +56 -3
- package/src/providers/amp-adapter.ts +1 -1
- package/src/providers/claude-adapter.ts +27 -2
- package/src/providers/claude-flag-settings.ts +133 -0
- package/src/providers/claude-managed-adapter.ts +1 -1
- package/src/providers/claude-sdk-session.ts +7 -0
- package/src/providers/claude-session-events.ts +6 -1
- package/src/providers/dsh-adapter.ts +1 -1
- package/src/providers/opencode-adapter.ts +268 -37
- package/src/providers/opencode-billing.ts +86 -0
- package/src/providers/opencode-swarm-plugin.ts +51 -0
- package/src/providers/pi-mono-adapter.ts +398 -153
- package/src/providers/pricing-sources.md +37 -3
- package/src/providers/reasoning-effort.ts +27 -0
- package/src/providers/types.ts +11 -2
- package/src/rbac/legacy-policy.ts +8 -2
- package/src/rbac/permissions.ts +21 -0
- package/src/scheduler/scheduler.ts +4 -2
- package/src/scripts-runtime/api-client.ts +15 -1
- package/src/scripts-runtime/api-types.ts +9 -1
- package/src/scripts-runtime/ctx.ts +1 -1
- package/src/scripts-runtime/loader.ts +19 -7
- package/src/scripts-runtime/mcp-client.ts +30 -19
- package/src/scripts-runtime/sdk-allowlist.ts +8 -6
- package/src/scripts-runtime/swarm-sdk.ts +0 -11
- package/src/scripts-runtime/types/stdlib.d.ts +27 -15
- package/src/scripts-runtime/types/swarm-extension.d.ts +63 -1
- package/src/scripts-runtime/types/swarm-sdk.d.ts +27 -15
- package/src/server.ts +52 -18
- package/src/slack/actions.ts +29 -1
- package/src/slack/app.ts +14 -2
- package/src/slack/assistant.ts +36 -2
- package/src/slack/channel-join.ts +3 -16
- package/src/slack/commands.ts +9 -1
- package/src/slack/event-dedup.ts +1 -1
- package/src/slack/external-channel-egress.ts +113 -0
- package/src/slack/external-channel.ts +309 -0
- package/src/slack/handlers.ts +61 -0
- package/src/slack/render-v2.ts +40 -47
- package/src/slack/work-objects.ts +5 -0
- package/src/tasks/additive-buffer.ts +4 -2
- package/src/tasks/context-key.ts +94 -2
- package/src/tasks/model-pin.ts +67 -0
- package/src/tasks/worker-follow-up.ts +4 -31
- package/src/telemetry.ts +2 -1
- package/src/tests/acp-adapter.test.ts +42 -0
- package/src/tests/api-drain-worker-e2e.test.ts +1 -6
- package/src/tests/apps-catalog-feedback.test.ts +310 -0
- package/src/tests/apps-catalog-inputs.test.ts +70 -0
- package/src/tests/apps-catalog-table.test.ts +113 -0
- package/src/tests/azure-devops-boards-sync.test.ts +584 -0
- package/src/tests/azure-devops-html.test.ts +13 -0
- package/src/tests/azure-devops-webhook-malformed.test.ts +4 -0
- package/src/tests/base-prompt.test.ts +58 -54
- package/src/tests/chat-sdk-commands.test.ts +191 -0
- package/src/tests/chat-sdk-config.test.ts +334 -0
- package/src/tests/chat-sdk-discord-api.test.ts +68 -0
- package/src/tests/chat-sdk-discord-gateway.test.ts +252 -0
- package/src/tests/chat-sdk-discord-webhook.test.ts +126 -0
- package/src/tests/chat-sdk-fields-sync.test.ts +50 -0
- package/src/tests/chat-sdk-harness.ts +146 -0
- package/src/tests/chat-sdk-inbound.test.ts +363 -0
- package/src/tests/chat-sdk-relay.test.ts +470 -0
- package/src/tests/chat-sdk-reload.test.ts +128 -0
- package/src/tests/chat-sdk-shutdown.test.ts +220 -0
- package/src/tests/chat-sdk-slack.test.ts +268 -0
- package/src/tests/chat-sdk-state.test.ts +163 -0
- package/src/tests/chat-sdk-status-route.test.ts +382 -0
- package/src/tests/chat-sdk-teams.test.ts +277 -0
- package/src/tests/chat-sdk-tools.test.ts +520 -0
- package/src/tests/chat-sdk-typing.test.ts +120 -0
- package/src/tests/chat-sdk-webhook-telegram.test.ts +200 -0
- package/src/tests/claude-adapter-binary.test.ts +144 -0
- package/src/tests/claude-flag-settings.test.ts +114 -0
- package/src/tests/claude-managed-adapter.test.ts +1 -1
- package/src/tests/claude-sdk-lifecycle.test.ts +148 -1
- package/src/tests/claude-sdk-process.fixture.ts +7 -0
- package/src/tests/claude-thinking-tokens.test.ts +57 -0
- package/src/tests/claude-worker-parity.test.ts +2 -7
- package/src/tests/config-env-export-chat-sdk.test.ts +11 -0
- package/src/tests/config-refs.test.ts +66 -0
- package/src/tests/context-key.test.ts +51 -0
- package/src/tests/cors-allowlist.test.ts +25 -0
- package/src/tests/create-page-tool.test.ts +18 -0
- package/src/tests/credential-check.test.ts +139 -0
- package/src/tests/credentials.test.ts +21 -0
- package/src/tests/db-runtime.test.ts +61 -0
- package/src/tests/db-task-read-contract.test.ts +20 -0
- package/src/tests/db-task-write-contract.test.ts +10 -0
- package/src/tests/deferred-task-wake.test.ts +52 -4
- package/src/tests/docs-index-footprint.test.js +3 -3
- package/src/tests/dsh-adapter.test.ts +1 -1
- package/src/tests/enabled-capabilities.test.ts +20 -0
- package/src/tests/entrypoint-api-readiness.test.ts +14 -8
- package/src/tests/entrypoint-config-env-export.test.ts +5 -2
- package/src/tests/entrypoint-export-to-env.test.ts +78 -0
- package/src/tests/explicit-model-validation.test.ts +105 -1
- package/src/tests/extensions-example-route-chat-channel.test.ts +154 -0
- package/src/tests/extensions-post-bridge.test.ts +51 -0
- package/src/tests/fetch-resolved-env.test.ts +128 -0
- package/src/tests/fixtures/azure-boards/workitem.commented.json +89 -0
- package/src/tests/fixtures/azure-boards/workitem.created.json +81 -0
- package/src/tests/fixtures/azure-boards/workitem.deleted.json +70 -0
- package/src/tests/fixtures/azure-boards/workitem.restored.json +82 -0
- package/src/tests/fixtures/azure-boards/workitem.updated.json +130 -0
- package/src/tests/fixtures/catalog-feedback-definition.json.txt +860 -0
- package/src/tests/fixtures/catalog-inputs-definition.json.txt +910 -0
- package/src/tests/fixtures/catalog-table-definition.json.txt +468 -0
- package/src/tests/fixtures/chat-sdk/telegram-private-text.json +10 -0
- package/src/tests/fixtures/extensions/route-chat-channel-to-agent/hooks.ts +27 -0
- package/src/tests/fixtures/extensions/route-chat-channel-to-agent/manifest.json +9 -0
- package/src/tests/fixtures/openai-compatible-registry-extension.child.ts +146 -0
- package/src/tests/fixtures/runner-identity-refresh.ts +3 -0
- package/src/tests/fixtures/runner-legacy-resume-prompt.ts +122 -0
- package/src/tests/github-handlers.test.ts +35 -0
- package/src/tests/harness-provider-resolution.test.ts +12 -0
- package/src/tests/heartbeat-checklist.test.ts +3 -2
- package/src/tests/hook-runtime-close.test.ts +0 -2
- package/src/tests/http-api-integration.test.ts +0 -25
- package/src/tests/migration-046-budgets.test.ts +17 -16
- package/src/tests/migration-217-chat-sdk-state.test.ts +113 -0
- package/src/tests/model-tier-resolution.test.ts +93 -0
- package/src/tests/models-catalog.test.ts +42 -1
- package/src/tests/node-env-runtime.test.ts +98 -0
- package/src/tests/openai-compatible-providers.test.ts +134 -0
- package/src/tests/openai-compatible-registry-extension.test.ts +42 -0
- package/src/tests/opencode-adapter.test.ts +348 -3
- package/src/tests/opencode-billing.test.ts +28 -0
- package/src/tests/opencode-helmcode-sdk.test.ts +201 -0
- package/src/tests/opencode-shell-env.test.ts +145 -0
- package/src/tests/openrouter-base-url.test.ts +101 -151
- package/src/tests/page-proxy.test.ts +1 -1
- package/src/tests/pages-browser-sdk.test.ts +76 -0
- package/src/tests/pages-feedback.test.ts +1 -1
- package/src/tests/paused-tasks-requested-by.test.ts +102 -0
- package/src/tests/pi-custom-provider-fake-server.test.ts +442 -0
- package/src/tests/pi-mono-adapter.test.ts +385 -5
- package/src/tests/pi-shell-env.test.ts +170 -0
- package/src/tests/prompt-template-remaining.test.ts +35 -0
- package/src/tests/rbac-engine.test.ts +11 -3
- package/src/tests/runner-exit-after-tasks.test.ts +0 -4
- package/src/tests/runner-identity-refresh.test.ts +3 -0
- package/src/tests/runner-legacy-resume-prompt.test.ts +64 -0
- package/src/tests/script-connections-sql.test.ts +675 -0
- package/src/tests/script-connections.test.ts +7 -1
- package/src/tests/scripts-http.test.ts +201 -1
- package/src/tests/scripts-only-gating.test.ts +2 -3
- package/src/tests/scripts-runtime.test.ts +58 -40
- package/src/tests/secret-scrubber.test.ts +86 -0
- package/src/tests/seed-skills-bundled-files.test.ts +45 -53
- package/src/tests/seed-skills-retire.test.ts +182 -0
- package/src/tests/send-task-requester-gate.test.ts +58 -0
- package/src/tests/session-cost-recompute-unit.test.ts +94 -0
- package/src/tests/skill-get-name-resolution.test.ts +137 -0
- package/src/tests/slack-channel-join.test.ts +4 -1
- package/src/tests/slack-external-channel-config.test.ts +65 -0
- package/src/tests/slack-external-channel-egress.test.ts +237 -0
- package/src/tests/slack-external-channel-guard.test.ts +280 -0
- package/src/tests/slack-external-channel-tools.test.ts +173 -0
- package/src/tests/slack-external-channel.test.ts +370 -0
- package/src/tests/slack-render-v2.test.ts +86 -10
- package/src/tests/sonnet-5-5-registry.test.ts +9 -1
- package/src/tests/spec-base-url.test.ts +16 -1
- package/src/tests/swarm-config-export-to-env.test.ts +267 -0
- package/src/tests/swarm-config-reserved-keys.test.ts +16 -0
- package/src/tests/swarm-diff.test.ts +1 -1
- package/src/tests/task-model-effort-rerun.test.ts +164 -0
- package/src/tests/task-session-prompts.test.ts +132 -0
- package/src/tests/task-tool-manifest.test.ts +14 -0
- package/src/tests/task-tools-ctx.test.ts +2 -0
- package/src/tests/tool-annotations.test.ts +6 -6
- package/src/tests/ui-logs-parser.test.ts +43 -0
- package/src/tests/used-by-route.test.ts +6 -0
- package/src/tests/vendored-openapi.test.ts +16 -1
- package/src/tests/vercel-ai-gateway.test.ts +149 -0
- package/src/tests/workflow-swarm-script.test.ts +38 -0
- package/src/tests/workflow-wait-filter.test.ts +5 -3
- package/src/tools/chat-access.ts +41 -0
- package/src/tools/chat-open-dm.ts +59 -0
- package/src/tools/chat-post.ts +74 -0
- package/src/tools/chat-read-thread.ts +100 -0
- package/src/tools/chat-reply.ts +75 -0
- package/src/tools/create-page.ts +3 -13
- package/src/tools/defer-task.ts +17 -0
- package/src/tools/model-catalog/index.ts +2 -1
- package/src/tools/register-chat-channel.ts +139 -0
- package/src/tools/send-task.ts +24 -0
- package/src/tools/skills/skill-get.ts +17 -9
- package/src/tools/slack-post.ts +6 -0
- package/src/tools/slack-read.ts +8 -0
- package/src/tools/slack-reply.ts +6 -0
- package/src/tools/slack-start-thread.ts +6 -0
- package/src/tools/slack-update.ts +6 -0
- package/src/tools/slack-upload-file.ts +6 -0
- package/src/tools/swarm-config/get-config.ts +2 -1
- package/src/tools/swarm-config/list-config.ts +2 -1
- package/src/tools/swarm-config/set-config.ts +16 -3
- package/src/tools/tool-config.ts +8 -6
- package/src/types.ts +12 -2
- package/src/utils/config-env-export.ts +74 -0
- package/src/utils/credentials.test.ts +92 -0
- package/src/utils/credentials.ts +52 -4
- package/src/utils/harness-provider.ts +15 -6
- package/src/utils/node-env.ts +24 -0
- package/src/utils/runtime-model-catalog.ts +11 -1
- package/src/utils/secret-scrubber.ts +71 -2
- package/src/utils/task-tool-manifest.ts +19 -2
- package/src/workflows/executors/swarm-script.ts +1 -0
- package/templates/skills/agent-browser/SKILL.md +1 -1
- package/templates/skills/agent-browser/content.md +1 -1
- package/templates/skills/apps/SKILL.md +749 -0
- package/templates/skills/apps/content.md +60 -22
- package/templates/skills/chat-sdk/config.json +14 -0
- package/templates/skills/chat-sdk/content.md +84 -0
- package/templates/skills/composio-gmail/content.md +7 -0
- package/templates/skills/composio-google-docs/content.md +1 -1
- package/templates/skills/email-domain-health/config.json +14 -0
- package/templates/skills/email-domain-health/content.md +131 -0
- package/templates/skills/kv-storage/content.md +2 -2
- package/templates/skills/pages/content.md +8 -10
- package/templates/skills/qa-loom/config.json +14 -0
- package/templates/skills/qa-loom/content.md +187 -0
- package/templates/skills/qa-loom/files/build-loom.mjs +221 -0
- package/templates/skills/qa-loom/files/run-qa.sh +57 -0
- package/templates/skills/slack-interaction/content.md +4 -0
- package/templates/skills/swarm-extensions/content.md +2 -0
- package/templates/skills/swarm-scripts/SKILL.md +4 -2
- package/templates/skills/swarm-scripts/config.json +1 -1
- package/templates/skills/swarm-scripts/content.md +4 -2
- package/templates/skills/workflow-iterate/content.md +38 -0
- package/dist/artifact-eczsknc3.js +0 -3843
- package/dist/cli-9xsmdpdt.js +0 -56377
- package/dist/cli-bd957dgb.js +0 -153
- package/dist/cli-q51yprfq.js +0 -1104
- package/dist/cli-t1ze64h3.js +0 -811
- package/dist/index-9ch1n761.js +0 -1102
- package/src/artifact-sdk/index.ts +0 -2
- package/src/artifact-sdk/localtunnel.d.ts +0 -20
- package/src/artifact-sdk/port.ts +0 -12
- package/src/artifact-sdk/server.ts +0 -183
- package/src/artifact-sdk/tunnel.ts +0 -19
- package/src/commands/artifact.ts +0 -249
- package/src/http/ecosystem.ts +0 -77
- package/src/tests/artifact-commands.test.ts +0 -92
- package/src/tests/artifact-sdk.test.ts +0 -793
- package/src/tests/register-service-security.test.ts +0 -194
- package/src/tools/list-services.ts +0 -107
- package/src/tools/register-service.ts +0 -177
- package/src/tools/unregister-service.ts +0 -73
- package/src/tools/update-service-status.ts +0 -96
- package/templates/skills/artifacts/config.json +0 -14
- package/templates/skills/artifacts/content.md +0 -344
- package/templates/skills/artifacts/files/examples/approval-flow.ts +0 -34
- package/templates/skills/artifacts/files/examples/hono-dashboard.ts +0 -31
- package/templates/skills/artifacts/files/examples/multi-artifact.ts +0 -20
- package/templates/skills/artifacts/files/examples/static-report.sh +0 -17
- package/dist/{azure-openai-responses-ap1gwxgr.js → azure-openai-responses-ygfreq4t.js} +5 -5
- package/dist/{cli-5rqrj7q0.js → cli-pw7ebjdt.js} +0 -0
- package/dist/{openai-codex-responses-33qhkkdy.js → openai-codex-responses-3bk0grnr.js} +4 -4
- package/dist/{openai-completions-s88xm3ns.js → openai-completions-5d4jpakc.js} +9 -9
- package/dist/{openai-responses-7xd2f2e2.js → openai-responses-krb51f59.js} +5 -5
- package/dist/{pi-messages-xszk613n.js → pi-messages-x9gzynm1.js} +3 -3
- /package/src/{artifact-sdk → pages}/browser-sdk.ts +0 -0
- /package/src/{artifact-sdk → pages}/feedback-overlay.ts +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ALL_TOOLS,
|
|
3
3
|
init_tool_config
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-hnmhtzvh.js";
|
|
5
5
|
import {
|
|
6
6
|
AgentAvatarSchema,
|
|
7
7
|
CreateTaskOptionsSchema,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
normalizeAssetKey,
|
|
23
23
|
parseAssetKey,
|
|
24
24
|
parseModelTier
|
|
25
|
-
} from "./cli-
|
|
25
|
+
} from "./cli-cgtksawx.js";
|
|
26
26
|
import {
|
|
27
27
|
IdentityFieldBudgetError,
|
|
28
28
|
checkIdentityFieldBudget,
|
|
@@ -36,22 +36,22 @@ import {
|
|
|
36
36
|
init_profile_sync,
|
|
37
37
|
matchesDefaultClaudeMd,
|
|
38
38
|
matchesDefaultIdentityMd
|
|
39
|
-
} from "./cli-
|
|
40
|
-
import {
|
|
41
|
-
init_steering_enabled,
|
|
42
|
-
isSteeringEnabled
|
|
43
|
-
} from "./cli-7mm2r1kp.js";
|
|
39
|
+
} from "./cli-s2sp957d.js";
|
|
44
40
|
import {
|
|
45
41
|
init_config,
|
|
46
42
|
isSlackConfigured
|
|
47
43
|
} from "./cli-dmtrxqhg.js";
|
|
48
44
|
import {
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
init_steering_enabled,
|
|
46
|
+
isSteeringEnabled
|
|
47
|
+
} from "./cli-7mm2r1kp.js";
|
|
51
48
|
import {
|
|
52
49
|
deriveProviderFromKeyType,
|
|
53
50
|
init_credentials
|
|
54
|
-
} from "./cli-
|
|
51
|
+
} from "./cli-5hkm7whv.js";
|
|
52
|
+
import {
|
|
53
|
+
init_templates
|
|
54
|
+
} from "./cli-mvzyxwg3.js";
|
|
55
55
|
import {
|
|
56
56
|
configureDbResolver,
|
|
57
57
|
getAllTemplateDefinitions,
|
|
@@ -75,13 +75,9 @@ import {
|
|
|
75
75
|
init_openrouter_base_url
|
|
76
76
|
} from "./cli-a35hzdve.js";
|
|
77
77
|
import {
|
|
78
|
-
harnessModelMismatch,
|
|
79
78
|
init_runtime_model_catalog,
|
|
80
|
-
init_src,
|
|
81
|
-
isAlias,
|
|
82
|
-
parseAlias,
|
|
83
79
|
runtimeHarnessSections
|
|
84
|
-
} from "./cli-
|
|
80
|
+
} from "./cli-stfs0k5s.js";
|
|
85
81
|
import {
|
|
86
82
|
init_zod
|
|
87
83
|
} from "./cli-sd0mxa3c.js";
|
|
@@ -94,10 +90,14 @@ import {
|
|
|
94
90
|
string,
|
|
95
91
|
union
|
|
96
92
|
} from "./cli-w5e1d1vv.js";
|
|
93
|
+
import {
|
|
94
|
+
getNodeEnv,
|
|
95
|
+
init_node_env
|
|
96
|
+
} from "./cli-p0sg24zp.js";
|
|
97
97
|
import {
|
|
98
98
|
init_package,
|
|
99
99
|
package_default
|
|
100
|
-
} from "./cli-
|
|
100
|
+
} from "./cli-k382tshb.js";
|
|
101
101
|
import {
|
|
102
102
|
init_bus,
|
|
103
103
|
realtimeBus
|
|
@@ -112,7 +112,13 @@ import {
|
|
|
112
112
|
registerVolatileSecret,
|
|
113
113
|
scrubObject,
|
|
114
114
|
scrubSecrets
|
|
115
|
-
} from "./cli-
|
|
115
|
+
} from "./cli-p1x85d2t.js";
|
|
116
|
+
import {
|
|
117
|
+
harnessModelMismatch,
|
|
118
|
+
init_src,
|
|
119
|
+
isAlias,
|
|
120
|
+
parseAlias
|
|
121
|
+
} from "./cli-e3g5mbkz.js";
|
|
116
122
|
import {
|
|
117
123
|
__commonJS,
|
|
118
124
|
__esm,
|
|
@@ -8290,6 +8296,26 @@ function slackContextKey(input) {
|
|
|
8290
8296
|
const threadTs = assertSafePart(input.threadTs, "threadTs");
|
|
8291
8297
|
return ["task", "slack", channelId, threadTs].join(SEPARATOR);
|
|
8292
8298
|
}
|
|
8299
|
+
function chatSdkContextKey(threadId) {
|
|
8300
|
+
const raw = typeof threadId === "string" ? threadId : "";
|
|
8301
|
+
const separatorIndex = raw.indexOf(SEPARATOR);
|
|
8302
|
+
if (separatorIndex <= 0 || separatorIndex === raw.length - 1) {
|
|
8303
|
+
throw new Error(`context-key: chat-sdk thread id must be "<adapter>:<id>" (got ${JSON.stringify(threadId)})`);
|
|
8304
|
+
}
|
|
8305
|
+
const adapter = assertSafePart(raw.slice(0, separatorIndex), "adapter");
|
|
8306
|
+
const rest = encodeURIComponent(raw.slice(separatorIndex + 1));
|
|
8307
|
+
return ["task", "chat-sdk", adapter, rest].join(SEPARATOR);
|
|
8308
|
+
}
|
|
8309
|
+
function chatThreadOfContextKey(key) {
|
|
8310
|
+
if (!key)
|
|
8311
|
+
return null;
|
|
8312
|
+
try {
|
|
8313
|
+
const parsed = parseContextKey(key);
|
|
8314
|
+
return parsed.family === "chat-sdk" ? parsed.parts : null;
|
|
8315
|
+
} catch {
|
|
8316
|
+
return null;
|
|
8317
|
+
}
|
|
8318
|
+
}
|
|
8293
8319
|
function agentmailContextKey(input) {
|
|
8294
8320
|
const threadId = assertSafePart(input.threadId, "threadId");
|
|
8295
8321
|
return ["task", "agentmail", threadId].join(SEPARATOR);
|
|
@@ -8327,6 +8353,14 @@ function azureDevOpsContextKey(input) {
|
|
|
8327
8353
|
}
|
|
8328
8354
|
return ["task", "trackers", "azure-devops", repositoryId, "pr", pullRequestId].join(SEPARATOR);
|
|
8329
8355
|
}
|
|
8356
|
+
function azureDevOpsWorkItemContextKey(input) {
|
|
8357
|
+
const organization = assertSafePart(input.organization, "organization");
|
|
8358
|
+
const workItemId = assertSafePart(input.workItemId, "workItemId");
|
|
8359
|
+
if (!/^\d+$/.test(workItemId)) {
|
|
8360
|
+
throw new Error(`context-key: azure-devops "workItemId" must be a positive integer (got ${JSON.stringify(workItemId)})`);
|
|
8361
|
+
}
|
|
8362
|
+
return ["task", "trackers", "azure-devops", organization, "workitem", workItemId].join(SEPARATOR);
|
|
8363
|
+
}
|
|
8330
8364
|
function linearContextKey(input) {
|
|
8331
8365
|
const issueIdentifier = assertSafePart(input.issueIdentifier, "issueIdentifier");
|
|
8332
8366
|
return ["task", "trackers", "linear", issueIdentifier].join(SEPARATOR);
|
|
@@ -8376,6 +8410,19 @@ function parseContextKey(key) {
|
|
|
8376
8410
|
}
|
|
8377
8411
|
return { family: "agentmail", parts: { threadId: parts[2] } };
|
|
8378
8412
|
}
|
|
8413
|
+
case "chat-sdk": {
|
|
8414
|
+
if (parts.length !== 4 || !parts[2] || !parts[3]) {
|
|
8415
|
+
throw new Error(`context-key: malformed chat-sdk key: ${JSON.stringify(key)}`);
|
|
8416
|
+
}
|
|
8417
|
+
const adapter = parts[2];
|
|
8418
|
+
let rest;
|
|
8419
|
+
try {
|
|
8420
|
+
rest = decodeURIComponent(parts[3]);
|
|
8421
|
+
} catch {
|
|
8422
|
+
throw new Error(`context-key: malformed chat-sdk key: ${JSON.stringify(key)}`);
|
|
8423
|
+
}
|
|
8424
|
+
return { family: "chat-sdk", parts: { adapter, threadId: `${adapter}:${rest}` } };
|
|
8425
|
+
}
|
|
8379
8426
|
case "schedule": {
|
|
8380
8427
|
if (parts.length !== 3) {
|
|
8381
8428
|
throw new Error(`context-key: malformed schedule key: ${JSON.stringify(key)}`);
|
|
@@ -8432,10 +8479,21 @@ function parseContextKey(key) {
|
|
|
8432
8479
|
};
|
|
8433
8480
|
}
|
|
8434
8481
|
if (subFamily === "azure-devops") {
|
|
8435
|
-
if (parts.length !== 6 || parts[4] !== "pr") {
|
|
8482
|
+
if (parts.length !== 6 || parts[4] !== "pr" && parts[4] !== "workitem") {
|
|
8436
8483
|
throw new Error(`context-key: malformed azure-devops key: ${JSON.stringify(key)}`);
|
|
8437
8484
|
}
|
|
8438
8485
|
const idStr = parts[5];
|
|
8486
|
+
if (parts[4] === "workitem") {
|
|
8487
|
+
const workItemId = Number.parseInt(idStr, 10);
|
|
8488
|
+
if (!/^\d+$/.test(idStr) || !Number.isFinite(workItemId)) {
|
|
8489
|
+
throw new Error(`context-key: malformed azure-devops workItemId "${idStr}": ${JSON.stringify(key)}`);
|
|
8490
|
+
}
|
|
8491
|
+
return {
|
|
8492
|
+
family: "trackers",
|
|
8493
|
+
subFamily: "azure-devops",
|
|
8494
|
+
parts: { organization: parts[3], kind: "workitem", workItemId }
|
|
8495
|
+
};
|
|
8496
|
+
}
|
|
8439
8497
|
const pullRequestId = Number.parseInt(idStr, 10);
|
|
8440
8498
|
if (!Number.isFinite(pullRequestId)) {
|
|
8441
8499
|
throw new Error(`context-key: malformed azure-devops pullRequestId "${idStr}": ${JSON.stringify(key)}`);
|
|
@@ -10463,8 +10521,8 @@ function getTelemetryEnvironment() {
|
|
|
10463
10521
|
const explicit = process.env.DESPLEGA_TELEMETRY_ENV?.trim();
|
|
10464
10522
|
if (explicit)
|
|
10465
10523
|
return explicit;
|
|
10466
|
-
if (
|
|
10467
|
-
;
|
|
10524
|
+
if (getNodeEnv() === "test")
|
|
10525
|
+
return "test";
|
|
10468
10526
|
return "production";
|
|
10469
10527
|
}
|
|
10470
10528
|
function track(options) {
|
|
@@ -10557,6 +10615,7 @@ var init_telemetry = __esm(() => {
|
|
|
10557
10615
|
init_config();
|
|
10558
10616
|
init_telemetry_context();
|
|
10559
10617
|
init_env_flag();
|
|
10618
|
+
init_node_env();
|
|
10560
10619
|
init_org_website();
|
|
10561
10620
|
init_request_auth_context();
|
|
10562
10621
|
CLOUD_HOST_EXACT = new Set([
|
|
@@ -12198,7 +12257,20 @@ function initDb(dbPath = "./agent-swarm-db.sqlite") {
|
|
|
12198
12257
|
}
|
|
12199
12258
|
db = new Database(dbPath, { create: true });
|
|
12200
12259
|
console.log(`Database initialized at ${dbPath}`);
|
|
12201
|
-
const
|
|
12260
|
+
const opened = db;
|
|
12261
|
+
try {
|
|
12262
|
+
return bootOpenedDb(opened, dbPath, resolvePromptTemplate, autoEncryptLegacyPlaintextSecrets);
|
|
12263
|
+
} catch (error2) {
|
|
12264
|
+
if (db === opened) {
|
|
12265
|
+
db = null;
|
|
12266
|
+
try {
|
|
12267
|
+
opened.close();
|
|
12268
|
+
} catch {}
|
|
12269
|
+
}
|
|
12270
|
+
throw error2;
|
|
12271
|
+
}
|
|
12272
|
+
}
|
|
12273
|
+
function bootOpenedDb(database, dbPath, resolvePromptTemplate, autoEncryptLegacyPlaintextSecrets) {
|
|
12202
12274
|
database.run("PRAGMA journal_mode = WAL;");
|
|
12203
12275
|
database.run("PRAGMA busy_timeout = 5000;");
|
|
12204
12276
|
database.run("PRAGMA foreign_keys = ON;");
|
|
@@ -12220,20 +12292,20 @@ function initDb(dbPath = "./agent-swarm-db.sqlite") {
|
|
|
12220
12292
|
}
|
|
12221
12293
|
ensureAgentProfileColumns(database);
|
|
12222
12294
|
try {
|
|
12223
|
-
const taskSchemaInfo =
|
|
12295
|
+
const taskSchemaInfo = database.prepare("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = 'agent_tasks'").get();
|
|
12224
12296
|
const schemaSql = taskSchemaInfo?.sql ?? "";
|
|
12225
12297
|
const hasStatusCheck = /status\s+TEXT\b[^,]*\bCHECK\s*\(\s*status\s+IN\s*\(/i.test(schemaSql);
|
|
12226
12298
|
const statusAllowsCancelled = /status\s+IN\s*\([^)]*'cancelled'/i.test(schemaSql);
|
|
12227
12299
|
const needsStatusMigration = hasStatusCheck && !statusAllowsCancelled;
|
|
12228
12300
|
if (needsStatusMigration) {
|
|
12229
12301
|
console.log("[Migration] Removing restrictive CHECK constraint on agent_tasks.status");
|
|
12230
|
-
|
|
12302
|
+
database.run("PRAGMA foreign_keys=off");
|
|
12231
12303
|
const rebuiltSchemaSql = schemaSql.replace(/^(CREATE TABLE\s+(?:IF NOT EXISTS\s+)?)(?:"agent_tasks"|agent_tasks)/i, "$1agent_tasks_new").replace(/\s+CHECK\s*\(\s*status\s+IN\s*\([^)]*\)\s*\)/i, "");
|
|
12232
12304
|
if (rebuiltSchemaSql === schemaSql || !/agent_tasks_new/i.test(rebuiltSchemaSql)) {
|
|
12233
12305
|
throw new Error("Could not derive agent_tasks schema without legacy status CHECK");
|
|
12234
12306
|
}
|
|
12235
|
-
const columns =
|
|
12236
|
-
const schemaObjects =
|
|
12307
|
+
const columns = database.prepare('PRAGMA table_info("agent_tasks")').all().map((column) => `"${column.name.replaceAll('"', '""')}"`).join(", ");
|
|
12308
|
+
const schemaObjects = database.prepare(`SELECT sql FROM sqlite_master
|
|
12237
12309
|
WHERE tbl_name = 'agent_tasks'
|
|
12238
12310
|
AND type IN ('index', 'trigger')
|
|
12239
12311
|
AND sql IS NOT NULL
|
|
@@ -12247,13 +12319,13 @@ function initDb(dbPath = "./agent-swarm-db.sqlite") {
|
|
|
12247
12319
|
for (const sql of schemaObjects)
|
|
12248
12320
|
database.run(sql);
|
|
12249
12321
|
})();
|
|
12250
|
-
|
|
12322
|
+
database.run("PRAGMA foreign_keys=on");
|
|
12251
12323
|
console.log("[Migration] Successfully removed CHECK constraint on agent_tasks.status");
|
|
12252
12324
|
}
|
|
12253
12325
|
} catch (e) {
|
|
12254
12326
|
console.error("[Migration] Failed to update agent_tasks CHECK constraint:", e);
|
|
12255
12327
|
try {
|
|
12256
|
-
|
|
12328
|
+
database.run("PRAGMA foreign_keys=on");
|
|
12257
12329
|
} catch (cleanupError) {
|
|
12258
12330
|
console.error("[Migration] Failed to re-enable SQLite foreign_keys pragma:", cleanupError);
|
|
12259
12331
|
}
|
|
@@ -12294,7 +12366,7 @@ function initDb(dbPath = "./agent-swarm-db.sqlite") {
|
|
|
12294
12366
|
console.error(`[credential-bindings] FATAL: failed to migrate legacy credential binding blob: ${err.message}`);
|
|
12295
12367
|
throw err;
|
|
12296
12368
|
}
|
|
12297
|
-
return
|
|
12369
|
+
return database;
|
|
12298
12370
|
}
|
|
12299
12371
|
function getDb(path3) {
|
|
12300
12372
|
if (!db) {
|
|
@@ -12370,7 +12442,7 @@ var init_runtime = __esm(() => {
|
|
|
12370
12442
|
// src/telemetry-identity.ts
|
|
12371
12443
|
async function loadUserRole(userId) {
|
|
12372
12444
|
try {
|
|
12373
|
-
const { getUserGrant } = await import("./rbac-roles-
|
|
12445
|
+
const { getUserGrant } = await import("./rbac-roles-3mraey52.js");
|
|
12374
12446
|
const grant = await getUserGrant(userId);
|
|
12375
12447
|
const role = grant.grantsAll ? "admin" : "member";
|
|
12376
12448
|
if (roleCache.size >= ROLE_CACHE_LIMIT) {
|
|
@@ -12530,6 +12602,47 @@ var init_codex_auth_failure = __esm(() => {
|
|
|
12530
12602
|
];
|
|
12531
12603
|
});
|
|
12532
12604
|
|
|
12605
|
+
// src/utils/config-env-export.ts
|
|
12606
|
+
function isEnvExportRestrictedKey(key) {
|
|
12607
|
+
return ENV_EXPORT_RESTRICTED_KEYS.has(key.toUpperCase()) || CONNECTION_SECRET_KEY.test(key);
|
|
12608
|
+
}
|
|
12609
|
+
function defaultExportToEnv(key) {
|
|
12610
|
+
const upper = key.toUpperCase();
|
|
12611
|
+
return !isEnvExportRestrictedKey(key) && !ENV_EXPORT_DEFAULT_OFF_KEYS.has(upper) && !ENV_EXPORT_DEFAULT_OFF_PREFIXES.some((prefix) => upper.startsWith(prefix));
|
|
12612
|
+
}
|
|
12613
|
+
function envExportRestrictedError(key) {
|
|
12614
|
+
return `Key '${key}' is read only by the API server and can never be exported to agent env; store it with exportToEnv: false.`;
|
|
12615
|
+
}
|
|
12616
|
+
function effectiveExportToEnv(key, stored) {
|
|
12617
|
+
return stored && !isEnvExportRestrictedKey(key);
|
|
12618
|
+
}
|
|
12619
|
+
var ENV_EXPORT_RESTRICTED_KEYS, ENV_EXPORT_DEFAULT_OFF_KEYS, CONNECTION_SECRET_KEY, ENV_EXPORT_DEFAULT_OFF_PREFIXES;
|
|
12620
|
+
var init_config_env_export = __esm(() => {
|
|
12621
|
+
ENV_EXPORT_RESTRICTED_KEYS = new Set([
|
|
12622
|
+
"SLACK_APP_TOKEN",
|
|
12623
|
+
"SLACK_SIGNING_SECRET",
|
|
12624
|
+
"GITHUB_APP_PRIVATE_KEY",
|
|
12625
|
+
"GITHUB_WEBHOOK_SECRET",
|
|
12626
|
+
"GITLAB_WEBHOOK_SECRET",
|
|
12627
|
+
"LINEAR_CLIENT_SECRET",
|
|
12628
|
+
"LINEAR_SIGNING_SECRET",
|
|
12629
|
+
"JIRA_CLIENT_SECRET",
|
|
12630
|
+
"JIRA_WEBHOOK_TOKEN",
|
|
12631
|
+
"AZURE_DEVOPS_WEBHOOK_SECRET",
|
|
12632
|
+
"AGENTMAIL_WEBHOOK_SECRET",
|
|
12633
|
+
"API_AGENT_FS_API_KEY"
|
|
12634
|
+
]);
|
|
12635
|
+
ENV_EXPORT_DEFAULT_OFF_KEYS = new Set([
|
|
12636
|
+
"KAPSO_WEBHOOK_HMAC_SECRET",
|
|
12637
|
+
"SENTRY_TEST_APP_WEBHOOK_SECRET",
|
|
12638
|
+
"TELEMETRY_CH_AUTH",
|
|
12639
|
+
"HACK_AGENT_FS_ADMIN_KEY",
|
|
12640
|
+
"X_CLIENT_SECRET"
|
|
12641
|
+
]);
|
|
12642
|
+
CONNECTION_SECRET_KEY = /^connection\..+\.secret$/;
|
|
12643
|
+
ENV_EXPORT_DEFAULT_OFF_PREFIXES = ["CHAT_SDK_"];
|
|
12644
|
+
});
|
|
12645
|
+
|
|
12533
12646
|
// src/utils/config-secrets.ts
|
|
12534
12647
|
var MASKED_SECRET_VALUE = "********";
|
|
12535
12648
|
var init_config_secrets = () => {};
|
|
@@ -13412,6 +13525,7 @@ function rowToAgentTask(row) {
|
|
|
13412
13525
|
modelSource: row.modelSource ?? undefined,
|
|
13413
13526
|
modelAlias: row.modelAlias ?? undefined,
|
|
13414
13527
|
effort: ReasoningEffortSchema.safeParse(row.effort).success ? row.effort : undefined,
|
|
13528
|
+
resolvedEffort: ReasoningEffortSchema.safeParse(row.resolvedEffort).success ? row.resolvedEffort : undefined,
|
|
13415
13529
|
scheduleId: row.scheduleId ?? undefined,
|
|
13416
13530
|
workflowRunId: row.workflowRunId ?? undefined,
|
|
13417
13531
|
workflowRunStepId: row.workflowRunStepId ?? undefined,
|
|
@@ -13468,6 +13582,7 @@ function rowToAgentTaskSummary(row) {
|
|
|
13468
13582
|
modelSource: row.modelSource ?? undefined,
|
|
13469
13583
|
modelAlias: row.modelAlias ?? undefined,
|
|
13470
13584
|
effort: ReasoningEffortSchema.safeParse(row.effort).success ? row.effort : undefined,
|
|
13585
|
+
resolvedEffort: ReasoningEffortSchema.safeParse(row.resolvedEffort).success ? row.resolvedEffort : undefined,
|
|
13471
13586
|
provider: row.provider ?? undefined,
|
|
13472
13587
|
requestedByUserId: row.requestedByUserId ?? undefined,
|
|
13473
13588
|
progress: row.progress ?? undefined,
|
|
@@ -13840,6 +13955,78 @@ async function markFinalizedSlackRelaysDelivered() {
|
|
|
13840
13955
|
)`, [now, now]);
|
|
13841
13956
|
return result.changes;
|
|
13842
13957
|
}
|
|
13958
|
+
async function getPendingChatRelayTasks(now = Date.now(), limit2 = 200, adapters = []) {
|
|
13959
|
+
if (adapters.length === 0)
|
|
13960
|
+
return [];
|
|
13961
|
+
for (const adapter of adapters) {
|
|
13962
|
+
if (!/^[a-z]+$/.test(adapter))
|
|
13963
|
+
throw new Error(`invalid chat adapter name: ${adapter}`);
|
|
13964
|
+
}
|
|
13965
|
+
const adapterFilter = adapters.map(() => "task.contextKey GLOB ?").join(" OR ");
|
|
13966
|
+
const rows = await getDbClient().query(`SELECT task.*,
|
|
13967
|
+
obligation.created_at AS relay_created_at,
|
|
13968
|
+
obligation.last_error AS relay_last_error
|
|
13969
|
+
FROM chat_relay_obligations obligation
|
|
13970
|
+
JOIN agent_tasks task ON task.id = obligation.task_id
|
|
13971
|
+
WHERE obligation.delivered_at IS NULL
|
|
13972
|
+
AND obligation.given_up_at IS NULL
|
|
13973
|
+
AND task.status IN ('completed', 'failed', 'cancelled')
|
|
13974
|
+
AND (${adapterFilter})
|
|
13975
|
+
AND ${CHAT_RELAY_ELIGIBLE_SQL}
|
|
13976
|
+
ORDER BY obligation.last_attempt_at IS NOT NULL,
|
|
13977
|
+
obligation.last_attempt_at ASC,
|
|
13978
|
+
obligation.created_at ASC
|
|
13979
|
+
LIMIT ?`, [
|
|
13980
|
+
...adapters.map((adapter) => `task:chat-sdk:${adapter}:*`),
|
|
13981
|
+
new Date(now).toISOString(),
|
|
13982
|
+
limit2
|
|
13983
|
+
]);
|
|
13984
|
+
return rows.map((row) => ({
|
|
13985
|
+
task: rowToAgentTask(row),
|
|
13986
|
+
createdAt: row.relay_created_at,
|
|
13987
|
+
lastError: row.relay_last_error
|
|
13988
|
+
}));
|
|
13989
|
+
}
|
|
13990
|
+
async function giveUpStaleChatRelays(now, olderThanMs) {
|
|
13991
|
+
const at = new Date(now).toISOString();
|
|
13992
|
+
const cutoff = new Date(now - olderThanMs).toISOString();
|
|
13993
|
+
const result = await getDbClient().run(`UPDATE chat_relay_obligations
|
|
13994
|
+
SET given_up_at = ?, last_error = 'gave up: older than 24h', updated_at = ?
|
|
13995
|
+
WHERE delivered_at IS NULL AND given_up_at IS NULL AND created_at < ?`, [at, at, cutoff]);
|
|
13996
|
+
return result.changes;
|
|
13997
|
+
}
|
|
13998
|
+
async function markChatRelayAttempted(taskId, now = Date.now()) {
|
|
13999
|
+
const at = new Date(now).toISOString();
|
|
14000
|
+
const result = await getDbClient().run(`UPDATE chat_relay_obligations AS obligation
|
|
14001
|
+
SET attempt_count = attempt_count + 1,
|
|
14002
|
+
last_attempt_at = ?,
|
|
14003
|
+
updated_at = ?
|
|
14004
|
+
WHERE task_id = ?
|
|
14005
|
+
AND delivered_at IS NULL
|
|
14006
|
+
AND given_up_at IS NULL
|
|
14007
|
+
AND ${CHAT_RELAY_ELIGIBLE_SQL}`, [at, at, taskId, at]);
|
|
14008
|
+
return result.changes > 0;
|
|
14009
|
+
}
|
|
14010
|
+
async function recordChatRelayError(taskId, error2, now = Date.now()) {
|
|
14011
|
+
const result = await getDbClient().run(`UPDATE chat_relay_obligations
|
|
14012
|
+
SET last_error = ?, updated_at = ?
|
|
14013
|
+
WHERE task_id = ? AND delivered_at IS NULL`, [scrubSecrets(error2), new Date(now).toISOString(), taskId]);
|
|
14014
|
+
return result.changes > 0;
|
|
14015
|
+
}
|
|
14016
|
+
async function markChatRelayDelivered(taskId, now = Date.now()) {
|
|
14017
|
+
const at = new Date(now).toISOString();
|
|
14018
|
+
const result = await getDbClient().run(`UPDATE chat_relay_obligations
|
|
14019
|
+
SET delivered_at = ?, updated_at = ?
|
|
14020
|
+
WHERE task_id = ? AND delivered_at IS NULL`, [at, at, taskId]);
|
|
14021
|
+
return result.changes > 0;
|
|
14022
|
+
}
|
|
14023
|
+
async function markChatRelayGivenUp(taskId, error2, now = Date.now()) {
|
|
14024
|
+
const at = new Date(now).toISOString();
|
|
14025
|
+
const result = await getDbClient().run(`UPDATE chat_relay_obligations
|
|
14026
|
+
SET given_up_at = ?, last_error = ?, updated_at = ?
|
|
14027
|
+
WHERE task_id = ? AND delivered_at IS NULL AND given_up_at IS NULL`, [at, scrubSecrets(error2), at, taskId]);
|
|
14028
|
+
return result.changes > 0;
|
|
14029
|
+
}
|
|
13843
14030
|
async function getRecentlyFinishedWorkerTasks() {
|
|
13844
14031
|
const rows = await getDbClient().query(`SELECT t.* FROM agent_tasks t
|
|
13845
14032
|
LEFT JOIN agents a ON t.agentId = a.id
|
|
@@ -14011,6 +14198,36 @@ async function getLatestLeadTaskInThread(channelId, threadTs) {
|
|
|
14011
14198
|
LIMIT 1`, [channelId, threadTs]);
|
|
14012
14199
|
return row ? rowToAgentTask(row) : null;
|
|
14013
14200
|
}
|
|
14201
|
+
async function getAgentWorkingOnContextKey(contextKey, source2) {
|
|
14202
|
+
const taskRow = await getDbClient().get(`SELECT agentId FROM agent_tasks
|
|
14203
|
+
WHERE contextKey = ?
|
|
14204
|
+
AND (? IS NULL OR source = ?)
|
|
14205
|
+
ORDER BY createdAt DESC, rowid DESC
|
|
14206
|
+
LIMIT 1`, [contextKey, source2 ?? null, source2 ?? null]);
|
|
14207
|
+
if (taskRow?.agentId)
|
|
14208
|
+
return getAgentById(taskRow.agentId);
|
|
14209
|
+
return null;
|
|
14210
|
+
}
|
|
14211
|
+
async function getLatestActiveTaskByContextKey(contextKey, source2) {
|
|
14212
|
+
const row = await getDbClient().get(`SELECT * FROM agent_tasks
|
|
14213
|
+
WHERE contextKey = ?
|
|
14214
|
+
AND (? IS NULL OR source = ?)
|
|
14215
|
+
AND status IN ('in_progress', 'pending')
|
|
14216
|
+
ORDER BY createdAt DESC, rowid DESC
|
|
14217
|
+
LIMIT 1`, [contextKey, source2 ?? null, source2 ?? null]);
|
|
14218
|
+
return row ? rowToAgentTask(row) : null;
|
|
14219
|
+
}
|
|
14220
|
+
async function getLatestLeadTaskByContextKey(contextKey, source2) {
|
|
14221
|
+
const row = await getDbClient().get(`SELECT t.*
|
|
14222
|
+
FROM agent_tasks t
|
|
14223
|
+
JOIN agents a ON a.id = t.agentId
|
|
14224
|
+
WHERE t.contextKey = ?
|
|
14225
|
+
AND (? IS NULL OR t.source = ?)
|
|
14226
|
+
AND a.isLead = 1
|
|
14227
|
+
ORDER BY t.createdAt DESC, t.rowid DESC
|
|
14228
|
+
LIMIT 1`, [contextKey, source2 ?? null, source2 ?? null]);
|
|
14229
|
+
return row ? rowToAgentTask(row) : null;
|
|
14230
|
+
}
|
|
14014
14231
|
async function getMostRecentTaskInThread(channelId, threadTs) {
|
|
14015
14232
|
const row = await getDbClient().get(`SELECT * FROM agent_tasks
|
|
14016
14233
|
WHERE slackChannelId = ?
|
|
@@ -14052,11 +14269,15 @@ async function findRecentCancelledTaskInThread(channelId, threadTs, windowMinute
|
|
|
14052
14269
|
LIMIT 1`, [channelId, threadTs, since]);
|
|
14053
14270
|
return row ? rowToAgentTask(row) : null;
|
|
14054
14271
|
}
|
|
14055
|
-
var dependencies2, TASK_PREVIEW_LENGTH = 300, TASK_PREVIEW_BYTES, TASK_PREVIEW_SQL, taskPreviewDecoder, LIST_COLUMNS, NEVER_STARTED_TASK_STATUSES, findTaskByGitHub,
|
|
14272
|
+
var dependencies2, TASK_PREVIEW_LENGTH = 300, TASK_PREVIEW_BYTES, TASK_PREVIEW_SQL, taskPreviewDecoder, LIST_COLUMNS, NEVER_STARTED_TASK_STATUSES, findTaskByGitHub, CHAT_RELAY_ELIGIBLE_SQL = `(obligation.last_attempt_at IS NULL
|
|
14273
|
+
OR (julianday(?) - julianday(obligation.last_attempt_at)) * 86400000.0 >=
|
|
14274
|
+
CASE WHEN obligation.attempt_count >= 8 THEN 600000
|
|
14275
|
+
ELSE 3000 * (1 << obligation.attempt_count) END)`, LINEAR_TRACKER_CONTEXT_KEY_PREFIX = "task:trackers:linear:";
|
|
14056
14276
|
var init_read = __esm(() => {
|
|
14057
14277
|
init_key();
|
|
14058
14278
|
init_types();
|
|
14059
14279
|
init_provider_metadata();
|
|
14280
|
+
init_secret_scrubber();
|
|
14060
14281
|
init_agents();
|
|
14061
14282
|
init_runtime();
|
|
14062
14283
|
TASK_PREVIEW_BYTES = 4 * (TASK_PREVIEW_LENGTH + 1);
|
|
@@ -14070,6 +14291,7 @@ var init_read = __esm(() => {
|
|
|
14070
14291
|
agent_tasks.offeredTo, agent_tasks.acceptedAt, agent_tasks.parentTaskId,
|
|
14071
14292
|
agent_tasks.scheduleId, agent_tasks.model, agent_tasks.modelTier,
|
|
14072
14293
|
agent_tasks.resolvedModel, agent_tasks.modelSource, agent_tasks.modelAlias, agent_tasks.effort,
|
|
14294
|
+
agent_tasks.resolvedEffort,
|
|
14073
14295
|
agent_tasks.provider, agent_tasks.requestedByUserId, agent_tasks.progress,
|
|
14074
14296
|
agent_tasks.createdAt, agent_tasks.lastUpdatedAt, agent_tasks.finishedAt,
|
|
14075
14297
|
agent_tasks.peakContextPercent`,
|
|
@@ -14310,7 +14532,7 @@ async function startTask(taskId) {
|
|
|
14310
14532
|
}
|
|
14311
14533
|
return result;
|
|
14312
14534
|
}
|
|
14313
|
-
async function updateTaskClaudeSessionId(taskId, claudeSessionId, provider, providerMeta, model, harnessVariant, harnessVariantMeta) {
|
|
14535
|
+
async function updateTaskClaudeSessionId(taskId, claudeSessionId, provider, providerMeta, model, harnessVariant, harnessVariantMeta, resolvedEffort) {
|
|
14314
14536
|
const setClauses = ["claudeSessionId = ?", "lastUpdatedAt = ?"];
|
|
14315
14537
|
const params = [claudeSessionId, new Date().toISOString()];
|
|
14316
14538
|
if (provider !== undefined) {
|
|
@@ -14333,6 +14555,10 @@ async function updateTaskClaudeSessionId(taskId, claudeSessionId, provider, prov
|
|
|
14333
14555
|
setClauses.push("harnessVariantMeta = ?");
|
|
14334
14556
|
params.push(JSON.stringify(harnessVariantMeta));
|
|
14335
14557
|
}
|
|
14558
|
+
if (resolvedEffort !== undefined) {
|
|
14559
|
+
setClauses.push("resolvedEffort = ?");
|
|
14560
|
+
params.push(resolvedEffort);
|
|
14561
|
+
}
|
|
14336
14562
|
params.push(taskId);
|
|
14337
14563
|
const row = await getDbClient().get(`UPDATE agent_tasks SET ${setClauses.join(", ")} WHERE id = ? RETURNING *`, params);
|
|
14338
14564
|
return row ? rowToAgentTask(row) : null;
|
|
@@ -14406,7 +14632,7 @@ async function completeTask(id, output, options) {
|
|
|
14406
14632
|
});
|
|
14407
14633
|
} catch {}
|
|
14408
14634
|
getDbClient().afterCommit(() => {
|
|
14409
|
-
import("./event-bus-
|
|
14635
|
+
import("./event-bus-6axnngdj.js").then(({ workflowEventBus }) => {
|
|
14410
14636
|
workflowEventBus.emit("task.completed", {
|
|
14411
14637
|
taskId: id,
|
|
14412
14638
|
output: scrubbedOutput,
|
|
@@ -14461,7 +14687,7 @@ async function failTask(id, reason, opts = {}) {
|
|
|
14461
14687
|
});
|
|
14462
14688
|
} catch {}
|
|
14463
14689
|
getDbClient().afterCommit(() => {
|
|
14464
|
-
import("./event-bus-
|
|
14690
|
+
import("./event-bus-6axnngdj.js").then(({ workflowEventBus }) => {
|
|
14465
14691
|
workflowEventBus.emit("task.failed", {
|
|
14466
14692
|
taskId: id,
|
|
14467
14693
|
failureReason: scrubbedReason,
|
|
@@ -14543,7 +14769,7 @@ async function cancelTask(id, reason) {
|
|
|
14543
14769
|
});
|
|
14544
14770
|
} catch {}
|
|
14545
14771
|
getDbClient().afterCommit(() => {
|
|
14546
|
-
import("./event-bus-
|
|
14772
|
+
import("./event-bus-6axnngdj.js").then(({ workflowEventBus }) => {
|
|
14547
14773
|
workflowEventBus.emit("task.cancelled", {
|
|
14548
14774
|
taskId: id,
|
|
14549
14775
|
agentId: row.agentId,
|
|
@@ -14600,7 +14826,7 @@ async function supersedeTask(id, args) {
|
|
|
14600
14826
|
});
|
|
14601
14827
|
} catch {}
|
|
14602
14828
|
getDbClient().afterCommit(() => {
|
|
14603
|
-
import("./event-bus-
|
|
14829
|
+
import("./event-bus-6axnngdj.js").then(({ workflowEventBus }) => {
|
|
14604
14830
|
workflowEventBus.emit("task.superseded", {
|
|
14605
14831
|
taskId: id,
|
|
14606
14832
|
reason: args.reason,
|
|
@@ -14812,7 +15038,7 @@ async function updateTaskProgress(id, progress) {
|
|
|
14812
15038
|
});
|
|
14813
15039
|
} catch {}
|
|
14814
15040
|
getDbClient().afterCommit(() => {
|
|
14815
|
-
import("./event-bus-
|
|
15041
|
+
import("./event-bus-6axnngdj.js").then(({ workflowEventBus }) => {
|
|
14816
15042
|
workflowEventBus.emit("task.progress", {
|
|
14817
15043
|
taskId: id,
|
|
14818
15044
|
progress: scrubbedProgress,
|
|
@@ -14883,7 +15109,7 @@ function emitChildRunFinished(childRunId, parentStepId, status) {
|
|
|
14883
15109
|
}
|
|
14884
15110
|
function emitAfterCommit(childRunId, parentStepId) {
|
|
14885
15111
|
getDbClient().afterCommit(() => {
|
|
14886
|
-
import("./event-bus-
|
|
15112
|
+
import("./event-bus-6axnngdj.js").then(({ workflowEventBus }) => {
|
|
14887
15113
|
workflowEventBus.emit("workflow.child.finished", { childRunId, parentStepId });
|
|
14888
15114
|
}).catch((err) => console.error("[db] workflow.child.finished event not emitted:", scrubSecrets(err instanceof Error ? err.message : String(err))));
|
|
14889
15115
|
});
|
|
@@ -14900,6 +15126,164 @@ var init_workflow_runs = __esm(() => {
|
|
|
14900
15126
|
]);
|
|
14901
15127
|
});
|
|
14902
15128
|
|
|
15129
|
+
// src/integrations/chat-sdk/schema.ts
|
|
15130
|
+
function forbiddenKeyIssues(value, ctx) {
|
|
15131
|
+
for (const key of FORBIDDEN_ADAPTER_KEYS) {
|
|
15132
|
+
if (key in value) {
|
|
15133
|
+
ctx.addIssue({
|
|
15134
|
+
code: "custom",
|
|
15135
|
+
path: [key],
|
|
15136
|
+
message: `${key} is not allowed in CHAT_SDK_ADAPTERS`
|
|
15137
|
+
});
|
|
15138
|
+
}
|
|
15139
|
+
}
|
|
15140
|
+
}
|
|
15141
|
+
function adapterSchema(shape) {
|
|
15142
|
+
return exports_external.looseObject({ ...shape, ...COMMON_SHAPE }).superRefine(forbiddenKeyIssues);
|
|
15143
|
+
}
|
|
15144
|
+
function draftShape(shape) {
|
|
15145
|
+
return Object.fromEntries(Object.entries(shape).map(([key, field]) => [key, field.optional()]));
|
|
15146
|
+
}
|
|
15147
|
+
function discordPublicKeyIssue(value, ctx) {
|
|
15148
|
+
if (typeof value.publicKey === "string" && !DISCORD_PUBLIC_KEY_PATTERN.test(value.publicKey)) {
|
|
15149
|
+
ctx.addIssue({
|
|
15150
|
+
code: "custom",
|
|
15151
|
+
path: ["publicKey"],
|
|
15152
|
+
message: "publicKey must be 64 hex characters (the application's Ed25519 public key)"
|
|
15153
|
+
});
|
|
15154
|
+
}
|
|
15155
|
+
}
|
|
15156
|
+
function valueAt(input, path3) {
|
|
15157
|
+
let current = input;
|
|
15158
|
+
for (const key of path3) {
|
|
15159
|
+
if (current === null || typeof current !== "object")
|
|
15160
|
+
return;
|
|
15161
|
+
current = current[key];
|
|
15162
|
+
}
|
|
15163
|
+
return current;
|
|
15164
|
+
}
|
|
15165
|
+
function firstIssueText(error2, prefix = "CHAT_SDK_ADAPTERS", input) {
|
|
15166
|
+
const issue = error2.issues[0];
|
|
15167
|
+
if (!issue)
|
|
15168
|
+
return `${prefix} is invalid`;
|
|
15169
|
+
const path3 = issue.path.length > 0 ? issue.path.join(".") : "(root)";
|
|
15170
|
+
const missing = input !== undefined && issue.path.length > 0 && valueAt(input, issue.path) === undefined;
|
|
15171
|
+
return `${prefix}.${path3}: ${missing ? "required" : issue.message}`;
|
|
15172
|
+
}
|
|
15173
|
+
function formFields(shape) {
|
|
15174
|
+
return Object.keys(shape).filter((key) => key !== "enabled");
|
|
15175
|
+
}
|
|
15176
|
+
function isAdapterEntryEnabled(entry) {
|
|
15177
|
+
return entry !== undefined && entry.enabled !== false;
|
|
15178
|
+
}
|
|
15179
|
+
function validateChatSdkAdaptersValue(value) {
|
|
15180
|
+
if (typeof value !== "string")
|
|
15181
|
+
return "CHAT_SDK_ADAPTERS must be a JSON string";
|
|
15182
|
+
let parsed;
|
|
15183
|
+
try {
|
|
15184
|
+
parsed = JSON.parse(value);
|
|
15185
|
+
} catch (error2) {
|
|
15186
|
+
return `CHAT_SDK_ADAPTERS is not valid JSON: ${error2 instanceof Error ? error2.message : String(error2)}`;
|
|
15187
|
+
}
|
|
15188
|
+
const result = ChatSdkAdaptersDraftSchema.safeParse(parsed);
|
|
15189
|
+
return result.success ? null : firstIssueText(result.error);
|
|
15190
|
+
}
|
|
15191
|
+
var CHAT_SDK_ADAPTER_NAMES, ConfigRefSchema, Str, FORBIDDEN_ADAPTER_KEYS, COMMON_SHAPE, TELEGRAM_SHAPE, SLACK_SHAPE, TelegramAdapterSchema, SlackAdapterSchema, DISCORD_PUBLIC_KEY_PATTERN, DISCORD_SHAPE, DiscordAdapterSchema, TEAMS_SHAPE, TeamsAdapterSchema, ChatSdkAdaptersSchema, CHAT_SDK_ADAPTER_SCHEMAS, ChatSdkAdaptersDraftSchema, CHAT_SDK_ADAPTER_FIELDS;
|
|
15192
|
+
var init_schema = __esm(() => {
|
|
15193
|
+
init_zod();
|
|
15194
|
+
CHAT_SDK_ADAPTER_NAMES = ["telegram", "slack", "discord", "teams"];
|
|
15195
|
+
ConfigRefSchema = exports_external.strictObject({ $config: exports_external.string().min(1) });
|
|
15196
|
+
Str = exports_external.union([exports_external.string().trim().min(1), ConfigRefSchema]);
|
|
15197
|
+
FORBIDDEN_ADAPTER_KEYS = [
|
|
15198
|
+
"apiUrl",
|
|
15199
|
+
"apiBaseUrl",
|
|
15200
|
+
"webhookVerifier",
|
|
15201
|
+
"allowUnverifiedWebhooks"
|
|
15202
|
+
];
|
|
15203
|
+
COMMON_SHAPE = {
|
|
15204
|
+
userName: exports_external.string().min(1).optional(),
|
|
15205
|
+
enabled: exports_external.boolean().optional()
|
|
15206
|
+
};
|
|
15207
|
+
TELEGRAM_SHAPE = {
|
|
15208
|
+
botToken: Str,
|
|
15209
|
+
secretToken: Str.optional(),
|
|
15210
|
+
mode: exports_external.enum(["webhook", "polling"]).default("webhook"),
|
|
15211
|
+
allowedUserIds: exports_external.array(exports_external.union([exports_external.string(), exports_external.number()])).optional()
|
|
15212
|
+
};
|
|
15213
|
+
SLACK_SHAPE = {
|
|
15214
|
+
botToken: Str,
|
|
15215
|
+
signingSecret: Str.optional(),
|
|
15216
|
+
appToken: Str.optional(),
|
|
15217
|
+
mode: exports_external.enum(["webhook", "socket"]).default("webhook")
|
|
15218
|
+
};
|
|
15219
|
+
TelegramAdapterSchema = adapterSchema(TELEGRAM_SHAPE);
|
|
15220
|
+
SlackAdapterSchema = adapterSchema(SLACK_SHAPE).superRefine((value, ctx) => {
|
|
15221
|
+
if (value.mode === "webhook" && value.signingSecret === undefined) {
|
|
15222
|
+
ctx.addIssue({
|
|
15223
|
+
code: "custom",
|
|
15224
|
+
path: ["signingSecret"],
|
|
15225
|
+
message: "signingSecret is required in webhook mode"
|
|
15226
|
+
});
|
|
15227
|
+
}
|
|
15228
|
+
if (value.mode === "socket" && value.appToken === undefined) {
|
|
15229
|
+
ctx.addIssue({
|
|
15230
|
+
code: "custom",
|
|
15231
|
+
path: ["appToken"],
|
|
15232
|
+
message: "appToken is required in socket mode"
|
|
15233
|
+
});
|
|
15234
|
+
}
|
|
15235
|
+
});
|
|
15236
|
+
DISCORD_PUBLIC_KEY_PATTERN = /^[0-9a-fA-F]{64}$/;
|
|
15237
|
+
DISCORD_SHAPE = {
|
|
15238
|
+
botToken: Str,
|
|
15239
|
+
publicKey: Str,
|
|
15240
|
+
applicationId: Str,
|
|
15241
|
+
respondToChannelIds: exports_external.array(exports_external.string()).optional(),
|
|
15242
|
+
respondToGlobalMentions: exports_external.boolean().optional(),
|
|
15243
|
+
mentionRoleIds: exports_external.array(exports_external.string()).optional()
|
|
15244
|
+
};
|
|
15245
|
+
DiscordAdapterSchema = adapterSchema(DISCORD_SHAPE).superRefine(discordPublicKeyIssue);
|
|
15246
|
+
TEAMS_SHAPE = {
|
|
15247
|
+
appId: Str,
|
|
15248
|
+
appPassword: Str,
|
|
15249
|
+
appTenantId: Str.optional(),
|
|
15250
|
+
appType: exports_external.enum(["MultiTenant", "SingleTenant"]).default("MultiTenant")
|
|
15251
|
+
};
|
|
15252
|
+
TeamsAdapterSchema = adapterSchema(TEAMS_SHAPE).superRefine((value, ctx) => {
|
|
15253
|
+
if (value.appType === "SingleTenant" && value.appTenantId === undefined) {
|
|
15254
|
+
ctx.addIssue({
|
|
15255
|
+
code: "custom",
|
|
15256
|
+
path: ["appTenantId"],
|
|
15257
|
+
message: "appTenantId is required for a SingleTenant app"
|
|
15258
|
+
});
|
|
15259
|
+
}
|
|
15260
|
+
});
|
|
15261
|
+
ChatSdkAdaptersSchema = exports_external.strictObject({
|
|
15262
|
+
telegram: TelegramAdapterSchema,
|
|
15263
|
+
slack: SlackAdapterSchema,
|
|
15264
|
+
discord: DiscordAdapterSchema,
|
|
15265
|
+
teams: TeamsAdapterSchema
|
|
15266
|
+
}).partial();
|
|
15267
|
+
CHAT_SDK_ADAPTER_SCHEMAS = {
|
|
15268
|
+
telegram: TelegramAdapterSchema,
|
|
15269
|
+
slack: SlackAdapterSchema,
|
|
15270
|
+
discord: DiscordAdapterSchema,
|
|
15271
|
+
teams: TeamsAdapterSchema
|
|
15272
|
+
};
|
|
15273
|
+
ChatSdkAdaptersDraftSchema = exports_external.strictObject({
|
|
15274
|
+
telegram: adapterSchema(draftShape(TELEGRAM_SHAPE)),
|
|
15275
|
+
slack: adapterSchema(draftShape(SLACK_SHAPE)),
|
|
15276
|
+
discord: adapterSchema(draftShape(DISCORD_SHAPE)).superRefine(discordPublicKeyIssue),
|
|
15277
|
+
teams: adapterSchema(draftShape(TEAMS_SHAPE))
|
|
15278
|
+
}).partial();
|
|
15279
|
+
CHAT_SDK_ADAPTER_FIELDS = {
|
|
15280
|
+
telegram: formFields(TelegramAdapterSchema.shape),
|
|
15281
|
+
slack: formFields(SlackAdapterSchema.shape),
|
|
15282
|
+
discord: formFields(DiscordAdapterSchema.shape),
|
|
15283
|
+
teams: formFields(TeamsAdapterSchema.shape)
|
|
15284
|
+
};
|
|
15285
|
+
});
|
|
15286
|
+
|
|
14903
15287
|
// src/scripts-runtime/executors/quickjs-pool-config.ts
|
|
14904
15288
|
function validateQuickJSPoolSize(value) {
|
|
14905
15289
|
const error2 = `Invalid SCRIPT_QUICKJS_POOL_SIZE (must be an integer between 1 and ${MAX_QUICKJS_POOL_SIZE})`;
|
|
@@ -14991,20 +15375,26 @@ var init_enabled_tools = () => {};
|
|
|
14991
15375
|
function parseTaskToolManifest(value) {
|
|
14992
15376
|
return taskToolManifestSchema.parse(JSON.parse(value));
|
|
14993
15377
|
}
|
|
15378
|
+
function isChatSdkTask(task) {
|
|
15379
|
+
return chatThreadOfContextKey(task.contextKey) !== null;
|
|
15380
|
+
}
|
|
14994
15381
|
function selectTaskTools(manifest, task) {
|
|
14995
15382
|
const fromSchedule = task.scheduleId && Object.hasOwn(manifest.schedules ?? {}, task.scheduleId) ? manifest.schedules?.[task.scheduleId] : undefined;
|
|
14996
15383
|
const fromType = task.taskType && Object.hasOwn(manifest.taskTypes ?? {}, task.taskType) ? manifest.taskTypes?.[task.taskType] : undefined;
|
|
14997
|
-
|
|
15384
|
+
const chatTask = isChatSdkTask(task);
|
|
15385
|
+
return [...new Set(fromSchedule ?? fromType ?? [])].filter((name) => (!name.startsWith("slack-") || Boolean(task.slackChannelId)) && (chatTask || !CHAT_TASK_ONLY_TOOLS.includes(name)));
|
|
14998
15386
|
}
|
|
14999
|
-
var toolNames, taskToolManifestSchema;
|
|
15387
|
+
var toolNames, taskToolManifestSchema, CHAT_TASK_ONLY_TOOLS;
|
|
15000
15388
|
var init_task_tool_manifest = __esm(() => {
|
|
15001
15389
|
init_zod();
|
|
15390
|
+
init_context_key();
|
|
15002
15391
|
init_tool_config();
|
|
15003
15392
|
toolNames = exports_external.array(exports_external.string().refine((name) => ALL_TOOLS.has(name), "Unknown swarm tool")).max(16);
|
|
15004
15393
|
taskToolManifestSchema = exports_external.strictObject({
|
|
15005
15394
|
taskTypes: exports_external.record(exports_external.string().min(1).max(50), toolNames).optional(),
|
|
15006
15395
|
schedules: exports_external.record(exports_external.uuid(), toolNames).optional()
|
|
15007
15396
|
});
|
|
15397
|
+
CHAT_TASK_ONLY_TOOLS = ["chat-reply"];
|
|
15008
15398
|
});
|
|
15009
15399
|
|
|
15010
15400
|
// src/be/model-tier-keys.ts
|
|
@@ -15044,6 +15434,12 @@ var init_model_tier_keys = __esm(() => {
|
|
|
15044
15434
|
});
|
|
15045
15435
|
|
|
15046
15436
|
// src/be/swarm-config-guard.ts
|
|
15437
|
+
function teamsSdkEnvKeysSql() {
|
|
15438
|
+
return TEAMS_SDK_ENV_KEYS.map((key) => `'${key}'`).join(", ");
|
|
15439
|
+
}
|
|
15440
|
+
function isApiOnlyConfigKey(key) {
|
|
15441
|
+
return API_ONLY_CONFIG_KEYS.has(key);
|
|
15442
|
+
}
|
|
15047
15443
|
function isInternalConfigKey(key) {
|
|
15048
15444
|
return INTERNAL_CONFIG_KEYS.has(key.toLowerCase());
|
|
15049
15445
|
}
|
|
@@ -15151,22 +15547,37 @@ function validateConfigValue(key, value) {
|
|
|
15151
15547
|
const validator = VALIDATED_KEYS[key.toUpperCase()];
|
|
15152
15548
|
return validator ? validator(value) : null;
|
|
15153
15549
|
}
|
|
15154
|
-
|
|
15550
|
+
function validateExportToEnv(key, exportToEnv) {
|
|
15551
|
+
return exportToEnv === true && isEnvExportRestrictedKey(key) ? envExportRestrictedError(key) : null;
|
|
15552
|
+
}
|
|
15553
|
+
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;
|
|
15155
15554
|
var init_swarm_config_guard = __esm(() => {
|
|
15555
|
+
init_schema();
|
|
15156
15556
|
init_quickjs_pool_config();
|
|
15157
15557
|
init_reaction_shortcode();
|
|
15158
15558
|
init_types();
|
|
15159
15559
|
init_api_drain();
|
|
15560
|
+
init_config_env_export();
|
|
15160
15561
|
init_enabled_tools();
|
|
15161
15562
|
init_org_website();
|
|
15162
15563
|
init_task_tool_manifest();
|
|
15163
15564
|
init_model_tier_keys();
|
|
15565
|
+
TEAMS_SDK_ENV_KEYS = [
|
|
15566
|
+
"SERVICE_URL",
|
|
15567
|
+
"TENANT_ID",
|
|
15568
|
+
"CLIENT_ID",
|
|
15569
|
+
"CLIENT_SECRET",
|
|
15570
|
+
"MANAGED_IDENTITY_CLIENT_ID",
|
|
15571
|
+
"CLOUD"
|
|
15572
|
+
];
|
|
15164
15573
|
RESERVED_KEYS = new Set([
|
|
15165
15574
|
"API_KEY",
|
|
15166
15575
|
"SECRETS_ENCRYPTION_KEY",
|
|
15167
15576
|
"CORS_ALLOW_ANY_ORIGIN",
|
|
15168
|
-
"EXTENSION_ALLOW_LEAD_ACTIVATION"
|
|
15577
|
+
"EXTENSION_ALLOW_LEAD_ACTIVATION",
|
|
15578
|
+
"CHAT_SDK_API_URL_OVERRIDES"
|
|
15169
15579
|
]);
|
|
15580
|
+
API_ONLY_CONFIG_KEYS = new Set(["API_AGENT_FS_API_KEY", "SLACK_SIGNING_SECRET"]);
|
|
15170
15581
|
INTERNAL_CONFIG_KEYS = new Set(["onboarding_state", "runtime_owner_id"]);
|
|
15171
15582
|
BOOLEAN_LITERALS = ["true", "false", "1", "0"];
|
|
15172
15583
|
DB_RETENTION_TUNING_BOUNDS = {
|
|
@@ -15198,6 +15609,7 @@ var init_swarm_config_guard = __esm(() => {
|
|
|
15198
15609
|
], 1),
|
|
15199
15610
|
...integerValidators(["RUNTIME_SOCKET_GRACE_SEC"], 0),
|
|
15200
15611
|
...integerValidators(["RUNTIME_WAKE_GRACE_SEC", "RUNTIME_WAKE_REROUTE_SEC", "RUNTIME_ROUTING_INTERVAL_MS"], 0),
|
|
15612
|
+
CHAT_SDK_ADAPTERS: validateChatSdkAdaptersValue,
|
|
15201
15613
|
TASK_TOOL_MANIFESTS: (value) => {
|
|
15202
15614
|
try {
|
|
15203
15615
|
if (typeof value !== "string")
|
|
@@ -15295,8 +15707,10 @@ var init_swarm_config_guard = __esm(() => {
|
|
|
15295
15707
|
"OPENROUTER_APP_ATTRIBUTION",
|
|
15296
15708
|
"CURSOR_NATIVE_SYSTEM_PROMPT",
|
|
15297
15709
|
"SLACK_DISABLE",
|
|
15710
|
+
"CHAT_SDK_ENABLED",
|
|
15298
15711
|
"SLACK_RENDER_V2",
|
|
15299
15712
|
"SLACK_RENDER_V2_DELEGATION",
|
|
15713
|
+
"SLACK_BLOCK_EXTERNAL_CHANNELS",
|
|
15300
15714
|
"GITHUB_DISABLE",
|
|
15301
15715
|
"GITLAB_DISABLE",
|
|
15302
15716
|
"AZURE_DEVOPS_DISABLE",
|
|
@@ -15368,6 +15782,7 @@ var init_swarm_config_guard = __esm(() => {
|
|
|
15368
15782
|
...integerValidators(["MODEL_LATEST_SOAK_DAYS"], 0),
|
|
15369
15783
|
...integerValidators(["APPROVAL_REQUEST_AUTO_CANCELLATION_DAYS"], 0),
|
|
15370
15784
|
...boundedIntegerValidators(["API_DRAIN_MAX_MS"], 0, API_DRAIN_MAX_MS_LIMIT),
|
|
15785
|
+
...boundedIntegerValidators(["CHAT_SDK_BUFFER_MS"], 1, 600000),
|
|
15371
15786
|
...boundedIntegerValidators(["CONTEXT_PREAMBLE_MAX_TOKENS"], 100, 20000),
|
|
15372
15787
|
MEMORY_MIN_SIMILARITY: (value) => validateFloatRange("MEMORY_MIN_SIMILARITY", value, 0, 1, "between 0 and 1 inclusive"),
|
|
15373
15788
|
MEMORY_ACCESS_BOOST_MAX: (value) => validateFloatRange("MEMORY_ACCESS_BOOST_MAX", value, 1, Number.POSITIVE_INFINITY, "a number >= 1")
|
|
@@ -16580,7 +16995,7 @@ async function loadSecretRegistry() {
|
|
|
16580
16995
|
result.failed += 1;
|
|
16581
16996
|
}
|
|
16582
16997
|
try {
|
|
16583
|
-
const { loadRuntimeControllerSecrets } = await import("./db-
|
|
16998
|
+
const { loadRuntimeControllerSecrets } = await import("./db-k8ankj20.js");
|
|
16584
16999
|
const loaded = await loadRuntimeControllerSecrets();
|
|
16585
17000
|
result.runtimeController = loaded.count;
|
|
16586
17001
|
result.failed += loaded.failed;
|
|
@@ -17003,6 +17418,7 @@ __export(exports_db, {
|
|
|
17003
17418
|
getAgentSkills: () => getAgentSkills,
|
|
17004
17419
|
getAgentStatusCounts: () => getAgentStatusCounts,
|
|
17005
17420
|
getAgentWithTasks: () => getAgentWithTasks,
|
|
17421
|
+
getAgentWorkingOnContextKey: () => getAgentWorkingOnContextKey,
|
|
17006
17422
|
getAgentWorkingOnThread: () => getAgentWorkingOnThread,
|
|
17007
17423
|
getAllAgentMailInboxMappings: () => getAllAgentMailInboxMappings,
|
|
17008
17424
|
getAllAgents: () => getAllAgents,
|
|
@@ -17064,8 +17480,10 @@ __export(exports_db, {
|
|
|
17064
17480
|
getLastReadAt: () => getLastReadAt,
|
|
17065
17481
|
getLastRunStart: () => getLastRunStart,
|
|
17066
17482
|
getLastSuccessfulRun: () => getLastSuccessfulRun,
|
|
17483
|
+
getLatestActiveTaskByContextKey: () => getLatestActiveTaskByContextKey,
|
|
17067
17484
|
getLatestActiveTaskInThread: () => getLatestActiveTaskInThread,
|
|
17068
17485
|
getLatestContextVersion: () => getLatestContextVersion,
|
|
17486
|
+
getLatestLeadTaskByContextKey: () => getLatestLeadTaskByContextKey,
|
|
17069
17487
|
getLatestLeadTaskInThread: () => getLatestLeadTaskInThread,
|
|
17070
17488
|
getLatestPageBySlug: () => getLatestPageBySlug,
|
|
17071
17489
|
getLatestScriptRunStepTaskByContextKey: () => getLatestScriptRunStepTaskByContextKey,
|
|
@@ -17095,6 +17513,7 @@ __export(exports_db, {
|
|
|
17095
17513
|
getPageVersions: () => getPageVersions,
|
|
17096
17514
|
getPausedTasksForAgent: () => getPausedTasksForAgent,
|
|
17097
17515
|
getPendingApprovalVoteState: () => getPendingApprovalVoteState,
|
|
17516
|
+
getPendingChatRelayTasks: () => getPendingChatRelayTasks,
|
|
17098
17517
|
getPendingEventWaitNames: () => getPendingEventWaitNames,
|
|
17099
17518
|
getPendingSlackRelayTasks: () => getPendingSlackRelayTasks,
|
|
17100
17519
|
getPendingSteeringForAgent: () => getPendingSteeringForAgent,
|
|
@@ -17192,6 +17611,7 @@ __export(exports_db, {
|
|
|
17192
17611
|
getWorkflowVersion: () => getWorkflowVersion,
|
|
17193
17612
|
getWorkflowVersions: () => getWorkflowVersions,
|
|
17194
17613
|
getWorkflowsByScheduleId: () => getWorkflowsByScheduleId,
|
|
17614
|
+
giveUpStaleChatRelays: () => giveUpStaleChatRelays,
|
|
17195
17615
|
hasBudgetRefusalNotificationToday: () => hasBudgetRefusalNotificationToday,
|
|
17196
17616
|
hasCapacity: () => hasCapacity,
|
|
17197
17617
|
hasFirstCompletedTask: () => hasFirstCompletedTask,
|
|
@@ -17243,6 +17663,9 @@ __export(exports_db, {
|
|
|
17243
17663
|
listWorkflowRuns: () => listWorkflowRuns,
|
|
17244
17664
|
listWorkflowRunsPage: () => listWorkflowRunsPage,
|
|
17245
17665
|
listWorkflows: () => listWorkflows,
|
|
17666
|
+
markChatRelayAttempted: () => markChatRelayAttempted,
|
|
17667
|
+
markChatRelayDelivered: () => markChatRelayDelivered,
|
|
17668
|
+
markChatRelayGivenUp: () => markChatRelayGivenUp,
|
|
17246
17669
|
markFinalizedSlackRelaysDelivered: () => markFinalizedSlackRelaysDelivered,
|
|
17247
17670
|
markInboxMessageDelegated: () => markInboxMessageDelegated,
|
|
17248
17671
|
markInboxMessageRead: () => markInboxMessageRead,
|
|
@@ -17271,6 +17694,7 @@ __export(exports_db, {
|
|
|
17271
17694
|
reassociateSessionLogs: () => reassociateSessionLogs,
|
|
17272
17695
|
recordApprovalVotes: () => recordApprovalVotes,
|
|
17273
17696
|
recordBudgetRefusalNotification: () => recordBudgetRefusalNotification,
|
|
17697
|
+
recordChatRelayError: () => recordChatRelayError,
|
|
17274
17698
|
recordInlineScriptRun: () => recordInlineScriptRun,
|
|
17275
17699
|
recordKeyAuthFailure: () => recordKeyAuthFailure,
|
|
17276
17700
|
recordKeyRateLimitWindows: () => recordKeyRateLimitWindows,
|
|
@@ -17582,15 +18006,30 @@ async function getSlackOutcomeMessage(taskId) {
|
|
|
17582
18006
|
return row ? rowToSlackMessage(row) : null;
|
|
17583
18007
|
}
|
|
17584
18008
|
async function getResolvableDeferralOutcomes(limit2 = 50) {
|
|
17585
|
-
const rows = await getDbClient().query(`
|
|
17586
|
-
|
|
17587
|
-
|
|
17588
|
-
|
|
18009
|
+
const rows = await getDbClient().query(`WITH RECURSIVE chain(card_id, task_id) AS (
|
|
18010
|
+
SELECT card.id, deferred.id FROM slack_messages card
|
|
18011
|
+
JOIN agent_tasks deferred ON deferred.id = card.task_id
|
|
18012
|
+
WHERE card.kind = 'outcome' AND deferred.deferredAt IS NOT NULL
|
|
18013
|
+
AND card.deferral_resolved_at IS NULL AND card.finalized_at IS NOT NULL
|
|
18014
|
+
AND card.ts NOT LIKE 'pending:%'
|
|
18015
|
+
UNION
|
|
18016
|
+
SELECT chain.card_id, wake.id FROM chain
|
|
18017
|
+
JOIN agent_tasks parent ON parent.id = chain.task_id AND parent.deferredAt IS NOT NULL
|
|
18018
|
+
JOIN agent_tasks wake ON wake.parentTaskId = parent.id AND wake.taskType = 'deferred'
|
|
18019
|
+
)
|
|
18020
|
+
SELECT card.*, wake.id AS wake_task_id
|
|
18021
|
+
FROM chain
|
|
18022
|
+
JOIN slack_messages card ON card.id = chain.card_id
|
|
18023
|
+
JOIN agent_tasks wake ON wake.id = chain.task_id AND wake.id != card.task_id
|
|
17589
18024
|
WHERE card.kind = 'outcome'
|
|
17590
18025
|
AND card.finalized_at IS NOT NULL
|
|
17591
18026
|
AND card.deferral_resolved_at IS NULL
|
|
17592
18027
|
AND card.ts NOT LIKE 'pending:%'
|
|
17593
|
-
AND
|
|
18028
|
+
AND NOT EXISTS (
|
|
18029
|
+
SELECT 1 FROM agent_tasks child
|
|
18030
|
+
WHERE child.parentTaskId = wake.id AND child.taskType = 'deferred'
|
|
18031
|
+
)
|
|
18032
|
+
AND (wake.deferredAt IS NULL OR wake.finishedAt > card.updated_at)
|
|
17594
18033
|
AND wake.status IN ('completed', 'failed', 'cancelled')
|
|
17595
18034
|
ORDER BY wake.finishedAt ASC
|
|
17596
18035
|
LIMIT ?`, [limit2]);
|
|
@@ -18863,7 +19302,7 @@ async function createTaskExtended(task, options) {
|
|
|
18863
19302
|
priority: row.priority
|
|
18864
19303
|
}, (task2) => task2 !== null, row.requestedByUserId);
|
|
18865
19304
|
getDbClient().afterCommit(() => {
|
|
18866
|
-
import("./event-bus-
|
|
19305
|
+
import("./event-bus-6axnngdj.js").then(({ workflowEventBus }) => {
|
|
18867
19306
|
workflowEventBus.emit("task.created", {
|
|
18868
19307
|
taskId: row.id,
|
|
18869
19308
|
task: row.task,
|
|
@@ -18945,7 +19384,7 @@ async function releaseTask(taskId, wakeSnapshot) {
|
|
|
18945
19384
|
} catch {}
|
|
18946
19385
|
if (isRuntimePoolsEnabled() && !wakeSnapshot)
|
|
18947
19386
|
getDbClient().afterCommit(() => {
|
|
18948
|
-
import("./event-bus-
|
|
19387
|
+
import("./event-bus-6axnngdj.js").then(({ workflowEventBus }) => workflowEventBus.emit("task.unassigned", { taskId })).catch((error2) => console.error("[db] Routing event failed:", scrubSecrets(String(error2))));
|
|
18949
19388
|
});
|
|
18950
19389
|
}
|
|
18951
19390
|
return row ? rowToAgentTask(row) : null;
|
|
@@ -19015,7 +19454,7 @@ async function rejectTask(taskId, agentId, reason) {
|
|
|
19015
19454
|
} catch {}
|
|
19016
19455
|
if (isRuntimePoolsEnabled())
|
|
19017
19456
|
getDbClient().afterCommit(() => {
|
|
19018
|
-
import("./event-bus-
|
|
19457
|
+
import("./event-bus-6axnngdj.js").then(({ workflowEventBus }) => workflowEventBus.emit("task.unassigned", { taskId })).catch((error2) => console.error("[db] Routing event failed:", scrubSecrets(String(error2))));
|
|
19019
19458
|
});
|
|
19020
19459
|
}
|
|
19021
19460
|
return row ? rowToAgentTask(row) : null;
|
|
@@ -20693,7 +21132,8 @@ function rowToSwarmConfig(row) {
|
|
|
20693
21132
|
description: row.description ?? null,
|
|
20694
21133
|
createdAt: row.createdAt,
|
|
20695
21134
|
lastUpdatedAt: row.lastUpdatedAt,
|
|
20696
|
-
encrypted: isEncrypted
|
|
21135
|
+
encrypted: isEncrypted,
|
|
21136
|
+
exportToEnv: effectiveExportToEnv(row.key, row.exportToEnv !== 0)
|
|
20697
21137
|
};
|
|
20698
21138
|
}
|
|
20699
21139
|
let value = row.value;
|
|
@@ -20715,7 +21155,8 @@ function rowToSwarmConfig(row) {
|
|
|
20715
21155
|
description: row.description ?? null,
|
|
20716
21156
|
createdAt: row.createdAt,
|
|
20717
21157
|
lastUpdatedAt: row.lastUpdatedAt,
|
|
20718
|
-
encrypted: isEncrypted
|
|
21158
|
+
encrypted: isEncrypted,
|
|
21159
|
+
exportToEnv: effectiveExportToEnv(row.key, row.exportToEnv !== 0)
|
|
20719
21160
|
};
|
|
20720
21161
|
}
|
|
20721
21162
|
function autoEncryptLegacyPlaintextSecrets(database, dbPath, options = {}) {
|
|
@@ -20816,7 +21257,7 @@ async function getSwarmConfigs(filters) {
|
|
|
20816
21257
|
async function getInjectableGlobalConfigs() {
|
|
20817
21258
|
const rows = await getDbClient().query(`SELECT * FROM swarm_config
|
|
20818
21259
|
WHERE scope = 'global'
|
|
20819
|
-
AND UPPER(key) NOT IN ('API_KEY', 'SECRETS_ENCRYPTION_KEY', 'CORS_ALLOW_ANY_ORIGIN', 'EXTENSION_ALLOW_LEAD_ACTIVATION')
|
|
21260
|
+
AND UPPER(key) NOT IN ('API_KEY', 'SECRETS_ENCRYPTION_KEY', 'CORS_ALLOW_ANY_ORIGIN', 'EXTENSION_ALLOW_LEAD_ACTIVATION', 'CHAT_SDK_API_URL_OVERRIDES', ${teamsSdkEnvKeysSql()})
|
|
20820
21261
|
ORDER BY key ASC`);
|
|
20821
21262
|
return rows.filter((row) => !isInternalConfigKey(row.key)).map(rowToSwarmConfig);
|
|
20822
21263
|
}
|
|
@@ -20843,6 +21284,10 @@ async function upsertSwarmConfig(data) {
|
|
|
20843
21284
|
if (isReservedConfigKey(data.key)) {
|
|
20844
21285
|
throw reservedKeyError(data.key);
|
|
20845
21286
|
}
|
|
21287
|
+
if (data.exportToEnv === true && isEnvExportRestrictedKey(data.key)) {
|
|
21288
|
+
throw new Error(envExportRestrictedError(data.key));
|
|
21289
|
+
}
|
|
21290
|
+
const restricted = isEnvExportRestrictedKey(data.key);
|
|
20846
21291
|
const now = new Date().toISOString();
|
|
20847
21292
|
const scopeId = data.scope === "global" ? null : data.scopeId ?? null;
|
|
20848
21293
|
const isSecret = data.isSecret ? 1 : 0;
|
|
@@ -20853,12 +21298,24 @@ async function upsertSwarmConfig(data) {
|
|
|
20853
21298
|
const row = await getDbClient().transaction(async () => {
|
|
20854
21299
|
const existing = scopeId === null ? await getDbClient().get("SELECT id FROM swarm_config WHERE scope = ? AND scopeId IS NULL AND key = ?", [data.scope, data.key]) : await getDbClient().get("SELECT id FROM swarm_config WHERE scope = ? AND scopeId = ? AND key = ?", [data.scope, scopeId, data.key]);
|
|
20855
21300
|
if (existing) {
|
|
20856
|
-
return await getDbClient().get(`UPDATE swarm_config SET value = ?, isSecret = ?, envPath = ?, description = ?, encrypted = ?, lastUpdatedAt =
|
|
20857
|
-
|
|
21301
|
+
return await getDbClient().get(`UPDATE swarm_config SET value = ?, isSecret = ?, envPath = ?, description = ?, encrypted = ?, lastUpdatedAt = ?,
|
|
21302
|
+
exportToEnv = CASE WHEN ? THEN 0 ELSE COALESCE(?, exportToEnv) END
|
|
21303
|
+
WHERE id = ? RETURNING *`, [
|
|
21304
|
+
storedValue,
|
|
21305
|
+
isSecret,
|
|
21306
|
+
envPath,
|
|
21307
|
+
description,
|
|
21308
|
+
encryptedFlag,
|
|
21309
|
+
now,
|
|
21310
|
+
restricted ? 1 : 0,
|
|
21311
|
+
data.exportToEnv === undefined ? null : data.exportToEnv ? 1 : 0,
|
|
21312
|
+
existing.id
|
|
21313
|
+
]);
|
|
20858
21314
|
}
|
|
20859
21315
|
const id = crypto.randomUUID();
|
|
20860
|
-
|
|
20861
|
-
|
|
21316
|
+
const exportToEnv = restricted ? 0 : data.exportToEnv ?? defaultExportToEnv(data.key) ? 1 : 0;
|
|
21317
|
+
return await getDbClient().get(`INSERT INTO swarm_config (id, scope, scopeId, key, value, isSecret, envPath, description, createdAt, lastUpdatedAt, encrypted, exportToEnv)
|
|
21318
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING *`, [
|
|
20862
21319
|
id,
|
|
20863
21320
|
data.scope,
|
|
20864
21321
|
scopeId,
|
|
@@ -20869,7 +21326,8 @@ async function upsertSwarmConfig(data) {
|
|
|
20869
21326
|
description,
|
|
20870
21327
|
now,
|
|
20871
21328
|
now,
|
|
20872
|
-
encryptedFlag
|
|
21329
|
+
encryptedFlag,
|
|
21330
|
+
exportToEnv
|
|
20873
21331
|
]);
|
|
20874
21332
|
});
|
|
20875
21333
|
if (!row)
|
|
@@ -24942,6 +25400,7 @@ var init_db2 = __esm(() => {
|
|
|
24942
25400
|
init_telemetry_trigger();
|
|
24943
25401
|
init_types();
|
|
24944
25402
|
init_codex_auth_failure();
|
|
25403
|
+
init_config_env_export();
|
|
24945
25404
|
init_config_secrets();
|
|
24946
25405
|
init_credentials();
|
|
24947
25406
|
init_github_pull_request();
|
|
@@ -26151,4 +26610,4 @@ function getMemoryStore() {
|
|
|
26151
26610
|
var embeddingProvider2 = null, memoryStore = null;
|
|
26152
26611
|
var init_memory = () => {};
|
|
26153
26612
|
|
|
26154
|
-
export { slackContextKey, agentmailContextKey, githubContextKey, gitlabContextKey, azureDevOpsContextKey, 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, 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_templates2 as init_templates, init_templates3 as init_templates1, isSqliteVecAvailable, resolveSqliteVecExtensionPath, __resetSqliteVecExtensionPathCacheForTests, initDb, getDb, closeDb, getDbClient, init_runtime, cachedUserRole, configureOrgDomainPersistence, recomputeOrgDomain, scheduleOrgDomainRecompute, init_telemetry_identity, resolveTriggerSurface, emitTaskTelemetry, init_telemetry_trigger, CODEX_AUTH_WATCH_NAMESPACE, codexAuthBenchMarkerKey, isCodexAuthFailureReason, init_codex_auth_failure, MASKED_SECRET_VALUE, init_config_secrets, HeartbeatExpiryError, init_heartbeat_expiry, isRuntimePoolsEnabled, init_runtime_pools_flag, normalizeDate, normalizeDateRequired, init_date_utils, rowToAgent, updateAgentCredentialState, updateAgentCredentialMissing, createAgent, getAgentById, EXTENSION_AGENT_ROLE, NOT_EXTENSION_AGENT_SQL, isExtensionAgent, extensionAgentAssignmentError, ReservedAgentRoleError, reservedRoleViolation, ExtensionAgentAssignmentError, getAllAgents, getAgentStatusCounts, getLeadAgent, updateAgentStatus, updateAgentMaxTasks, updateAgentProvider, setAgentHarnessProvider, updateAgentCredStatus, listAgentsWithCredStatusByProvider, getAgentHarnessProviders, updateAgentActivity, MAX_EMPTY_POLLS, incrementEmptyPollCount, resetEmptyPollCount, shouldBlockPolling, deleteAgent, getActiveTaskCount, hasCapacity, getRemainingCapacity, updateAgentStatusFromCapacity, isPoolAffinityEnforcementEnabled, buildRoutingAffinityFromAgent, isAgentEligibleForTask, getAgentDailyTaskCounts, init_agents, listApprovalRequestSummaries, getPendingApprovalVoteState, recordApprovalVotes, computeContentHash, createContextVersion, getLatestContextVersion, getContextVersion, getContextVersionHistory, setHumanFreeQueueListener, drainHumanFreeReclassifyQueue, init_human_free, rowToAgentTask, getTaskById, getChildTasks, hasNonTerminalResumeChild, getSupersededTasksWithoutResume, getSupersededTasksWithUnsettledDependents, hasNonTerminalRerouteDecisionChild, getTasksByAgentId, getAgentCurrentTask, getTasksByStatus, findTaskByVcs, findTaskByGitHub, getAllTasks, getTasksCount, getTaskStats, getCompletedSlackTasks, getPendingSlackRelayTasks, markSlackRelayAttempted, markSlackRelayDelivered, markFinalizedSlackRelaysDelivered, getRecentlyFinishedWorkerTasks, markTasksNotified, resetTasksNotified, getInProgressSlackTasks, getSlackTasksMissingTree, getInProgressTasksByContextKey, isLinearTrackerContextKey, findExistingLinearTrackerContextWork, getLatestTaskByContextKey, getLatestScriptRunStepTaskByContextKey, getAgentWorkingOnThread, getLatestActiveTaskInThread, getLatestLeadTaskInThread, getMostRecentTaskInThread, findCompletedTaskInThread, findRecentCancelledTaskInThread, init_read, onTaskStarted, init_task_lifecycle_events, channelTopic, addWorkerSubscription, removeWorkerSubscription, listSubscribedWorkerAgents, init_channels, publishWorkerNudge, init_worker_nudges, createTask, getPendingTaskForAgent, assignUnassignedTaskPending, startTask, updateTaskClaudeSessionId, recordTaskProviderIfUnset, updateTaskTitle, completeTask, failTask, overwriteTerminalTaskResultText, cancelTask, supersedeTask, settleSupersededTaskDependents, backfillSupersedeTaskResumeTaskId, pauseTask, resumeTask, getPausedTasksForAgent, getOrphanedInProgressTasksForAgent, resetOrphanedInProgressTasksForAgent, getRecentlyCancelledTasksForAgent, deleteTask, updateTaskProgress, getChildWorkflowRunId, getWorkflowRunParent, getWorkflowRunLineage, getSettledChildRunParentSteps, init_workflow_runs, resolveQuickJSPoolSize, init_quickjs_pool_config, SLACK_REACTION_DEFAULTS, SLACK_REACTION_CONFIG_KEYS, reactionName, init_reaction_shortcode, API_DRAINING_HEADER, API_DRAIN_MAX_MS_LIMIT, isApiDrainingResponse, init_api_drain, parseEnabledTools, init_enabled_tools, parseTaskToolManifest, selectTaskTools, init_task_tool_manifest, tierConfigKey, init_model_tier_keys, isInternalConfigKey, internalConfigKeyError, isReservedConfigKey, reservedKeyError, MAX_DB_RETENTION_DAYS, DB_RETENTION_TUNING_BOUNDS, validateRuntimeTokenTtlHours, validateControllerTokenTtlDays, validateControllerGraceSec, validateConfigValue, 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, OpenAI, 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, getEmbeddingProvider, resetEmbeddingProvider, getMemoryStore, init_memory, embeddingProvider, embedScript, searchScripts, reembedAllScripts, init_embeddings2 as init_embeddings, upsertScriptByName, getScript, getScriptById, getScriptVersion, listScripts, listScriptVersions, deleteScript, touchScratchScriptLastUsed, restoreScratchScriptLastUsedIfUnchanged, createScriptApi, listScriptApisForScript, getScriptApiById, getScriptApiSecret, updateScriptApi, rotateScriptApiSecret, deleteScriptApi, recordScriptApiUsage, init_db, oauthSecretName, registerStoredSecret, loadSecretRegistry, init_secret_registry, SteeringRequestError, isSteeringEnabled2 as isSteeringEnabled, getTaskSteeringFields, getTaskSteeringFieldsForTasks, promotePendingSteeringForTask, markSteeringUndeliverable, requestSteering, init_steering, WorkflowReplayStateError, init_workflow_replay, SESSION_ACTIVITY_REFRESH_MIN_INTERVAL_MS, refreshActiveSessionOnActivity, recordKeySeatMismatch, getScriptRunExecutionArgs, getSlackRenderV2ActivatedAt, ensureSlackRenderV2Activation, getSlackDelegationActivatedAt, ensureSlackDelegationActivation, isPendingSlackMessage, isSettledSlackMessage, recordSlackMessage, reserveSlackMessage, bindSlackMessageTimestamp, updateSlackMessageRecord, markSlackTreeRendered, deleteSlackMessageRecord, getSlackTreeMessage, getSlackTreeMessageByThread, getSlackOutcomeMessage, getResolvableDeferralOutcomes, markSlackDeferralResolved, noteSlackOutcomeDeliveryFailure, abandonSlackOutcomeDelivery, getSlackTreeMessages, getSlackMessageByChannelTs, getSlackTasksInThread, listSlackThreadsAwaitingHuman, isSlackThreadAwaitingHuman, markTaskSlackReplySent, setSlackMessageTracking, updateTaskVcs, insertTaskAttachment, recordTaskPullRequestAttachments, getAssetKeyMappingByProvider, upsertAssetKeyMapping, getAssetKeyMapping, listAssetSummaries, moveAssetKey, deleteTaskAttachment, replaceTaskAttachment, getTaskAttachments, createSteeringMessage, getSteeringMessagesForTask, getSteeringMessageById, getPendingSteeringForTask, getPendingSteeringForAgent, markSteeringDelivered, markSteeringHandled, markSteeringPromoted, cancelPendingSteeringForTask, hasPendingSteering, getAgentWithTasks, getAllAgentsWithTasks, createLogEntry, getLogsByAgentId, getLogsByTaskId, getLogsByTaskIdAndEventType, getLogsByTaskIdChronological, getLogsByEventType, getAllLogs, findRecentSimilarTasks, createTaskExtended, claimTask, releaseTask, acceptTask, rejectTask, moveTaskToBacklog, moveTaskFromBacklog, promoteDraftTask, refreshDraftTaskLease, promoteAbandonedDraftTasks, releaseStaleReviewingTasks, releaseStaleOfferedTasksForOfflineAgents, getOfferedTasksForAgent, claimOfferedTask, getUnassignedTasksCount, getUnassignedTaskIds, getUnassignedTaskIdsForAgent, checkDependencies, getDependentTasks, cascadeFailDependents, updateAgentProfile, updateAgentName, createChannel, getMessageById, getChannelById, getChannelByName, getAllChannels, deleteChannel, postMessage, getChannelMessages, updateReadState, getLastReadAt, getUnreadMessages, getMentionsForAgent, getInboxSummary, claimMentions, releaseMentionProcessing, releaseStaleMentionProcessing, createService, getServiceById, getServiceByAgentAndName, getServicesByAgentId, getAllServices, updateServiceStatus, deleteService, upsertService, deleteServicesByAgentId, createSessionLogs, getSessionLogsByTaskId, getSessionLogsBySession, createSessionCost, getSessionCostsByTaskId, getSessionCostsByAgentId, getAllSessionCosts, getSessionCostsFiltered, UNATTRIBUTED_USER_ID, getSessionCostSummary, getAttributionByPerson, getDashboardCostSummary, createInboxMessage, getInboxMessageById, getUnreadInboxMessages, claimInboxMessages, markInboxMessageRead, markInboxMessageResponded, markInboxMessageDelegated, releaseStaleProcessingInbox, getConcurrentContext, getScheduledTasks, getScheduledTaskById, getScheduledTaskByName, createScheduledTask, updateScheduledTask, deleteScheduledTask, getDueScheduledTasks, autoEncryptLegacyPlaintextSecrets, maskSecrets, getSwarmConfigs, getInjectableGlobalConfigs, getSwarmConfigById, getSwarmConfigLookupById, upsertSwarmConfig, emitBuiltInIntegrationConnectedOnce, deleteSwarmConfig, deleteSwarmConfigByKey, getResolvedConfig, getSwarmRepos, getSwarmRepoById, getSwarmRepoByName, getSwarmRepoByUrl, createSwarmRepo, updateSwarmRepo, deleteSwarmRepo, getAgentMailInboxMapping, getAgentMailInboxMappingsByAgent, getAllAgentMailInboxMappings, createAgentMailInboxMapping, deleteAgentMailInboxMapping, findTaskByAgentMailThread, insertActiveSession, deleteActiveSession, deleteActiveSessionById, getActiveSessions, heartbeatActiveSession, cleanupStaleSessions, cleanupAgentSessions, updateActiveSessionProviderSessionId, getActiveSessionForTask, reassociateSessionLogs, getStalledInProgressTasks, getStalePinnedResumes, failPendingResumeIfUnclaimed, getIdleWorkersWithCapacity, getUnassignedPoolTasks, getStaleUnassignedAffinityTasks, getRecentFailedTasks, getRecentCompletedCount, getRecentFailedCount, createWorkflow, getWorkflow, listWorkflows, updateWorkflow, deleteWorkflow, getWorkflowsByScheduleId, createWorkflowRun, getWorkflowRun, updateWorkflowRun, listWorkflowRuns, countWorkflowRuns, listWorkflowRunsPage, createWorkflowRunStep, getWorkflowRunStep, updateWorkflowRunStep, getWorkflowRunStepsByRunId, getStuckWorkflowRuns, getLastSuccessfulRun, getLastRunStart, getRetryableSteps, getCompletedStepNodeIds, getTaskByWorkflowRunStepId, detachTaskFromWorkflowRunStep, getStepByIdempotencyKey, getStepCountForNode, getLatestStepForNode, getCurrentStepForNode, createWorkflowVersion, getWorkflowVersions, getWorkflowVersion, createAppVersion, getAppVersions, getAppVersion, createPage, getPage, getPageBySlug, getLatestPageBySlug, listPagesByAgent, listAllPages, countAllPages, countPagesByAgent, updatePage, deletePage, incrementPageViewCount, createPageVersion, getPageVersions, getPageVersion, createMetric, getMetric, getMetricBySlug, listMetricsByAgent, listAllMetrics, countAllMetrics, countMetricsByAgent, updateMetric, deleteMetric, createMetricVersion, getMetricVersions, getMetricVersion, getPromptTemplates, getPromptTemplateById, upsertPromptTemplate, deletePromptTemplate, resetPromptTemplateToDefault, getPromptTemplateHistory, resolvePromptTemplate, checkoutPromptTemplate, getAllChannelActivityCursors, getChannelActivityCursor, upsertChannelActivityCursor, createApprovalRequest, getApprovalRequestById, resolveApprovalRequest, cancelApprovalRequestById, cancelPendingApprovalRequestsForRun, listCancelledApprovalRequestsForRun, listCancelledApprovalRequestsForStep, claimApprovalCancellationNotification, completeApprovalCancellationNotificationClaim, releaseApprovalCancellationNotificationClaim, updateApprovalRequestNotifications, listApprovalRequests, getStuckApprovalRuns, getApprovalRequestByStepId, getExpiredPendingApprovals, getStaleApprovalRequests, createWaitState, getWaitStateById, getWaitStateByStepId, getDueWaitStates, getPendingEventWaitNames, getPendingWaitsByEvent, resolveWaitState, getStuckWaitRuns, SKILL_FILE_LIMITS, normalizeSkillFilePath, createSkill, updateSkill, listSkillFileManifest, getSkillFiles, getSkillFile, upsertSkillFile, upsertSkillFiles, deleteSkillFile, deleteSkill, getSkillById, getSkillByName, listSkills, searchSkills, installSkill, getSystemDefaultSkills, installSystemDefaultSkillsForAgent, uninstallSkill, getAgentSkills, toggleAgentSkill, createMcpServer, emitMcpServerConnectedTelemetry, updateMcpServer, deleteMcpServer, getMcpServerById, getMcpServerByName, listMcpServers, installMcpServer, uninstallMcpServer, getAgentMcpServers, createContextSnapshot, getContextSnapshotsByTaskId, getContextSnapshotsBySessionId, getContextSummaryByTaskId, getAvailableKeyIndices, recordKeyUsage, setApiKeyPlan, markKeyRateLimited, recordKeyAuthFailure, recordKeyRateLimitWindows, setApiKeyName, clearKeyRateLimit, getKeyStatuses, getKeyCostSummary, getUserById, getAllUsers, createUser, updateUser, deleteUser, listInboxState, upsertInboxState, listFavorites, listUserFavorites, getFavoriteItemIdSet, setFavorite, setUserFavorite, withFavoriteFlags, listTaskTemplates, getRootTaskChain, listRecentSessions, countSessions, getBudget, getBudgets, upsertBudget, deleteBudget, getAllPricingRows, getPricingRows, getActivePricingRow, insertPricingRow, deletePricingRow, getDailySpendForAgent, getDailySpendGlobal, getDailySpendForUser, recordBudgetRefusalNotification, getBudgetRefusalNotification, getRecentBudgetRefusalNotifications, hasBudgetRefusalNotificationToday, setBudgetRefusalFollowUpTaskId, getLiveAgentCounts, getReadyAgentCounts, getInstanceActivity, getSwarmMetrics, hasFirstCompletedTask, getKv, sweepExpiredKv, sweepExpiredKvPrefix, upsertKv, claimKv, deleteKv, KvTypeCollisionError, incrKv, kvPrefixUpperBound, listKv, countKv, createScriptRun, recordInlineScriptRun, getScriptRun, getScriptRunByIdempotencyKey, listScriptRuns, countScriptRuns, countActiveScriptRuns, updateScriptRun, updateScriptRunIfNotTerminal, updateScriptRunIfRunning, getRunningScriptRuns, getScriptRunJournalStep, upsertScriptRunJournalStep, listScriptRunJournalSteps, countScriptRunJournalSteps, countScriptRunJournalAgentTaskSteps, exports_db, init_db2 as init_db1 };
|
|
26613
|
+
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, 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_templates2 as init_templates, init_templates3 as init_templates1, isSqliteVecAvailable, resolveSqliteVecExtensionPath, __resetSqliteVecExtensionPathCacheForTests, initDb, getDb, closeDb, getDbClient, 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, updateAgentCredentialState, updateAgentCredentialMissing, createAgent, getAgentById, EXTENSION_AGENT_ROLE, NOT_EXTENSION_AGENT_SQL, isExtensionAgent, extensionAgentAssignmentError, ReservedAgentRoleError, reservedRoleViolation, ExtensionAgentAssignmentError, getAllAgents, getAgentStatusCounts, getLeadAgent, updateAgentStatus, updateAgentMaxTasks, updateAgentProvider, setAgentHarnessProvider, updateAgentCredStatus, listAgentsWithCredStatusByProvider, getAgentHarnessProviders, updateAgentActivity, MAX_EMPTY_POLLS, incrementEmptyPollCount, resetEmptyPollCount, shouldBlockPolling, deleteAgent, getActiveTaskCount, hasCapacity, getRemainingCapacity, updateAgentStatusFromCapacity, isPoolAffinityEnforcementEnabled, buildRoutingAffinityFromAgent, isAgentEligibleForTask, getAgentDailyTaskCounts, init_agents, listApprovalRequestSummaries, getPendingApprovalVoteState, recordApprovalVotes, computeContentHash, createContextVersion, getLatestContextVersion, getContextVersion, getContextVersionHistory, setHumanFreeQueueListener, drainHumanFreeReclassifyQueue, init_human_free, rowToAgentTask, getTaskById, getChildTasks, hasNonTerminalResumeChild, getSupersededTasksWithoutResume, getSupersededTasksWithUnsettledDependents, hasNonTerminalRerouteDecisionChild, getTasksByAgentId, getAgentCurrentTask, getTasksByStatus, findTaskByVcs, findTaskByGitHub, getAllTasks, getTasksCount, getTaskStats, getCompletedSlackTasks, getPendingSlackRelayTasks, markSlackRelayAttempted, markSlackRelayDelivered, markFinalizedSlackRelaysDelivered, getPendingChatRelayTasks, giveUpStaleChatRelays, markChatRelayAttempted, recordChatRelayError, markChatRelayDelivered, markChatRelayGivenUp, getRecentlyFinishedWorkerTasks, markTasksNotified, resetTasksNotified, getInProgressSlackTasks, getSlackTasksMissingTree, getInProgressTasksByContextKey, isLinearTrackerContextKey, findExistingLinearTrackerContextWork, getLatestTaskByContextKey, getLatestScriptRunStepTaskByContextKey, getAgentWorkingOnThread, getLatestActiveTaskInThread, getLatestLeadTaskInThread, getAgentWorkingOnContextKey, getLatestActiveTaskByContextKey, getLatestLeadTaskByContextKey, getMostRecentTaskInThread, findCompletedTaskInThread, findRecentCancelledTaskInThread, init_read, onTaskStarted, init_task_lifecycle_events, channelTopic, addWorkerSubscription, removeWorkerSubscription, listSubscribedWorkerAgents, init_channels, publishWorkerNudge, init_worker_nudges, createTask, getPendingTaskForAgent, assignUnassignedTaskPending, startTask, updateTaskClaudeSessionId, recordTaskProviderIfUnset, updateTaskTitle, completeTask, failTask, overwriteTerminalTaskResultText, cancelTask, supersedeTask, settleSupersededTaskDependents, backfillSupersedeTaskResumeTaskId, pauseTask, resumeTask, getPausedTasksForAgent, getOrphanedInProgressTasksForAgent, resetOrphanedInProgressTasksForAgent, getRecentlyCancelledTasksForAgent, deleteTask, updateTaskProgress, 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, 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, OpenAI, 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, getEmbeddingProvider, resetEmbeddingProvider, getMemoryStore, init_memory, embeddingProvider, embedScript, searchScripts, reembedAllScripts, init_embeddings2 as init_embeddings, upsertScriptByName, getScript, getScriptById, getScriptVersion, listScripts, listScriptVersions, deleteScript, touchScratchScriptLastUsed, restoreScratchScriptLastUsedIfUnchanged, createScriptApi, listScriptApisForScript, getScriptApiById, getScriptApiSecret, updateScriptApi, rotateScriptApiSecret, deleteScriptApi, recordScriptApiUsage, init_db, oauthSecretName, registerStoredSecret, loadSecretRegistry, init_secret_registry, SteeringRequestError, isSteeringEnabled2 as isSteeringEnabled, getTaskSteeringFields, getTaskSteeringFieldsForTasks, promotePendingSteeringForTask, markSteeringUndeliverable, requestSteering, init_steering, WorkflowReplayStateError, init_workflow_replay, SESSION_ACTIVITY_REFRESH_MIN_INTERVAL_MS, refreshActiveSessionOnActivity, recordKeySeatMismatch, getScriptRunExecutionArgs, getSlackRenderV2ActivatedAt, ensureSlackRenderV2Activation, getSlackDelegationActivatedAt, ensureSlackDelegationActivation, isPendingSlackMessage, isSettledSlackMessage, recordSlackMessage, reserveSlackMessage, bindSlackMessageTimestamp, updateSlackMessageRecord, markSlackTreeRendered, deleteSlackMessageRecord, getSlackTreeMessage, getSlackTreeMessageByThread, getSlackOutcomeMessage, getResolvableDeferralOutcomes, markSlackDeferralResolved, noteSlackOutcomeDeliveryFailure, abandonSlackOutcomeDelivery, getSlackTreeMessages, getSlackMessageByChannelTs, getSlackTasksInThread, listSlackThreadsAwaitingHuman, isSlackThreadAwaitingHuman, markTaskSlackReplySent, setSlackMessageTracking, updateTaskVcs, insertTaskAttachment, recordTaskPullRequestAttachments, getAssetKeyMappingByProvider, upsertAssetKeyMapping, getAssetKeyMapping, listAssetSummaries, moveAssetKey, deleteTaskAttachment, replaceTaskAttachment, getTaskAttachments, createSteeringMessage, getSteeringMessagesForTask, getSteeringMessageById, getPendingSteeringForTask, getPendingSteeringForAgent, markSteeringDelivered, markSteeringHandled, markSteeringPromoted, cancelPendingSteeringForTask, hasPendingSteering, getAgentWithTasks, getAllAgentsWithTasks, createLogEntry, getLogsByAgentId, getLogsByTaskId, getLogsByTaskIdAndEventType, getLogsByTaskIdChronological, getLogsByEventType, getAllLogs, findRecentSimilarTasks, createTaskExtended, claimTask, releaseTask, acceptTask, rejectTask, moveTaskToBacklog, moveTaskFromBacklog, promoteDraftTask, refreshDraftTaskLease, promoteAbandonedDraftTasks, releaseStaleReviewingTasks, releaseStaleOfferedTasksForOfflineAgents, getOfferedTasksForAgent, claimOfferedTask, getUnassignedTasksCount, getUnassignedTaskIds, getUnassignedTaskIdsForAgent, checkDependencies, getDependentTasks, cascadeFailDependents, updateAgentProfile, updateAgentName, createChannel, getMessageById, getChannelById, getChannelByName, getAllChannels, deleteChannel, postMessage, getChannelMessages, updateReadState, getLastReadAt, getUnreadMessages, getMentionsForAgent, getInboxSummary, claimMentions, releaseMentionProcessing, releaseStaleMentionProcessing, createService, getServiceById, getServiceByAgentAndName, getServicesByAgentId, getAllServices, updateServiceStatus, deleteService, upsertService, deleteServicesByAgentId, createSessionLogs, getSessionLogsByTaskId, getSessionLogsBySession, createSessionCost, getSessionCostsByTaskId, getSessionCostsByAgentId, getAllSessionCosts, getSessionCostsFiltered, UNATTRIBUTED_USER_ID, getSessionCostSummary, getAttributionByPerson, getDashboardCostSummary, createInboxMessage, getInboxMessageById, getUnreadInboxMessages, claimInboxMessages, markInboxMessageRead, markInboxMessageResponded, markInboxMessageDelegated, releaseStaleProcessingInbox, getConcurrentContext, getScheduledTasks, getScheduledTaskById, getScheduledTaskByName, createScheduledTask, updateScheduledTask, deleteScheduledTask, getDueScheduledTasks, autoEncryptLegacyPlaintextSecrets, maskSecrets, getSwarmConfigs, getInjectableGlobalConfigs, getSwarmConfigById, getSwarmConfigLookupById, upsertSwarmConfig, emitBuiltInIntegrationConnectedOnce, deleteSwarmConfig, deleteSwarmConfigByKey, getResolvedConfig, getSwarmRepos, getSwarmRepoById, getSwarmRepoByName, getSwarmRepoByUrl, createSwarmRepo, updateSwarmRepo, deleteSwarmRepo, getAgentMailInboxMapping, getAgentMailInboxMappingsByAgent, getAllAgentMailInboxMappings, createAgentMailInboxMapping, deleteAgentMailInboxMapping, findTaskByAgentMailThread, insertActiveSession, deleteActiveSession, deleteActiveSessionById, getActiveSessions, heartbeatActiveSession, cleanupStaleSessions, cleanupAgentSessions, updateActiveSessionProviderSessionId, getActiveSessionForTask, reassociateSessionLogs, getStalledInProgressTasks, getStalePinnedResumes, failPendingResumeIfUnclaimed, getIdleWorkersWithCapacity, getUnassignedPoolTasks, getStaleUnassignedAffinityTasks, getRecentFailedTasks, getRecentCompletedCount, getRecentFailedCount, createWorkflow, getWorkflow, listWorkflows, updateWorkflow, deleteWorkflow, getWorkflowsByScheduleId, createWorkflowRun, getWorkflowRun, updateWorkflowRun, listWorkflowRuns, countWorkflowRuns, listWorkflowRunsPage, createWorkflowRunStep, getWorkflowRunStep, updateWorkflowRunStep, getWorkflowRunStepsByRunId, getStuckWorkflowRuns, getLastSuccessfulRun, getLastRunStart, getRetryableSteps, getCompletedStepNodeIds, getTaskByWorkflowRunStepId, detachTaskFromWorkflowRunStep, getStepByIdempotencyKey, getStepCountForNode, getLatestStepForNode, getCurrentStepForNode, createWorkflowVersion, getWorkflowVersions, getWorkflowVersion, createAppVersion, getAppVersions, getAppVersion, createPage, getPage, getPageBySlug, getLatestPageBySlug, listPagesByAgent, listAllPages, countAllPages, countPagesByAgent, updatePage, deletePage, incrementPageViewCount, createPageVersion, getPageVersions, getPageVersion, createMetric, getMetric, getMetricBySlug, listMetricsByAgent, listAllMetrics, countAllMetrics, countMetricsByAgent, updateMetric, deleteMetric, createMetricVersion, getMetricVersions, getMetricVersion, getPromptTemplates, getPromptTemplateById, upsertPromptTemplate, deletePromptTemplate, resetPromptTemplateToDefault, getPromptTemplateHistory, resolvePromptTemplate, checkoutPromptTemplate, getAllChannelActivityCursors, getChannelActivityCursor, upsertChannelActivityCursor, createApprovalRequest, getApprovalRequestById, resolveApprovalRequest, cancelApprovalRequestById, cancelPendingApprovalRequestsForRun, listCancelledApprovalRequestsForRun, listCancelledApprovalRequestsForStep, claimApprovalCancellationNotification, completeApprovalCancellationNotificationClaim, releaseApprovalCancellationNotificationClaim, updateApprovalRequestNotifications, listApprovalRequests, getStuckApprovalRuns, getApprovalRequestByStepId, getExpiredPendingApprovals, getStaleApprovalRequests, createWaitState, getWaitStateById, getWaitStateByStepId, getDueWaitStates, getPendingEventWaitNames, getPendingWaitsByEvent, resolveWaitState, getStuckWaitRuns, SKILL_FILE_LIMITS, normalizeSkillFilePath, createSkill, updateSkill, listSkillFileManifest, getSkillFiles, getSkillFile, upsertSkillFile, upsertSkillFiles, deleteSkillFile, deleteSkill, getSkillById, getSkillByName, listSkills, searchSkills, installSkill, getSystemDefaultSkills, installSystemDefaultSkillsForAgent, uninstallSkill, getAgentSkills, toggleAgentSkill, createMcpServer, emitMcpServerConnectedTelemetry, updateMcpServer, deleteMcpServer, getMcpServerById, getMcpServerByName, listMcpServers, installMcpServer, uninstallMcpServer, getAgentMcpServers, createContextSnapshot, getContextSnapshotsByTaskId, getContextSnapshotsBySessionId, getContextSummaryByTaskId, getAvailableKeyIndices, recordKeyUsage, setApiKeyPlan, markKeyRateLimited, recordKeyAuthFailure, recordKeyRateLimitWindows, setApiKeyName, clearKeyRateLimit, getKeyStatuses, getKeyCostSummary, getUserById, getAllUsers, createUser, updateUser, deleteUser, listInboxState, upsertInboxState, listFavorites, listUserFavorites, getFavoriteItemIdSet, setFavorite, setUserFavorite, withFavoriteFlags, listTaskTemplates, getRootTaskChain, listRecentSessions, countSessions, getBudget, getBudgets, upsertBudget, deleteBudget, getAllPricingRows, getPricingRows, getActivePricingRow, insertPricingRow, deletePricingRow, getDailySpendForAgent, getDailySpendGlobal, getDailySpendForUser, recordBudgetRefusalNotification, getBudgetRefusalNotification, getRecentBudgetRefusalNotifications, hasBudgetRefusalNotificationToday, setBudgetRefusalFollowUpTaskId, getLiveAgentCounts, getReadyAgentCounts, getInstanceActivity, getSwarmMetrics, hasFirstCompletedTask, getKv, sweepExpiredKv, sweepExpiredKvPrefix, upsertKv, claimKv, deleteKv, KvTypeCollisionError, incrKv, kvPrefixUpperBound, listKv, countKv, createScriptRun, recordInlineScriptRun, getScriptRun, getScriptRunByIdempotencyKey, listScriptRuns, countScriptRuns, countActiveScriptRuns, updateScriptRun, updateScriptRunIfNotTerminal, updateScriptRunIfRunning, getRunningScriptRuns, getScriptRunJournalStep, upsertScriptRunJournalStep, listScriptRunJournalSteps, countScriptRunJournalSteps, countScriptRunJournalAgentTaskSteps, exports_db, init_db2 as init_db1 };
|