@desplega.ai/agent-swarm 1.159.0 → 1.161.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 +2 -2
- package/dist/{acp-adapter-qhch0n2v.js → acp-adapter-xx489vvb.js} +286 -75
- package/dist/{actions-dtsh1mfb.js → actions-ykjkn0m9.js} +32 -30
- package/dist/{anthropic-messages-f2h06k64.js → anthropic-messages-5qx80j9k.js} +99 -14
- package/dist/{app-y1b9srva.js → app-0hdqa4k1.js} +13 -11
- package/dist/{assistant-31hwy5xj.js → assistant-am2g5g8a.js} +40 -32
- package/dist/{azure-openai-responses-0k1mfax5.js → azure-openai-responses-fszbkp0e.js} +3 -3
- package/dist/{boot-reembed-48d2qpkt.js → boot-reembed-gt5gjkt4.js} +14 -12
- package/dist/{boot-reembed-w0bryhkr.js → boot-reembed-xy9t7avg.js} +15 -13
- package/dist/{boot-scrub-logs-t65wbrn7.js → boot-scrub-logs-9x0985y5.js} +12 -10
- package/dist/boot-seeds-trv0d4vg.js +29 -0
- package/dist/{claude-adapter-1t6611ne.js → claude-adapter-jb6e1e54.js} +32 -26
- package/dist/{claude-managed-adapter-werp659j.js → claude-managed-adapter-yxkfxg8j.js} +7 -7
- package/dist/{claude-managed-setup-y6rdgbc1.js → claude-managed-setup-d1q9hv2b.js} +26 -27
- package/dist/{claude-sdk-session-zhkyk8yw.js → claude-sdk-session-zga700s2.js} +11737 -11256
- package/dist/{cli-79aq9cgb.js → cli-0383bp7f.js} +1222 -406
- package/dist/{cli-xgpf00sk.js → cli-0c7ata9h.js} +24 -23
- package/dist/{cli-qjxy52w7.js → cli-121ph74b.js} +2 -2
- package/dist/{cli-20035trh.js → cli-17xpf7cm.js} +14 -7
- package/dist/{cli-cqt19wg6.js → cli-1a2j50m0.js} +11 -2
- package/dist/{cli-g9df2m37.js → cli-1cz0c18q.js} +249 -200
- package/dist/{cli-fjtp3463.js → cli-1er0rhz8.js} +13 -12
- package/dist/{cli-ca2w7zv7.js → cli-2hhfhfq5.js} +11 -6
- package/dist/{cli-npssxgaz.js → cli-2pdaysab.js} +52 -2
- package/dist/{cli-rykfmgwg.js → cli-2x0e561b.js} +1 -1
- package/dist/{cli-503ya656.js → cli-35pj2yva.js} +20 -150
- package/dist/cli-3qhyh31j.js +166 -0
- package/dist/{cli-cygyqj3b.js → cli-3zc55ctx.js} +8 -6
- package/dist/{cli-96qd5psa.js → cli-58e8yr0d.js} +1 -1
- package/dist/{cli-4aj25szq.js → cli-5nbmpy8w.js} +2 -2
- package/dist/{cli-mg24hkt4.js → cli-5p3x4zna.js} +2 -2
- package/dist/{cli-vwbbaecp.js → cli-7119ja3w.js} +3 -3
- package/dist/{cli-mzkqpxee.js → cli-798vkbks.js} +2 -2
- package/dist/{cli-3gvrr8vj.js → cli-82c1pacn.js} +111 -54
- package/dist/{cli-hgqfttfc.js → cli-89s4ngw3.js} +1 -1
- package/dist/{cli-9b13ggd1.js → cli-89v6kyq7.js} +1 -0
- package/dist/{cli-b6thtzac.js → cli-8g6mc14k.js} +7 -7
- package/dist/{cli-eg7cdg68.js → cli-9m03pzga.js} +5 -5
- package/dist/cli-9s68w752.js +303 -0
- package/dist/{cli-48527fpw.js → cli-a8c82p2t.js} +16 -15
- package/dist/{cli-5f2hq128.js → cli-ad4qxm6j.js} +12 -11
- package/dist/{cli-e4xnc0qp.js → cli-akfj32vj.js} +33 -7
- package/dist/{cli-ejpygnqz.js → cli-bh7jed3k.js} +212 -22
- package/dist/{cli-0z2v4nhw.js → cli-cat6h73s.js} +1 -1
- package/dist/{cli-e0ndxhtk.js → cli-cfkrztza.js} +190 -13
- package/dist/{cli-kc3dp84d.js → cli-d56tgd45.js} +216 -59
- package/dist/cli-dbmwby6a.js +9 -0
- package/dist/{cli-0n2e4x49.js → cli-ecfxwnyb.js} +15 -2
- package/dist/{cli-gzyh0j0g.js → cli-ee8bc46j.js} +66 -166
- package/dist/{cli-kdnehe0t.js → cli-et8m9xsv.js} +1 -1
- package/dist/cli-f9w1semm.js +413 -0
- package/dist/cli-gt4hxb8p.js +99 -0
- package/dist/{cli-qv4jv8bx.js → cli-hgmnf38m.js} +2 -2
- package/dist/{cli-10ym38qc.js → cli-hn04t9db.js} +3 -3
- package/dist/{cli-qvnnx4ct.js → cli-jpf7e1zq.js} +105 -243
- package/dist/cli-jyy6pm2f.js +333872 -0
- package/dist/{cli-dvjpkkjd.js → cli-kgd3p0bm.js} +7 -7
- package/dist/cli-ma3zvh39.js +10404 -0
- package/dist/{cli-r2ap2czm.js → cli-nexqx4ve.js} +6 -0
- package/dist/{cli-j9z8mfx3.js → cli-nsdxtcbg.js} +37 -20
- package/dist/{cli-wgjx0q33.js → cli-phfg8vy8.js} +392 -53
- package/dist/{cli-rgjprct3.js → cli-ptr8h7kp.js} +19 -1
- package/dist/{cli-s8s499xy.js → cli-qbksc292.js} +3 -2
- package/dist/{cli-bv0a38v9.js → cli-qwsnmjdd.js} +515 -229
- package/dist/{cli-68bmme5p.js → cli-r6fsxc76.js} +40018 -52654
- package/dist/{cli-rrqmqr1s.js → cli-rtx9dygp.js} +1 -1
- package/dist/{cli-rfezr056.js → cli-sqm3r5ps.js} +83 -15
- package/dist/{cli-zw65mab6.js → cli-t6v2ah3r.js} +67 -13
- package/dist/{cli-vn0qv9cj.js → cli-t845n9xk.js} +28 -14
- package/dist/cli-trc24wk2.js +143 -0
- package/dist/{cli-wd9hz40d.js → cli-tre4bdgq.js} +5 -5
- package/dist/{cli-9yg65c1j.js → cli-tsk3nz8a.js} +29 -1
- package/dist/{cli-phsaj4xq.js → cli-v0pvvhfq.js} +1 -1
- package/dist/{cli-hj65wsts.js → cli-vnnz5ncg.js} +4695 -4915
- package/dist/{cli-cpvsaqsw.js → cli-w0bwte75.js} +8 -5
- package/dist/{cli-z9x0sh1t.js → cli-we0q7t0e.js} +3 -3
- package/dist/{cli-r94z9p1z.js → cli-wgbezhw2.js} +3 -0
- package/dist/{cli-19jenss3.js → cli-xk79303e.js} +51 -17
- package/dist/{cli-31nkw3g3.js → cli-ybgv4kw2.js} +15 -8
- package/dist/{cli-ardpzhjm.js → cli-yrg7c73k.js} +13 -6
- package/dist/{cli-de1396j2.js → cli-ywybs5as.js} +7 -1
- package/dist/{cli-vhjwh6cz.js → cli-yy6dew39.js} +2 -2
- package/dist/{cli-bgv70kym.js → cli-zb6xbk61.js} +3 -2
- package/dist/{cli-4tvgz99m.js → cli-ze1d3wzv.js} +79 -27
- package/dist/cli.js +33 -32
- package/dist/{cloudflare-workers-ai-system-one-1sg586qv.js → cloudflare-workers-ai-system-one-k6fbxw9d.js} +2 -2
- package/dist/{codex-adapter-jqfqqa21.js → codex-adapter-04v97vep.js} +23 -20
- package/dist/{codex-hook-5eys3dya.js → codex-hook-20me6byw.js} +2 -2
- package/dist/{codex-login-he9vrn90.js → codex-login-cf7mzsgg.js} +48 -3
- package/dist/{codex-session-runner-zd341dsm.js → codex-session-runner-ax69mqq3.js} +21 -20
- package/dist/{commands-vfsysz4s.js → commands-18gy08n1.js} +12 -10
- package/dist/{db-s3znhvbn.js → db-d2pvjpyt.js} +22 -10
- package/dist/{devin-adapter-8vgkwh29.js → devin-adapter-dpsv6hd9.js} +1 -1
- package/dist/{dispatcher-5xn0c7rf.js → dispatcher-8wbwyzjg.js} +31 -29
- package/dist/{dsh-adapter-894mgfvs.js → dsh-adapter-ysqk9snv.js} +9 -4
- package/dist/{e2b-ez07znam.js → e2b-esmt1r16.js} +3 -1
- package/dist/{execute-71ysgv35.js → execute-cmagrbrz.js} +235 -52
- package/dist/{google-generative-ai-1nfcdphp.js → google-generative-ai-k6n5nbpp.js} +3 -3
- package/dist/{google-vertex-1tqcd7b1.js → google-vertex-44xxtcvp.js} +3 -3
- package/dist/{handlers-5w4jwycr.js → handlers-6b69m5kp.js} +34 -32
- package/dist/{hook-z0hbxj85.js → hook-k3mydf2n.js} +16 -14
- package/dist/{hook-853bxrr6.js → hook-srnkt0hb.js} +16 -14
- package/dist/{http-akc3wy3m.js → http-hrf80ca1.js} +836 -189
- package/dist/{index-ttpbhnjg.js → index-1asbaj62.js} +32 -30
- package/dist/{index-cd151qkq.js → index-45evq4ee.js} +31 -29
- package/dist/{index-k661dzzr.js → index-9rxdvj6w.js} +32 -30
- package/dist/index-k4nj18qs.js +31 -0
- package/dist/{index-5sz16ksh.js → index-xmevk2b9.js} +89 -61
- package/dist/{keepalive-8p9rpvz5.js → keepalive-sfdz6ksp.js} +14 -12
- package/dist/{lead-jp69z5h3.js → lead-ej91e9hw.js} +52 -50
- package/dist/{llama-cpp-classify-t2tccams.js → llama-cpp-classify-tgj35k8d.js} +1 -1
- package/dist/{maintenance-fwx4ev0k.js → maintenance-80dnd7ke.js} +15 -13
- package/dist/{mistral-conversations-bhvwqcnk.js → mistral-conversations-pc3ntnxt.js} +1 -1
- package/dist/node-f0ykebbv.js +2107 -0
- package/dist/node-wyamey5r.js +19 -0
- package/dist/{oauth-refresh-sweep-cwcq1ctx.js → oauth-refresh-sweep-m1etk2mx.js} +13 -11
- package/dist/{onboard-2b4q0t84.js → onboard-0q8sdfqc.js} +2 -2
- package/dist/{openai-codex-responses-nekthgks.js → openai-codex-responses-n7n683p2.js} +2 -2
- package/dist/{openai-completions-hxtzwj0s.js → openai-completions-jpaj5g2b.js} +2 -2
- package/dist/{openai-responses-w4r118w7.js → openai-responses-9a3nme9j.js} +3 -3
- package/dist/{opencode-adapter-zz7xvjj6.js → opencode-adapter-4wcgmvgf.js} +13 -11
- package/dist/{openrouter-images-b6sqqjgn.js → openrouter-images-8yx3487g.js} +1 -1
- package/dist/{otel-impl-g8rs4vwr.js → otel-impl-hnqm9mxq.js} +2 -2
- package/dist/pi-logo-animation-e9a0t68z.js +1003 -0
- package/dist/{pi-mono-adapter-n0me28wt.js → pi-mono-adapter-d6sqm9wr.js} +301 -78
- package/dist/{pricing-refresh-0v77385v.js → pricing-refresh-y60z64pm.js} +14 -13
- package/dist/quickjs-r1pq2107.wasm +0 -0
- package/dist/{rbac-roles-krjyazbj.js → rbac-roles-8pa0754b.js} +13 -11
- package/dist/{render-v2-3wjsp9aw.js → render-v2-418s1vj7.js} +13 -11
- package/dist/{runtime-ktjysacx.js → runtime-3pknc168.js} +5 -4
- package/dist/{setup-yeqryke6.js → setup-yghdkj4x.js} +2 -2
- package/dist/{typesafe-system-one-96960jxp.js → typesafe-system-one-2ef30pec.js} +2 -2
- package/dist/{virtual-modules-dzdeq1sf.js → virtual-modules-jcceevt5.js} +8 -6
- package/dist/{work-objects-3pakpkw0.js → work-objects-j1sz20v9.js} +34 -32
- package/dist/{worker-85testgj.js → worker-d4gcvkjt.js} +52 -50
- package/dist/{x-n3e0v3xa.js → x-f1gt1pz3.js} +2 -2
- package/openapi.json +587 -19
- package/package.json +16 -15
- package/src/azure-devops/api.ts +121 -0
- package/src/azure-devops/auth.ts +78 -0
- package/src/azure-devops/handlers.ts +413 -0
- package/src/azure-devops/index.ts +27 -0
- package/src/azure-devops/templates.ts +108 -0
- package/src/azure-devops/types.ts +90 -0
- package/src/be/db/api-keys.ts +70 -0
- package/src/be/db/tasks/read.ts +1 -1
- package/src/be/db/tasks/write.ts +16 -0
- package/src/be/db-client.ts +11 -2
- package/src/be/db-retention.ts +95 -32
- package/src/be/db.ts +187 -24
- package/src/be/memory/constants.ts +16 -0
- package/src/be/memory/graph-expansion.ts +8 -1
- package/src/be/memory/index-content.ts +20 -1
- package/src/be/memory/key-guard.ts +93 -0
- package/src/be/memory/key-paths.ts +103 -0
- package/src/be/memory/providers/sqlite-store.ts +203 -60
- package/src/be/memory/raters/llm-summarizer.ts +10 -4
- package/src/be/memory/raters/llm.ts +15 -5
- package/src/be/memory/raters/store.ts +6 -3
- package/src/be/memory/raters/types.ts +11 -0
- package/src/be/memory/reranker.ts +38 -7
- package/src/be/memory/types.ts +12 -1
- package/src/be/migrations/185_api_key_auth_failures.sql +6 -0
- package/src/be/migrations/186_api_key_seat_mismatch.sql +8 -0
- package/src/be/migrations/190_memory_rating_model.sql +7 -0
- package/src/be/migrations/191_context_versions_previous_index.sql +8 -0
- package/src/be/model-tier-keys.ts +16 -1
- package/src/be/model-tier-resolution.ts +63 -18
- package/src/be/model-validation.ts +86 -10
- package/src/be/pricing-normalize.ts +4 -2
- package/src/be/scripts/typecheck.ts +4 -3
- package/src/be/seed/runner.ts +18 -12
- package/src/be/seed/types.ts +1 -0
- package/src/be/seed-pricing.ts +16 -0
- package/src/be/seed-scripts/catalog/task-failure-audit.ts +26 -26
- package/src/be/swarm-config-guard.ts +13 -1
- package/src/commands/claude-managed-setup.ts +33 -31
- package/src/commands/codex-login.ts +67 -0
- package/src/commands/credential-outcome-report.ts +191 -0
- package/src/commands/provider-credentials.ts +28 -15
- package/src/commands/rate-limit-outcome.ts +34 -4
- package/src/commands/runner.ts +479 -228
- package/src/commands/seat-mismatch-report.ts +46 -0
- package/src/e2b/env.ts +2 -0
- package/src/extensions/apply-task-create.ts +27 -1
- package/src/extensions/catalog.generated.json +17 -0
- package/src/extensions/contract-types.generated.ts +1 -1
- package/src/github/handlers.ts +10 -74
- package/src/github/reactions.ts +119 -138
- package/src/github/task-reactions.ts +34 -11
- package/src/heartbeat/heartbeat.ts +15 -2
- package/src/hooks/hook.ts +1 -1
- package/src/http/agents.ts +15 -2
- package/src/http/api-keys.ts +140 -2
- package/src/http/codex-oauth-keep-warm.ts +3 -5
- package/src/http/core.ts +12 -0
- package/src/http/extensions.ts +51 -27
- package/src/http/index.ts +4 -0
- package/src/http/mcp-user.ts +8 -13
- package/src/http/mcp.ts +19 -12
- package/src/http/memory.ts +91 -18
- package/src/http/poll.ts +9 -1
- package/src/http/schedules.ts +17 -2
- package/src/http/script-runs.ts +12 -0
- package/src/http/session-data.ts +6 -4
- package/src/http/stats.ts +1 -0
- package/src/http/status.ts +15 -1
- package/src/http/tasks.ts +80 -8
- package/src/http/users.ts +1 -1
- package/src/http/webhooks.ts +120 -2
- package/src/http/workflows.ts +11 -0
- package/src/mcp-client/http-client.ts +5 -0
- package/src/memory/recall-query.ts +74 -0
- package/src/prompts/base-prompt.ts +15 -4
- package/src/prompts/session-templates.ts +22 -1
- package/src/providers/acp-adapter.ts +1 -0
- package/src/providers/claude-adapter.ts +98 -21
- package/src/providers/claude-managed-adapter.ts +30 -2
- package/src/providers/claude-sdk-session.ts +3 -1
- package/src/providers/codex-adapter.ts +11 -11
- package/src/providers/codex-skill-resolver.ts +6 -0
- package/src/providers/devin-adapter.ts +1 -0
- package/src/providers/dsh-adapter.ts +205 -7
- package/src/providers/harness-version.ts +83 -7
- package/src/providers/opencode-adapter.ts +77 -4
- package/src/providers/pi-binary-root/src/extensions/codemode/worker.ts +11 -0
- package/src/providers/pi-codemode-runtime.ts +17 -0
- package/src/providers/pi-mono-adapter.ts +387 -83
- package/src/providers/pi-mono-extension.ts +17 -2
- package/src/providers/pricing-sources.md +5 -1
- package/src/providers/reasoning-effort.ts +10 -2
- package/src/providers/types.ts +9 -1
- package/src/rbac/legacy-policy.ts +20 -0
- package/src/rbac/permissions.ts +15 -0
- package/src/scripts-runtime/types/stdlib.d.ts +13 -5
- package/src/scripts-runtime/types/swarm-extension.d.ts +4 -2
- package/src/scripts-runtime/types/swarm-sdk.d.ts +13 -5
- package/src/slack/assistant.ts +13 -0
- package/src/slack/render-v2.ts +87 -37
- package/src/slack/session-status.ts +541 -0
- package/src/tasks/context-key.ts +38 -1
- package/src/tasks/sibling-awareness.ts +3 -2
- package/src/telemetry.ts +5 -4
- package/src/templates.d.ts +6 -0
- package/src/tests/api-key-auth-failure-route.test.ts +142 -0
- package/src/tests/api-key-tracking.test.ts +368 -1
- package/src/tests/azure-devops-auth.test.ts +100 -0
- package/src/tests/azure-devops-handlers.test.ts +324 -0
- package/src/tests/azure-devops-webhook-malformed.test.ts +96 -0
- package/src/tests/base-prompt.test.ts +40 -2
- package/src/tests/claude-adapter.test.ts +58 -0
- package/src/tests/claude-default-route.test.ts +260 -0
- package/src/tests/claude-managed-adapter.test.ts +47 -0
- package/src/tests/claude-managed-setup.test.ts +48 -0
- package/src/tests/claude-prompt-body-once.test.ts +117 -0
- package/src/tests/claude-routes-e2e.test.ts +316 -0
- package/src/tests/codex-auth-failure.test.ts +52 -0
- package/src/tests/codex-login.test.ts +116 -0
- package/src/tests/context-versions-retention.test.ts +314 -0
- package/src/tests/core-auth.test.ts +7 -0
- package/src/tests/credential-exhaustion-policy.test.ts +118 -3
- package/src/tests/credential-outcome-report.test.ts +171 -0
- package/src/tests/credential-status-api.test.ts +103 -2
- package/src/tests/db-retention.test.ts +14 -14
- package/src/tests/db-task-read-contract.test.ts +6 -0
- package/src/tests/db-task-write-contract.test.ts +533 -1
- package/src/tests/docs-index-footprint.test.js +3 -3
- package/src/tests/dokploy-deploy.test.ts +315 -0
- package/src/tests/dsh-adapter.test.ts +134 -2
- package/src/tests/dsh-usage.test.ts +153 -0
- package/src/tests/explicit-model-validation.test.ts +253 -2
- package/src/tests/extensions-catalog.test.ts +1 -0
- package/src/tests/extensions-example-deploy-awareness.test.ts +301 -0
- package/src/tests/extensions-http.test.ts +137 -10
- package/src/tests/extensions-mcp-tools.test.ts +28 -0
- package/src/tests/extensions-pre-task.test.ts +73 -0
- package/src/tests/fetch-resolved-env.test.ts +70 -0
- package/src/tests/fixtures/azure-devops/pull-request-commented.json +129 -0
- package/src/tests/fixtures/azure-devops/pull-request-created.json +88 -0
- package/src/tests/fixtures/fake-claude-routes.ts +229 -0
- package/src/tests/github-handlers-reactions.test.ts +486 -0
- package/src/tests/github-reactions.test.ts +280 -0
- package/src/tests/hang-watchdog-worker.ts +47 -0
- package/src/tests/hang-watchdog.test.ts +45 -0
- package/src/tests/hang-watchdog.ts +30 -0
- package/src/tests/harness-cli-version.test.ts +62 -0
- package/src/tests/harness-model-guard.test.ts +123 -0
- package/src/tests/harness-version.test.ts +70 -3
- package/src/tests/http-api-integration.test.ts +21 -0
- package/src/tests/http-task-write-ownership.test.ts +195 -0
- package/src/tests/internal-ai/complete-structured.test.ts +94 -0
- package/src/tests/internal-ai/credentials.test.ts +22 -0
- package/src/tests/internal-ai/models.test.ts +36 -2
- package/src/tests/internal-ai/schema-parity.test.ts +25 -1
- package/src/tests/internal-ai/summarize-session.test.ts +23 -7
- package/src/tests/mcp-user-route.test.ts +133 -0
- package/src/tests/memory-fts-populate.test.ts +139 -0
- package/src/tests/memory-http-recall-gating.test.ts +125 -1
- package/src/tests/memory-key-paths.test.ts +1055 -0
- package/src/tests/memory-rate-endpoint.test.ts +66 -0
- package/src/tests/memory-rater-llm-summarizer.test.ts +2 -1
- package/src/tests/memory-rater-llm.test.ts +73 -0
- package/src/tests/memory-rater-store.test.ts +31 -0
- package/src/tests/memory-reranker.test.ts +40 -0
- package/src/tests/model-rate-limit-windows.test.ts +19 -0
- package/src/tests/model-tier-resolution.test.ts +92 -0
- package/src/tests/opencode-adapter.test.ts +214 -2
- package/src/tests/opencode-plugin.test.ts +4 -0
- package/src/tests/pi-codemode.test.ts +324 -0
- package/src/tests/pi-mono-adapter.test.ts +3 -0
- package/src/tests/pi-native-mcp.test.ts +193 -0
- package/src/tests/pi-tool-exposure.test.ts +374 -0
- package/src/tests/preload.ts +9 -0
- package/src/tests/prompt-template-session.test.ts +5 -3
- package/src/tests/provider-registration.test.ts +0 -2
- package/src/tests/providers/pi-cost.test.ts +190 -4
- package/src/tests/rate-limit-event.test.ts +65 -0
- package/src/tests/rate-limit-outcome.test.ts +90 -0
- package/src/tests/rbac-engine.test.ts +41 -2
- package/src/tests/runner-key-completion-outcome.test.ts +112 -0
- package/src/tests/runner-key-outcome-late-reset.test.ts +224 -0
- package/src/tests/runner-registration-retry.test.ts +149 -0
- package/src/tests/runner-slot-reconcile.test.ts +199 -0
- package/src/tests/script-connections.test.ts +8 -0
- package/src/tests/seat-mismatch-report.test.ts +85 -0
- package/src/tests/seed-scripts.test.ts +49 -0
- package/src/tests/seed.test.ts +25 -0
- package/src/tests/session-costs-recompute-all-providers.test.ts +23 -0
- package/src/tests/slack-render-v2.test.ts +96 -0
- package/src/tests/slack-session-status.test.ts +626 -0
- package/src/tests/status.test.ts +29 -0
- package/src/tests/steering-promotion.test.ts +51 -0
- package/src/tests/store-progress-ownership.test.ts +136 -0
- package/src/tests/subscription-plans.test.ts +28 -0
- package/src/tests/task-citations.test.ts +3 -2
- package/src/tests/task-reactions.test.ts +29 -6
- package/src/tests/vcs-azure-devops.test.ts +73 -0
- package/src/tests/webhooks-task-blocked.test.ts +23 -0
- package/src/tests/workflow-agent-task.test.ts +30 -0
- package/src/tests/workflow-llm.test.ts +14 -0
- package/src/tests/workflow-triggers-v2.test.ts +320 -0
- package/src/tools/context-diff.ts +20 -0
- package/src/tools/extension-install.ts +27 -16
- package/src/tools/memory-edit.ts +47 -3
- package/src/tools/memory-search.ts +13 -1
- package/src/tools/memory-store.ts +55 -3
- package/src/tools/schedules/create-schedule.ts +1 -1
- package/src/tools/schedules/patch-schedule.ts +16 -3
- package/src/tools/schedules/update-schedule.ts +16 -3
- package/src/tools/send-task.ts +10 -7
- package/src/tools/store-progress.ts +49 -4
- package/src/tools/task-action.ts +2 -1
- package/src/tools/workflows/create-workflow.ts +8 -2
- package/src/tools/workflows/update-workflow.ts +8 -2
- package/src/types.ts +54 -7
- package/src/utils/codex-auth-failure.ts +34 -0
- package/src/utils/credentials.test.ts +31 -1
- package/src/utils/credentials.ts +92 -39
- package/src/utils/dsh-usage.ts +53 -0
- package/src/utils/error-tracker.ts +80 -0
- package/src/utils/harness-cli-version.ts +6 -4
- package/src/utils/internal-ai/complete-structured.ts +26 -3
- package/src/utils/internal-ai/credentials.ts +23 -9
- package/src/utils/internal-ai/index.ts +8 -1
- package/src/utils/internal-ai/models.ts +34 -8
- package/src/utils/internal-ai/summarize-session.ts +22 -8
- package/src/utils/model-rate-limit-windows.ts +12 -0
- package/src/utils/runtime-model-catalog.ts +15 -0
- package/src/utils/secret-scrubber.ts +8 -0
- package/src/utils/spawn-model-guard.ts +43 -0
- package/src/utils/subscription-plans.ts +22 -0
- package/src/vcs/azure-devops.ts +80 -0
- package/src/vcs/index.ts +5 -1
- package/src/vcs/types.ts +2 -2
- package/src/workflows/executors/agent-task.ts +7 -6
- package/src/workflows/model-validation.ts +45 -0
- package/src/workflows/patch-definition.ts +5 -0
- package/src/workflows/triggers.ts +85 -0
- package/templates/community/open-prompt-showreel/PLAYBOOK.md +336 -0
- package/templates/community/open-prompt-showreel/README.md +33 -0
- package/templates/community/open-prompt-showreel/example/tla-races/facts.ts +145 -0
- package/templates/community/open-prompt-showreel/example/tla-races/facts.v3.json +140 -0
- package/templates/community/open-prompt-showreel/example/tla-races/music.mist-city.json +8 -0
- package/templates/community/open-prompt-showreel/example/tla-races/reel.html +805 -0
- package/templates/community/open-prompt-showreel/example/tla-races/smoke.sh +48 -0
- package/templates/community/open-prompt-showreel/lead-prompt.md +89 -0
- package/templates/community/open-prompt-showreel/setup.sh +167 -0
- package/templates/community/open-prompt-showreel/skills/motion-design-replication/SKILL.md +85 -0
- package/templates/community/open-prompt-showreel/skills/motion-design-video-analysis/SKILL.md +115 -0
- package/templates/community/open-prompt-showreel/skills/open-prompt-showreel/SKILL.md +147 -0
- package/templates/community/open-prompt-showreel/skills/video-generation/SKILL.md +195 -0
- package/templates/community/open-prompt-showreel/tools/fetch-music.sh +65 -0
- package/templates/community/open-prompt-showreel/tools/music-analyze.py +69 -0
- package/templates/community/open-prompt-showreel/tools/music-current.sh +34 -0
- package/templates/community/open-prompt-showreel/tools/music-cut.sh +36 -0
- package/templates/community/open-prompt-showreel/tools/music-refine.py +39 -0
- package/templates/community/open-prompt-showreel/tools/render.mjs +157 -0
- package/templates/community/open-prompt-showreel/tools/sheet.sh +44 -0
- package/templates/community/open-prompt-showreel/tools/web-compress.sh +17 -0
- package/templates/community/open-prompt-showreel/tools/x-reencode.sh +21 -0
- package/templates/extensions/README.md +1 -0
- package/templates/extensions/deploy-awareness/README.md +28 -0
- package/templates/extensions/deploy-awareness/hooks.ts +152 -0
- package/templates/extensions/deploy-awareness/manifest.json +8 -0
- package/templates/skills/memory/config.json +2 -2
- package/templates/skills/memory/content.md +59 -5
- package/templates/skills/swarm-extensions/config.json +1 -1
- package/templates/skills/swarm-extensions/content.md +28 -5
- package/templates/skills/workflow-iterate/content.md +1 -0
- package/dist/boot-seeds-h7c32hvm.js +0 -27
- package/dist/cli-2djtr51b.js +0 -48
- package/dist/cli-7zttzetj.js +0 -324
- package/dist/cli-j490egb5.js +0 -5632
- package/dist/cli-m4excttz.js +0 -333481
- package/dist/index-bjmjh9h4.js +0 -29
package/openapi.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"openapi": "3.1.0",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Agent Swarm API",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.161.0",
|
|
6
6
|
"description": "Multi-agent orchestration API for Claude Code, Codex, and Gemini CLI. Enables task distribution, agent communication, and service discovery.\n\nMCP tools are documented separately in [MCP.md](./MCP.md)."
|
|
7
7
|
},
|
|
8
8
|
"servers": [
|
|
@@ -165,6 +165,7 @@
|
|
|
165
165
|
"ui",
|
|
166
166
|
"github",
|
|
167
167
|
"gitlab",
|
|
168
|
+
"azure-devops",
|
|
168
169
|
"agentmail",
|
|
169
170
|
"system",
|
|
170
171
|
"schedule",
|
|
@@ -285,7 +286,8 @@
|
|
|
285
286
|
"type": "string",
|
|
286
287
|
"enum": [
|
|
287
288
|
"github",
|
|
288
|
-
"gitlab"
|
|
289
|
+
"gitlab",
|
|
290
|
+
"azure-devops"
|
|
289
291
|
]
|
|
290
292
|
},
|
|
291
293
|
"vcsRepo": {
|
|
@@ -1842,19 +1844,35 @@
|
|
|
1842
1844
|
"type": "string",
|
|
1843
1845
|
"minLength": 1,
|
|
1844
1846
|
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
|
|
1845
|
-
"description": "Name of a predefined extension in the catalog (`GET /api/extensions/catalog`)."
|
|
1847
|
+
"description": "Name of a predefined extension in the catalog (`GET /api/extensions/catalog`). Mutually exclusive with `manifest` and `files`."
|
|
1848
|
+
},
|
|
1849
|
+
"manifest": {
|
|
1850
|
+
"allOf": [
|
|
1851
|
+
{
|
|
1852
|
+
"$ref": "#/components/schemas/ExtensionManifest"
|
|
1853
|
+
},
|
|
1854
|
+
{
|
|
1855
|
+
"description": "Inline bundle manifest. Requires `files`. Accepted only when `EXTENSION_ALLOW_INLINE_INSTALL` is on and the caller is a lead, operator, or dashboard user."
|
|
1856
|
+
}
|
|
1857
|
+
]
|
|
1858
|
+
},
|
|
1859
|
+
"files": {
|
|
1860
|
+
"type": "object",
|
|
1861
|
+
"additionalProperties": {
|
|
1862
|
+
"type": "string"
|
|
1863
|
+
},
|
|
1864
|
+
"description": "Inline bundle files keyed by relative path. Requires `manifest`."
|
|
1846
1865
|
},
|
|
1847
1866
|
"priority": {
|
|
1848
|
-
"type": "integer"
|
|
1867
|
+
"type": "integer",
|
|
1868
|
+
"description": "Handler priority. Lower values run first."
|
|
1849
1869
|
},
|
|
1850
1870
|
"config": {
|
|
1851
1871
|
"type": "object",
|
|
1852
|
-
"additionalProperties": {}
|
|
1872
|
+
"additionalProperties": {},
|
|
1873
|
+
"description": "Extension configuration."
|
|
1853
1874
|
}
|
|
1854
1875
|
},
|
|
1855
|
-
"required": [
|
|
1856
|
-
"template"
|
|
1857
|
-
],
|
|
1858
1876
|
"additionalProperties": false
|
|
1859
1877
|
},
|
|
1860
1878
|
"ExtensionCatalogItem": {
|
|
@@ -4815,6 +4833,26 @@
|
|
|
4815
4833
|
"format",
|
|
4816
4834
|
"header"
|
|
4817
4835
|
]
|
|
4836
|
+
},
|
|
4837
|
+
{
|
|
4838
|
+
"type": "object",
|
|
4839
|
+
"properties": {
|
|
4840
|
+
"format": {
|
|
4841
|
+
"type": "string",
|
|
4842
|
+
"enum": [
|
|
4843
|
+
"standard-webhooks"
|
|
4844
|
+
]
|
|
4845
|
+
},
|
|
4846
|
+
"toleranceSeconds": {
|
|
4847
|
+
"type": "integer",
|
|
4848
|
+
"exclusiveMinimum": 0,
|
|
4849
|
+
"default": 300,
|
|
4850
|
+
"description": "Maximum allowed clock skew, in seconds, for the webhook-timestamp header"
|
|
4851
|
+
}
|
|
4852
|
+
},
|
|
4853
|
+
"required": [
|
|
4854
|
+
"format"
|
|
4855
|
+
]
|
|
4818
4856
|
}
|
|
4819
4857
|
],
|
|
4820
4858
|
"description": "Optional webhook verification format. Omit to keep legacy HMAC-SHA256 behavior with fallback header scanning."
|
|
@@ -5443,6 +5481,26 @@
|
|
|
5443
5481
|
"format",
|
|
5444
5482
|
"header"
|
|
5445
5483
|
]
|
|
5484
|
+
},
|
|
5485
|
+
{
|
|
5486
|
+
"type": "object",
|
|
5487
|
+
"properties": {
|
|
5488
|
+
"format": {
|
|
5489
|
+
"type": "string",
|
|
5490
|
+
"enum": [
|
|
5491
|
+
"standard-webhooks"
|
|
5492
|
+
]
|
|
5493
|
+
},
|
|
5494
|
+
"toleranceSeconds": {
|
|
5495
|
+
"type": "integer",
|
|
5496
|
+
"exclusiveMinimum": 0,
|
|
5497
|
+
"default": 300,
|
|
5498
|
+
"description": "Maximum allowed clock skew, in seconds, for the webhook-timestamp header"
|
|
5499
|
+
}
|
|
5500
|
+
},
|
|
5501
|
+
"required": [
|
|
5502
|
+
"format"
|
|
5503
|
+
]
|
|
5446
5504
|
}
|
|
5447
5505
|
],
|
|
5448
5506
|
"description": "Optional webhook verification format. Omit to keep legacy HMAC-SHA256 behavior with fallback header scanning."
|
|
@@ -14935,7 +14993,7 @@
|
|
|
14935
14993
|
"/api/oauth/keep-warm/codex": {
|
|
14936
14994
|
"post": {
|
|
14937
14995
|
"summary": "Locked keep-warm refresh sweep across all Codex OAuth pool slots",
|
|
14938
|
-
"description": "Enumerates codex_oauth_* slots and refreshes any older than ~7 days through the same locked getValidCodexOAuth path used at task time. Skips slots
|
|
14996
|
+
"description": "Enumerates codex_oauth_* slots and refreshes any older than ~7 days through the same locked getValidCodexOAuth path used at task time. Skips slots with a codex-auth-watch bench marker (auth-failure bench or codex-auth-expiry-watch).",
|
|
14939
14997
|
"tags": [
|
|
14940
14998
|
"OAuth"
|
|
14941
14999
|
],
|
|
@@ -15607,6 +15665,115 @@
|
|
|
15607
15665
|
}
|
|
15608
15666
|
}
|
|
15609
15667
|
},
|
|
15668
|
+
"/api/keys/report-auth-failure": {
|
|
15669
|
+
"post": {
|
|
15670
|
+
"summary": "Record an auth failure for a pooled key; bench it after 2 in a row",
|
|
15671
|
+
"tags": [
|
|
15672
|
+
"API Keys"
|
|
15673
|
+
],
|
|
15674
|
+
"security": [
|
|
15675
|
+
{
|
|
15676
|
+
"bearerAuth": []
|
|
15677
|
+
}
|
|
15678
|
+
],
|
|
15679
|
+
"requestBody": {
|
|
15680
|
+
"content": {
|
|
15681
|
+
"application/json": {
|
|
15682
|
+
"schema": {
|
|
15683
|
+
"type": "object",
|
|
15684
|
+
"properties": {
|
|
15685
|
+
"keyType": {
|
|
15686
|
+
"type": "string"
|
|
15687
|
+
},
|
|
15688
|
+
"keySuffix": {
|
|
15689
|
+
"type": "string",
|
|
15690
|
+
"minLength": 1,
|
|
15691
|
+
"maxLength": 10
|
|
15692
|
+
},
|
|
15693
|
+
"keyIndex": {
|
|
15694
|
+
"type": "integer",
|
|
15695
|
+
"minimum": 0
|
|
15696
|
+
},
|
|
15697
|
+
"taskId": {
|
|
15698
|
+
"type": "string",
|
|
15699
|
+
"format": "uuid"
|
|
15700
|
+
},
|
|
15701
|
+
"scope": {
|
|
15702
|
+
"type": "string"
|
|
15703
|
+
},
|
|
15704
|
+
"scopeId": {
|
|
15705
|
+
"type": "string"
|
|
15706
|
+
}
|
|
15707
|
+
},
|
|
15708
|
+
"required": [
|
|
15709
|
+
"keyType",
|
|
15710
|
+
"keySuffix",
|
|
15711
|
+
"keyIndex"
|
|
15712
|
+
]
|
|
15713
|
+
}
|
|
15714
|
+
}
|
|
15715
|
+
}
|
|
15716
|
+
},
|
|
15717
|
+
"responses": {
|
|
15718
|
+
"200": {
|
|
15719
|
+
"description": "Failure recorded",
|
|
15720
|
+
"content": {
|
|
15721
|
+
"application/json": {
|
|
15722
|
+
"schema": {
|
|
15723
|
+
"type": "object",
|
|
15724
|
+
"properties": {
|
|
15725
|
+
"success": {
|
|
15726
|
+
"type": "boolean",
|
|
15727
|
+
"enum": [
|
|
15728
|
+
true
|
|
15729
|
+
]
|
|
15730
|
+
},
|
|
15731
|
+
"consecutiveAuthFailures": {
|
|
15732
|
+
"type": "integer"
|
|
15733
|
+
},
|
|
15734
|
+
"benched": {
|
|
15735
|
+
"type": "boolean"
|
|
15736
|
+
},
|
|
15737
|
+
"rateLimitedUntil": {
|
|
15738
|
+
"type": [
|
|
15739
|
+
"string",
|
|
15740
|
+
"null"
|
|
15741
|
+
]
|
|
15742
|
+
}
|
|
15743
|
+
},
|
|
15744
|
+
"required": [
|
|
15745
|
+
"success",
|
|
15746
|
+
"consecutiveAuthFailures",
|
|
15747
|
+
"benched",
|
|
15748
|
+
"rateLimitedUntil"
|
|
15749
|
+
]
|
|
15750
|
+
}
|
|
15751
|
+
}
|
|
15752
|
+
}
|
|
15753
|
+
},
|
|
15754
|
+
"400": {
|
|
15755
|
+
"description": "Validation error",
|
|
15756
|
+
"content": {
|
|
15757
|
+
"application/json": {
|
|
15758
|
+
"schema": {
|
|
15759
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
15760
|
+
}
|
|
15761
|
+
}
|
|
15762
|
+
}
|
|
15763
|
+
},
|
|
15764
|
+
"401": {
|
|
15765
|
+
"description": "Unauthorized",
|
|
15766
|
+
"content": {
|
|
15767
|
+
"application/json": {
|
|
15768
|
+
"schema": {
|
|
15769
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
15770
|
+
}
|
|
15771
|
+
}
|
|
15772
|
+
}
|
|
15773
|
+
}
|
|
15774
|
+
}
|
|
15775
|
+
}
|
|
15776
|
+
},
|
|
15610
15777
|
"/api/keys/report-rate-limit-windows": {
|
|
15611
15778
|
"post": {
|
|
15612
15779
|
"summary": "Record provider-emitted rate-limit window telemetry for an API key",
|
|
@@ -15733,6 +15900,110 @@
|
|
|
15733
15900
|
}
|
|
15734
15901
|
}
|
|
15735
15902
|
},
|
|
15903
|
+
"/api/keys/report-seat-mismatch": {
|
|
15904
|
+
"post": {
|
|
15905
|
+
"summary": "Record that an API key's subscription seat cannot run a model family",
|
|
15906
|
+
"tags": [
|
|
15907
|
+
"API Keys"
|
|
15908
|
+
],
|
|
15909
|
+
"security": [
|
|
15910
|
+
{
|
|
15911
|
+
"bearerAuth": []
|
|
15912
|
+
}
|
|
15913
|
+
],
|
|
15914
|
+
"requestBody": {
|
|
15915
|
+
"content": {
|
|
15916
|
+
"application/json": {
|
|
15917
|
+
"schema": {
|
|
15918
|
+
"type": "object",
|
|
15919
|
+
"properties": {
|
|
15920
|
+
"keyType": {
|
|
15921
|
+
"type": "string"
|
|
15922
|
+
},
|
|
15923
|
+
"keySuffix": {
|
|
15924
|
+
"type": "string",
|
|
15925
|
+
"minLength": 1,
|
|
15926
|
+
"maxLength": 10
|
|
15927
|
+
},
|
|
15928
|
+
"keyIndex": {
|
|
15929
|
+
"type": "integer",
|
|
15930
|
+
"minimum": 0
|
|
15931
|
+
},
|
|
15932
|
+
"model": {
|
|
15933
|
+
"type": "string",
|
|
15934
|
+
"enum": [
|
|
15935
|
+
"fable",
|
|
15936
|
+
"opus",
|
|
15937
|
+
"sonnet",
|
|
15938
|
+
"haiku"
|
|
15939
|
+
]
|
|
15940
|
+
},
|
|
15941
|
+
"scope": {
|
|
15942
|
+
"type": "string"
|
|
15943
|
+
},
|
|
15944
|
+
"scopeId": {
|
|
15945
|
+
"type": "string"
|
|
15946
|
+
}
|
|
15947
|
+
},
|
|
15948
|
+
"required": [
|
|
15949
|
+
"keyType",
|
|
15950
|
+
"keySuffix",
|
|
15951
|
+
"keyIndex",
|
|
15952
|
+
"model"
|
|
15953
|
+
]
|
|
15954
|
+
}
|
|
15955
|
+
}
|
|
15956
|
+
}
|
|
15957
|
+
},
|
|
15958
|
+
"responses": {
|
|
15959
|
+
"200": {
|
|
15960
|
+
"description": "Seat mismatch recorded",
|
|
15961
|
+
"content": {
|
|
15962
|
+
"application/json": {
|
|
15963
|
+
"schema": {
|
|
15964
|
+
"type": "object",
|
|
15965
|
+
"properties": {
|
|
15966
|
+
"success": {
|
|
15967
|
+
"type": "boolean",
|
|
15968
|
+
"enum": [
|
|
15969
|
+
true
|
|
15970
|
+
]
|
|
15971
|
+
},
|
|
15972
|
+
"message": {
|
|
15973
|
+
"type": "string"
|
|
15974
|
+
}
|
|
15975
|
+
},
|
|
15976
|
+
"required": [
|
|
15977
|
+
"success",
|
|
15978
|
+
"message"
|
|
15979
|
+
]
|
|
15980
|
+
}
|
|
15981
|
+
}
|
|
15982
|
+
}
|
|
15983
|
+
},
|
|
15984
|
+
"400": {
|
|
15985
|
+
"description": "Validation error",
|
|
15986
|
+
"content": {
|
|
15987
|
+
"application/json": {
|
|
15988
|
+
"schema": {
|
|
15989
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
15990
|
+
}
|
|
15991
|
+
}
|
|
15992
|
+
}
|
|
15993
|
+
},
|
|
15994
|
+
"401": {
|
|
15995
|
+
"description": "Unauthorized",
|
|
15996
|
+
"content": {
|
|
15997
|
+
"application/json": {
|
|
15998
|
+
"schema": {
|
|
15999
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16000
|
+
}
|
|
16001
|
+
}
|
|
16002
|
+
}
|
|
16003
|
+
}
|
|
16004
|
+
}
|
|
16005
|
+
}
|
|
16006
|
+
},
|
|
15736
16007
|
"/api/keys/available": {
|
|
15737
16008
|
"get": {
|
|
15738
16009
|
"summary": "Get available (non-rate-limited) key indices for a credential type",
|
|
@@ -15827,12 +16098,22 @@
|
|
|
15827
16098
|
"string",
|
|
15828
16099
|
"null"
|
|
15829
16100
|
]
|
|
16101
|
+
},
|
|
16102
|
+
"seatBlockedIndices": {
|
|
16103
|
+
"type": "array",
|
|
16104
|
+
"items": {
|
|
16105
|
+
"type": "integer"
|
|
16106
|
+
}
|
|
16107
|
+
},
|
|
16108
|
+
"authFailureFence": {
|
|
16109
|
+
"type": "integer"
|
|
15830
16110
|
}
|
|
15831
16111
|
},
|
|
15832
16112
|
"required": [
|
|
15833
16113
|
"success",
|
|
15834
16114
|
"availableIndices",
|
|
15835
|
-
"totalKeys"
|
|
16115
|
+
"totalKeys",
|
|
16116
|
+
"authFailureFence"
|
|
15836
16117
|
]
|
|
15837
16118
|
}
|
|
15838
16119
|
}
|
|
@@ -16023,6 +16304,27 @@
|
|
|
16023
16304
|
null
|
|
16024
16305
|
]
|
|
16025
16306
|
},
|
|
16307
|
+
"lastSeatMismatchAt": {
|
|
16308
|
+
"type": [
|
|
16309
|
+
"string",
|
|
16310
|
+
"null"
|
|
16311
|
+
]
|
|
16312
|
+
},
|
|
16313
|
+
"lastSeatMismatchModel": {
|
|
16314
|
+
"type": [
|
|
16315
|
+
"string",
|
|
16316
|
+
"null"
|
|
16317
|
+
]
|
|
16318
|
+
},
|
|
16319
|
+
"consecutiveAuthFailures": {
|
|
16320
|
+
"type": "integer"
|
|
16321
|
+
},
|
|
16322
|
+
"lastAuthFailureAt": {
|
|
16323
|
+
"type": [
|
|
16324
|
+
"string",
|
|
16325
|
+
"null"
|
|
16326
|
+
]
|
|
16327
|
+
},
|
|
16026
16328
|
"modelLimits": {
|
|
16027
16329
|
"type": "array",
|
|
16028
16330
|
"items": {
|
|
@@ -16078,6 +16380,10 @@
|
|
|
16078
16380
|
"rateLimitWindows",
|
|
16079
16381
|
"plan",
|
|
16080
16382
|
"planSource",
|
|
16383
|
+
"lastSeatMismatchAt",
|
|
16384
|
+
"lastSeatMismatchModel",
|
|
16385
|
+
"consecutiveAuthFailures",
|
|
16386
|
+
"lastAuthFailureAt",
|
|
16081
16387
|
"modelLimits",
|
|
16082
16388
|
"createdAt",
|
|
16083
16389
|
"updatedAt"
|
|
@@ -16350,6 +16656,17 @@
|
|
|
16350
16656
|
},
|
|
16351
16657
|
"scopeId": {
|
|
16352
16658
|
"type": "string"
|
|
16659
|
+
},
|
|
16660
|
+
"clearAuthBench": {
|
|
16661
|
+
"type": "boolean"
|
|
16662
|
+
},
|
|
16663
|
+
"keyIndex": {
|
|
16664
|
+
"type": "integer",
|
|
16665
|
+
"minimum": 0
|
|
16666
|
+
},
|
|
16667
|
+
"authFence": {
|
|
16668
|
+
"type": "integer",
|
|
16669
|
+
"minimum": 0
|
|
16353
16670
|
}
|
|
16354
16671
|
},
|
|
16355
16672
|
"required": [
|
|
@@ -17248,8 +17565,8 @@
|
|
|
17248
17565
|
"/api/extensions/install": {
|
|
17249
17566
|
"post": {
|
|
17250
17567
|
"operationId": "extensions_install",
|
|
17251
|
-
"summary": "Install
|
|
17252
|
-
"description": "Installs the named template from `GET /api/extensions/catalog
|
|
17568
|
+
"summary": "Install an extension from the catalog or an inline bundle",
|
|
17569
|
+
"description": "Installs the named `template` from `GET /api/extensions/catalog`, or an inline `manifest` plus `files`. Inline bundles are rejected with `inline_install_disabled` unless `EXTENSION_ALLOW_INLINE_INSTALL` is on, and then only lead, operator, and dashboard-user callers may send them (workers get 403). Any authenticated agent can install a catalog draft owned by its agent ID. Workers can update only their own bundles. A new extension is always disabled; activation remains lead/operator-only.",
|
|
17253
17570
|
"tags": [
|
|
17254
17571
|
"Extensions"
|
|
17255
17572
|
],
|
|
@@ -17432,7 +17749,7 @@
|
|
|
17432
17749
|
}
|
|
17433
17750
|
},
|
|
17434
17751
|
"400": {
|
|
17435
|
-
"description": "Inline
|
|
17752
|
+
"description": "Inline install disabled, invalid body (template and manifest/files are mutually exclusive), or bundle validation failed",
|
|
17436
17753
|
"content": {
|
|
17437
17754
|
"application/json": {
|
|
17438
17755
|
"schema": {
|
|
@@ -17442,7 +17759,7 @@
|
|
|
17442
17759
|
}
|
|
17443
17760
|
},
|
|
17444
17761
|
"403": {
|
|
17445
|
-
"description": "Permission denied",
|
|
17762
|
+
"description": "Permission denied, including inline bundles from workers",
|
|
17446
17763
|
"content": {
|
|
17447
17764
|
"application/json": {
|
|
17448
17765
|
"schema": {
|
|
@@ -20450,7 +20767,17 @@
|
|
|
20450
20767
|
}
|
|
20451
20768
|
},
|
|
20452
20769
|
"400": {
|
|
20453
|
-
"description": "Validation error",
|
|
20770
|
+
"description": "Validation error, or a sourcePath under /longterm that is not an allowed memory key",
|
|
20771
|
+
"content": {
|
|
20772
|
+
"application/json": {
|
|
20773
|
+
"schema": {
|
|
20774
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
20775
|
+
}
|
|
20776
|
+
}
|
|
20777
|
+
}
|
|
20778
|
+
},
|
|
20779
|
+
"403": {
|
|
20780
|
+
"description": "sourcePath is under a lead-only /longterm root and the caller is not the lead",
|
|
20454
20781
|
"content": {
|
|
20455
20782
|
"application/json": {
|
|
20456
20783
|
"schema": {
|
|
@@ -20511,6 +20838,12 @@
|
|
|
20511
20838
|
"session_summary",
|
|
20512
20839
|
"task_completion"
|
|
20513
20840
|
]
|
|
20841
|
+
},
|
|
20842
|
+
"keyPrefix": {
|
|
20843
|
+
"type": "string",
|
|
20844
|
+
"minLength": 1,
|
|
20845
|
+
"maxLength": 200,
|
|
20846
|
+
"description": "Only return memories whose key starts with this text (literal, case-sensitive), for example '/longterm/facts/'."
|
|
20514
20847
|
}
|
|
20515
20848
|
},
|
|
20516
20849
|
"required": [
|
|
@@ -21786,6 +22119,12 @@
|
|
|
21786
22119
|
"minLength": 1,
|
|
21787
22120
|
"maxLength": 512,
|
|
21788
22121
|
"description": "Optional external source ID this memory references. Free-form string, convention \"<source>:<identifier>\" (e.g. \"github:owner/repo#N\", \"linear:KEY-N\", \"customer:<slug>\", \"slack:<channel>:<ts>\", \"agentmail:<thread-id>\"). Pick any prefix that fits — no closed enum. When present, an edge from this memory to the external source is created/updated."
|
|
22122
|
+
},
|
|
22123
|
+
"model": {
|
|
22124
|
+
"type": "string",
|
|
22125
|
+
"minLength": 1,
|
|
22126
|
+
"maxLength": 200,
|
|
22127
|
+
"description": "Optional. Model that produced an `llm` rating, as \"<provider>/<model-id>\" (e.g. \"openrouter/deepseek/deepseek-v4.1-flash\"). Stored in memory_rating.model for `llm` events and ignored for `explicit-self`."
|
|
21789
22128
|
}
|
|
21790
22129
|
},
|
|
21791
22130
|
"required": [
|
|
@@ -24798,7 +25137,7 @@
|
|
|
24798
25137
|
"/status": {
|
|
24799
25138
|
"get": {
|
|
24800
25139
|
"summary": "Identity + setup readiness + live activity for the swarm dashboard",
|
|
24801
|
-
"description": "Single source of truth consumed by the UI home page. Identity comes from SWARM_* envs; setup milestones each emit `unverified | configured | verified`; automations report `running | needs_setup` from the same runtime preflight used at dispatch; activity counts agents alive in the last 5 min and tasks created in the last 24h; agent_fs reports whether AGENT_FS_API_URL is set.",
|
|
25140
|
+
"description": "Single source of truth consumed by the UI home page. Identity comes from SWARM_* envs; setup milestones each emit `unverified | configured | verified`; automations report `running | needs_setup` from the same runtime preflight used at dispatch; activity counts agents alive in the last 5 min and tasks created in the last 24h; agent_fs reports whether AGENT_FS_API_URL is set; telemetry reports the effective ANONYMIZED_TELEMETRY opt-out state.",
|
|
24802
25141
|
"tags": [
|
|
24803
25142
|
"Status"
|
|
24804
25143
|
],
|
|
@@ -25145,6 +25484,17 @@
|
|
|
25145
25484
|
"degraded",
|
|
25146
25485
|
"broken"
|
|
25147
25486
|
]
|
|
25487
|
+
},
|
|
25488
|
+
"telemetry": {
|
|
25489
|
+
"type": "object",
|
|
25490
|
+
"properties": {
|
|
25491
|
+
"enabled": {
|
|
25492
|
+
"type": "boolean"
|
|
25493
|
+
}
|
|
25494
|
+
},
|
|
25495
|
+
"required": [
|
|
25496
|
+
"enabled"
|
|
25497
|
+
]
|
|
25148
25498
|
}
|
|
25149
25499
|
},
|
|
25150
25500
|
"required": [
|
|
@@ -38997,6 +39347,9 @@
|
|
|
38997
39347
|
"type": "string",
|
|
38998
39348
|
"minLength": 1
|
|
38999
39349
|
},
|
|
39350
|
+
"allowCustomModel": {
|
|
39351
|
+
"type": "boolean"
|
|
39352
|
+
},
|
|
39000
39353
|
"parentTaskId": {
|
|
39001
39354
|
"type": "string",
|
|
39002
39355
|
"format": "uuid"
|
|
@@ -40428,6 +40781,7 @@
|
|
|
40428
40781
|
"ui",
|
|
40429
40782
|
"github",
|
|
40430
40783
|
"gitlab",
|
|
40784
|
+
"azure-devops",
|
|
40431
40785
|
"agentmail",
|
|
40432
40786
|
"system",
|
|
40433
40787
|
"schedule",
|
|
@@ -44702,6 +45056,71 @@
|
|
|
44702
45056
|
"batchSize",
|
|
44703
45057
|
"slowestStatementMs"
|
|
44704
45058
|
]
|
|
45059
|
+
},
|
|
45060
|
+
"contextVersions": {
|
|
45061
|
+
"type": "object",
|
|
45062
|
+
"properties": {
|
|
45063
|
+
"at": {
|
|
45064
|
+
"type": "string"
|
|
45065
|
+
},
|
|
45066
|
+
"rowsDeleted": {
|
|
45067
|
+
"type": "number"
|
|
45068
|
+
},
|
|
45069
|
+
"batches": {
|
|
45070
|
+
"type": "number"
|
|
45071
|
+
},
|
|
45072
|
+
"durationMs": {
|
|
45073
|
+
"type": "number"
|
|
45074
|
+
},
|
|
45075
|
+
"dryRun": {
|
|
45076
|
+
"type": "boolean"
|
|
45077
|
+
},
|
|
45078
|
+
"cumulativeRowsDeleted": {
|
|
45079
|
+
"type": "number"
|
|
45080
|
+
},
|
|
45081
|
+
"outcome": {
|
|
45082
|
+
"type": "string",
|
|
45083
|
+
"enum": [
|
|
45084
|
+
"converged",
|
|
45085
|
+
"budget_exhausted",
|
|
45086
|
+
"error"
|
|
45087
|
+
]
|
|
45088
|
+
},
|
|
45089
|
+
"drained": {
|
|
45090
|
+
"type": "boolean"
|
|
45091
|
+
},
|
|
45092
|
+
"backlogRemaining": {
|
|
45093
|
+
"type": "number"
|
|
45094
|
+
},
|
|
45095
|
+
"batchSize": {
|
|
45096
|
+
"type": "number"
|
|
45097
|
+
},
|
|
45098
|
+
"slowestStatementMs": {
|
|
45099
|
+
"type": "number"
|
|
45100
|
+
},
|
|
45101
|
+
"lastError": {
|
|
45102
|
+
"type": "string"
|
|
45103
|
+
},
|
|
45104
|
+
"lastErrorAt": {
|
|
45105
|
+
"type": "string"
|
|
45106
|
+
},
|
|
45107
|
+
"lastSuccessAt": {
|
|
45108
|
+
"type": "string"
|
|
45109
|
+
}
|
|
45110
|
+
},
|
|
45111
|
+
"required": [
|
|
45112
|
+
"at",
|
|
45113
|
+
"rowsDeleted",
|
|
45114
|
+
"batches",
|
|
45115
|
+
"durationMs",
|
|
45116
|
+
"dryRun",
|
|
45117
|
+
"cumulativeRowsDeleted",
|
|
45118
|
+
"outcome",
|
|
45119
|
+
"drained",
|
|
45120
|
+
"backlogRemaining",
|
|
45121
|
+
"batchSize",
|
|
45122
|
+
"slowestStatementMs"
|
|
45123
|
+
]
|
|
44705
45124
|
}
|
|
44706
45125
|
}
|
|
44707
45126
|
}
|
|
@@ -45698,6 +46117,7 @@
|
|
|
45698
46117
|
"ui",
|
|
45699
46118
|
"github",
|
|
45700
46119
|
"gitlab",
|
|
46120
|
+
"azure-devops",
|
|
45701
46121
|
"agentmail",
|
|
45702
46122
|
"system",
|
|
45703
46123
|
"schedule",
|
|
@@ -46007,6 +46427,7 @@
|
|
|
46007
46427
|
"ui",
|
|
46008
46428
|
"github",
|
|
46009
46429
|
"gitlab",
|
|
46430
|
+
"azure-devops",
|
|
46010
46431
|
"agentmail",
|
|
46011
46432
|
"system",
|
|
46012
46433
|
"schedule",
|
|
@@ -46026,7 +46447,8 @@
|
|
|
46026
46447
|
"type": "string"
|
|
46027
46448
|
},
|
|
46028
46449
|
"model": {
|
|
46029
|
-
"type": "string"
|
|
46450
|
+
"type": "string",
|
|
46451
|
+
"description": "Concrete model override for this task, interpreted by the assignee's harness/provider. The model must run on the assignee's harness (an Anthropic model on a Claude agent, an OpenAI model on a Codex agent); a mismatch is rejected."
|
|
46030
46452
|
},
|
|
46031
46453
|
"modelTier": {
|
|
46032
46454
|
"type": "string",
|
|
@@ -46374,6 +46796,16 @@
|
|
|
46374
46796
|
}
|
|
46375
46797
|
}
|
|
46376
46798
|
},
|
|
46799
|
+
"403": {
|
|
46800
|
+
"description": "Agent caller is neither a lead nor the task creator",
|
|
46801
|
+
"content": {
|
|
46802
|
+
"application/json": {
|
|
46803
|
+
"schema": {
|
|
46804
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
46805
|
+
}
|
|
46806
|
+
}
|
|
46807
|
+
}
|
|
46808
|
+
},
|
|
46377
46809
|
"404": {
|
|
46378
46810
|
"description": "Task not found",
|
|
46379
46811
|
"content": {
|
|
@@ -47096,7 +47528,7 @@
|
|
|
47096
47528
|
},
|
|
47097
47529
|
"responses": {
|
|
47098
47530
|
"200": {
|
|
47099
|
-
"description": "Progress updated",
|
|
47531
|
+
"description": "Progress updated; a no-op once the task is terminal",
|
|
47100
47532
|
"content": {
|
|
47101
47533
|
"application/json": {
|
|
47102
47534
|
"schema": {
|
|
@@ -47116,6 +47548,16 @@
|
|
|
47116
47548
|
}
|
|
47117
47549
|
}
|
|
47118
47550
|
},
|
|
47551
|
+
"403": {
|
|
47552
|
+
"description": "Task is assigned to another agent",
|
|
47553
|
+
"content": {
|
|
47554
|
+
"application/json": {
|
|
47555
|
+
"schema": {
|
|
47556
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
47557
|
+
}
|
|
47558
|
+
}
|
|
47559
|
+
}
|
|
47560
|
+
},
|
|
47119
47561
|
"404": {
|
|
47120
47562
|
"description": "Task not found",
|
|
47121
47563
|
"content": {
|
|
@@ -47171,6 +47613,19 @@
|
|
|
47171
47613
|
},
|
|
47172
47614
|
"force": {
|
|
47173
47615
|
"type": "boolean"
|
|
47616
|
+
},
|
|
47617
|
+
"provider": {
|
|
47618
|
+
"type": "string",
|
|
47619
|
+
"enum": [
|
|
47620
|
+
"claude",
|
|
47621
|
+
"codex",
|
|
47622
|
+
"pi",
|
|
47623
|
+
"devin",
|
|
47624
|
+
"claude-managed",
|
|
47625
|
+
"opencode",
|
|
47626
|
+
"acp",
|
|
47627
|
+
"dsh"
|
|
47628
|
+
]
|
|
47174
47629
|
}
|
|
47175
47630
|
},
|
|
47176
47631
|
"required": [
|
|
@@ -47687,7 +48142,8 @@
|
|
|
47687
48142
|
"type": "string",
|
|
47688
48143
|
"enum": [
|
|
47689
48144
|
"github",
|
|
47690
|
-
"gitlab"
|
|
48145
|
+
"gitlab",
|
|
48146
|
+
"azure-devops"
|
|
47691
48147
|
]
|
|
47692
48148
|
},
|
|
47693
48149
|
"vcsRepo": {
|
|
@@ -51344,6 +51800,78 @@
|
|
|
51344
51800
|
}
|
|
51345
51801
|
}
|
|
51346
51802
|
},
|
|
51803
|
+
"/api/azure-devops/webhook": {
|
|
51804
|
+
"post": {
|
|
51805
|
+
"summary": "Handle Azure DevOps service-hook events",
|
|
51806
|
+
"tags": [
|
|
51807
|
+
"Webhooks"
|
|
51808
|
+
],
|
|
51809
|
+
"responses": {
|
|
51810
|
+
"200": {
|
|
51811
|
+
"description": "Event processed",
|
|
51812
|
+
"content": {
|
|
51813
|
+
"application/json": {
|
|
51814
|
+
"schema": {
|
|
51815
|
+
"type": "object",
|
|
51816
|
+
"properties": {
|
|
51817
|
+
"created": {
|
|
51818
|
+
"type": "boolean"
|
|
51819
|
+
},
|
|
51820
|
+
"taskId": {
|
|
51821
|
+
"type": "string"
|
|
51822
|
+
},
|
|
51823
|
+
"skipped": {
|
|
51824
|
+
"type": "boolean"
|
|
51825
|
+
},
|
|
51826
|
+
"reason": {
|
|
51827
|
+
"type": "string"
|
|
51828
|
+
},
|
|
51829
|
+
"extension": {
|
|
51830
|
+
"type": "object",
|
|
51831
|
+
"properties": {
|
|
51832
|
+
"id": {
|
|
51833
|
+
"type": "string"
|
|
51834
|
+
},
|
|
51835
|
+
"name": {
|
|
51836
|
+
"type": "string"
|
|
51837
|
+
}
|
|
51838
|
+
},
|
|
51839
|
+
"required": [
|
|
51840
|
+
"id",
|
|
51841
|
+
"name"
|
|
51842
|
+
]
|
|
51843
|
+
}
|
|
51844
|
+
},
|
|
51845
|
+
"required": [
|
|
51846
|
+
"created"
|
|
51847
|
+
]
|
|
51848
|
+
}
|
|
51849
|
+
}
|
|
51850
|
+
}
|
|
51851
|
+
},
|
|
51852
|
+
"401": {
|
|
51853
|
+
"description": "Invalid Basic auth credentials",
|
|
51854
|
+
"content": {
|
|
51855
|
+
"application/json": {
|
|
51856
|
+
"schema": {
|
|
51857
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
51858
|
+
}
|
|
51859
|
+
}
|
|
51860
|
+
}
|
|
51861
|
+
},
|
|
51862
|
+
"503": {
|
|
51863
|
+
"description": "Azure DevOps integration not configured",
|
|
51864
|
+
"content": {
|
|
51865
|
+
"application/json": {
|
|
51866
|
+
"schema": {
|
|
51867
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
51868
|
+
}
|
|
51869
|
+
}
|
|
51870
|
+
}
|
|
51871
|
+
}
|
|
51872
|
+
}
|
|
51873
|
+
}
|
|
51874
|
+
},
|
|
51347
51875
|
"/api/agentmail/webhook": {
|
|
51348
51876
|
"post": {
|
|
51349
51877
|
"summary": "Handle AgentMail webhook events",
|
|
@@ -51970,6 +52498,26 @@
|
|
|
51970
52498
|
"format",
|
|
51971
52499
|
"header"
|
|
51972
52500
|
]
|
|
52501
|
+
},
|
|
52502
|
+
{
|
|
52503
|
+
"type": "object",
|
|
52504
|
+
"properties": {
|
|
52505
|
+
"format": {
|
|
52506
|
+
"type": "string",
|
|
52507
|
+
"enum": [
|
|
52508
|
+
"standard-webhooks"
|
|
52509
|
+
]
|
|
52510
|
+
},
|
|
52511
|
+
"toleranceSeconds": {
|
|
52512
|
+
"type": "integer",
|
|
52513
|
+
"exclusiveMinimum": 0,
|
|
52514
|
+
"default": 300,
|
|
52515
|
+
"description": "Maximum allowed clock skew, in seconds, for the webhook-timestamp header"
|
|
52516
|
+
}
|
|
52517
|
+
},
|
|
52518
|
+
"required": [
|
|
52519
|
+
"format"
|
|
52520
|
+
]
|
|
51973
52521
|
}
|
|
51974
52522
|
],
|
|
51975
52523
|
"description": "Optional webhook verification format. Omit to keep legacy HMAC-SHA256 behavior with fallback header scanning."
|
|
@@ -52342,6 +52890,26 @@
|
|
|
52342
52890
|
"format",
|
|
52343
52891
|
"header"
|
|
52344
52892
|
]
|
|
52893
|
+
},
|
|
52894
|
+
{
|
|
52895
|
+
"type": "object",
|
|
52896
|
+
"properties": {
|
|
52897
|
+
"format": {
|
|
52898
|
+
"type": "string",
|
|
52899
|
+
"enum": [
|
|
52900
|
+
"standard-webhooks"
|
|
52901
|
+
]
|
|
52902
|
+
},
|
|
52903
|
+
"toleranceSeconds": {
|
|
52904
|
+
"type": "integer",
|
|
52905
|
+
"exclusiveMinimum": 0,
|
|
52906
|
+
"default": 300,
|
|
52907
|
+
"description": "Maximum allowed clock skew, in seconds, for the webhook-timestamp header"
|
|
52908
|
+
}
|
|
52909
|
+
},
|
|
52910
|
+
"required": [
|
|
52911
|
+
"format"
|
|
52912
|
+
]
|
|
52345
52913
|
}
|
|
52346
52914
|
],
|
|
52347
52915
|
"description": "Optional webhook verification format. Omit to keep legacy HMAC-SHA256 behavior with fallback header scanning."
|