@desplega.ai/agent-swarm 1.149.1 → 1.151.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 +18 -3
- package/dist/{acp-adapter-vhkzfpjg.js → acp-adapter-ex8hzjfc.js} +5 -5
- package/dist/{actions-9d2694yk.js → actions-2bgpyhww.js} +39 -11
- package/dist/{app-fq2ggynt.js → app-1706zhr1.js} +7 -7
- package/dist/{artifact-gj9arwrr.js → artifact-td4q4dch.js} +1 -1
- package/dist/{assistant-edb6n9nn.js → assistant-bavke5p7.js} +44 -20
- package/dist/{azure-openai-responses-cqar64rc.js → azure-openai-responses-f38x2avq.js} +13 -13
- package/dist/{boot-reembed-msweabbp.js → boot-reembed-3cmrrmpa.js} +9 -9
- package/dist/{boot-reembed-q5wd3tha.js → boot-reembed-nafcmmmc.js} +14 -16
- package/dist/{boot-scrub-logs-3g1az933.js → boot-scrub-logs-cd6a2sq0.js} +5 -5
- package/dist/{claude-adapter-v3rnzsdc.js → claude-adapter-wfp2gzvz.js} +15 -16
- package/dist/{claude-managed-adapter-qvsmh6mv.js → claude-managed-adapter-dsmkcrjy.js} +3 -3
- package/dist/{claude-sdk-session-qxrpsna1.js → claude-sdk-session-bht9jjak.js} +15 -16
- package/dist/{cli-5m0qmvdp.js → cli-0qb1z6s2.js} +1 -1
- package/dist/{cli-9d8ntetj.js → cli-2658f6at.js} +1 -1
- package/dist/{cli-7evafqvy.js → cli-2tbvf1z1.js} +85 -69
- package/dist/{cli-k351hv5k.js → cli-3v9xhjcn.js} +24 -12
- package/dist/{cli-1ebpar1q.js → cli-4wppfkcm.js} +350 -20
- package/dist/{cli-4260r1tg.js → cli-5jd2z7av.js} +97 -84
- package/dist/{cli-cv7s5zdq.js → cli-5tpgq60f.js} +9865 -715
- package/dist/{cli-6skz3rk8.js → cli-7tgcstn2.js} +9 -4
- package/dist/{cli-01g3x1ca.js → cli-9004vfdf.js} +108 -56
- package/dist/{cli-1c94wvcw.js → cli-a1z3h107.js} +124 -99
- package/dist/{cli-9br8ypfv.js → cli-czjtgfys.js} +2 -2
- package/dist/{cli-5my3bjsd.js → cli-d3p82erb.js} +7 -7
- package/dist/{cli-e29gmdmw.js → cli-dv6cdjs2.js} +2 -1
- package/dist/{cli-wby1xnnb.js → cli-f1wky6zp.js} +1 -1
- package/dist/{cli-zvz62chv.js → cli-fm4ytsdk.js} +4 -4
- package/dist/{cli-tg8qj8ee.js → cli-frcta2w4.js} +6 -6
- package/dist/{cli-7xx10h0a.js → cli-g69fdc9g.js} +2 -2
- package/dist/{cli-cmp8g3sw.js → cli-gbfwcd3k.js} +44 -9
- package/dist/{handlers-nsg0bcye.js → cli-gjyvhmmh.js} +97 -45
- package/dist/{cli-08b07b4r.js → cli-ht5rs63n.js} +1 -1
- package/dist/{cli-jecc01cb.js → cli-j4nv2wqy.js} +2 -4
- package/dist/{cli-cd60fv6j.js → cli-j9xczhaq.js} +1 -1
- package/dist/cli-pf9q3696.js +172 -0
- package/dist/{cli-xm87hzbw.js → cli-pgj4a5fb.js} +1 -1
- package/dist/{cli-jezx9b9c.js → cli-ppm4975n.js} +9 -3
- package/dist/{cli-3z634pqe.js → cli-q88st9aj.js} +2 -2
- package/dist/{cli-3sysyjve.js → cli-r2q6pevn.js} +142 -49
- package/dist/{cli-07jd68a1.js → cli-re8z5p8p.js} +1 -1
- package/dist/{cli-qgd4sqz5.js → cli-s14agm5s.js} +121 -14
- package/dist/{cli-svbrpf5q.js → cli-sjaae6ff.js} +9872 -424
- package/dist/{cli-73gq0zxn.js → cli-vwm416m6.js} +13 -13
- package/dist/{cli-4wtq5jjv.js → cli-wbyk465z.js} +1 -1
- package/dist/{cli-3apbzgyk.js → cli-z61ykvam.js} +19 -14
- package/dist/{cli-e06a8a7y.js → cli-zkxymas5.js} +4 -3
- package/dist/cli.js +26 -25
- package/dist/{codex-adapter-jyw7a91z.js → codex-adapter-jjjk8w4m.js} +8 -9
- package/dist/{codex-hook-hfrt9shr.js → codex-hook-8jexc34x.js} +3 -3
- package/dist/{codex-session-runner-bmngj0s5.js → codex-session-runner-nd6ayxkx.js} +8 -9
- package/dist/{commands-n755g391.js → commands-9v4psyq1.js} +5 -5
- package/dist/{db-s1cgh5gv.js → db-wnt58tpe.js} +5 -5
- package/dist/dispatcher-05jh1aqk.js +74 -0
- package/dist/{e2b-p04vmtx0.js → e2b-413b8t4v.js} +1 -1
- package/dist/{google-generative-ai-tsskx7te.js → google-generative-ai-ndjmj5fa.js} +7 -7
- package/dist/{google-vertex-ppw8ydpa.js → google-vertex-fr665tqs.js} +10 -10
- package/dist/handlers-tw90pkh5.js +65 -0
- package/dist/{hook-jf0xe8zh.js → hook-123e2scb.js} +11 -12
- package/dist/{hook-h9cqrm8q.js → hook-sxe3r349.js} +11 -12
- package/dist/{http-nc6pydw5.js → http-ecsar8ez.js} +1442 -581
- package/dist/{index-ezxkds2n.js → index-16js521z.js} +335 -107
- package/dist/{index-769nc012.js → index-hw26vj40.js} +25 -19
- package/dist/{index-0wdy6gwc.js → index-nnrbpcjp.js} +25 -17
- package/dist/index-ymn7em0p.js +25 -0
- package/dist/{index-x1zcj09z.js → index-zj518gf9.js} +26 -20
- package/dist/{keepalive-nesm3xb6.js → keepalive-asqtcm4y.js} +7 -7
- package/dist/{lead-bwy6t2za.js → lead-xbfr7fvt.js} +40 -48
- package/dist/{maintenance-8w393zf0.js → maintenance-qma55qvw.js} +9 -9
- package/dist/{oauth-refresh-sweep-sh8xjy08.js → oauth-refresh-sweep-3s04c6qw.js} +6 -6
- package/dist/{onboard-25ps29h1.js → onboard-drskd386.js} +13 -4
- package/dist/{openai-codex-responses-g7w48y30.js → openai-codex-responses-wy6a43wd.js} +13 -13
- package/dist/{openai-responses-nmeyptke.js → openai-responses-6xwf7bzg.js} +19 -19
- package/dist/{opencode-adapter-dce4wskd.js → opencode-adapter-28axqa09.js} +4 -4
- package/dist/{otel-impl-b93gxnz5.js → otel-impl-943c96er.js} +1 -1
- package/dist/{pi-mono-adapter-zvshk5cj.js → pi-mono-adapter-jcqt71cg.js} +17 -19
- package/dist/{pricing-refresh-5v56x7gb.js → pricing-refresh-mx51az05.js} +7 -7
- package/dist/{rbac-roles-x55cnezn.js → rbac-roles-78baecqd.js} +13 -9
- package/dist/{rbac-roles-0p0s6pbj.js → rbac-roles-wcmrg6sv.js} +7 -7
- package/dist/{render-v2-hyd45w8b.js → render-v2-8zjntgf5.js} +7 -7
- package/dist/{seed-pricing-49gbgn96.js → seed-pricing-jqjs6cws.js} +6 -6
- package/dist/{setup-qvq64vzq.js → setup-4pks0vfk.js} +2 -2
- package/dist/work-objects-wangt792.js +165 -0
- package/dist/{worker-scj60cxg.js → worker-p2mr422x.js} +40 -48
- package/openapi.json +1365 -268
- package/package.json +4 -3
- package/src/agentmail/handlers.ts +95 -66
- 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-client.ts +5 -0
- package/src/be/db.ts +15 -5
- package/src/be/extensions/db.ts +461 -0
- package/src/be/extensions/validate.ts +107 -0
- package/src/be/memory/boot-reembed.ts +17 -12
- package/src/be/memory/index.ts +12 -0
- package/src/be/memory/providers/openai-embedding.ts +4 -0
- package/src/be/memory/types.ts +2 -0
- 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/migrations/155_extensions.sql +66 -0
- package/src/be/migrations/156_inbox_item_state_read_at.sql +7 -0
- package/src/be/rbac-roles.ts +3 -2
- package/src/be/scripts/typecheck.ts +59 -41
- package/src/be/seed/schedules-seeder.ts +25 -2
- package/src/be/seed/workflows-seeder.ts +17 -0
- package/src/be/seed-scripts/catalog/delegate.ts +3 -1
- package/src/be/seed-skills/bundled-files.generated.json +1 -1
- package/src/be/seed-skills/index.ts +7 -0
- package/src/be/steering.ts +1 -0
- package/src/be/swarm-config-guard.ts +3 -1
- package/src/commands/credential-refresh.ts +70 -0
- package/src/commands/onboard/compose-generator.ts +14 -2
- package/src/commands/onboard/env-generator.ts +7 -0
- package/src/commands/provider-credentials.ts +2 -25
- package/src/commands/runner.ts +24 -57
- package/src/extensions/apply-task-create.ts +135 -0
- package/src/extensions/bundle-path.ts +10 -0
- package/src/extensions/contract-runtime.ts +7 -0
- package/src/extensions/contract-types.generated.ts +4 -0
- package/src/extensions/contract.ts +270 -0
- package/src/extensions/ctx.ts +186 -0
- package/src/extensions/dispatcher.ts +479 -0
- package/src/extensions/identity.ts +44 -0
- package/src/extensions/lifecycle.ts +281 -0
- package/src/extensions/loader.ts +207 -0
- package/src/extensions/post-bridge.ts +161 -0
- package/src/github/handlers.ts +185 -140
- package/src/gitlab/handlers.ts +97 -77
- package/src/heartbeat/heartbeat.ts +155 -83
- package/src/http/agents.ts +1 -1
- package/src/http/all-routes.ts +1 -0
- package/src/http/approval-requests.ts +1 -0
- package/src/http/apps.ts +14 -9
- package/src/http/config.ts +4 -1
- package/src/http/core.ts +38 -2
- package/src/http/extensions.ts +547 -0
- package/src/http/inbox-state.ts +2 -0
- package/src/http/index.ts +41 -3
- package/src/http/mcp-bridge.ts +96 -62
- package/src/http/mcp.ts +1 -1
- package/src/http/script-runs.ts +5 -0
- package/src/http/status.ts +6 -4
- package/src/http/tasks.ts +51 -30
- package/src/integrations/kapso/inbound.ts +15 -10
- package/src/jira/sync.ts +26 -16
- package/src/linear/sync.ts +26 -16
- package/src/prompts/session-templates.ts +18 -13
- package/src/providers/claude-adapter.ts +21 -8
- package/src/rbac/admission.ts +1 -1
- package/src/rbac/elevated-agents.ts +24 -0
- package/src/rbac/legacy-policy.ts +35 -6
- package/src/rbac/permissions.ts +8 -0
- package/src/scheduler/deferred-task-waits.ts +138 -27
- package/src/scheduler/schedule-task.ts +54 -24
- package/src/scheduler/scheduler.ts +108 -125
- package/src/scripts-runtime/executors/native.ts +5 -1
- package/src/scripts-runtime/executors/types.ts +5 -0
- package/src/scripts-runtime/import-allowlist.ts +79 -19
- package/src/scripts-runtime/sdk-allowlist.ts +4 -0
- package/src/scripts-runtime/swarm-config.ts +8 -0
- package/src/scripts-runtime/swarm-sdk.ts +3 -0
- package/src/scripts-runtime/types/stdlib.d.ts +16 -3
- package/src/scripts-runtime/types/swarm-extension.d.ts +562 -0
- package/src/scripts-runtime/types/swarm-sdk.d.ts +16 -3
- package/src/server.ts +6 -0
- package/src/slack/HEURISTICS.md +3 -1
- package/src/slack/actions.ts +21 -16
- package/src/slack/app.ts +2 -0
- package/src/slack/assistant.ts +4 -12
- package/src/slack/blocks.ts +1 -1
- package/src/slack/handlers.ts +107 -19
- package/src/slack/inbound-files.ts +9 -5
- package/src/slack/render-v2.ts +188 -38
- package/src/slack/router.ts +13 -3
- package/src/slack/steering.ts +3 -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/errors.ts +9 -0
- package/src/tasks/sibling-awareness.ts +35 -1
- package/src/tasks/worker-follow-up.ts +67 -11
- 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 +7 -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 +349 -8
- package/src/tests/devin-adapter.test.ts +1 -1
- package/src/tests/devin-api.test.ts +1 -1
- package/src/tests/docs-index-footprint.test.js +3 -3
- 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/env-flag.test.ts +1 -0
- package/src/tests/events-http.test.ts +1 -1
- package/src/tests/extensions-db.test.ts +216 -0
- package/src/tests/extensions-dispatcher.test.ts +275 -0
- package/src/tests/extensions-example-heartbeat-remediate.test.ts +69 -0
- package/src/tests/extensions-example-mcp-install.test.ts +63 -0
- package/src/tests/extensions-example-no-exclamation-marks.test.ts +72 -0
- package/src/tests/extensions-example-rewrite-and-suppress.test.ts +70 -0
- package/src/tests/extensions-example-route-slack-channel.test.ts +217 -0
- package/src/tests/extensions-heartbeat.test.ts +291 -0
- package/src/tests/extensions-http.test.ts +431 -0
- package/src/tests/extensions-lead-equivalence.test.ts +49 -0
- package/src/tests/extensions-lifecycle.test.ts +209 -0
- package/src/tests/extensions-loader.test.ts +95 -0
- package/src/tests/extensions-mcp-tools.test.ts +245 -0
- package/src/tests/extensions-pre-task.test.ts +487 -0
- package/src/tests/extensions-run-context.test.ts +41 -0
- package/src/tests/extensions-tool-call.test.ts +288 -0
- package/src/tests/extensions-validate.test.ts +196 -0
- package/src/tests/fixtures/extensions/bad-import/hooks.ts +8 -0
- package/src/tests/fixtures/extensions/bad-import/manifest.json +9 -0
- package/src/tests/fixtures/extensions/bad-return-shape/hooks.ts +10 -0
- package/src/tests/fixtures/extensions/bad-return-shape/manifest.json +9 -0
- package/src/tests/fixtures/extensions/block-tasks-from-source/hooks.ts +22 -0
- package/src/tests/fixtures/extensions/block-tasks-from-source/manifest.json +9 -0
- package/src/tests/fixtures/extensions/ignore-channel/hooks.ts +22 -0
- package/src/tests/fixtures/extensions/ignore-channel/manifest.json +9 -0
- package/src/tests/fixtures/extensions/load.ts +10 -0
- package/src/tests/fixtures/extensions/minimal/hooks.ts +7 -0
- package/src/tests/fixtures/extensions/minimal/manifest.json +9 -0
- package/src/tests/fixtures/extensions/never-fail-long-tasks/hooks.ts +11 -0
- package/src/tests/fixtures/extensions/never-fail-long-tasks/manifest.json +9 -0
- package/src/tests/fixtures/extensions/no-exclamation-marks/hooks.ts +23 -0
- package/src/tests/fixtures/extensions/no-exclamation-marks/manifest.json +9 -0
- package/src/tests/fixtures/extensions/post-logger/hooks.ts +9 -0
- package/src/tests/fixtures/extensions/post-logger/manifest.json +9 -0
- package/src/tests/fixtures/extensions/priority-a/hooks.ts +7 -0
- package/src/tests/fixtures/extensions/priority-a/manifest.json +9 -0
- package/src/tests/fixtures/extensions/priority-b/hooks.ts +7 -0
- package/src/tests/fixtures/extensions/priority-b/manifest.json +9 -0
- package/src/tests/fixtures/extensions/record-only-on-tag/hooks.ts +16 -0
- package/src/tests/fixtures/extensions/record-only-on-tag/manifest.json +9 -0
- package/src/tests/fixtures/extensions/reserved-assets/hooks.ts +5 -0
- package/src/tests/fixtures/extensions/reserved-assets/manifest.json +10 -0
- package/src/tests/fixtures/extensions/rewrite-progress-prefix/hooks.ts +22 -0
- package/src/tests/fixtures/extensions/rewrite-progress-prefix/manifest.json +9 -0
- package/src/tests/fixtures/extensions/rewrite-task-priority/hooks.ts +7 -0
- package/src/tests/fixtures/extensions/rewrite-task-priority/manifest.json +9 -0
- package/src/tests/fixtures/extensions/route-channel-to-agent/hooks.ts +26 -0
- package/src/tests/fixtures/extensions/route-channel-to-agent/manifest.json +9 -0
- package/src/tests/fixtures/extensions/slow/hooks.ts +10 -0
- package/src/tests/fixtures/extensions/slow/manifest.json +9 -0
- package/src/tests/fixtures/extensions/suppress-lead-follow-up/hooks.ts +12 -0
- package/src/tests/fixtures/extensions/suppress-lead-follow-up/manifest.json +9 -0
- package/src/tests/fixtures/extensions/throws/hooks.ts +12 -0
- package/src/tests/fixtures/extensions/throws/manifest.json +9 -0
- package/src/tests/fixtures/extensions/worker-runtime/hooks.ts +5 -0
- package/src/tests/fixtures/extensions/worker-runtime/manifest.json +9 -0
- 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-edit-authorization.test.ts +32 -0
- 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-enabled-stats.test.ts +2 -2
- package/src/tests/multi-runtime-registration.test.ts +111 -17
- 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 +47 -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/preload.ts +5 -0
- 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 +19 -4
- package/src/tests/rbac-charact-http.test.ts +1 -1
- package/src/tests/rbac-e2e-helpers.ts +1 -1
- package/src/tests/rbac-engine.test.ts +39 -0
- package/src/tests/realtime-room-auth.test.ts +1 -1
- package/src/tests/realtime-room-surfaces.test.ts +1 -1
- package/src/tests/reload-config.test.ts +45 -1
- package/src/tests/routing-affinity-inventory.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 +3 -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-boot-reembed.test.ts +4 -0
- package/src/tests/scripts-embeddings.test.ts +4 -0
- package/src/tests/scripts-external-api.test.ts +1 -1
- package/src/tests/scripts-http.test.ts +1 -1
- package/src/tests/scripts-import-allowlist.test.ts +44 -1
- package/src/tests/scripts-mcp-e2e.test.ts +81 -1
- package/src/tests/scripts-only-gating.test.ts +4 -2
- package/src/tests/scripts-retention.test.ts +1 -1
- package/src/tests/scripts-runtime-identity.test.ts +2 -2
- 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 +44 -9
- package/src/tests/seed-workflows.test.ts +21 -9
- 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-blocks.test.ts +12 -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 +196 -4
- package/src/tests/slack-router.test.ts +17 -2
- package/src/tests/slack-steering.test.ts +19 -0
- package/src/tests/status.test.ts +19 -7
- package/src/tests/steering-core.test.ts +1 -1
- package/src/tests/steering-enabled.test.ts +6 -8
- 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-tool-preload-mcp.test.ts +4 -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-annotations.test.ts +1 -1
- package/src/tests/tool-output-agent-id.test.ts +1 -0
- package/src/tests/tool-registrar-no-input.test.ts +42 -1
- 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/extension-common.ts +84 -0
- package/src/tools/extension-install.ts +65 -0
- package/src/tools/extension-list.ts +66 -0
- package/src/tools/script-common.ts +43 -18
- package/src/tools/send-task.ts +87 -105
- package/src/tools/skills/skill-publish.ts +1 -0
- package/src/tools/store-progress.ts +1 -1
- package/src/tools/task-action.ts +43 -22
- package/src/tools/task-tool-ctx.ts +2 -0
- package/src/tools/templates.ts +2 -1
- package/src/tools/tool-config.ts +3 -1
- package/src/tools/utils.ts +140 -16
- package/src/types.ts +144 -0
- package/src/utils/constants.ts +7 -1
- package/src/utils/credentials.test.ts +16 -16
- package/src/utils/multi-runtime.ts +2 -2
- package/src/utils/steering-enabled.ts +4 -4
- package/src/workflows/executors/agent-task.ts +18 -3
- package/templates/ai-toolbox.manifest.json +7 -1
- package/templates/extensions/README.md +17 -0
- package/templates/extensions/notify-on-complete/README.md +11 -0
- package/templates/extensions/notify-on-complete/hooks.ts +61 -0
- package/templates/extensions/notify-on-complete/manifest.json +7 -0
- package/templates/extensions/require-ticket-ref/README.md +11 -0
- package/templates/extensions/require-ticket-ref/hooks.ts +30 -0
- package/templates/extensions/require-ticket-ref/manifest.json +7 -0
- package/templates/extensions/require-verification-note/README.md +11 -0
- package/templates/extensions/require-verification-note/hooks.ts +32 -0
- package/templates/extensions/require-verification-note/manifest.json +7 -0
- package/templates/schedules/daily-hn-briefing/config.json +1 -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/scheduling/content.md +2 -0
- 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-extensions/config.json +14 -0
- package/templates/skills/swarm-extensions/content.md +120 -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/cli-7fehefdf.js +0 -562
- package/dist/cli-ayvy5kde.js +0 -164
- package/dist/cli-ddfw1mc4.js +0 -4322
- package/dist/cli-hzqmgcm2.js +0 -3066
- package/dist/cli-j4d4f6hv.js +0 -338
- package/dist/cli-qgm2pfpq.js +0 -6377
- package/dist/cli-sdzq01t9.js +0 -823
- package/dist/cli-xvkmedgn.js +0 -332
- package/dist/cli-y3pq4v9g.js +0 -664
- package/dist/{anthropic-messages-vs2rabzp.js → anthropic-messages-2y8nktar.js} +19 -19
- package/dist/{claude-managed-setup-f5pmsyrp.js → claude-managed-setup-48dwg9bv.js} +3 -3
- package/dist/{cli-81r683bv.js → cli-ch38q5z4.js} +0 -0
- package/dist/{cli-6664w7y4.js → cli-kj76p1ez.js} +8 -8
- package/dist/{cli-c71mg51n.js → cli-r2fpe7cx.js} +5 -5
- package/dist/{cli-4xz3pmrq.js → cli-y6x0gqtg.js} +16 -16
- package/dist/{index-aa3sa6s8.js → index-2wsdsnmm.js} +1 -1
- package/dist/{mistral-conversations-4ryk7h83.js → mistral-conversations-qhr84ph3.js} +9 -9
- package/dist/{openai-completions-0bqmsajw.js → openai-completions-32rdwmze.js} +19 -19
- package/dist/{openrouter-images-qx18fyp8.js → openrouter-images-9f9ek4rw.js} +3 -3
- package/dist/{pi-messages-79jvzz1d.js → pi-messages-b1mbr6gp.js} +4 -4
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.151.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": [
|
|
@@ -184,6 +184,14 @@
|
|
|
184
184
|
"reroute_fault"
|
|
185
185
|
]
|
|
186
186
|
},
|
|
187
|
+
"routingSource": {
|
|
188
|
+
"type": "string",
|
|
189
|
+
"enum": [
|
|
190
|
+
"declared",
|
|
191
|
+
"engine_default"
|
|
192
|
+
],
|
|
193
|
+
"description": "Origin of the routing reason: declared by the caller or chosen by the engine. Absent for unknown historical provenance or no reason."
|
|
194
|
+
},
|
|
187
195
|
"routingNote": {
|
|
188
196
|
"type": "string",
|
|
189
197
|
"maxLength": 200
|
|
@@ -1537,6 +1545,324 @@
|
|
|
1537
1545
|
"createdAt"
|
|
1538
1546
|
]
|
|
1539
1547
|
},
|
|
1548
|
+
"Extension": {
|
|
1549
|
+
"type": "object",
|
|
1550
|
+
"properties": {
|
|
1551
|
+
"id": {
|
|
1552
|
+
"type": "string"
|
|
1553
|
+
},
|
|
1554
|
+
"name": {
|
|
1555
|
+
"type": "string",
|
|
1556
|
+
"minLength": 1,
|
|
1557
|
+
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
|
|
1558
|
+
},
|
|
1559
|
+
"description": {
|
|
1560
|
+
"type": "string"
|
|
1561
|
+
},
|
|
1562
|
+
"runtime": {
|
|
1563
|
+
"type": "string",
|
|
1564
|
+
"enum": [
|
|
1565
|
+
"api",
|
|
1566
|
+
"worker"
|
|
1567
|
+
]
|
|
1568
|
+
},
|
|
1569
|
+
"manifestJson": {
|
|
1570
|
+
"type": "string"
|
|
1571
|
+
},
|
|
1572
|
+
"contentHash": {
|
|
1573
|
+
"type": "string"
|
|
1574
|
+
},
|
|
1575
|
+
"version": {
|
|
1576
|
+
"type": "integer",
|
|
1577
|
+
"minimum": 1
|
|
1578
|
+
},
|
|
1579
|
+
"activeVersion": {
|
|
1580
|
+
"type": "integer",
|
|
1581
|
+
"minimum": 1
|
|
1582
|
+
},
|
|
1583
|
+
"enabled": {
|
|
1584
|
+
"type": "boolean"
|
|
1585
|
+
},
|
|
1586
|
+
"priority": {
|
|
1587
|
+
"type": "integer"
|
|
1588
|
+
},
|
|
1589
|
+
"configJson": {
|
|
1590
|
+
"type": "string"
|
|
1591
|
+
},
|
|
1592
|
+
"status": {
|
|
1593
|
+
"type": "string",
|
|
1594
|
+
"enum": [
|
|
1595
|
+
"disabled",
|
|
1596
|
+
"enabled",
|
|
1597
|
+
"error",
|
|
1598
|
+
"auto-disabled"
|
|
1599
|
+
]
|
|
1600
|
+
},
|
|
1601
|
+
"consecutiveFailures": {
|
|
1602
|
+
"type": "integer",
|
|
1603
|
+
"minimum": 0
|
|
1604
|
+
},
|
|
1605
|
+
"lastError": {
|
|
1606
|
+
"type": [
|
|
1607
|
+
"string",
|
|
1608
|
+
"null"
|
|
1609
|
+
]
|
|
1610
|
+
},
|
|
1611
|
+
"agentId": {
|
|
1612
|
+
"type": [
|
|
1613
|
+
"string",
|
|
1614
|
+
"null"
|
|
1615
|
+
]
|
|
1616
|
+
},
|
|
1617
|
+
"createdByAgentId": {
|
|
1618
|
+
"type": [
|
|
1619
|
+
"string",
|
|
1620
|
+
"null"
|
|
1621
|
+
]
|
|
1622
|
+
},
|
|
1623
|
+
"createdAt": {
|
|
1624
|
+
"type": "string"
|
|
1625
|
+
},
|
|
1626
|
+
"updatedAt": {
|
|
1627
|
+
"type": "string"
|
|
1628
|
+
}
|
|
1629
|
+
},
|
|
1630
|
+
"required": [
|
|
1631
|
+
"id",
|
|
1632
|
+
"name",
|
|
1633
|
+
"description",
|
|
1634
|
+
"runtime",
|
|
1635
|
+
"manifestJson",
|
|
1636
|
+
"contentHash",
|
|
1637
|
+
"version",
|
|
1638
|
+
"activeVersion",
|
|
1639
|
+
"enabled",
|
|
1640
|
+
"priority",
|
|
1641
|
+
"configJson",
|
|
1642
|
+
"status",
|
|
1643
|
+
"consecutiveFailures",
|
|
1644
|
+
"lastError",
|
|
1645
|
+
"agentId",
|
|
1646
|
+
"createdByAgentId",
|
|
1647
|
+
"createdAt",
|
|
1648
|
+
"updatedAt"
|
|
1649
|
+
]
|
|
1650
|
+
},
|
|
1651
|
+
"ExtensionManifest": {
|
|
1652
|
+
"type": "object",
|
|
1653
|
+
"properties": {
|
|
1654
|
+
"name": {
|
|
1655
|
+
"type": "string",
|
|
1656
|
+
"minLength": 1,
|
|
1657
|
+
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
|
|
1658
|
+
},
|
|
1659
|
+
"description": {
|
|
1660
|
+
"type": "string"
|
|
1661
|
+
},
|
|
1662
|
+
"version": {
|
|
1663
|
+
"type": "string",
|
|
1664
|
+
"pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$"
|
|
1665
|
+
},
|
|
1666
|
+
"runtime": {
|
|
1667
|
+
"type": "string",
|
|
1668
|
+
"enum": [
|
|
1669
|
+
"api",
|
|
1670
|
+
"worker"
|
|
1671
|
+
]
|
|
1672
|
+
},
|
|
1673
|
+
"assets": {
|
|
1674
|
+
"type": "object",
|
|
1675
|
+
"properties": {
|
|
1676
|
+
"hooks": {
|
|
1677
|
+
"type": "string",
|
|
1678
|
+
"minLength": 1
|
|
1679
|
+
},
|
|
1680
|
+
"skills": {
|
|
1681
|
+
"type": "array",
|
|
1682
|
+
"items": {
|
|
1683
|
+
"type": "string"
|
|
1684
|
+
}
|
|
1685
|
+
},
|
|
1686
|
+
"workflows": {
|
|
1687
|
+
"type": "array",
|
|
1688
|
+
"items": {
|
|
1689
|
+
"type": "string"
|
|
1690
|
+
}
|
|
1691
|
+
},
|
|
1692
|
+
"schedules": {
|
|
1693
|
+
"type": "array",
|
|
1694
|
+
"items": {
|
|
1695
|
+
"type": "string"
|
|
1696
|
+
}
|
|
1697
|
+
}
|
|
1698
|
+
},
|
|
1699
|
+
"required": [
|
|
1700
|
+
"hooks"
|
|
1701
|
+
],
|
|
1702
|
+
"additionalProperties": false
|
|
1703
|
+
},
|
|
1704
|
+
"homepage": {
|
|
1705
|
+
"type": "string",
|
|
1706
|
+
"format": "uri"
|
|
1707
|
+
},
|
|
1708
|
+
"author": {
|
|
1709
|
+
"type": "string",
|
|
1710
|
+
"minLength": 1
|
|
1711
|
+
}
|
|
1712
|
+
},
|
|
1713
|
+
"required": [
|
|
1714
|
+
"name",
|
|
1715
|
+
"description",
|
|
1716
|
+
"version",
|
|
1717
|
+
"runtime",
|
|
1718
|
+
"assets"
|
|
1719
|
+
],
|
|
1720
|
+
"additionalProperties": false
|
|
1721
|
+
},
|
|
1722
|
+
"ExtensionInstallBody": {
|
|
1723
|
+
"type": "object",
|
|
1724
|
+
"properties": {
|
|
1725
|
+
"manifest": {
|
|
1726
|
+
"$ref": "#/components/schemas/ExtensionManifest"
|
|
1727
|
+
},
|
|
1728
|
+
"files": {
|
|
1729
|
+
"type": "object",
|
|
1730
|
+
"additionalProperties": {
|
|
1731
|
+
"type": "string"
|
|
1732
|
+
}
|
|
1733
|
+
},
|
|
1734
|
+
"priority": {
|
|
1735
|
+
"type": "integer"
|
|
1736
|
+
},
|
|
1737
|
+
"config": {
|
|
1738
|
+
"type": "object",
|
|
1739
|
+
"additionalProperties": {}
|
|
1740
|
+
}
|
|
1741
|
+
},
|
|
1742
|
+
"required": [
|
|
1743
|
+
"manifest",
|
|
1744
|
+
"files"
|
|
1745
|
+
],
|
|
1746
|
+
"additionalProperties": false
|
|
1747
|
+
},
|
|
1748
|
+
"ExtensionVersion": {
|
|
1749
|
+
"type": "object",
|
|
1750
|
+
"properties": {
|
|
1751
|
+
"id": {
|
|
1752
|
+
"type": "string"
|
|
1753
|
+
},
|
|
1754
|
+
"extensionId": {
|
|
1755
|
+
"type": "string"
|
|
1756
|
+
},
|
|
1757
|
+
"version": {
|
|
1758
|
+
"type": "integer",
|
|
1759
|
+
"minimum": 1
|
|
1760
|
+
},
|
|
1761
|
+
"manifestJson": {
|
|
1762
|
+
"type": "string"
|
|
1763
|
+
},
|
|
1764
|
+
"filesJson": {
|
|
1765
|
+
"type": "string"
|
|
1766
|
+
},
|
|
1767
|
+
"contentHash": {
|
|
1768
|
+
"type": "string"
|
|
1769
|
+
},
|
|
1770
|
+
"changedByAgentId": {
|
|
1771
|
+
"type": [
|
|
1772
|
+
"string",
|
|
1773
|
+
"null"
|
|
1774
|
+
]
|
|
1775
|
+
},
|
|
1776
|
+
"changedAt": {
|
|
1777
|
+
"type": "string"
|
|
1778
|
+
},
|
|
1779
|
+
"changeReason": {
|
|
1780
|
+
"type": [
|
|
1781
|
+
"string",
|
|
1782
|
+
"null"
|
|
1783
|
+
]
|
|
1784
|
+
}
|
|
1785
|
+
},
|
|
1786
|
+
"required": [
|
|
1787
|
+
"id",
|
|
1788
|
+
"extensionId",
|
|
1789
|
+
"version",
|
|
1790
|
+
"manifestJson",
|
|
1791
|
+
"filesJson",
|
|
1792
|
+
"contentHash",
|
|
1793
|
+
"changedByAgentId",
|
|
1794
|
+
"changedAt",
|
|
1795
|
+
"changeReason"
|
|
1796
|
+
]
|
|
1797
|
+
},
|
|
1798
|
+
"ExtensionRun": {
|
|
1799
|
+
"type": "object",
|
|
1800
|
+
"properties": {
|
|
1801
|
+
"id": {
|
|
1802
|
+
"type": "string"
|
|
1803
|
+
},
|
|
1804
|
+
"extensionId": {
|
|
1805
|
+
"type": "string"
|
|
1806
|
+
},
|
|
1807
|
+
"version": {
|
|
1808
|
+
"type": "integer",
|
|
1809
|
+
"minimum": 1
|
|
1810
|
+
},
|
|
1811
|
+
"event": {
|
|
1812
|
+
"type": "string"
|
|
1813
|
+
},
|
|
1814
|
+
"action": {
|
|
1815
|
+
"type": "string",
|
|
1816
|
+
"enum": [
|
|
1817
|
+
"continue",
|
|
1818
|
+
"modify",
|
|
1819
|
+
"block",
|
|
1820
|
+
"error",
|
|
1821
|
+
"timeout",
|
|
1822
|
+
"load-error"
|
|
1823
|
+
]
|
|
1824
|
+
},
|
|
1825
|
+
"durationMs": {
|
|
1826
|
+
"type": [
|
|
1827
|
+
"integer",
|
|
1828
|
+
"null"
|
|
1829
|
+
]
|
|
1830
|
+
},
|
|
1831
|
+
"message": {
|
|
1832
|
+
"type": [
|
|
1833
|
+
"string",
|
|
1834
|
+
"null"
|
|
1835
|
+
]
|
|
1836
|
+
},
|
|
1837
|
+
"agentId": {
|
|
1838
|
+
"type": [
|
|
1839
|
+
"string",
|
|
1840
|
+
"null"
|
|
1841
|
+
]
|
|
1842
|
+
},
|
|
1843
|
+
"subject": {
|
|
1844
|
+
"type": [
|
|
1845
|
+
"string",
|
|
1846
|
+
"null"
|
|
1847
|
+
]
|
|
1848
|
+
},
|
|
1849
|
+
"createdAt": {
|
|
1850
|
+
"type": "string"
|
|
1851
|
+
}
|
|
1852
|
+
},
|
|
1853
|
+
"required": [
|
|
1854
|
+
"id",
|
|
1855
|
+
"extensionId",
|
|
1856
|
+
"version",
|
|
1857
|
+
"event",
|
|
1858
|
+
"action",
|
|
1859
|
+
"durationMs",
|
|
1860
|
+
"message",
|
|
1861
|
+
"agentId",
|
|
1862
|
+
"subject",
|
|
1863
|
+
"createdAt"
|
|
1864
|
+
]
|
|
1865
|
+
},
|
|
1540
1866
|
"UserFavorite": {
|
|
1541
1867
|
"type": "object",
|
|
1542
1868
|
"properties": {
|
|
@@ -1688,7 +2014,8 @@
|
|
|
1688
2014
|
"credential_missing",
|
|
1689
2015
|
"broken_task",
|
|
1690
2016
|
"to_read",
|
|
1691
|
-
"to_start_template"
|
|
2017
|
+
"to_start_template",
|
|
2018
|
+
"notification"
|
|
1692
2019
|
]
|
|
1693
2020
|
},
|
|
1694
2021
|
"itemId": {
|
|
@@ -1712,6 +2039,9 @@
|
|
|
1712
2039
|
"doneAt": {
|
|
1713
2040
|
"type": "string"
|
|
1714
2041
|
},
|
|
2042
|
+
"readAt": {
|
|
2043
|
+
"type": "string"
|
|
2044
|
+
},
|
|
1715
2045
|
"createdAt": {
|
|
1716
2046
|
"type": "string"
|
|
1717
2047
|
},
|
|
@@ -5462,6 +5792,90 @@
|
|
|
5462
5792
|
}
|
|
5463
5793
|
}
|
|
5464
5794
|
},
|
|
5795
|
+
"/api/mcp-bridge": {
|
|
5796
|
+
"post": {
|
|
5797
|
+
"summary": "Generic MCP tool proxy for the scripts SDK bridge",
|
|
5798
|
+
"tags": [
|
|
5799
|
+
"Scripts"
|
|
5800
|
+
],
|
|
5801
|
+
"security": [
|
|
5802
|
+
{
|
|
5803
|
+
"bearerAuth": []
|
|
5804
|
+
}
|
|
5805
|
+
],
|
|
5806
|
+
"parameters": [
|
|
5807
|
+
{
|
|
5808
|
+
"schema": {
|
|
5809
|
+
"type": "string",
|
|
5810
|
+
"description": "Identifies the concrete runtime instance (worker process) making the call, as generated at its boot. Required to acquire work through bridged tools when multi-runtime mode (MULTI_RUNTIME_ENABLED) is on; ignored otherwise."
|
|
5811
|
+
},
|
|
5812
|
+
"required": false,
|
|
5813
|
+
"description": "Identifies the concrete runtime instance (worker process) making the call, as generated at its boot. Required to acquire work through bridged tools when multi-runtime mode (MULTI_RUNTIME_ENABLED) is on; ignored otherwise.",
|
|
5814
|
+
"name": "X-Runtime-Instance-ID",
|
|
5815
|
+
"in": "header"
|
|
5816
|
+
}
|
|
5817
|
+
],
|
|
5818
|
+
"requestBody": {
|
|
5819
|
+
"content": {
|
|
5820
|
+
"application/json": {
|
|
5821
|
+
"schema": {
|
|
5822
|
+
"type": "object",
|
|
5823
|
+
"properties": {
|
|
5824
|
+
"tool": {
|
|
5825
|
+
"type": "string",
|
|
5826
|
+
"minLength": 1,
|
|
5827
|
+
"maxLength": 200
|
|
5828
|
+
},
|
|
5829
|
+
"args": {
|
|
5830
|
+
"type": "object",
|
|
5831
|
+
"additionalProperties": {},
|
|
5832
|
+
"default": {}
|
|
5833
|
+
}
|
|
5834
|
+
},
|
|
5835
|
+
"required": [
|
|
5836
|
+
"tool"
|
|
5837
|
+
]
|
|
5838
|
+
}
|
|
5839
|
+
}
|
|
5840
|
+
}
|
|
5841
|
+
},
|
|
5842
|
+
"responses": {
|
|
5843
|
+
"200": {
|
|
5844
|
+
"description": "Tool result"
|
|
5845
|
+
},
|
|
5846
|
+
"400": {
|
|
5847
|
+
"description": "Invalid tool name or args",
|
|
5848
|
+
"content": {
|
|
5849
|
+
"application/json": {
|
|
5850
|
+
"schema": {
|
|
5851
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
5852
|
+
}
|
|
5853
|
+
}
|
|
5854
|
+
}
|
|
5855
|
+
},
|
|
5856
|
+
"403": {
|
|
5857
|
+
"description": "Tool not in SDK allowlist",
|
|
5858
|
+
"content": {
|
|
5859
|
+
"application/json": {
|
|
5860
|
+
"schema": {
|
|
5861
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
5862
|
+
}
|
|
5863
|
+
}
|
|
5864
|
+
}
|
|
5865
|
+
},
|
|
5866
|
+
"404": {
|
|
5867
|
+
"description": "Tool not found",
|
|
5868
|
+
"content": {
|
|
5869
|
+
"application/json": {
|
|
5870
|
+
"schema": {
|
|
5871
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
5872
|
+
}
|
|
5873
|
+
}
|
|
5874
|
+
}
|
|
5875
|
+
}
|
|
5876
|
+
}
|
|
5877
|
+
}
|
|
5878
|
+
},
|
|
5465
5879
|
"/ping": {
|
|
5466
5880
|
"post": {
|
|
5467
5881
|
"summary": "Report agent liveness",
|
|
@@ -9831,7 +10245,7 @@
|
|
|
9831
10245
|
"/api/agents/{id}/runtime-instances": {
|
|
9832
10246
|
"get": {
|
|
9833
10247
|
"summary": "List runtime instances serving an agent",
|
|
9834
|
-
"description": "Read-only view of the worker processes currently registered for a logical agent. Rows exist only for multi-runtime registrations (MULTI_RUNTIME_ENABLED), so the list is empty
|
|
10248
|
+
"description": "Read-only view of the worker processes currently registered for a logical agent. Rows exist only for multi-runtime registrations (MULTI_RUNTIME_ENABLED), so the list is empty when the flag is disabled. `isLive` combines `status` with `lastSeenAt` freshness against the server's staleness cutoff (`staleThresholdMinutes`); `reportedSlots` is each process's self-reported capacity, distinct from the agent's logical `maxTasks` policy.",
|
|
9835
10249
|
"tags": [
|
|
9836
10250
|
"Agents"
|
|
9837
10251
|
],
|
|
@@ -15558,6 +15972,733 @@
|
|
|
15558
15972
|
}
|
|
15559
15973
|
}
|
|
15560
15974
|
},
|
|
15975
|
+
"/api/extensions/install": {
|
|
15976
|
+
"post": {
|
|
15977
|
+
"operationId": "extensions_install",
|
|
15978
|
+
"summary": "Validate and install an extension bundle",
|
|
15979
|
+
"tags": [
|
|
15980
|
+
"Extensions"
|
|
15981
|
+
],
|
|
15982
|
+
"security": [
|
|
15983
|
+
{
|
|
15984
|
+
"bearerAuth": []
|
|
15985
|
+
}
|
|
15986
|
+
],
|
|
15987
|
+
"requestBody": {
|
|
15988
|
+
"content": {
|
|
15989
|
+
"application/json": {
|
|
15990
|
+
"schema": {
|
|
15991
|
+
"$ref": "#/components/schemas/ExtensionInstallBody"
|
|
15992
|
+
}
|
|
15993
|
+
}
|
|
15994
|
+
}
|
|
15995
|
+
},
|
|
15996
|
+
"responses": {
|
|
15997
|
+
"200": {
|
|
15998
|
+
"description": "Installed extension",
|
|
15999
|
+
"content": {
|
|
16000
|
+
"application/json": {
|
|
16001
|
+
"schema": {
|
|
16002
|
+
"type": "object",
|
|
16003
|
+
"properties": {
|
|
16004
|
+
"extension": {
|
|
16005
|
+
"$ref": "#/components/schemas/Extension"
|
|
16006
|
+
},
|
|
16007
|
+
"manifest": {
|
|
16008
|
+
"$ref": "#/components/schemas/ExtensionManifest"
|
|
16009
|
+
},
|
|
16010
|
+
"contentDeduped": {
|
|
16011
|
+
"type": "boolean"
|
|
16012
|
+
}
|
|
16013
|
+
},
|
|
16014
|
+
"required": [
|
|
16015
|
+
"extension",
|
|
16016
|
+
"manifest",
|
|
16017
|
+
"contentDeduped"
|
|
16018
|
+
]
|
|
16019
|
+
}
|
|
16020
|
+
}
|
|
16021
|
+
}
|
|
16022
|
+
},
|
|
16023
|
+
"400": {
|
|
16024
|
+
"description": "Bundle validation failed",
|
|
16025
|
+
"content": {
|
|
16026
|
+
"application/json": {
|
|
16027
|
+
"schema": {
|
|
16028
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16029
|
+
}
|
|
16030
|
+
}
|
|
16031
|
+
}
|
|
16032
|
+
},
|
|
16033
|
+
"403": {
|
|
16034
|
+
"description": "Permission denied",
|
|
16035
|
+
"content": {
|
|
16036
|
+
"application/json": {
|
|
16037
|
+
"schema": {
|
|
16038
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16039
|
+
}
|
|
16040
|
+
}
|
|
16041
|
+
}
|
|
16042
|
+
}
|
|
16043
|
+
}
|
|
16044
|
+
}
|
|
16045
|
+
},
|
|
16046
|
+
"/api/extensions": {
|
|
16047
|
+
"get": {
|
|
16048
|
+
"operationId": "extensions_list",
|
|
16049
|
+
"summary": "List installed extensions",
|
|
16050
|
+
"tags": [
|
|
16051
|
+
"Extensions"
|
|
16052
|
+
],
|
|
16053
|
+
"security": [
|
|
16054
|
+
{
|
|
16055
|
+
"bearerAuth": []
|
|
16056
|
+
}
|
|
16057
|
+
],
|
|
16058
|
+
"responses": {
|
|
16059
|
+
"200": {
|
|
16060
|
+
"description": "Installed extensions",
|
|
16061
|
+
"content": {
|
|
16062
|
+
"application/json": {
|
|
16063
|
+
"schema": {
|
|
16064
|
+
"type": "object",
|
|
16065
|
+
"properties": {
|
|
16066
|
+
"extensions": {
|
|
16067
|
+
"type": "array",
|
|
16068
|
+
"items": {
|
|
16069
|
+
"$ref": "#/components/schemas/Extension"
|
|
16070
|
+
}
|
|
16071
|
+
}
|
|
16072
|
+
},
|
|
16073
|
+
"required": [
|
|
16074
|
+
"extensions"
|
|
16075
|
+
]
|
|
16076
|
+
}
|
|
16077
|
+
}
|
|
16078
|
+
}
|
|
16079
|
+
}
|
|
16080
|
+
}
|
|
16081
|
+
}
|
|
16082
|
+
},
|
|
16083
|
+
"/api/extensions/type-defs": {
|
|
16084
|
+
"get": {
|
|
16085
|
+
"operationId": "extensions_type_defs",
|
|
16086
|
+
"summary": "Get extension authoring type definitions",
|
|
16087
|
+
"tags": [
|
|
16088
|
+
"Extensions"
|
|
16089
|
+
],
|
|
16090
|
+
"security": [
|
|
16091
|
+
{
|
|
16092
|
+
"bearerAuth": []
|
|
16093
|
+
}
|
|
16094
|
+
],
|
|
16095
|
+
"responses": {
|
|
16096
|
+
"200": {
|
|
16097
|
+
"description": "Generated swarm-extension.d.ts"
|
|
16098
|
+
}
|
|
16099
|
+
}
|
|
16100
|
+
}
|
|
16101
|
+
},
|
|
16102
|
+
"/api/extensions/{id}": {
|
|
16103
|
+
"get": {
|
|
16104
|
+
"operationId": "extensions_get",
|
|
16105
|
+
"summary": "Get an extension bundle",
|
|
16106
|
+
"tags": [
|
|
16107
|
+
"Extensions"
|
|
16108
|
+
],
|
|
16109
|
+
"security": [
|
|
16110
|
+
{
|
|
16111
|
+
"bearerAuth": []
|
|
16112
|
+
}
|
|
16113
|
+
],
|
|
16114
|
+
"parameters": [
|
|
16115
|
+
{
|
|
16116
|
+
"schema": {
|
|
16117
|
+
"type": "string",
|
|
16118
|
+
"minLength": 1
|
|
16119
|
+
},
|
|
16120
|
+
"required": true,
|
|
16121
|
+
"name": "id",
|
|
16122
|
+
"in": "path"
|
|
16123
|
+
}
|
|
16124
|
+
],
|
|
16125
|
+
"responses": {
|
|
16126
|
+
"200": {
|
|
16127
|
+
"description": "Extension bundle",
|
|
16128
|
+
"content": {
|
|
16129
|
+
"application/json": {
|
|
16130
|
+
"schema": {
|
|
16131
|
+
"type": "object",
|
|
16132
|
+
"properties": {
|
|
16133
|
+
"extension": {
|
|
16134
|
+
"$ref": "#/components/schemas/Extension"
|
|
16135
|
+
},
|
|
16136
|
+
"manifest": {
|
|
16137
|
+
"$ref": "#/components/schemas/ExtensionManifest"
|
|
16138
|
+
},
|
|
16139
|
+
"files": {
|
|
16140
|
+
"type": "object",
|
|
16141
|
+
"additionalProperties": {
|
|
16142
|
+
"type": "string"
|
|
16143
|
+
}
|
|
16144
|
+
}
|
|
16145
|
+
},
|
|
16146
|
+
"required": [
|
|
16147
|
+
"extension",
|
|
16148
|
+
"manifest",
|
|
16149
|
+
"files"
|
|
16150
|
+
]
|
|
16151
|
+
}
|
|
16152
|
+
}
|
|
16153
|
+
}
|
|
16154
|
+
},
|
|
16155
|
+
"404": {
|
|
16156
|
+
"description": "Extension not found",
|
|
16157
|
+
"content": {
|
|
16158
|
+
"application/json": {
|
|
16159
|
+
"schema": {
|
|
16160
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16161
|
+
}
|
|
16162
|
+
}
|
|
16163
|
+
}
|
|
16164
|
+
}
|
|
16165
|
+
}
|
|
16166
|
+
},
|
|
16167
|
+
"patch": {
|
|
16168
|
+
"operationId": "extensions_update",
|
|
16169
|
+
"summary": "Update extension priority, config, or description",
|
|
16170
|
+
"tags": [
|
|
16171
|
+
"Extensions"
|
|
16172
|
+
],
|
|
16173
|
+
"security": [
|
|
16174
|
+
{
|
|
16175
|
+
"bearerAuth": []
|
|
16176
|
+
}
|
|
16177
|
+
],
|
|
16178
|
+
"parameters": [
|
|
16179
|
+
{
|
|
16180
|
+
"schema": {
|
|
16181
|
+
"type": "string",
|
|
16182
|
+
"minLength": 1
|
|
16183
|
+
},
|
|
16184
|
+
"required": true,
|
|
16185
|
+
"name": "id",
|
|
16186
|
+
"in": "path"
|
|
16187
|
+
}
|
|
16188
|
+
],
|
|
16189
|
+
"requestBody": {
|
|
16190
|
+
"content": {
|
|
16191
|
+
"application/json": {
|
|
16192
|
+
"schema": {
|
|
16193
|
+
"type": "object",
|
|
16194
|
+
"properties": {
|
|
16195
|
+
"priority": {
|
|
16196
|
+
"type": "integer"
|
|
16197
|
+
},
|
|
16198
|
+
"config": {
|
|
16199
|
+
"type": "object",
|
|
16200
|
+
"additionalProperties": {}
|
|
16201
|
+
},
|
|
16202
|
+
"description": {
|
|
16203
|
+
"type": "string"
|
|
16204
|
+
}
|
|
16205
|
+
},
|
|
16206
|
+
"additionalProperties": false
|
|
16207
|
+
}
|
|
16208
|
+
}
|
|
16209
|
+
}
|
|
16210
|
+
},
|
|
16211
|
+
"responses": {
|
|
16212
|
+
"200": {
|
|
16213
|
+
"description": "Updated extension",
|
|
16214
|
+
"content": {
|
|
16215
|
+
"application/json": {
|
|
16216
|
+
"schema": {
|
|
16217
|
+
"type": "object",
|
|
16218
|
+
"properties": {
|
|
16219
|
+
"extension": {
|
|
16220
|
+
"$ref": "#/components/schemas/Extension"
|
|
16221
|
+
}
|
|
16222
|
+
},
|
|
16223
|
+
"required": [
|
|
16224
|
+
"extension"
|
|
16225
|
+
]
|
|
16226
|
+
}
|
|
16227
|
+
}
|
|
16228
|
+
}
|
|
16229
|
+
},
|
|
16230
|
+
"400": {
|
|
16231
|
+
"description": "Extension config validation failed",
|
|
16232
|
+
"content": {
|
|
16233
|
+
"application/json": {
|
|
16234
|
+
"schema": {
|
|
16235
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16236
|
+
}
|
|
16237
|
+
}
|
|
16238
|
+
}
|
|
16239
|
+
},
|
|
16240
|
+
"403": {
|
|
16241
|
+
"description": "Permission denied",
|
|
16242
|
+
"content": {
|
|
16243
|
+
"application/json": {
|
|
16244
|
+
"schema": {
|
|
16245
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16246
|
+
}
|
|
16247
|
+
}
|
|
16248
|
+
}
|
|
16249
|
+
},
|
|
16250
|
+
"404": {
|
|
16251
|
+
"description": "Extension not found",
|
|
16252
|
+
"content": {
|
|
16253
|
+
"application/json": {
|
|
16254
|
+
"schema": {
|
|
16255
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16256
|
+
}
|
|
16257
|
+
}
|
|
16258
|
+
}
|
|
16259
|
+
}
|
|
16260
|
+
}
|
|
16261
|
+
},
|
|
16262
|
+
"delete": {
|
|
16263
|
+
"operationId": "extensions_delete",
|
|
16264
|
+
"summary": "Uninstall a disabled extension",
|
|
16265
|
+
"tags": [
|
|
16266
|
+
"Extensions"
|
|
16267
|
+
],
|
|
16268
|
+
"security": [
|
|
16269
|
+
{
|
|
16270
|
+
"bearerAuth": []
|
|
16271
|
+
}
|
|
16272
|
+
],
|
|
16273
|
+
"parameters": [
|
|
16274
|
+
{
|
|
16275
|
+
"schema": {
|
|
16276
|
+
"type": "string",
|
|
16277
|
+
"minLength": 1
|
|
16278
|
+
},
|
|
16279
|
+
"required": true,
|
|
16280
|
+
"name": "id",
|
|
16281
|
+
"in": "path"
|
|
16282
|
+
}
|
|
16283
|
+
],
|
|
16284
|
+
"responses": {
|
|
16285
|
+
"200": {
|
|
16286
|
+
"description": "Extension uninstalled",
|
|
16287
|
+
"content": {
|
|
16288
|
+
"application/json": {
|
|
16289
|
+
"schema": {
|
|
16290
|
+
"type": "object",
|
|
16291
|
+
"properties": {
|
|
16292
|
+
"deleted": {
|
|
16293
|
+
"type": "boolean",
|
|
16294
|
+
"enum": [
|
|
16295
|
+
true
|
|
16296
|
+
]
|
|
16297
|
+
}
|
|
16298
|
+
},
|
|
16299
|
+
"required": [
|
|
16300
|
+
"deleted"
|
|
16301
|
+
]
|
|
16302
|
+
}
|
|
16303
|
+
}
|
|
16304
|
+
}
|
|
16305
|
+
},
|
|
16306
|
+
"403": {
|
|
16307
|
+
"description": "Permission denied",
|
|
16308
|
+
"content": {
|
|
16309
|
+
"application/json": {
|
|
16310
|
+
"schema": {
|
|
16311
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16312
|
+
}
|
|
16313
|
+
}
|
|
16314
|
+
}
|
|
16315
|
+
},
|
|
16316
|
+
"404": {
|
|
16317
|
+
"description": "Extension not found",
|
|
16318
|
+
"content": {
|
|
16319
|
+
"application/json": {
|
|
16320
|
+
"schema": {
|
|
16321
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16322
|
+
}
|
|
16323
|
+
}
|
|
16324
|
+
}
|
|
16325
|
+
},
|
|
16326
|
+
"409": {
|
|
16327
|
+
"description": "Enabled extensions cannot be uninstalled",
|
|
16328
|
+
"content": {
|
|
16329
|
+
"application/json": {
|
|
16330
|
+
"schema": {
|
|
16331
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16332
|
+
}
|
|
16333
|
+
}
|
|
16334
|
+
}
|
|
16335
|
+
}
|
|
16336
|
+
}
|
|
16337
|
+
}
|
|
16338
|
+
},
|
|
16339
|
+
"/api/extensions/{id}/versions": {
|
|
16340
|
+
"get": {
|
|
16341
|
+
"operationId": "extensions_versions",
|
|
16342
|
+
"summary": "List extension versions",
|
|
16343
|
+
"tags": [
|
|
16344
|
+
"Extensions"
|
|
16345
|
+
],
|
|
16346
|
+
"security": [
|
|
16347
|
+
{
|
|
16348
|
+
"bearerAuth": []
|
|
16349
|
+
}
|
|
16350
|
+
],
|
|
16351
|
+
"parameters": [
|
|
16352
|
+
{
|
|
16353
|
+
"schema": {
|
|
16354
|
+
"type": "string",
|
|
16355
|
+
"minLength": 1
|
|
16356
|
+
},
|
|
16357
|
+
"required": true,
|
|
16358
|
+
"name": "id",
|
|
16359
|
+
"in": "path"
|
|
16360
|
+
}
|
|
16361
|
+
],
|
|
16362
|
+
"responses": {
|
|
16363
|
+
"200": {
|
|
16364
|
+
"description": "Extension versions",
|
|
16365
|
+
"content": {
|
|
16366
|
+
"application/json": {
|
|
16367
|
+
"schema": {
|
|
16368
|
+
"type": "object",
|
|
16369
|
+
"properties": {
|
|
16370
|
+
"versions": {
|
|
16371
|
+
"type": "array",
|
|
16372
|
+
"items": {
|
|
16373
|
+
"$ref": "#/components/schemas/ExtensionVersion"
|
|
16374
|
+
}
|
|
16375
|
+
}
|
|
16376
|
+
},
|
|
16377
|
+
"required": [
|
|
16378
|
+
"versions"
|
|
16379
|
+
]
|
|
16380
|
+
}
|
|
16381
|
+
}
|
|
16382
|
+
}
|
|
16383
|
+
},
|
|
16384
|
+
"404": {
|
|
16385
|
+
"description": "Extension not found",
|
|
16386
|
+
"content": {
|
|
16387
|
+
"application/json": {
|
|
16388
|
+
"schema": {
|
|
16389
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16390
|
+
}
|
|
16391
|
+
}
|
|
16392
|
+
}
|
|
16393
|
+
}
|
|
16394
|
+
}
|
|
16395
|
+
}
|
|
16396
|
+
},
|
|
16397
|
+
"/api/extensions/{id}/runs": {
|
|
16398
|
+
"get": {
|
|
16399
|
+
"operationId": "extensions_runs",
|
|
16400
|
+
"summary": "List extension run log entries",
|
|
16401
|
+
"tags": [
|
|
16402
|
+
"Extensions"
|
|
16403
|
+
],
|
|
16404
|
+
"security": [
|
|
16405
|
+
{
|
|
16406
|
+
"bearerAuth": []
|
|
16407
|
+
}
|
|
16408
|
+
],
|
|
16409
|
+
"parameters": [
|
|
16410
|
+
{
|
|
16411
|
+
"schema": {
|
|
16412
|
+
"type": "string",
|
|
16413
|
+
"minLength": 1
|
|
16414
|
+
},
|
|
16415
|
+
"required": true,
|
|
16416
|
+
"name": "id",
|
|
16417
|
+
"in": "path"
|
|
16418
|
+
},
|
|
16419
|
+
{
|
|
16420
|
+
"schema": {
|
|
16421
|
+
"type": "integer",
|
|
16422
|
+
"minimum": 1,
|
|
16423
|
+
"maximum": 500
|
|
16424
|
+
},
|
|
16425
|
+
"required": false,
|
|
16426
|
+
"name": "limit",
|
|
16427
|
+
"in": "query"
|
|
16428
|
+
}
|
|
16429
|
+
],
|
|
16430
|
+
"responses": {
|
|
16431
|
+
"200": {
|
|
16432
|
+
"description": "Extension run log",
|
|
16433
|
+
"content": {
|
|
16434
|
+
"application/json": {
|
|
16435
|
+
"schema": {
|
|
16436
|
+
"type": "object",
|
|
16437
|
+
"properties": {
|
|
16438
|
+
"runs": {
|
|
16439
|
+
"type": "array",
|
|
16440
|
+
"items": {
|
|
16441
|
+
"$ref": "#/components/schemas/ExtensionRun"
|
|
16442
|
+
}
|
|
16443
|
+
}
|
|
16444
|
+
},
|
|
16445
|
+
"required": [
|
|
16446
|
+
"runs"
|
|
16447
|
+
]
|
|
16448
|
+
}
|
|
16449
|
+
}
|
|
16450
|
+
}
|
|
16451
|
+
},
|
|
16452
|
+
"404": {
|
|
16453
|
+
"description": "Extension not found",
|
|
16454
|
+
"content": {
|
|
16455
|
+
"application/json": {
|
|
16456
|
+
"schema": {
|
|
16457
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16458
|
+
}
|
|
16459
|
+
}
|
|
16460
|
+
}
|
|
16461
|
+
}
|
|
16462
|
+
}
|
|
16463
|
+
}
|
|
16464
|
+
},
|
|
16465
|
+
"/api/extensions/{id}/enable": {
|
|
16466
|
+
"post": {
|
|
16467
|
+
"operationId": "extensions_enable",
|
|
16468
|
+
"summary": "Enable an extension",
|
|
16469
|
+
"description": "Loads and enables an extension. This route is operator-only.",
|
|
16470
|
+
"tags": [
|
|
16471
|
+
"Extensions"
|
|
16472
|
+
],
|
|
16473
|
+
"security": [
|
|
16474
|
+
{
|
|
16475
|
+
"bearerAuth": []
|
|
16476
|
+
}
|
|
16477
|
+
],
|
|
16478
|
+
"parameters": [
|
|
16479
|
+
{
|
|
16480
|
+
"schema": {
|
|
16481
|
+
"type": "string",
|
|
16482
|
+
"minLength": 1
|
|
16483
|
+
},
|
|
16484
|
+
"required": true,
|
|
16485
|
+
"name": "id",
|
|
16486
|
+
"in": "path"
|
|
16487
|
+
}
|
|
16488
|
+
],
|
|
16489
|
+
"responses": {
|
|
16490
|
+
"200": {
|
|
16491
|
+
"description": "Enabled extension",
|
|
16492
|
+
"content": {
|
|
16493
|
+
"application/json": {
|
|
16494
|
+
"schema": {
|
|
16495
|
+
"type": "object",
|
|
16496
|
+
"properties": {
|
|
16497
|
+
"extension": {
|
|
16498
|
+
"$ref": "#/components/schemas/Extension"
|
|
16499
|
+
}
|
|
16500
|
+
},
|
|
16501
|
+
"required": [
|
|
16502
|
+
"extension"
|
|
16503
|
+
]
|
|
16504
|
+
}
|
|
16505
|
+
}
|
|
16506
|
+
}
|
|
16507
|
+
},
|
|
16508
|
+
"400": {
|
|
16509
|
+
"description": "Extension load or config validation failed",
|
|
16510
|
+
"content": {
|
|
16511
|
+
"application/json": {
|
|
16512
|
+
"schema": {
|
|
16513
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16514
|
+
}
|
|
16515
|
+
}
|
|
16516
|
+
}
|
|
16517
|
+
},
|
|
16518
|
+
"403": {
|
|
16519
|
+
"description": "Permission denied",
|
|
16520
|
+
"content": {
|
|
16521
|
+
"application/json": {
|
|
16522
|
+
"schema": {
|
|
16523
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16524
|
+
}
|
|
16525
|
+
}
|
|
16526
|
+
}
|
|
16527
|
+
},
|
|
16528
|
+
"404": {
|
|
16529
|
+
"description": "Extension not found",
|
|
16530
|
+
"content": {
|
|
16531
|
+
"application/json": {
|
|
16532
|
+
"schema": {
|
|
16533
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16534
|
+
}
|
|
16535
|
+
}
|
|
16536
|
+
}
|
|
16537
|
+
}
|
|
16538
|
+
}
|
|
16539
|
+
}
|
|
16540
|
+
},
|
|
16541
|
+
"/api/extensions/{id}/disable": {
|
|
16542
|
+
"post": {
|
|
16543
|
+
"operationId": "extensions_disable",
|
|
16544
|
+
"summary": "Disable an extension",
|
|
16545
|
+
"description": "Unloads and disables an extension. This route is operator-only.",
|
|
16546
|
+
"tags": [
|
|
16547
|
+
"Extensions"
|
|
16548
|
+
],
|
|
16549
|
+
"security": [
|
|
16550
|
+
{
|
|
16551
|
+
"bearerAuth": []
|
|
16552
|
+
}
|
|
16553
|
+
],
|
|
16554
|
+
"parameters": [
|
|
16555
|
+
{
|
|
16556
|
+
"schema": {
|
|
16557
|
+
"type": "string",
|
|
16558
|
+
"minLength": 1
|
|
16559
|
+
},
|
|
16560
|
+
"required": true,
|
|
16561
|
+
"name": "id",
|
|
16562
|
+
"in": "path"
|
|
16563
|
+
}
|
|
16564
|
+
],
|
|
16565
|
+
"responses": {
|
|
16566
|
+
"200": {
|
|
16567
|
+
"description": "Disabled extension",
|
|
16568
|
+
"content": {
|
|
16569
|
+
"application/json": {
|
|
16570
|
+
"schema": {
|
|
16571
|
+
"type": "object",
|
|
16572
|
+
"properties": {
|
|
16573
|
+
"extension": {
|
|
16574
|
+
"$ref": "#/components/schemas/Extension"
|
|
16575
|
+
}
|
|
16576
|
+
},
|
|
16577
|
+
"required": [
|
|
16578
|
+
"extension"
|
|
16579
|
+
]
|
|
16580
|
+
}
|
|
16581
|
+
}
|
|
16582
|
+
}
|
|
16583
|
+
},
|
|
16584
|
+
"403": {
|
|
16585
|
+
"description": "Permission denied",
|
|
16586
|
+
"content": {
|
|
16587
|
+
"application/json": {
|
|
16588
|
+
"schema": {
|
|
16589
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16590
|
+
}
|
|
16591
|
+
}
|
|
16592
|
+
}
|
|
16593
|
+
},
|
|
16594
|
+
"404": {
|
|
16595
|
+
"description": "Extension not found",
|
|
16596
|
+
"content": {
|
|
16597
|
+
"application/json": {
|
|
16598
|
+
"schema": {
|
|
16599
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16600
|
+
}
|
|
16601
|
+
}
|
|
16602
|
+
}
|
|
16603
|
+
}
|
|
16604
|
+
}
|
|
16605
|
+
}
|
|
16606
|
+
},
|
|
16607
|
+
"/api/extensions/{id}/activate-version": {
|
|
16608
|
+
"post": {
|
|
16609
|
+
"operationId": "extensions_activate_version",
|
|
16610
|
+
"summary": "Activate an extension version",
|
|
16611
|
+
"description": "Activates a stored version. This route is operator-only.",
|
|
16612
|
+
"tags": [
|
|
16613
|
+
"Extensions"
|
|
16614
|
+
],
|
|
16615
|
+
"security": [
|
|
16616
|
+
{
|
|
16617
|
+
"bearerAuth": []
|
|
16618
|
+
}
|
|
16619
|
+
],
|
|
16620
|
+
"parameters": [
|
|
16621
|
+
{
|
|
16622
|
+
"schema": {
|
|
16623
|
+
"type": "string",
|
|
16624
|
+
"minLength": 1
|
|
16625
|
+
},
|
|
16626
|
+
"required": true,
|
|
16627
|
+
"name": "id",
|
|
16628
|
+
"in": "path"
|
|
16629
|
+
}
|
|
16630
|
+
],
|
|
16631
|
+
"requestBody": {
|
|
16632
|
+
"content": {
|
|
16633
|
+
"application/json": {
|
|
16634
|
+
"schema": {
|
|
16635
|
+
"type": "object",
|
|
16636
|
+
"properties": {
|
|
16637
|
+
"version": {
|
|
16638
|
+
"type": "integer",
|
|
16639
|
+
"minimum": 1
|
|
16640
|
+
}
|
|
16641
|
+
},
|
|
16642
|
+
"required": [
|
|
16643
|
+
"version"
|
|
16644
|
+
],
|
|
16645
|
+
"additionalProperties": false
|
|
16646
|
+
}
|
|
16647
|
+
}
|
|
16648
|
+
}
|
|
16649
|
+
},
|
|
16650
|
+
"responses": {
|
|
16651
|
+
"200": {
|
|
16652
|
+
"description": "Activated extension",
|
|
16653
|
+
"content": {
|
|
16654
|
+
"application/json": {
|
|
16655
|
+
"schema": {
|
|
16656
|
+
"type": "object",
|
|
16657
|
+
"properties": {
|
|
16658
|
+
"extension": {
|
|
16659
|
+
"$ref": "#/components/schemas/Extension"
|
|
16660
|
+
}
|
|
16661
|
+
},
|
|
16662
|
+
"required": [
|
|
16663
|
+
"extension"
|
|
16664
|
+
]
|
|
16665
|
+
}
|
|
16666
|
+
}
|
|
16667
|
+
}
|
|
16668
|
+
},
|
|
16669
|
+
"400": {
|
|
16670
|
+
"description": "Extension load or config validation failed",
|
|
16671
|
+
"content": {
|
|
16672
|
+
"application/json": {
|
|
16673
|
+
"schema": {
|
|
16674
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16675
|
+
}
|
|
16676
|
+
}
|
|
16677
|
+
}
|
|
16678
|
+
},
|
|
16679
|
+
"403": {
|
|
16680
|
+
"description": "Permission denied",
|
|
16681
|
+
"content": {
|
|
16682
|
+
"application/json": {
|
|
16683
|
+
"schema": {
|
|
16684
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16685
|
+
}
|
|
16686
|
+
}
|
|
16687
|
+
}
|
|
16688
|
+
},
|
|
16689
|
+
"404": {
|
|
16690
|
+
"description": "Extension or version not found",
|
|
16691
|
+
"content": {
|
|
16692
|
+
"application/json": {
|
|
16693
|
+
"schema": {
|
|
16694
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
16695
|
+
}
|
|
16696
|
+
}
|
|
16697
|
+
}
|
|
16698
|
+
}
|
|
16699
|
+
}
|
|
16700
|
+
}
|
|
16701
|
+
},
|
|
15561
16702
|
"/api/favorites": {
|
|
15562
16703
|
"get": {
|
|
15563
16704
|
"summary": "List favorites for the authenticated principal",
|
|
@@ -16529,7 +17670,8 @@
|
|
|
16529
17670
|
"credential_missing",
|
|
16530
17671
|
"broken_task",
|
|
16531
17672
|
"to_read",
|
|
16532
|
-
"to_start_template"
|
|
17673
|
+
"to_start_template",
|
|
17674
|
+
"notification"
|
|
16533
17675
|
]
|
|
16534
17676
|
},
|
|
16535
17677
|
"required": false,
|
|
@@ -16607,7 +17749,8 @@
|
|
|
16607
17749
|
"credential_missing",
|
|
16608
17750
|
"broken_task",
|
|
16609
17751
|
"to_read",
|
|
16610
|
-
"to_start_template"
|
|
17752
|
+
"to_start_template",
|
|
17753
|
+
"notification"
|
|
16611
17754
|
]
|
|
16612
17755
|
},
|
|
16613
17756
|
"itemId": {
|
|
@@ -16626,6 +17769,10 @@
|
|
|
16626
17769
|
"snoozeUntil": {
|
|
16627
17770
|
"type": "string",
|
|
16628
17771
|
"format": "date-time"
|
|
17772
|
+
},
|
|
17773
|
+
"readAt": {
|
|
17774
|
+
"type": "string",
|
|
17775
|
+
"format": "date-time"
|
|
16629
17776
|
}
|
|
16630
17777
|
},
|
|
16631
17778
|
"required": [
|
|
@@ -37432,253 +38579,26 @@
|
|
|
37432
38579
|
],
|
|
37433
38580
|
"responses": {
|
|
37434
38581
|
"200": {
|
|
37435
|
-
"description": "Decrypted token (null when authMode is 'none')",
|
|
37436
|
-
"content": {
|
|
37437
|
-
"application/json": {
|
|
37438
|
-
"schema": {
|
|
37439
|
-
"type": "object",
|
|
37440
|
-
"properties": {
|
|
37441
|
-
"token": {
|
|
37442
|
-
"type": [
|
|
37443
|
-
"string",
|
|
37444
|
-
"null"
|
|
37445
|
-
]
|
|
37446
|
-
}
|
|
37447
|
-
},
|
|
37448
|
-
"required": [
|
|
37449
|
-
"token"
|
|
37450
|
-
]
|
|
37451
|
-
}
|
|
37452
|
-
}
|
|
37453
|
-
}
|
|
37454
|
-
},
|
|
37455
|
-
"404": {
|
|
37456
|
-
"description": "Endpoint not found",
|
|
37457
|
-
"content": {
|
|
37458
|
-
"application/json": {
|
|
37459
|
-
"schema": {
|
|
37460
|
-
"$ref": "#/components/schemas/ErrorResponse"
|
|
37461
|
-
}
|
|
37462
|
-
}
|
|
37463
|
-
}
|
|
37464
|
-
}
|
|
37465
|
-
}
|
|
37466
|
-
}
|
|
37467
|
-
},
|
|
37468
|
-
"/api/scripts/{id}/apis/{endpointId}": {
|
|
37469
|
-
"patch": {
|
|
37470
|
-
"operationId": "scripts_api_update",
|
|
37471
|
-
"summary": "Enable/disable or relabel an external API endpoint",
|
|
37472
|
-
"tags": [
|
|
37473
|
-
"Scripts"
|
|
37474
|
-
],
|
|
37475
|
-
"security": [
|
|
37476
|
-
{
|
|
37477
|
-
"bearerAuth": []
|
|
37478
|
-
}
|
|
37479
|
-
],
|
|
37480
|
-
"parameters": [
|
|
37481
|
-
{
|
|
37482
|
-
"schema": {
|
|
37483
|
-
"type": "string",
|
|
37484
|
-
"format": "uuid"
|
|
37485
|
-
},
|
|
37486
|
-
"required": true,
|
|
37487
|
-
"name": "id",
|
|
37488
|
-
"in": "path"
|
|
37489
|
-
},
|
|
37490
|
-
{
|
|
37491
|
-
"schema": {
|
|
37492
|
-
"type": "string"
|
|
37493
|
-
},
|
|
37494
|
-
"required": true,
|
|
37495
|
-
"name": "endpointId",
|
|
37496
|
-
"in": "path"
|
|
37497
|
-
}
|
|
37498
|
-
],
|
|
37499
|
-
"requestBody": {
|
|
37500
|
-
"content": {
|
|
37501
|
-
"application/json": {
|
|
37502
|
-
"schema": {
|
|
37503
|
-
"type": "object",
|
|
37504
|
-
"properties": {
|
|
37505
|
-
"enabled": {
|
|
37506
|
-
"type": "boolean"
|
|
37507
|
-
},
|
|
37508
|
-
"label": {
|
|
37509
|
-
"type": [
|
|
37510
|
-
"string",
|
|
37511
|
-
"null"
|
|
37512
|
-
],
|
|
37513
|
-
"maxLength": 200
|
|
37514
|
-
}
|
|
37515
|
-
}
|
|
37516
|
-
}
|
|
37517
|
-
}
|
|
37518
|
-
}
|
|
37519
|
-
},
|
|
37520
|
-
"responses": {
|
|
37521
|
-
"200": {
|
|
37522
|
-
"description": "Updated endpoint",
|
|
37523
|
-
"content": {
|
|
37524
|
-
"application/json": {
|
|
37525
|
-
"schema": {
|
|
37526
|
-
"anyOf": [
|
|
37527
|
-
{
|
|
37528
|
-
"$ref": "#/components/schemas/ScriptApiRecord"
|
|
37529
|
-
},
|
|
37530
|
-
{
|
|
37531
|
-
"type": "null"
|
|
37532
|
-
}
|
|
37533
|
-
]
|
|
37534
|
-
}
|
|
37535
|
-
}
|
|
37536
|
-
}
|
|
37537
|
-
},
|
|
37538
|
-
"404": {
|
|
37539
|
-
"description": "Endpoint not found",
|
|
37540
|
-
"content": {
|
|
37541
|
-
"application/json": {
|
|
37542
|
-
"schema": {
|
|
37543
|
-
"$ref": "#/components/schemas/ErrorResponse"
|
|
37544
|
-
}
|
|
37545
|
-
}
|
|
37546
|
-
}
|
|
37547
|
-
}
|
|
37548
|
-
}
|
|
37549
|
-
},
|
|
37550
|
-
"delete": {
|
|
37551
|
-
"operationId": "scripts_api_delete",
|
|
37552
|
-
"summary": "Delete an external API endpoint",
|
|
37553
|
-
"tags": [
|
|
37554
|
-
"Scripts"
|
|
37555
|
-
],
|
|
37556
|
-
"security": [
|
|
37557
|
-
{
|
|
37558
|
-
"bearerAuth": []
|
|
37559
|
-
}
|
|
37560
|
-
],
|
|
37561
|
-
"parameters": [
|
|
37562
|
-
{
|
|
37563
|
-
"schema": {
|
|
37564
|
-
"type": "string",
|
|
37565
|
-
"format": "uuid"
|
|
37566
|
-
},
|
|
37567
|
-
"required": true,
|
|
37568
|
-
"name": "id",
|
|
37569
|
-
"in": "path"
|
|
37570
|
-
},
|
|
37571
|
-
{
|
|
37572
|
-
"schema": {
|
|
37573
|
-
"type": "string"
|
|
37574
|
-
},
|
|
37575
|
-
"required": true,
|
|
37576
|
-
"name": "endpointId",
|
|
37577
|
-
"in": "path"
|
|
37578
|
-
}
|
|
37579
|
-
],
|
|
37580
|
-
"responses": {
|
|
37581
|
-
"200": {
|
|
37582
|
-
"description": "Deleted",
|
|
37583
|
-
"content": {
|
|
37584
|
-
"application/json": {
|
|
37585
|
-
"schema": {
|
|
37586
|
-
"type": "object",
|
|
37587
|
-
"properties": {
|
|
37588
|
-
"deleted": {
|
|
37589
|
-
"type": "boolean"
|
|
37590
|
-
}
|
|
37591
|
-
},
|
|
37592
|
-
"required": [
|
|
37593
|
-
"deleted"
|
|
37594
|
-
]
|
|
37595
|
-
}
|
|
37596
|
-
}
|
|
37597
|
-
}
|
|
37598
|
-
},
|
|
37599
|
-
"404": {
|
|
37600
|
-
"description": "Endpoint not found",
|
|
37601
|
-
"content": {
|
|
37602
|
-
"application/json": {
|
|
37603
|
-
"schema": {
|
|
37604
|
-
"$ref": "#/components/schemas/ErrorResponse"
|
|
37605
|
-
}
|
|
37606
|
-
}
|
|
37607
|
-
}
|
|
37608
|
-
}
|
|
37609
|
-
}
|
|
37610
|
-
}
|
|
37611
|
-
},
|
|
37612
|
-
"/api/scripts/{id}/apis/{endpointId}/rotate": {
|
|
37613
|
-
"post": {
|
|
37614
|
-
"operationId": "scripts_api_rotate",
|
|
37615
|
-
"summary": "Rotate an endpoint's bearer token",
|
|
37616
|
-
"tags": [
|
|
37617
|
-
"Scripts"
|
|
37618
|
-
],
|
|
37619
|
-
"security": [
|
|
37620
|
-
{
|
|
37621
|
-
"bearerAuth": []
|
|
37622
|
-
}
|
|
37623
|
-
],
|
|
37624
|
-
"parameters": [
|
|
37625
|
-
{
|
|
37626
|
-
"schema": {
|
|
37627
|
-
"type": "string",
|
|
37628
|
-
"format": "uuid"
|
|
37629
|
-
},
|
|
37630
|
-
"required": true,
|
|
37631
|
-
"name": "id",
|
|
37632
|
-
"in": "path"
|
|
37633
|
-
},
|
|
37634
|
-
{
|
|
37635
|
-
"schema": {
|
|
37636
|
-
"type": "string"
|
|
37637
|
-
},
|
|
37638
|
-
"required": true,
|
|
37639
|
-
"name": "endpointId",
|
|
37640
|
-
"in": "path"
|
|
37641
|
-
}
|
|
37642
|
-
],
|
|
37643
|
-
"responses": {
|
|
37644
|
-
"200": {
|
|
37645
|
-
"description": "Endpoint with new plaintext token",
|
|
38582
|
+
"description": "Decrypted token (null when authMode is 'none')",
|
|
37646
38583
|
"content": {
|
|
37647
38584
|
"application/json": {
|
|
37648
38585
|
"schema": {
|
|
37649
|
-
"
|
|
37650
|
-
|
|
37651
|
-
|
|
37652
|
-
|
|
37653
|
-
|
|
37654
|
-
|
|
37655
|
-
"properties": {
|
|
37656
|
-
"token": {
|
|
37657
|
-
"type": [
|
|
37658
|
-
"string",
|
|
37659
|
-
"null"
|
|
37660
|
-
]
|
|
37661
|
-
}
|
|
37662
|
-
},
|
|
37663
|
-
"required": [
|
|
37664
|
-
"token"
|
|
38586
|
+
"type": "object",
|
|
38587
|
+
"properties": {
|
|
38588
|
+
"token": {
|
|
38589
|
+
"type": [
|
|
38590
|
+
"string",
|
|
38591
|
+
"null"
|
|
37665
38592
|
]
|
|
37666
38593
|
}
|
|
38594
|
+
},
|
|
38595
|
+
"required": [
|
|
38596
|
+
"token"
|
|
37667
38597
|
]
|
|
37668
38598
|
}
|
|
37669
38599
|
}
|
|
37670
38600
|
}
|
|
37671
38601
|
},
|
|
37672
|
-
"400": {
|
|
37673
|
-
"description": "Endpoint uses 'none' auth — nothing to rotate",
|
|
37674
|
-
"content": {
|
|
37675
|
-
"application/json": {
|
|
37676
|
-
"schema": {
|
|
37677
|
-
"$ref": "#/components/schemas/ErrorResponse"
|
|
37678
|
-
}
|
|
37679
|
-
}
|
|
37680
|
-
}
|
|
37681
|
-
},
|
|
37682
38602
|
"404": {
|
|
37683
38603
|
"description": "Endpoint not found",
|
|
37684
38604
|
"content": {
|
|
@@ -37692,9 +38612,10 @@
|
|
|
37692
38612
|
}
|
|
37693
38613
|
}
|
|
37694
38614
|
},
|
|
37695
|
-
"/api/
|
|
37696
|
-
"
|
|
37697
|
-
"
|
|
38615
|
+
"/api/scripts/{id}/apis/{endpointId}": {
|
|
38616
|
+
"patch": {
|
|
38617
|
+
"operationId": "scripts_api_update",
|
|
38618
|
+
"summary": "Enable/disable or relabel an external API endpoint",
|
|
37698
38619
|
"tags": [
|
|
37699
38620
|
"Scripts"
|
|
37700
38621
|
],
|
|
@@ -37707,12 +38628,19 @@
|
|
|
37707
38628
|
{
|
|
37708
38629
|
"schema": {
|
|
37709
38630
|
"type": "string",
|
|
37710
|
-
"
|
|
38631
|
+
"format": "uuid"
|
|
37711
38632
|
},
|
|
37712
|
-
"required":
|
|
37713
|
-
"
|
|
37714
|
-
"
|
|
37715
|
-
|
|
38633
|
+
"required": true,
|
|
38634
|
+
"name": "id",
|
|
38635
|
+
"in": "path"
|
|
38636
|
+
},
|
|
38637
|
+
{
|
|
38638
|
+
"schema": {
|
|
38639
|
+
"type": "string"
|
|
38640
|
+
},
|
|
38641
|
+
"required": true,
|
|
38642
|
+
"name": "endpointId",
|
|
38643
|
+
"in": "path"
|
|
37716
38644
|
}
|
|
37717
38645
|
],
|
|
37718
38646
|
"requestBody": {
|
|
@@ -37721,30 +38649,41 @@
|
|
|
37721
38649
|
"schema": {
|
|
37722
38650
|
"type": "object",
|
|
37723
38651
|
"properties": {
|
|
37724
|
-
"
|
|
37725
|
-
"type": "
|
|
37726
|
-
"minLength": 1,
|
|
37727
|
-
"maxLength": 200
|
|
38652
|
+
"enabled": {
|
|
38653
|
+
"type": "boolean"
|
|
37728
38654
|
},
|
|
37729
|
-
"
|
|
37730
|
-
"type":
|
|
37731
|
-
|
|
37732
|
-
|
|
38655
|
+
"label": {
|
|
38656
|
+
"type": [
|
|
38657
|
+
"string",
|
|
38658
|
+
"null"
|
|
38659
|
+
],
|
|
38660
|
+
"maxLength": 200
|
|
37733
38661
|
}
|
|
37734
|
-
}
|
|
37735
|
-
"required": [
|
|
37736
|
-
"tool"
|
|
37737
|
-
]
|
|
38662
|
+
}
|
|
37738
38663
|
}
|
|
37739
38664
|
}
|
|
37740
38665
|
}
|
|
37741
38666
|
},
|
|
37742
38667
|
"responses": {
|
|
37743
38668
|
"200": {
|
|
37744
|
-
"description": "
|
|
38669
|
+
"description": "Updated endpoint",
|
|
38670
|
+
"content": {
|
|
38671
|
+
"application/json": {
|
|
38672
|
+
"schema": {
|
|
38673
|
+
"anyOf": [
|
|
38674
|
+
{
|
|
38675
|
+
"$ref": "#/components/schemas/ScriptApiRecord"
|
|
38676
|
+
},
|
|
38677
|
+
{
|
|
38678
|
+
"type": "null"
|
|
38679
|
+
}
|
|
38680
|
+
]
|
|
38681
|
+
}
|
|
38682
|
+
}
|
|
38683
|
+
}
|
|
37745
38684
|
},
|
|
37746
|
-
"
|
|
37747
|
-
"description": "
|
|
38685
|
+
"404": {
|
|
38686
|
+
"description": "Endpoint not found",
|
|
37748
38687
|
"content": {
|
|
37749
38688
|
"application/json": {
|
|
37750
38689
|
"schema": {
|
|
@@ -37752,9 +38691,133 @@
|
|
|
37752
38691
|
}
|
|
37753
38692
|
}
|
|
37754
38693
|
}
|
|
38694
|
+
}
|
|
38695
|
+
}
|
|
38696
|
+
},
|
|
38697
|
+
"delete": {
|
|
38698
|
+
"operationId": "scripts_api_delete",
|
|
38699
|
+
"summary": "Delete an external API endpoint",
|
|
38700
|
+
"tags": [
|
|
38701
|
+
"Scripts"
|
|
38702
|
+
],
|
|
38703
|
+
"security": [
|
|
38704
|
+
{
|
|
38705
|
+
"bearerAuth": []
|
|
38706
|
+
}
|
|
38707
|
+
],
|
|
38708
|
+
"parameters": [
|
|
38709
|
+
{
|
|
38710
|
+
"schema": {
|
|
38711
|
+
"type": "string",
|
|
38712
|
+
"format": "uuid"
|
|
38713
|
+
},
|
|
38714
|
+
"required": true,
|
|
38715
|
+
"name": "id",
|
|
38716
|
+
"in": "path"
|
|
37755
38717
|
},
|
|
37756
|
-
|
|
37757
|
-
"
|
|
38718
|
+
{
|
|
38719
|
+
"schema": {
|
|
38720
|
+
"type": "string"
|
|
38721
|
+
},
|
|
38722
|
+
"required": true,
|
|
38723
|
+
"name": "endpointId",
|
|
38724
|
+
"in": "path"
|
|
38725
|
+
}
|
|
38726
|
+
],
|
|
38727
|
+
"responses": {
|
|
38728
|
+
"200": {
|
|
38729
|
+
"description": "Deleted",
|
|
38730
|
+
"content": {
|
|
38731
|
+
"application/json": {
|
|
38732
|
+
"schema": {
|
|
38733
|
+
"type": "object",
|
|
38734
|
+
"properties": {
|
|
38735
|
+
"deleted": {
|
|
38736
|
+
"type": "boolean"
|
|
38737
|
+
}
|
|
38738
|
+
},
|
|
38739
|
+
"required": [
|
|
38740
|
+
"deleted"
|
|
38741
|
+
]
|
|
38742
|
+
}
|
|
38743
|
+
}
|
|
38744
|
+
}
|
|
38745
|
+
},
|
|
38746
|
+
"404": {
|
|
38747
|
+
"description": "Endpoint not found",
|
|
38748
|
+
"content": {
|
|
38749
|
+
"application/json": {
|
|
38750
|
+
"schema": {
|
|
38751
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
38752
|
+
}
|
|
38753
|
+
}
|
|
38754
|
+
}
|
|
38755
|
+
}
|
|
38756
|
+
}
|
|
38757
|
+
}
|
|
38758
|
+
},
|
|
38759
|
+
"/api/scripts/{id}/apis/{endpointId}/rotate": {
|
|
38760
|
+
"post": {
|
|
38761
|
+
"operationId": "scripts_api_rotate",
|
|
38762
|
+
"summary": "Rotate an endpoint's bearer token",
|
|
38763
|
+
"tags": [
|
|
38764
|
+
"Scripts"
|
|
38765
|
+
],
|
|
38766
|
+
"security": [
|
|
38767
|
+
{
|
|
38768
|
+
"bearerAuth": []
|
|
38769
|
+
}
|
|
38770
|
+
],
|
|
38771
|
+
"parameters": [
|
|
38772
|
+
{
|
|
38773
|
+
"schema": {
|
|
38774
|
+
"type": "string",
|
|
38775
|
+
"format": "uuid"
|
|
38776
|
+
},
|
|
38777
|
+
"required": true,
|
|
38778
|
+
"name": "id",
|
|
38779
|
+
"in": "path"
|
|
38780
|
+
},
|
|
38781
|
+
{
|
|
38782
|
+
"schema": {
|
|
38783
|
+
"type": "string"
|
|
38784
|
+
},
|
|
38785
|
+
"required": true,
|
|
38786
|
+
"name": "endpointId",
|
|
38787
|
+
"in": "path"
|
|
38788
|
+
}
|
|
38789
|
+
],
|
|
38790
|
+
"responses": {
|
|
38791
|
+
"200": {
|
|
38792
|
+
"description": "Endpoint with new plaintext token",
|
|
38793
|
+
"content": {
|
|
38794
|
+
"application/json": {
|
|
38795
|
+
"schema": {
|
|
38796
|
+
"allOf": [
|
|
38797
|
+
{
|
|
38798
|
+
"$ref": "#/components/schemas/ScriptApiRecord"
|
|
38799
|
+
},
|
|
38800
|
+
{
|
|
38801
|
+
"type": "object",
|
|
38802
|
+
"properties": {
|
|
38803
|
+
"token": {
|
|
38804
|
+
"type": [
|
|
38805
|
+
"string",
|
|
38806
|
+
"null"
|
|
38807
|
+
]
|
|
38808
|
+
}
|
|
38809
|
+
},
|
|
38810
|
+
"required": [
|
|
38811
|
+
"token"
|
|
38812
|
+
]
|
|
38813
|
+
}
|
|
38814
|
+
]
|
|
38815
|
+
}
|
|
38816
|
+
}
|
|
38817
|
+
}
|
|
38818
|
+
},
|
|
38819
|
+
"400": {
|
|
38820
|
+
"description": "Endpoint uses 'none' auth — nothing to rotate",
|
|
37758
38821
|
"content": {
|
|
37759
38822
|
"application/json": {
|
|
37760
38823
|
"schema": {
|
|
@@ -37764,7 +38827,7 @@
|
|
|
37764
38827
|
}
|
|
37765
38828
|
},
|
|
37766
38829
|
"404": {
|
|
37767
|
-
"description": "
|
|
38830
|
+
"description": "Endpoint not found",
|
|
37768
38831
|
"content": {
|
|
37769
38832
|
"application/json": {
|
|
37770
38833
|
"schema": {
|
|
@@ -40346,6 +41409,40 @@
|
|
|
40346
41409
|
}
|
|
40347
41410
|
}
|
|
40348
41411
|
}
|
|
41412
|
+
},
|
|
41413
|
+
"422": {
|
|
41414
|
+
"description": "Task creation blocked by an extension",
|
|
41415
|
+
"content": {
|
|
41416
|
+
"application/json": {
|
|
41417
|
+
"schema": {
|
|
41418
|
+
"type": "object",
|
|
41419
|
+
"properties": {
|
|
41420
|
+
"error": {
|
|
41421
|
+
"type": "string"
|
|
41422
|
+
},
|
|
41423
|
+
"extension": {
|
|
41424
|
+
"type": "object",
|
|
41425
|
+
"properties": {
|
|
41426
|
+
"id": {
|
|
41427
|
+
"type": "string"
|
|
41428
|
+
},
|
|
41429
|
+
"name": {
|
|
41430
|
+
"type": "string"
|
|
41431
|
+
}
|
|
41432
|
+
},
|
|
41433
|
+
"required": [
|
|
41434
|
+
"id",
|
|
41435
|
+
"name"
|
|
41436
|
+
]
|
|
41437
|
+
}
|
|
41438
|
+
},
|
|
41439
|
+
"required": [
|
|
41440
|
+
"error",
|
|
41441
|
+
"extension"
|
|
41442
|
+
]
|
|
41443
|
+
}
|
|
41444
|
+
}
|
|
41445
|
+
}
|
|
40349
41446
|
}
|
|
40350
41447
|
}
|
|
40351
41448
|
}
|