@desplega.ai/agent-swarm 1.149.0 → 1.150.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/dist/{acp-adapter-4jncb126.js → acp-adapter-d5mzggyk.js} +1 -1
- package/dist/{actions-31vp3ae7.js → actions-wn6ew0p7.js} +11 -10
- package/dist/{anthropic-messages-vs2rabzp.js → anthropic-messages-ec35ktvx.js} +4 -4
- package/dist/{app-1hh67x8w.js → app-dty7p9hg.js} +7 -7
- package/dist/{artifact-gj9arwrr.js → artifact-td4q4dch.js} +1 -1
- package/dist/{assistant-z66dmz6p.js → assistant-q4vhgjtx.js} +16 -17
- package/dist/{boot-reembed-wxa8ya0s.js → boot-reembed-92292pgf.js} +9 -9
- package/dist/{boot-reembed-fqzxxzjh.js → boot-reembed-n15q6s9x.js} +8 -8
- package/dist/{boot-scrub-logs-jnyndh79.js → boot-scrub-logs-44pc955m.js} +5 -5
- package/dist/{claude-adapter-3qpa9w0j.js → claude-adapter-cjegjbje.js} +14 -14
- package/dist/{claude-managed-adapter-qvsmh6mv.js → claude-managed-adapter-p3ts5m9m.js} +2 -2
- package/dist/{claude-sdk-session-2yxgjs5d.js → claude-sdk-session-7ywbn12v.js} +14 -14
- package/dist/{cli-cr12paw2.js → cli-111ey3ra.js} +5 -5
- package/dist/{cli-4wtq5jjv.js → cli-1mx65de9.js} +1 -1
- package/dist/{cli-9d8ntetj.js → cli-2658f6at.js} +1 -1
- package/dist/{cli-n3dz2942.js → cli-3ckzxdt1.js} +10 -6
- package/dist/{cli-yb9qhqam.js → cli-3mh119qv.js} +184 -67
- package/dist/{cli-ykxrnd1q.js → cli-72xdszyx.js} +2 -2
- package/dist/{cli-xm87hzbw.js → cli-7fesa1ky.js} +1 -1
- package/dist/{cli-3q5ejx9p.js → cli-7kwmt3r5.js} +2 -2
- package/dist/{cli-2qts1hys.js → cli-8chp8xab.js} +2 -2
- package/dist/{cli-qaacms9y.js → cli-9gqddmxs.js} +122 -97
- package/dist/{cli-zvz62chv.js → cli-a45d5v9b.js} +4 -4
- package/dist/{cli-9xvdm3bx.js → cli-asvrh7kj.js} +1 -1
- package/dist/{cli-kgz4np97.js → cli-b8x19vbh.js} +4 -4
- package/dist/{cli-9fy6nk6g.js → cli-ceb5y160.js} +1 -1
- package/dist/{cli-k0cr4kat.js → cli-ck1vqzdj.js} +1 -1
- package/dist/{cli-e29gmdmw.js → cli-dv6cdjs2.js} +2 -1
- package/dist/{cli-jecc01cb.js → cli-dyx0237s.js} +1 -1
- package/dist/{cli-kjwt6hdf.js → cli-gm0fhz13.js} +3 -3
- package/dist/{cli-sd5pv3b1.js → cli-h505yhex.js} +2 -2
- package/dist/{handlers-nbzdzn9k.js → cli-hbagregr.js} +15 -38
- package/dist/{cli-08b07b4r.js → cli-hmyynq9b.js} +1 -1
- package/dist/{cli-d8ftsp62.js → cli-kt7wevqh.js} +20 -13
- package/dist/{cli-gjhjfeeg.js → cli-kyysm7m3.js} +1 -1
- package/dist/{cli-1ebpar1q.js → cli-mzb0n642.js} +6 -6
- package/dist/{cli-q50ef8g0.js → cli-n1yj5fd5.js} +1 -1
- package/dist/{cli-3apbzgyk.js → cli-n75jt793.js} +13 -9
- package/dist/{cli-19f354qr.js → cli-q04q68be.js} +2 -2
- package/dist/{cli-yab68w40.js → cli-qp69dd5d.js} +29 -14
- package/dist/{cli-6pqcb4q0.js → cli-rnsr8asm.js} +12 -11
- package/dist/{cli-ygweqcn4.js → cli-rwp3ksm7.js} +91 -108
- package/dist/{cli-phsxnkp6.js → cli-ryz8q8p1.js} +74 -58
- package/dist/{cli-e95cx1eb.js → cli-taym3dmg.js} +10 -10
- package/dist/{cli-nye12xk5.js → cli-ttje5a4z.js} +7 -4
- package/dist/{cli-9hspd3dp.js → cli-vr6qj104.js} +1 -1
- package/dist/{cli-mnmsfd1w.js → cli-xjb9wghj.js} +7 -3
- package/dist/{cli-gv88e1vf.js → cli-ydk0wjj8.js} +1 -1
- package/dist/{cli-aae6hz6a.js → cli-zd21jrrc.js} +3 -3
- package/dist/{cli-7smrsr25.js → cli-zthatyrx.js} +23 -11
- package/dist/cli.js +19 -19
- package/dist/{codex-adapter-8meawydj.js → codex-adapter-rn3aq7jm.js} +7 -7
- package/dist/{codex-hook-hfrt9shr.js → codex-hook-gthcmm0g.js} +3 -3
- package/dist/{codex-session-runner-gjgxyp5j.js → codex-session-runner-bge0cbsw.js} +7 -7
- package/dist/{commands-hz3nb95f.js → commands-26phw0pc.js} +5 -5
- package/dist/{db-ggz97zbm.js → db-jxjx6s1b.js} +6 -6
- package/dist/{e2b-p04vmtx0.js → e2b-413b8t4v.js} +1 -1
- package/dist/handlers-vr1djg4n.js +41 -0
- package/dist/{hook-bks2q1f6.js → hook-jw0ztn96.js} +9 -9
- package/dist/{hook-kq9wp0ep.js → hook-t6fqsggw.js} +10 -10
- package/dist/{http-hrf77v87.js → http-hyc7s57s.js} +80 -71
- package/dist/{index-n28pw1zt.js → index-1d9r6a74.js} +18 -18
- package/dist/{index-cqtebbhb.js → index-bcyx5djw.js} +17 -17
- package/dist/{index-6nsbg88z.js → index-sfhaq59d.js} +408 -74
- package/dist/{index-8hmeg8j1.js → index-wtwpthe1.js} +17 -17
- package/dist/{keepalive-dxc12gvg.js → keepalive-fbsak4ya.js} +7 -7
- package/dist/{lead-yckfn18d.js → lead-rdzdm627.js} +39 -39
- package/dist/{maintenance-6kfb2m5e.js → maintenance-25z1c1vf.js} +9 -9
- package/dist/{node-x1g4v0pq.js → node-209sxmg3.js} +9 -9
- package/dist/{oauth-refresh-sweep-1x1ac722.js → oauth-refresh-sweep-j3d7gtse.js} +6 -6
- package/dist/{onboard-dcyt1609.js → onboard-dkcwrc75.js} +2 -2
- package/dist/{otel-impl-tbk3e5dr.js → otel-impl-8rgyy3j8.js} +1 -1
- package/dist/{pi-mono-adapter-zvshk5cj.js → pi-mono-adapter-4s2bbkgq.js} +8 -8
- package/dist/{pricing-refresh-kaqg567e.js → pricing-refresh-9cek71nq.js} +7 -7
- package/dist/{rbac-roles-cf97v1vd.js → rbac-roles-vk8mqp9v.js} +6 -6
- package/dist/{rbac-roles-ammq6rd2.js → rbac-roles-z98s2ypy.js} +5 -5
- package/dist/{render-v2-80w603vy.js → render-v2-3j26g0qh.js} +7 -7
- package/dist/{seed-pricing-zbrn83xv.js → seed-pricing-7rxhcnzm.js} +6 -6
- package/dist/{setup-fe66kczs.js → setup-e2t7vz0c.js} +2 -2
- package/dist/work-objects-8d3nd3x2.js +141 -0
- package/dist/{worker-qmb2d1e2.js → worker-0x9fn7nq.js} +39 -39
- package/openapi.json +15 -4
- package/package.json +3 -3
- package/src/agentmail/handlers.ts +5 -0
- package/src/be/budget-refusal-notify.ts +1 -0
- package/src/be/db/tasks/read.ts +3 -0
- package/src/be/db/tasks/write.ts +13 -1
- package/src/be/db.ts +4 -2
- package/src/be/migrations/153_deferred_task_wait_members.sql +25 -0
- package/src/be/migrations/154_routing_source.sql +3 -0
- package/src/be/scripts/typecheck.ts +7 -3
- package/src/be/seed/automation-toggle.ts +69 -0
- package/src/be/seed/schedules-seeder.ts +53 -8
- package/src/be/seed/workflows-seeder.ts +35 -6
- package/src/be/seed-scripts/catalog/delegate.ts +3 -1
- package/src/be/seed-skills/bundled-files.generated.json +1 -1
- package/src/be/steering.ts +1 -0
- package/src/be/swarm-config-guard.ts +1 -0
- package/src/commands/credential-refresh.ts +70 -0
- package/src/commands/provider-credentials.ts +2 -25
- package/src/commands/runner.ts +23 -56
- package/src/github/handlers.ts +9 -0
- package/src/gitlab/handlers.ts +4 -0
- package/src/heartbeat/heartbeat.ts +3 -0
- package/src/http/approval-requests.ts +1 -0
- package/src/http/apps.ts +1 -0
- package/src/http/config.ts +4 -1
- package/src/http/core.ts +4 -2
- package/src/http/index.ts +16 -3
- package/src/http/script-runs.ts +5 -0
- package/src/http/tasks.ts +5 -0
- package/src/integrations/kapso/inbound.ts +1 -0
- package/src/jira/sync.ts +2 -0
- package/src/linear/sync.ts +2 -0
- package/src/prompts/session-templates.ts +13 -9
- package/src/providers/claude-adapter.ts +21 -8
- package/src/scheduler/deferred-task-waits.ts +34 -5
- package/src/scheduler/schedule-task.ts +5 -1
- package/src/scheduler/scheduler.ts +104 -123
- package/src/scripts-runtime/types/stdlib.d.ts +7 -3
- package/src/scripts-runtime/types/swarm-sdk.d.ts +7 -3
- package/src/slack/HEURISTICS.md +2 -0
- package/src/slack/actions.ts +1 -0
- package/src/slack/app.ts +2 -0
- package/src/slack/assistant.ts +4 -12
- package/src/slack/handlers.ts +9 -14
- package/src/slack/inbound-files.ts +3 -3
- package/src/slack/render-v2.ts +17 -3
- package/src/slack/thread-buffer.ts +66 -23
- package/src/slack/work-objects.test.ts +252 -0
- package/src/slack/work-objects.ts +118 -0
- package/src/tasks/worker-follow-up.ts +4 -0
- package/src/tests/acp-adapter.test.ts +10 -10
- package/src/tests/agent-fs-live-url.test.ts +40 -0
- package/src/tests/agent-fs-provision-seeder.test.ts +12 -12
- package/src/tests/api-key-tracking.test.ts +18 -18
- package/src/tests/api-key.test.ts +4 -2
- package/src/tests/apps-rbac.test.ts +1 -1
- package/src/tests/apps-spike5.test.ts +1 -1
- package/src/tests/apps-sync-engine.test.ts +8 -8
- package/src/tests/apps-user-config.test.ts +1 -1
- package/src/tests/artifact-sdk.test.ts +8 -8
- package/src/tests/asset-key-mcp.test.ts +2 -0
- package/src/tests/automation-preflight-alert.test.ts +1 -1
- package/src/tests/base-prompt.test.ts +6 -6
- package/src/tests/budget-user-scope.test.ts +1 -1
- package/src/tests/budgets-routes.test.ts +1 -1
- package/src/tests/claude-adapter-binary.test.ts +22 -40
- package/src/tests/claude-adapter-otel.test.ts +13 -7
- package/src/tests/claude-adapter.test.ts +8 -6
- package/src/tests/claude-hook-credentials.test.ts +3 -3
- package/src/tests/claude-managed-adapter.test.ts +4 -4
- package/src/tests/claude-managed-setup.test.ts +3 -3
- package/src/tests/claude-sdk-lifecycle.test.ts +1 -1
- package/src/tests/claude-sdk-transport.test.ts +6 -6
- package/src/tests/claude-stop-hook.test.ts +8 -8
- package/src/tests/claude-worker-parity.test.ts +3 -3
- package/src/tests/codex-adapter-pool-auth-revalidate.test.ts +5 -5
- package/src/tests/codex-adapter.test.ts +7 -5
- package/src/tests/codex-app-server.test.ts +2 -2
- package/src/tests/codex-login.test.ts +15 -15
- package/src/tests/codex-oauth-credential-info.test.ts +4 -4
- package/src/tests/codex-oauth-keep-warm.test.ts +4 -4
- package/src/tests/codex-oauth-refresh-lock.test.ts +1 -1
- package/src/tests/codex-oauth-storage.test.ts +7 -7
- package/src/tests/codex-pool.test.ts +1 -1
- package/src/tests/codex-steering-hook.test.ts +1 -1
- package/src/tests/codex-swarm-events.test.ts +1 -1
- package/src/tests/config-api-only-keys.test.ts +1 -1
- package/src/tests/config-session-auth.test.ts +2 -2
- package/src/tests/connection-embedded-auth.test.ts +20 -18
- package/src/tests/core-auth.test.ts +1 -1
- package/src/tests/create-page-tool.test.ts +3 -3
- package/src/tests/credential-refresh.test.ts +115 -0
- package/src/tests/credential-wait.test.ts +2 -2
- package/src/tests/credentials.test.ts +6 -4
- package/src/tests/db-queries-oauth.test.ts +40 -40
- package/src/tests/defer-task.test.ts +73 -8
- package/src/tests/deferred-task-wait-migration.test.ts +64 -0
- package/src/tests/deferred-task-wake.test.ts +190 -1
- package/src/tests/devin-adapter.test.ts +1 -1
- package/src/tests/devin-api.test.ts +1 -1
- package/src/tests/e2b-dispatch.test.ts +21 -19
- package/src/tests/e2e-claude-transport.test.ts +3 -3
- package/src/tests/e2e-redact.test.ts +6 -6
- package/src/tests/ensure-token.test.ts +68 -68
- package/src/tests/entrypoint-api-readiness.test.ts +1 -1
- package/src/tests/entrypoint-codex-oauth-seed.test.ts +13 -13
- package/src/tests/events-http.test.ts +1 -1
- package/src/tests/fs-routes.test.ts +1 -1
- package/src/tests/gitlab-auth.test.ts +10 -10
- package/src/tests/harness-provider-resolution.test.ts +8 -5
- package/src/tests/heartbeat-reroute-decision.test.ts +1 -0
- package/src/tests/helper-credentials.test.ts +137 -0
- package/src/tests/http/context-routes.test.ts +2 -2
- package/src/tests/http-api-integration.test.ts +5 -2
- package/src/tests/http-users.test.ts +1 -1
- package/src/tests/identity-refresh.test.ts +2 -2
- package/src/tests/internal-ai/complete-structured.test.ts +2 -2
- package/src/tests/internal-ai/credentials.test.ts +19 -17
- package/src/tests/jira-metadata.test.ts +1 -1
- package/src/tests/jira-oauth.test.ts +5 -5
- package/src/tests/jira-sync.test.ts +1 -1
- package/src/tests/jira-webhook-lifecycle.test.ts +3 -3
- package/src/tests/jira-webhook.test.ts +2 -2
- package/src/tests/kapso-inbound.test.ts +2 -2
- package/src/tests/kv-http.test.ts +1 -1
- package/src/tests/kv-namespace-resolution.test.ts +1 -1
- package/src/tests/kv-page-proxy.test.ts +2 -2
- package/src/tests/launch-password-rejection.test.ts +2 -2
- package/src/tests/linear-webhook.test.ts +1 -1
- package/src/tests/mcp-oauth-dcr-reuse.test.ts +6 -6
- package/src/tests/mcp-oauth-ensure-token.test.ts +28 -22
- package/src/tests/mcp-oauth-manual-client.test.ts +16 -12
- package/src/tests/mcp-oauth-queries.test.ts +35 -32
- package/src/tests/mcp-oauth-resolve-secrets.test.ts +8 -8
- package/src/tests/mcp-oauth-wrapper.test.ts +20 -20
- package/src/tests/mcp-user-route.test.ts +1 -1
- package/src/tests/memory-edges.test.ts +1 -1
- package/src/tests/memory-rate-endpoint.test.ts +1 -1
- package/src/tests/memory-rate-tool.test.ts +2 -2
- package/src/tests/memory-rater-e2e.test.ts +1 -1
- package/src/tests/memory-rater-llm-summarizer.test.ts +3 -3
- package/src/tests/memory-rater-llm.test.ts +1 -1
- package/src/tests/model-control.test.ts +3 -0
- package/src/tests/multi-runtime-registration.test.ts +97 -3
- package/src/tests/oauth-access-token-tool.test.ts +18 -18
- package/src/tests/oauth-callback-flow.test.ts +8 -8
- package/src/tests/oauth-credential-bindings.test.ts +29 -27
- package/src/tests/oauth-keepalive.test.ts +10 -10
- package/src/tests/oauth-presets.test.ts +13 -5
- package/src/tests/oauth-refresh-failure.test.ts +9 -9
- package/src/tests/oauth-refresh-sweep.test.ts +20 -13
- package/src/tests/oauth-wrapper.test.ts +1 -1
- package/src/tests/onboard-compose.test.ts +3 -3
- package/src/tests/onboard-env.test.ts +26 -26
- package/src/tests/onboard-non-interactive.test.ts +4 -4
- package/src/tests/opencode-adapter.test.ts +1 -1
- package/src/tests/opencode-plugin.test.ts +2 -2
- package/src/tests/otel-session-cost-metrics.test.ts +1 -1
- package/src/tests/page-proxy-authed.test.ts +2 -2
- package/src/tests/page-proxy.test.ts +2 -2
- package/src/tests/page-session.test.ts +7 -7
- package/src/tests/page-viewer-auth.test.ts +2 -2
- package/src/tests/pages-authed-mode.test.ts +1 -1
- package/src/tests/pages-http.test.ts +1 -1
- package/src/tests/pages-password-mode.test.ts +1 -1
- package/src/tests/pages-public-authed-401.test.ts +1 -1
- package/src/tests/pages-public-html.test.ts +2 -2
- package/src/tests/pages-view-count.test.ts +1 -1
- package/src/tests/pi-mono-adapter.test.ts +10 -10
- package/src/tests/pi-mono-extension.test.ts +2 -2
- package/src/tests/pricing-routes.test.ts +1 -1
- package/src/tests/profile-sync-warning.test.ts +8 -8
- package/src/tests/profile-sync.test.ts +8 -8
- package/src/tests/prompt-template-session.test.ts +36 -5
- package/src/tests/provider-process-group.test.ts +95 -4
- package/src/tests/providers/pi-cost.test.ts +1 -1
- package/src/tests/queue-stall-alarm.test.ts +1 -1
- package/src/tests/rbac-admission.test.ts +1 -1
- package/src/tests/rbac-charact-http.test.ts +1 -1
- package/src/tests/rbac-e2e-helpers.ts +1 -1
- package/src/tests/realtime-room-surfaces.test.ts +1 -1
- package/src/tests/reload-config.test.ts +1 -1
- package/src/tests/routing-reason-contract.test.ts +76 -3
- package/src/tests/routing-reason-inventory.test.ts +11 -6
- package/src/tests/routing-source.test.ts +53 -0
- package/src/tests/runner-agent-fs-provision-retry.test.ts +1 -1
- package/src/tests/runner-context-preamble.test.ts +1 -1
- package/src/tests/runner-deployment-resume.test.ts +1 -1
- package/src/tests/runner-fallback-output.test.ts +1 -1
- package/src/tests/runner-identity-refresh.test.ts +1 -1
- package/src/tests/runner-skills-refresh.test.ts +1 -1
- package/src/tests/schedule-target-type.test.ts +3 -3
- package/src/tests/scheduled-tasks.test.ts +14 -5
- package/src/tests/scheduler-occurrence.test.ts +347 -0
- package/src/tests/script-apis-mcp.test.ts +1 -1
- package/src/tests/script-connections-http.test.ts +61 -58
- package/src/tests/script-connections-mcp.test.ts +1 -1
- package/src/tests/script-connections.test.ts +1 -1
- package/src/tests/script-runs-http.test.ts +15 -7
- package/src/tests/script-workflows-runtime-e2e.test.ts +1 -1
- package/src/tests/scripts-external-api.test.ts +1 -1
- package/src/tests/scripts-http.test.ts +1 -1
- package/src/tests/scripts-mcp-e2e.test.ts +1 -1
- package/src/tests/scripts-only-gating.test.ts +2 -2
- package/src/tests/scripts-retention.test.ts +1 -1
- package/src/tests/scripts-runtime-identity.test.ts +1 -1
- package/src/tests/scripts-runtime-secret-egress.test.ts +1 -1
- package/src/tests/scripts-runtime.test.ts +6 -4
- package/src/tests/scripts-typecheck.test.ts +21 -0
- package/src/tests/sdk-allowlist.test.ts +1 -1
- package/src/tests/secret-scrubber.test.ts +38 -31
- package/src/tests/seed-registry.test.ts +46 -8
- package/src/tests/seed-schedules.test.ts +139 -8
- package/src/tests/seed-workflows.test.ts +93 -7
- package/src/tests/send-task-output-schema.test.ts +9 -1
- package/src/tests/send-task-requested-by.test.ts +1 -0
- package/src/tests/send-task-slack-routing-guard.test.ts +2 -0
- package/src/tests/session-costs-codex-recompute.test.ts +1 -1
- package/src/tests/session-costs-golden.test.ts +2 -2
- package/src/tests/session-costs-model-key-normalize.test.ts +2 -2
- package/src/tests/session-costs-recompute-all-providers.test.ts +1 -1
- package/src/tests/session-tokens.test.ts +1 -1
- package/src/tests/shutdown-error-scrubbing.test.ts +1 -1
- package/src/tests/slack-file-tools-attachments.test.ts +1 -1
- package/src/tests/slack-inbound-files.test.ts +222 -86
- package/src/tests/slack-reaction-config.test.ts +5 -4
- package/src/tests/slack-read-boundaries.test.ts +1 -1
- package/src/tests/slack-render-v2.test.ts +120 -1
- package/src/tests/status.test.ts +7 -7
- package/src/tests/steering-core.test.ts +1 -1
- package/src/tests/steering-transport.test.ts +4 -4
- package/src/tests/store-progress-output-guidance.test.ts +34 -0
- package/src/tests/swarm-tool-result-gate.test.ts +11 -11
- package/src/tests/swarm-x-tool.test.ts +7 -5
- package/src/tests/sync-ai-toolbox-skills.test.ts +19 -0
- package/src/tests/task-supersede-resume.test.ts +1 -1
- package/src/tests/task-tools-ctx.test.ts +2 -0
- package/src/tests/tasks-requested-by-filter.test.ts +2 -2
- package/src/tests/telemetry-init.test.ts +11 -3
- package/src/tests/tool-output-agent-id.test.ts +1 -0
- package/src/tests/tracker-fold.test.ts +7 -7
- package/src/tests/tracker-tools.test.ts +3 -3
- package/src/tests/ui-followup-lead-delegation.test.ts +1 -0
- package/src/tests/unified-oauth-migration.test.ts +5 -5
- package/src/tests/user-token-rest-auth.test.ts +1 -1
- package/src/tests/user-token-routes.test.ts +1 -1
- package/src/tests/whoami-route.test.ts +1 -1
- package/src/tests/workflow-agent-task.test.ts +15 -13
- package/src/tests/workflow-ctx.test.ts +1 -1
- package/src/tests/workflow-e2e.test.ts +1 -1
- package/src/tests/workflow-engine-v2.test.ts +3 -1
- package/src/tests/workflow-executors.test.ts +2 -2
- package/src/tests/workflow-http-v2.test.ts +8 -6
- package/src/tests/workflow-input-redaction.test.ts +7 -5
- package/src/tests/workflow-integration-io.test.ts +2 -2
- package/src/tests/workflow-llm.test.ts +5 -5
- package/src/tests/workflow-registry.test.ts +1 -1
- package/src/tests/workflow-swarm-script.test.ts +1 -1
- package/src/tests/workflow-triggers-v2.test.ts +23 -21
- package/src/tests/x-composio.test.ts +9 -7
- package/src/tests/x402-client.test.ts +1 -1
- package/src/tests/x402-config.test.ts +28 -41
- package/src/tools/defer-task.ts +156 -24
- package/src/tools/send-task.ts +21 -1
- package/src/tools/skills/skill-publish.ts +1 -0
- package/src/tools/store-progress.ts +1 -1
- package/src/tools/templates.ts +2 -1
- package/src/types.ts +11 -0
- package/src/utils/constants.ts +7 -1
- package/src/utils/credentials.test.ts +16 -16
- package/src/workflows/executors/agent-task.ts +5 -0
- package/templates/ai-toolbox.manifest.json +7 -1
- package/templates/schedules/daily-blocker-digest/config.json +6 -1
- package/templates/schedules/daily-compounding-reflection/config.json +1 -0
- package/templates/schedules/daily-hn-briefing/config.json +1 -1
- package/templates/schedules/daily-status-report/config.json +6 -1
- package/templates/schedules/daily-swarm-update-check/config.json +19 -0
- package/templates/schedules/daily-swarm-update-check/content.md +49 -0
- package/templates/schedules/daily-workflow-health-audit/config.json +6 -1
- package/templates/schedules/gtm-weekly-review/config.json +1 -1
- package/templates/schedules/weekly-code-health-reports/config.json +1 -1
- package/templates/schedules/weekly-dependabot-triage/config.json +1 -1
- package/templates/schedules/weekly-dora-metrics/config.json +1 -1
- package/templates/schedules/weekly-harness-upgrade-check/config.json +1 -1
- package/templates/skills/delegate-work/files/scripts/codex-exec.sh +1 -1
- package/templates/skills/serply-search/SKILL.md +95 -0
- package/templates/skills/serply-search/config.json +13 -0
- package/templates/skills/serply-search/content.md +90 -0
- package/templates/skills/swarm-scripts/SKILL.md +2 -2
- package/templates/skills/swarm-scripts/content.md +2 -2
- package/templates/workflows/claude-code-changelog-watch/config.json +1 -1
- package/templates/workflows/gsc-topic-miner/config.json +1 -1
- package/templates/workflows/linear-drain-loop/config.json +1 -1
- package/templates/workflows/llm-safe-release-context/config.json +1 -1
- package/templates/workflows/ralph-loop/config.json +1 -1
- package/dist/{azure-openai-responses-cqar64rc.js → azure-openai-responses-g85jv7m8.js} +8 -8
- package/dist/{cli-4xz3pmrq.js → cli-8qx7jnrk.js} +5 -5
- package/dist/{cli-6664w7y4.js → cli-wk0gjrn3.js} +3 -3
- package/dist/{google-vertex-ppw8ydpa.js → google-vertex-pkhpkbq9.js} +3 -3
- package/dist/{openai-codex-responses-g7w48y30.js → openai-codex-responses-pm5gnyfa.js} +4 -4
- package/dist/{openai-completions-0bqmsajw.js → openai-completions-qdcmkfnr.js} +12 -12
- package/dist/{openai-responses-nmeyptke.js → openai-responses-vwvk1taj.js} +13 -13
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
init_task_attachment_links,
|
|
6
6
|
taskAttachmentDisplayUrl
|
|
7
|
-
} from "./cli-
|
|
7
|
+
} from "./cli-2658f6at.js";
|
|
8
8
|
import {
|
|
9
9
|
require_jws,
|
|
10
10
|
require_p_retry
|
|
@@ -49,11 +49,11 @@ import {
|
|
|
49
49
|
setSlackMessageTracking,
|
|
50
50
|
slackContextKey,
|
|
51
51
|
updateSlackMessageRecord
|
|
52
|
-
} from "./cli-
|
|
52
|
+
} from "./cli-qp69dd5d.js";
|
|
53
53
|
import {
|
|
54
54
|
getAppUrl,
|
|
55
55
|
init_constants
|
|
56
|
-
} from "./cli-
|
|
56
|
+
} from "./cli-dv6cdjs2.js";
|
|
57
57
|
import {
|
|
58
58
|
init_env_flag,
|
|
59
59
|
isEnvFlagEnabled
|
|
@@ -54475,7 +54475,7 @@ async function initOtel(serviceRole = process.env.AGENT_ROLE || "api") {
|
|
|
54475
54475
|
return;
|
|
54476
54476
|
initialized = true;
|
|
54477
54477
|
try {
|
|
54478
|
-
const impl = await import("./otel-impl-
|
|
54478
|
+
const impl = await import("./otel-impl-8rgyy3j8.js");
|
|
54479
54479
|
await impl.boot(serviceRole);
|
|
54480
54480
|
realWithSpan = impl.withSpan;
|
|
54481
54481
|
realStartSpan = impl.startSpan;
|
|
@@ -55793,13 +55793,15 @@ async function initSlackApp() {
|
|
|
55793
55793
|
logLevel: import_bolt.LogLevel.DEBUG,
|
|
55794
55794
|
...slackApiUrl ? { clientOptions: { slackApiUrl } } : {}
|
|
55795
55795
|
});
|
|
55796
|
-
const { registerMessageHandler } = await import("./handlers-
|
|
55797
|
-
const { registerCommandHandler } = await import("./commands-
|
|
55798
|
-
const { registerActionHandlers } = await import("./actions-
|
|
55796
|
+
const { registerMessageHandler } = await import("./handlers-vr1djg4n.js");
|
|
55797
|
+
const { registerCommandHandler } = await import("./commands-26phw0pc.js");
|
|
55798
|
+
const { registerActionHandlers } = await import("./actions-wn6ew0p7.js");
|
|
55799
|
+
const { registerWorkObjectHandlers } = await import("./work-objects-8d3nd3x2.js");
|
|
55799
55800
|
registerMessageHandler(app);
|
|
55800
55801
|
registerCommandHandler(app);
|
|
55801
55802
|
registerActionHandlers(app);
|
|
55802
|
-
|
|
55803
|
+
registerWorkObjectHandlers(app);
|
|
55804
|
+
const { createAssistant } = await import("./assistant-q4vhgjtx.js");
|
|
55803
55805
|
app.assistant(createAssistant());
|
|
55804
55806
|
return app;
|
|
55805
55807
|
}
|
|
@@ -55808,7 +55810,7 @@ async function startSlackApp() {
|
|
|
55808
55810
|
await initSlackApp();
|
|
55809
55811
|
}
|
|
55810
55812
|
if (app) {
|
|
55811
|
-
const { isSlackRenderV2Enabled: isSlackRenderV2Enabled2 } = await import("./render-v2-
|
|
55813
|
+
const { isSlackRenderV2Enabled: isSlackRenderV2Enabled2 } = await import("./render-v2-3j26g0qh.js");
|
|
55812
55814
|
if (isSlackRenderV2Enabled2())
|
|
55813
55815
|
await ensureSlackRenderV2Activation();
|
|
55814
55816
|
await app.start();
|
|
@@ -56449,7 +56451,8 @@ ${outcomeText(task.failureReason, "Task failed.")}`;
|
|
|
56449
56451
|
|
|
56450
56452
|
${outcomeText(task.failureReason, "Task was cancelled.")}`;
|
|
56451
56453
|
}
|
|
56452
|
-
|
|
56454
|
+
const isDeferred = task.tags?.includes("deferred");
|
|
56455
|
+
if (slackReplySent && task.status === "completed" && !isDeferred) {
|
|
56453
56456
|
const agentName = task.agentId ? (await getAgentById(task.agentId))?.name ?? "Agent" : "Agent";
|
|
56454
56457
|
return `✅ ${agentName} completed`;
|
|
56455
56458
|
}
|
|
@@ -56467,7 +56470,7 @@ async function childOutcomeContent(task, slackReplySent) {
|
|
|
56467
56470
|
|
|
56468
56471
|
${outcomeText(task.failureReason, "Task failed.")}`;
|
|
56469
56472
|
}
|
|
56470
|
-
if (slackReplySent) {
|
|
56473
|
+
if (slackReplySent && !task.tags?.includes("deferred")) {
|
|
56471
56474
|
return `↳ ✅ ${agentName} completed`;
|
|
56472
56475
|
}
|
|
56473
56476
|
return `↳ ✅ ${agentName} — result
|
|
@@ -56564,7 +56567,11 @@ function attachmentLine(attachments) {
|
|
|
56564
56567
|
if (!attachment)
|
|
56565
56568
|
return;
|
|
56566
56569
|
const url = taskAttachmentDisplayUrl(attachment);
|
|
56567
|
-
|
|
56570
|
+
if (!/^https?:\/\//.test(url))
|
|
56571
|
+
return;
|
|
56572
|
+
const label = attachment.name.replace(/\s+/g, " ").trim().replace(/[\\[\]()]/g, "\\$&");
|
|
56573
|
+
const destination = url.replace(/[\s\\<>]/g, encodeURIComponent).replace(/\(/g, "%28").replace(/\)/g, "%29");
|
|
56574
|
+
return `\uD83D\uDCCE [${label}](${destination})`;
|
|
56568
56575
|
}
|
|
56569
56576
|
function fenceAt(line) {
|
|
56570
56577
|
const match = line.match(/^[ \t]{0,3}(`{3,}|~{3,})/);
|
|
@@ -56958,4 +56965,4 @@ function _resetSlackRenderV2ForTests() {
|
|
|
56958
56965
|
cachedTeamId = undefined;
|
|
56959
56966
|
}
|
|
56960
56967
|
|
|
56961
|
-
export { initialize, ensure, require_dist7 as require_dist, isPollTracingEnabled, initOtel, withSpan, startSpan, withSpanContext, withRemoteContext, injectTraceContext, recordSessionCost, recordDbRetentionSweep, recordDbRetentionStatement, ackSlackMessage, getTaskLink, markdownToSlack, buildCancelledBlocks, buildBufferFlushBlocks, buildTreeBlocks, getAgentDisplayName, getAgentEmoji, isSlackRenderV2Enabled, isSlackDelegationEnabled, callSlackWithRetry, formatV2Duration, renderThreadTree, ensureSlackThreadTree, childOutcomeContent, streamOutcomeCard, processSlackRenderV2, _resetSlackRenderV2ForTests, registerTreeMessage, getSlackApp, initSlackApp, startSlackApp, stopSlackApp };
|
|
56968
|
+
export { initialize, ensure, require_dist7 as require_dist, isPollTracingEnabled, initOtel, withSpan, startSpan, withSpanContext, withRemoteContext, injectTraceContext, recordSessionCost, recordDbRetentionSweep, recordDbRetentionStatement, ackSlackMessage, getTaskLink, getTaskUrl, markdownToSlack, buildCancelledBlocks, buildBufferFlushBlocks, buildTreeBlocks, getAgentDisplayName, getAgentEmoji, isSlackRenderV2Enabled, isSlackDelegationEnabled, callSlackWithRetry, formatV2Duration, renderThreadTree, ensureSlackThreadTree, childOutcomeContent, streamOutcomeCard, processSlackRenderV2, _resetSlackRenderV2ForTests, registerTreeMessage, getSlackApp, initSlackApp, startSlackApp, stopSlackApp };
|
|
@@ -5592,7 +5592,7 @@ function amazonBedrockProvider() {
|
|
|
5592
5592
|
}
|
|
5593
5593
|
|
|
5594
5594
|
// node_modules/@earendil-works/pi-ai/dist/api/openai-completions.lazy.js
|
|
5595
|
-
var openAICompletionsApi = () => lazyApi(() => import("./openai-completions-
|
|
5595
|
+
var openAICompletionsApi = () => lazyApi(() => import("./openai-completions-qdcmkfnr.js"));
|
|
5596
5596
|
|
|
5597
5597
|
// node_modules/@earendil-works/pi-ai/dist/auth/helpers.js
|
|
5598
5598
|
function envApiKeyAuth(name, envVars) {
|
|
@@ -5648,7 +5648,7 @@ function antLingProvider() {
|
|
|
5648
5648
|
}
|
|
5649
5649
|
|
|
5650
5650
|
// node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.lazy.js
|
|
5651
|
-
var anthropicMessagesApi = () => lazyApi(() => import("./anthropic-messages-
|
|
5651
|
+
var anthropicMessagesApi = () => lazyApi(() => import("./anthropic-messages-ec35ktvx.js"));
|
|
5652
5652
|
|
|
5653
5653
|
// node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.js
|
|
5654
5654
|
var __rewriteRelativeImportExtension = function(path, preserveJsx) {
|
|
@@ -5886,7 +5886,7 @@ function anthropicProvider() {
|
|
|
5886
5886
|
}
|
|
5887
5887
|
|
|
5888
5888
|
// node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.lazy.js
|
|
5889
|
-
var azureOpenAIResponsesApi = () => lazyApi(() => import("./azure-openai-responses-
|
|
5889
|
+
var azureOpenAIResponsesApi = () => lazyApi(() => import("./azure-openai-responses-g85jv7m8.js"));
|
|
5890
5890
|
|
|
5891
5891
|
// node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js
|
|
5892
5892
|
function azureOpenAIResponsesProvider() {
|
|
@@ -5924,7 +5924,7 @@ function cerebrasProvider() {
|
|
|
5924
5924
|
}
|
|
5925
5925
|
|
|
5926
5926
|
// node_modules/@earendil-works/pi-ai/dist/api/openai-responses.lazy.js
|
|
5927
|
-
var openAIResponsesApi = () => lazyApi(() => import("./openai-responses-
|
|
5927
|
+
var openAIResponsesApi = () => lazyApi(() => import("./openai-responses-vwvk1taj.js"));
|
|
5928
5928
|
|
|
5929
5929
|
// node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.js
|
|
5930
5930
|
var CLOUDFLARE_API_KEY = "CLOUDFLARE_API_KEY";
|
|
@@ -6127,7 +6127,7 @@ function googleProvider() {
|
|
|
6127
6127
|
}
|
|
6128
6128
|
|
|
6129
6129
|
// node_modules/@earendil-works/pi-ai/dist/api/google-vertex.lazy.js
|
|
6130
|
-
var googleVertexApi = () => lazyApi(() => import("./google-vertex-
|
|
6130
|
+
var googleVertexApi = () => lazyApi(() => import("./google-vertex-pkhpkbq9.js"));
|
|
6131
6131
|
|
|
6132
6132
|
// node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js
|
|
6133
6133
|
var VERTEX_ADC_PATH = "~/.config/gcloud/application_default_credentials.json";
|
|
@@ -6344,7 +6344,7 @@ function openaiProvider() {
|
|
|
6344
6344
|
}
|
|
6345
6345
|
|
|
6346
6346
|
// node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.lazy.js
|
|
6347
|
-
var openAICodexResponsesApi = () => lazyApi(() => import("./openai-codex-responses-
|
|
6347
|
+
var openAICodexResponsesApi = () => lazyApi(() => import("./openai-codex-responses-pm5gnyfa.js"));
|
|
6348
6348
|
|
|
6349
6349
|
// node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.js
|
|
6350
6350
|
function openaiCodexProvider() {
|
|
@@ -268,8 +268,9 @@ Choose the path by the shape of the work:
|
|
|
268
268
|
- Everything else: tools, directly.
|
|
269
269
|
|
|
270
270
|
Store progress with \`store-progress\` at each milestone. A milestone is a result the lead could act on.
|
|
271
|
-
|
|
272
|
-
|
|
271
|
+
Complete with \`store-progress\`: status \`completed\`, and \`output\` naming the result and every artifact link. On failure: status \`failed\`, with \`failureReason\` naming what you tried.
|
|
272
|
+
Free-text \`output\`: under 120 words by default, with the exceptions in How you write. Link documents instead of inlining them; omit process narration.
|
|
273
|
+
For a task with \`outputSchema\`, return matching JSON in \`output\`.
|
|
273
274
|
When you are blocked after real effort, store the blocker with \`store-progress\` and keep working on what you can.
|
|
274
275
|
The task has four endings. When you are done: \`completed\`. When the answer needs time (a build, a deploy, a reply): \`defer-task\` with a summary of what you did, when to wake up, and what to check. It completes the task now; the wake-up task continues it. When a person must decide: \`request-human-input\`. When nothing else is possible: \`failed\` with the blocker.
|
|
275
276
|
`,
|
|
@@ -285,7 +286,7 @@ The task has four endings. When you are done: \`completed\`. When the answer nee
|
|
|
285
286
|
Your output is delegation and review. Workers implement, research, analyze, and write. Data gathering, even a quick query, goes to a worker. You answer simple factual questions yourself.
|
|
286
287
|
|
|
287
288
|
\`get-swarm\` is the roster. Route by capability and load.
|
|
288
|
-
\`send-task\`: include \`routingReason\` with \`agentId\`. Read results via \`get-task-details\`.
|
|
289
|
+
\`send-task\`: include \`routingReason\` and \`routingNote\` (at least 10 characters after trim, maximum 200) with \`agentId\`. Read results via \`get-task-details\`.
|
|
289
290
|
A task states the goal, the repo URL when there is one, and the constraints. Workers know git, the skills, and \`store-progress\`.
|
|
290
291
|
Delegate by the shape of the work: a workflow for multi-step or fan-out work, a schedule for recurring work, a script for bulk data, an inline \`script-run\` for a one-off bulk job you can run yourself. The \`workflow-iterate\`, \`scheduling\`, and \`swarm-scripts\` skills build them.
|
|
291
292
|
Research or exploration: tell the worker to use the \`researching\` skill. A large feature: a task for the \`planning\` skill first, then a task for the \`implementing\` skill with \`parentTaskId\`. A small fix: direct implementation.
|
|
@@ -310,6 +311,7 @@ Your heartbeat runbook is the \`heartbeatMd\` profile field. Edit it with \`upda
|
|
|
310
311
|
The lead assigns your tasks and reviews your output. Your task is in your first message, with memories from past sessions.
|
|
311
312
|
|
|
312
313
|
Your final message is the task output. It names the result, every link (a PR, a file, a page), and, on failure, what you tried and what blocked you.
|
|
314
|
+
Free-text task output: under 120 words by default, with the exceptions in How you write. Link documents instead of inlining them; omit process narration.
|
|
313
315
|
`,
|
|
314
316
|
variables: [],
|
|
315
317
|
category: "system"
|
|
@@ -399,14 +401,14 @@ Link env: \`APP_URL\` for pages, \`MCP_BASE_URL\` for the API. Report missing va
|
|
|
399
401
|
defaultBody: `
|
|
400
402
|
## How you write
|
|
401
403
|
|
|
402
|
-
For
|
|
404
|
+
For replies, task output (\`output\` or a remote final message), and artifacts: lead with the result. Use plain words, active voice, one idea per sentence, and sentence case headings.
|
|
403
405
|
State blockers and reasons. Preserve meaningful uncertainty.
|
|
404
406
|
Omit em dashes, filler, sign-offs, praise, repetition, step narration, and generic offers to elaborate.
|
|
405
407
|
|
|
406
|
-
Simple replies: one to three sentences. Routine replies: under 120 words,
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
408
|
+
Simple replies: one to three sentences. Routine replies and free-text task output: under 120 words by default, in short paragraphs or up to three bullets.
|
|
409
|
+
Exceed for requested depth, enumerated results, essential evidence, caveats, instructions, or longer output required by the task's \`outputSchema\`.
|
|
410
|
+
Keep replies and task output self-contained; link documents instead of inlining them.
|
|
411
|
+
Preserve investigation and required artifacts. Schema exemptions apply to \`outputSchema\`-constrained completions; free-text \`output\` follows the target.
|
|
410
412
|
|
|
411
413
|
Follow the current request and Requester Profile for language, tone, depth, and format. Correctness wins over style.
|
|
412
414
|
Use the \`comms\` skill when available for requested simplification or clarity rewrites. Ordinary replies need no skill invocation.
|
|
@@ -437,6 +439,7 @@ Read a config value inside a script with \`ctx.swarm.config.get\`.
|
|
|
437
439
|
## Slack
|
|
438
440
|
|
|
439
441
|
The engine posts the thread tree and the outcome card. You post at most one message per task, and only when you have something the card will not carry. Progress, receipts, and relayed worker output stay out of Slack.
|
|
442
|
+
The outcome card publishes your \`output\` verbatim. Keep free-text \`output\` under 120 words by default, with the exceptions in How you write.
|
|
440
443
|
A Slack task from an unknown user: register them with \`manage-user\` first.
|
|
441
444
|
You MUST use the \`slack-interaction\` skill before you post to Slack.
|
|
442
445
|
`,
|
|
@@ -533,7 +536,7 @@ This swarm runs in **scripts-only mode**. The ONLY swarm MCP tools available are
|
|
|
533
536
|
The script authoring contract in the \`swarm-scripts\` skill (entry signature, \`ctx\` shape, secret handling) applies here unchanged. The full SDK is \`ctx.swarm.*\`: task lifecycle (\`task_get\`, \`task_send\`, \`task_storeProgress\`, \`task_action\`, \`task_list\`), Slack (\`slack_reply\`, \`slack_post\`, \`slack_read\`), memory, kv, swarm info (\`swarm_get\`, \`agent_info\`), and more. Responses are usually wrapped; prefer \`res?.data ?? res\`.
|
|
534
537
|
|
|
535
538
|
**Built-in coordination scripts, USE THESE FIRST (\`script-run\` with \`name\` + \`args\`):**
|
|
536
|
-
- \`delegate\` {agentName, task, routingReason, parentTaskId?} → subtask for an agent by name; returns {taskId}
|
|
539
|
+
- \`delegate\` {agentName, task, routingReason, routingNote, parentTaskId?} → subtask for an agent by name; returns {taskId}
|
|
537
540
|
- \`wait-for-task\` {taskId} → waits up to ~25s for a terminal state; returns {done, status, output}; only for a child expected to finish within about a minute whose result the answer requires. Bound all calls to about a minute total; if still done=false, use \`defer-task\` with a wake-up to collect the result.
|
|
538
541
|
- \`get-child-outputs\` {parentTaskId} → all children with status+output
|
|
539
542
|
- \`complete-task\` {taskId, output} → THE way to finish your assigned task
|
|
@@ -558,6 +561,7 @@ Rules of the road:
|
|
|
558
561
|
## Slack (scripts-only)
|
|
559
562
|
|
|
560
563
|
This task originated from Slack (channel: \`{{slackChannelId}}\`). The engine maintains the thread tree and publishes the top-level outcome card. Post at most one distinct agent-authored message per task, concrete, sized to what the user asked for. Progress, start, completion, failure, acknowledgment messages, and relayed raw task output stay out of Slack. Named Slack tools are not exposed in scripts-only mode, so use \`script-run\` with inline source calling \`ctx.swarm.slack_reply({ taskId, message })\` (your taskId carries the thread context).
|
|
564
|
+
The outcome card publishes your \`output\` verbatim. Keep free-text \`output\` under 120 words by default, with the exceptions in How you write.
|
|
561
565
|
`,
|
|
562
566
|
variables: [
|
|
563
567
|
{ name: "slackChannelId", description: "The Slack channel ID for the originating thread" },
|
|
@@ -7,14 +7,14 @@ import {
|
|
|
7
7
|
restoreScratchScriptLastUsedIfUnchanged,
|
|
8
8
|
runScript,
|
|
9
9
|
touchScratchScriptLastUsed
|
|
10
|
-
} from "./cli-
|
|
10
|
+
} from "./cli-zd21jrrc.js";
|
|
11
11
|
import {
|
|
12
12
|
defaultAssetKey,
|
|
13
13
|
getDbClient,
|
|
14
14
|
getLeadAgent,
|
|
15
15
|
init_db,
|
|
16
16
|
init_key
|
|
17
|
-
} from "./cli-
|
|
17
|
+
} from "./cli-qp69dd5d.js";
|
|
18
18
|
import {
|
|
19
19
|
init_zod
|
|
20
20
|
} from "./cli-sd0mxa3c.js";
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
deriveProviderFromKeyType,
|
|
3
|
+
init_credentials
|
|
4
|
+
} from "./cli-c2mk1kgf.js";
|
|
1
5
|
import {
|
|
2
6
|
IdentityFieldBudgetError,
|
|
3
7
|
checkIdentityFieldBudget,
|
|
@@ -10,7 +14,7 @@ import {
|
|
|
10
14
|
init_templates,
|
|
11
15
|
matchesDefaultClaudeMd,
|
|
12
16
|
matchesDefaultIdentityMd
|
|
13
|
-
} from "./cli-
|
|
17
|
+
} from "./cli-hmyynq9b.js";
|
|
14
18
|
import {
|
|
15
19
|
configureDbResolver,
|
|
16
20
|
getAllTemplateDefinitions,
|
|
@@ -20,15 +24,11 @@ import {
|
|
|
20
24
|
init_steering_enabled,
|
|
21
25
|
isSteeringEnabled,
|
|
22
26
|
registerTemplate
|
|
23
|
-
} from "./cli-
|
|
27
|
+
} from "./cli-n75jt793.js";
|
|
24
28
|
import {
|
|
25
29
|
MAX_PROFILE_FILE_LENGTH,
|
|
26
30
|
init_constants
|
|
27
|
-
} from "./cli-
|
|
28
|
-
import {
|
|
29
|
-
deriveProviderFromKeyType,
|
|
30
|
-
init_credentials
|
|
31
|
-
} from "./cli-c2mk1kgf.js";
|
|
31
|
+
} from "./cli-dv6cdjs2.js";
|
|
32
32
|
import {
|
|
33
33
|
init_env_flag,
|
|
34
34
|
isEnvFlagEnabled
|
|
@@ -49,7 +49,7 @@ import {
|
|
|
49
49
|
import {
|
|
50
50
|
init_package,
|
|
51
51
|
package_default
|
|
52
|
-
} from "./cli-
|
|
52
|
+
} from "./cli-gm0fhz13.js";
|
|
53
53
|
import {
|
|
54
54
|
init_secret_scrubber,
|
|
55
55
|
registerVolatileSecret,
|
|
@@ -2187,7 +2187,7 @@ function resolveTaskModelSelection(opts) {
|
|
|
2187
2187
|
function isTerminalTaskStatus(status) {
|
|
2188
2188
|
return TERMINAL_TASK_STATUSES.includes(status);
|
|
2189
2189
|
}
|
|
2190
|
-
var AssetKeySchema, AssetEntityTypeSchema, AssetProviderRefSchema, AssetKeyMappingSchema, AssetSummarySchema, ModelTierSchema, MODEL_TIERS, ReasoningEffortSchema, LEGACY_MODEL_TO_TIER, DEFAULT_MODEL_TIER_MAP, AgentTaskStatusSchema, TERMINAL_TASK_STATUSES, InboxMessageStatusSchema, InboxMessageSchema, AgentTaskSourceSchema, RoutingReasonSchema, ProviderNameSchema, SteerModeSchema, SteeringStatusSchema, SteeringSourceSchema, SteeringMessageSchema, SteerOutcomeSchema, OnUnsupportedSchema, SteerResultSchema, PROVIDER_STEER_CAPABILITIES, FollowUpConfigSchema, RoutingAffinitySchema, AgentTaskSchema, CreateTaskOptionsSchema, TaskAttachmentKindSchema, SERVER_GENERATED_ATTACHMENT_CAPABILITY = "_agentSwarmGeneratedBy", attachmentCapabilitiesSchema, attachmentCommonFields, AttachmentInputSchema, TaskAttachmentSchema, UserSchema, UserCommsPrefsSchema, IdentityEventTypeSchema, InboxItemTypeSchema, InboxItemStatusSchema, InboxItemStateSchema, FavoriteItemTypeSchema, UserFavoriteSchema, TaskTemplateKindSchema, TaskTemplateSchema, AgentStatusSchema, AgentAvatarSchema, AgentSchema, AgentCredStatusLiveTestSchema, AgentLatestModelSchema, AgentBedrockStatusSchema, AcpSessionConfigSelectValueSchema, AcpSessionConfigSelectGroupSchema, AcpSessionConfigOptionSchema, AgentAcpStatusSchema, AgentCredStatusSchema, AgentWithTasksSchema, ChangeSourceSchema, VersionableFieldSchema, ContextVersionSchema, ChannelTypeSchema, ChannelSchema, ChannelMessageSchema, ServiceStatusSchema, ServiceSchema, AgentLogEventTypeSchema, ResumeReasonSchema, AgentLogSchema, SessionLogSchema, SessionCostSourceSchema, SessionCostModelBreakdownSchema, SessionCostSchema, EventCategorySchema, EventStatusSchema, EventSourceSchema, EventNameSchema, SwarmEventSchema, AutomationIntegrationIdSchema, ScheduledTaskTargetTypeSchema, ScheduledTaskSchema, SwarmConfigScopeSchema, SwarmConfigSchema, RepoGuidelinesSchema, REPO_GUIDELINES_MAX_ENTRIES = 50, RepoGuidelinesInputSchema, RepoHooksSchema, SwarmRepoSchema, AgentMemoryScopeSchema, AgentMemorySourceSchema, AgentMemorySchema, ActiveSessionSchema, RuntimeInstanceStatusSchema, RuntimeInstanceSchema, RetryPolicySchema, ExecutorMetaSchema, ValidationResultSchema, StepValidationConfigSchema, SwarmScriptNodeConfigSchema, WorkflowNodeSchema, WorkflowEdgeSchema, WorkflowDefinitionSchema, WorkflowNodePatchSchema, WorkflowPatchSchema, WebhookVerificationSchema, TriggerConfigSchema, CooldownConfigSchema, InputValueSchema, WorkflowTemplateSchema, WorkflowSnapshotSchema, WorkflowSchema, WorkflowVersionSchema, PageContentTypeSchema, PageAuthModeSchema, PageSnapshotSchema, PageSchema, PageVersionSchema, MetricParamSchema, MetricVariableTypeSchema, MetricFormatSchema, MetricVisualizationSchema, MetricQuerySchema, MetricVariableSchema, MetricVizConfigSchema, MetricWidgetSchema, MetricDefinitionSchema, MetricSnapshotSchema, MetricSchema, MetricVersionSchema, WorkflowRunStatusSchema, WorkflowRunSchema, ScriptRunStatusSchema, TERMINAL_SCRIPT_RUN_STATUSES, ScriptRunKindSchema, ScriptRunSchema, ScriptRunListItemSchema, ScriptRunJournalEntrySchema, WorkflowRunStepStatusSchema, WorkflowRunStepSchema, WaitModeSchema, WaitStateStatusSchema, WaitStateRowSchema, PromptTemplateScopeSchema, PromptTemplateStateSchema, PromptTemplateSchema, PromptTemplateHistorySchema, ScriptScopeSchema, ScriptFsModeSchema, ScriptRecordSchema, ScriptVersionRecordSchema, ScriptApiAuthModeSchema, ScriptApiRecordSchema, SkillTypeSchema, SkillScopeSchema, SkillSchema, AgentSkillSchema, SkillWithInstallInfoSchema, SkillFileSchema, McpServerTransportSchema, McpServerScopeSchema, McpAuthMethodSchema, McpServerSchema, AgentMcpServerSchema, McpServerWithInstallInfoSchema, ContextSnapshotEventTypeSchema, ContextFormulaSchema, ContextSnapshotSchema, BudgetScopeSchema, BudgetSchema, PricingProviderSchema, PricingTokenClassSchema, PricingRowSchema, BudgetRefusalCauseSchema, BudgetRefusalNotificationSchema, BudgetRefusedTriggerSchema, KvValueTypeSchema, KV_NAME_REGEX, KvNamespaceSchema, KvKeySchema, KvEntrySchema;
|
|
2190
|
+
var AssetKeySchema, AssetEntityTypeSchema, AssetProviderRefSchema, AssetKeyMappingSchema, AssetSummarySchema, ModelTierSchema, MODEL_TIERS, ReasoningEffortSchema, LEGACY_MODEL_TO_TIER, DEFAULT_MODEL_TIER_MAP, AgentTaskStatusSchema, TERMINAL_TASK_STATUSES, InboxMessageStatusSchema, InboxMessageSchema, AgentTaskSourceSchema, RoutingReasonSchema, RoutingSourceSchema, ProviderNameSchema, SteerModeSchema, SteeringStatusSchema, SteeringSourceSchema, SteeringMessageSchema, SteerOutcomeSchema, OnUnsupportedSchema, SteerResultSchema, PROVIDER_STEER_CAPABILITIES, FollowUpConfigSchema, RoutingAffinitySchema, AgentTaskSchema, CreateTaskOptionsSchema, TaskAttachmentKindSchema, SERVER_GENERATED_ATTACHMENT_CAPABILITY = "_agentSwarmGeneratedBy", attachmentCapabilitiesSchema, attachmentCommonFields, AttachmentInputSchema, TaskAttachmentSchema, UserSchema, UserCommsPrefsSchema, IdentityEventTypeSchema, InboxItemTypeSchema, InboxItemStatusSchema, InboxItemStateSchema, FavoriteItemTypeSchema, UserFavoriteSchema, TaskTemplateKindSchema, TaskTemplateSchema, AgentStatusSchema, AgentAvatarSchema, AgentSchema, AgentCredStatusLiveTestSchema, AgentLatestModelSchema, AgentBedrockStatusSchema, AcpSessionConfigSelectValueSchema, AcpSessionConfigSelectGroupSchema, AcpSessionConfigOptionSchema, AgentAcpStatusSchema, AgentCredStatusSchema, AgentWithTasksSchema, ChangeSourceSchema, VersionableFieldSchema, ContextVersionSchema, ChannelTypeSchema, ChannelSchema, ChannelMessageSchema, ServiceStatusSchema, ServiceSchema, AgentLogEventTypeSchema, ResumeReasonSchema, AgentLogSchema, SessionLogSchema, SessionCostSourceSchema, SessionCostModelBreakdownSchema, SessionCostSchema, EventCategorySchema, EventStatusSchema, EventSourceSchema, EventNameSchema, SwarmEventSchema, AutomationIntegrationIdSchema, ScheduledTaskTargetTypeSchema, ScheduledTaskSchema, SwarmConfigScopeSchema, SwarmConfigSchema, RepoGuidelinesSchema, REPO_GUIDELINES_MAX_ENTRIES = 50, RepoGuidelinesInputSchema, RepoHooksSchema, SwarmRepoSchema, AgentMemoryScopeSchema, AgentMemorySourceSchema, AgentMemorySchema, ActiveSessionSchema, RuntimeInstanceStatusSchema, RuntimeInstanceSchema, RetryPolicySchema, ExecutorMetaSchema, ValidationResultSchema, StepValidationConfigSchema, SwarmScriptNodeConfigSchema, WorkflowNodeSchema, WorkflowEdgeSchema, WorkflowDefinitionSchema, WorkflowNodePatchSchema, WorkflowPatchSchema, WebhookVerificationSchema, TriggerConfigSchema, CooldownConfigSchema, InputValueSchema, WorkflowTemplateSchema, WorkflowSnapshotSchema, WorkflowSchema, WorkflowVersionSchema, PageContentTypeSchema, PageAuthModeSchema, PageSnapshotSchema, PageSchema, PageVersionSchema, MetricParamSchema, MetricVariableTypeSchema, MetricFormatSchema, MetricVisualizationSchema, MetricQuerySchema, MetricVariableSchema, MetricVizConfigSchema, MetricWidgetSchema, MetricDefinitionSchema, MetricSnapshotSchema, MetricSchema, MetricVersionSchema, WorkflowRunStatusSchema, WorkflowRunSchema, ScriptRunStatusSchema, TERMINAL_SCRIPT_RUN_STATUSES, ScriptRunKindSchema, ScriptRunSchema, ScriptRunListItemSchema, ScriptRunJournalEntrySchema, WorkflowRunStepStatusSchema, WorkflowRunStepSchema, WaitModeSchema, WaitStateStatusSchema, WaitStateRowSchema, PromptTemplateScopeSchema, PromptTemplateStateSchema, PromptTemplateSchema, PromptTemplateHistorySchema, ScriptScopeSchema, ScriptFsModeSchema, ScriptRecordSchema, ScriptVersionRecordSchema, ScriptApiAuthModeSchema, ScriptApiRecordSchema, SkillTypeSchema, SkillScopeSchema, SkillSchema, AgentSkillSchema, SkillWithInstallInfoSchema, SkillFileSchema, McpServerTransportSchema, McpServerScopeSchema, McpAuthMethodSchema, McpServerSchema, AgentMcpServerSchema, McpServerWithInstallInfoSchema, ContextSnapshotEventTypeSchema, ContextFormulaSchema, ContextSnapshotSchema, BudgetScopeSchema, BudgetSchema, PricingProviderSchema, PricingTokenClassSchema, PricingRowSchema, BudgetRefusalCauseSchema, BudgetRefusalNotificationSchema, BudgetRefusedTriggerSchema, KvValueTypeSchema, KV_NAME_REGEX, KvNamespaceSchema, KvKeySchema, KvEntrySchema;
|
|
2191
2191
|
var init_types = __esm(() => {
|
|
2192
2192
|
init_key();
|
|
2193
2193
|
init_constants();
|
|
@@ -2350,6 +2350,7 @@ var init_types = __esm(() => {
|
|
|
2350
2350
|
"human_pinned",
|
|
2351
2351
|
"reroute_fault"
|
|
2352
2352
|
]);
|
|
2353
|
+
RoutingSourceSchema = exports_zod.enum(["declared", "engine_default"]);
|
|
2353
2354
|
ProviderNameSchema = exports_zod.enum([
|
|
2354
2355
|
"claude",
|
|
2355
2356
|
"codex",
|
|
@@ -2425,6 +2426,7 @@ var init_types = __esm(() => {
|
|
|
2425
2426
|
status: AgentTaskStatusSchema,
|
|
2426
2427
|
source: AgentTaskSourceSchema.default("mcp"),
|
|
2427
2428
|
routingReason: RoutingReasonSchema.optional(),
|
|
2429
|
+
routingSource: RoutingSourceSchema.optional().describe("Origin of the routing reason: declared by the caller or chosen by the engine. Absent for unknown historical provenance or no reason."),
|
|
2428
2430
|
routingNote: exports_zod.string().max(200).optional(),
|
|
2429
2431
|
taskType: exports_zod.string().max(50).optional(),
|
|
2430
2432
|
tags: exports_zod.array(exports_zod.string()).default([]),
|
|
@@ -2497,6 +2499,7 @@ var init_types = __esm(() => {
|
|
|
2497
2499
|
creatorAgentId: exports_zod.string().optional(),
|
|
2498
2500
|
source: AgentTaskSourceSchema.optional(),
|
|
2499
2501
|
routingReason: RoutingReasonSchema.optional(),
|
|
2502
|
+
routingSource: RoutingSourceSchema.optional(),
|
|
2500
2503
|
routingNote: exports_zod.string().max(200).optional(),
|
|
2501
2504
|
taskType: exports_zod.string().max(50).optional(),
|
|
2502
2505
|
tags: exports_zod.array(exports_zod.string()).optional(),
|
|
@@ -2643,7 +2646,8 @@ var init_types = __esm(() => {
|
|
|
2643
2646
|
"credential_missing",
|
|
2644
2647
|
"broken_task",
|
|
2645
2648
|
"to_read",
|
|
2646
|
-
"to_start_template"
|
|
2649
|
+
"to_start_template",
|
|
2650
|
+
"notification"
|
|
2647
2651
|
]);
|
|
2648
2652
|
InboxItemStatusSchema = exports_zod.enum(["open", "snoozed", "dismissed", "done"]);
|
|
2649
2653
|
InboxItemStateSchema = exports_zod.object({
|
|
@@ -5197,6 +5201,7 @@ Use the crashed agent's identity above as context for who was on it and what kin
|
|
|
5197
5201
|
Dispatch via \`send-task\` with ALL of:
|
|
5198
5202
|
- an explicit \`agentId\` (the chosen worker) — REQUIRED. If you omit it, \`send-task\` auto-routes to the original task's agent, which is the dead worker, and the work re-strands.
|
|
5199
5203
|
- \`routingReason: "reroute_fault"\`
|
|
5204
|
+
- \`routingNote\`: explain why this worker is the right recovery target (at least 10 characters after trim, maximum 200)
|
|
5200
5205
|
- \`taskType: "resume"\`
|
|
5201
5206
|
- the tag \`resume-generation:{{generation_next}}\`
|
|
5202
5207
|
- \`parentTaskId: {{original_task_id}}\`
|
|
@@ -5238,7 +5243,7 @@ Required capabilities: {{required_capabilities}}{{artifacts_block}}
|
|
|
5238
5243
|
|
|
5239
5244
|
This task has been sitting unassigned because no currently-registered agent matches its required role/capabilities. Pick an agent to take this work over and RE-DELEGATE it — do NOT execute it yourself.
|
|
5240
5245
|
|
|
5241
|
-
Dispatch via \`send-task\` with an explicit \`agentId\` (REQUIRED — omitting it re-pools the work under the same affinity tag and it will starve again), \`routingReason: "overflow"\`, and \`parentTaskId: {{original_task_id}}\`.
|
|
5246
|
+
Dispatch via \`send-task\` with an explicit \`agentId\` (REQUIRED — omitting it re-pools the work under the same affinity tag and it will starve again), \`routingReason: "overflow"\`, a \`routingNote\` explaining the worker choice (at least 10 characters after trim, maximum 200), and \`parentTaskId: {{original_task_id}}\`.
|
|
5242
5247
|
|
|
5243
5248
|
This work will NOT fall back to the unassigned pool — you are the only re-delegation path.`,
|
|
5244
5249
|
variables: [
|
|
@@ -5910,6 +5915,7 @@ function rowToAgentTask(row) {
|
|
|
5910
5915
|
status: row.status,
|
|
5911
5916
|
source: row.source,
|
|
5912
5917
|
routingReason: row.routing_reason ?? undefined,
|
|
5918
|
+
routingSource: row.routing_source ?? undefined,
|
|
5913
5919
|
routingNote: row.routing_note ?? undefined,
|
|
5914
5920
|
taskType: row.taskType ?? undefined,
|
|
5915
5921
|
tags: row.tags ? JSON.parse(row.tags) : [],
|
|
@@ -6709,7 +6715,7 @@ async function updateTaskTitle(taskId, title2) {
|
|
|
6709
6715
|
const row = await getDbClient().get("UPDATE agent_tasks SET title = ? WHERE id = ? RETURNING *", [normalized, taskId]);
|
|
6710
6716
|
return row ? rowToAgentTask(row) : null;
|
|
6711
6717
|
}
|
|
6712
|
-
async function completeTask(id, output) {
|
|
6718
|
+
async function completeTask(id, output, options) {
|
|
6713
6719
|
const oldTask = await getTaskById(id);
|
|
6714
6720
|
if (!oldTask)
|
|
6715
6721
|
return null;
|
|
@@ -6725,6 +6731,11 @@ async function completeTask(id, output) {
|
|
|
6725
6731
|
if (output) {
|
|
6726
6732
|
completed = await getDbClient().get("UPDATE agent_tasks SET output = ?, lastUpdatedAt = strftime('%Y-%m-%dT%H:%M:%fZ', 'now') WHERE id = ? RETURNING *", [scrubSecrets(output), id]);
|
|
6727
6733
|
}
|
|
6734
|
+
if (completed && options?.addTags?.length) {
|
|
6735
|
+
const existingTags = completed.tags ? JSON.parse(completed.tags) : [];
|
|
6736
|
+
const nextTags = Array.from(new Set([...existingTags, ...options.addTags]));
|
|
6737
|
+
completed = await getDbClient().get("UPDATE agent_tasks SET tags = ?, lastUpdatedAt = strftime('%Y-%m-%dT%H:%M:%fZ', 'now') WHERE id = ? RETURNING *", [JSON.stringify(nextTags), id]);
|
|
6738
|
+
}
|
|
6728
6739
|
if (completed) {
|
|
6729
6740
|
await dependencies3.reconcileTaskPullRequestAttachments(id, completed.agentId, [
|
|
6730
6741
|
completed.output,
|
|
@@ -7146,6 +7157,7 @@ async function promoteSteeringToTask(task, message) {
|
|
|
7146
7157
|
return await createTaskExtended(message.body, {
|
|
7147
7158
|
agentId: task.agentId,
|
|
7148
7159
|
routingReason: task.agentId ? "continuity" : undefined,
|
|
7160
|
+
routingSource: task.agentId ? "engine_default" : undefined,
|
|
7149
7161
|
creatorAgentId: message.createdByAgentId,
|
|
7150
7162
|
source: message.source === "script" ? "api" : message.source,
|
|
7151
7163
|
taskType: "follow-up",
|
|
@@ -7664,6 +7676,7 @@ var init_swarm_config_guard = __esm(() => {
|
|
|
7664
7676
|
"ADDITIVE_SLACK",
|
|
7665
7677
|
"SLACK_THREAD_FOLLOWUP_REQUIRE_MENTION",
|
|
7666
7678
|
"RBAC_ENABLED",
|
|
7679
|
+
"SEED_AUTOMATIONS_ENABLED",
|
|
7667
7680
|
"RBAC_AUDIT_DISABLED",
|
|
7668
7681
|
"BUDGET_ADMISSION_DISABLED",
|
|
7669
7682
|
"MCP_OAUTH_ALLOW_PRIVATE_HOSTS",
|
|
@@ -9464,7 +9477,7 @@ async function createTaskExtended(task, options) {
|
|
|
9464
9477
|
logRoutingDecisionFailure(id, "capture", error);
|
|
9465
9478
|
}
|
|
9466
9479
|
const inserted = await getDbClient().get(`INSERT INTO agent_tasks (
|
|
9467
|
-
id, "key", agentId, creatorAgentId, task, status, source, routing_reason, routing_note,
|
|
9480
|
+
id, "key", agentId, creatorAgentId, task, status, source, routing_reason, routing_source, routing_note,
|
|
9468
9481
|
taskType, tags, priority, dependsOn, offeredTo, offeredAt,
|
|
9469
9482
|
slackChannelId, slackThreadTs, slackTriggerMessageTs, slackUserId,
|
|
9470
9483
|
vcsProvider, vcsRepo, vcsEventType, vcsNumber, vcsCommentId, vcsAuthor, vcsUrl,
|
|
@@ -9472,7 +9485,7 @@ async function createTaskExtended(task, options) {
|
|
|
9472
9485
|
agentmailInboxId, agentmailMessageId, agentmailThreadId,
|
|
9473
9486
|
mentionMessageId, mentionChannelId, dir, parentTaskId, model, modelTier, effort, scheduleId,
|
|
9474
9487
|
workflowRunId, workflowRunStepId, outputSchema, followUpConfig, requestedByUserId, requestedByUserIdInherited, contextKey, routingAffinity, swarmVersion, createdAt, lastUpdatedAt, created_by, updated_by
|
|
9475
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING *`, [
|
|
9488
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING *`, [
|
|
9476
9489
|
id,
|
|
9477
9490
|
assetKey,
|
|
9478
9491
|
options?.agentId ?? null,
|
|
@@ -9481,6 +9494,7 @@ async function createTaskExtended(task, options) {
|
|
|
9481
9494
|
status,
|
|
9482
9495
|
options?.source ?? "mcp",
|
|
9483
9496
|
options?.routingReason ?? null,
|
|
9497
|
+
options?.routingSource ?? null,
|
|
9484
9498
|
options?.routingNote ?? null,
|
|
9485
9499
|
options?.taskType ?? null,
|
|
9486
9500
|
JSON.stringify(options?.tags ?? []),
|
|
@@ -10164,6 +10178,7 @@ async function postMessage(channelId, agentId, content, options) {
|
|
|
10164
10178
|
const task = await createTaskExtended(taskDescription, {
|
|
10165
10179
|
agentId: mentionedAgentId,
|
|
10166
10180
|
routingReason: "human_pinned",
|
|
10181
|
+
routingSource: "engine_default",
|
|
10167
10182
|
creatorAgentId: agentId ?? undefined,
|
|
10168
10183
|
source: "mcp",
|
|
10169
10184
|
taskType: "task",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULT_MODEL,
|
|
3
3
|
resolveCredential
|
|
4
|
-
} from "./cli-
|
|
4
|
+
} from "./cli-mzb0n642.js";
|
|
5
5
|
import {
|
|
6
6
|
getOpenRouterBaseUrl
|
|
7
7
|
} from "./cli-3dpj7atn.js";
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
sandboxSpawnEnv,
|
|
26
26
|
snapshotCapped,
|
|
27
27
|
touchScratchScriptLastUsed
|
|
28
|
-
} from "./cli-
|
|
28
|
+
} from "./cli-zd21jrrc.js";
|
|
29
29
|
import {
|
|
30
30
|
detachedProcessGroup,
|
|
31
31
|
registerProcessGroup,
|
|
@@ -34,13 +34,13 @@ import {
|
|
|
34
34
|
import {
|
|
35
35
|
getOAuthApp,
|
|
36
36
|
getOAuthTokens
|
|
37
|
-
} from "./cli-
|
|
37
|
+
} from "./cli-vr6qj104.js";
|
|
38
38
|
import {
|
|
39
39
|
withSiblingAwareness
|
|
40
|
-
} from "./cli-
|
|
40
|
+
} from "./cli-n1yj5fd5.js";
|
|
41
41
|
import {
|
|
42
42
|
getSlackApp
|
|
43
|
-
} from "./cli-
|
|
43
|
+
} from "./cli-kt7wevqh.js";
|
|
44
44
|
import {
|
|
45
45
|
FollowUpConfigSchema,
|
|
46
46
|
ModelTierSchema,
|
|
@@ -92,18 +92,18 @@ import {
|
|
|
92
92
|
updateWorkflowRun,
|
|
93
93
|
updateWorkflowRunStep,
|
|
94
94
|
workflowContextKey
|
|
95
|
-
} from "./cli-
|
|
95
|
+
} from "./cli-qp69dd5d.js";
|
|
96
96
|
import {
|
|
97
97
|
deepInterpolate,
|
|
98
98
|
findInterpolationTokens,
|
|
99
99
|
init_template,
|
|
100
100
|
interpolate
|
|
101
|
-
} from "./cli-
|
|
101
|
+
} from "./cli-n75jt793.js";
|
|
102
102
|
import {
|
|
103
103
|
getAppUrl,
|
|
104
104
|
getMcpBaseUrl,
|
|
105
105
|
init_constants
|
|
106
|
-
} from "./cli-
|
|
106
|
+
} from "./cli-dv6cdjs2.js";
|
|
107
107
|
import {
|
|
108
108
|
init_zod
|
|
109
109
|
} from "./cli-sd0mxa3c.js";
|
|
@@ -132,7 +132,7 @@ async function notifyAutomationPreflightFailure(preflight) {
|
|
|
132
132
|
return;
|
|
133
133
|
}
|
|
134
134
|
try {
|
|
135
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
135
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-dty7p9hg.js");
|
|
136
136
|
const app = getSlackApp2();
|
|
137
137
|
if (!app) {
|
|
138
138
|
console.warn("[Automation Preflight] Slack not available, cannot send notification");
|
|
@@ -2981,6 +2981,7 @@ class AgentTaskExecutor extends BaseExecutor {
|
|
|
2981
2981
|
agentId: config.agentId ?? null,
|
|
2982
2982
|
routingReason: config.routingReason ?? (config.agentId ? "human_pinned" : undefined),
|
|
2983
2983
|
routingNote: config.routingNote,
|
|
2984
|
+
routingSource: config.routingReason ? "declared" : config.agentId ? "engine_default" : undefined,
|
|
2984
2985
|
source: "workflow",
|
|
2985
2986
|
tags: config.tags,
|
|
2986
2987
|
priority: config.priority,
|
|
@@ -3375,7 +3376,7 @@ class HumanInTheLoopExecutor extends BaseExecutor {
|
|
|
3375
3376
|
}
|
|
3376
3377
|
if (notification.channel === "slack") {
|
|
3377
3378
|
try {
|
|
3378
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
3379
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-dty7p9hg.js");
|
|
3379
3380
|
const slackApp = getSlackApp2();
|
|
3380
3381
|
if (!slackApp) {
|
|
3381
3382
|
console.warn("[HITL] Slack not initialized — cannot send notification");
|
|
@@ -3495,7 +3496,7 @@ class NotifyExecutor extends BaseExecutor {
|
|
|
3495
3496
|
}
|
|
3496
3497
|
}
|
|
3497
3498
|
case "slack": {
|
|
3498
|
-
const { getSlackApp: getSlackApp2 } = await import("./app-
|
|
3499
|
+
const { getSlackApp: getSlackApp2 } = await import("./app-dty7p9hg.js");
|
|
3499
3500
|
const app = getSlackApp2();
|
|
3500
3501
|
if (!app) {
|
|
3501
3502
|
return {
|