@desplega.ai/agent-swarm 2.7.4 → 2.7.6
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-bp91d37f.js +15 -0
- package/dist/{actions-gfrr9vb7.js → actions-yj0eeaqh.js} +19 -18
- package/dist/{amp-adapter-0s58gm46.js → amp-adapter-4pg9h34q.js} +3 -3
- package/dist/{app-stvq692g.js → app-909e97cr.js} +3 -3
- package/dist/{assistant-5s37fr9n.js → assistant-qdyb5fyy.js} +32 -23
- package/dist/{boot-reembed-yzy1841n.js → boot-reembed-fk0s9z18.js} +1 -1
- package/dist/{boot-reembed-cv82gz7y.js → boot-reembed-gs1rzrnh.js} +1 -1
- package/dist/{boot-scrub-sweep-8k4q95ap.js → boot-scrub-sweep-4qfd4kfx.js} +4 -4
- package/dist/{boot-seeds-ftt9htah.js → boot-seeds-yr00k13d.js} +4 -4
- package/dist/{boxd-515v1t8z.js → boxd-vdmfssd9.js} +5 -5
- package/dist/{claude-adapter-t00wrzeh.js → claude-adapter-qta1f1xn.js} +7 -7
- package/dist/{claude-managed-adapter-g6vmjccb.js → claude-managed-adapter-dvs2xw5n.js} +2 -2
- package/dist/{claude-managed-setup-afpa82f7.js → claude-managed-setup-sc6j4dm0.js} +3 -3
- package/dist/{claude-sdk-session-vj0c2azx.js → claude-sdk-session-zgrz6yvc.js} +9175 -9076
- package/dist/{cli-gjr2y2xk.js → cli-0agcv1v5.js} +4 -1
- package/dist/{cli-edmm9d9y.js → cli-0at8w34w.js} +7 -7
- package/dist/{cli-a81qevyg.js → cli-0qatpy8q.js} +20 -36
- package/dist/{cli-bcz074zx.js → cli-0yv5z2pg.js} +1 -1
- package/dist/{cli-a4btqqft.js → cli-1b7btd38.js} +1 -1
- package/dist/{cli-a2jw6ee5.js → cli-1p89xny0.js} +1 -1
- package/dist/{cli-v726afdm.js → cli-2pnswgh8.js} +1 -1
- package/dist/{cli-jkt52mgt.js → cli-386tyxxg.js} +2 -2
- package/dist/{cli-az0bpf8p.js → cli-3ypk9vk1.js} +3 -3
- package/dist/{cli-wk9md5px.js → cli-436532ck.js} +4 -4
- package/dist/{cli-7n5sbw0z.js → cli-4necwtsv.js} +5 -5
- package/dist/cli-54t00gt8.js +151 -0
- package/dist/{cli-655xm9ms.js → cli-583frbyr.js} +1 -1
- package/dist/{cli-4r12t6w6.js → cli-5c4hjzne.js} +101 -4
- package/dist/{cli-hf6zt5m6.js → cli-69szn7w7.js} +17 -1
- package/dist/{cli-rtk9g7av.js → cli-73jzwksr.js} +6 -2
- package/dist/{cli-jg0nfda6.js → cli-75gkpjvw.js} +52 -21
- package/dist/{cli-wcmnan2g.js → cli-89knwags.js} +5 -5
- package/dist/{cli-pwyevs29.js → cli-8bc1w0tw.js} +22 -21
- package/dist/{cli-t282jgab.js → cli-8snvgs5r.js} +41 -16
- package/dist/{cli-vqgnyh76.js → cli-98rw5dt5.js} +15 -3
- package/dist/{cli-9cctx1tn.js → cli-a22h291q.js} +1 -1
- package/dist/{cli-ycm6180s.js → cli-a7v854rf.js} +5 -3
- package/dist/{cli-98pke4vk.js → cli-ae7mrdf9.js} +2 -2
- package/dist/{cli-je8yeyc5.js → cli-bjb3z51z.js} +5 -5
- package/dist/{cli-mc97xy2s.js → cli-c60vetmm.js} +16 -4
- package/dist/{cli-j4kw3rsx.js → cli-cm5yqn35.js} +18 -0
- package/dist/{cli-wndv9p7g.js → cli-decfb6v8.js} +6 -6
- package/dist/{cli-h55y2bjc.js → cli-dhar9qay.js} +2 -2
- package/dist/{cli-8yy525ad.js → cli-drr5v6av.js} +2 -2
- package/dist/{cli-5gr1g711.js → cli-dxae2yg7.js} +2 -2
- package/dist/{cli-pe09p6dv.js → cli-e3r2neck.js} +8 -7
- package/dist/{cli-13jvmew3.js → cli-ekwks2vs.js} +7 -7
- package/dist/{cli-jg4p5t36.js → cli-es6va8jk.js} +121 -51
- package/dist/{cli-j4kt1mpb.js → cli-faxe6thg.js} +3 -3
- package/dist/{cli-tzrpv5sc.js → cli-ftyxyspd.js} +1 -1
- package/dist/cli-fw2w0kva.js +47 -0
- package/dist/{cli-2dfbv8qr.js → cli-fy6x31ps.js} +1 -0
- package/dist/{cli-aq58fk5m.js → cli-g83s9ewh.js} +7 -1
- package/dist/cli-gdhpcbhf.js +55 -0
- package/dist/{cli-82jg7fp9.js → cli-he5nxaa8.js} +1 -1
- package/dist/{cli-8veytvbh.js → cli-he9wchme.js} +1 -1
- package/dist/{cli-k76tgq03.js → cli-hgaazk69.js} +2 -2
- package/dist/{cli-d2pzqej1.js → cli-hr2e2fft.js} +741 -7
- package/dist/{cli-dae4sbgy.js → cli-jm2vfpfd.js} +2 -2
- package/dist/{cli-1s1dqn1j.js → cli-k2gzwsj2.js} +297 -140
- package/dist/{cli-b1afgtj3.js → cli-kqdg1bsb.js} +3 -3
- package/dist/cli-m2z8jagn.js +12078 -0
- package/dist/{cli-mvckssyq.js → cli-m48g6p95.js} +5 -5
- package/dist/{cli-bwty35gx.js → cli-mthwvjre.js} +1 -1
- package/dist/{cli-41z8xwj0.js → cli-nhrvpaj7.js} +34 -8
- package/dist/{cli-ahd90bwt.js → cli-nwj0ee2w.js} +6 -6
- package/dist/{cli-kvtc7aez.js → cli-p5gp8pcx.js} +44 -14
- package/dist/{cli-avgcz4ra.js → cli-pd7vagab.js} +436 -171
- package/dist/{cli-zn15c46z.js → cli-q0k1w5zd.js} +1 -1
- package/dist/{cli-bq2pcphn.js → cli-rmmmrjkd.js} +1 -1
- package/dist/{cli-2qpvmmkw.js → cli-s0qnd4wv.js} +1 -1
- package/dist/{cli-kg8hchyg.js → cli-sa02jsqt.js} +1 -1
- package/dist/{cli-1yekbyqm.js → cli-shpbx5ee.js} +283 -82
- package/dist/{cli-9y354g3j.js → cli-srye3vdt.js} +1 -1
- package/dist/{cli-byqfbnjw.js → cli-svj5090z.js} +9 -9
- package/dist/{cli-gcbdjt47.js → cli-vfym7wmz.js} +6 -6
- package/dist/{cli-v1yw3wha.js → cli-vvpx3gsx.js} +4 -4
- package/dist/{cli-a1fhj4n9.js → cli-w6dt9ged.js} +2 -2
- package/dist/{cli-1gm8jcyr.js → cli-waqbxg08.js} +5232 -68
- package/dist/{cli-5hjced2v.js → cli-wp9sp1qb.js} +6 -6
- package/dist/{cli-eny54typ.js → cli-wx3rhnm0.js} +1 -1
- package/dist/{cli-s0exq74r.js → cli-xbbndvjy.js} +3 -3
- package/dist/{cli-f255yaqn.js → cli-xds5f77d.js} +3 -3
- package/dist/{cli-0sbkss7h.js → cli-xnqgpshy.js} +2 -2
- package/dist/{cli-0fgr1w9b.js → cli-xnrwazav.js} +20 -3
- package/dist/{cli-gf5hbmdr.js → cli-yjdgea32.js} +3 -3
- package/dist/{cli-cq1pf336.js → cli-yn4kxs06.js} +124 -11
- package/dist/{cli-224epwwf.js → cli-yx4kfngt.js} +3 -3
- package/dist/{cli-eqx6k993.js → cli-yy3rhsdw.js} +47 -13
- package/dist/{cli-36g23z21.js → cli-zbbwez0r.js} +4 -4
- package/dist/{cli-ktmvb20s.js → cli-zm72anhg.js} +12 -12
- package/dist/cli.js +26 -25
- package/dist/{codex-adapter-g0gctw29.js → codex-adapter-ayd1fb6h.js} +5 -5
- package/dist/{codex-hook-vrzz2xhr.js → codex-hook-9efm2x1m.js} +1 -1
- package/dist/{codex-login-0gg46ygn.js → codex-login-y0pmff1c.js} +1 -1
- package/dist/{codex-session-runner-dr2cxe1c.js → codex-session-runner-jesa32xc.js} +6 -6
- package/dist/{commands-1p07cvff.js → commands-hanewgf2.js} +9 -3
- package/dist/{controller-z0s7sv6r.js → controller-dt1n3c1q.js} +9 -4
- package/dist/{controllers-connect-x9kvvhyk.js → controllers-connect-xx8x64n5.js} +22 -21
- package/dist/{cursor-adapter-m5b98pvk.js → cursor-adapter-9s4dwwdw.js} +2 -2
- package/dist/{db-capk2raj.js → db-3vttcbv4.js} +3 -3
- package/dist/{db-rsh04kh3.js → db-9dv0g1ab.js} +12 -4
- package/dist/{devin-adapter-yxm87fe9.js → devin-adapter-r9phbnc9.js} +1 -1
- package/dist/{devtools-82fzqra8.js → devtools-qxfgbsqz.js} +1 -1
- package/dist/{dispatcher-304q6fwa.js → dispatcher-tx9hd1sv.js} +18 -17
- package/dist/{docker-7rxt0rry.js → docker-c1a3gqmf.js} +91 -24
- package/dist/{dsh-adapter-btewem0y.js → dsh-adapter-007y4ejs.js} +2 -2
- package/dist/{e2b-renc0k8q.js → e2b-a19d28rz.js} +4 -4
- package/dist/{e2b-7fc9b9bd.js → e2b-we6hs6q5.js} +6 -6
- package/dist/{easter-egg-3d-fm1p3n4d.js → easter-egg-3d-rgbrqb8s.js} +1 -1
- package/dist/{embedding-space-s68v49ct.js → embedding-space-ny1e2940.js} +6 -6
- package/dist/{embeddings-4ms3604w.js → embeddings-2t386t13.js} +1 -1
- package/dist/{event-bus-dfjx2qdh.js → event-bus-g0ka3pbw.js} +1 -1
- package/dist/{execute-mcdgccjs.js → execute-pksh0ceh.js} +1 -1
- package/dist/{external-channel-9dxwfztn.js → external-channel-phgmhmd7.js} +2 -2
- package/dist/fx-adapter-fy8rr921.js +18 -0
- package/dist/{google-generative-ai-yvmdxyxa.js → google-generative-ai-8y3m3k4b.js} +1 -1
- package/dist/{google-vertex-jrtdh9gs.js → google-vertex-w3v98n7b.js} +1 -1
- package/dist/{grok-adapter-05ecv4h0.js → grok-adapter-q0abvpaj.js} +8 -8
- package/dist/handlers-by3sfxyx.js +32 -0
- package/dist/{heartbeat-3n94heh3.js → heartbeat-kadyek8p.js} +21 -20
- package/dist/{hook-aadrn69x.js → hook-5zs3msf6.js} +6 -6
- package/dist/{hook-zxwje86c.js → hook-9k551xnj.js} +4 -4
- package/dist/{http-xzxk9mst.js → http-mhz9vw1f.js} +272 -103
- package/dist/index-4f2pvxae.js +37 -0
- package/dist/index-98gz7tmp.js +30 -0
- package/dist/{index-5rk6rfzr.js → index-fvzke5kx.js} +1 -1
- package/dist/index-k08z2cak.js +33 -0
- package/dist/{index-yqhz88yy.js → index-pxn30mse.js} +8 -8
- package/dist/{index-d34f6r87.js → index-q361cg2f.js} +1 -1
- package/dist/{index-9j4zwcht.js → index-rvr00sg7.js} +168 -675
- package/dist/{index-qeb82z37.js → index-vdygbq10.js} +1 -1
- package/dist/{keepalive-w4aakbyk.js → keepalive-w56f32cg.js} +4 -4
- package/dist/lead-enq35nqp.js +70 -0
- package/dist/{maintenance-hbptpk6p.js → maintenance-7mdgxcea.js} +1 -1
- package/dist/{oauth-refresh-sweep-217semrv.js → oauth-refresh-sweep-29txy9vk.js} +3 -3
- package/dist/{onboard-vz2s5df3.js → onboard-kpsrkarj.js} +5 -5
- package/dist/{opencode-adapter-gtfd7d7v.js → opencode-adapter-j25vm3rr.js} +5 -5
- package/dist/{otel-impl-aefave37.js → otel-impl-6kkct7a8.js} +2 -2
- package/dist/{pi-mono-adapter-f8h5yseh.js → pi-mono-adapter-exhkzhn2.js} +117 -23
- package/dist/{pricing-refresh-m1yhh9ya.js → pricing-refresh-n2x7jh6k.js} +3 -3
- package/dist/{rbac-roles-rrw8twdz.js → rbac-roles-81ypx6es.js} +1 -1
- package/dist/{rbac-roles-svj72cdf.js → rbac-roles-b5htkjby.js} +2 -2
- package/dist/{render-v2-amwbnfxh.js → render-v2-qn6jmpk4.js} +3 -3
- package/dist/{resume-9cd6wf6z.js → resume-wd30wx23.js} +7 -7
- package/dist/{runtime-fp4vrx7m.js → runtime-4hsg7h60.js} +1 -1
- package/dist/{session-access-21t6yjyg.js → session-access-5qvfevhk.js} +4 -4
- package/dist/{session-source-backfill-pxbzcsc6.js → session-source-backfill-n1czavbr.js} +3 -3
- package/dist/{setup-4592tqz4.js → setup-dnb56qy5.js} +3 -3
- package/dist/{virtual-modules-gzfnpmnz.js → virtual-modules-76xxv9fs.js} +2 -2
- package/dist/{work-objects-t9tcf174.js → work-objects-4n21tfkm.js} +21 -20
- package/dist/{worker-follow-up-q32jh4yk.js → worker-follow-up-77hvzxww.js} +18 -17
- package/dist/worker-gg1576j3.js +70 -0
- package/dist/{x-b6wxntdt.js → x-vmmye1kb.js} +2 -2
- package/openapi.json +189 -32
- package/package.json +8 -7
- package/src/be/db/script-runs.ts +23 -0
- package/src/be/db/session-summaries.ts +8 -2
- package/src/be/db/session-tree.ts +174 -61
- package/src/be/db/session-visibility.ts +5 -4
- package/src/be/db/tasks/read.ts +122 -3
- package/src/be/db-client.ts +8 -5
- package/src/be/db.ts +23 -8
- package/src/be/memory/providers/sqlite-store.ts +49 -12
- package/src/be/migrations/259_session_summaries_open_tasks.sql +111 -0
- package/src/be/migrations/260_runtime_pool_cache.sql +20 -0
- package/src/be/migrations/262_session_visibility_indexes.sql +18 -0
- package/src/be/migrations/263_task_list_filter_index.sql +11 -0
- package/src/be/migrations/264_slack_thread_cover_index.sql +9 -0
- package/src/be/migrations/266_script_runs_source_task.sql +11 -0
- package/src/be/model-validation.ts +5 -1
- package/src/be/pricing-normalize.ts +7 -2
- package/src/be/runtime-pools/cache-cleanup.ts +109 -0
- package/src/be/runtime-pools/db.ts +65 -6
- package/src/be/runtime-pools/remote-controller.ts +5 -0
- package/src/be/runtime-pools/supervisor.ts +33 -2
- package/src/be/scripts/typecheck.ts +23 -0
- package/src/be/seed/schedules-seeder.ts +135 -9
- package/src/be/seed/workflows-seeder.ts +65 -1
- package/src/be/seed-pricing.ts +23 -0
- package/src/be/seed-scripts/catalog/task-failure-audit.ts +5 -1
- package/src/be/steering.ts +50 -3
- package/src/be/swarm-config-guard.ts +1 -0
- package/src/commands/controller.ts +4 -0
- package/src/commands/entrypoint-api-readiness.ts +74 -0
- package/src/commands/provider-credentials.ts +29 -2
- package/src/commands/runner.ts +86 -5
- package/src/extensions/contract-types.generated.ts +1 -1
- package/src/extensions/contract.ts +27 -1
- package/src/extensions/dispatcher.ts +4 -0
- package/src/http/agents.ts +1 -0
- package/src/http/index.ts +1 -1
- package/src/http/list-total-cache.ts +14 -7
- package/src/http/mcp-bridge.ts +4 -0
- package/src/http/memory.ts +38 -9
- package/src/http/script-runs.ts +174 -5
- package/src/http/status.ts +10 -2
- package/src/http/tasks.ts +4 -2
- package/src/integrations/chat-sdk/inbound.ts +15 -5
- package/src/integrations/chat-sdk/steering.ts +3 -1
- package/src/kv-reserved-namespaces.ts +2 -0
- package/src/prompts/base-prompt.ts +4 -1
- package/src/prompts/session-templates.ts +26 -0
- package/src/providers/acp-adapter.ts +190 -26
- package/src/providers/acp-targets.ts +306 -6
- package/src/providers/amp-adapter.ts +1 -1
- package/src/providers/codex-adapter.ts +9 -44
- package/src/providers/codex-oauth/flow.ts +24 -3
- package/src/providers/codex-oauth/storage.ts +56 -17
- package/src/providers/codex-oauth/subscription.ts +67 -0
- package/src/providers/fx-adapter.ts +211 -0
- package/src/providers/index.ts +5 -1
- package/src/providers/mcp-loopback-proxy.ts +94 -0
- package/src/providers/pi-mono-adapter.ts +98 -13
- package/src/providers/pricing-sources.md +8 -0
- package/src/providers/reasoning-effort.ts +17 -1
- package/src/providers/types.ts +2 -1
- package/src/runtime-providers/controller-protocol.ts +14 -1
- package/src/runtime-providers/controller.ts +5 -0
- package/src/runtime-providers/docker.ts +108 -23
- package/src/runtime-providers/types.ts +16 -0
- package/src/scheduler/scheduler.ts +36 -3
- package/src/script-workflows/workflow-ctx.ts +8 -0
- package/src/scripts-runtime/sdk-allowlist.ts +1 -0
- package/src/scripts-runtime/types/stdlib.d.ts +27 -0
- package/src/scripts-runtime/types/swarm-extension.d.ts +33 -0
- package/src/scripts-runtime/types/swarm-sdk.d.ts +27 -0
- package/src/server-user.ts +1 -0
- package/src/server.ts +7 -0
- package/src/slack/assistant.ts +17 -1
- package/src/slack/commands.ts +5 -1
- package/src/slack/handlers.ts +53 -5
- package/src/slack/left-threads.ts +88 -0
- package/src/slack/steering.ts +3 -0
- package/src/slack/thread-buffer.ts +40 -16
- package/src/tasks/follow-up-redelegation-guard.ts +155 -0
- package/src/tests/acp-adapter.test.ts +79 -0
- package/src/tests/base-prompt.test.ts +12 -0
- package/src/tests/chat-sdk-inbound.test.ts +30 -0
- package/src/tests/chatgpt-subscription-model-groups.test.ts +62 -0
- package/src/tests/chatgpt-subscription-pi.test.ts +170 -0
- package/src/tests/chatgpt-subscription-session-bench.test.ts +198 -0
- package/src/tests/claude-artifacts-read-script.test.ts +209 -0
- package/src/tests/codex-oauth-credential-info.test.ts +40 -0
- package/src/tests/codex-oauth-refresh-egress.test.ts +194 -0
- package/src/tests/context-window.test.ts +7 -0
- package/src/tests/db-client.test.ts +21 -0
- package/src/tests/db-task-read-contract.test.ts +8 -2
- package/src/tests/db-task-write-contract.test.ts +5 -1
- package/src/tests/entrypoint-api-readiness.test.ts +416 -210
- package/src/tests/explicit-model-validation.test.ts +113 -8
- package/src/tests/extensions-run-context.test.ts +11 -0
- package/src/tests/extensions-steering.test.ts +353 -0
- package/src/tests/extensions-validate.test.ts +5 -0
- package/src/tests/fixtures/extensions/steering-policy/hooks.ts +39 -0
- package/src/tests/fixtures/extensions/steering-policy/manifest.json +7 -0
- package/src/tests/fixtures/fake-fx.ts +167 -0
- package/src/tests/fixtures/fx/acp-responses-recorded.json +157 -0
- package/src/tests/fixtures/fx/acp-updates-recorded.jsonl +15 -0
- package/src/tests/follow-up-redelivery-guard.test.ts +432 -202
- package/src/tests/fx-adapter.test.ts +771 -0
- package/src/tests/grok-adapter.test.ts +36 -0
- package/src/tests/list-total-cache.test.ts +27 -2
- package/src/tests/mcp-loopback-proxy.test.ts +193 -0
- package/src/tests/memory-fts-populate.test.ts +11 -9
- package/src/tests/memory-retrieval-purge.test.ts +80 -0
- package/src/tests/migration-260-runtime-pool-cache.test.ts +118 -0
- package/src/tests/model-tier-resolution.test.ts +3 -3
- package/src/tests/pricing-refresh.test.ts +5 -5
- package/src/tests/prompt-template-session.test.ts +5 -3
- package/src/tests/provider-registration.test.ts +2 -1
- package/src/tests/query-audit-plans.test.ts +30 -2
- package/src/tests/runtime-cache-cleanup.test.ts +367 -0
- package/src/tests/runtime-e2b-pools.test.ts +41 -0
- package/src/tests/runtime-pools-db.test.ts +98 -0
- package/src/tests/runtime-pools-http.test.ts +29 -0
- package/src/tests/runtime-providers-docker.test.ts +253 -0
- package/src/tests/runtime-remote-controller.test.ts +66 -2
- package/src/tests/runtime-supervisor.test.ts +66 -2
- package/src/tests/script-connections.test.ts +13 -0
- package/src/tests/script-runs-http.test.ts +684 -2
- package/src/tests/seed-model-profiles.test.ts +2 -2
- package/src/tests/seed-schedules.test.ts +138 -0
- package/src/tests/seed-scripts.test.ts +26 -0
- package/src/tests/session-cost-recompute-unit.test.ts +39 -0
- package/src/tests/session-costs-golden.test.ts +26 -0
- package/src/tests/session-summaries-plans.test.ts +120 -0
- package/src/tests/session-summaries.test.ts +72 -12
- package/src/tests/sessions-tree.test.ts +11 -3
- package/src/tests/slack-leave-thread.test.ts +571 -0
- package/src/tests/slack-render-v2-query-plans.test.ts +24 -2
- package/src/tests/status.test.ts +11 -0
- package/src/tests/tasks-readable-row.test.ts +155 -0
- package/src/tests/tool-annotations.test.ts +2 -1
- package/src/tests/workflow-engine-v2.test.ts +42 -0
- package/src/tests/workflow-script-principal.test.ts +207 -7
- package/src/tools/send-task.ts +35 -47
- package/src/tools/slack-leave-thread.ts +104 -0
- package/src/tools/steer-task.ts +3 -2
- package/src/tools/task-dedup.ts +45 -21
- package/src/tools/tool-config.ts +2 -1
- package/src/types.ts +57 -0
- package/src/utils/codex-auth-failure.ts +30 -0
- package/src/utils/context-window.ts +4 -1
- package/src/utils/credentials.ts +7 -0
- package/src/utils/fx-models.ts +43 -0
- package/src/workflows/cooldown.ts +3 -2
- package/src/workflows/engine.ts +24 -9
- package/templates/schedules/dreaming-daily/config.json +1 -1
- package/templates/schedules/dreaming-daily/content.md +6 -14
- package/templates/skills/composio-google-docs/content.md +10 -0
- package/templates/skills/script-workflows/content.md +19 -1
- package/templates/skills/swarm-docs/content.md +2 -0
- package/templates/skills/swarm-scripts/SKILL.md +2 -0
- package/templates/skills/swarm-scripts/content.md +2 -0
- package/templates/workflows/dreaming/content.md +5 -1
- package/dist/acp-adapter-96dc64m2.js +0 -15
- package/dist/cli-dznrgaep.js +0 -30
- package/dist/cli-w3hcrxht.js +0 -6985
- package/dist/handlers-jg7v74ty.js +0 -31
- package/dist/index-8c1zbz59.js +0 -29
- package/dist/index-8k8tmfxd.js +0 -32
- package/dist/index-hq617xdj.js +0 -36
- package/dist/lead-567kw7x3.js +0 -68
- package/dist/worker-fjdqra6q.js +0 -68
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ALL_TOOLS,
|
|
3
3
|
init_tool_config
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-fy6x31ps.js";
|
|
5
5
|
import {
|
|
6
6
|
normalizeAssetKey,
|
|
7
7
|
defaultAssetKey,
|
|
@@ -28,7 +28,14 @@ import {
|
|
|
28
28
|
VersionableFieldSchema,
|
|
29
29
|
SessionCostModelBreakdownSchema,
|
|
30
30
|
init_types4
|
|
31
|
-
} from "./cli-
|
|
31
|
+
} from "./cli-nhrvpaj7.js";
|
|
32
|
+
import {
|
|
33
|
+
CODEX_AUTH_FAILURE_BENCH_THRESHOLD,
|
|
34
|
+
CODEX_AUTH_FAILURE_BENCH_MS,
|
|
35
|
+
CODEX_AUTH_WATCH_NAMESPACE,
|
|
36
|
+
codexAuthBenchMarkerKey,
|
|
37
|
+
init_codex_auth_failure
|
|
38
|
+
} from "./cli-fw2w0kva.js";
|
|
32
39
|
import {
|
|
33
40
|
generateDefaultClaudeMd2,
|
|
34
41
|
generateDefaultSoulMd2,
|
|
@@ -42,7 +49,7 @@ import {
|
|
|
42
49
|
init_identity_field_budget,
|
|
43
50
|
contentSha256,
|
|
44
51
|
init_profile_sync
|
|
45
|
-
} from "./cli-
|
|
52
|
+
} from "./cli-a7v854rf.js";
|
|
46
53
|
import {
|
|
47
54
|
isSlackConfigured,
|
|
48
55
|
init_config4
|
|
@@ -53,7 +60,7 @@ import {
|
|
|
53
60
|
} from "./cli-4sydckyj.js";
|
|
54
61
|
import {
|
|
55
62
|
init_templates4
|
|
56
|
-
} from "./cli-
|
|
63
|
+
} from "./cli-2pnswgh8.js";
|
|
57
64
|
import {
|
|
58
65
|
SUBSCRIPTION_KEY_TYPES,
|
|
59
66
|
planAllowsModelFamily,
|
|
@@ -70,7 +77,7 @@ import {
|
|
|
70
77
|
deriveProviderFromKeyType,
|
|
71
78
|
selectCredential,
|
|
72
79
|
init_credentials2
|
|
73
|
-
} from "./cli-
|
|
80
|
+
} from "./cli-g83s9ewh.js";
|
|
74
81
|
import {
|
|
75
82
|
registerTemplate,
|
|
76
83
|
getAllTemplateDefinitions,
|
|
@@ -78,11 +85,11 @@ import {
|
|
|
78
85
|
configureDbResolver,
|
|
79
86
|
init_resolver,
|
|
80
87
|
init_session_templates
|
|
81
|
-
} from "./cli-
|
|
88
|
+
} from "./cli-cm5yqn35.js";
|
|
82
89
|
import {
|
|
83
90
|
runtimeHarnessSections,
|
|
84
91
|
init_runtime_model_catalog
|
|
85
|
-
} from "./cli-
|
|
92
|
+
} from "./cli-1p89xny0.js";
|
|
86
93
|
import {
|
|
87
94
|
init_zod
|
|
88
95
|
} from "./cli-k5671be5.js";
|
|
@@ -110,7 +117,7 @@ import {
|
|
|
110
117
|
import {
|
|
111
118
|
init_package,
|
|
112
119
|
package_default
|
|
113
|
-
} from "./cli-
|
|
120
|
+
} from "./cli-e3r2neck.js";
|
|
114
121
|
import {
|
|
115
122
|
realtimeBus,
|
|
116
123
|
init_bus
|
|
@@ -125,13 +132,13 @@ import {
|
|
|
125
132
|
registerVolatileSecret,
|
|
126
133
|
registerSensitiveKeyName,
|
|
127
134
|
init_secret_scrubber
|
|
128
|
-
} from "./cli-
|
|
135
|
+
} from "./cli-1b7btd38.js";
|
|
129
136
|
import {
|
|
130
137
|
isAlias,
|
|
131
138
|
parseAlias,
|
|
132
139
|
harnessModelMismatch,
|
|
133
140
|
init_src2
|
|
134
|
-
} from "./cli-
|
|
141
|
+
} from "./cli-5c4hjzne.js";
|
|
135
142
|
import {
|
|
136
143
|
__toCommonJS,
|
|
137
144
|
__commonJS,
|
|
@@ -3977,7 +3984,8 @@ class BunSqliteClient {
|
|
|
3977
3984
|
};
|
|
3978
3985
|
const ctx = txContext.getStore();
|
|
3979
3986
|
if (ctx && !ctx.closed) {
|
|
3980
|
-
|
|
3987
|
+
const db = this.getDatabase();
|
|
3988
|
+
return timed(() => op(db));
|
|
3981
3989
|
}
|
|
3982
3990
|
let sleptMs = 0;
|
|
3983
3991
|
for (let attemptIndex = 0;; attemptIndex++) {
|
|
@@ -3986,7 +3994,8 @@ class BunSqliteClient {
|
|
|
3986
3994
|
const release = await this.lock.acquire();
|
|
3987
3995
|
let backoff = 0;
|
|
3988
3996
|
try {
|
|
3989
|
-
|
|
3997
|
+
const db = this.getDatabase();
|
|
3998
|
+
return timed(() => this.shortSpin(db, () => op(db), !canRetryAfter), canRetryAfter);
|
|
3990
3999
|
} catch (err) {
|
|
3991
4000
|
if (!isSqliteBusy(err) || !canRetryAfter || next === undefined)
|
|
3992
4001
|
throw err;
|
|
@@ -5019,7 +5028,7 @@ var init_runtime2 = __esm(() => {
|
|
|
5019
5028
|
// src/telemetry-identity.ts
|
|
5020
5029
|
async function loadUserRole(userId) {
|
|
5021
5030
|
try {
|
|
5022
|
-
const { getUserGrant } = await import("./rbac-roles-
|
|
5031
|
+
const { getUserGrant } = await import("./rbac-roles-b5htkjby.js");
|
|
5023
5032
|
const grant = await getUserGrant(userId);
|
|
5024
5033
|
const role = grant.grantsAll ? "admin" : "member";
|
|
5025
5034
|
const user = await getDbClient2().get("SELECT json_extract(metadata, '$.jobFunction') AS jobFunction FROM users WHERE id = ? AND json_valid(metadata)", [userId]);
|
|
@@ -5181,27 +5190,6 @@ var init_telemetry_trigger = __esm(() => {
|
|
|
5181
5190
|
rootSurfaceCache = new Map;
|
|
5182
5191
|
});
|
|
5183
5192
|
|
|
5184
|
-
// src/utils/codex-auth-failure.ts
|
|
5185
|
-
function isCodexAuthFailureReason(failureReason) {
|
|
5186
|
-
if (!failureReason || !failureReason.includes("[auth-error]"))
|
|
5187
|
-
return false;
|
|
5188
|
-
const lower = failureReason.toLowerCase();
|
|
5189
|
-
return !TRANSIENT_AUTH_ERROR_MARKERS.some((m) => lower.includes(m));
|
|
5190
|
-
}
|
|
5191
|
-
var CODEX_AUTH_FAILURE_BENCH_THRESHOLD = 2, CODEX_AUTH_FAILURE_BENCH_MS, CODEX_AUTH_WATCH_NAMESPACE = "codex-auth-watch", codexAuthBenchMarkerKey = (keySuffix) => `bench:${keySuffix}`, TRANSIENT_AUTH_ERROR_MARKERS;
|
|
5192
|
-
var init_codex_auth_failure = __esm(() => {
|
|
5193
|
-
CODEX_AUTH_FAILURE_BENCH_MS = 365 * 24 * 60 * 60 * 1000;
|
|
5194
|
-
TRANSIENT_AUTH_ERROR_MARKERS = [
|
|
5195
|
-
"waiting for the refresh lock",
|
|
5196
|
-
"refresh rejected (429",
|
|
5197
|
-
"refresh rejected (5",
|
|
5198
|
-
"refresh rejected (unknown status",
|
|
5199
|
-
"out of credits",
|
|
5200
|
-
"no credentials found in config store",
|
|
5201
|
-
"not a confirmed auth rejection"
|
|
5202
|
-
];
|
|
5203
|
-
});
|
|
5204
|
-
|
|
5205
5193
|
// src/utils/config-env-export.ts
|
|
5206
5194
|
function isEnvExportRestrictedKey(key) {
|
|
5207
5195
|
return ENV_EXPORT_RESTRICTED_KEYS.has(key.toUpperCase()) || CONNECTION_SECRET_KEY.test(key);
|
|
@@ -6422,6 +6410,32 @@ function readableSessionCondition(userId, taskIdColumn = "agent_tasks.id", opts
|
|
|
6422
6410
|
params: userId ? [userId, userId] : []
|
|
6423
6411
|
};
|
|
6424
6412
|
}
|
|
6413
|
+
function readableSessionRowCondition(userId, taskIdColumn = "agent_tasks.id") {
|
|
6414
|
+
const otherOwner = userId ? "up.requestedByUserId IS NOT NULL AND up.requestedByUserId != ?" : "up.requestedByUserId IS NOT NULL";
|
|
6415
|
+
const shareMatch = userId ? "(s.userId IS NULL OR s.userId = ?)" : "s.userId IS NULL";
|
|
6416
|
+
const set = readableSessionCondition(userId, taskIdColumn);
|
|
6417
|
+
return {
|
|
6418
|
+
sql: `(CASE (
|
|
6419
|
+
WITH RECURSIVE up(id, parentTaskId, requestedByUserId, scheduleId, depth) AS (
|
|
6420
|
+
SELECT u.id, u.parentTaskId, u.requestedByUserId, u.scheduleId, 0
|
|
6421
|
+
FROM agent_tasks u WHERE u.id = ${taskIdColumn}
|
|
6422
|
+
UNION ALL
|
|
6423
|
+
SELECT p.id, p.parentTaskId, p.requestedByUserId, p.scheduleId, up.depth + 1
|
|
6424
|
+
FROM up JOIN agent_tasks p ON p.id = up.parentTaskId
|
|
6425
|
+
WHERE up.depth < ${READABLE_WALK_MAX_DEPTH}
|
|
6426
|
+
)
|
|
6427
|
+
SELECT CASE WHEN ${otherOwner} AND up.scheduleId IS NULL
|
|
6428
|
+
AND NOT EXISTS (SELECT 1 FROM session_shares s
|
|
6429
|
+
WHERE s.rootTaskId = up.id AND s.revokedAt IS NULL AND ${shareMatch})
|
|
6430
|
+
THEN 1 ELSE 0 END
|
|
6431
|
+
FROM up
|
|
6432
|
+
WHERE up.parentTaskId IS NULL
|
|
6433
|
+
OR NOT EXISTS (SELECT 1 FROM agent_tasks p WHERE p.id = up.parentTaskId)
|
|
6434
|
+
LIMIT 1
|
|
6435
|
+
) WHEN 0 THEN 1 WHEN 1 THEN 0 ELSE ${set.sql} END)`,
|
|
6436
|
+
params: [...userId ? [userId, userId] : [], ...set.params]
|
|
6437
|
+
};
|
|
6438
|
+
}
|
|
6425
6439
|
async function getAllTasks2(filters, opts) {
|
|
6426
6440
|
const conditions = [];
|
|
6427
6441
|
const params = [];
|
|
@@ -6507,7 +6521,7 @@ async function getAllTasks2(filters, opts) {
|
|
|
6507
6521
|
conditions.push(`(IFNULL(taskType, '') NOT IN ('heartbeat', 'heartbeat-checklist', 'boot-triage') AND tags NOT LIKE '%"heartbeat"%')`);
|
|
6508
6522
|
}
|
|
6509
6523
|
if (filters?.readableBy) {
|
|
6510
|
-
const readable =
|
|
6524
|
+
const readable = readableSessionRowCondition(filters.readableBy.userId);
|
|
6511
6525
|
conditions.push(readable.sql);
|
|
6512
6526
|
params.push(...readable.params);
|
|
6513
6527
|
}
|
|
@@ -7011,17 +7025,49 @@ async function getMostRecentTaskInThread2(channelId, threadTs) {
|
|
|
7011
7025
|
LIMIT 1`, [channelId, threadTs]);
|
|
7012
7026
|
return row ? rowToAgentTask(row) : null;
|
|
7013
7027
|
}
|
|
7014
|
-
async function
|
|
7028
|
+
async function findCompletedTasksInThread2(channelId, threadTs, windowMinutes, limit = 200, before) {
|
|
7015
7029
|
const since = new Date(Date.now() - windowMinutes * 60 * 1000).toISOString();
|
|
7016
|
-
const
|
|
7030
|
+
const cursorSql = before ? "AND (lastUpdatedAt < ? OR (lastUpdatedAt = ? AND id < ?))" : "";
|
|
7031
|
+
const cursorParams = before ? [before.lastUpdatedAt, before.lastUpdatedAt, before.id] : [];
|
|
7032
|
+
const rows = await getDbClient2().query(`SELECT * FROM agent_tasks
|
|
7017
7033
|
WHERE slackChannelId = ?
|
|
7018
7034
|
AND slackThreadTs = ?
|
|
7019
7035
|
AND status = 'completed'
|
|
7036
|
+
AND COALESCE(taskType, '') != 'follow-up'
|
|
7037
|
+
AND lastUpdatedAt > ?
|
|
7038
|
+
${cursorSql}
|
|
7039
|
+
ORDER BY lastUpdatedAt DESC, id DESC
|
|
7040
|
+
LIMIT ?`, [channelId, threadTs, since, ...cursorParams, limit]);
|
|
7041
|
+
return rows.map(rowToAgentTask);
|
|
7042
|
+
}
|
|
7043
|
+
async function findRecentFailedTaskInThread2(channelId, threadTs, windowMinutes) {
|
|
7044
|
+
const since = new Date(Date.now() - windowMinutes * 60 * 1000).toISOString();
|
|
7045
|
+
const row = await getDbClient2().get(`SELECT * FROM agent_tasks
|
|
7046
|
+
WHERE slackChannelId = ?
|
|
7047
|
+
AND slackThreadTs = ?
|
|
7048
|
+
AND status = 'failed'
|
|
7020
7049
|
AND lastUpdatedAt > ?
|
|
7021
7050
|
ORDER BY lastUpdatedAt DESC
|
|
7022
7051
|
LIMIT 1`, [channelId, threadTs, since]);
|
|
7023
7052
|
return row ? rowToAgentTask(row) : null;
|
|
7024
7053
|
}
|
|
7054
|
+
async function countAgentDispatchesInThread2(channelId, threadTs, creatorAgentId, windowMinutes) {
|
|
7055
|
+
const since = new Date(Date.now() - windowMinutes * 60 * 1000).toISOString();
|
|
7056
|
+
const row = await getDbClient2().get(`SELECT COUNT(*) AS c FROM (
|
|
7057
|
+
SELECT MIN(createdAt) AS firstAt FROM agent_tasks
|
|
7058
|
+
WHERE slackChannelId = ?
|
|
7059
|
+
AND slackThreadTs = ?
|
|
7060
|
+
AND creatorAgentId = ?
|
|
7061
|
+
AND source = 'mcp'
|
|
7062
|
+
AND (createdAt > ? OR taskType = 'script-run-step')
|
|
7063
|
+
GROUP BY CASE
|
|
7064
|
+
WHEN taskType = 'script-run-step' AND contextKey LIKE 'script-run:%:%'
|
|
7065
|
+
THEN substr(contextKey, 1, instr(substr(contextKey, 12), ':') + 10)
|
|
7066
|
+
ELSE id
|
|
7067
|
+
END
|
|
7068
|
+
) WHERE firstAt > ?`, [channelId, threadTs, creatorAgentId, since, since]);
|
|
7069
|
+
return row?.c ?? 0;
|
|
7070
|
+
}
|
|
7025
7071
|
async function findRecentCancelledTaskInThread2(channelId, threadTs, windowMinutes) {
|
|
7026
7072
|
const since = new Date(Date.now() - windowMinutes * 60 * 1000).toISOString();
|
|
7027
7073
|
const row = await getDbClient2().get(`SELECT * FROM agent_tasks
|
|
@@ -7044,7 +7090,7 @@ async function findRecentCancelledTaskInThread2(channelId, threadTs, windowMinut
|
|
|
7044
7090
|
LIMIT 1`, [channelId, threadTs, since]);
|
|
7045
7091
|
return row ? rowToAgentTask(row) : null;
|
|
7046
7092
|
}
|
|
7047
|
-
var dependencies2, TASK_PREVIEW_LENGTH = 300, TASK_PREVIEW_BYTES, SIBLING_OPEN = "<sibling_tasks_in_progress>", SIBLING_CLOSE = "</sibling_tasks_in_progress>", TASK_BLOB = "CAST(agent_tasks.task AS BLOB)", SIBLING_CLOSE_AT, SIBLING_END, TASK_PREVIEW_START, TASK_PREVIEW_SQL, taskPreviewDecoder, LIST_COLUMNS, TASK_LINEAGE_LIMITS2, LINEAGE_COLUMNS, SUPERSEDED_RESUME_REPAIR_WINDOW_MS2, NEVER_STARTED_TASK_STATUSES, findTaskByGitHub2, CHAT_RELAY_ELIGIBLE_SQL = `(obligation.last_attempt_at IS NULL
|
|
7093
|
+
var dependencies2, TASK_PREVIEW_LENGTH = 300, TASK_PREVIEW_BYTES, SIBLING_OPEN = "<sibling_tasks_in_progress>", SIBLING_CLOSE = "</sibling_tasks_in_progress>", TASK_BLOB = "CAST(agent_tasks.task AS BLOB)", SIBLING_CLOSE_AT, SIBLING_END, TASK_PREVIEW_START, TASK_PREVIEW_SQL, taskPreviewDecoder, LIST_COLUMNS, TASK_LINEAGE_LIMITS2, LINEAGE_COLUMNS, SUPERSEDED_RESUME_REPAIR_WINDOW_MS2, NEVER_STARTED_TASK_STATUSES, findTaskByGitHub2, READABLE_WALK_MAX_DEPTH = 64, CHAT_RELAY_ELIGIBLE_SQL = `(obligation.last_attempt_at IS NULL
|
|
7048
7094
|
OR (julianday(?) - julianday(obligation.last_attempt_at)) * 86400000.0 >=
|
|
7049
7095
|
CASE WHEN obligation.attempt_count >= 8 THEN 600000
|
|
7050
7096
|
ELSE 3000 * (1 << obligation.attempt_count) END)`, LINEAR_TRACKER_CONTEXT_KEY_PREFIX = "task:trackers:linear:";
|
|
@@ -7267,8 +7313,8 @@ var init_page_search = __esm(() => {
|
|
|
7267
7313
|
|
|
7268
7314
|
// src/be/db/session-visibility.ts
|
|
7269
7315
|
function sessionViewerCondition(viewer) {
|
|
7270
|
-
const shared = `
|
|
7271
|
-
WHERE s.
|
|
7316
|
+
const shared = `r.id IN (SELECT s.rootTaskId FROM session_shares s
|
|
7317
|
+
WHERE s.revokedAt IS NULL AND (s.userId IS NULL OR s.userId = ?))`;
|
|
7272
7318
|
if (viewer.scope === "mine") {
|
|
7273
7319
|
return { sql: "r.requestedByUserId = ?", params: [viewer.userId] };
|
|
7274
7320
|
}
|
|
@@ -7289,8 +7335,8 @@ function sessionMineCondition(userId) {
|
|
|
7289
7335
|
return {
|
|
7290
7336
|
sql: `((r.requestedByUserId = ? AND (r.source NOT IN (${machine})
|
|
7291
7337
|
OR (r.source = 'system' AND r.taskType IN (${humanSystem}))))
|
|
7292
|
-
OR
|
|
7293
|
-
WHERE s.
|
|
7338
|
+
OR r.id IN (SELECT s.rootTaskId FROM session_shares s
|
|
7339
|
+
WHERE s.revokedAt IS NULL AND (s.userId IS NULL OR s.userId = ?)))`,
|
|
7294
7340
|
params: [userId, ...MACHINE_SESSION_SOURCES, ...HUMAN_SYSTEM_TASK_TYPES, userId]
|
|
7295
7341
|
};
|
|
7296
7342
|
}
|
|
@@ -7405,21 +7451,21 @@ var init_session_moves = __esm(() => {
|
|
|
7405
7451
|
});
|
|
7406
7452
|
|
|
7407
7453
|
// src/be/db/session-tree.ts
|
|
7408
|
-
function sessionReadStateSql(userId, now = new Date().toISOString()) {
|
|
7454
|
+
function sessionReadStateSql(userId, now = new Date().toISOString(), a = LEGACY_READ_STATE_COLUMNS) {
|
|
7409
7455
|
const quiet = new Date(Date.parse(now) - AUTO_DONE_QUIET_MS).toISOString();
|
|
7410
7456
|
const scope = inboxScopeCondition(userId);
|
|
7411
|
-
const autoDone = `(a.openTasks = 0 AND a.pendingApproval = 0 AND a.lastActivityAt <= ? AND ${scope.sql})`;
|
|
7457
|
+
const autoDone = `(${a.openTasks} = 0 AND ${a.pendingApproval} = 0 AND ${a.lastActivityAt} <= ? AND ${scope.sql})`;
|
|
7412
7458
|
const autoDoneParams = [quiet, ...scope.params];
|
|
7413
7459
|
return {
|
|
7414
7460
|
sql: `CASE
|
|
7415
7461
|
WHEN s.id IS NULL THEN CASE
|
|
7416
|
-
WHEN a.lastActivityAt > ? THEN 'unread'
|
|
7462
|
+
WHEN ${a.lastActivityAt} > ? THEN 'unread'
|
|
7417
7463
|
WHEN ${autoDone} THEN 'done'
|
|
7418
7464
|
ELSE 'read' END
|
|
7419
7465
|
WHEN s.status = 'dismissed' THEN 'done'
|
|
7420
|
-
WHEN s.status = 'done' THEN CASE WHEN a.reopensDone
|
|
7466
|
+
WHEN s.status = 'done' THEN CASE WHEN ${a.reopensDone} THEN 'unread' ELSE 'done' END
|
|
7421
7467
|
WHEN s.status = 'snoozed' THEN CASE WHEN s.snoozeUntil > ? THEN 'later' ELSE 'unread' END
|
|
7422
|
-
WHEN a.lastActivityAt > COALESCE(s.lastReadAt, s.lastUpdatedAt) THEN 'unread'
|
|
7468
|
+
WHEN ${a.lastActivityAt} > COALESCE(s.lastReadAt, s.lastUpdatedAt) THEN 'unread'
|
|
7423
7469
|
WHEN ${autoDone} AND s.lastUpdatedAt <= ? THEN 'done'
|
|
7424
7470
|
ELSE 'read'
|
|
7425
7471
|
END`,
|
|
@@ -7435,29 +7481,42 @@ function sessionReadStateSql(userId, now = new Date().toISOString()) {
|
|
|
7435
7481
|
function sourceKeyRanges() {
|
|
7436
7482
|
return SESSION_SOURCES.map((source) => ({ source, ...keyPrefixRange(`shared/${source}/`) }));
|
|
7437
7483
|
}
|
|
7438
|
-
function
|
|
7484
|
+
function sourceThreadKeySql() {
|
|
7439
7485
|
const key = 'r."key"';
|
|
7440
7486
|
const leaf = `substr(${key}, length(rtrim(rtrim(${key}, '/'), replace(${key}, '/', ''))) + 1)`;
|
|
7441
7487
|
const ranges = sourceKeyRanges();
|
|
7442
7488
|
return {
|
|
7443
|
-
sql: `(
|
|
7444
|
-
THEN (SELECT COUNT(*) FROM agent_tasks session_thread_root WHERE session_thread_root."key" = ${key}
|
|
7445
|
-
AND session_thread_root.parentTaskId IS NULL AND session_thread_root.requestedByUserId IS NOT NULL)
|
|
7446
|
-
ELSE 0 END)`,
|
|
7489
|
+
sql: `(${ranges.map(() => `(${key} >= ? AND ${key} < ?)`).join(" OR ")}) AND ${leaf} GLOB 'thread:?*/'`,
|
|
7447
7490
|
params: ranges.flatMap(({ lo, hi }) => [lo, hi])
|
|
7448
7491
|
};
|
|
7449
7492
|
}
|
|
7493
|
+
function threadRootsSql() {
|
|
7494
|
+
const thread = sourceThreadKeySql();
|
|
7495
|
+
return {
|
|
7496
|
+
sql: `(CASE WHEN ${thread.sql}
|
|
7497
|
+
THEN (SELECT COUNT(*) FROM session_summaries session_thread_root
|
|
7498
|
+
WHERE session_thread_root."key" = r."key" AND session_thread_root.requestedByUserId IS NOT NULL)
|
|
7499
|
+
ELSE 0 END)`,
|
|
7500
|
+
params: thread.params
|
|
7501
|
+
};
|
|
7502
|
+
}
|
|
7503
|
+
async function threadRootCounts() {
|
|
7504
|
+
const thread = sourceThreadKeySql();
|
|
7505
|
+
const rows = await getDbClient2().query(`SELECT r."key", COUNT(*) AS threadRoots FROM session_summaries r
|
|
7506
|
+
WHERE r.requestedByUserId IS NOT NULL AND ${thread.sql} GROUP BY r."key"`, thread.params);
|
|
7507
|
+
return new Map(rows.map((row) => [row.key, row.threadRoots]));
|
|
7508
|
+
}
|
|
7450
7509
|
async function getSessionGroupKey(task) {
|
|
7451
7510
|
const threadRoots = threadRootsSql();
|
|
7452
7511
|
const row = await getDbClient2().get(`SELECT ${threadRoots.sql} AS threadRoots FROM agent_tasks r WHERE r.id = ?`, [...threadRoots.params, task.id]);
|
|
7453
7512
|
return sessionThreadGroupKey(task.key, row?.threadRoots ?? 0);
|
|
7454
7513
|
}
|
|
7455
|
-
function groupCondition(group) {
|
|
7514
|
+
function groupCondition(group, scan = false) {
|
|
7456
7515
|
const { lo, hi } = keyPrefixRange(group);
|
|
7457
7516
|
const start = [...lo].length + 1;
|
|
7458
7517
|
const threadRoots = threadRootsSql();
|
|
7459
7518
|
return {
|
|
7460
|
-
sql: `(r."key" >= ? AND r."key" < ? AND (r."key" = ? OR (
|
|
7519
|
+
sql: `(${scan ? "+" : ""}r."key" >= ? AND ${scan ? "+" : ""}r."key" < ? AND (r."key" = ? OR (
|
|
7461
7520
|
instr(substr(r."key", ?, length(r."key") - ?), '/') = 0 AND
|
|
7462
7521
|
(${SESSION_LEAF_KINDS.map(() => 'substr(r."key", ?) GLOB ?').join(" OR ")}) AND
|
|
7463
7522
|
${threadRoots.sql} < ?
|
|
@@ -7475,9 +7534,9 @@ function groupCondition(group) {
|
|
|
7475
7534
|
};
|
|
7476
7535
|
}
|
|
7477
7536
|
function noGroupCondition(userId) {
|
|
7478
|
-
const groups = [groupCondition("shared/")];
|
|
7537
|
+
const groups = [groupCondition("shared/", true)];
|
|
7479
7538
|
if (userId)
|
|
7480
|
-
groups.push(groupCondition(`personal/${userId}
|
|
7539
|
+
groups.push(groupCondition(`personal/${userId}/`, true));
|
|
7481
7540
|
return {
|
|
7482
7541
|
sql: `(${groups.map((g) => g.sql).join(" OR ")})`,
|
|
7483
7542
|
params: groups.flatMap((g) => g.params)
|
|
@@ -7487,7 +7546,7 @@ function inboxScopeCondition(userId) {
|
|
|
7487
7546
|
const ranges = sourceKeyRanges();
|
|
7488
7547
|
const noGroup = noGroupCondition(userId);
|
|
7489
7548
|
return {
|
|
7490
|
-
sql: `(${ranges.map(() => '(r."key" >= ? AND r."key" < ?)').join(" OR ")} OR ${noGroup.sql})`,
|
|
7549
|
+
sql: `(${ranges.map(() => '(+r."key" >= ? AND +r."key" < ?)').join(" OR ")} OR ${noGroup.sql})`,
|
|
7491
7550
|
params: [...ranges.flatMap(({ lo, hi }) => [lo, hi]), ...noGroup.params]
|
|
7492
7551
|
};
|
|
7493
7552
|
}
|
|
@@ -7499,7 +7558,7 @@ function effectiveSourceSql() {
|
|
|
7499
7558
|
};
|
|
7500
7559
|
}
|
|
7501
7560
|
function sessionRootFilter(opts = {}) {
|
|
7502
|
-
const conditions = [
|
|
7561
|
+
const conditions = [];
|
|
7503
7562
|
const params = [];
|
|
7504
7563
|
const add = (fragment) => {
|
|
7505
7564
|
conditions.push(fragment.sql);
|
|
@@ -7529,7 +7588,8 @@ function sessionRootFilter(opts = {}) {
|
|
|
7529
7588
|
if (opts.q?.trim()) {
|
|
7530
7589
|
const like = `%${opts.q.trim().toLowerCase()}%`;
|
|
7531
7590
|
add({
|
|
7532
|
-
sql:
|
|
7591
|
+
sql: `EXISTS (SELECT 1 FROM agent_tasks rt WHERE rt.id = r.id
|
|
7592
|
+
AND (lower(rt.task) LIKE ? OR lower(COALESCE(rt.title, '')) LIKE ?))`,
|
|
7533
7593
|
params: [like, like]
|
|
7534
7594
|
});
|
|
7535
7595
|
}
|
|
@@ -7543,7 +7603,7 @@ function sessionRootFilter(opts = {}) {
|
|
|
7543
7603
|
if (opts.viewer) {
|
|
7544
7604
|
add(sessionViewerCondition(opts.viewer));
|
|
7545
7605
|
if (opts.tree)
|
|
7546
|
-
conditions.push("r.requestedByUserId IS NOT NULL");
|
|
7606
|
+
conditions.push("+r.requestedByUserId IS NOT NULL");
|
|
7547
7607
|
if (opts.mine)
|
|
7548
7608
|
add(sessionMineCondition(opts.viewer.userId));
|
|
7549
7609
|
}
|
|
@@ -7566,7 +7626,7 @@ function sessionRootFilter(opts = {}) {
|
|
|
7566
7626
|
const scope = inboxScopeCondition(opts.viewer?.userId);
|
|
7567
7627
|
add(opts.triage === "done" && opts.viewer?.userId ? { sql: `(${marked.sql} OR ${scope.sql})`, params: [...marked.params, ...scope.params] } : marked);
|
|
7568
7628
|
}
|
|
7569
|
-
return { sql: conditions.join(" AND "), params };
|
|
7629
|
+
return { sql: conditions.length ? conditions.join(" AND ") : "1", params };
|
|
7570
7630
|
}
|
|
7571
7631
|
function excludesTriaged(opts) {
|
|
7572
7632
|
return !!(opts.viewer?.userId && (opts.groupKey || opts.keyPrefix || opts.noGroup));
|
|
@@ -7574,13 +7634,8 @@ function excludesTriaged(opts) {
|
|
|
7574
7634
|
function hasSessionChainFilter(opts) {
|
|
7575
7635
|
return !!(opts.triage || opts.status || opts.withUserId || excludesTriaged(opts));
|
|
7576
7636
|
}
|
|
7577
|
-
function
|
|
7578
|
-
const
|
|
7579
|
-
const read = opts.viewer?.userId ? sessionReadStateSql(opts.viewer.userId, opts.now) : { sql: "NULL", params: [] };
|
|
7580
|
-
const params = [...root.params];
|
|
7581
|
-
if (opts.withUserId)
|
|
7582
|
-
params.push(opts.withUserId);
|
|
7583
|
-
params.push(opts.viewer?.userId ?? null, ...read.params, opts.viewer?.userId ?? null);
|
|
7637
|
+
function summaryRowFilters(opts) {
|
|
7638
|
+
const params = [];
|
|
7584
7639
|
const filters = [];
|
|
7585
7640
|
if (opts.triage === "unread")
|
|
7586
7641
|
filters.push("readState = 'unread'");
|
|
@@ -7601,37 +7656,40 @@ function sessionSummaryQuery(opts = {}) {
|
|
|
7601
7656
|
WHERE sh.rootTaskId = a.root_id AND sh.revokedAt IS NULL AND sh.userId = ?))`);
|
|
7602
7657
|
params.push(opts.withUserId);
|
|
7603
7658
|
}
|
|
7659
|
+
return { sql: filters.length ? `WHERE ${filters.join(" AND ")}` : "", params };
|
|
7660
|
+
}
|
|
7661
|
+
function sessionSummaryQuery(opts = {}) {
|
|
7662
|
+
const root = sessionRootFilter(opts);
|
|
7663
|
+
const read = opts.viewer?.userId ? sessionReadStateSql(opts.viewer.userId, opts.now, {
|
|
7664
|
+
lastActivityAt: "r.lastActivityAt",
|
|
7665
|
+
openTasks: "r.openTaskCount",
|
|
7666
|
+
pendingApproval: "r.pendingApprovalCount",
|
|
7667
|
+
reopensDone: "r.lastHumanAt > s.lastUpdatedAt"
|
|
7668
|
+
}) : { sql: "NULL", params: [] };
|
|
7669
|
+
const filters = summaryRowFilters(opts);
|
|
7670
|
+
const withUser = opts.withUserId ? `r.id IN (SELECT m.rootId FROM agent_tasks t JOIN session_members m ON m.taskId = t.id
|
|
7671
|
+
WHERE t.requestedByUserId = ?) AS withUser,` : "";
|
|
7604
7672
|
return {
|
|
7605
|
-
sql: `WITH
|
|
7606
|
-
|
|
7607
|
-
|
|
7608
|
-
r.
|
|
7609
|
-
|
|
7610
|
-
|
|
7611
|
-
|
|
7612
|
-
|
|
7613
|
-
FROM chain c JOIN agent_tasks t ON t.parentTaskId = c.id
|
|
7614
|
-
), agg AS (
|
|
7615
|
-
SELECT chain.root_id, COUNT(*) AS chainCount,
|
|
7616
|
-
chain.status AS latestStatus, MAX(chain.lastUpdatedAt) AS lastActivityAt,
|
|
7617
|
-
${opts.withUserId ? "SUM(chain.requestedByUserId = ?) AS withUser," : ""}
|
|
7618
|
-
SUM(EXISTS (SELECT 1 FROM approval_requests ar
|
|
7619
|
-
WHERE ar.sourceTaskId = chain.id AND ar.status = 'pending')) AS pendingApproval,
|
|
7620
|
-
SUM(${openTaskSql}) AS openTasks,
|
|
7621
|
-
SUM(${reopensDoneSql}) AS reopensDone
|
|
7622
|
-
FROM chain LEFT JOIN inbox_item_state d
|
|
7623
|
-
ON d.userId = ? AND d.itemType = 'to_read' AND d.itemId = chain.root_id AND d.status = 'done'
|
|
7624
|
-
GROUP BY chain.root_id
|
|
7625
|
-
), state AS (
|
|
7626
|
-
SELECT a.*, ${read.sql} AS readState, s.snoozeUntil
|
|
7627
|
-
FROM agg a CROSS JOIN agent_tasks r ON r.id = a.root_id LEFT JOIN inbox_item_state s
|
|
7628
|
-
ON s.userId = ? AND s.itemType = 'to_read' AND s.itemId = a.root_id
|
|
7673
|
+
sql: `WITH state AS (
|
|
7674
|
+
SELECT r.id AS root_id, r.createdAt AS rootCreatedAt, r."key", r.source, r.slackChannelId,
|
|
7675
|
+
r.chainCount, r.latestStatus, r.lastActivityAt, ${withUser}
|
|
7676
|
+
r.pendingApprovalCount AS pendingApproval, r.openTaskCount AS openTasks,
|
|
7677
|
+
${read.sql} AS readState, s.snoozeUntil
|
|
7678
|
+
FROM ${SESSION_ROOTS} r LEFT JOIN inbox_item_state s
|
|
7679
|
+
ON s.userId = ? AND s.itemType = 'to_read' AND s.itemId = r.id
|
|
7680
|
+
WHERE ${root.sql}
|
|
7629
7681
|
), summary AS (
|
|
7630
7682
|
SELECT *, (COALESCE(readState = 'unread' AND latestStatus = 'failed', 0) OR pendingApproval) AS needsYou
|
|
7631
7683
|
FROM state
|
|
7632
7684
|
)
|
|
7633
|
-
SELECT a.* FROM summary a ${filters.
|
|
7634
|
-
params
|
|
7685
|
+
SELECT a.* FROM summary a ${filters.sql}`,
|
|
7686
|
+
params: [
|
|
7687
|
+
...opts.withUserId ? [opts.withUserId] : [],
|
|
7688
|
+
...read.params,
|
|
7689
|
+
opts.viewer?.userId ?? null,
|
|
7690
|
+
...root.params,
|
|
7691
|
+
...filters.params
|
|
7692
|
+
]
|
|
7635
7693
|
};
|
|
7636
7694
|
}
|
|
7637
7695
|
async function getSessionReadState(rootId, userId, now) {
|
|
@@ -7643,7 +7701,7 @@ function sessionCountQuery(opts = {}) {
|
|
|
7643
7701
|
const chain = hasSessionChainFilter(opts);
|
|
7644
7702
|
const query = chain ? sessionSummaryQuery(opts) : sessionRootFilter(opts);
|
|
7645
7703
|
return {
|
|
7646
|
-
sql: chain ? `SELECT COUNT(*) AS count FROM (${query.sql})` : `SELECT COUNT(*) AS count FROM
|
|
7704
|
+
sql: chain ? `SELECT COUNT(*) AS count FROM (${query.sql})` : `SELECT COUNT(*) AS count FROM ${SESSION_ROOTS} r WHERE ${query.sql}`,
|
|
7647
7705
|
params: query.params
|
|
7648
7706
|
};
|
|
7649
7707
|
}
|
|
@@ -7653,13 +7711,11 @@ async function sessionPageFields(roots) {
|
|
|
7653
7711
|
return result;
|
|
7654
7712
|
const ids = roots.map((r) => r.id);
|
|
7655
7713
|
const [tasks, shares] = await Promise.all([
|
|
7656
|
-
getDbClient2().query(`
|
|
7657
|
-
SELECT id, id FROM agent_tasks WHERE id IN (${ids.map(() => "?").join(",")})
|
|
7658
|
-
UNION ALL SELECT c.root_id, t.id FROM chain c JOIN agent_tasks t ON t.parentTaskId = c.id
|
|
7659
|
-
) SELECT c.root_id, t.requestedByUserId AS id, u.name,
|
|
7714
|
+
getDbClient2().query(`SELECT m.rootId AS root_id, t.requestedByUserId AS id, u.name,
|
|
7660
7715
|
CASE WHEN t.source = 'system' AND t.taskType = 'follow-up' THEN NULL ELSE NULLIF(trim(substr(t.output, 1, 200)), '') END AS preview
|
|
7661
|
-
FROM
|
|
7716
|
+
FROM session_members m CROSS JOIN agent_tasks t ON t.id = m.taskId
|
|
7662
7717
|
LEFT JOIN users u ON u.id = t.requestedByUserId
|
|
7718
|
+
WHERE m.rootId IN (${ids.map(() => "?").join(",")})
|
|
7663
7719
|
ORDER BY t.lastUpdatedAt DESC, t.createdAt DESC, t.id DESC`, ids),
|
|
7664
7720
|
getDbClient2().query(`SELECT sh.rootTaskId AS root_id, sh.userId AS id, u.name, sh.access FROM session_shares sh
|
|
7665
7721
|
LEFT JOIN users u ON u.id = sh.userId
|
|
@@ -7709,10 +7765,12 @@ async function getSessionTree(actor, now, opts = {}) {
|
|
|
7709
7765
|
tree: true,
|
|
7710
7766
|
mine: opts.mine
|
|
7711
7767
|
});
|
|
7712
|
-
const threadRoots =
|
|
7713
|
-
|
|
7714
|
-
|
|
7715
|
-
|
|
7768
|
+
const [rows, threadRoots] = await Promise.all([
|
|
7769
|
+
getDbClient2().query(`SELECT a.root_id, a."key", a.source, a.slackChannelId, a.lastActivityAt, a.latestStatus,
|
|
7770
|
+
a.readState, a.needsYou
|
|
7771
|
+
FROM (${query.sql}) a`, query.params),
|
|
7772
|
+
threadRootCounts()
|
|
7773
|
+
]);
|
|
7716
7774
|
const counts = () => ({ total: 0, unread: 0, running: 0, needsYou: 0 });
|
|
7717
7775
|
const result = {
|
|
7718
7776
|
groups: [],
|
|
@@ -7744,14 +7802,15 @@ async function getSessionTree(actor, now, opts = {}) {
|
|
|
7744
7802
|
for (const row of rows) {
|
|
7745
7803
|
const source = effectiveSource(row.key, row.source);
|
|
7746
7804
|
sources.set(source, (sources.get(source) ?? 0) + 1);
|
|
7747
|
-
const
|
|
7805
|
+
const rowThreadRoots = threadRoots.get(row.key) ?? 0;
|
|
7806
|
+
const key = sessionThreadGroupKey(row.key, rowThreadRoots);
|
|
7748
7807
|
const sourceGroupKey = sessionGroupKey(row.key);
|
|
7749
7808
|
const channelId = /^shared\/slack\/([^/]+)\/$/.exec(sourceGroupKey)?.[1];
|
|
7750
7809
|
if (channelId && row.slackChannelId?.toLowerCase() === channelId) {
|
|
7751
7810
|
slackChannels.add(channelId);
|
|
7752
7811
|
}
|
|
7753
|
-
if (
|
|
7754
|
-
threadRootIds.push(row.
|
|
7812
|
+
if (rowThreadRoots >= NESTED_THREAD_MIN_ROOTS && isSourceThreadKey(row.key)) {
|
|
7813
|
+
threadRootIds.push(row.root_id);
|
|
7755
7814
|
sourceGroups.add(sourceGroupKey);
|
|
7756
7815
|
}
|
|
7757
7816
|
if (sourceOfKey(key))
|
|
@@ -7827,7 +7886,7 @@ async function triageSessionList(userId, filters, action) {
|
|
|
7827
7886
|
]);
|
|
7828
7887
|
return result.changes;
|
|
7829
7888
|
}
|
|
7830
|
-
var AUTO_DONE_QUIET_MS, terminalSql, runningSql, openTaskSql, AGENT_TASK_SOURCES, reopensDoneSql, THREAD_OPEN = "<thread_context>", THREAD_CLOSE = "</thread_context>", THREAD_OPEN_AT, THREAD_CLOSE_AT, THREAD_LABEL_LENGTH = 300, THREAD_LABEL_TRIM_MARGIN = 100, THREAD_PROMPT_SQL, UNREAD_CURSOR = "1970-01-01T00:00:00.000Z";
|
|
7889
|
+
var AUTO_DONE_QUIET_MS, LEGACY_READ_STATE_COLUMNS, SESSION_ROOTS = "(SELECT rootId AS id, * FROM session_summaries)", terminalSql, runningSql, openTaskSql, AGENT_TASK_SOURCES, reopensDoneSql, THREAD_OPEN = "<thread_context>", THREAD_CLOSE = "</thread_context>", THREAD_OPEN_AT, THREAD_CLOSE_AT, THREAD_LABEL_LENGTH = 300, THREAD_LABEL_TRIM_MARGIN = 100, THREAD_PROMPT_SQL, UNREAD_CURSOR = "1970-01-01T00:00:00.000Z";
|
|
7831
7890
|
var init_session_tree = __esm(() => {
|
|
7832
7891
|
init_key();
|
|
7833
7892
|
init_source_key();
|
|
@@ -7835,6 +7894,12 @@ var init_session_tree = __esm(() => {
|
|
|
7835
7894
|
init_db4();
|
|
7836
7895
|
init_session_visibility();
|
|
7837
7896
|
AUTO_DONE_QUIET_MS = 24 * 3600000;
|
|
7897
|
+
LEGACY_READ_STATE_COLUMNS = {
|
|
7898
|
+
lastActivityAt: "a.lastActivityAt",
|
|
7899
|
+
openTasks: "a.openTasks",
|
|
7900
|
+
pendingApproval: "a.pendingApproval",
|
|
7901
|
+
reopensDone: "a.reopensDone > 0"
|
|
7902
|
+
};
|
|
7838
7903
|
terminalSql = TERMINAL_TASK_STATUSES.map((s) => `'${s}'`).join(",");
|
|
7839
7904
|
runningSql = `latestStatus NOT IN (${terminalSql})`;
|
|
7840
7905
|
openTaskSql = `chain.status NOT IN (${terminalSql})`;
|
|
@@ -8163,8 +8228,11 @@ async function dropSessionDescendants(taskId) {
|
|
|
8163
8228
|
UNION SELECT t.id FROM descendant d JOIN agent_tasks t ON t.parentTaskId = d.id
|
|
8164
8229
|
) DELETE FROM session_members WHERE taskId IN (SELECT id FROM descendant)`, [taskId]);
|
|
8165
8230
|
}
|
|
8231
|
+
var OPEN_TASK_SQL;
|
|
8166
8232
|
var init_session_summaries = __esm(() => {
|
|
8233
|
+
init_types4();
|
|
8167
8234
|
init_runtime2();
|
|
8235
|
+
OPEN_TASK_SQL = `t.status NOT IN (${TERMINAL_TASK_STATUSES.map((s) => `'${s}'`).join(", ")})`;
|
|
8168
8236
|
});
|
|
8169
8237
|
|
|
8170
8238
|
// src/be/db/tasks/write.ts
|
|
@@ -8428,7 +8496,7 @@ async function completeTask2(id, output, options) {
|
|
|
8428
8496
|
});
|
|
8429
8497
|
} catch {}
|
|
8430
8498
|
getDbClient2().afterCommit(() => {
|
|
8431
|
-
import("./event-bus-
|
|
8499
|
+
import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
|
|
8432
8500
|
workflowEventBus.emit("task.completed", {
|
|
8433
8501
|
taskId: id,
|
|
8434
8502
|
output: scrubbedOutput,
|
|
@@ -8483,7 +8551,7 @@ async function failTask2(id, reason, opts = {}) {
|
|
|
8483
8551
|
});
|
|
8484
8552
|
} catch {}
|
|
8485
8553
|
getDbClient2().afterCommit(() => {
|
|
8486
|
-
import("./event-bus-
|
|
8554
|
+
import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
|
|
8487
8555
|
workflowEventBus.emit("task.failed", {
|
|
8488
8556
|
taskId: id,
|
|
8489
8557
|
failureReason: scrubbedReason,
|
|
@@ -8565,7 +8633,7 @@ async function cancelTask2(id, reason, options = {}) {
|
|
|
8565
8633
|
});
|
|
8566
8634
|
} catch {}
|
|
8567
8635
|
getDbClient2().afterCommit(() => {
|
|
8568
|
-
import("./event-bus-
|
|
8636
|
+
import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
|
|
8569
8637
|
workflowEventBus.emit("task.cancelled", {
|
|
8570
8638
|
taskId: id,
|
|
8571
8639
|
agentId: row.agentId,
|
|
@@ -8577,7 +8645,7 @@ async function cancelTask2(id, reason, options = {}) {
|
|
|
8577
8645
|
if (row.source === "schedule" && row.taskType === "deferred" && row.parentTaskId) {
|
|
8578
8646
|
getDbClient2().afterCommit(async () => {
|
|
8579
8647
|
try {
|
|
8580
|
-
const { createWorkerTaskFollowUp } = await import("./worker-follow-up-
|
|
8648
|
+
const { createWorkerTaskFollowUp } = await import("./worker-follow-up-77hvzxww.js");
|
|
8581
8649
|
await createWorkerTaskFollowUp({
|
|
8582
8650
|
task: rowToAgentTask(row),
|
|
8583
8651
|
status: "failed",
|
|
@@ -8638,7 +8706,7 @@ async function supersedeTask2(id, args) {
|
|
|
8638
8706
|
});
|
|
8639
8707
|
} catch {}
|
|
8640
8708
|
getDbClient2().afterCommit(() => {
|
|
8641
|
-
import("./event-bus-
|
|
8709
|
+
import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
|
|
8642
8710
|
workflowEventBus.emit("task.superseded", {
|
|
8643
8711
|
taskId: id,
|
|
8644
8712
|
reason: args.reason,
|
|
@@ -8853,7 +8921,7 @@ async function updateTaskProgress2(id, progress) {
|
|
|
8853
8921
|
});
|
|
8854
8922
|
} catch {}
|
|
8855
8923
|
getDbClient2().afterCommit(() => {
|
|
8856
|
-
import("./event-bus-
|
|
8924
|
+
import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
|
|
8857
8925
|
workflowEventBus.emit("task.progress", {
|
|
8858
8926
|
taskId: id,
|
|
8859
8927
|
progress: scrubbedProgress,
|
|
@@ -9314,7 +9382,7 @@ function emitRunFinished(runId, workflowId, status) {
|
|
|
9314
9382
|
}
|
|
9315
9383
|
function emitBusEventAfterCommit(event, payload) {
|
|
9316
9384
|
getDbClient2().afterCommit(() => {
|
|
9317
|
-
import("./event-bus-
|
|
9385
|
+
import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
|
|
9318
9386
|
workflowEventBus.emit(event, payload);
|
|
9319
9387
|
}).catch((err) => console.error(`[db] ${event} event not emitted:`, scrubSecrets(err instanceof Error ? err.message : String(err))));
|
|
9320
9388
|
});
|
|
@@ -10135,6 +10203,7 @@ var init_swarm_config_guard = __esm(() => {
|
|
|
10135
10203
|
"ADDITIVE_SLACK",
|
|
10136
10204
|
"SLACK_THREAD_FOLLOWUP_REQUIRE_MENTION",
|
|
10137
10205
|
"SLACK_THREAD_WAKE_ON_ANY_MESSAGE",
|
|
10206
|
+
"SLACK_LEAVE_THREAD_DISABLE",
|
|
10138
10207
|
"RBAC_ENABLED",
|
|
10139
10208
|
"SEED_AUTOMATIONS_ENABLED",
|
|
10140
10209
|
"RBAC_AUDIT_DISABLED",
|
|
@@ -18841,7 +18910,7 @@ function noteEmbeddingSuccess() {
|
|
|
18841
18910
|
const report = (what) => (err) => {
|
|
18842
18911
|
console.error(`[memory] ${what} backfill after embeddings recovered failed:`, err.message);
|
|
18843
18912
|
};
|
|
18844
|
-
backfill2 = import("./embedding-space-
|
|
18913
|
+
backfill2 = import("./embedding-space-ny1e2940.js").then(({ runEmbeddingMaintenance }) => runEmbeddingMaintenance({ backfill: true })).catch(report("Embedding")).finally(() => {
|
|
18845
18914
|
backfill2 = null;
|
|
18846
18915
|
});
|
|
18847
18916
|
}
|
|
@@ -19374,11 +19443,41 @@ class SqliteMemoryStore {
|
|
|
19374
19443
|
async populateFtsTable() {
|
|
19375
19444
|
const client = getDbClient2();
|
|
19376
19445
|
const startedAt = performance.now();
|
|
19377
|
-
const
|
|
19378
|
-
|
|
19379
|
-
|
|
19446
|
+
const yieldLoop = () => new Promise((resolve) => setImmediate(resolve));
|
|
19447
|
+
const indexed = new Set;
|
|
19448
|
+
let removed = 0;
|
|
19449
|
+
for (let after = 0;; ) {
|
|
19450
|
+
const rows = await client.query(FTS_SCAN_BATCH_SQL, [after, FTS_SCAN_BATCH_SIZE]);
|
|
19451
|
+
if (rows.length === 0)
|
|
19452
|
+
break;
|
|
19453
|
+
after = rows[rows.length - 1].rowid;
|
|
19454
|
+
const orphans = rows.filter((row) => row.orphan).map((row) => row.rowid);
|
|
19455
|
+
if (orphans.length > 0) {
|
|
19456
|
+
await client.run(`DELETE FROM memory_fts WHERE rowid IN (${orphans.map(() => "?").join(",")})`, orphans);
|
|
19457
|
+
removed += orphans.length;
|
|
19458
|
+
}
|
|
19459
|
+
for (const row of rows)
|
|
19460
|
+
if (!row.orphan && row.memoryId)
|
|
19461
|
+
indexed.add(row.memoryId);
|
|
19462
|
+
await yieldLoop();
|
|
19463
|
+
}
|
|
19464
|
+
if (removed > 0) {
|
|
19465
|
+
console.warn(`[memory-fts] removed_extra_rows count=${removed}`);
|
|
19466
|
+
}
|
|
19467
|
+
const missing = [];
|
|
19468
|
+
for (let after = 0;; ) {
|
|
19469
|
+
const rows = await client.query(MEMORY_ID_BATCH_SQL, [
|
|
19470
|
+
after,
|
|
19471
|
+
FTS_SCAN_BATCH_SIZE
|
|
19472
|
+
]);
|
|
19473
|
+
if (rows.length === 0)
|
|
19474
|
+
break;
|
|
19475
|
+
after = rows[rows.length - 1].rowid;
|
|
19476
|
+
for (const row of rows)
|
|
19477
|
+
if (!indexed.has(row.id))
|
|
19478
|
+
missing.push(row);
|
|
19479
|
+
await yieldLoop();
|
|
19380
19480
|
}
|
|
19381
|
-
const missing = await client.query(FTS_MISSING_IDS_SQL);
|
|
19382
19481
|
for (let i = 0;i < missing.length; i += FTS_POPULATE_BATCH_SIZE) {
|
|
19383
19482
|
const ids = missing.slice(i, i + FTS_POPULATE_BATCH_SIZE).map((row) => row.id);
|
|
19384
19483
|
const placeholders = ids.map(() => "?").join(",");
|
|
@@ -20214,9 +20313,11 @@ class SqliteMemoryStore {
|
|
|
20214
20313
|
};
|
|
20215
20314
|
}
|
|
20216
20315
|
}
|
|
20217
|
-
var VECTOR_BYTES,
|
|
20218
|
-
|
|
20219
|
-
|
|
20316
|
+
var VECTOR_BYTES, FTS_SCAN_BATCH_SQL = `SELECT rowid AS rowid, memory_id AS memoryId,
|
|
20317
|
+
memory_id IS NOT NULL
|
|
20318
|
+
AND NOT EXISTS (SELECT 1 FROM agent_memory m WHERE m.id = memory_fts.memory_id) AS orphan
|
|
20319
|
+
FROM memory_fts WHERE rowid > ? ORDER BY rowid LIMIT ?`, MEMORY_ID_BATCH_SQL = `SELECT rowid AS rowid, id FROM agent_memory
|
|
20320
|
+
WHERE rowid > ? ORDER BY rowid LIMIT ?`, FTS_SCAN_BATCH_SIZE = 1000, FTS_POPULATE_BATCH_SIZE = 500;
|
|
20220
20321
|
var init_sqlite_store = __esm(() => {
|
|
20221
20322
|
init_db4();
|
|
20222
20323
|
init_embedding();
|
|
@@ -20903,7 +21004,7 @@ async function loadSecretRegistry() {
|
|
|
20903
21004
|
result.failed += 1;
|
|
20904
21005
|
}
|
|
20905
21006
|
try {
|
|
20906
|
-
const { loadRuntimeControllerSecrets } = await import("./db-
|
|
21007
|
+
const { loadRuntimeControllerSecrets } = await import("./db-3vttcbv4.js");
|
|
20907
21008
|
const loaded = await loadRuntimeControllerSecrets();
|
|
20908
21009
|
result.runtimeController = loaded.count;
|
|
20909
21010
|
result.failed += loaded.failed;
|
|
@@ -21052,17 +21153,40 @@ async function requestSteering(args) {
|
|
|
21052
21153
|
}
|
|
21053
21154
|
const requestedMode = args.mode ?? "queue";
|
|
21054
21155
|
const onUnsupported = args.onUnsupported ?? "degrade";
|
|
21055
|
-
const
|
|
21156
|
+
const { dispatchPre, extensionIdForAgent } = await import("./dispatcher-tx9hd1sv.js");
|
|
21157
|
+
const preSteer = await dispatchPre("pre.task.steer", {
|
|
21158
|
+
task,
|
|
21159
|
+
message: args.message,
|
|
21160
|
+
mode: requestedMode,
|
|
21161
|
+
source: args.source ?? "api",
|
|
21162
|
+
sender: {
|
|
21163
|
+
kind: args.createdByKind ?? "system",
|
|
21164
|
+
userId: args.createdByUserId,
|
|
21165
|
+
agentId: args.createdByAgentId
|
|
21166
|
+
},
|
|
21167
|
+
messageTimestamps: args.messageTimestamps,
|
|
21168
|
+
slack: args.slack
|
|
21169
|
+
}, {
|
|
21170
|
+
skipExtensionId: extensionIdForAgent(args.createdByAgentId),
|
|
21171
|
+
validateModify: (data) => steeringModifySchema.safeParse(data)
|
|
21172
|
+
});
|
|
21173
|
+
if (preSteer.action === "block") {
|
|
21174
|
+
throw new SteeringBlockedError(preSteer.reason, preSteer.extension);
|
|
21175
|
+
}
|
|
21176
|
+
const currentTask = await getTaskById2(args.taskId);
|
|
21177
|
+
if (!currentTask)
|
|
21178
|
+
throw new SteeringRequestError("Task not found", 404);
|
|
21179
|
+
const provider = await providerForTask(currentTask);
|
|
21056
21180
|
const supportedModes = PROVIDER_STEER_CAPABILITIES[provider];
|
|
21057
21181
|
if (onUnsupported === "fail" && !supportedModes.includes(requestedMode)) {
|
|
21058
21182
|
const supported = supportedModes.length > 0 ? supportedModes.join(", ") : "none";
|
|
21059
21183
|
throw new SteeringRequestError(`Harness provider '${provider}' does not support steering mode '${requestedMode}' (supported modes: ${supported})`, 422);
|
|
21060
21184
|
}
|
|
21061
|
-
const activeTask =
|
|
21185
|
+
const activeTask = currentTask.status === "paused" ? await resumeTask2(task.id) : currentTask;
|
|
21062
21186
|
if (!activeTask) {
|
|
21063
21187
|
throw new SteeringRequestError("Failed to resume paused task", 500);
|
|
21064
21188
|
}
|
|
21065
|
-
const body = scrubSecrets(args.message);
|
|
21189
|
+
const body = scrubSecrets(preSteer.action === "modify" ? preSteer.data.message : args.message);
|
|
21066
21190
|
const preStart = activeTask.status === "unassigned" || activeTask.status === "offered" || activeTask.status === "pending";
|
|
21067
21191
|
const degradedFrom = requestedMode === "steer" && supportedModes.length > 0 && (!supportedModes.includes("steer") || preStart) ? requestedMode : undefined;
|
|
21068
21192
|
const effectiveMode = degradedFrom ? "queue" : requestedMode;
|
|
@@ -21094,8 +21218,9 @@ async function requestSteering(args) {
|
|
|
21094
21218
|
degradedFrom
|
|
21095
21219
|
};
|
|
21096
21220
|
}
|
|
21097
|
-
var STEERING_MOVED_ERROR = "Steering message moved to another task", SteeringRequestError, AGENT_ID_CHUNK = 500;
|
|
21221
|
+
var STEERING_MOVED_ERROR = "Steering message moved to another task", SteeringRequestError, SteeringBlockedError, steeringModifySchema, AGENT_ID_CHUNK = 500;
|
|
21098
21222
|
var init_steering2 = __esm(() => {
|
|
21223
|
+
init_zod();
|
|
21099
21224
|
init_types4();
|
|
21100
21225
|
init_secret_scrubber();
|
|
21101
21226
|
init_steering_enabled();
|
|
@@ -21108,6 +21233,19 @@ var init_steering2 = __esm(() => {
|
|
|
21108
21233
|
this.name = "SteeringRequestError";
|
|
21109
21234
|
}
|
|
21110
21235
|
};
|
|
21236
|
+
SteeringBlockedError = class SteeringBlockedError extends SteeringRequestError {
|
|
21237
|
+
reason;
|
|
21238
|
+
extension;
|
|
21239
|
+
constructor(reason, extension) {
|
|
21240
|
+
super(`Steering blocked by extension ${extension.name}: ${reason}`, 403);
|
|
21241
|
+
this.reason = reason;
|
|
21242
|
+
this.extension = extension;
|
|
21243
|
+
this.name = "SteeringBlockedError";
|
|
21244
|
+
}
|
|
21245
|
+
};
|
|
21246
|
+
steeringModifySchema = strictObject2({
|
|
21247
|
+
message: string2().refine((message) => message.trim().length > 0, "Message must not be empty")
|
|
21248
|
+
});
|
|
21111
21249
|
});
|
|
21112
21250
|
|
|
21113
21251
|
// src/be/db/active-sessions.ts
|
|
@@ -21214,6 +21352,16 @@ async function getScriptRunExecutionArgs2(id) {
|
|
|
21214
21352
|
const row = await getDbClient2().get("SELECT args FROM script_runs WHERE id = ?", [id]);
|
|
21215
21353
|
return row ? openSealedJson(row.args) : undefined;
|
|
21216
21354
|
}
|
|
21355
|
+
async function getScriptRunFollowUpGuard2(runId) {
|
|
21356
|
+
const row = await getDbClient2().get("SELECT followUpGuard FROM script_runs WHERE id = ?", [runId]);
|
|
21357
|
+
return row?.followUpGuard ?? null;
|
|
21358
|
+
}
|
|
21359
|
+
async function setScriptRunFollowUpGuard2(runId, decision) {
|
|
21360
|
+
await getDbClient2().run("UPDATE script_runs SET followUpGuard = ? WHERE id = ?", [
|
|
21361
|
+
decision,
|
|
21362
|
+
runId
|
|
21363
|
+
]);
|
|
21364
|
+
}
|
|
21217
21365
|
var init_script_runs = __esm(() => {
|
|
21218
21366
|
init_sealed_json();
|
|
21219
21367
|
init_runtime2();
|
|
@@ -21264,6 +21412,7 @@ __export(exports_db, {
|
|
|
21264
21412
|
completeTask: () => completeTask2,
|
|
21265
21413
|
computeContentHash: () => computeContentHash2,
|
|
21266
21414
|
countActiveScriptRuns: () => countActiveScriptRuns2,
|
|
21415
|
+
countAgentDispatchesInThread: () => countAgentDispatchesInThread2,
|
|
21267
21416
|
countAllMetrics: () => countAllMetrics2,
|
|
21268
21417
|
countAllPages: () => countAllPages2,
|
|
21269
21418
|
countKv: () => countKv2,
|
|
@@ -21338,9 +21487,10 @@ __export(exports_db, {
|
|
|
21338
21487
|
failPendingResumeIfUnclaimed: () => failPendingResumeIfUnclaimed2,
|
|
21339
21488
|
failTask: () => failTask2,
|
|
21340
21489
|
findActiveTasksByVcs: () => findActiveTasksByVcs2,
|
|
21341
|
-
|
|
21490
|
+
findCompletedTasksInThread: () => findCompletedTasksInThread2,
|
|
21342
21491
|
findExistingLinearTrackerContextWork: () => findExistingLinearTrackerContextWork2,
|
|
21343
21492
|
findRecentCancelledTaskInThread: () => findRecentCancelledTaskInThread2,
|
|
21493
|
+
findRecentFailedTaskInThread: () => findRecentFailedTaskInThread2,
|
|
21344
21494
|
findRecentSimilarTasks: () => findRecentSimilarTasks2,
|
|
21345
21495
|
findTaskByAgentMailThread: () => findTaskByAgentMailThread2,
|
|
21346
21496
|
findTaskByGitHub: () => findTaskByGitHub2,
|
|
@@ -21489,6 +21639,7 @@ __export(exports_db, {
|
|
|
21489
21639
|
getScriptRun: () => getScriptRun2,
|
|
21490
21640
|
getScriptRunByIdempotencyKey: () => getScriptRunByIdempotencyKey2,
|
|
21491
21641
|
getScriptRunExecutionArgs: () => getScriptRunExecutionArgs2,
|
|
21642
|
+
getScriptRunFollowUpGuard: () => getScriptRunFollowUpGuard2,
|
|
21492
21643
|
getScriptRunJournalStep: () => getScriptRunJournalStep2,
|
|
21493
21644
|
getServiceByAgentAndName: () => getServiceByAgentAndName2,
|
|
21494
21645
|
getServiceById: () => getServiceById2,
|
|
@@ -21681,6 +21832,7 @@ __export(exports_db, {
|
|
|
21681
21832
|
setApiKeyPlan: () => setApiKeyPlan2,
|
|
21682
21833
|
setBudgetRefusalFollowUpTaskId: () => setBudgetRefusalFollowUpTaskId2,
|
|
21683
21834
|
setFavorite: () => setFavorite2,
|
|
21835
|
+
setScriptRunFollowUpGuard: () => setScriptRunFollowUpGuard2,
|
|
21684
21836
|
setSlackMessageTracking: () => setSlackMessageTracking2,
|
|
21685
21837
|
setUserFavorite: () => setUserFavorite2,
|
|
21686
21838
|
settleSupersededTaskDependents: () => settleSupersededTaskDependents2,
|
|
@@ -23243,7 +23395,7 @@ async function createTaskExtended2(task, options) {
|
|
|
23243
23395
|
priority: row.priority
|
|
23244
23396
|
}, (task) => task !== null, row.requestedByUserId);
|
|
23245
23397
|
getDbClient2().afterCommit(() => {
|
|
23246
|
-
import("./event-bus-
|
|
23398
|
+
import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => {
|
|
23247
23399
|
workflowEventBus.emit("task.created", {
|
|
23248
23400
|
taskId: row.id,
|
|
23249
23401
|
task: row.task,
|
|
@@ -23325,7 +23477,7 @@ async function releaseTask2(taskId, wakeSnapshot) {
|
|
|
23325
23477
|
} catch {}
|
|
23326
23478
|
if (isRuntimePoolsEnabled() && !wakeSnapshot)
|
|
23327
23479
|
getDbClient2().afterCommit(() => {
|
|
23328
|
-
import("./event-bus-
|
|
23480
|
+
import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => workflowEventBus.emit("task.unassigned", { taskId })).catch((error) => console.error("[db] Routing event failed:", scrubSecrets(String(error))));
|
|
23329
23481
|
});
|
|
23330
23482
|
}
|
|
23331
23483
|
return row ? rowToAgentTask(row) : null;
|
|
@@ -23395,7 +23547,7 @@ async function rejectTask2(taskId, agentId, reason) {
|
|
|
23395
23547
|
} catch {}
|
|
23396
23548
|
if (isRuntimePoolsEnabled())
|
|
23397
23549
|
getDbClient2().afterCommit(() => {
|
|
23398
|
-
import("./event-bus-
|
|
23550
|
+
import("./event-bus-g0ka3pbw.js").then(({ workflowEventBus }) => workflowEventBus.emit("task.unassigned", { taskId })).catch((error) => console.error("[db] Routing event failed:", scrubSecrets(String(error))));
|
|
23399
23551
|
});
|
|
23400
23552
|
}
|
|
23401
23553
|
return row ? rowToAgentTask(row) : null;
|
|
@@ -25073,7 +25225,7 @@ async function deleteScheduledTask2(id) {
|
|
|
25073
25225
|
const parent = await getTaskById2(deferred.parentTaskId);
|
|
25074
25226
|
if (!parent?.deferredAt)
|
|
25075
25227
|
return;
|
|
25076
|
-
const { createWorkerTaskFollowUp } = await import("./worker-follow-up-
|
|
25228
|
+
const { createWorkerTaskFollowUp } = await import("./worker-follow-up-77hvzxww.js");
|
|
25077
25229
|
await createWorkerTaskFollowUp({
|
|
25078
25230
|
task: parent,
|
|
25079
25231
|
status: "failed",
|
|
@@ -28615,13 +28767,15 @@ async function getRootTaskChain2(rootTaskId) {
|
|
|
28615
28767
|
async function listRecentSessions2(opts = {}) {
|
|
28616
28768
|
const query = sessionSummaryQuery(opts);
|
|
28617
28769
|
const threadRoots = threadRootsSql();
|
|
28770
|
+
const order = (a) => `${opts.triage === "later" ? `${a}.snoozeUntil ASC,` : ""}
|
|
28771
|
+
${a}.lastActivityAt DESC, ${a}.rootCreatedAt DESC, ${a}.root_id DESC`;
|
|
28618
28772
|
const rootRows = await getDbClient2().query(`SELECT r.*, a.chainCount AS __chainCount, a.lastActivityAt AS __lastActivityAt,
|
|
28619
28773
|
a.latestStatus AS __latestStatus, a.readState AS __readState,
|
|
28620
28774
|
a.snoozeUntil AS __snoozeUntil, a.needsYou AS __needsYou,
|
|
28621
28775
|
${threadRoots.sql} AS __threadRoots
|
|
28622
|
-
FROM (${query.sql})
|
|
28623
|
-
|
|
28624
|
-
|
|
28776
|
+
FROM (SELECT * FROM (${query.sql}) page ORDER BY ${order("page")} LIMIT ? OFFSET ?) a
|
|
28777
|
+
CROSS JOIN agent_tasks r ON r.id = a.root_id
|
|
28778
|
+
ORDER BY ${order("a")}`, [...threadRoots.params, ...query.params, opts.limit ?? 25, opts.offset ?? 0]);
|
|
28625
28779
|
const fields = await sessionPageFields(rootRows.map((row) => ({
|
|
28626
28780
|
id: row.id,
|
|
28627
28781
|
requestedByUserId: row.requestedByUserId ?? undefined
|
|
@@ -29087,7 +29241,8 @@ function rowToScriptRun(row) {
|
|
|
29087
29241
|
error: row.error ?? undefined,
|
|
29088
29242
|
lastHeartbeatAt: row.last_heartbeat_at ?? undefined,
|
|
29089
29243
|
idempotencyKey: row.idempotencyKey ?? undefined,
|
|
29090
|
-
requestedByUserId: row.requestedByUserId ?? undefined
|
|
29244
|
+
requestedByUserId: row.requestedByUserId ?? undefined,
|
|
29245
|
+
sourceTaskId: row.sourceTaskId ?? undefined
|
|
29091
29246
|
};
|
|
29092
29247
|
}
|
|
29093
29248
|
function rowToScriptRunListItem(row) {
|
|
@@ -29114,8 +29269,9 @@ async function createScriptRun2(data) {
|
|
|
29114
29269
|
return { run: rowToScriptRun(existing), existing: true };
|
|
29115
29270
|
}
|
|
29116
29271
|
const row = await client.get(`INSERT INTO script_runs
|
|
29117
|
-
(id, agentId, scriptName, source, args, idempotencyKey, requestedByUserId,
|
|
29118
|
-
|
|
29272
|
+
(id, agentId, scriptName, source, args, idempotencyKey, requestedByUserId, sourceTaskId,
|
|
29273
|
+
created_by, updated_by)
|
|
29274
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
29119
29275
|
RETURNING *`, [
|
|
29120
29276
|
data.id,
|
|
29121
29277
|
data.agentId,
|
|
@@ -29124,6 +29280,7 @@ async function createScriptRun2(data) {
|
|
|
29124
29280
|
sealJson(data.args ?? null),
|
|
29125
29281
|
data.idempotencyKey ?? null,
|
|
29126
29282
|
data.requestedByUserId ?? null,
|
|
29283
|
+
data.sourceTaskId ?? null,
|
|
29127
29284
|
data.createdBy ?? null,
|
|
29128
29285
|
data.updatedBy ?? data.createdBy ?? null
|
|
29129
29286
|
]);
|
|
@@ -29451,4 +29608,4 @@ var init_db4 = __esm(() => {
|
|
|
29451
29608
|
};
|
|
29452
29609
|
});
|
|
29453
29610
|
|
|
29454
|
-
export { slackContextKey, chatSdkContextKey, chatThreadOfContextKey, agentmailContextKey, githubContextKey, gitlabContextKey, azureDevOpsContextKey, azureDevOpsWorkItemContextKey, bitbucketContextKey, linearContextKey, buildJiraContextKey, scheduleContextKey, workflowContextKey, agentContextKey, pageContextKey, init_context_key, sessionSourceKey, sourceOfKey, SOURCE_GROUPS_READ_ONLY, sourceMoveError, init_source_key, checkSlackRoutingCoherence, init_slack_routing, init_catalog, catalog_default, COMPANY_TEAM_SIZES, COMPANY_USE_CASES, USER_FUNCTIONS, reportedUseCase, reportedUserFunction, init_company_profile, mapTriggerSurface, init_telemetry_context, TELEMETRY_PROXY_ORIGIN, normalizeOrgWebsite, orgLogoUrl, isFilledOrgLogoUrl, init_org_website, beginRequestAuthScope, setRequestAuth, getRequestAuth, runWithoutRequestAuth, authUserId, authUser, isOperatorAuth, getCurrentRequestUserId, init_request_auth_context, setTelemetryIngestObserver, isTelemetryEnabled, _resolveIntegrationType, _resolveIntegrationProvider, initTelemetry, setTelemetryRoleResolver, setTelemetryFunctionResolver, isTelemetryReady, track, trackRelayed, telemetry, emitIntegrationConnected, init_telemetry, auditAssetKeys, init_asset_key_audit, CredentialBindingSchema, placeholderForConfigKey, CredentialBroker, DEFAULT_CREDENTIAL_BINDINGS, isPrivateAddress, assertUrlSafe, parseEgressAllowlist, init_egress_guard, init_credential_broker, encryptSecret, decryptSecret, getEncryptionKey, init_crypto, isInTransaction, init_db_client, breaksJsonValidity, scrubJsonValue, foldHexCopies, init_scrub_json, sealJson, init_sealed_json, getPromptTemplateDefaultDrift, init_default_drift, init_templates2, init_templates3, isSqliteVecAvailable2, resolveSqliteVecExtensionPath2, __resetSqliteVecExtensionPathCacheForTests2, initDb2, getDb2, closeDb2, getDbClient2, init_runtime2, cachedUserRole, cachedUserFunction, invalidateTelemetryUserRole, configureOrgDomainPersistence, recomputeOrgDomain, scheduleOrgDomainRecompute, init_telemetry_identity, resolveTriggerSurface, emitTaskTelemetry, init_telemetry_trigger, CODEX_AUTH_FAILURE_BENCH_THRESHOLD, CODEX_AUTH_WATCH_NAMESPACE, codexAuthBenchMarkerKey, isCodexAuthFailureReason, init_codex_auth_failure, isEnvExportRestrictedKey, init_config_env_export, MASKED_SECRET_VALUE, init_config_secrets, HeartbeatExpiryError, init_heartbeat_expiry, isRuntimePoolsEnabled, init_runtime_pools_flag, normalizeDate, normalizeDateRequired, init_date_utils, rowToAgent, updateAgentCredentialState2, updateAgentCredentialMissing2, createAgent2, getAgentById2, EXTENSION_AGENT_ROLE2, NOT_EXTENSION_AGENT_SQL2, isExtensionAgent2, extensionAgentAssignmentError2, ReservedAgentRoleError2, reservedRoleViolation2, ExtensionAgentAssignmentError2, getAllAgents2, getAgentStatusCounts2, getLeadAgent2, updateAgentStatus2, updateAgentMaxTasks2, updateAgentProvider2, setAgentHarnessProvider2, updateAgentCredStatus2, listAgentsWithCredStatusByProvider2, getAgentHarnessProviders2, updateAgentActivity2, MAX_EMPTY_POLLS2, incrementEmptyPollCount2, resetEmptyPollCount2, shouldBlockPolling2, deleteAgent2, getActiveTaskCount2, hasCapacity2, getRemainingCapacity2, updateAgentStatusFromCapacity2, isPoolAffinityEnforcementEnabled2, buildRoutingAffinityFromAgent2, isAgentEligibleForTask2, getAgentDailyTaskCounts2, init_agents, listApprovalRequestSummaries2, getPendingApprovalVoteState2, recordApprovalVotes2, getPendingApprovalsForTasks2, approvalCancellationNotificationKey, listUndeliveredCancelledApprovalRequestIds, init_approvals, computeContentHash2, createContextVersion2, getLatestContextVersion2, getContextVersion2, getContextVersionHistory2, vcsRepoName, vcsRepoUrlMatches, init_vcs_repo_match, startTaskSearchBackfill, stopTaskSearchBackfill, init_search_index, rowToAgentTask, getTaskById2, getChildTasks2, TASK_LINEAGE_LIMITS2, getTaskLineage2, hasNonTerminalResumeChild2, SUPERSEDED_RESUME_REPAIR_WINDOW_MS2, getSupersededTasksWithoutResume2, getSupersededTasksWithUnsettledDependents2, hasNonTerminalRerouteDecisionChild2, getTasksByAgentId2, getAgentCurrentTask2, getTasksByStatus2, findTaskByVcs2, findActiveTasksByVcs2, findTaskByGitHub2, readableSessionCondition, getAllTasks2, getTasksCount2, getTaskStats2, getCompletedSlackTasks2, getPendingSlackRelayTasks2, markSlackRelayAttempted2, markSlackRelayDelivered2, markFinalizedSlackRelaysDelivered2, getPendingChatRelayTasks2, giveUpStaleChatRelays2, markChatRelayAttempted2, recordChatRelayError2, markChatRelayDelivered2, markChatRelayGivenUp2, getRecentlyFinishedWorkerTasks2, markTasksNotified2, resetTasksNotified2, getInProgressSlackTasks2, getSlackTasksMissingTree2, getInProgressTasksByContextKey2, isLinearTrackerContextKey2, findExistingLinearTrackerContextWork2, getLatestTaskByContextKey2, getLatestScriptRunStepTaskByContextKey2, getAgentWorkingOnThread2, getLatestActiveTaskInThread2, getLatestLeadTaskInThread2, getAgentWorkingOnContextKey2, getLatestActiveTaskByContextKey2, getLatestLeadTaskByContextKey2, getMostRecentTaskInThread2, findCompletedTaskInThread2, findRecentCancelledTaskInThread2, init_read, MODEL_PROFILE_CONFIG_KEY, listModelProfiles, getModelProfileByName, createModelProfile, updateModelProfile, modelProfileReferences, modelProfileRefError, deleteModelProfile, getAgentDefaultProfileName, repoModelOverrideKeys, taskProfileError, init_model_profiles, AssetKeyMovesBlockedError2, assertAssetKeyMovesAllowed2, moveTaskChainKeyInTx2, moveSessionChains, listPrefixRoots, listSharedPrefixRoots, init_session_moves, getSessionGroupKey, getSessionReadState, getSessionTree, triageSessionList, init_session_tree, setHumanFreeQueueListener, drainHumanFreeReclassifyQueue, init_human_free, onTaskStarted, init_task_lifecycle_events, channelTopic, addWorkerSubscription, removeWorkerSubscription, listSubscribedWorkerAgents, init_channels, publishWorkerNudge, init_worker_nudges, CHAT_SDK_ADAPTER_NAMES, CHAT_SDK_ADAPTER_SCHEMAS, ChatSdkAdaptersDraftSchema, firstIssueText, isAdapterEntryEnabled, init_schema, TELEMETRY_RANKING_KEY, PUBLIC_RANKING_ENABLED_KEY, RANKING_CATEGORIES, readTelemetryRanking, rankingFormSchema, buildListing, init_telemetry_ranking, resolveQuickJSPoolSize, init_quickjs_pool_config, SLACK_REACTION_DEFAULTS, SLACK_REACTION_CONFIG_KEYS, reactionName, completedStatusIcon, init_reaction_shortcode, API_DRAINING_HEADER, API_DRAIN_MAX_MS_LIMIT, isApiDrainingResponse, init_api_drain2, parseEnabledTools, init_enabled_tools, parseTaskToolManifest, CHAT_TASK_ONLY_TOOLS, isChatSdkTask, selectTaskTools, init_task_tool_manifest, tierConfigKey, init_model_tier_keys, isApiOnlyConfigKey, isInternalConfigKey, internalConfigKeyError, isReservedConfigKey, reservedKeyError, MAX_DB_RETENTION_DAYS, DB_RETENTION_TUNING_BOUNDS, APPS_JSON_COLUMN_MAX_BYTES_BOUNDS, CODEX_OAUTH_KEEP_WARM_MAX_AGE_HOURS_BOUNDS, validateRuntimeTokenTtlHours, validateControllerTokenTtlDays, validateControllerGraceSec, validateConfigValue, validateConfigEntry, validateExportToEnv, init_swarm_config_guard, getDefaultAuthorizationIdForProvider, getOAuthApp, getOAuthAppById, getOAuthAppIdByProvider, createOAuthApp, updateOAuthAppById, upsertOAuthApp, listAuthorizationsForApp, getAuthorizationById, upsertAuthorization, updateAuthorizationTokens, updateAuthorizationIdentity, deleteAuthorizationById, deleteAuthorizationsForApp, createOAuthPending, consumeOAuthPending, gcOAuthPending, markAuthorizationRefreshFailed, getOAuthTokens, listAuthorizationSweepRows, listKeepAliveAuthorizations, deleteOAuthTokens, acquireOAuthRefreshLock, releaseOAuthRefreshLock, init_oauth, OpenAI2, init_openai2, LEARNING_DUPLICATE_MIN_SIMILARITY, CANDIDATE_SET_MULTIPLIER, isGraphExpansionEnabled, EMBEDDING_DIMENSIONS, init_constants2, LONGTERM_ROOT, MEMORY_KEY_PATTERN, MEMORY_KEY_PATTERN_MESSAGE, MEMORY_KEY_MAX_LENGTH, isLongtermKey, longtermKeyError, isConsolidatedKey, consolidatedKeyMessage, resolveStoreKey, init_key_paths, computeScore, rerank, init_reranker, searchMemoryCandidates, init_search_candidates, rowToCandidate, init_sqlite_store, getEmbeddingProvider2, resetEmbeddingProvider2, getMemoryStore2, init_memory, embeddingProvider2, computeScriptEmbedding2, writeScriptEmbedding2, embedScript2, searchScripts2, reembedAllScripts2, init_embeddings, upsertScriptByName, getScript, getScriptById, getScriptVersion, listScripts, listScriptVersions, deleteScript, touchScratchScriptLastUsed, restoreScratchScriptLastUsedIfUnchanged, createScriptApi, listScriptApisForScript, getScriptApiById, getScriptApiSecret, updateScriptApi, rotateScriptApiSecret, deleteScriptApi, recordScriptApiUsage, init_db3, oauthSecretName, registerStoredSecret, loadSecretRegistry, init_secret_registry, STEERING_MOVED_ERROR, SteeringRequestError, isSteeringEnabled, getTaskSteeringFields, getTaskSteeringFieldsForTasks, promotePendingSteeringForTask, markSteeringUndeliverable, carryUnhandledSteering, requestSteering, init_steering2, WorkflowReplayStateError, init_workflow_replay, getWorkflowRunTriggeredByAgentId, getWorkflowRunSummary, getWorkflowRunStepsSlimByRunId, WORKFLOW_RUN_TREE_MAX_DEPTH, WorkflowRunTreeError, getRunLineageBlock, getWorkflowRunTreeIds, getWorkflowRunStatus, getOpenWorkflowTreeTaskIds, getTaskIdsWithDependents, workflowRunTreeHasOpenWork, getWorkflowRunTree, cancelOpenWorkflowTreeSteps, disarmWorkflowTreeRetries, cancelLiveWorkflowTreeRuns, getChildWorkflowRunId, isParentStepAttemptCurrent, getRunningSubWorkflowSteps, getWorkflowRunParent, getWorkflowRunLineage, getSettledChildRunParentSteps, emitRunFinished, createForeachChildSteps, createForeachAttemptSteps, init_workflow_runs, SESSION_ACTIVITY_REFRESH_MIN_INTERVAL_MS2, refreshActiveSessionOnActivity2, getActiveSessionById, init_active_sessions, createTask2, getPendingTaskForAgent2, assignUnassignedTaskPending2, startTask2, updateTaskClaudeSessionId2, recordTaskProviderIfUnset2, updateTaskTitle2, completeTask2, failTask2, overwriteTerminalTaskResultText2, cancelTask2, supersedeTask2, settleSupersededTaskDependents2, backfillSupersedeTaskResumeTaskId2, pauseTask2, resumeTask2, getPausedTasksForAgent2, getOrphanedInProgressTasksForAgent2, resetOrphanedInProgressTasksForAgent2, getRecentlyCancelledTasksForAgent2, deleteTask2, updateTaskProgress2, IdempotencyKeyTakenError, workflowRequestFingerprint, findAcceptedWorkflowOperation, assertWorkflowIdempotencyKeyUnused, recordAcceptedWorkflowOperation, init_workflow_idempotency, recordKeySeatMismatch2, recordKeyValidation2, retirePoolKeyStatus, init_api_keys, getScriptRunExecutionArgs2, literalPrefixPattern2, getSlackRenderV2ActivatedAt2, ensureSlackRenderV2Activation2, getSlackDelegationActivatedAt2, ensureSlackDelegationActivation2, isPendingSlackMessage2, isSettledSlackMessage2, recordSlackMessage2, reserveSlackMessage2, bindSlackMessageTimestamp2, updateSlackMessageRecord2, markSlackTreeRendered2, deleteSlackMessageRecord2, getSlackTreeMessage2, getSlackTreeMessageByThread2, getSlackOutcomeMessage2, getResolvableDeferralOutcomes2, markSlackDeferralResolved2, noteSlackOutcomeDeliveryFailure2, abandonSlackOutcomeDelivery2, getSlackTreeMessages2, getSlackMessageByChannelTs2, getSlackTasksInThread2, listSlackThreadsAwaitingHuman2, isSlackThreadAwaitingHuman2, markTaskSlackReplySent2, setSlackMessageTracking2, updateTaskVcs2, insertTaskAttachment2, recordTaskPullRequestAttachments2, getAssetKeyMappingByProvider2, upsertAssetKeyMapping2, getAssetKeyMapping2, listAssetSummaries2, moveAssetKey2, deleteTaskAttachment2, replaceTaskAttachment2, getTaskAttachments2, createSteeringMessage2, getSteeringMessagesForTask2, getSteeringMessageById2, getPendingSteeringForTask2, getPendingSteeringForAgent2, markSteeringDelivered2, markSteeringHandled2, markSteeringPromoted2, cancelPendingSteeringForTask2, hasPendingSteering2, getAgentWithTasks2, getAllAgentsWithTasks2, createLogEntry2, getLogsByAgentId2, getLogsByTaskId2, getLogsByTaskIdAndEventType2, getLogsByTaskIdChronological2, getLogsByEventType2, getAllLogs2, findRecentSimilarTasks2, createTaskExtended2, claimTask2, releaseTask2, acceptTask2, rejectTask2, moveTaskToBacklog2, moveTaskFromBacklog2, promoteDraftTask2, refreshDraftTaskLease2, promoteAbandonedDraftTasks2, releaseStaleReviewingTasks2, releaseStaleOfferedTasksForOfflineAgents2, getOfferedTasksForAgent2, claimOfferedTask2, getUnassignedTasksCount2, getUnassignedTaskIds2, getUnassignedTaskIdsForAgent2, checkDependencies2, getDependentTasks2, cascadeFailDependents2, updateAgentProfile2, updateAgentName2, createChannel2, getMessageById2, getChannelById2, getChannelByName2, getAllChannels2, deleteChannel2, postMessage2, getChannelMessages2, updateReadState2, getLastReadAt2, getUnreadMessages2, getMentionsForAgent2, getInboxSummary2, claimMentions2, releaseMentionProcessing2, releaseStaleMentionProcessing2, createService2, getServiceById2, getServiceByAgentAndName2, getServicesByAgentId2, getAllServices2, updateServiceStatus2, deleteService2, upsertService2, deleteServicesByAgentId2, createSessionLogs2, getSessionLogsByTaskId2, getSessionLogsBySession2, createSessionCost2, getSessionCostsByTaskId2, getSessionCostsByAgentId2, getAllSessionCosts2, getSessionCostsFiltered2, UNATTRIBUTED_USER_ID2, getSessionCostSummary2, getAttributionByPerson2, getDashboardCostSummary2, createInboxMessage2, getInboxMessageById2, getUnreadInboxMessages2, claimInboxMessages2, markInboxMessageRead2, markInboxMessageResponded2, markInboxMessageDelegated2, releaseStaleProcessingInbox2, getConcurrentContext2, getScheduledTasks2, getScheduledTaskById2, getScheduledTaskByName2, createScheduledTask2, updateScheduledTask2, deleteScheduledTask2, getDueScheduledTasks2, autoEncryptLegacyPlaintextSecrets2, maskSecrets2, getSwarmConfigs2, getInjectableGlobalConfigs2, getSwarmConfigById2, getSwarmConfigLookupById2, upsertSwarmConfig2, emitBuiltInIntegrationConnectedOnce2, deleteSwarmConfig2, deleteSwarmConfigByKey2, getResolvedConfig2, getSwarmRepos2, getSwarmRepoById2, getSwarmRepoByName2, getSwarmRepoByUrl2, createSwarmRepo2, updateSwarmRepo2, deleteSwarmRepo2, getAgentMailInboxMapping2, getAgentMailInboxMappingsByAgent2, getAllAgentMailInboxMappings2, createAgentMailInboxMapping2, deleteAgentMailInboxMapping2, findTaskByAgentMailThread2, insertActiveSession2, deleteActiveSession2, deleteActiveSessionById2, getActiveSessions2, heartbeatActiveSession2, cleanupStaleSessions2, cleanupAgentSessions2, updateActiveSessionProviderSessionId2, getActiveSessionForTask2, reassociateSessionLogs2, getStalledInProgressTasks2, getStalePinnedResumes2, failPendingResumeIfUnclaimed2, getIdleWorkersWithCapacity2, getUnassignedPoolTasks2, getStaleUnassignedAffinityTasks2, getRecentFailedTasks2, getRecentCompletedCount2, getRecentFailedCount2, createWorkflow2, getWorkflow2, listWorkflows2, updateWorkflow2, deleteWorkflow2, getWorkflowsByScheduleId2, createWorkflowRun2, getWorkflowRun2, updateWorkflowRun2, listWorkflowRuns2, countWorkflowRuns2, listWorkflowRunsPage2, createWorkflowRunStep2, getWorkflowRunStep2, updateWorkflowRunStep2, getWorkflowRunStepsByRunId2, getStuckWorkflowRuns2, getLastSuccessfulRun2, getLastRunStart2, getRetryableSteps2, getCompletedStepNodeIds2, getTaskByWorkflowRunStepId2, detachTaskFromWorkflowRunStep2, getStepByIdempotencyKey2, getStepCountForNode2, getLatestStepForNode2, getCurrentStepForNode2, createWorkflowVersion2, getWorkflowVersions2, getWorkflowVersion2, createAppVersion2, getAppVersions2, getAppVersion2, createPage2, getPage2, getPageBySlug2, getLatestPageBySlug2, listPagesByAgent2, listAllPages2, countAllPages2, countPagesByAgent2, updatePage2, deletePage2, incrementPageViewCount2, createPageVersion2, getPageVersions2, getPageVersion2, createMetric2, getMetric2, getMetricBySlug2, listMetricsByAgent2, listAllMetrics2, countAllMetrics2, countMetricsByAgent2, updateMetric2, deleteMetric2, createMetricVersion2, getMetricVersions2, getMetricVersion2, getPromptTemplates2, getPromptTemplateById2, upsertPromptTemplate2, deletePromptTemplate2, resetPromptTemplateToDefault2, getPromptTemplateHistory2, resolvePromptTemplate2, checkoutPromptTemplate2, getAllChannelActivityCursors2, getChannelActivityCursor2, upsertChannelActivityCursor2, createApprovalRequest2, getApprovalRequestById2, resolveApprovalRequest2, cancelApprovalRequestById2, cancelPendingApprovalRequestsForRun2, listCancelledApprovalRequestsForRun2, listCancelledApprovalRequestsForStep2, claimApprovalCancellationNotification2, completeApprovalCancellationNotificationClaim2, releaseApprovalCancellationNotificationClaim2, updateApprovalRequestNotifications2, listApprovalRequests2, getStuckApprovalRuns2, getApprovalRequestByStepId2, getExpiredPendingApprovals2, getStaleApprovalRequests2, createWaitState2, getWaitStateById2, getWaitStateByStepId2, getDueWaitStates2, getPendingEventWaitNames2, getPendingWaitsByEvent2, resolveWaitState2, getStuckWaitRuns2, SKILL_FILE_LIMITS2, normalizeSkillFilePath2, createSkill2, updateSkill2, listSkillFileManifest2, getSkillFiles2, getSkillFile2, upsertSkillFile2, upsertSkillFiles2, deleteSkillFile2, deleteSkill2, getSkillById2, getSkillByName2, listSkills2, searchSkills2, installSkill2, getSystemDefaultSkills2, installSystemDefaultSkillsForAgent2, uninstallSkill2, getAgentSkills2, toggleAgentSkill2, createMcpServer2, emitMcpServerConnectedTelemetry2, updateMcpServer2, deleteMcpServer2, getMcpServerById2, getMcpServerByName2, listMcpServers2, installMcpServer2, uninstallMcpServer2, getAgentMcpServers2, createContextSnapshot2, getContextSnapshotsByTaskId2, getContextSnapshotsBySessionId2, getContextSummaryByTaskId2, getAvailableKeyIndices2, recordKeyUsage2, setApiKeyPlan2, markKeyRateLimited2, recordKeyAuthFailure2, recordKeyRateLimitWindows2, setApiKeyName2, clearKeyRateLimit2, getKeyStatuses2, getKeyCostSummary2, getUserById2, getAllUsers2, createUser2, updateUser2, deleteUser2, listInboxState2, upsertInboxState2, listFavorites2, listUserFavorites2, getFavoriteItemIdSet2, setFavorite2, setUserFavorite2, withFavoriteFlags2, listTaskTemplates2, getRootTaskChain2, listRecentSessions2, countSessions2, getBudget2, getBudgets2, upsertBudget2, deleteBudget2, getAllPricingRows2, getPricingRows2, getActivePricingRow2, insertPricingRow2, deletePricingRow2, getDailySpendForAgent2, getDailySpendGlobal2, getDailySpendForUser2, recordBudgetRefusalNotification2, getBudgetRefusalNotification2, getRecentBudgetRefusalNotifications2, hasBudgetRefusalNotificationToday2, setBudgetRefusalFollowUpTaskId2, getLiveAgentCounts2, getReadyAgentCounts2, getInstanceActivity2, getSwarmMetrics2, hasFirstCompletedTask2, getKv2, sweepExpiredKv2, sweepExpiredKvPrefix2, upsertKv2, claimKv2, deleteKv2, KvTypeCollisionError2, incrKv2, kvPrefixUpperBound2, listKv2, countKv2, createScriptRun2, recordInlineScriptRun2, getScriptRun2, getScriptRunByIdempotencyKey2, listScriptRuns2, countScriptRuns2, countActiveScriptRuns2, updateScriptRun2, updateScriptRunIfNotTerminal2, updateScriptRunIfRunning2, getRunningScriptRuns2, getScriptRunJournalStep2, upsertScriptRunJournalStep2, listScriptRunJournalSteps2, countScriptRunJournalSteps2, countScriptRunJournalAgentTaskSteps2, exports_db, init_db4 };
|
|
29611
|
+
export { slackContextKey, chatSdkContextKey, chatThreadOfContextKey, agentmailContextKey, githubContextKey, gitlabContextKey, azureDevOpsContextKey, azureDevOpsWorkItemContextKey, bitbucketContextKey, linearContextKey, buildJiraContextKey, scheduleContextKey, workflowContextKey, agentContextKey, pageContextKey, init_context_key, sessionSourceKey, sourceOfKey, SOURCE_GROUPS_READ_ONLY, sourceMoveError, init_source_key, checkSlackRoutingCoherence, init_slack_routing, init_catalog, catalog_default, COMPANY_TEAM_SIZES, COMPANY_USE_CASES, USER_FUNCTIONS, reportedUseCase, reportedUserFunction, init_company_profile, mapTriggerSurface, init_telemetry_context, TELEMETRY_PROXY_ORIGIN, normalizeOrgWebsite, orgLogoUrl, isFilledOrgLogoUrl, init_org_website, beginRequestAuthScope, setRequestAuth, getRequestAuth, runWithoutRequestAuth, authUserId, authUser, isOperatorAuth, getCurrentRequestUserId, init_request_auth_context, setTelemetryIngestObserver, isTelemetryEnabled, _resolveIntegrationType, _resolveIntegrationProvider, initTelemetry, setTelemetryRoleResolver, setTelemetryFunctionResolver, isTelemetryReady, track, trackRelayed, telemetry, emitIntegrationConnected, init_telemetry, auditAssetKeys, init_asset_key_audit, CredentialBindingSchema, placeholderForConfigKey, CredentialBroker, DEFAULT_CREDENTIAL_BINDINGS, isPrivateAddress, assertUrlSafe, parseEgressAllowlist, init_egress_guard, init_credential_broker, encryptSecret, decryptSecret, getEncryptionKey, init_crypto, isInTransaction, init_db_client, breaksJsonValidity, scrubJsonValue, foldHexCopies, init_scrub_json, sealJson, init_sealed_json, getPromptTemplateDefaultDrift, init_default_drift, init_templates2, init_templates3, isSqliteVecAvailable2, resolveSqliteVecExtensionPath2, __resetSqliteVecExtensionPathCacheForTests2, initDb2, getDb2, closeDb2, getDbClient2, init_runtime2, cachedUserRole, cachedUserFunction, invalidateTelemetryUserRole, configureOrgDomainPersistence, recomputeOrgDomain, scheduleOrgDomainRecompute, init_telemetry_identity, resolveTriggerSurface, emitTaskTelemetry, init_telemetry_trigger, isEnvExportRestrictedKey, init_config_env_export, MASKED_SECRET_VALUE, init_config_secrets, HeartbeatExpiryError, init_heartbeat_expiry, isRuntimePoolsEnabled, init_runtime_pools_flag, normalizeDate, normalizeDateRequired, init_date_utils, rowToAgent, updateAgentCredentialState2, updateAgentCredentialMissing2, createAgent2, getAgentById2, EXTENSION_AGENT_ROLE2, NOT_EXTENSION_AGENT_SQL2, isExtensionAgent2, extensionAgentAssignmentError2, ReservedAgentRoleError2, reservedRoleViolation2, ExtensionAgentAssignmentError2, getAllAgents2, getAgentStatusCounts2, getLeadAgent2, updateAgentStatus2, updateAgentMaxTasks2, updateAgentProvider2, setAgentHarnessProvider2, updateAgentCredStatus2, listAgentsWithCredStatusByProvider2, getAgentHarnessProviders2, updateAgentActivity2, MAX_EMPTY_POLLS2, incrementEmptyPollCount2, resetEmptyPollCount2, shouldBlockPolling2, deleteAgent2, getActiveTaskCount2, hasCapacity2, getRemainingCapacity2, updateAgentStatusFromCapacity2, isPoolAffinityEnforcementEnabled2, buildRoutingAffinityFromAgent2, isAgentEligibleForTask2, getAgentDailyTaskCounts2, init_agents, listApprovalRequestSummaries2, getPendingApprovalVoteState2, recordApprovalVotes2, getPendingApprovalsForTasks2, approvalCancellationNotificationKey, listUndeliveredCancelledApprovalRequestIds, init_approvals, computeContentHash2, createContextVersion2, getLatestContextVersion2, getContextVersion2, getContextVersionHistory2, vcsRepoName, vcsRepoUrlMatches, init_vcs_repo_match, startTaskSearchBackfill, stopTaskSearchBackfill, init_search_index, rowToAgentTask, getTaskById2, getChildTasks2, TASK_LINEAGE_LIMITS2, getTaskLineage2, hasNonTerminalResumeChild2, SUPERSEDED_RESUME_REPAIR_WINDOW_MS2, getSupersededTasksWithoutResume2, getSupersededTasksWithUnsettledDependents2, hasNonTerminalRerouteDecisionChild2, getTasksByAgentId2, getAgentCurrentTask2, getTasksByStatus2, findTaskByVcs2, findActiveTasksByVcs2, findTaskByGitHub2, readableSessionCondition, getAllTasks2, getTasksCount2, getTaskStats2, getCompletedSlackTasks2, getPendingSlackRelayTasks2, markSlackRelayAttempted2, markSlackRelayDelivered2, markFinalizedSlackRelaysDelivered2, getPendingChatRelayTasks2, giveUpStaleChatRelays2, markChatRelayAttempted2, recordChatRelayError2, markChatRelayDelivered2, markChatRelayGivenUp2, getRecentlyFinishedWorkerTasks2, markTasksNotified2, resetTasksNotified2, getInProgressSlackTasks2, getSlackTasksMissingTree2, getInProgressTasksByContextKey2, isLinearTrackerContextKey2, findExistingLinearTrackerContextWork2, getLatestTaskByContextKey2, getLatestScriptRunStepTaskByContextKey2, getAgentWorkingOnThread2, getLatestActiveTaskInThread2, getLatestLeadTaskInThread2, getAgentWorkingOnContextKey2, getLatestActiveTaskByContextKey2, getLatestLeadTaskByContextKey2, getMostRecentTaskInThread2, findCompletedTasksInThread2, findRecentFailedTaskInThread2, countAgentDispatchesInThread2, findRecentCancelledTaskInThread2, init_read, MODEL_PROFILE_CONFIG_KEY, listModelProfiles, getModelProfileByName, createModelProfile, updateModelProfile, modelProfileReferences, modelProfileRefError, deleteModelProfile, getAgentDefaultProfileName, repoModelOverrideKeys, taskProfileError, init_model_profiles, AssetKeyMovesBlockedError2, assertAssetKeyMovesAllowed2, moveTaskChainKeyInTx2, moveSessionChains, listPrefixRoots, listSharedPrefixRoots, init_session_moves, getSessionGroupKey, getSessionReadState, getSessionTree, triageSessionList, init_session_tree, setHumanFreeQueueListener, drainHumanFreeReclassifyQueue, init_human_free, onTaskStarted, init_task_lifecycle_events, channelTopic, addWorkerSubscription, removeWorkerSubscription, listSubscribedWorkerAgents, init_channels, publishWorkerNudge, init_worker_nudges, CHAT_SDK_ADAPTER_NAMES, CHAT_SDK_ADAPTER_SCHEMAS, ChatSdkAdaptersDraftSchema, firstIssueText, isAdapterEntryEnabled, init_schema, TELEMETRY_RANKING_KEY, PUBLIC_RANKING_ENABLED_KEY, RANKING_CATEGORIES, readTelemetryRanking, rankingFormSchema, buildListing, init_telemetry_ranking, resolveQuickJSPoolSize, init_quickjs_pool_config, SLACK_REACTION_DEFAULTS, SLACK_REACTION_CONFIG_KEYS, reactionName, completedStatusIcon, init_reaction_shortcode, API_DRAINING_HEADER, API_DRAIN_MAX_MS_LIMIT, isApiDrainingResponse, init_api_drain2, parseEnabledTools, init_enabled_tools, parseTaskToolManifest, CHAT_TASK_ONLY_TOOLS, isChatSdkTask, selectTaskTools, init_task_tool_manifest, tierConfigKey, init_model_tier_keys, isApiOnlyConfigKey, isInternalConfigKey, internalConfigKeyError, isReservedConfigKey, reservedKeyError, MAX_DB_RETENTION_DAYS, DB_RETENTION_TUNING_BOUNDS, APPS_JSON_COLUMN_MAX_BYTES_BOUNDS, CODEX_OAUTH_KEEP_WARM_MAX_AGE_HOURS_BOUNDS, validateRuntimeTokenTtlHours, validateControllerTokenTtlDays, validateControllerGraceSec, validateConfigValue, validateConfigEntry, validateExportToEnv, init_swarm_config_guard, getDefaultAuthorizationIdForProvider, getOAuthApp, getOAuthAppById, getOAuthAppIdByProvider, createOAuthApp, updateOAuthAppById, upsertOAuthApp, listAuthorizationsForApp, getAuthorizationById, upsertAuthorization, updateAuthorizationTokens, updateAuthorizationIdentity, deleteAuthorizationById, deleteAuthorizationsForApp, createOAuthPending, consumeOAuthPending, gcOAuthPending, markAuthorizationRefreshFailed, getOAuthTokens, listAuthorizationSweepRows, listKeepAliveAuthorizations, deleteOAuthTokens, acquireOAuthRefreshLock, releaseOAuthRefreshLock, init_oauth, OpenAI2, init_openai2, LEARNING_DUPLICATE_MIN_SIMILARITY, CANDIDATE_SET_MULTIPLIER, isGraphExpansionEnabled, EMBEDDING_DIMENSIONS, init_constants2, LONGTERM_ROOT, MEMORY_KEY_PATTERN, MEMORY_KEY_PATTERN_MESSAGE, MEMORY_KEY_MAX_LENGTH, isLongtermKey, longtermKeyError, isConsolidatedKey, consolidatedKeyMessage, resolveStoreKey, init_key_paths, computeScore, rerank, init_reranker, searchMemoryCandidates, init_search_candidates, rowToCandidate, init_sqlite_store, getEmbeddingProvider2, resetEmbeddingProvider2, getMemoryStore2, init_memory, embeddingProvider2, computeScriptEmbedding2, writeScriptEmbedding2, embedScript2, searchScripts2, reembedAllScripts2, init_embeddings, upsertScriptByName, getScript, getScriptById, getScriptVersion, listScripts, listScriptVersions, deleteScript, touchScratchScriptLastUsed, restoreScratchScriptLastUsedIfUnchanged, createScriptApi, listScriptApisForScript, getScriptApiById, getScriptApiSecret, updateScriptApi, rotateScriptApiSecret, deleteScriptApi, recordScriptApiUsage, init_db3, oauthSecretName, registerStoredSecret, loadSecretRegistry, init_secret_registry, WorkflowReplayStateError, init_workflow_replay, getWorkflowRunTriggeredByAgentId, getWorkflowRunSummary, getWorkflowRunStepsSlimByRunId, WORKFLOW_RUN_TREE_MAX_DEPTH, WorkflowRunTreeError, getRunLineageBlock, getWorkflowRunTreeIds, getWorkflowRunStatus, getOpenWorkflowTreeTaskIds, getTaskIdsWithDependents, workflowRunTreeHasOpenWork, getWorkflowRunTree, cancelOpenWorkflowTreeSteps, disarmWorkflowTreeRetries, cancelLiveWorkflowTreeRuns, getChildWorkflowRunId, isParentStepAttemptCurrent, getRunningSubWorkflowSteps, getWorkflowRunParent, getWorkflowRunLineage, getSettledChildRunParentSteps, emitRunFinished, createForeachChildSteps, createForeachAttemptSteps, init_workflow_runs, SESSION_ACTIVITY_REFRESH_MIN_INTERVAL_MS2, refreshActiveSessionOnActivity2, getActiveSessionById, init_active_sessions, STEERING_MOVED_ERROR, SteeringRequestError, SteeringBlockedError, isSteeringEnabled, getTaskSteeringFields, getTaskSteeringFieldsForTasks, promotePendingSteeringForTask, markSteeringUndeliverable, carryUnhandledSteering, requestSteering, init_steering2, createTask2, getPendingTaskForAgent2, assignUnassignedTaskPending2, startTask2, updateTaskClaudeSessionId2, recordTaskProviderIfUnset2, updateTaskTitle2, completeTask2, failTask2, overwriteTerminalTaskResultText2, cancelTask2, supersedeTask2, settleSupersededTaskDependents2, backfillSupersedeTaskResumeTaskId2, pauseTask2, resumeTask2, getPausedTasksForAgent2, getOrphanedInProgressTasksForAgent2, resetOrphanedInProgressTasksForAgent2, getRecentlyCancelledTasksForAgent2, deleteTask2, updateTaskProgress2, IdempotencyKeyTakenError, workflowRequestFingerprint, findAcceptedWorkflowOperation, assertWorkflowIdempotencyKeyUnused, recordAcceptedWorkflowOperation, init_workflow_idempotency, recordKeySeatMismatch2, recordKeyValidation2, retirePoolKeyStatus, init_api_keys, getScriptRunExecutionArgs2, getScriptRunFollowUpGuard2, setScriptRunFollowUpGuard2, literalPrefixPattern2, getSlackRenderV2ActivatedAt2, ensureSlackRenderV2Activation2, getSlackDelegationActivatedAt2, ensureSlackDelegationActivation2, isPendingSlackMessage2, isSettledSlackMessage2, recordSlackMessage2, reserveSlackMessage2, bindSlackMessageTimestamp2, updateSlackMessageRecord2, markSlackTreeRendered2, deleteSlackMessageRecord2, getSlackTreeMessage2, getSlackTreeMessageByThread2, getSlackOutcomeMessage2, getResolvableDeferralOutcomes2, markSlackDeferralResolved2, noteSlackOutcomeDeliveryFailure2, abandonSlackOutcomeDelivery2, getSlackTreeMessages2, getSlackMessageByChannelTs2, getSlackTasksInThread2, listSlackThreadsAwaitingHuman2, isSlackThreadAwaitingHuman2, markTaskSlackReplySent2, setSlackMessageTracking2, updateTaskVcs2, insertTaskAttachment2, recordTaskPullRequestAttachments2, getAssetKeyMappingByProvider2, upsertAssetKeyMapping2, getAssetKeyMapping2, listAssetSummaries2, moveAssetKey2, deleteTaskAttachment2, replaceTaskAttachment2, getTaskAttachments2, createSteeringMessage2, getSteeringMessagesForTask2, getSteeringMessageById2, getPendingSteeringForTask2, getPendingSteeringForAgent2, markSteeringDelivered2, markSteeringHandled2, markSteeringPromoted2, cancelPendingSteeringForTask2, hasPendingSteering2, getAgentWithTasks2, getAllAgentsWithTasks2, createLogEntry2, getLogsByAgentId2, getLogsByTaskId2, getLogsByTaskIdAndEventType2, getLogsByTaskIdChronological2, getLogsByEventType2, getAllLogs2, findRecentSimilarTasks2, createTaskExtended2, claimTask2, releaseTask2, acceptTask2, rejectTask2, moveTaskToBacklog2, moveTaskFromBacklog2, promoteDraftTask2, refreshDraftTaskLease2, promoteAbandonedDraftTasks2, releaseStaleReviewingTasks2, releaseStaleOfferedTasksForOfflineAgents2, getOfferedTasksForAgent2, claimOfferedTask2, getUnassignedTasksCount2, getUnassignedTaskIds2, getUnassignedTaskIdsForAgent2, checkDependencies2, getDependentTasks2, cascadeFailDependents2, updateAgentProfile2, updateAgentName2, createChannel2, getMessageById2, getChannelById2, getChannelByName2, getAllChannels2, deleteChannel2, postMessage2, getChannelMessages2, updateReadState2, getLastReadAt2, getUnreadMessages2, getMentionsForAgent2, getInboxSummary2, claimMentions2, releaseMentionProcessing2, releaseStaleMentionProcessing2, createService2, getServiceById2, getServiceByAgentAndName2, getServicesByAgentId2, getAllServices2, updateServiceStatus2, deleteService2, upsertService2, deleteServicesByAgentId2, createSessionLogs2, getSessionLogsByTaskId2, getSessionLogsBySession2, createSessionCost2, getSessionCostsByTaskId2, getSessionCostsByAgentId2, getAllSessionCosts2, getSessionCostsFiltered2, UNATTRIBUTED_USER_ID2, getSessionCostSummary2, getAttributionByPerson2, getDashboardCostSummary2, createInboxMessage2, getInboxMessageById2, getUnreadInboxMessages2, claimInboxMessages2, markInboxMessageRead2, markInboxMessageResponded2, markInboxMessageDelegated2, releaseStaleProcessingInbox2, getConcurrentContext2, getScheduledTasks2, getScheduledTaskById2, getScheduledTaskByName2, createScheduledTask2, updateScheduledTask2, deleteScheduledTask2, getDueScheduledTasks2, autoEncryptLegacyPlaintextSecrets2, maskSecrets2, getSwarmConfigs2, getInjectableGlobalConfigs2, getSwarmConfigById2, getSwarmConfigLookupById2, upsertSwarmConfig2, emitBuiltInIntegrationConnectedOnce2, deleteSwarmConfig2, deleteSwarmConfigByKey2, getResolvedConfig2, getSwarmRepos2, getSwarmRepoById2, getSwarmRepoByName2, getSwarmRepoByUrl2, createSwarmRepo2, updateSwarmRepo2, deleteSwarmRepo2, getAgentMailInboxMapping2, getAgentMailInboxMappingsByAgent2, getAllAgentMailInboxMappings2, createAgentMailInboxMapping2, deleteAgentMailInboxMapping2, findTaskByAgentMailThread2, insertActiveSession2, deleteActiveSession2, deleteActiveSessionById2, getActiveSessions2, heartbeatActiveSession2, cleanupStaleSessions2, cleanupAgentSessions2, updateActiveSessionProviderSessionId2, getActiveSessionForTask2, reassociateSessionLogs2, getStalledInProgressTasks2, getStalePinnedResumes2, failPendingResumeIfUnclaimed2, getIdleWorkersWithCapacity2, getUnassignedPoolTasks2, getStaleUnassignedAffinityTasks2, getRecentFailedTasks2, getRecentCompletedCount2, getRecentFailedCount2, createWorkflow2, getWorkflow2, listWorkflows2, updateWorkflow2, deleteWorkflow2, getWorkflowsByScheduleId2, createWorkflowRun2, getWorkflowRun2, updateWorkflowRun2, listWorkflowRuns2, countWorkflowRuns2, listWorkflowRunsPage2, createWorkflowRunStep2, getWorkflowRunStep2, updateWorkflowRunStep2, getWorkflowRunStepsByRunId2, getStuckWorkflowRuns2, getLastSuccessfulRun2, getLastRunStart2, getRetryableSteps2, getCompletedStepNodeIds2, getTaskByWorkflowRunStepId2, detachTaskFromWorkflowRunStep2, getStepByIdempotencyKey2, getStepCountForNode2, getLatestStepForNode2, getCurrentStepForNode2, createWorkflowVersion2, getWorkflowVersions2, getWorkflowVersion2, createAppVersion2, getAppVersions2, getAppVersion2, createPage2, getPage2, getPageBySlug2, getLatestPageBySlug2, listPagesByAgent2, listAllPages2, countAllPages2, countPagesByAgent2, updatePage2, deletePage2, incrementPageViewCount2, createPageVersion2, getPageVersions2, getPageVersion2, createMetric2, getMetric2, getMetricBySlug2, listMetricsByAgent2, listAllMetrics2, countAllMetrics2, countMetricsByAgent2, updateMetric2, deleteMetric2, createMetricVersion2, getMetricVersions2, getMetricVersion2, getPromptTemplates2, getPromptTemplateById2, upsertPromptTemplate2, deletePromptTemplate2, resetPromptTemplateToDefault2, getPromptTemplateHistory2, resolvePromptTemplate2, checkoutPromptTemplate2, getAllChannelActivityCursors2, getChannelActivityCursor2, upsertChannelActivityCursor2, createApprovalRequest2, getApprovalRequestById2, resolveApprovalRequest2, cancelApprovalRequestById2, cancelPendingApprovalRequestsForRun2, listCancelledApprovalRequestsForRun2, listCancelledApprovalRequestsForStep2, claimApprovalCancellationNotification2, completeApprovalCancellationNotificationClaim2, releaseApprovalCancellationNotificationClaim2, updateApprovalRequestNotifications2, listApprovalRequests2, getStuckApprovalRuns2, getApprovalRequestByStepId2, getExpiredPendingApprovals2, getStaleApprovalRequests2, createWaitState2, getWaitStateById2, getWaitStateByStepId2, getDueWaitStates2, getPendingEventWaitNames2, getPendingWaitsByEvent2, resolveWaitState2, getStuckWaitRuns2, SKILL_FILE_LIMITS2, normalizeSkillFilePath2, createSkill2, updateSkill2, listSkillFileManifest2, getSkillFiles2, getSkillFile2, upsertSkillFile2, upsertSkillFiles2, deleteSkillFile2, deleteSkill2, getSkillById2, getSkillByName2, listSkills2, searchSkills2, installSkill2, getSystemDefaultSkills2, installSystemDefaultSkillsForAgent2, uninstallSkill2, getAgentSkills2, toggleAgentSkill2, createMcpServer2, emitMcpServerConnectedTelemetry2, updateMcpServer2, deleteMcpServer2, getMcpServerById2, getMcpServerByName2, listMcpServers2, installMcpServer2, uninstallMcpServer2, getAgentMcpServers2, createContextSnapshot2, getContextSnapshotsByTaskId2, getContextSnapshotsBySessionId2, getContextSummaryByTaskId2, getAvailableKeyIndices2, recordKeyUsage2, setApiKeyPlan2, markKeyRateLimited2, recordKeyAuthFailure2, recordKeyRateLimitWindows2, setApiKeyName2, clearKeyRateLimit2, getKeyStatuses2, getKeyCostSummary2, getUserById2, getAllUsers2, createUser2, updateUser2, deleteUser2, listInboxState2, upsertInboxState2, listFavorites2, listUserFavorites2, getFavoriteItemIdSet2, setFavorite2, setUserFavorite2, withFavoriteFlags2, listTaskTemplates2, getRootTaskChain2, listRecentSessions2, countSessions2, getBudget2, getBudgets2, upsertBudget2, deleteBudget2, getAllPricingRows2, getPricingRows2, getActivePricingRow2, insertPricingRow2, deletePricingRow2, getDailySpendForAgent2, getDailySpendGlobal2, getDailySpendForUser2, recordBudgetRefusalNotification2, getBudgetRefusalNotification2, getRecentBudgetRefusalNotifications2, hasBudgetRefusalNotificationToday2, setBudgetRefusalFollowUpTaskId2, getLiveAgentCounts2, getReadyAgentCounts2, getInstanceActivity2, getSwarmMetrics2, hasFirstCompletedTask2, getKv2, sweepExpiredKv2, sweepExpiredKvPrefix2, upsertKv2, claimKv2, deleteKv2, KvTypeCollisionError2, incrKv2, kvPrefixUpperBound2, listKv2, countKv2, createScriptRun2, recordInlineScriptRun2, getScriptRun2, getScriptRunByIdempotencyKey2, listScriptRuns2, countScriptRuns2, countActiveScriptRuns2, updateScriptRun2, updateScriptRunIfNotTerminal2, updateScriptRunIfRunning2, getRunningScriptRuns2, getScriptRunJournalStep2, upsertScriptRunJournalStep2, listScriptRunJournalSteps2, countScriptRunJournalSteps2, countScriptRunJournalAgentTaskSteps2, exports_db, init_db4 };
|