@desplega.ai/agent-swarm 2.3.0 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/{acp-adapter-v85a2bqy.js → acp-adapter-zvzr538d.js} +9 -9
- package/dist/{actions-zgcxfspj.js → actions-jhtqdw69.js} +21 -19
- package/dist/{amp-adapter-jw9xfz42.js → amp-adapter-bd84rhs2.js} +4 -4
- package/dist/{app-4e1s4675.js → app-kreq1gwg.js} +3 -3
- package/dist/{assistant-v238n9dk.js → assistant-3k22sbsq.js} +23 -21
- package/dist/{boot-reembed-p666cw5n.js → boot-reembed-e53x6b9v.js} +1 -1
- package/dist/{boot-reembed-w6pm64j4.js → boot-reembed-f6z923ny.js} +1 -1
- package/dist/{boot-scrub-sweep-jcyjagn3.js → boot-scrub-sweep-0538vsb7.js} +4 -4
- package/dist/{boot-seeds-gbedmamp.js → boot-seeds-6wxqkfk2.js} +4 -4
- package/dist/{claude-adapter-q7wspzt8.js → claude-adapter-gfts5044.js} +9 -9
- package/dist/{claude-managed-adapter-n7ahjyx6.js → claude-managed-adapter-h2y889ge.js} +3 -3
- package/dist/{claude-managed-setup-wza784fb.js → claude-managed-setup-h00hsgtz.js} +2 -2
- package/dist/{claude-sdk-session-yf400ptr.js → claude-sdk-session-56besmfz.js} +13 -13
- package/dist/{cli-65q70v2v.js → cli-0bh477zn.js} +33 -6
- package/dist/{cli-4ync7m60.js → cli-0ebey9hg.js} +1 -1
- package/dist/{cli-665j3feb.js → cli-0xk505e8.js} +1 -1
- package/dist/{cli-7gh7020n.js → cli-1dmcq2eh.js} +1 -1
- package/dist/{cli-gzvb3d4a.js → cli-1jx0srjt.js} +3 -3
- package/dist/{cli-zj4d6afs.js → cli-1pa3rz69.js} +21 -6
- package/dist/{cli-7ayprxp7.js → cli-2dfbv8qr.js} +8 -0
- package/dist/{cli-30m5q8mc.js → cli-3kh4kpqy.js} +6 -6
- package/dist/{cli-qrwp40st.js → cli-3p8fqcnh.js} +2 -2
- package/dist/{cli-y3dvz6ge.js → cli-3r448dqn.js} +3 -3
- package/dist/{cli-a17tzmn0.js → cli-3tnpj2bh.js} +7 -7
- package/dist/{cli-ea7chd26.js → cli-471qk6s2.js} +93 -46
- package/dist/{cli-a49vpbf3.js → cli-5kqnemen.js} +1 -1
- package/dist/{cli-0rh20bp3.js → cli-6ncjvx55.js} +3 -3
- package/dist/{cli-fb6t92v8.js → cli-6x9ma5w5.js} +1 -1
- package/dist/{cli-k28p6xh7.js → cli-7225gwj7.js} +2 -2
- package/dist/{cli-8cvvytad.js → cli-8nyhf7za.js} +3 -3
- package/dist/{cli-e09hj50q.js → cli-8wkb09q5.js} +11 -11
- package/dist/{cli-j0v75y13.js → cli-a0kcty51.js} +4 -4
- package/dist/{cli-zes4tsbb.js → cli-a4gvwttf.js} +4 -4
- package/dist/{cli-jhp7w1fy.js → cli-a5ebc95n.js} +2 -2
- package/dist/{cli-5d1m1qca.js → cli-ash6xxk7.js} +2 -2
- package/dist/{cli-fp4xbw07.js → cli-axh29tyr.js} +14 -12
- package/dist/{cli-p22zdvnt.js → cli-bn0rewsy.js} +3 -3
- package/dist/{cli-hz64bcnj.js → cli-bn5kevnf.js} +11 -373
- package/dist/{cli-8jtrekpy.js → cli-d2mb5s8a.js} +7 -7
- package/dist/{cli-c5sbmw1v.js → cli-d82btycs.js} +94 -15
- package/dist/{cli-vjfpshn3.js → cli-ejs3m1sx.js} +1 -1
- package/dist/{cli-yv0vgscc.js → cli-fpmsqq59.js} +18 -2
- package/dist/cli-fz9kewbh.js +382 -0
- package/dist/{cli-4s1kqrqg.js → cli-g0hgtz4p.js} +6 -6
- package/dist/{cli-hn3pftj2.js → cli-gf0kfg81.js} +7 -7
- package/dist/{cli-d43xqzbe.js → cli-hqhzg1qq.js} +2 -2
- package/dist/{cli-azs9bhc5.js → cli-j4rqdf2n.js} +2 -2
- package/dist/{cli-wtg6edvd.js → cli-jh0qcrga.js} +1 -1
- package/dist/{cli-kqypty34.js → cli-k9z4zd4p.js} +6 -5
- package/dist/{cli-jhmjwqcg.js → cli-kmqgmcnb.js} +47 -14
- package/dist/{cli-8qsx817b.js → cli-kr2pmfqx.js} +583 -769
- package/dist/{cli-4g629sgr.js → cli-m2qgh5sv.js} +20 -1
- package/dist/{cli-9e9kjqsj.js → cli-mfe7f7b5.js} +2 -2
- package/dist/{cli-x3en6ct3.js → cli-nwyw3zhg.js} +1 -1
- package/dist/{cli-6vcyw6v7.js → cli-nx462e4v.js} +5 -3
- package/dist/{cli-tr24eeny.js → cli-p0rakbrk.js} +9 -9
- package/dist/{cli-4hmaheb6.js → cli-p6argxh9.js} +9 -9
- package/dist/{cli-3avfh5az.js → cli-pemywhfq.js} +2 -2
- package/dist/{cli-etvn5ej2.js → cli-pnp2j5zg.js} +2 -2
- package/dist/{cli-wk8ccrz6.js → cli-pw7v69vp.js} +2 -2
- package/dist/{cli-ka01m5rb.js → cli-rdq7tzwm.js} +17 -14
- package/dist/{cli-re4wkbzx.js → cli-rqqsfz30.js} +677 -104
- package/dist/{cli-xgn4rwyv.js → cli-s48yvzb8.js} +4 -4
- package/dist/{cli-zv4vy2b0.js → cli-s95dknxh.js} +1 -1
- package/dist/{cli-g6p7c2my.js → cli-sjyetj21.js} +2 -2
- package/dist/{cli-rdr166ht.js → cli-smvcw9z5.js} +1 -1
- package/dist/{cli-fhvqt2fp.js → cli-sv5gb0yb.js} +1 -1
- package/dist/{cli-yv3n83x8.js → cli-syhq378v.js} +2 -2
- package/dist/{cli-q1812jbw.js → cli-tbhwrxpt.js} +9 -9
- package/dist/{cli-w7z94e6c.js → cli-tx00c0h6.js} +4 -2
- package/dist/{cli-dxwh4j32.js → cli-vy0fay6k.js} +46 -37
- package/dist/{cli-ptkpaqfy.js → cli-wt645v7q.js} +1 -1
- package/dist/{cli-ppapy34w.js → cli-wxbn3yfx.js} +2 -2
- package/dist/{cli-cby329ny.js → cli-x5mq1fyq.js} +3 -3
- package/dist/{cli-rc3r0bnh.js → cli-xbzvet96.js} +6 -6
- package/dist/{cli-4mkvwgzr.js → cli-xf234ws8.js} +1 -1
- package/dist/{cli-6p7ddg72.js → cli-xftrvxag.js} +5 -5
- package/dist/cli-z071fb95.js +848 -0
- package/dist/{cli-1v8w782f.js → cli-z1ew8vbq.js} +14 -7
- package/dist/{cli-9td5ss65.js → cli-zfg9enh9.js} +3 -3
- package/dist/{cli-yxqag76b.js → cli-zw88zjba.js} +1 -1
- package/dist/cli.js +19 -19
- package/dist/{codex-adapter-nhjj2veb.js → codex-adapter-p6rmm7vv.js} +6 -6
- package/dist/{codex-hook-x6tm6y5m.js → codex-hook-x7nejyrr.js} +8 -5
- package/dist/{codex-login-35p4sk85.js → codex-login-m819c41r.js} +1 -1
- package/dist/{codex-session-runner-6hggrjbx.js → codex-session-runner-8vd5t9t0.js} +7 -7
- package/dist/{commands-mrw1ph2w.js → commands-7ems2p13.js} +2 -2
- package/dist/{controller-pt1zam5w.js → controller-m263fg43.js} +4 -4
- package/dist/{controllers-connect-ymw5541d.js → controllers-connect-bg33ae53.js} +28 -24
- package/dist/{cursor-adapter-cf4zh5x0.js → cursor-adapter-cz6nm6mj.js} +3 -3
- package/dist/{db-hy80219q.js → db-w505dwa8.js} +2 -2
- package/dist/{db-hhpy6m4x.js → db-ys2rbdft.js} +3 -2
- package/dist/{devin-adapter-7egzmt0k.js → devin-adapter-zgqadvnm.js} +1 -1
- package/dist/{dispatcher-6pdjtkr1.js → dispatcher-0s0mckqr.js} +20 -18
- package/dist/{docker-njavd3fb.js → docker-fkgtr75t.js} +2 -2
- package/dist/{dsh-adapter-fbx06re2.js → dsh-adapter-3n3net33.js} +3 -3
- package/dist/{e2b-5r6a5jeb.js → e2b-7am6tmq6.js} +2 -2
- package/dist/{e2b-pw1nvtmh.js → e2b-thdcxtjd.js} +2 -2
- package/dist/{easter-egg-3d-6hg2r942.js → easter-egg-3d-5cgynaja.js} +1 -1
- package/dist/{event-bus-101fenkh.js → event-bus-9vpk8gmq.js} +1 -1
- package/dist/{execute-bcqc69a5.js → execute-t4e6m3rw.js} +1 -1
- package/dist/{external-channel-j6vb6ya1.js → external-channel-5b23fv8z.js} +2 -2
- package/dist/{google-generative-ai-phpmwxvg.js → google-generative-ai-bmq8gkf3.js} +1 -1
- package/dist/{google-vertex-es9ybgdy.js → google-vertex-b1rvp52s.js} +1 -1
- package/dist/{grok-adapter-1193sprp.js → grok-adapter-q9fghe5q.js} +10 -10
- package/dist/handlers-mqrym347.js +39 -0
- package/dist/{heartbeat-h1w1ktce.js → heartbeat-tww6yx1w.js} +23 -21
- package/dist/{hook-ejja4bpe.js → hook-dx0pkvar.js} +16 -9
- package/dist/{hook-skrbja18.js → hook-pvmh9b6m.js} +6 -6
- package/dist/{http-mzh41mfj.js → http-k2ejbt05.js} +975 -292
- package/dist/{index-6rmnn89d.js → index-2z710v4x.js} +10 -10
- package/dist/{index-xmmkyx82.js → index-dgz61nff.js} +20 -18
- package/dist/{index-wgsw9xcz.js → index-g6tbb6ve.js} +1 -1
- package/dist/index-h2ek08d6.js +40 -0
- package/dist/index-pqfwh9nn.js +41 -0
- package/dist/{index-epr2gnbw.js → index-x5aktmp8.js} +1 -1
- package/dist/{index-x0q2a4f9.js → index-ysd45kgc.js} +1 -1
- package/dist/{index-g909y089.js → index-zgvqzjsw.js} +8 -8
- package/dist/{keepalive-4djvbm2j.js → keepalive-nhvpw10z.js} +4 -4
- package/dist/lead-jb6sf69z.js +78 -0
- package/dist/{maintenance-f3xhnjsm.js → maintenance-agakc519.js} +1 -1
- package/dist/{oauth-refresh-sweep-fpd6x6rw.js → oauth-refresh-sweep-4dcbhtn0.js} +3 -3
- package/dist/{onboard-196tjgyn.js → onboard-4n2kwa4v.js} +3 -3
- package/dist/{opencode-adapter-eeesgfqk.js → opencode-adapter-3s7ax02e.js} +7 -7
- package/dist/{otel-impl-g8fh4c21.js → otel-impl-tfa12080.js} +2 -2
- package/dist/{pi-mono-adapter-zasp3ze3.js → pi-mono-adapter-ytp7gz8b.js} +24 -13
- package/dist/{pricing-refresh-sdcf5yaz.js → pricing-refresh-3cqx3f3x.js} +3 -3
- package/dist/{rbac-roles-bsp5657v.js → rbac-roles-9fae5rnv.js} +5 -3
- package/dist/{rbac-roles-2x4g1wb5.js → rbac-roles-y6zbfzve.js} +2 -2
- package/dist/{render-v2-0pyb39bb.js → render-v2-emawjvc4.js} +3 -3
- package/dist/{resume-a86tkj6r.js → resume-zhgts7h7.js} +10 -8
- package/dist/{runtime-ar8310ba.js → runtime-xe3aqy4x.js} +1 -1
- package/dist/session-access-cm823e06.js +25 -0
- package/dist/{setup-ypbzcapd.js → setup-tkp99w1e.js} +1 -1
- package/dist/{virtual-modules-wzk6jf3a.js → virtual-modules-4r3zkc20.js} +2 -2
- package/dist/{work-objects-yjp8de12.js → work-objects-f722h263.js} +23 -21
- package/dist/worker-p7f336rq.js +78 -0
- package/dist/{x-8ewt8gxn.js → x-y45mthwn.js} +2 -2
- package/openapi.json +1086 -305
- package/package.json +2 -2
- package/src/apps/action-caller.ts +6 -0
- package/src/apps/action-runner.ts +146 -0
- package/src/apps/row-store.ts +4 -2
- package/src/apps/script-types.ts +17 -4
- package/src/be/db/active-sessions.ts +5 -0
- package/src/be/db/session-visibility.ts +29 -0
- package/src/be/db/tasks/read.ts +61 -3
- package/src/be/db/tasks/write.ts +15 -6
- package/src/be/db.ts +106 -37
- package/src/be/events.ts +11 -0
- package/src/be/fleet-benchmark-stats.ts +10 -5
- package/src/be/migrations/230_session_shares.sql +23 -0
- package/src/be/models-catalog.ts +4 -0
- package/src/be/onboarding.ts +6 -0
- package/src/be/rbac-roles.ts +2 -0
- package/src/be/scripts/typecheck.ts +13 -0
- package/src/be/session-shares.ts +244 -0
- package/src/be/swarm-config-guard.ts +33 -3
- package/src/be/telemetry-enable.ts +1 -1
- package/src/commands/provider-credentials.ts +12 -2
- package/src/commands/runner.ts +14 -0
- package/src/heartbeat/heartbeat.ts +2 -2
- package/src/hooks/codex-hook.ts +6 -2
- package/src/hooks/hook.ts +7 -0
- package/src/hooks/pr-body-guard.ts +38 -11
- package/src/hooks/pr-room-guard.ts +88 -0
- package/src/http/active-sessions.ts +13 -2
- package/src/http/agents.ts +11 -3
- package/src/http/all-routes.ts +1 -0
- package/src/http/api-keys.ts +3 -1
- package/src/http/approval-requests.ts +2 -1
- package/src/http/apps.ts +118 -190
- package/src/http/config.ts +3 -0
- package/src/http/context.ts +2 -0
- package/src/http/core.ts +39 -2
- package/src/http/events.ts +6 -2
- package/src/http/favorite-owner.ts +1 -1
- package/src/http/fleet-benchmark.ts +79 -30
- package/src/http/fs.ts +38 -3
- package/src/http/global-config.ts +7 -0
- package/src/http/index.ts +3 -1
- package/src/http/memory.ts +3 -1
- package/src/http/ranking.ts +351 -0
- package/src/http/realtime.ts +26 -21
- package/src/http/route-def.ts +77 -11
- package/src/http/script-runs.ts +2 -1
- package/src/http/scripts.ts +8 -0
- package/src/http/session-access.ts +179 -0
- package/src/http/session-data.ts +10 -2
- package/src/http/sessions.ts +212 -12
- package/src/http/stats.ts +7 -3
- package/src/http/tasks.ts +85 -8
- package/src/http/telemetry-ui.ts +1 -1
- package/src/http/used-by.ts +64 -20
- package/src/http/users.ts +2 -2
- package/src/prompts/session-templates.ts +3 -1
- package/src/providers/amp-adapter.ts +1 -1
- package/src/providers/pi-mono-adapter.ts +15 -0
- package/src/providers/reasoning-effort.ts +2 -1
- package/src/providers/types.ts +2 -0
- package/src/ranking/telemetry-ranking.ts +119 -0
- package/src/ranking/usage.ts +57 -0
- package/src/rbac/admission.ts +22 -7
- package/src/rbac/legacy-policy.ts +2 -0
- package/src/rbac/permissions.ts +9 -0
- package/src/realtime/auth.ts +69 -0
- package/src/realtime/tickets.ts +4 -1
- package/src/realtime/transport.ts +77 -9
- package/src/scripts-runtime/sdk-allowlist.ts +7 -0
- package/src/scripts-runtime/types/stdlib.d.ts +31 -0
- package/src/scripts-runtime/types/swarm-sdk.d.ts +31 -0
- package/src/server.ts +4 -0
- package/src/slack/blocks.ts +18 -0
- package/src/slack/dm.ts +29 -0
- package/src/telemetry-context.ts +19 -1
- package/src/telemetry-contract/EVENTS.md +45 -8
- package/src/telemetry-contract/SOURCE.json +38 -4
- package/src/telemetry-contract/catalog.json +294 -5
- package/src/telemetry-contract/ranking/fixtures/expected.json +30 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/bad-category.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/bad-claim.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/blank-description.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/blank-name.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/description-too-long.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/domain-uppercase.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/domain-with-scheme.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/domain-with-www.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/http-source-url.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/missing-description.json +10 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/missing-version.json +10 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/name-not-string.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/name-too-long.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/not-object.json +1 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/null.json +1 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/other-with-subcategory.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/oversize.json +1 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/short-claim.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/subcategory-other-category.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/trailing-data.json +1 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/unknown-field.json +12 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/unsupported-version.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/updated-at-not-date.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/updated-at-offset.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/invalid/wrong-case-field.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/category-without-subcategory.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/full.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/minimal.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/no-claim.json +10 -0
- package/src/telemetry-contract/ranking/fixtures/valid/padded-text.json +11 -0
- package/src/telemetry-contract/ranking/fixtures/valid/unicode-name.json +11 -0
- package/src/telemetry-contract/ranking/listing.v1.schema.json +61 -0
- package/src/telemetry-contract/ranking/taxonomy.json +8 -0
- package/src/telemetry-contract/ranking-taxonomy.gen.ts +11 -0
- package/src/telemetry-contract/types.gen.ts +963 -58
- package/src/telemetry-identity.ts +47 -9
- package/src/telemetry-snapshot.ts +9 -1
- package/src/telemetry-ui-events.ts +9 -2
- package/src/telemetry.ts +40 -5
- package/src/tests/app-action-run-tool.test.ts +178 -0
- package/src/tests/app-row-tools.test.ts +360 -0
- package/src/tests/apps-rbac.test.ts +189 -2
- package/src/tests/apps-script-types.test.ts +16 -3
- package/src/tests/credential-check.test.ts +38 -0
- package/src/tests/db-extraction-contract.test.ts +1 -0
- package/src/tests/db-task-read-contract.test.ts +1 -0
- package/src/tests/docs-index-footprint.test.js +2 -2
- package/src/tests/fleet-benchmark.test.ts +122 -2
- package/src/tests/http-users.test.ts +62 -1
- package/src/tests/model-catalog-table.test.ts +63 -0
- package/src/tests/model-profiles-api.test.ts +19 -7
- package/src/tests/models-catalog.test.ts +50 -0
- package/src/tests/onboarding.test.ts +21 -0
- package/src/tests/org-identity.test.ts +44 -0
- package/src/tests/org-website.test.ts +62 -0
- package/src/tests/pi-mono-adapter.test.ts +23 -0
- package/src/tests/pr-body-leaks.test.ts +4 -0
- package/src/tests/pr-room-guard.test.ts +242 -0
- package/src/tests/ranking-listing.test.ts +97 -0
- package/src/tests/ranking-route.test.ts +321 -0
- package/src/tests/ranking-usage.test.ts +50 -0
- package/src/tests/rbac-admission-e2e.test.ts +8 -0
- package/src/tests/rbac-admission.test.ts +38 -0
- package/src/tests/rbac-charact-http.test.ts +4 -3
- package/src/tests/rbac-engine.test.ts +2 -0
- package/src/tests/rbac-roles.test.ts +2 -0
- package/src/tests/realtime-room-surfaces.test.ts +3 -1
- package/src/tests/realtime-session-join-race.test.ts +142 -0
- package/src/tests/realtime-tickets.test.ts +24 -17
- package/src/tests/realtime-transport.test.ts +91 -0
- package/src/tests/reasoning-effort.test.ts +39 -3
- package/src/tests/runner-harness-telemetry-env.test.ts +56 -1
- package/src/tests/session-route-posture.test.ts +639 -0
- package/src/tests/session-sharing-routes.test.ts +282 -0
- package/src/tests/session-sharing.test.ts +526 -0
- package/src/tests/sessions-detail-batch.test.ts +7 -1
- package/src/tests/slack-tool-blocks.test.ts +101 -0
- package/src/tests/slack-update.test.ts +55 -0
- package/src/tests/slack-user-dm.test.ts +177 -0
- package/src/tests/swarm-tool-result-gate.test.ts +2 -4
- package/src/tests/telemetry-context.test.ts +128 -2
- package/src/tests/telemetry-ui-route.test.ts +123 -0
- package/src/tests/tool-annotations.test.ts +3 -2
- package/src/tests/used-by-route.test.ts +153 -9
- package/src/tests/workflow-agent-task-retry.test.ts +130 -4
- package/src/tests/workflow-wait-recovery.test.ts +116 -4
- package/src/tools/app-action-run.ts +63 -0
- package/src/tools/app-rows.ts +234 -0
- package/src/tools/model-catalog/index.ts +1 -1
- package/src/tools/slack-post.ts +18 -12
- package/src/tools/slack-read.ts +13 -1
- package/src/tools/slack-reply.ts +7 -10
- package/src/tools/slack-start-thread.ts +18 -11
- package/src/tools/slack-update.ts +2 -9
- package/src/tools/tool-config.ts +8 -0
- package/src/tools/utils.ts +1 -1
- package/src/tools/workflows/retry-workflow-run.ts +1 -1
- package/src/types.ts +52 -0
- package/src/utils/company-profile.ts +24 -0
- package/src/utils/org-identity.ts +33 -0
- package/src/utils/org-website.ts +58 -21
- package/src/workflows/recovery.ts +10 -22
- package/src/workflows/resume.ts +16 -0
- package/src/workflows/task-step-routing.ts +47 -7
- package/templates/skills/apps/SKILL.md +58 -2
- package/templates/skills/apps/content.md +58 -2
- package/dist/handlers-tb3xgjnm.js +0 -37
- package/dist/index-nyfcdpky.js +0 -39
- package/dist/index-vjn3wbzf.js +0 -38
- package/dist/lead-61kqp604.js +0 -76
- package/dist/worker-4ptnn1ge.js +0 -76
- package/dist/{cli-n5mrsg0f.js → cli-60cgh1rv.js} +3 -3
|
@@ -49,6 +49,147 @@ export interface paths {
|
|
|
49
49
|
patch?: never;
|
|
50
50
|
trace?: never;
|
|
51
51
|
};
|
|
52
|
+
"/v1/used-by": {
|
|
53
|
+
parameters: {
|
|
54
|
+
query?: never;
|
|
55
|
+
header?: never;
|
|
56
|
+
path?: never;
|
|
57
|
+
cookie?: never;
|
|
58
|
+
};
|
|
59
|
+
get?: never;
|
|
60
|
+
put?: never;
|
|
61
|
+
/**
|
|
62
|
+
* Record a "used by" logo consent change
|
|
63
|
+
* @description Stores one grant or revoke of an install's consent to show its org's logo
|
|
64
|
+
* on agent-swarm.dev, then posts it to the feedback Slack channel. Nothing is
|
|
65
|
+
* published automatically: a human approves each logo by hand. Called
|
|
66
|
+
* server-to-server by the agent-swarm API; there is no read endpoint. The
|
|
67
|
+
* JSON body must not exceed 4 KB.
|
|
68
|
+
*/
|
|
69
|
+
post: operations["submitUsedByConsent"];
|
|
70
|
+
delete?: never;
|
|
71
|
+
options?: never;
|
|
72
|
+
head?: never;
|
|
73
|
+
patch?: never;
|
|
74
|
+
trace?: never;
|
|
75
|
+
};
|
|
76
|
+
"/v1/logo": {
|
|
77
|
+
parameters: {
|
|
78
|
+
query?: never;
|
|
79
|
+
header?: never;
|
|
80
|
+
path?: never;
|
|
81
|
+
cookie?: never;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Fetch an org logo by website hostname
|
|
85
|
+
* @description Returns a 128 px PNG logo for `domain`, fetched from logo.dev with a key held
|
|
86
|
+
* only by this service, so dashboards (self-hosted included) can show their
|
|
87
|
+
* org's logo without the key reaching their config or UI bundle. Unknown
|
|
88
|
+
* domains get logo.dev's generated monogram. Answers are cached in memory for a
|
|
89
|
+
* day (a 404 for an hour), and browsers may cache the image for a day. Rate
|
|
90
|
+
* limited per IP: a burst of 60, then one per second.
|
|
91
|
+
*/
|
|
92
|
+
get: operations["getOrgLogo"];
|
|
93
|
+
put?: never;
|
|
94
|
+
post?: never;
|
|
95
|
+
delete?: never;
|
|
96
|
+
options?: never;
|
|
97
|
+
head?: never;
|
|
98
|
+
patch?: never;
|
|
99
|
+
trace?: never;
|
|
100
|
+
};
|
|
101
|
+
"/v1/fleet/benchmarks": {
|
|
102
|
+
parameters: {
|
|
103
|
+
query?: never;
|
|
104
|
+
header?: never;
|
|
105
|
+
path?: never;
|
|
106
|
+
cookie?: never;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Fleet percentiles for tasks per week and task success rate
|
|
110
|
+
* @description Percentiles over production agent-swarm installs with at least 10 finished
|
|
111
|
+
* tasks in the last 30 days, overall and by agent count (`1`, `2-5`, `6+`).
|
|
112
|
+
* Internal, QA, test and E2B installs are excluded. Aggregates only: no install
|
|
113
|
+
* ID or org name. Whole-fleet buckets require 20 installs. Optional profile
|
|
114
|
+
* filters select orgs by their latest API server or UI context. Both filters
|
|
115
|
+
* must be present. A peer group requires 20 contributing orgs. Smaller groups fall back to the whole fleet with
|
|
116
|
+
* `peer_group: null`. Peer buckets also require 20 distinct orgs. Recomputed hourly from `raw_events`; the request carries no install
|
|
117
|
+
* ID. Called server to server by agent-swarm API servers, so the response sends
|
|
118
|
+
* no CORS headers. Rate limited per IP: a burst of 10, then 10 per minute.
|
|
119
|
+
*/
|
|
120
|
+
get: operations["getFleetBenchmarks"];
|
|
121
|
+
put?: never;
|
|
122
|
+
post?: never;
|
|
123
|
+
delete?: never;
|
|
124
|
+
options?: never;
|
|
125
|
+
head?: never;
|
|
126
|
+
patch?: never;
|
|
127
|
+
trace?: never;
|
|
128
|
+
};
|
|
129
|
+
"/v1/ranking": {
|
|
130
|
+
parameters: {
|
|
131
|
+
query?: never;
|
|
132
|
+
header?: never;
|
|
133
|
+
path?: never;
|
|
134
|
+
cookie?: never;
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Opted-in agent-swarm installs ranked by tokens
|
|
138
|
+
* @description Copies OpenRouter's app-ranking category response
|
|
139
|
+
* (`/api/frontend/v1/apps/marketplace/category`) key for key, so an
|
|
140
|
+
* OpenRouter-style client reads it unchanged, and adds the other OpenRouter
|
|
141
|
+
* app pages' fields under their OpenRouter names. Without `domain`:
|
|
142
|
+
* `chart` and `titleMap` (the category chart, stacked by app) and
|
|
143
|
+
* `trending` (the index page's fastest growing apps). With `domain`: `chart`
|
|
144
|
+
* stacked by model, `totalTokens`, `rank`, `modelsUsed` and
|
|
145
|
+
* `appModelAnalytics` (the app page). Tokens are the only metric served:
|
|
146
|
+
* `total_requests` is always 0. Telemetry alone lists an install: it sent a
|
|
147
|
+
* valid `ranking.opted_in` listing for the domain, has not opted out since,
|
|
148
|
+
* is not an internal, test, E2B or non-production install, sent telemetry in
|
|
149
|
+
* the last 7 days with the domain as its newest `org_website`, and its
|
|
150
|
+
* `ranking.usage` for the domain has tokens in the period. A domain on the
|
|
151
|
+
* proxy's denylist is never listed. When several installs list one domain,
|
|
152
|
+
* the one whose listing was ingested first holds it (ties go to the lower
|
|
153
|
+
* install ID) while it qualifies; the next in that order takes over when it
|
|
154
|
+
* stops. Recomputed hourly. Called server to server by the landing, so the response sends no
|
|
155
|
+
* CORS headers. Rate limited per IP: a burst of 10, then 10 per minute.
|
|
156
|
+
*/
|
|
157
|
+
get: operations["getRanking"];
|
|
158
|
+
put?: never;
|
|
159
|
+
post?: never;
|
|
160
|
+
delete?: never;
|
|
161
|
+
options?: never;
|
|
162
|
+
head?: never;
|
|
163
|
+
patch?: never;
|
|
164
|
+
trace?: never;
|
|
165
|
+
};
|
|
166
|
+
"/v1/ranking/verify": {
|
|
167
|
+
parameters: {
|
|
168
|
+
query?: never;
|
|
169
|
+
header?: never;
|
|
170
|
+
path?: never;
|
|
171
|
+
cookie?: never;
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* Check whether a domain would be ranked
|
|
175
|
+
* @description Reads the telemetry store live (no cache) and applies the ranking's rules
|
|
176
|
+
* to the domain: it is not denylisted (reason `denylisted`), and an install
|
|
177
|
+
* that listed it has not opted out since, is not excluded, sent telemetry in
|
|
178
|
+
* the last 7 days, and still declares this domain as its website. `listing`
|
|
179
|
+
* and the flags describe the install that would hold the domain or, when
|
|
180
|
+
* none may, the first install that listed it. `listing` never includes a
|
|
181
|
+
* claim. Sends no CORS headers. Rate limited per IP: a burst of 10, then 10 per
|
|
182
|
+
* minute.
|
|
183
|
+
*/
|
|
184
|
+
get: operations["verifyRankingEntry"];
|
|
185
|
+
put?: never;
|
|
186
|
+
post?: never;
|
|
187
|
+
delete?: never;
|
|
188
|
+
options?: never;
|
|
189
|
+
head?: never;
|
|
190
|
+
patch?: never;
|
|
191
|
+
trace?: never;
|
|
192
|
+
};
|
|
52
193
|
}
|
|
53
194
|
export type webhooks = Record<string, never>;
|
|
54
195
|
export interface components {
|
|
@@ -101,6 +242,16 @@ export interface components {
|
|
|
101
242
|
[key: string]: unknown;
|
|
102
243
|
};
|
|
103
244
|
};
|
|
245
|
+
/** @enum {string|null} */
|
|
246
|
+
TeamSize: "1" | "2-10" | "11-50" | "51+" | null;
|
|
247
|
+
/** @enum {string|null} */
|
|
248
|
+
UseCase: "features" | "bugs" | "review" | "ops" | "docs" | "data" | null;
|
|
249
|
+
/** @enum {string|null} */
|
|
250
|
+
AcquisitionSource: "search" | "github" | "social" | "colleague" | "newsletter" | "event" | "ai_assistant" | "hacker_news" | "other" | null;
|
|
251
|
+
/** @enum {string|null} */
|
|
252
|
+
UserFunction: "engineer" | "eng_lead" | "founder" | "product" | "ops" | "other" | null;
|
|
253
|
+
/** @enum {string|null} */
|
|
254
|
+
NotificationMoment: "task_failed" | "first_workflow" | "default" | null;
|
|
104
255
|
/**
|
|
105
256
|
* @description Identity envelope for schema version 2. Pseudonymous by design: no email or
|
|
106
257
|
* user name is accepted, and `is_internal` is set only by the proxy.
|
|
@@ -124,7 +275,10 @@ export interface components {
|
|
|
124
275
|
swarm_version: string;
|
|
125
276
|
install_method?: string | null;
|
|
126
277
|
install_preset?: string | null;
|
|
127
|
-
acquisition_source?:
|
|
278
|
+
acquisition_source?: components["schemas"]["AcquisitionSource"];
|
|
279
|
+
team_size?: components["schemas"]["TeamSize"];
|
|
280
|
+
use_case?: components["schemas"]["UseCase"];
|
|
281
|
+
user_function?: components["schemas"]["UserFunction"];
|
|
128
282
|
};
|
|
129
283
|
EventEnvelope: {
|
|
130
284
|
/** @description Product or service emitting the telemetry event. */
|
|
@@ -224,6 +378,40 @@ export interface components {
|
|
|
224
378
|
* @description Required RFC3339 submission timestamp.
|
|
225
379
|
*/
|
|
226
380
|
submitted_at: string;
|
|
381
|
+
user_function?: components["schemas"]["UserFunction"];
|
|
382
|
+
team_size?: components["schemas"]["TeamSize"];
|
|
383
|
+
use_case?: components["schemas"]["UseCase"];
|
|
384
|
+
acquisition_source?: components["schemas"]["AcquisitionSource"];
|
|
385
|
+
moment?: components["schemas"]["NotificationMoment"];
|
|
386
|
+
/** @description Optional description of the submitter's current work. */
|
|
387
|
+
working_on?: string | null;
|
|
388
|
+
};
|
|
389
|
+
UsedByConsent: {
|
|
390
|
+
/** @description Agent-swarm installation identifier. Omit it when the install has none (telemetry off). */
|
|
391
|
+
install_id?: string | null;
|
|
392
|
+
org_name: string;
|
|
393
|
+
/** @description Lowercase hostname the admin declared, without scheme, `www.`, path or port. */
|
|
394
|
+
org_website: string;
|
|
395
|
+
/** @description The admin's email domain. The Slack post says whether it matches `org_website`. */
|
|
396
|
+
org_domain?: string | null;
|
|
397
|
+
/** @description true grants consent, false revokes it. */
|
|
398
|
+
granted: boolean;
|
|
399
|
+
/**
|
|
400
|
+
* Format: date-time
|
|
401
|
+
* @description When the admin changed the setting (RFC3339).
|
|
402
|
+
*/
|
|
403
|
+
changed_at: string;
|
|
404
|
+
/**
|
|
405
|
+
* Format: email
|
|
406
|
+
* @description Current clients require a valid contact email when consent is granted. Older clients may omit it.
|
|
407
|
+
*/
|
|
408
|
+
contact_email?: string | null;
|
|
409
|
+
contact_function?: components["schemas"]["UserFunction"];
|
|
410
|
+
quote?: string | null;
|
|
411
|
+
};
|
|
412
|
+
UsedByAcceptedResponse: {
|
|
413
|
+
/** @constant */
|
|
414
|
+
status: "accepted";
|
|
227
415
|
};
|
|
228
416
|
FeedbackAcceptedResponse: {
|
|
229
417
|
/** @constant */
|
|
@@ -242,6 +430,150 @@ export interface components {
|
|
|
242
430
|
/** @description Human-readable detail, such as the offending property name. */
|
|
243
431
|
message: string;
|
|
244
432
|
};
|
|
433
|
+
FleetBenchmarks: {
|
|
434
|
+
/** @enum {string} */
|
|
435
|
+
window: "30d";
|
|
436
|
+
/** Format: date-time */
|
|
437
|
+
generatedAt: string;
|
|
438
|
+
/** @description k-anonymity floor in installs for the whole fleet, or distinct orgs for a peer group. */
|
|
439
|
+
minInstallsPerBucket: number;
|
|
440
|
+
/** @description An install needs this many completed or failed tasks in the window to count. */
|
|
441
|
+
minFinishedTasks: number;
|
|
442
|
+
overall: components["schemas"]["FleetBenchmarkBlock"];
|
|
443
|
+
/** @description Keyed by `1`, `2-5` or `6+`. A bucket below `minInstallsPerBucket` is absent. The floor counts installs for the whole fleet and distinct orgs for peers. */
|
|
444
|
+
byAgentCount: {
|
|
445
|
+
[key: string]: components["schemas"]["FleetBenchmarkBlock"];
|
|
446
|
+
};
|
|
447
|
+
peer_group?: components["schemas"]["FleetPeerGroup"];
|
|
448
|
+
};
|
|
449
|
+
FleetPeerGroup: {
|
|
450
|
+
team_size: components["schemas"]["TeamSize"];
|
|
451
|
+
use_case: components["schemas"]["UseCase"];
|
|
452
|
+
orgs: number;
|
|
453
|
+
} | null;
|
|
454
|
+
FleetBenchmarkBlock: {
|
|
455
|
+
installs: number;
|
|
456
|
+
tasksPerWeek: components["schemas"]["FleetMetric"];
|
|
457
|
+
taskSuccessRate: components["schemas"]["FleetMetric"];
|
|
458
|
+
};
|
|
459
|
+
/** @description Linear-interpolated percentiles. Below the floor, only `n` and `omitted` are present. */
|
|
460
|
+
FleetMetric: {
|
|
461
|
+
/** @description Installs contributing to this metric. */
|
|
462
|
+
n: number;
|
|
463
|
+
p25?: number;
|
|
464
|
+
p50?: number;
|
|
465
|
+
p75?: number;
|
|
466
|
+
p90?: number;
|
|
467
|
+
omitted?: string;
|
|
468
|
+
};
|
|
469
|
+
RankingResponse: {
|
|
470
|
+
data: {
|
|
471
|
+
apps: components["schemas"]["RankingRow"][];
|
|
472
|
+
/** @description The `group` query value, or `agent-swarm` for every category. */
|
|
473
|
+
group: string;
|
|
474
|
+
/** @description The `subcategory` query value, or null. */
|
|
475
|
+
subcategory: string | null;
|
|
476
|
+
/** @description Subcategories in the group with 3 or more listed entries in the period, most entries first. */
|
|
477
|
+
subcategories: string[];
|
|
478
|
+
/** @description Subcategories in the group with 1 or 2 listed entries in the period. */
|
|
479
|
+
lowCountSubcategories: string[];
|
|
480
|
+
chart?: components["schemas"]["RankingChart"];
|
|
481
|
+
/** @description Without `domain`. The title of every `app_id` key in `chart`, like OpenRouter's category-chart `titleMap`. */
|
|
482
|
+
titleMap?: {
|
|
483
|
+
[key: string]: string;
|
|
484
|
+
};
|
|
485
|
+
/** @description Without `domain`. Listed apps (within `group` and `subcategory`) whose period tokens grew against the previous period of the same length, most tokens gained first. An app with no tokens in the previous period has no baseline and is left out. */
|
|
486
|
+
trending?: components["schemas"]["RankingTrending"][];
|
|
487
|
+
/** @description With `domain`. Every counted day's tokens (held days excluded). */
|
|
488
|
+
totalTokens?: number;
|
|
489
|
+
/** @description With `domain`. The daily global rank (`period=day`), or null with no tokens today. */
|
|
490
|
+
rank?: number | null;
|
|
491
|
+
/** @description With `domain`. Models with tokens in the last 30 days, `unknown` included; may exceed the length of `appModelAnalytics`. */
|
|
492
|
+
modelsUsed?: number;
|
|
493
|
+
/** @description With `domain`. Tokens per model over the last 30 days, most first. */
|
|
494
|
+
appModelAnalytics?: components["schemas"]["RankingModelAnalytics"][];
|
|
495
|
+
};
|
|
496
|
+
};
|
|
497
|
+
RankingTrending: {
|
|
498
|
+
appAnalytics: components["schemas"]["RankingRow"];
|
|
499
|
+
/** @description Period tokens against the previous period of the same length, as a rounded percent increase. */
|
|
500
|
+
growthPercent: number;
|
|
501
|
+
};
|
|
502
|
+
RankingModelAnalytics: {
|
|
503
|
+
/**
|
|
504
|
+
* Format: date
|
|
505
|
+
* @description Today (UTC), the end of the 30-day window.
|
|
506
|
+
*/
|
|
507
|
+
date: string;
|
|
508
|
+
/** @description The `ranking.usage` model, or `unknown`. */
|
|
509
|
+
model_permaslug: string;
|
|
510
|
+
/** @description Not an OpenRouter field. The provider that carried most of the model's tokens, or `unknown`. */
|
|
511
|
+
provider: string;
|
|
512
|
+
total_tokens: number;
|
|
513
|
+
};
|
|
514
|
+
RankingRow: {
|
|
515
|
+
/** @description Stable entry ID derived from the domain. Never an install or org ID. */
|
|
516
|
+
app_id: number;
|
|
517
|
+
/** @description Sum of `ranking.usage.totalTokens` in the period, as a decimal string like OpenRouter's. */
|
|
518
|
+
total_tokens: string;
|
|
519
|
+
/**
|
|
520
|
+
* @description Always 0. Tokens are the only public metric; the key stays for OpenRouter schema parity.
|
|
521
|
+
* @constant
|
|
522
|
+
*/
|
|
523
|
+
total_requests: 0;
|
|
524
|
+
/** @description Position by tokens among every listed entry in the period, without gaps. A filtered list keeps the global rank. */
|
|
525
|
+
rank: number;
|
|
526
|
+
app: components["schemas"]["RankingApp"];
|
|
527
|
+
};
|
|
528
|
+
RankingApp: {
|
|
529
|
+
id: number;
|
|
530
|
+
/**
|
|
531
|
+
* Format: date-time
|
|
532
|
+
* @description When the entry was first served.
|
|
533
|
+
*/
|
|
534
|
+
created_at: string;
|
|
535
|
+
description: string | null;
|
|
536
|
+
/** @description The listing name (the install's SWARM_ORG_NAME). */
|
|
537
|
+
title: string;
|
|
538
|
+
main_url: string | null;
|
|
539
|
+
origin_url: string | null;
|
|
540
|
+
/** @description The entry's domain. */
|
|
541
|
+
slug: string | null;
|
|
542
|
+
source_code_url: string | null;
|
|
543
|
+
icon_class_name: string;
|
|
544
|
+
/** @description This service's `GET /v1/logo` for the domain. */
|
|
545
|
+
favicon_url: string;
|
|
546
|
+
/** @description The listing subcategory, or empty. */
|
|
547
|
+
categories: string[];
|
|
548
|
+
related_apps: number[];
|
|
549
|
+
};
|
|
550
|
+
/** @description OpenRouter's `{x, ys}` chart, oldest point first. `daily` is today and the 30 days before, with `x` as `YYYY-MM-DD 00:00:00`. `weekly` is Monday-based with `x` as `YYYY-MM-DD`: 52 weeks without `domain`, and from the entry's first week (first served or first counted day) with `domain`, at most 52. With `domain`, `ys` keys are models (the top 10 of the point); without it, `app_id`s as strings (the top 9). The rest sum into `Others`. A series with no tokens is left out, so `ys` can be empty. An unknown or hidden `domain` gets empty `daily` and `weekly`. */
|
|
551
|
+
RankingChart: {
|
|
552
|
+
daily: components["schemas"]["RankingChartPoint"][];
|
|
553
|
+
weekly: components["schemas"]["RankingChartPoint"][];
|
|
554
|
+
};
|
|
555
|
+
RankingChartPoint: {
|
|
556
|
+
x: string;
|
|
557
|
+
ys: {
|
|
558
|
+
[key: string]: number;
|
|
559
|
+
};
|
|
560
|
+
};
|
|
561
|
+
RankingVerification: {
|
|
562
|
+
verified: boolean;
|
|
563
|
+
reasons: ("no_listing" | "denylisted" | "opted_out" | "excluded_install" | "telemetry_inactive_7d" | "website_mismatch")[];
|
|
564
|
+
telemetryActive7d: boolean;
|
|
565
|
+
/** @description The install's newest event declares this domain as its org_website. */
|
|
566
|
+
websiteMatchesDomain: boolean;
|
|
567
|
+
listing: components["schemas"]["RankingPublicListing"] | null;
|
|
568
|
+
};
|
|
569
|
+
RankingPublicListing: {
|
|
570
|
+
name: string;
|
|
571
|
+
domain: string;
|
|
572
|
+
category: string;
|
|
573
|
+
subcategory: string | null;
|
|
574
|
+
description: string | null;
|
|
575
|
+
sourceCodeUrl: string | null;
|
|
576
|
+
};
|
|
245
577
|
ProblemResponse: {
|
|
246
578
|
code: string;
|
|
247
579
|
message: string;
|
|
@@ -376,6 +708,7 @@ export interface components {
|
|
|
376
708
|
properties: components["schemas"]["AgentSwarmCompactionTriggeredProperties"];
|
|
377
709
|
};
|
|
378
710
|
AgentSwarmFeatureUsedProperties: {
|
|
711
|
+
/** @description Feature identifier, including health_popover and kickoff_call_opened. Existing identifiers remain accepted. */
|
|
379
712
|
feature: string;
|
|
380
713
|
/** @description An email channel is configured. */
|
|
381
714
|
has_email_channel?: boolean;
|
|
@@ -405,6 +738,37 @@ export interface components {
|
|
|
405
738
|
product: "agent-swarm";
|
|
406
739
|
properties: components["schemas"]["AgentSwarmFeatureUsedProperties"];
|
|
407
740
|
};
|
|
741
|
+
AgentSwarmFleetBenchmarkUnlockedProperties: {
|
|
742
|
+
/** @description Profile fields supplied, never their values. */
|
|
743
|
+
fields: ("website" | "team_size" | "use_case")[];
|
|
744
|
+
/** @description An email channel is configured. */
|
|
745
|
+
has_email_channel?: boolean;
|
|
746
|
+
/** @description An embedding API key is configured. */
|
|
747
|
+
has_embedding_key?: boolean;
|
|
748
|
+
/** @description A notification channel is configured. */
|
|
749
|
+
has_notification_channel?: boolean;
|
|
750
|
+
/** @description A Slack channel is configured. */
|
|
751
|
+
has_slack_channel?: boolean;
|
|
752
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
|
|
753
|
+
install_method?: string;
|
|
754
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
755
|
+
is_cloud?: boolean;
|
|
756
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
757
|
+
is_e2b?: boolean;
|
|
758
|
+
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
759
|
+
swarmVersion?: string;
|
|
760
|
+
};
|
|
761
|
+
/** @description An admin supplied the company profile fields for the full benchmark. (emitter: ui, since 2026-10-18) */
|
|
762
|
+
AgentSwarmFleetBenchmarkUnlockedEvent: {
|
|
763
|
+
/**
|
|
764
|
+
* @description discriminator enum property added by openapi-typescript
|
|
765
|
+
* @enum {string}
|
|
766
|
+
*/
|
|
767
|
+
event: "fleet_benchmark.unlocked";
|
|
768
|
+
/** @constant */
|
|
769
|
+
product: "agent-swarm";
|
|
770
|
+
properties: components["schemas"]["AgentSwarmFleetBenchmarkUnlockedProperties"];
|
|
771
|
+
};
|
|
408
772
|
AgentSwarmFleetBenchmarkViewedProperties: {
|
|
409
773
|
/** @description An email channel is configured. */
|
|
410
774
|
has_email_channel?: boolean;
|
|
@@ -421,6 +785,8 @@ export interface components {
|
|
|
421
785
|
is_cloud?: boolean;
|
|
422
786
|
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
423
787
|
is_e2b?: boolean;
|
|
788
|
+
/** @enum {string} */
|
|
789
|
+
level?: "basic" | "full";
|
|
424
790
|
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
425
791
|
swarmVersion?: string;
|
|
426
792
|
};
|
|
@@ -435,6 +801,71 @@ export interface components {
|
|
|
435
801
|
product: "agent-swarm";
|
|
436
802
|
properties: components["schemas"]["AgentSwarmFleetBenchmarkViewedProperties"];
|
|
437
803
|
};
|
|
804
|
+
AgentSwarmIdentityLookupProperties: {
|
|
805
|
+
/** @description An email channel is configured. */
|
|
806
|
+
has_email_channel?: boolean;
|
|
807
|
+
/** @description An embedding API key is configured. */
|
|
808
|
+
has_embedding_key?: boolean;
|
|
809
|
+
/** @description A notification channel is configured. */
|
|
810
|
+
has_notification_channel?: boolean;
|
|
811
|
+
/** @description A Slack channel is configured. */
|
|
812
|
+
has_slack_channel?: boolean;
|
|
813
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
|
|
814
|
+
install_method?: string;
|
|
815
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
816
|
+
is_cloud?: boolean;
|
|
817
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
818
|
+
is_e2b?: boolean;
|
|
819
|
+
matched: boolean;
|
|
820
|
+
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
821
|
+
swarmVersion?: string;
|
|
822
|
+
};
|
|
823
|
+
/** @description A dashboard identity lookup matched an existing user or found no match. (emitter: ui, since 2026-10-18) */
|
|
824
|
+
AgentSwarmIdentityLookupEvent: {
|
|
825
|
+
/**
|
|
826
|
+
* @description discriminator enum property added by openapi-typescript
|
|
827
|
+
* @enum {string}
|
|
828
|
+
*/
|
|
829
|
+
event: "identity.lookup";
|
|
830
|
+
/** @constant */
|
|
831
|
+
product: "agent-swarm";
|
|
832
|
+
properties: components["schemas"]["AgentSwarmIdentityLookupProperties"];
|
|
833
|
+
};
|
|
834
|
+
AgentSwarmIdentityUserCreatedProperties: {
|
|
835
|
+
/** @enum {string} */
|
|
836
|
+
email_kind: "work" | "personal";
|
|
837
|
+
has_company: boolean;
|
|
838
|
+
/** @description An email channel is configured. */
|
|
839
|
+
has_email_channel?: boolean;
|
|
840
|
+
/** @description An embedding API key is configured. */
|
|
841
|
+
has_embedding_key?: boolean;
|
|
842
|
+
has_function: boolean;
|
|
843
|
+
/** @description A notification channel is configured. */
|
|
844
|
+
has_notification_channel?: boolean;
|
|
845
|
+
/** @description A Slack channel is configured. */
|
|
846
|
+
has_slack_channel?: boolean;
|
|
847
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
|
|
848
|
+
install_method?: string;
|
|
849
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
850
|
+
is_cloud?: boolean;
|
|
851
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
852
|
+
is_e2b?: boolean;
|
|
853
|
+
/** @enum {string} */
|
|
854
|
+
surface: "identity_modal" | "setup";
|
|
855
|
+
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
856
|
+
swarmVersion?: string;
|
|
857
|
+
};
|
|
858
|
+
/** @description A user created a dashboard identity. Email and personal names stay out of telemetry. (emitter: ui, since 2026-10-18) */
|
|
859
|
+
AgentSwarmIdentityUserCreatedEvent: {
|
|
860
|
+
/**
|
|
861
|
+
* @description discriminator enum property added by openapi-typescript
|
|
862
|
+
* @enum {string}
|
|
863
|
+
*/
|
|
864
|
+
event: "identity.user_created";
|
|
865
|
+
/** @constant */
|
|
866
|
+
product: "agent-swarm";
|
|
867
|
+
properties: components["schemas"]["AgentSwarmIdentityUserCreatedProperties"];
|
|
868
|
+
};
|
|
438
869
|
AgentSwarmIntegrationConnectedProperties: {
|
|
439
870
|
first_of_type: boolean;
|
|
440
871
|
/** @description An email channel is configured. */
|
|
@@ -468,6 +899,7 @@ export interface components {
|
|
|
468
899
|
properties: components["schemas"]["AgentSwarmIntegrationConnectedProperties"];
|
|
469
900
|
};
|
|
470
901
|
AgentSwarmLeadCapturedProperties: {
|
|
902
|
+
/** @description Lead channel, including setup_help and fleet_report. Existing channels remain accepted. */
|
|
471
903
|
channel: string;
|
|
472
904
|
consent: boolean;
|
|
473
905
|
/** @description An email channel is configured. */
|
|
@@ -499,6 +931,11 @@ export interface components {
|
|
|
499
931
|
product: "agent-swarm";
|
|
500
932
|
properties: components["schemas"]["AgentSwarmLeadCapturedProperties"];
|
|
501
933
|
};
|
|
934
|
+
/**
|
|
935
|
+
* @description Moment that made the Slack Connect invite relevant.
|
|
936
|
+
* @enum {string}
|
|
937
|
+
*/
|
|
938
|
+
"schemas-NotificationMoment": "task_failed" | "first_workflow" | "default";
|
|
502
939
|
AgentSwarmNotificationDismissedProperties: {
|
|
503
940
|
/** @description An email channel is configured. */
|
|
504
941
|
has_email_channel?: boolean;
|
|
@@ -515,6 +952,7 @@ export interface components {
|
|
|
515
952
|
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
516
953
|
is_e2b?: boolean;
|
|
517
954
|
key: string;
|
|
955
|
+
moment?: components["schemas"]["schemas-NotificationMoment"];
|
|
518
956
|
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
519
957
|
swarmVersion?: string;
|
|
520
958
|
};
|
|
@@ -529,6 +967,11 @@ export interface components {
|
|
|
529
967
|
product: "agent-swarm";
|
|
530
968
|
properties: components["schemas"]["AgentSwarmNotificationDismissedProperties"];
|
|
531
969
|
};
|
|
970
|
+
/**
|
|
971
|
+
* @description Job function of a user, separate from the RBAC user_role.
|
|
972
|
+
* @enum {string}
|
|
973
|
+
*/
|
|
974
|
+
"schemas-UserFunction": "engineer" | "eng_lead" | "founder" | "product" | "ops" | "other";
|
|
532
975
|
AgentSwarmNotificationSubmittedProperties: {
|
|
533
976
|
/** @description Domain of the email typed into the item, never the address. */
|
|
534
977
|
email_domain?: string;
|
|
@@ -547,8 +990,10 @@ export interface components {
|
|
|
547
990
|
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
548
991
|
is_e2b?: boolean;
|
|
549
992
|
key: string;
|
|
993
|
+
moment?: components["schemas"]["schemas-NotificationMoment"];
|
|
550
994
|
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
551
995
|
swarmVersion?: string;
|
|
996
|
+
user_function?: components["schemas"]["schemas-UserFunction"];
|
|
552
997
|
};
|
|
553
998
|
/** @description A notification-centre item was submitted. (emitter: ui, since 2026-09-30) */
|
|
554
999
|
AgentSwarmNotificationSubmittedEvent: {
|
|
@@ -577,6 +1022,7 @@ export interface components {
|
|
|
577
1022
|
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
578
1023
|
is_e2b?: boolean;
|
|
579
1024
|
key: string;
|
|
1025
|
+
moment?: components["schemas"]["schemas-NotificationMoment"];
|
|
580
1026
|
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
581
1027
|
swarmVersion?: string;
|
|
582
1028
|
};
|
|
@@ -849,8 +1295,8 @@ export interface components {
|
|
|
849
1295
|
properties: components["schemas"]["AgentSwarmOnboardingStepViewedProperties"];
|
|
850
1296
|
};
|
|
851
1297
|
AgentSwarmOrgProfileUpdatedProperties: {
|
|
852
|
-
/** @description Changed field names
|
|
853
|
-
fields:
|
|
1298
|
+
/** @description Changed profile field names, never their values. */
|
|
1299
|
+
fields: ("name" | "website" | "team_size" | "use_case" | "acquisition_source")[];
|
|
854
1300
|
/** @description An email channel is configured. */
|
|
855
1301
|
has_email_channel?: boolean;
|
|
856
1302
|
/** @description An embedding API key is configured. */
|
|
@@ -869,7 +1315,7 @@ export interface components {
|
|
|
869
1315
|
* @description Where the change was made. Not trigger_surface: that key fills the raw_events.trigger_surface column.
|
|
870
1316
|
* @enum {string}
|
|
871
1317
|
*/
|
|
872
|
-
surface: "prompt" | "setup" | "settings";
|
|
1318
|
+
surface: "prompt" | "setup" | "settings" | "org_name_popup" | "feedback" | "fleet_benchmark" | "telemetry_banner" | "identity_modal";
|
|
873
1319
|
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
874
1320
|
swarmVersion?: string;
|
|
875
1321
|
};
|
|
@@ -1041,6 +1487,8 @@ export interface components {
|
|
|
1041
1487
|
properties: components["schemas"]["AgentSwarmPopupShownProperties"];
|
|
1042
1488
|
};
|
|
1043
1489
|
AgentSwarmPopupSubmittedProperties: {
|
|
1490
|
+
/** @description Number of profile follow-up questions answered, never their values. */
|
|
1491
|
+
answered?: number;
|
|
1044
1492
|
/** @description A name or email was left. The values go to /v1/feedback, never here. */
|
|
1045
1493
|
has_contact: boolean;
|
|
1046
1494
|
/** @description An email channel is configured. */
|
|
@@ -1058,6 +1506,8 @@ export interface components {
|
|
|
1058
1506
|
is_cloud?: boolean;
|
|
1059
1507
|
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
1060
1508
|
is_e2b?: boolean;
|
|
1509
|
+
/** @description Perks the admin explicitly selected. */
|
|
1510
|
+
perks?: ("used_by" | "slack_connect")[];
|
|
1061
1511
|
popup: components["schemas"]["Popup"];
|
|
1062
1512
|
/** @description Feedback pop-up only: the 0-10 score. /v1/feedback enforces the upper bound. */
|
|
1063
1513
|
score?: number;
|
|
@@ -1075,8 +1525,7 @@ export interface components {
|
|
|
1075
1525
|
product: "agent-swarm";
|
|
1076
1526
|
properties: components["schemas"]["AgentSwarmPopupSubmittedProperties"];
|
|
1077
1527
|
};
|
|
1078
|
-
|
|
1079
|
-
consecutiveErrors: number;
|
|
1528
|
+
AgentSwarmRankingOptedInProperties: {
|
|
1080
1529
|
/** @description An email channel is configured. */
|
|
1081
1530
|
has_email_channel?: boolean;
|
|
1082
1531
|
/** @description An embedding API key is configured. */
|
|
@@ -1091,24 +1540,25 @@ export interface components {
|
|
|
1091
1540
|
is_cloud?: boolean;
|
|
1092
1541
|
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
1093
1542
|
is_e2b?: boolean;
|
|
1094
|
-
|
|
1543
|
+
/** @description The stringified telemetry_ranking listing (contracts/telemetry/ranking/listing.v1.schema.json). The ingest also requires its name and domain to equal context.org_name and context.org_website. */
|
|
1544
|
+
listing: string;
|
|
1095
1545
|
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
1096
1546
|
swarmVersion?: string;
|
|
1097
|
-
triggeredWorkflows: boolean;
|
|
1098
|
-
wasRecovered: boolean;
|
|
1099
1547
|
};
|
|
1100
|
-
/** @description
|
|
1101
|
-
|
|
1548
|
+
/** @description An admin opted the install into the public ranking, or the API rebuilt its listing after an org identity change. (emitter: api-server, since 2026-10-18) */
|
|
1549
|
+
AgentSwarmRankingOptedInEvent: {
|
|
1102
1550
|
/**
|
|
1103
1551
|
* @description discriminator enum property added by openapi-typescript
|
|
1104
1552
|
* @enum {string}
|
|
1105
1553
|
*/
|
|
1106
|
-
event: "
|
|
1554
|
+
event: "ranking.opted_in";
|
|
1107
1555
|
/** @constant */
|
|
1108
1556
|
product: "agent-swarm";
|
|
1109
|
-
properties: components["schemas"]["
|
|
1557
|
+
properties: components["schemas"]["AgentSwarmRankingOptedInProperties"];
|
|
1110
1558
|
};
|
|
1111
|
-
|
|
1559
|
+
AgentSwarmRankingOptedOutProperties: {
|
|
1560
|
+
/** @description The listing domain that leaves the ranking: a lowercase hostname. */
|
|
1561
|
+
domain: string;
|
|
1112
1562
|
/** @description An email channel is configured. */
|
|
1113
1563
|
has_email_channel?: boolean;
|
|
1114
1564
|
/** @description An embedding API key is configured. */
|
|
@@ -1123,24 +1573,23 @@ export interface components {
|
|
|
1123
1573
|
is_cloud?: boolean;
|
|
1124
1574
|
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
1125
1575
|
is_e2b?: boolean;
|
|
1126
|
-
scheduleType: string;
|
|
1127
1576
|
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
1128
1577
|
swarmVersion?: string;
|
|
1129
|
-
triggeredWorkflows: boolean;
|
|
1130
|
-
wasRecovered: boolean;
|
|
1131
1578
|
};
|
|
1132
|
-
/** @description
|
|
1133
|
-
|
|
1579
|
+
/** @description The install left the public ranking: the admin turned it off, or the org name or website was cleared or changed. (emitter: api-server, since 2026-10-18) */
|
|
1580
|
+
AgentSwarmRankingOptedOutEvent: {
|
|
1134
1581
|
/**
|
|
1135
1582
|
* @description discriminator enum property added by openapi-typescript
|
|
1136
1583
|
* @enum {string}
|
|
1137
1584
|
*/
|
|
1138
|
-
event: "
|
|
1585
|
+
event: "ranking.opted_out";
|
|
1139
1586
|
/** @constant */
|
|
1140
1587
|
product: "agent-swarm";
|
|
1141
|
-
properties: components["schemas"]["
|
|
1588
|
+
properties: components["schemas"]["AgentSwarmRankingOptedOutProperties"];
|
|
1142
1589
|
};
|
|
1143
|
-
|
|
1590
|
+
AgentSwarmRankingUsageProperties: {
|
|
1591
|
+
cacheReadTokens?: number;
|
|
1592
|
+
cacheWriteTokens?: number;
|
|
1144
1593
|
/** @description An email channel is configured. */
|
|
1145
1594
|
has_email_channel?: boolean;
|
|
1146
1595
|
/** @description An embedding API key is configured. */
|
|
@@ -1149,30 +1598,36 @@ export interface components {
|
|
|
1149
1598
|
has_notification_channel?: boolean;
|
|
1150
1599
|
/** @description A Slack channel is configured. */
|
|
1151
1600
|
has_slack_channel?: boolean;
|
|
1601
|
+
inputTokens: number;
|
|
1152
1602
|
/** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
|
|
1153
1603
|
install_method?: string;
|
|
1154
1604
|
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
1155
1605
|
is_cloud?: boolean;
|
|
1156
1606
|
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
1157
1607
|
is_e2b?: boolean;
|
|
1158
|
-
|
|
1159
|
-
|
|
1608
|
+
/** @description The session's model, the same value as session.cost.model. Usage without it, or with a value the ranking does not accept, is shown as the model unknown. */
|
|
1609
|
+
model?: string;
|
|
1610
|
+
outputTokens: number;
|
|
1611
|
+
/** @description The session's provider, the same value as session.cost.provider. Missing means unknown. */
|
|
1612
|
+
provider?: string;
|
|
1160
1613
|
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
1161
1614
|
swarmVersion?: string;
|
|
1162
|
-
|
|
1615
|
+
/** @description inputTokens + cacheReadTokens + cacheWriteTokens + outputTokens. The ranking sums this. */
|
|
1616
|
+
totalTokens: number;
|
|
1163
1617
|
};
|
|
1164
|
-
/** @description
|
|
1165
|
-
|
|
1618
|
+
/** @description Token usage of one session on an install opted into the public ranking. Sent next to session.cost. (emitter: worker, since 2026-10-18) */
|
|
1619
|
+
AgentSwarmRankingUsageEvent: {
|
|
1166
1620
|
/**
|
|
1167
1621
|
* @description discriminator enum property added by openapi-typescript
|
|
1168
1622
|
* @enum {string}
|
|
1169
1623
|
*/
|
|
1170
|
-
event: "
|
|
1624
|
+
event: "ranking.usage";
|
|
1171
1625
|
/** @constant */
|
|
1172
1626
|
product: "agent-swarm";
|
|
1173
|
-
properties: components["schemas"]["
|
|
1627
|
+
properties: components["schemas"]["AgentSwarmRankingUsageProperties"];
|
|
1174
1628
|
};
|
|
1175
|
-
|
|
1629
|
+
AgentSwarmScheduleErrorProperties: {
|
|
1630
|
+
consecutiveErrors: number;
|
|
1176
1631
|
/** @description An email channel is configured. */
|
|
1177
1632
|
has_email_channel?: boolean;
|
|
1178
1633
|
/** @description An embedding API key is configured. */
|
|
@@ -1187,30 +1642,24 @@ export interface components {
|
|
|
1187
1642
|
is_cloud?: boolean;
|
|
1188
1643
|
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
1189
1644
|
is_e2b?: boolean;
|
|
1190
|
-
|
|
1645
|
+
scheduleType: string;
|
|
1191
1646
|
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
1192
1647
|
swarmVersion?: string;
|
|
1648
|
+
triggeredWorkflows: boolean;
|
|
1649
|
+
wasRecovered: boolean;
|
|
1193
1650
|
};
|
|
1194
|
-
/** @description
|
|
1195
|
-
|
|
1651
|
+
/** @description A schedule failed to fire. (emitter: api-server, since 2026-09-30) */
|
|
1652
|
+
AgentSwarmScheduleErrorEvent: {
|
|
1196
1653
|
/**
|
|
1197
1654
|
* @description discriminator enum property added by openapi-typescript
|
|
1198
1655
|
* @enum {string}
|
|
1199
1656
|
*/
|
|
1200
|
-
event: "
|
|
1657
|
+
event: "schedule.error";
|
|
1201
1658
|
/** @constant */
|
|
1202
1659
|
product: "agent-swarm";
|
|
1203
|
-
properties: components["schemas"]["
|
|
1660
|
+
properties: components["schemas"]["AgentSwarmScheduleErrorProperties"];
|
|
1204
1661
|
};
|
|
1205
|
-
|
|
1206
|
-
* @description Surface that started a chain of work: agent-swarm's AgentTaskSourceSchema values plus other.
|
|
1207
|
-
* @enum {string}
|
|
1208
|
-
*/
|
|
1209
|
-
TriggerSurface: "slack" | "ui" | "api" | "mcp" | "github" | "gitlab" | "linear" | "jira" | "agentmail" | "schedule" | "workflow" | "system" | "other";
|
|
1210
|
-
AgentSwarmSessionCancelledProperties: {
|
|
1211
|
-
agentId: string;
|
|
1212
|
-
durationMs: number;
|
|
1213
|
-
errorCategory: string;
|
|
1662
|
+
AgentSwarmScheduleExecutedProperties: {
|
|
1214
1663
|
/** @description An email channel is configured. */
|
|
1215
1664
|
has_email_channel?: boolean;
|
|
1216
1665
|
/** @description An embedding API key is configured. */
|
|
@@ -1225,28 +1674,130 @@ export interface components {
|
|
|
1225
1674
|
is_cloud?: boolean;
|
|
1226
1675
|
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
1227
1676
|
is_e2b?: boolean;
|
|
1228
|
-
|
|
1229
|
-
provider: string;
|
|
1677
|
+
scheduleType: string;
|
|
1230
1678
|
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
1231
1679
|
swarmVersion?: string;
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
/** @description Root surface of the task, or null for a session with no task. */
|
|
1235
|
-
trigger_surface: components["schemas"]["TriggerSurface"] | null;
|
|
1236
|
-
wasRateLimited: boolean;
|
|
1680
|
+
triggeredWorkflows: boolean;
|
|
1681
|
+
wasRecovered: boolean;
|
|
1237
1682
|
};
|
|
1238
|
-
/** @description A
|
|
1239
|
-
|
|
1683
|
+
/** @description A schedule fired. (emitter: api-server, since 2026-09-30) */
|
|
1684
|
+
AgentSwarmScheduleExecutedEvent: {
|
|
1240
1685
|
/**
|
|
1241
1686
|
* @description discriminator enum property added by openapi-typescript
|
|
1242
1687
|
* @enum {string}
|
|
1243
1688
|
*/
|
|
1244
|
-
event: "
|
|
1689
|
+
event: "schedule.executed";
|
|
1245
1690
|
/** @constant */
|
|
1246
1691
|
product: "agent-swarm";
|
|
1247
|
-
properties: components["schemas"]["
|
|
1692
|
+
properties: components["schemas"]["AgentSwarmScheduleExecutedProperties"];
|
|
1248
1693
|
};
|
|
1249
|
-
|
|
1694
|
+
AgentSwarmServerShutdownProperties: {
|
|
1695
|
+
/** @description An email channel is configured. */
|
|
1696
|
+
has_email_channel?: boolean;
|
|
1697
|
+
/** @description An embedding API key is configured. */
|
|
1698
|
+
has_embedding_key?: boolean;
|
|
1699
|
+
/** @description A notification channel is configured. */
|
|
1700
|
+
has_notification_channel?: boolean;
|
|
1701
|
+
/** @description A Slack channel is configured. */
|
|
1702
|
+
has_slack_channel?: boolean;
|
|
1703
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
|
|
1704
|
+
install_method?: string;
|
|
1705
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
1706
|
+
is_cloud?: boolean;
|
|
1707
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
1708
|
+
is_e2b?: boolean;
|
|
1709
|
+
sessionsProcessed: number;
|
|
1710
|
+
signal: string;
|
|
1711
|
+
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
1712
|
+
swarmVersion?: string;
|
|
1713
|
+
uptimeMs: number;
|
|
1714
|
+
};
|
|
1715
|
+
/** @description The API server shut down. (emitter: api-server, since 2026-09-30) */
|
|
1716
|
+
AgentSwarmServerShutdownEvent: {
|
|
1717
|
+
/**
|
|
1718
|
+
* @description discriminator enum property added by openapi-typescript
|
|
1719
|
+
* @enum {string}
|
|
1720
|
+
*/
|
|
1721
|
+
event: "server.shutdown";
|
|
1722
|
+
/** @constant */
|
|
1723
|
+
product: "agent-swarm";
|
|
1724
|
+
properties: components["schemas"]["AgentSwarmServerShutdownProperties"];
|
|
1725
|
+
};
|
|
1726
|
+
AgentSwarmServerStartedProperties: {
|
|
1727
|
+
/** @description An email channel is configured. */
|
|
1728
|
+
has_email_channel?: boolean;
|
|
1729
|
+
/** @description An embedding API key is configured. */
|
|
1730
|
+
has_embedding_key?: boolean;
|
|
1731
|
+
/** @description A notification channel is configured. */
|
|
1732
|
+
has_notification_channel?: boolean;
|
|
1733
|
+
/** @description A Slack channel is configured. */
|
|
1734
|
+
has_slack_channel?: boolean;
|
|
1735
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
|
|
1736
|
+
install_method?: string;
|
|
1737
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
1738
|
+
is_cloud?: boolean;
|
|
1739
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
1740
|
+
is_e2b?: boolean;
|
|
1741
|
+
port: number;
|
|
1742
|
+
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
1743
|
+
swarmVersion?: string;
|
|
1744
|
+
};
|
|
1745
|
+
/** @description The API server started. (emitter: api-server, since 2026-09-30) */
|
|
1746
|
+
AgentSwarmServerStartedEvent: {
|
|
1747
|
+
/**
|
|
1748
|
+
* @description discriminator enum property added by openapi-typescript
|
|
1749
|
+
* @enum {string}
|
|
1750
|
+
*/
|
|
1751
|
+
event: "server.started";
|
|
1752
|
+
/** @constant */
|
|
1753
|
+
product: "agent-swarm";
|
|
1754
|
+
properties: components["schemas"]["AgentSwarmServerStartedProperties"];
|
|
1755
|
+
};
|
|
1756
|
+
/**
|
|
1757
|
+
* @description Surface that started a chain of work: agent-swarm's AgentTaskSourceSchema values plus other.
|
|
1758
|
+
* @enum {string}
|
|
1759
|
+
*/
|
|
1760
|
+
TriggerSurface: "slack" | "ui" | "api" | "mcp" | "github" | "gitlab" | "linear" | "jira" | "agentmail" | "schedule" | "workflow" | "system" | "other";
|
|
1761
|
+
AgentSwarmSessionCancelledProperties: {
|
|
1762
|
+
agentId: string;
|
|
1763
|
+
durationMs: number;
|
|
1764
|
+
errorCategory: string;
|
|
1765
|
+
/** @description An email channel is configured. */
|
|
1766
|
+
has_email_channel?: boolean;
|
|
1767
|
+
/** @description An embedding API key is configured. */
|
|
1768
|
+
has_embedding_key?: boolean;
|
|
1769
|
+
/** @description A notification channel is configured. */
|
|
1770
|
+
has_notification_channel?: boolean;
|
|
1771
|
+
/** @description A Slack channel is configured. */
|
|
1772
|
+
has_slack_channel?: boolean;
|
|
1773
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
|
|
1774
|
+
install_method?: string;
|
|
1775
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
1776
|
+
is_cloud?: boolean;
|
|
1777
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
1778
|
+
is_e2b?: boolean;
|
|
1779
|
+
model: string;
|
|
1780
|
+
provider: string;
|
|
1781
|
+
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
1782
|
+
swarmVersion?: string;
|
|
1783
|
+
/** @description Task the session ran, or null for a session with no task. */
|
|
1784
|
+
taskId: string | null;
|
|
1785
|
+
/** @description Root surface of the task, or null for a session with no task. */
|
|
1786
|
+
trigger_surface: components["schemas"]["TriggerSurface"] | null;
|
|
1787
|
+
wasRateLimited: boolean;
|
|
1788
|
+
};
|
|
1789
|
+
/** @description A session was cancelled. (emitter: worker, since 2026-09-30) */
|
|
1790
|
+
AgentSwarmSessionCancelledEvent: {
|
|
1791
|
+
/**
|
|
1792
|
+
* @description discriminator enum property added by openapi-typescript
|
|
1793
|
+
* @enum {string}
|
|
1794
|
+
*/
|
|
1795
|
+
event: "session.cancelled";
|
|
1796
|
+
/** @constant */
|
|
1797
|
+
product: "agent-swarm";
|
|
1798
|
+
properties: components["schemas"]["AgentSwarmSessionCancelledProperties"];
|
|
1799
|
+
};
|
|
1800
|
+
AgentSwarmSessionCostProperties: {
|
|
1250
1801
|
agentId: string;
|
|
1251
1802
|
cacheReadTokens?: number;
|
|
1252
1803
|
cacheWriteTokens?: number;
|
|
@@ -1436,6 +1987,39 @@ export interface components {
|
|
|
1436
1987
|
product: "agent-swarm";
|
|
1437
1988
|
properties: components["schemas"]["AgentSwarmSessionSteeredProperties"];
|
|
1438
1989
|
};
|
|
1990
|
+
AgentSwarmSetupWorkerCommandCopiedProperties: {
|
|
1991
|
+
/** @enum {string} */
|
|
1992
|
+
harness: "claude" | "codex" | "pi" | "devin" | "claude-managed" | "opencode" | "acp" | "dsh" | "amp" | "cursor" | "grok";
|
|
1993
|
+
/** @description An email channel is configured. */
|
|
1994
|
+
has_email_channel?: boolean;
|
|
1995
|
+
/** @description An embedding API key is configured. */
|
|
1996
|
+
has_embedding_key?: boolean;
|
|
1997
|
+
/** @description A notification channel is configured. */
|
|
1998
|
+
has_notification_channel?: boolean;
|
|
1999
|
+
/** @description A Slack channel is configured. */
|
|
2000
|
+
has_slack_channel?: boolean;
|
|
2001
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
|
|
2002
|
+
install_method?: string;
|
|
2003
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
2004
|
+
is_cloud?: boolean;
|
|
2005
|
+
/** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
|
|
2006
|
+
is_e2b?: boolean;
|
|
2007
|
+
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
2008
|
+
swarmVersion?: string;
|
|
2009
|
+
/** @enum {string} */
|
|
2010
|
+
target: "compose" | "docker" | "kubernetes";
|
|
2011
|
+
};
|
|
2012
|
+
/** @description An admin copied a worker command from the setup health popover. (emitter: ui, since 2026-10-18) */
|
|
2013
|
+
AgentSwarmSetupWorkerCommandCopiedEvent: {
|
|
2014
|
+
/**
|
|
2015
|
+
* @description discriminator enum property added by openapi-typescript
|
|
2016
|
+
* @enum {string}
|
|
2017
|
+
*/
|
|
2018
|
+
event: "setup.worker_command_copied";
|
|
2019
|
+
/** @constant */
|
|
2020
|
+
product: "agent-swarm";
|
|
2021
|
+
properties: components["schemas"]["AgentSwarmSetupWorkerCommandCopiedProperties"];
|
|
2022
|
+
};
|
|
1439
2023
|
AgentSwarmSkillInvokedProperties: {
|
|
1440
2024
|
/** @description An email channel is configured. */
|
|
1441
2025
|
has_email_channel?: boolean;
|
|
@@ -1793,7 +2377,7 @@ export interface components {
|
|
|
1793
2377
|
/** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
|
|
1794
2378
|
swarmVersion?: string;
|
|
1795
2379
|
/** @enum {string} */
|
|
1796
|
-
via: "banner" | "settings" | "env";
|
|
2380
|
+
via: "banner" | "settings" | "env" | "benchmark";
|
|
1797
2381
|
};
|
|
1798
2382
|
/** @description Telemetry was turned on. Sent once, on the first boot or re-init after opting in. (emitter: api-server, since 2026-10-12) */
|
|
1799
2383
|
AgentSwarmTelemetryEnabledEvent: {
|
|
@@ -1841,8 +2425,10 @@ export interface components {
|
|
|
1841
2425
|
has_email_channel?: boolean;
|
|
1842
2426
|
/** @description An embedding API key is configured. */
|
|
1843
2427
|
has_embedding_key?: boolean;
|
|
2428
|
+
has_function?: boolean;
|
|
1844
2429
|
/** @description A notification channel is configured. */
|
|
1845
2430
|
has_notification_channel?: boolean;
|
|
2431
|
+
has_quote?: boolean;
|
|
1846
2432
|
/** @description A Slack channel is configured. */
|
|
1847
2433
|
has_slack_channel?: boolean;
|
|
1848
2434
|
/** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
|
|
@@ -2034,7 +2620,7 @@ export interface components {
|
|
|
2034
2620
|
product: "agent-swarm";
|
|
2035
2621
|
properties: components["schemas"]["AgentSwarmWorkflowStartedProperties"];
|
|
2036
2622
|
};
|
|
2037
|
-
AgentSwarmCatalogEvent: components["schemas"]["AgentSwarmAgentRegisteredEvent"] | components["schemas"]["AgentSwarmCompactionTriggeredEvent"] | components["schemas"]["AgentSwarmFeatureUsedEvent"] | components["schemas"]["AgentSwarmFleetBenchmarkViewedEvent"] | components["schemas"]["AgentSwarmIntegrationConnectedEvent"] | components["schemas"]["AgentSwarmLeadCapturedEvent"] | components["schemas"]["AgentSwarmNotificationDismissedEvent"] | components["schemas"]["AgentSwarmNotificationSubmittedEvent"] | components["schemas"]["AgentSwarmNotificationViewedEvent"] | components["schemas"]["AgentSwarmOnboardingCompletedEvent"] | components["schemas"]["AgentSwarmOnboardingDismissedEvent"] | components["schemas"]["AgentSwarmOnboardingFirstTaskCompletedEvent"] | components["schemas"]["AgentSwarmOnboardingStartedEvent"] | components["schemas"]["AgentSwarmOnboardingStepCompletedEvent"] | components["schemas"]["AgentSwarmOnboardingStepFailedEvent"] | components["schemas"]["AgentSwarmOnboardingStepSkippedEvent"] | components["schemas"]["AgentSwarmOnboardingStepViewedEvent"] | components["schemas"]["AgentSwarmOrgProfileUpdatedEvent"] | components["schemas"]["AgentSwarmOrgSnapshotEvent"] | components["schemas"]["AgentSwarmPageViewedEvent"] | components["schemas"]["AgentSwarmPopupDismissedEvent"] | components["schemas"]["AgentSwarmPopupShownEvent"] | components["schemas"]["AgentSwarmPopupSubmittedEvent"] | components["schemas"]["AgentSwarmScheduleErrorEvent"] | components["schemas"]["AgentSwarmScheduleExecutedEvent"] | components["schemas"]["AgentSwarmServerShutdownEvent"] | components["schemas"]["AgentSwarmServerStartedEvent"] | components["schemas"]["AgentSwarmSessionCancelledEvent"] | components["schemas"]["AgentSwarmSessionCostEvent"] | components["schemas"]["AgentSwarmSessionEndedEvent"] | components["schemas"]["AgentSwarmSessionFailureEvent"] | components["schemas"]["AgentSwarmSessionStartedEvent"] | components["schemas"]["AgentSwarmSessionSteeredEvent"] | components["schemas"]["AgentSwarmSkillInvokedEvent"] | components["schemas"]["AgentSwarmTaskCancelledEvent"] | components["schemas"]["AgentSwarmTaskClaimedEvent"] | components["schemas"]["AgentSwarmTaskCompletedEvent"] | components["schemas"]["AgentSwarmTaskCreatedEvent"] | components["schemas"]["AgentSwarmTaskFailedEvent"] | components["schemas"]["AgentSwarmTaskSessionCompletedEvent"] | components["schemas"]["AgentSwarmTaskStartedEvent"] | components["schemas"]["AgentSwarmTaskSupersededEvent"] | components["schemas"]["AgentSwarmTelemetryEnabledEvent"] | components["schemas"]["AgentSwarmUiSessionStartedEvent"] | components["schemas"]["AgentSwarmUsedByConsentChangedEvent"] | components["schemas"]["AgentSwarmWorkflowCompletedEvent"] | components["schemas"]["AgentSwarmWorkflowCreatedEvent"] | components["schemas"]["AgentSwarmWorkflowDeletedEvent"] | components["schemas"]["AgentSwarmWorkflowFailedEvent"] | components["schemas"]["AgentSwarmWorkflowStartedEvent"];
|
|
2623
|
+
AgentSwarmCatalogEvent: components["schemas"]["AgentSwarmAgentRegisteredEvent"] | components["schemas"]["AgentSwarmCompactionTriggeredEvent"] | components["schemas"]["AgentSwarmFeatureUsedEvent"] | components["schemas"]["AgentSwarmFleetBenchmarkUnlockedEvent"] | components["schemas"]["AgentSwarmFleetBenchmarkViewedEvent"] | components["schemas"]["AgentSwarmIdentityLookupEvent"] | components["schemas"]["AgentSwarmIdentityUserCreatedEvent"] | components["schemas"]["AgentSwarmIntegrationConnectedEvent"] | components["schemas"]["AgentSwarmLeadCapturedEvent"] | components["schemas"]["AgentSwarmNotificationDismissedEvent"] | components["schemas"]["AgentSwarmNotificationSubmittedEvent"] | components["schemas"]["AgentSwarmNotificationViewedEvent"] | components["schemas"]["AgentSwarmOnboardingCompletedEvent"] | components["schemas"]["AgentSwarmOnboardingDismissedEvent"] | components["schemas"]["AgentSwarmOnboardingFirstTaskCompletedEvent"] | components["schemas"]["AgentSwarmOnboardingStartedEvent"] | components["schemas"]["AgentSwarmOnboardingStepCompletedEvent"] | components["schemas"]["AgentSwarmOnboardingStepFailedEvent"] | components["schemas"]["AgentSwarmOnboardingStepSkippedEvent"] | components["schemas"]["AgentSwarmOnboardingStepViewedEvent"] | components["schemas"]["AgentSwarmOrgProfileUpdatedEvent"] | components["schemas"]["AgentSwarmOrgSnapshotEvent"] | components["schemas"]["AgentSwarmPageViewedEvent"] | components["schemas"]["AgentSwarmPopupDismissedEvent"] | components["schemas"]["AgentSwarmPopupShownEvent"] | components["schemas"]["AgentSwarmPopupSubmittedEvent"] | components["schemas"]["AgentSwarmRankingOptedInEvent"] | components["schemas"]["AgentSwarmRankingOptedOutEvent"] | components["schemas"]["AgentSwarmRankingUsageEvent"] | components["schemas"]["AgentSwarmScheduleErrorEvent"] | components["schemas"]["AgentSwarmScheduleExecutedEvent"] | components["schemas"]["AgentSwarmServerShutdownEvent"] | components["schemas"]["AgentSwarmServerStartedEvent"] | components["schemas"]["AgentSwarmSessionCancelledEvent"] | components["schemas"]["AgentSwarmSessionCostEvent"] | components["schemas"]["AgentSwarmSessionEndedEvent"] | components["schemas"]["AgentSwarmSessionFailureEvent"] | components["schemas"]["AgentSwarmSessionStartedEvent"] | components["schemas"]["AgentSwarmSessionSteeredEvent"] | components["schemas"]["AgentSwarmSetupWorkerCommandCopiedEvent"] | components["schemas"]["AgentSwarmSkillInvokedEvent"] | components["schemas"]["AgentSwarmTaskCancelledEvent"] | components["schemas"]["AgentSwarmTaskClaimedEvent"] | components["schemas"]["AgentSwarmTaskCompletedEvent"] | components["schemas"]["AgentSwarmTaskCreatedEvent"] | components["schemas"]["AgentSwarmTaskFailedEvent"] | components["schemas"]["AgentSwarmTaskSessionCompletedEvent"] | components["schemas"]["AgentSwarmTaskStartedEvent"] | components["schemas"]["AgentSwarmTaskSupersededEvent"] | components["schemas"]["AgentSwarmTelemetryEnabledEvent"] | components["schemas"]["AgentSwarmUiSessionStartedEvent"] | components["schemas"]["AgentSwarmUsedByConsentChangedEvent"] | components["schemas"]["AgentSwarmWorkflowCompletedEvent"] | components["schemas"]["AgentSwarmWorkflowCreatedEvent"] | components["schemas"]["AgentSwarmWorkflowDeletedEvent"] | components["schemas"]["AgentSwarmWorkflowFailedEvent"] | components["schemas"]["AgentSwarmWorkflowStartedEvent"];
|
|
2038
2624
|
/** @description Every catalogued (product, event) pair with its property schema. Generated from contracts/telemetry/catalog/events.json. */
|
|
2039
2625
|
CatalogEvent: components["schemas"]["AgentFsCatalogEvent"] | components["schemas"]["AgentSwarmCatalogEvent"];
|
|
2040
2626
|
};
|
|
@@ -2212,4 +2798,323 @@ export interface operations {
|
|
|
2212
2798
|
204: components["responses"]["CORSPreflightResponse"];
|
|
2213
2799
|
};
|
|
2214
2800
|
};
|
|
2801
|
+
submitUsedByConsent: {
|
|
2802
|
+
parameters: {
|
|
2803
|
+
query?: never;
|
|
2804
|
+
header?: never;
|
|
2805
|
+
path?: never;
|
|
2806
|
+
cookie?: never;
|
|
2807
|
+
};
|
|
2808
|
+
requestBody: {
|
|
2809
|
+
content: {
|
|
2810
|
+
"application/json": components["schemas"]["UsedByConsent"];
|
|
2811
|
+
};
|
|
2812
|
+
};
|
|
2813
|
+
responses: {
|
|
2814
|
+
/** @description Consent change persisted; the Slack post is best-effort. */
|
|
2815
|
+
202: {
|
|
2816
|
+
headers: {
|
|
2817
|
+
[name: string]: unknown;
|
|
2818
|
+
};
|
|
2819
|
+
content: {
|
|
2820
|
+
"application/json": components["schemas"]["UsedByAcceptedResponse"];
|
|
2821
|
+
};
|
|
2822
|
+
};
|
|
2823
|
+
/** @description Request body is invalid JSON or failed field validation. */
|
|
2824
|
+
400: {
|
|
2825
|
+
headers: {
|
|
2826
|
+
[name: string]: unknown;
|
|
2827
|
+
};
|
|
2828
|
+
content: {
|
|
2829
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
2830
|
+
};
|
|
2831
|
+
};
|
|
2832
|
+
/** @description Request body exceeds 4 KB. */
|
|
2833
|
+
413: {
|
|
2834
|
+
headers: {
|
|
2835
|
+
[name: string]: unknown;
|
|
2836
|
+
};
|
|
2837
|
+
content: {
|
|
2838
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
2839
|
+
};
|
|
2840
|
+
};
|
|
2841
|
+
/** @description The source IP exceeded 5 requests per minute. */
|
|
2842
|
+
429: {
|
|
2843
|
+
headers: {
|
|
2844
|
+
/** @description Seconds to wait before retrying. */
|
|
2845
|
+
"Retry-After"?: string;
|
|
2846
|
+
[name: string]: unknown;
|
|
2847
|
+
};
|
|
2848
|
+
content: {
|
|
2849
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
2850
|
+
};
|
|
2851
|
+
};
|
|
2852
|
+
/** @description The consent change could not be persisted. */
|
|
2853
|
+
500: {
|
|
2854
|
+
headers: {
|
|
2855
|
+
[name: string]: unknown;
|
|
2856
|
+
};
|
|
2857
|
+
content: {
|
|
2858
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
2859
|
+
};
|
|
2860
|
+
};
|
|
2861
|
+
/** @description Used-by storage is not configured. */
|
|
2862
|
+
503: {
|
|
2863
|
+
headers: {
|
|
2864
|
+
[name: string]: unknown;
|
|
2865
|
+
};
|
|
2866
|
+
content: {
|
|
2867
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
2868
|
+
};
|
|
2869
|
+
};
|
|
2870
|
+
};
|
|
2871
|
+
};
|
|
2872
|
+
getOrgLogo: {
|
|
2873
|
+
parameters: {
|
|
2874
|
+
query: {
|
|
2875
|
+
/** @description Lowercase website hostname, without scheme, `www.`, path or port. IP literals are refused. */
|
|
2876
|
+
domain: string;
|
|
2877
|
+
};
|
|
2878
|
+
header?: never;
|
|
2879
|
+
path?: never;
|
|
2880
|
+
cookie?: never;
|
|
2881
|
+
};
|
|
2882
|
+
requestBody?: never;
|
|
2883
|
+
responses: {
|
|
2884
|
+
/** @description The logo image. */
|
|
2885
|
+
200: {
|
|
2886
|
+
headers: {
|
|
2887
|
+
/** @description `public, max-age=86400`. */
|
|
2888
|
+
"Cache-Control"?: string;
|
|
2889
|
+
[name: string]: unknown;
|
|
2890
|
+
};
|
|
2891
|
+
content: {
|
|
2892
|
+
"image/png": string;
|
|
2893
|
+
};
|
|
2894
|
+
};
|
|
2895
|
+
/** @description `domain` is missing or not a hostname (code `invalid_domain`). */
|
|
2896
|
+
400: {
|
|
2897
|
+
headers: {
|
|
2898
|
+
[name: string]: unknown;
|
|
2899
|
+
};
|
|
2900
|
+
content: {
|
|
2901
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
2902
|
+
};
|
|
2903
|
+
};
|
|
2904
|
+
/** @description logo.dev has no image for this domain (code `logo_not_found`). */
|
|
2905
|
+
404: {
|
|
2906
|
+
headers: {
|
|
2907
|
+
[name: string]: unknown;
|
|
2908
|
+
};
|
|
2909
|
+
content: {
|
|
2910
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
2911
|
+
};
|
|
2912
|
+
};
|
|
2913
|
+
/** @description The source IP exceeded the logo rate limit. */
|
|
2914
|
+
429: {
|
|
2915
|
+
headers: {
|
|
2916
|
+
/** @description Seconds to wait before retrying. */
|
|
2917
|
+
"Retry-After"?: string;
|
|
2918
|
+
[name: string]: unknown;
|
|
2919
|
+
};
|
|
2920
|
+
content: {
|
|
2921
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
2922
|
+
};
|
|
2923
|
+
};
|
|
2924
|
+
/** @description logo.dev failed or returned something other than a raster image under 256 KB (code `logo_upstream_failed`). Not cached. */
|
|
2925
|
+
502: {
|
|
2926
|
+
headers: {
|
|
2927
|
+
[name: string]: unknown;
|
|
2928
|
+
};
|
|
2929
|
+
content: {
|
|
2930
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
2931
|
+
};
|
|
2932
|
+
};
|
|
2933
|
+
/** @description `LOGO_DEV_TOKEN` is not set (code `logo_unavailable`). */
|
|
2934
|
+
503: {
|
|
2935
|
+
headers: {
|
|
2936
|
+
[name: string]: unknown;
|
|
2937
|
+
};
|
|
2938
|
+
content: {
|
|
2939
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
2940
|
+
};
|
|
2941
|
+
};
|
|
2942
|
+
};
|
|
2943
|
+
};
|
|
2944
|
+
getFleetBenchmarks: {
|
|
2945
|
+
parameters: {
|
|
2946
|
+
query?: {
|
|
2947
|
+
/** @description Only `30d` is supported. */
|
|
2948
|
+
window?: "30d";
|
|
2949
|
+
team_size?: "1" | "2-10" | "11-50" | "51+";
|
|
2950
|
+
use_case?: "features" | "bugs" | "review" | "ops" | "docs" | "data";
|
|
2951
|
+
};
|
|
2952
|
+
header?: never;
|
|
2953
|
+
path?: never;
|
|
2954
|
+
cookie?: never;
|
|
2955
|
+
};
|
|
2956
|
+
requestBody?: never;
|
|
2957
|
+
responses: {
|
|
2958
|
+
/** @description The latest computed benchmark. */
|
|
2959
|
+
200: {
|
|
2960
|
+
headers: {
|
|
2961
|
+
/** @description `public, max-age=3600`. */
|
|
2962
|
+
"Cache-Control"?: string;
|
|
2963
|
+
[name: string]: unknown;
|
|
2964
|
+
};
|
|
2965
|
+
content: {
|
|
2966
|
+
"application/json": components["schemas"]["FleetBenchmarks"];
|
|
2967
|
+
};
|
|
2968
|
+
};
|
|
2969
|
+
/** @description Invalid window or profile filter (invalid_window, invalid_team_size, invalid_use_case). */
|
|
2970
|
+
400: {
|
|
2971
|
+
headers: {
|
|
2972
|
+
[name: string]: unknown;
|
|
2973
|
+
};
|
|
2974
|
+
content: {
|
|
2975
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
2976
|
+
};
|
|
2977
|
+
};
|
|
2978
|
+
/** @description The source IP exceeded the benchmark rate limit. */
|
|
2979
|
+
429: {
|
|
2980
|
+
headers: {
|
|
2981
|
+
/** @description Seconds to wait before retrying. */
|
|
2982
|
+
"Retry-After"?: string;
|
|
2983
|
+
[name: string]: unknown;
|
|
2984
|
+
};
|
|
2985
|
+
content: {
|
|
2986
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
2987
|
+
};
|
|
2988
|
+
};
|
|
2989
|
+
/** @description No benchmark has been computed yet, for example right after boot (code `benchmarks_unavailable`). */
|
|
2990
|
+
503: {
|
|
2991
|
+
headers: {
|
|
2992
|
+
[name: string]: unknown;
|
|
2993
|
+
};
|
|
2994
|
+
content: {
|
|
2995
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
2996
|
+
};
|
|
2997
|
+
};
|
|
2998
|
+
};
|
|
2999
|
+
};
|
|
3000
|
+
getRanking: {
|
|
3001
|
+
parameters: {
|
|
3002
|
+
query?: {
|
|
3003
|
+
/** @description The last 1, 7 or 30 UTC days, today included. */
|
|
3004
|
+
period?: "day" | "week" | "month";
|
|
3005
|
+
/** @description A category from `contracts/telemetry/ranking/taxonomy.json`. `agent-swarm` or absent means every category. */
|
|
3006
|
+
group?: string;
|
|
3007
|
+
/** @description A subcategory from the taxonomy, inside `group` when one is given. */
|
|
3008
|
+
subcategory?: string;
|
|
3009
|
+
/** @description Return only this entry and its app page fields. An unknown or hidden domain returns an empty `apps` list, an empty chart, zero totals and a null `rank`. */
|
|
3010
|
+
domain?: string;
|
|
3011
|
+
/** @description Accepted for parity with OpenRouter's collector. Only `tokens` is supported. */
|
|
3012
|
+
sortBy?: "tokens";
|
|
3013
|
+
};
|
|
3014
|
+
header?: never;
|
|
3015
|
+
path?: never;
|
|
3016
|
+
cookie?: never;
|
|
3017
|
+
};
|
|
3018
|
+
requestBody?: never;
|
|
3019
|
+
responses: {
|
|
3020
|
+
/** @description The ranking for the period and filters. */
|
|
3021
|
+
200: {
|
|
3022
|
+
headers: {
|
|
3023
|
+
/** @description `public, max-age=3600`. */
|
|
3024
|
+
"Cache-Control"?: string;
|
|
3025
|
+
[name: string]: unknown;
|
|
3026
|
+
};
|
|
3027
|
+
content: {
|
|
3028
|
+
"application/json": components["schemas"]["RankingResponse"];
|
|
3029
|
+
};
|
|
3030
|
+
};
|
|
3031
|
+
/** @description A query value is not allowed (codes `invalid_period`, `invalid_group`, `invalid_subcategory`, `invalid_domain`, `invalid_sort`). */
|
|
3032
|
+
400: {
|
|
3033
|
+
headers: {
|
|
3034
|
+
[name: string]: unknown;
|
|
3035
|
+
};
|
|
3036
|
+
content: {
|
|
3037
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
3038
|
+
};
|
|
3039
|
+
};
|
|
3040
|
+
/** @description The source IP exceeded the ranking rate limit. */
|
|
3041
|
+
429: {
|
|
3042
|
+
headers: {
|
|
3043
|
+
/** @description Seconds to wait before retrying. */
|
|
3044
|
+
"Retry-After"?: string;
|
|
3045
|
+
[name: string]: unknown;
|
|
3046
|
+
};
|
|
3047
|
+
content: {
|
|
3048
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
3049
|
+
};
|
|
3050
|
+
};
|
|
3051
|
+
/** @description The ranking has not been computed yet, for example right after boot (code `ranking_unavailable`). */
|
|
3052
|
+
503: {
|
|
3053
|
+
headers: {
|
|
3054
|
+
[name: string]: unknown;
|
|
3055
|
+
};
|
|
3056
|
+
content: {
|
|
3057
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
3058
|
+
};
|
|
3059
|
+
};
|
|
3060
|
+
};
|
|
3061
|
+
};
|
|
3062
|
+
verifyRankingEntry: {
|
|
3063
|
+
parameters: {
|
|
3064
|
+
query: {
|
|
3065
|
+
domain: string;
|
|
3066
|
+
/**
|
|
3067
|
+
* @deprecated
|
|
3068
|
+
* @description Sent by agent-swarm v2.4.0's PR check. Ignored.
|
|
3069
|
+
*/
|
|
3070
|
+
claim?: string;
|
|
3071
|
+
};
|
|
3072
|
+
header?: never;
|
|
3073
|
+
path?: never;
|
|
3074
|
+
cookie?: never;
|
|
3075
|
+
};
|
|
3076
|
+
requestBody?: never;
|
|
3077
|
+
responses: {
|
|
3078
|
+
/** @description The verification result. A failed check is still a 200 with `verified` false. */
|
|
3079
|
+
200: {
|
|
3080
|
+
headers: {
|
|
3081
|
+
/** @description `no-store`. */
|
|
3082
|
+
"Cache-Control"?: string;
|
|
3083
|
+
[name: string]: unknown;
|
|
3084
|
+
};
|
|
3085
|
+
content: {
|
|
3086
|
+
"application/json": components["schemas"]["RankingVerification"];
|
|
3087
|
+
};
|
|
3088
|
+
};
|
|
3089
|
+
/** @description `domain` is malformed (code `invalid_domain`). */
|
|
3090
|
+
400: {
|
|
3091
|
+
headers: {
|
|
3092
|
+
[name: string]: unknown;
|
|
3093
|
+
};
|
|
3094
|
+
content: {
|
|
3095
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
3096
|
+
};
|
|
3097
|
+
};
|
|
3098
|
+
/** @description The source IP exceeded the verify rate limit. */
|
|
3099
|
+
429: {
|
|
3100
|
+
headers: {
|
|
3101
|
+
/** @description Seconds to wait before retrying. */
|
|
3102
|
+
"Retry-After"?: string;
|
|
3103
|
+
[name: string]: unknown;
|
|
3104
|
+
};
|
|
3105
|
+
content: {
|
|
3106
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
3107
|
+
};
|
|
3108
|
+
};
|
|
3109
|
+
/** @description The telemetry store could not be read (code `ranking_unavailable`). */
|
|
3110
|
+
503: {
|
|
3111
|
+
headers: {
|
|
3112
|
+
[name: string]: unknown;
|
|
3113
|
+
};
|
|
3114
|
+
content: {
|
|
3115
|
+
"application/json": components["schemas"]["ProblemResponse"];
|
|
3116
|
+
};
|
|
3117
|
+
};
|
|
3118
|
+
};
|
|
3119
|
+
};
|
|
2215
3120
|
}
|