@desplega.ai/agent-swarm 1.161.0 → 1.162.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.
Files changed (224) hide show
  1. package/README.md +3 -2
  2. package/dist/{acp-adapter-xx489vvb.js → acp-adapter-74m73ae9.js} +1 -1
  3. package/dist/{actions-ykjkn0m9.js → actions-4sr14gnt.js} +34 -31
  4. package/dist/{anthropic-messages-5qx80j9k.js → anthropic-messages-8xxrzky9.js} +22 -26
  5. package/dist/{app-0hdqa4k1.js → app-pt68fbwp.js} +13 -11
  6. package/dist/{artifact-3v5t9jtg.js → artifact-fey7dvj9.js} +3 -2
  7. package/dist/{assistant-am2g5g8a.js → assistant-cv3jytks.js} +37 -34
  8. package/dist/{azure-openai-responses-fszbkp0e.js → azure-openai-responses-f5cqsyj8.js} +15 -10
  9. package/dist/{boot-reembed-xy9t7avg.js → boot-reembed-4ht4gqth.js} +13 -11
  10. package/dist/{boot-reembed-gt5gjkt4.js → boot-reembed-nxpcvpj9.js} +12 -10
  11. package/dist/{boot-scrub-logs-9x0985y5.js → boot-scrub-logs-k93kyw8k.js} +9 -7
  12. package/dist/{boot-seeds-trv0d4vg.js → boot-seeds-1skcrs0e.js} +13 -10
  13. package/dist/{claude-adapter-jb6e1e54.js → claude-adapter-r5g0tzge.js} +23 -20
  14. package/dist/{claude-managed-setup-d1q9hv2b.js → claude-managed-setup-pkyrgshb.js} +3 -2
  15. package/dist/{claude-sdk-session-zga700s2.js → claude-sdk-session-jxyxnrwd.js} +5565 -5512
  16. package/dist/{cli-we0q7t0e.js → cli-2zy95vhm.js} +137 -64
  17. package/dist/{cli-35pj2yva.js → cli-4cwxn7gp.js} +38 -11
  18. package/dist/{cli-ad4qxm6j.js → cli-4dcpaefp.js} +2 -2
  19. package/dist/{cli-82c1pacn.js → cli-4x0csdjq.js} +71 -37
  20. package/dist/{cli-sqm3r5ps.js → cli-5bcd7sfy.js} +14 -18
  21. package/dist/{cli-d56tgd45.js → cli-5k6k8ta3.js} +2 -2
  22. package/dist/{cli-1er0rhz8.js → cli-5xhpb3kv.js} +15 -15
  23. package/dist/{cli-yrg7c73k.js → cli-7af8yhav.js} +10 -183
  24. package/dist/{cli-r6fsxc76.js → cli-7tre70zp.js} +513 -961
  25. package/dist/{cli-bh7jed3k.js → cli-8ev9xqnx.js} +34 -18
  26. package/dist/cli-bsky8g7w.js +449 -0
  27. package/dist/{cli-hn04t9db.js → cli-cebmgwsc.js} +14 -10
  28. package/dist/{cli-cfkrztza.js → cli-cvatsam7.js} +2 -2
  29. package/dist/{cli-2658f6at.js → cli-cvk6yzw5.js} +6 -8
  30. package/dist/{cli-ptr8h7kp.js → cli-eg0b3p0k.js} +5 -218
  31. package/dist/{cli-zb6xbk61.js → cli-g739zqzt.js} +4 -4
  32. package/dist/{cli-dv6cdjs2.js → cli-gd4favx9.js} +28 -7
  33. package/dist/{cli-5p3x4zna.js → cli-gpqpmns7.js} +2 -2
  34. package/dist/{cli-5nbmpy8w.js → cli-hb5c2x5y.js} +1 -1
  35. package/dist/{cli-jpf7e1zq.js → cli-hmsw1gpy.js} +3 -3
  36. package/dist/{cli-1cz0c18q.js → cli-jf7wmv1r.js} +2521 -733
  37. package/dist/{cli-qwsnmjdd.js → cli-jxs2ygaw.js} +168 -61
  38. package/dist/cli-kdkwd3yr.js +615 -0
  39. package/dist/{cli-hgmnf38m.js → cli-kh04eqwe.js} +1 -1
  40. package/dist/{cli-0383bp7f.js → cli-kp42yek0.js} +425 -90
  41. package/dist/{cli-ybgv4kw2.js → cli-mbssg1xv.js} +9 -2
  42. package/dist/{cli-jsp14b6c.js → cli-mzfth0bp.js} +38 -1
  43. package/dist/{cli-8g6mc14k.js → cli-nq7yqw7b.js} +16 -5
  44. package/dist/{cli-ee8bc46j.js → cli-nt8hecg9.js} +33 -32
  45. package/dist/{cli-9s68w752.js → cli-p0r8sxj5.js} +1 -1
  46. package/dist/{cli-58e8yr0d.js → cli-pkd6s2wy.js} +4 -2
  47. package/dist/{cli-17xpf7cm.js → cli-q24re23n.js} +6 -4
  48. package/dist/cli-qjjvzwzd.js +222 -0
  49. package/dist/cli-qrgt5bqf.js +189 -0
  50. package/dist/{cli-et8m9xsv.js → cli-rfjw9jw2.js} +22 -10
  51. package/dist/{cli-798vkbks.js → cli-rj0gqwwp.js} +2 -2
  52. package/dist/{cli-121ph74b.js → cli-rnyzn44p.js} +1 -1
  53. package/dist/{cli-vnnz5ncg.js → cli-s3hwpt9v.js} +95 -16
  54. package/dist/{cli-7119ja3w.js → cli-sptrj5f5.js} +2 -2
  55. package/dist/{cli-a8c82p2t.js → cli-sqvfa090.js} +13 -6
  56. package/dist/{cli-phfg8vy8.js → cli-swfmp1fx.js} +26 -26
  57. package/dist/{cli-nsdxtcbg.js → cli-tcen9p5w.js} +8 -5
  58. package/dist/{cli-9m03pzga.js → cli-vc9bp061.js} +5 -5
  59. package/dist/{cli-rtx9dygp.js → cli-vxe6qa4h.js} +1 -1
  60. package/dist/{cli-ecfxwnyb.js → cli-vy3ed88x.js} +1 -1
  61. package/dist/{cli-0c7ata9h.js → cli-vyqs9ya8.js} +6 -6
  62. package/dist/cli-wbvnn6tk.js +861 -0
  63. package/dist/{cli-kgd3p0bm.js → cli-wjgs5wxe.js} +6 -6
  64. package/dist/cli-wxkkd0e0.js +33 -0
  65. package/dist/{cli-akfj32vj.js → cli-xqpk3rp7.js} +5 -4
  66. package/dist/cli-zp38xvtm.js +9487 -0
  67. package/dist/{cli-3zc55ctx.js → cli-zvhd3f64.js} +2 -2
  68. package/dist/{cli-ze1d3wzv.js → cli-zxqx25nz.js} +5 -5
  69. package/dist/cli.js +32 -25
  70. package/dist/{cloudflare-workers-ai-system-one-k6fbxw9d.js → cloudflare-workers-ai-system-one-k8ddqjkq.js} +8 -6
  71. package/dist/{codex-adapter-04v97vep.js → codex-adapter-esvmnhn7.js} +13 -13
  72. package/dist/{codex-hook-20me6byw.js → codex-hook-m73jmqgx.js} +19 -3
  73. package/dist/{codex-session-runner-ax69mqq3.js → codex-session-runner-ban9excr.js} +13 -13
  74. package/dist/{commands-18gy08n1.js → commands-75413p2n.js} +9 -7
  75. package/dist/{db-d2pvjpyt.js → db-7f5pecwg.js} +11 -7
  76. package/dist/{dispatcher-8wbwyzjg.js → dispatcher-fh9at8nz.js} +33 -30
  77. package/dist/{dsh-adapter-ysqk9snv.js → dsh-adapter-wpze65d4.js} +3 -3
  78. package/dist/{e2b-esmt1r16.js → e2b-gjgdjp91.js} +10 -9
  79. package/dist/{pi-logo-animation-e9a0t68z.js → easter-egg-3d-3w5c2n4c.js} +122 -68
  80. package/dist/{execute-cmagrbrz.js → execute-f50wg9nh.js} +29 -6
  81. package/dist/{google-generative-ai-k6n5nbpp.js → google-generative-ai-jxxpnegy.js} +2 -2
  82. package/dist/{google-vertex-44xxtcvp.js → google-vertex-x7q1angm.js} +5 -5
  83. package/dist/{handlers-6b69m5kp.js → handlers-w13787bb.js} +36 -33
  84. package/dist/{hook-srnkt0hb.js → hook-46g1jrvx.js} +28 -15
  85. package/dist/{hook-k3mydf2n.js → hook-4tpts2ry.js} +20 -17
  86. package/dist/{http-hrf80ca1.js → http-19pzbfrt.js} +964 -176
  87. package/dist/{index-9rxdvj6w.js → index-8fd4dm4h.js} +34 -31
  88. package/dist/{index-1asbaj62.js → index-dqmp15bq.js} +35 -32
  89. package/dist/{index-45evq4ee.js → index-qb4q1y3e.js} +33 -30
  90. package/dist/{index-k4nj18qs.js → index-s75wc4wd.js} +12 -10
  91. package/dist/{index-xmevk2b9.js → index-scptvdxg.js} +27 -25
  92. package/dist/{keepalive-sfdz6ksp.js → keepalive-xa5ts9cd.js} +11 -9
  93. package/dist/{lead-ej91e9hw.js → lead-qp4xkvjq.js} +45 -41
  94. package/dist/{maintenance-80dnd7ke.js → maintenance-rm5885hm.js} +13 -11
  95. package/dist/{mistral-conversations-pc3ntnxt.js → mistral-conversations-rw7fbt22.js} +4 -4
  96. package/dist/{node-a5e00qhp.js → node-8zkdq42h.js} +834 -833
  97. package/dist/{oauth-refresh-sweep-m1etk2mx.js → oauth-refresh-sweep-1csdfebf.js} +10 -8
  98. package/dist/{onboard-0q8sdfqc.js → onboard-r6b78cs4.js} +10 -10
  99. package/dist/{openai-codex-responses-n7n683p2.js → openai-codex-responses-efvrgrq3.js} +4 -4
  100. package/dist/{openai-completions-jpaj5g2b.js → openai-completions-bbbrrz4z.js} +12 -8
  101. package/dist/{openai-responses-9a3nme9j.js → openai-responses-9jjyrcm1.js} +15 -10
  102. package/dist/{opencode-adapter-4wcgmvgf.js → opencode-adapter-kb3g6pkf.js} +2 -2
  103. package/dist/{otel-impl-hnqm9mxq.js → otel-impl-0y9knpky.js} +5 -5
  104. package/dist/{pi-mono-adapter-d6sqm9wr.js → pi-mono-adapter-z6s1bme2.js} +100 -19
  105. package/dist/{pricing-refresh-y60z64pm.js → pricing-refresh-mth26tgp.js} +11 -9
  106. package/dist/{rbac-roles-8pa0754b.js → rbac-roles-kwntb23q.js} +13 -9
  107. package/dist/rbac-roles-vpk4ebm8.js +45 -0
  108. package/dist/{registry-v5wytg0s.js → registry-km6t1jd2.js} +1 -1
  109. package/dist/{render-v2-418s1vj7.js → render-v2-hcm7h00y.js} +13 -11
  110. package/dist/{runtime-3pknc168.js → runtime-vfjsfsc5.js} +4 -4
  111. package/dist/{setup-yghdkj4x.js → setup-hbyzd65h.js} +2 -2
  112. package/dist/{virtual-modules-jcceevt5.js → virtual-modules-9bv7ry91.js} +9 -8
  113. package/dist/{work-objects-j1sz20v9.js → work-objects-m09sxnhe.js} +36 -33
  114. package/dist/{worker-d4gcvkjt.js → worker-0h35rvk4.js} +45 -41
  115. package/openapi.json +491 -12
  116. package/package.json +13 -6
  117. package/src/be/api-drain.ts +184 -0
  118. package/src/be/db/tasks/read.ts +31 -6
  119. package/src/be/db/tasks/write.ts +5 -4
  120. package/src/be/db.ts +42 -18
  121. package/src/be/memory/link-resolver.ts +29 -3
  122. package/src/be/migrations/192_favorites_agent_fs_path.sql +36 -0
  123. package/src/be/onboarding.ts +7 -1
  124. package/src/be/seed-prompt-templates.ts +1 -0
  125. package/src/be/swarm-config-guard.ts +35 -16
  126. package/src/be/task-citations.ts +11 -5
  127. package/src/be/users.ts +3 -0
  128. package/src/cli.tsx +3 -2
  129. package/src/comb/agent-fs.ts +39 -0
  130. package/src/comb/config.ts +37 -0
  131. package/src/comb/markers.ts +37 -0
  132. package/src/comb/review-batch.ts +486 -0
  133. package/src/comb/templates.ts +88 -0
  134. package/src/commands/context-preamble.ts +4 -1
  135. package/src/commands/hook.ts +2 -1
  136. package/src/commands/runner.ts +262 -68
  137. package/src/commands/templates.ts +10 -0
  138. package/src/extensions/contract-types.generated.ts +1 -1
  139. package/src/fs/agent-fs-provider.ts +106 -2
  140. package/src/heartbeat/heartbeat.ts +4 -0
  141. package/src/hooks/codex-hook.ts +25 -1
  142. package/src/hooks/hook.ts +13 -0
  143. package/src/hooks/pr-body-guard.ts +983 -0
  144. package/src/http/all-routes.ts +1 -0
  145. package/src/http/assets.ts +5 -17
  146. package/src/http/comb.ts +131 -0
  147. package/src/http/core.ts +2 -1
  148. package/src/http/fs.ts +9 -17
  149. package/src/http/index.ts +23 -9
  150. package/src/http/onboarding.ts +21 -2
  151. package/src/http/poll.ts +30 -3
  152. package/src/http/realtime.ts +62 -0
  153. package/src/http/request-principal.ts +22 -0
  154. package/src/http/status.ts +34 -2
  155. package/src/kv-reserved-namespaces.ts +10 -5
  156. package/src/providers/dsh-adapter.ts +1 -1
  157. package/src/providers/pi-mono-adapter.ts +123 -0
  158. package/src/rbac/legacy-policy.ts +1 -0
  159. package/src/rbac/permissions.ts +4 -0
  160. package/src/realtime/auth.ts +63 -1
  161. package/src/realtime/tickets.ts +52 -0
  162. package/src/realtime/transport.ts +51 -22
  163. package/src/scripts-runtime/types/swarm-extension.d.ts +3 -1
  164. package/src/telemetry-context.ts +175 -0
  165. package/src/telemetry-contract/EVENTS.md +81 -0
  166. package/src/telemetry-contract/SOURCE.json +9 -0
  167. package/src/telemetry-contract/catalog.json +1335 -0
  168. package/src/telemetry-contract/index.ts +60 -0
  169. package/src/telemetry-contract/types.gen.ts +1971 -0
  170. package/src/telemetry-identity.ts +129 -0
  171. package/src/telemetry-snapshot.ts +211 -0
  172. package/src/telemetry-trigger.ts +125 -0
  173. package/src/telemetry-types.typetest.ts +40 -0
  174. package/src/telemetry.ts +271 -67
  175. package/src/tests/api-drain-e2e.test.ts +249 -0
  176. package/src/tests/api-drain-worker-e2e.test.ts +216 -0
  177. package/src/tests/api-drain.test.ts +351 -0
  178. package/src/tests/comb-config-guard.test.ts +38 -0
  179. package/src/tests/comb-links.test.ts +162 -0
  180. package/src/tests/comb-markers.test.ts +68 -0
  181. package/src/tests/comb-review-batch.test.ts +770 -0
  182. package/src/tests/comb-status.test.ts +152 -0
  183. package/src/tests/db-task-read-contract.test.ts +2 -0
  184. package/src/tests/db-task-write-contract.test.ts +1 -0
  185. package/src/tests/docs-index-footprint.test.js +3 -3
  186. package/src/tests/dsh-adapter.test.ts +1 -1
  187. package/src/tests/favorites-agent-fs-path.test.ts +226 -0
  188. package/src/tests/memory-link-resolver.test.ts +34 -0
  189. package/src/tests/onboarding.test.ts +108 -0
  190. package/src/tests/pi-mono-adapter.test.ts +265 -2
  191. package/src/tests/pr-body-leaks.test.ts +789 -0
  192. package/src/tests/preload.ts +8 -0
  193. package/src/tests/rbac-engine.test.ts +19 -0
  194. package/src/tests/realtime-room-auth.test.ts +104 -1
  195. package/src/tests/realtime-tickets.test.ts +74 -0
  196. package/src/tests/realtime-transport.test.ts +131 -4
  197. package/src/tests/runner-api-drain.test.ts +301 -0
  198. package/src/tests/runner-fallback-output.test.ts +61 -0
  199. package/src/tests/runner-fenced-json-output.test.ts +178 -0
  200. package/src/tests/script-connections.test.ts +2 -0
  201. package/src/tests/send-task-requested-by.test.ts +133 -15
  202. package/src/tests/task-lifecycle-telemetry.test.ts +8 -3
  203. package/src/tests/telemetry-context.test.ts +314 -0
  204. package/src/tests/telemetry-init.test.ts +51 -19
  205. package/src/tests/telemetry-snapshot.test.ts +229 -0
  206. package/src/tests/telemetry-trigger.test.ts +200 -0
  207. package/src/tests/template-registry-helpers.ts +1 -0
  208. package/src/tests/workflow-agent-task-retry.test.ts +363 -0
  209. package/src/tests/workflow-definition-telemetry.test.ts +4 -4
  210. package/src/tools/poll-task.ts +20 -1
  211. package/src/tools/send-task.ts +9 -1
  212. package/src/tools/task-action.ts +11 -0
  213. package/src/types.ts +2 -1
  214. package/src/utils/api-drain.ts +24 -0
  215. package/src/utils/constants.ts +57 -16
  216. package/src/utils/pr-body-leaks.ts +172 -0
  217. package/src/utils/task-attachment-links.ts +14 -8
  218. package/src/workflows/recovery.ts +26 -1
  219. package/src/workflows/resume.ts +31 -4
  220. package/src/workflows/task-step-routing.ts +75 -2
  221. package/tsconfig.json +3 -0
  222. package/dist/cli-tjf4cn8z.js +0 -9119
  223. package/dist/cli-tsk3nz8a.js +0 -582
  224. package/dist/{cli-t6v2ah3r.js → cli-twrh04ap.js} +3 -3
@@ -0,0 +1,1971 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+
6
+ export interface paths {
7
+ "/v1/events": {
8
+ parameters: {
9
+ query?: never;
10
+ header?: never;
11
+ path?: never;
12
+ cookie?: never;
13
+ };
14
+ get?: never;
15
+ put?: never;
16
+ /**
17
+ * Submit a single telemetry event
18
+ * @description Accepts one telemetry event per request. The payload is validated against the
19
+ * anonymous-first event envelope before any storage write is attempted.
20
+ */
21
+ post: operations["ingestEvent"];
22
+ delete?: never;
23
+ /** Check browser access for telemetry ingestion */
24
+ options: operations["preflightIngestEvent"];
25
+ head?: never;
26
+ patch?: never;
27
+ trace?: never;
28
+ };
29
+ "/v1/feedback": {
30
+ parameters: {
31
+ query?: never;
32
+ header?: never;
33
+ path?: never;
34
+ cookie?: never;
35
+ };
36
+ get?: never;
37
+ put?: never;
38
+ /**
39
+ * Submit product feedback
40
+ * @description Persists one feedback submission before scheduling best-effort delivery to
41
+ * the configured notification integrations. The entire JSON request body must
42
+ * not exceed 8 KB.
43
+ */
44
+ post: operations["submitFeedback"];
45
+ delete?: never;
46
+ /** Check browser access for feedback submission */
47
+ options: operations["preflightSubmitFeedback"];
48
+ head?: never;
49
+ patch?: never;
50
+ trace?: never;
51
+ };
52
+ }
53
+ export type webhooks = Record<string, never>;
54
+ export interface components {
55
+ schemas: {
56
+ /**
57
+ * @description Single telemetry event envelope.
58
+ *
59
+ * Anonymous mode is the default acceptance path. Identified mode is explicit and
60
+ * uses a separate actor contract so later service phases can enforce stricter
61
+ * rules around identified submissions.
62
+ *
63
+ * `AnonymousEventV2` is selected by top-level `schema_version: 2`. The version 1
64
+ * variants reject `schema_version` and `context`, so exactly one variant matches.
65
+ */
66
+ TelemetryEvent: components["schemas"]["AnonymousTelemetryEvent"] | components["schemas"]["IdentifiedTelemetryEvent"] | components["schemas"]["AnonymousEventV2"];
67
+ /**
68
+ * @description Schema version 2 event. Identity travels only in `context`: `actor_org_id`,
69
+ * `tier`, `actor_id` and `actor_email` are not allowed, and the ingest fills the
70
+ * `actor_org_id` and `tier` columns from `context.org_id` and `context.plan`.
71
+ * `product`, `event` and `properties` must match a catalogued event.
72
+ */
73
+ AnonymousEventV2: components["schemas"]["EventEnvelopeV2"] & components["schemas"]["CatalogEvent"];
74
+ EventEnvelopeV2: {
75
+ /** @constant */
76
+ schema_version: 2;
77
+ context: components["schemas"]["EventContext"];
78
+ /** @description Product emitting the event. */
79
+ product: string;
80
+ /** @description Catalogued event name. */
81
+ event: string;
82
+ /**
83
+ * Format: date-time
84
+ * @description Event timestamp supplied by the producer.
85
+ */
86
+ occurred_at: string;
87
+ /** @description Emitter, such as api-server, worker, ui or live. Not the task trigger. */
88
+ source: string;
89
+ /** @constant */
90
+ actor_mode: "anonymous";
91
+ /** @description Stable anonymous installation identifier. */
92
+ actor_anonymous_id: string;
93
+ /**
94
+ * @description Event properties. Their schema comes from the catalog branch
95
+ * (`CatalogEvent`); leaving it untyped here keeps the generated
96
+ * TypeScript exact, so an unknown property fails to compile.
97
+ */
98
+ properties: unknown;
99
+ /** @description Transport or producer metadata that should remain queryable. */
100
+ metadata: {
101
+ [key: string]: unknown;
102
+ };
103
+ };
104
+ /**
105
+ * @description Identity envelope for schema version 2. Pseudonymous by design: no email or
106
+ * user name is accepted, and `is_internal` is set only by the proxy.
107
+ */
108
+ EventContext: {
109
+ /** @description Stored in the `actor_org_id` column. A derived self-host ID (`org_` plus 16 hex) or the cloud org ID (`org_` plus 27 alphanumerics). */
110
+ org_id: string;
111
+ org_name?: string | null;
112
+ /** @description Lowercase hostname of the org's email domain, without `@`. */
113
+ org_domain?: string | null;
114
+ /** @description Pseudonymous user reference. */
115
+ user_ref?: string | null;
116
+ /** @enum {string|null} */
117
+ user_role?: "admin" | "member" | null;
118
+ /** @description Stored in the `tier` column. `paid-*` is reserved. */
119
+ plan: string;
120
+ /** @enum {string} */
121
+ deployment: "self-host" | "cloud" | "e2b";
122
+ swarm_version: string;
123
+ install_method?: string | null;
124
+ install_preset?: string | null;
125
+ acquisition_source?: string | null;
126
+ };
127
+ EventEnvelope: {
128
+ /** @description Product or service emitting the telemetry event. */
129
+ product: string;
130
+ /** @description Stable event name. */
131
+ event: string;
132
+ /**
133
+ * Format: date-time
134
+ * @description Event timestamp supplied by the producer.
135
+ */
136
+ occurred_at: string;
137
+ /** @description Free-form source label such as cli, desktop, backend, or browser. */
138
+ source: string;
139
+ /** @description Free-form plan or installation tier. */
140
+ tier?: string;
141
+ /**
142
+ * @description Actor identity mode.
143
+ *
144
+ * `anonymous` requires `actor_anonymous_id` and forbids identified-only
145
+ * fields. `identified` requires `actor_id`.
146
+ * @enum {string}
147
+ */
148
+ actor_mode: "anonymous" | "identified";
149
+ /** @description Optional organization or workspace identifier. */
150
+ actor_org_id?: string;
151
+ /** @description Event-specific key-value attributes. */
152
+ properties: {
153
+ [key: string]: unknown;
154
+ };
155
+ /** @description Transport or producer metadata that should remain queryable. */
156
+ metadata: {
157
+ [key: string]: unknown;
158
+ };
159
+ };
160
+ AnonymousTelemetryEvent: components["schemas"]["EventEnvelope"] & {
161
+ /** @constant */
162
+ actor_mode: "anonymous";
163
+ /** @description Stable anonymous actor or installation identifier. */
164
+ actor_anonymous_id: string;
165
+ };
166
+ IdentifiedTelemetryEvent: components["schemas"]["EventEnvelope"] & {
167
+ /** @constant */
168
+ actor_mode: "identified";
169
+ /** @description Stable identified actor identifier. */
170
+ actor_id: string;
171
+ /** @description Optional anonymous identifier retained for continuity. */
172
+ actor_anonymous_id?: string;
173
+ /**
174
+ * Format: email
175
+ * @description Optional identified actor email for explicit identified events.
176
+ */
177
+ actor_email?: string;
178
+ };
179
+ TelemetryAcceptedResponse: {
180
+ /** @constant */
181
+ status: "accepted";
182
+ /** @description Optional ingestion identifier returned by the service. */
183
+ ingest_id?: string;
184
+ };
185
+ FeedbackSubmission: {
186
+ /** @description Client-generated identifier used to deduplicate submissions. */
187
+ submission_id: string;
188
+ /** @description Optional submitter name. Blank strings are treated as absent. */
189
+ name?: string | null;
190
+ /**
191
+ * Format: email
192
+ * @description Optional submitter email. Blank strings are treated as absent.
193
+ */
194
+ email?: string | null;
195
+ /** @description Whether the submitter explicitly consented to newsletter contact. */
196
+ newsletter_consent: boolean;
197
+ /** @description Optional rating from 1 through 5. */
198
+ nps?: number | null;
199
+ /** @description Optional feedback message. Blank strings are treated as absent. */
200
+ message?: string | null;
201
+ /** @description Stable agent-swarm user identifier. */
202
+ user_id: string;
203
+ /** @description Stable agent-swarm installation identifier. */
204
+ install_id: string;
205
+ /** @description Agent-swarm version that submitted the feedback. */
206
+ swarm_version: string;
207
+ /** @description Optional organization name. Blank strings are treated as absent. */
208
+ org_name?: string | null;
209
+ /**
210
+ * Format: date-time
211
+ * @description Optional RFC3339 installation timestamp.
212
+ */
213
+ installed_at?: string | null;
214
+ /**
215
+ * Format: date-time
216
+ * @description Required RFC3339 submission timestamp.
217
+ */
218
+ submitted_at: string;
219
+ };
220
+ FeedbackAcceptedResponse: {
221
+ /** @constant */
222
+ status: "accepted";
223
+ /** @description Identifier of the persisted feedback submission. */
224
+ submission_id: string;
225
+ };
226
+ /**
227
+ * @description 400 body for `/v1/events`. It keeps the `ProblemResponse` shape so version 1
228
+ * clients that read `code` keep working. The first codes are the schema version 2
229
+ * errors; the rest are the envelope checks shared with version 1.
230
+ */
231
+ IngestError: {
232
+ /** @enum {string} */
233
+ code: "invalid_json" | "unknown_field" | "unknown_event" | "unknown_property" | "invalid_property" | "missing_property" | "invalid_envelope" | "v1_sunset" | "invalid_product" | "invalid_event" | "invalid_source" | "invalid_occurred_at" | "invalid_properties" | "invalid_metadata" | "invalid_tier" | "invalid_actor_org_id" | "invalid_actor_mode" | "invalid_actor_anonymous_id" | "invalid_actor_identity" | "invalid_actor_id" | "invalid_actor_email";
234
+ /** @description Human-readable detail, such as the offending property name. */
235
+ message: string;
236
+ };
237
+ ProblemResponse: {
238
+ code: string;
239
+ message: string;
240
+ };
241
+ AgentFsLiveSessionStartedProperties: {
242
+ entry_route: string;
243
+ is_cloud: boolean;
244
+ version: string;
245
+ };
246
+ /** @description An agent-fs live (browser) session started. (emitter: live, since 2026-09-30) */
247
+ AgentFsLiveSessionStartedEvent: {
248
+ /**
249
+ * @description discriminator enum property added by openapi-typescript
250
+ * @enum {string}
251
+ */
252
+ event: "live.session_started";
253
+ /** @constant */
254
+ product: "agent-fs";
255
+ properties: components["schemas"]["AgentFsLiveSessionStartedProperties"];
256
+ };
257
+ AgentFsServerHeartbeatProperties: {
258
+ arch?: string;
259
+ drives?: number;
260
+ embedding_provider?: string;
261
+ files?: number;
262
+ is_cloud: boolean;
263
+ ops_total: number;
264
+ orgs?: number;
265
+ os?: string;
266
+ shutdown?: boolean;
267
+ storage_provider?: string;
268
+ users?: number;
269
+ version: string;
270
+ };
271
+ /** @description Daily agent-fs server heartbeat. v1 also sends one ops_<op> count per operation; list them before agent-fs moves to schema_version 2. (emitter: api-server, since 2026-09-30) */
272
+ AgentFsServerHeartbeatEvent: {
273
+ /**
274
+ * @description discriminator enum property added by openapi-typescript
275
+ * @enum {string}
276
+ */
277
+ event: "server.heartbeat";
278
+ /** @constant */
279
+ product: "agent-fs";
280
+ properties: components["schemas"]["AgentFsServerHeartbeatProperties"];
281
+ };
282
+ AgentFsServerStartedProperties: {
283
+ arch?: string;
284
+ drives?: number;
285
+ embedding_provider?: string;
286
+ files?: number;
287
+ is_cloud: boolean;
288
+ orgs?: number;
289
+ os?: string;
290
+ storage_provider?: string;
291
+ users?: number;
292
+ version: string;
293
+ };
294
+ /** @description The agent-fs server started. (emitter: api-server, since 2026-09-30) */
295
+ AgentFsServerStartedEvent: {
296
+ /**
297
+ * @description discriminator enum property added by openapi-typescript
298
+ * @enum {string}
299
+ */
300
+ event: "server.started";
301
+ /** @constant */
302
+ product: "agent-fs";
303
+ properties: components["schemas"]["AgentFsServerStartedProperties"];
304
+ };
305
+ AgentFsCatalogEvent: components["schemas"]["AgentFsLiveSessionStartedEvent"] | components["schemas"]["AgentFsServerHeartbeatEvent"] | components["schemas"]["AgentFsServerStartedEvent"];
306
+ AgentSwarmAgentRegisteredProperties: {
307
+ capabilities: unknown[];
308
+ /** @description An email channel is configured. */
309
+ has_email_channel?: boolean;
310
+ /** @description An embedding API key is configured. */
311
+ has_embedding_key?: boolean;
312
+ /** @description A notification channel is configured. */
313
+ has_notification_channel?: boolean;
314
+ /** @description A Slack channel is configured. */
315
+ has_slack_channel?: boolean;
316
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
317
+ install_method?: string;
318
+ isReconnect: boolean;
319
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
320
+ is_cloud?: boolean;
321
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
322
+ is_e2b?: boolean;
323
+ role?: string;
324
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
325
+ swarmVersion?: string;
326
+ };
327
+ /** @description An agent registered or reconnected. (emitter: api-server, since 2026-09-30) */
328
+ AgentSwarmAgentRegisteredEvent: {
329
+ /**
330
+ * @description discriminator enum property added by openapi-typescript
331
+ * @enum {string}
332
+ */
333
+ event: "agent.registered";
334
+ /** @constant */
335
+ product: "agent-swarm";
336
+ properties: components["schemas"]["AgentSwarmAgentRegisteredProperties"];
337
+ };
338
+ AgentSwarmCompactionTriggeredProperties: {
339
+ compactTrigger: string;
340
+ contextTotalTokens: number;
341
+ /** @description An email channel is configured. */
342
+ has_email_channel?: boolean;
343
+ /** @description An embedding API key is configured. */
344
+ has_embedding_key?: boolean;
345
+ /** @description A notification channel is configured. */
346
+ has_notification_channel?: boolean;
347
+ /** @description A Slack channel is configured. */
348
+ has_slack_channel?: boolean;
349
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
350
+ install_method?: string;
351
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
352
+ is_cloud?: boolean;
353
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
354
+ is_e2b?: boolean;
355
+ preCompactTokens: number;
356
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
357
+ swarmVersion?: string;
358
+ };
359
+ /** @description The harness compacted a session context. (emitter: worker, since 2026-09-30) */
360
+ AgentSwarmCompactionTriggeredEvent: {
361
+ /**
362
+ * @description discriminator enum property added by openapi-typescript
363
+ * @enum {string}
364
+ */
365
+ event: "compaction.triggered";
366
+ /** @constant */
367
+ product: "agent-swarm";
368
+ properties: components["schemas"]["AgentSwarmCompactionTriggeredProperties"];
369
+ };
370
+ AgentSwarmFeatureUsedProperties: {
371
+ feature: string;
372
+ /** @description An email channel is configured. */
373
+ has_email_channel?: boolean;
374
+ /** @description An embedding API key is configured. */
375
+ has_embedding_key?: boolean;
376
+ /** @description A notification channel is configured. */
377
+ has_notification_channel?: boolean;
378
+ /** @description A Slack channel is configured. */
379
+ has_slack_channel?: boolean;
380
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
381
+ install_method?: string;
382
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
383
+ is_cloud?: boolean;
384
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
385
+ is_e2b?: boolean;
386
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
387
+ swarmVersion?: string;
388
+ };
389
+ /** @description A dashboard feature was used. (emitter: ui, since 2026-09-30) */
390
+ AgentSwarmFeatureUsedEvent: {
391
+ /**
392
+ * @description discriminator enum property added by openapi-typescript
393
+ * @enum {string}
394
+ */
395
+ event: "feature.used";
396
+ /** @constant */
397
+ product: "agent-swarm";
398
+ properties: components["schemas"]["AgentSwarmFeatureUsedProperties"];
399
+ };
400
+ AgentSwarmIntegrationConnectedProperties: {
401
+ first_of_type: boolean;
402
+ /** @description An email channel is configured. */
403
+ has_email_channel?: boolean;
404
+ /** @description An embedding API key is configured. */
405
+ has_embedding_key?: boolean;
406
+ /** @description A notification channel is configured. */
407
+ has_notification_channel?: boolean;
408
+ /** @description A Slack channel is configured. */
409
+ has_slack_channel?: boolean;
410
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
411
+ install_method?: string;
412
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
413
+ is_cloud?: boolean;
414
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
415
+ is_e2b?: boolean;
416
+ provider?: string;
417
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
418
+ swarmVersion?: string;
419
+ type: string;
420
+ };
421
+ /** @description An integration was connected. (emitter: api-server, since 2026-09-30) */
422
+ AgentSwarmIntegrationConnectedEvent: {
423
+ /**
424
+ * @description discriminator enum property added by openapi-typescript
425
+ * @enum {string}
426
+ */
427
+ event: "integration.connected";
428
+ /** @constant */
429
+ product: "agent-swarm";
430
+ properties: components["schemas"]["AgentSwarmIntegrationConnectedProperties"];
431
+ };
432
+ AgentSwarmLeadCapturedProperties: {
433
+ channel: string;
434
+ consent: boolean;
435
+ /** @description An email channel is configured. */
436
+ has_email_channel?: boolean;
437
+ /** @description An embedding API key is configured. */
438
+ has_embedding_key?: boolean;
439
+ /** @description A notification channel is configured. */
440
+ has_notification_channel?: boolean;
441
+ /** @description A Slack channel is configured. */
442
+ has_slack_channel?: boolean;
443
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
444
+ install_method?: string;
445
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
446
+ is_cloud?: boolean;
447
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
448
+ is_e2b?: boolean;
449
+ submission_id: string;
450
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
451
+ swarmVersion?: string;
452
+ };
453
+ /** @description A consented lead (Teams waitlist or private-beta sign-up). The email stays in feedback_submissions. (emitter: api-server, since 2026-09-30) */
454
+ AgentSwarmLeadCapturedEvent: {
455
+ /**
456
+ * @description discriminator enum property added by openapi-typescript
457
+ * @enum {string}
458
+ */
459
+ event: "lead.captured";
460
+ /** @constant */
461
+ product: "agent-swarm";
462
+ properties: components["schemas"]["AgentSwarmLeadCapturedProperties"];
463
+ };
464
+ AgentSwarmNotificationDismissedProperties: {
465
+ /** @description An email channel is configured. */
466
+ has_email_channel?: boolean;
467
+ /** @description An embedding API key is configured. */
468
+ has_embedding_key?: boolean;
469
+ /** @description A notification channel is configured. */
470
+ has_notification_channel?: boolean;
471
+ /** @description A Slack channel is configured. */
472
+ has_slack_channel?: boolean;
473
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
474
+ install_method?: string;
475
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
476
+ is_cloud?: boolean;
477
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
478
+ is_e2b?: boolean;
479
+ key: string;
480
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
481
+ swarmVersion?: string;
482
+ };
483
+ /** @description A notification-centre item was dismissed. (emitter: ui, since 2026-09-30) */
484
+ AgentSwarmNotificationDismissedEvent: {
485
+ /**
486
+ * @description discriminator enum property added by openapi-typescript
487
+ * @enum {string}
488
+ */
489
+ event: "notification.dismissed";
490
+ /** @constant */
491
+ product: "agent-swarm";
492
+ properties: components["schemas"]["AgentSwarmNotificationDismissedProperties"];
493
+ };
494
+ AgentSwarmNotificationSubmittedProperties: {
495
+ /** @description An email channel is configured. */
496
+ has_email_channel?: boolean;
497
+ /** @description An embedding API key is configured. */
498
+ has_embedding_key?: boolean;
499
+ /** @description A notification channel is configured. */
500
+ has_notification_channel?: boolean;
501
+ /** @description A Slack channel is configured. */
502
+ has_slack_channel?: boolean;
503
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
504
+ install_method?: string;
505
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
506
+ is_cloud?: boolean;
507
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
508
+ is_e2b?: boolean;
509
+ key: string;
510
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
511
+ swarmVersion?: string;
512
+ };
513
+ /** @description A notification-centre item was submitted. (emitter: ui, since 2026-09-30) */
514
+ AgentSwarmNotificationSubmittedEvent: {
515
+ /**
516
+ * @description discriminator enum property added by openapi-typescript
517
+ * @enum {string}
518
+ */
519
+ event: "notification.submitted";
520
+ /** @constant */
521
+ product: "agent-swarm";
522
+ properties: components["schemas"]["AgentSwarmNotificationSubmittedProperties"];
523
+ };
524
+ AgentSwarmNotificationViewedProperties: {
525
+ /** @description An email channel is configured. */
526
+ has_email_channel?: boolean;
527
+ /** @description An embedding API key is configured. */
528
+ has_embedding_key?: boolean;
529
+ /** @description A notification channel is configured. */
530
+ has_notification_channel?: boolean;
531
+ /** @description A Slack channel is configured. */
532
+ has_slack_channel?: boolean;
533
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
534
+ install_method?: string;
535
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
536
+ is_cloud?: boolean;
537
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
538
+ is_e2b?: boolean;
539
+ key: string;
540
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
541
+ swarmVersion?: string;
542
+ };
543
+ /** @description A notification-centre item was shown. (emitter: ui, since 2026-09-30) */
544
+ AgentSwarmNotificationViewedEvent: {
545
+ /**
546
+ * @description discriminator enum property added by openapi-typescript
547
+ * @enum {string}
548
+ */
549
+ event: "notification.viewed";
550
+ /** @constant */
551
+ product: "agent-swarm";
552
+ properties: components["schemas"]["AgentSwarmNotificationViewedProperties"];
553
+ };
554
+ AgentSwarmOnboardingCompletedProperties: {
555
+ /** @description An email channel is configured. */
556
+ has_email_channel?: boolean;
557
+ /** @description An embedding API key is configured. */
558
+ has_embedding_key?: boolean;
559
+ /** @description A notification channel is configured. */
560
+ has_notification_channel?: boolean;
561
+ /** @description A Slack channel is configured. */
562
+ has_slack_channel?: boolean;
563
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
564
+ install_method?: string;
565
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
566
+ is_cloud?: boolean;
567
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
568
+ is_e2b?: boolean;
569
+ seconds_since_install?: number;
570
+ seconds_since_start: number;
571
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
572
+ swarmVersion?: string;
573
+ };
574
+ /** @description Onboarding was completed. (emitter: api-server, since 2026-09-30) */
575
+ AgentSwarmOnboardingCompletedEvent: {
576
+ /**
577
+ * @description discriminator enum property added by openapi-typescript
578
+ * @enum {string}
579
+ */
580
+ event: "onboarding.completed";
581
+ /** @constant */
582
+ product: "agent-swarm";
583
+ properties: components["schemas"]["AgentSwarmOnboardingCompletedProperties"];
584
+ };
585
+ AgentSwarmOnboardingDismissedProperties: {
586
+ /** @description An email channel is configured. */
587
+ has_email_channel?: boolean;
588
+ /** @description An embedding API key is configured. */
589
+ has_embedding_key?: boolean;
590
+ /** @description A notification channel is configured. */
591
+ has_notification_channel?: boolean;
592
+ /** @description A Slack channel is configured. */
593
+ has_slack_channel?: boolean;
594
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
595
+ install_method?: string;
596
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
597
+ is_cloud?: boolean;
598
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
599
+ is_e2b?: boolean;
600
+ seconds_since_install?: number;
601
+ seconds_since_start: number;
602
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
603
+ swarmVersion?: string;
604
+ };
605
+ /** @description Onboarding was dismissed. (emitter: api-server, since 2026-09-30) */
606
+ AgentSwarmOnboardingDismissedEvent: {
607
+ /**
608
+ * @description discriminator enum property added by openapi-typescript
609
+ * @enum {string}
610
+ */
611
+ event: "onboarding.dismissed";
612
+ /** @constant */
613
+ product: "agent-swarm";
614
+ properties: components["schemas"]["AgentSwarmOnboardingDismissedProperties"];
615
+ };
616
+ AgentSwarmOnboardingFirstTaskCompletedProperties: {
617
+ /** @description An email channel is configured. */
618
+ has_email_channel?: boolean;
619
+ /** @description An embedding API key is configured. */
620
+ has_embedding_key?: boolean;
621
+ /** @description A notification channel is configured. */
622
+ has_notification_channel?: boolean;
623
+ /** @description A Slack channel is configured. */
624
+ has_slack_channel?: boolean;
625
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
626
+ install_method?: string;
627
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
628
+ is_cloud?: boolean;
629
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
630
+ is_e2b?: boolean;
631
+ method?: string;
632
+ seconds_since_install?: number;
633
+ seconds_since_start: number;
634
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
635
+ swarmVersion?: string;
636
+ };
637
+ /** @description The first task after onboarding completed. (emitter: api-server, since 2026-09-30) */
638
+ AgentSwarmOnboardingFirstTaskCompletedEvent: {
639
+ /**
640
+ * @description discriminator enum property added by openapi-typescript
641
+ * @enum {string}
642
+ */
643
+ event: "onboarding.first_task_completed";
644
+ /** @constant */
645
+ product: "agent-swarm";
646
+ properties: components["schemas"]["AgentSwarmOnboardingFirstTaskCompletedProperties"];
647
+ };
648
+ AgentSwarmOnboardingStartedProperties: {
649
+ existing_install: boolean;
650
+ /** @description An email channel is configured. */
651
+ has_email_channel?: boolean;
652
+ /** @description An embedding API key is configured. */
653
+ has_embedding_key?: boolean;
654
+ /** @description A notification channel is configured. */
655
+ has_notification_channel?: boolean;
656
+ /** @description A Slack channel is configured. */
657
+ has_slack_channel?: boolean;
658
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
659
+ install_method?: string;
660
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
661
+ is_cloud?: boolean;
662
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
663
+ is_e2b?: boolean;
664
+ seconds_since_install?: number;
665
+ seconds_since_start: number;
666
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
667
+ swarmVersion?: string;
668
+ };
669
+ /** @description Onboarding started. (emitter: api-server, since 2026-09-30) */
670
+ AgentSwarmOnboardingStartedEvent: {
671
+ /**
672
+ * @description discriminator enum property added by openapi-typescript
673
+ * @enum {string}
674
+ */
675
+ event: "onboarding.started";
676
+ /** @constant */
677
+ product: "agent-swarm";
678
+ properties: components["schemas"]["AgentSwarmOnboardingStartedProperties"];
679
+ };
680
+ AgentSwarmOnboardingStepCompletedProperties: {
681
+ derived: boolean;
682
+ /** @description An email channel is configured. */
683
+ has_email_channel?: boolean;
684
+ /** @description An embedding API key is configured. */
685
+ has_embedding_key?: boolean;
686
+ /** @description A notification channel is configured. */
687
+ has_notification_channel?: boolean;
688
+ /** @description A Slack channel is configured. */
689
+ has_slack_channel?: boolean;
690
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
691
+ install_method?: string;
692
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
693
+ is_cloud?: boolean;
694
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
695
+ is_e2b?: boolean;
696
+ method?: string;
697
+ seconds_since_install?: number;
698
+ seconds_since_start: number;
699
+ step: string;
700
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
701
+ swarmVersion?: string;
702
+ };
703
+ /** @description An onboarding step was completed. (emitter: api-server, since 2026-09-30) */
704
+ AgentSwarmOnboardingStepCompletedEvent: {
705
+ /**
706
+ * @description discriminator enum property added by openapi-typescript
707
+ * @enum {string}
708
+ */
709
+ event: "onboarding.step_completed";
710
+ /** @constant */
711
+ product: "agent-swarm";
712
+ properties: components["schemas"]["AgentSwarmOnboardingStepCompletedProperties"];
713
+ };
714
+ AgentSwarmOnboardingStepFailedProperties: {
715
+ error_class: string;
716
+ /** @description An email channel is configured. */
717
+ has_email_channel?: boolean;
718
+ /** @description An embedding API key is configured. */
719
+ has_embedding_key?: boolean;
720
+ /** @description A notification channel is configured. */
721
+ has_notification_channel?: boolean;
722
+ /** @description A Slack channel is configured. */
723
+ has_slack_channel?: boolean;
724
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
725
+ install_method?: string;
726
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
727
+ is_cloud?: boolean;
728
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
729
+ is_e2b?: boolean;
730
+ seconds_since_install?: number;
731
+ seconds_since_start: number;
732
+ step: string;
733
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
734
+ swarmVersion?: string;
735
+ };
736
+ /** @description An onboarding step failed. (emitter: api-server, since 2026-09-30) */
737
+ AgentSwarmOnboardingStepFailedEvent: {
738
+ /**
739
+ * @description discriminator enum property added by openapi-typescript
740
+ * @enum {string}
741
+ */
742
+ event: "onboarding.step_failed";
743
+ /** @constant */
744
+ product: "agent-swarm";
745
+ properties: components["schemas"]["AgentSwarmOnboardingStepFailedProperties"];
746
+ };
747
+ AgentSwarmOnboardingStepSkippedProperties: {
748
+ /** @description An email channel is configured. */
749
+ has_email_channel?: boolean;
750
+ /** @description An embedding API key is configured. */
751
+ has_embedding_key?: boolean;
752
+ /** @description A notification channel is configured. */
753
+ has_notification_channel?: boolean;
754
+ /** @description A Slack channel is configured. */
755
+ has_slack_channel?: boolean;
756
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
757
+ install_method?: string;
758
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
759
+ is_cloud?: boolean;
760
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
761
+ is_e2b?: boolean;
762
+ seconds_since_install?: number;
763
+ seconds_since_start: number;
764
+ step: string;
765
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
766
+ swarmVersion?: string;
767
+ };
768
+ /** @description An onboarding step was skipped. (emitter: api-server, since 2026-09-30) */
769
+ AgentSwarmOnboardingStepSkippedEvent: {
770
+ /**
771
+ * @description discriminator enum property added by openapi-typescript
772
+ * @enum {string}
773
+ */
774
+ event: "onboarding.step_skipped";
775
+ /** @constant */
776
+ product: "agent-swarm";
777
+ properties: components["schemas"]["AgentSwarmOnboardingStepSkippedProperties"];
778
+ };
779
+ AgentSwarmOnboardingStepViewedProperties: {
780
+ /** @description An email channel is configured. */
781
+ has_email_channel?: boolean;
782
+ /** @description An embedding API key is configured. */
783
+ has_embedding_key?: boolean;
784
+ /** @description A notification channel is configured. */
785
+ has_notification_channel?: boolean;
786
+ /** @description A Slack channel is configured. */
787
+ has_slack_channel?: boolean;
788
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
789
+ install_method?: string;
790
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
791
+ is_cloud?: boolean;
792
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
793
+ is_e2b?: boolean;
794
+ seconds_since_install?: number;
795
+ seconds_since_start: number;
796
+ step: string;
797
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
798
+ swarmVersion?: string;
799
+ };
800
+ /** @description An onboarding step was shown. (emitter: api-server, since 2026-09-30) */
801
+ AgentSwarmOnboardingStepViewedEvent: {
802
+ /**
803
+ * @description discriminator enum property added by openapi-typescript
804
+ * @enum {string}
805
+ */
806
+ event: "onboarding.step_viewed";
807
+ /** @constant */
808
+ product: "agent-swarm";
809
+ properties: components["schemas"]["AgentSwarmOnboardingStepViewedProperties"];
810
+ };
811
+ AgentSwarmOrgSnapshotProperties: {
812
+ /** @description Registered agents. */
813
+ agents_total: number;
814
+ /** @description An email channel is configured. */
815
+ has_email_channel?: boolean;
816
+ /** @description An embedding API key is configured. */
817
+ has_embedding_key?: boolean;
818
+ /** @description A notification channel is configured. */
819
+ has_notification_channel?: boolean;
820
+ /** @description A Slack channel is configured. */
821
+ has_slack_channel?: boolean;
822
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
823
+ install_method?: string;
824
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
825
+ is_cloud?: boolean;
826
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
827
+ is_e2b?: boolean;
828
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
829
+ swarmVersion?: string;
830
+ /** @description Distinct requesting users on tasks created in the last 7 days. */
831
+ users_active_7d: number;
832
+ /** @description Active users with an admin grant. */
833
+ users_admin: number;
834
+ /** @description Active users with a linked GitHub identity. */
835
+ users_linked_github: number;
836
+ /** @description Active users with a linked GitLab identity. */
837
+ users_linked_gitlab: number;
838
+ /** @description Active users with a linked Jira identity. */
839
+ users_linked_jira: number;
840
+ /** @description Active users with a linked Linear identity. */
841
+ users_linked_linear: number;
842
+ /** @description Active users with any other linked identity. */
843
+ users_linked_other: number;
844
+ /** @description Active users with a linked Slack identity. */
845
+ users_linked_slack: number;
846
+ /** @description Suspended users. */
847
+ users_suspended: number;
848
+ /** @description Active users. */
849
+ users_total: number;
850
+ /** @description Active users with an email or a live aswt_ token. */
851
+ users_with_login: number;
852
+ };
853
+ /** @description Daily per-install user and agent counts. Counts only: no names, emails or IDs. (emitter: api-server, since 2026-09-30) */
854
+ AgentSwarmOrgSnapshotEvent: {
855
+ /**
856
+ * @description discriminator enum property added by openapi-typescript
857
+ * @enum {string}
858
+ */
859
+ event: "org.snapshot";
860
+ /** @constant */
861
+ product: "agent-swarm";
862
+ properties: components["schemas"]["AgentSwarmOrgSnapshotProperties"];
863
+ };
864
+ AgentSwarmPageViewedProperties: {
865
+ /** @description An email channel is configured. */
866
+ has_email_channel?: boolean;
867
+ /** @description An embedding API key is configured. */
868
+ has_embedding_key?: boolean;
869
+ /** @description A notification channel is configured. */
870
+ has_notification_channel?: boolean;
871
+ /** @description A Slack channel is configured. */
872
+ has_slack_channel?: boolean;
873
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
874
+ install_method?: string;
875
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
876
+ is_cloud?: boolean;
877
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
878
+ is_e2b?: boolean;
879
+ /** @description Route pattern, never the concrete URL. */
880
+ route_template: string;
881
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
882
+ swarmVersion?: string;
883
+ };
884
+ /** @description A dashboard page was viewed. (emitter: ui, since 2026-09-30) */
885
+ AgentSwarmPageViewedEvent: {
886
+ /**
887
+ * @description discriminator enum property added by openapi-typescript
888
+ * @enum {string}
889
+ */
890
+ event: "page.viewed";
891
+ /** @constant */
892
+ product: "agent-swarm";
893
+ properties: components["schemas"]["AgentSwarmPageViewedProperties"];
894
+ };
895
+ AgentSwarmScheduleErrorProperties: {
896
+ consecutiveErrors: number;
897
+ /** @description An email channel is configured. */
898
+ has_email_channel?: boolean;
899
+ /** @description An embedding API key is configured. */
900
+ has_embedding_key?: boolean;
901
+ /** @description A notification channel is configured. */
902
+ has_notification_channel?: boolean;
903
+ /** @description A Slack channel is configured. */
904
+ has_slack_channel?: boolean;
905
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
906
+ install_method?: string;
907
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
908
+ is_cloud?: boolean;
909
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
910
+ is_e2b?: boolean;
911
+ scheduleType: string;
912
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
913
+ swarmVersion?: string;
914
+ triggeredWorkflows: boolean;
915
+ wasRecovered: boolean;
916
+ };
917
+ /** @description A schedule failed to fire. (emitter: api-server, since 2026-09-30) */
918
+ AgentSwarmScheduleErrorEvent: {
919
+ /**
920
+ * @description discriminator enum property added by openapi-typescript
921
+ * @enum {string}
922
+ */
923
+ event: "schedule.error";
924
+ /** @constant */
925
+ product: "agent-swarm";
926
+ properties: components["schemas"]["AgentSwarmScheduleErrorProperties"];
927
+ };
928
+ AgentSwarmScheduleExecutedProperties: {
929
+ /** @description An email channel is configured. */
930
+ has_email_channel?: boolean;
931
+ /** @description An embedding API key is configured. */
932
+ has_embedding_key?: boolean;
933
+ /** @description A notification channel is configured. */
934
+ has_notification_channel?: boolean;
935
+ /** @description A Slack channel is configured. */
936
+ has_slack_channel?: boolean;
937
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
938
+ install_method?: string;
939
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
940
+ is_cloud?: boolean;
941
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
942
+ is_e2b?: boolean;
943
+ scheduleType: string;
944
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
945
+ swarmVersion?: string;
946
+ triggeredWorkflows: boolean;
947
+ wasRecovered: boolean;
948
+ };
949
+ /** @description A schedule fired. (emitter: api-server, since 2026-09-30) */
950
+ AgentSwarmScheduleExecutedEvent: {
951
+ /**
952
+ * @description discriminator enum property added by openapi-typescript
953
+ * @enum {string}
954
+ */
955
+ event: "schedule.executed";
956
+ /** @constant */
957
+ product: "agent-swarm";
958
+ properties: components["schemas"]["AgentSwarmScheduleExecutedProperties"];
959
+ };
960
+ AgentSwarmServerShutdownProperties: {
961
+ /** @description An email channel is configured. */
962
+ has_email_channel?: boolean;
963
+ /** @description An embedding API key is configured. */
964
+ has_embedding_key?: boolean;
965
+ /** @description A notification channel is configured. */
966
+ has_notification_channel?: boolean;
967
+ /** @description A Slack channel is configured. */
968
+ has_slack_channel?: boolean;
969
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
970
+ install_method?: string;
971
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
972
+ is_cloud?: boolean;
973
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
974
+ is_e2b?: boolean;
975
+ sessionsProcessed: number;
976
+ signal: string;
977
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
978
+ swarmVersion?: string;
979
+ uptimeMs: number;
980
+ };
981
+ /** @description The API server shut down. (emitter: api-server, since 2026-09-30) */
982
+ AgentSwarmServerShutdownEvent: {
983
+ /**
984
+ * @description discriminator enum property added by openapi-typescript
985
+ * @enum {string}
986
+ */
987
+ event: "server.shutdown";
988
+ /** @constant */
989
+ product: "agent-swarm";
990
+ properties: components["schemas"]["AgentSwarmServerShutdownProperties"];
991
+ };
992
+ AgentSwarmServerStartedProperties: {
993
+ /** @description An email channel is configured. */
994
+ has_email_channel?: boolean;
995
+ /** @description An embedding API key is configured. */
996
+ has_embedding_key?: boolean;
997
+ /** @description A notification channel is configured. */
998
+ has_notification_channel?: boolean;
999
+ /** @description A Slack channel is configured. */
1000
+ has_slack_channel?: boolean;
1001
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1002
+ install_method?: string;
1003
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1004
+ is_cloud?: boolean;
1005
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1006
+ is_e2b?: boolean;
1007
+ port: number;
1008
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1009
+ swarmVersion?: string;
1010
+ };
1011
+ /** @description The API server started. (emitter: api-server, since 2026-09-30) */
1012
+ AgentSwarmServerStartedEvent: {
1013
+ /**
1014
+ * @description discriminator enum property added by openapi-typescript
1015
+ * @enum {string}
1016
+ */
1017
+ event: "server.started";
1018
+ /** @constant */
1019
+ product: "agent-swarm";
1020
+ properties: components["schemas"]["AgentSwarmServerStartedProperties"];
1021
+ };
1022
+ /**
1023
+ * @description Surface that started a chain of work: agent-swarm's AgentTaskSourceSchema values plus other.
1024
+ * @enum {string}
1025
+ */
1026
+ TriggerSurface: "slack" | "ui" | "api" | "mcp" | "github" | "gitlab" | "linear" | "jira" | "agentmail" | "schedule" | "workflow" | "system" | "other";
1027
+ AgentSwarmSessionCancelledProperties: {
1028
+ agentId: string;
1029
+ durationMs: number;
1030
+ errorCategory: string;
1031
+ /** @description An email channel is configured. */
1032
+ has_email_channel?: boolean;
1033
+ /** @description An embedding API key is configured. */
1034
+ has_embedding_key?: boolean;
1035
+ /** @description A notification channel is configured. */
1036
+ has_notification_channel?: boolean;
1037
+ /** @description A Slack channel is configured. */
1038
+ has_slack_channel?: boolean;
1039
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1040
+ install_method?: string;
1041
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1042
+ is_cloud?: boolean;
1043
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1044
+ is_e2b?: boolean;
1045
+ model: string;
1046
+ provider: string;
1047
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1048
+ swarmVersion?: string;
1049
+ /** @description Task the session ran, or null for a session with no task. */
1050
+ taskId: string | null;
1051
+ /** @description Root surface of the task, or null for a session with no task. */
1052
+ trigger_surface: components["schemas"]["TriggerSurface"] | null;
1053
+ wasRateLimited: boolean;
1054
+ };
1055
+ /** @description A session was cancelled. (emitter: worker, since 2026-09-30) */
1056
+ AgentSwarmSessionCancelledEvent: {
1057
+ /**
1058
+ * @description discriminator enum property added by openapi-typescript
1059
+ * @enum {string}
1060
+ */
1061
+ event: "session.cancelled";
1062
+ /** @constant */
1063
+ product: "agent-swarm";
1064
+ properties: components["schemas"]["AgentSwarmSessionCancelledProperties"];
1065
+ };
1066
+ AgentSwarmSessionCostProperties: {
1067
+ agentId: string;
1068
+ cacheReadTokens?: number;
1069
+ cacheWriteTokens?: number;
1070
+ durationMs: number;
1071
+ /** @description An email channel is configured. */
1072
+ has_email_channel?: boolean;
1073
+ /** @description An embedding API key is configured. */
1074
+ has_embedding_key?: boolean;
1075
+ /** @description A notification channel is configured. */
1076
+ has_notification_channel?: boolean;
1077
+ /** @description A Slack channel is configured. */
1078
+ has_slack_channel?: boolean;
1079
+ inputTokens: number;
1080
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1081
+ install_method?: string;
1082
+ isError: boolean;
1083
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1084
+ is_cloud?: boolean;
1085
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1086
+ is_e2b?: boolean;
1087
+ model: string;
1088
+ numTurns: number | null;
1089
+ outputTokens: number;
1090
+ provider: string;
1091
+ reasoningOutputTokens?: number;
1092
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1093
+ swarmVersion?: string;
1094
+ /** @description Task the session ran, or null for a session with no task. */
1095
+ taskId: string | null;
1096
+ thinkingTokens?: number;
1097
+ totalCostUsd: number;
1098
+ /** @description Root surface of the task, or null for a session with no task. */
1099
+ trigger_surface: components["schemas"]["TriggerSurface"] | null;
1100
+ };
1101
+ /** @description Token usage and cost of one session. (emitter: worker, since 2026-09-30) */
1102
+ AgentSwarmSessionCostEvent: {
1103
+ /**
1104
+ * @description discriminator enum property added by openapi-typescript
1105
+ * @enum {string}
1106
+ */
1107
+ event: "session.cost";
1108
+ /** @constant */
1109
+ product: "agent-swarm";
1110
+ properties: components["schemas"]["AgentSwarmSessionCostProperties"];
1111
+ };
1112
+ AgentSwarmSessionEndedProperties: {
1113
+ agentId: string;
1114
+ durationMs?: number;
1115
+ /** @description An email channel is configured. */
1116
+ has_email_channel?: boolean;
1117
+ /** @description An embedding API key is configured. */
1118
+ has_embedding_key?: boolean;
1119
+ /** @description A notification channel is configured. */
1120
+ has_notification_channel?: boolean;
1121
+ /** @description A Slack channel is configured. */
1122
+ has_slack_channel?: boolean;
1123
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1124
+ install_method?: string;
1125
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1126
+ is_cloud?: boolean;
1127
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1128
+ is_e2b?: boolean;
1129
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1130
+ swarmVersion?: string;
1131
+ /** @description Task the session ran, or null for a session with no task. */
1132
+ taskId: string | null;
1133
+ tasksProcessed: number;
1134
+ /** @description Root surface of the task, or null for a session with no task. */
1135
+ trigger_surface: components["schemas"]["TriggerSurface"] | null;
1136
+ };
1137
+ /** @description A worker or lead session ended. (emitter: worker, since 2026-09-30) */
1138
+ AgentSwarmSessionEndedEvent: {
1139
+ /**
1140
+ * @description discriminator enum property added by openapi-typescript
1141
+ * @enum {string}
1142
+ */
1143
+ event: "session.ended";
1144
+ /** @constant */
1145
+ product: "agent-swarm";
1146
+ properties: components["schemas"]["AgentSwarmSessionEndedProperties"];
1147
+ };
1148
+ AgentSwarmSessionFailureProperties: {
1149
+ agentId: string;
1150
+ durationMs: number;
1151
+ errorCategory: string;
1152
+ /** @description An email channel is configured. */
1153
+ has_email_channel?: boolean;
1154
+ /** @description An embedding API key is configured. */
1155
+ has_embedding_key?: boolean;
1156
+ /** @description A notification channel is configured. */
1157
+ has_notification_channel?: boolean;
1158
+ /** @description A Slack channel is configured. */
1159
+ has_slack_channel?: boolean;
1160
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1161
+ install_method?: string;
1162
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1163
+ is_cloud?: boolean;
1164
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1165
+ is_e2b?: boolean;
1166
+ model: string;
1167
+ provider: string;
1168
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1169
+ swarmVersion?: string;
1170
+ /** @description Task the session ran, or null for a session with no task. */
1171
+ taskId: string | null;
1172
+ /** @description Root surface of the task, or null for a session with no task. */
1173
+ trigger_surface: components["schemas"]["TriggerSurface"] | null;
1174
+ wasRateLimited: boolean;
1175
+ };
1176
+ /** @description A session failed. (emitter: worker, since 2026-09-30) */
1177
+ AgentSwarmSessionFailureEvent: {
1178
+ /**
1179
+ * @description discriminator enum property added by openapi-typescript
1180
+ * @enum {string}
1181
+ */
1182
+ event: "session.failure";
1183
+ /** @constant */
1184
+ product: "agent-swarm";
1185
+ properties: components["schemas"]["AgentSwarmSessionFailureProperties"];
1186
+ };
1187
+ AgentSwarmSessionStartedProperties: {
1188
+ agentId: string;
1189
+ harnessProvider: string;
1190
+ /** @description An email channel is configured. */
1191
+ has_email_channel?: boolean;
1192
+ /** @description An embedding API key is configured. */
1193
+ has_embedding_key?: boolean;
1194
+ /** @description A notification channel is configured. */
1195
+ has_notification_channel?: boolean;
1196
+ /** @description A Slack channel is configured. */
1197
+ has_slack_channel?: boolean;
1198
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1199
+ install_method?: string;
1200
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1201
+ is_cloud?: boolean;
1202
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1203
+ is_e2b?: boolean;
1204
+ model?: string;
1205
+ role: string;
1206
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1207
+ swarmVersion?: string;
1208
+ /** @description Task the session ran, or null for a session with no task. */
1209
+ taskId: string | null;
1210
+ /** @description Root surface of the task, or null for a session with no task. */
1211
+ trigger_surface: components["schemas"]["TriggerSurface"] | null;
1212
+ };
1213
+ /** @description A worker or lead session started. (emitter: worker, since 2026-09-30) */
1214
+ AgentSwarmSessionStartedEvent: {
1215
+ /**
1216
+ * @description discriminator enum property added by openapi-typescript
1217
+ * @enum {string}
1218
+ */
1219
+ event: "session.started";
1220
+ /** @constant */
1221
+ product: "agent-swarm";
1222
+ properties: components["schemas"]["AgentSwarmSessionStartedProperties"];
1223
+ };
1224
+ AgentSwarmSessionSteeredProperties: {
1225
+ by_kind: string;
1226
+ /** @description An email channel is configured. */
1227
+ has_email_channel?: boolean;
1228
+ /** @description An embedding API key is configured. */
1229
+ has_embedding_key?: boolean;
1230
+ /** @description A notification channel is configured. */
1231
+ has_notification_channel?: boolean;
1232
+ /** @description A Slack channel is configured. */
1233
+ has_slack_channel?: boolean;
1234
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1235
+ install_method?: string;
1236
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1237
+ is_cloud?: boolean;
1238
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1239
+ is_e2b?: boolean;
1240
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1241
+ swarmVersion?: string;
1242
+ /** @description Root surface of the steered task, or null when unknown. */
1243
+ trigger_surface: components["schemas"]["TriggerSurface"] | null;
1244
+ };
1245
+ /** @description A running session received a steering message. (emitter: api-server, since 2026-09-30) */
1246
+ AgentSwarmSessionSteeredEvent: {
1247
+ /**
1248
+ * @description discriminator enum property added by openapi-typescript
1249
+ * @enum {string}
1250
+ */
1251
+ event: "session.steered";
1252
+ /** @constant */
1253
+ product: "agent-swarm";
1254
+ properties: components["schemas"]["AgentSwarmSessionSteeredProperties"];
1255
+ };
1256
+ AgentSwarmSkillInvokedProperties: {
1257
+ /** @description An email channel is configured. */
1258
+ has_email_channel?: boolean;
1259
+ /** @description An embedding API key is configured. */
1260
+ has_embedding_key?: boolean;
1261
+ /** @description A notification channel is configured. */
1262
+ has_notification_channel?: boolean;
1263
+ /** @description A Slack channel is configured. */
1264
+ has_slack_channel?: boolean;
1265
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1266
+ install_method?: string;
1267
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1268
+ is_cloud?: boolean;
1269
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1270
+ is_e2b?: boolean;
1271
+ skill_name: string;
1272
+ skill_source: string;
1273
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1274
+ swarmVersion?: string;
1275
+ /** @description Root surface of the task, or null for a session with no task. */
1276
+ trigger_surface: components["schemas"]["TriggerSurface"] | null;
1277
+ };
1278
+ /** @description A skill was invoked in a session. (emitter: worker, since 2026-09-30) */
1279
+ AgentSwarmSkillInvokedEvent: {
1280
+ /**
1281
+ * @description discriminator enum property added by openapi-typescript
1282
+ * @enum {string}
1283
+ */
1284
+ event: "skill.invoked";
1285
+ /** @constant */
1286
+ product: "agent-swarm";
1287
+ properties: components["schemas"]["AgentSwarmSkillInvokedProperties"];
1288
+ };
1289
+ AgentSwarmTaskCancelledProperties: {
1290
+ agentId?: string;
1291
+ durationMs?: number;
1292
+ /** @description An email channel is configured. */
1293
+ has_email_channel?: boolean;
1294
+ /** @description An embedding API key is configured. */
1295
+ has_embedding_key?: boolean;
1296
+ /** @description A notification channel is configured. */
1297
+ has_notification_channel?: boolean;
1298
+ /** @description A Slack channel is configured. */
1299
+ has_slack_channel?: boolean;
1300
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1301
+ install_method?: string;
1302
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1303
+ is_cloud?: boolean;
1304
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1305
+ is_e2b?: boolean;
1306
+ previousStatus: string;
1307
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1308
+ swarmVersion?: string;
1309
+ taskId: string;
1310
+ /** @description agent_tasks.source of this task itself. */
1311
+ task_source: components["schemas"]["TriggerSurface"];
1312
+ /** @description Surface that started the whole chain of work: the source of the root task. */
1313
+ trigger_surface: components["schemas"]["TriggerSurface"];
1314
+ };
1315
+ /** @description A task was cancelled. (emitter: api-server, since 2026-09-30) */
1316
+ AgentSwarmTaskCancelledEvent: {
1317
+ /**
1318
+ * @description discriminator enum property added by openapi-typescript
1319
+ * @enum {string}
1320
+ */
1321
+ event: "task.cancelled";
1322
+ /** @constant */
1323
+ product: "agent-swarm";
1324
+ properties: components["schemas"]["AgentSwarmTaskCancelledProperties"];
1325
+ };
1326
+ AgentSwarmTaskClaimedProperties: {
1327
+ agentId: string;
1328
+ /** @description An email channel is configured. */
1329
+ has_email_channel?: boolean;
1330
+ /** @description An embedding API key is configured. */
1331
+ has_embedding_key?: boolean;
1332
+ /** @description A notification channel is configured. */
1333
+ has_notification_channel?: boolean;
1334
+ /** @description A Slack channel is configured. */
1335
+ has_slack_channel?: boolean;
1336
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1337
+ install_method?: string;
1338
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1339
+ is_cloud?: boolean;
1340
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1341
+ is_e2b?: boolean;
1342
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1343
+ swarmVersion?: string;
1344
+ taskId: string;
1345
+ /** @description agent_tasks.source of this task itself. */
1346
+ task_source: components["schemas"]["TriggerSurface"];
1347
+ /** @description Surface that started the whole chain of work: the source of the root task. */
1348
+ trigger_surface: components["schemas"]["TriggerSurface"];
1349
+ };
1350
+ /** @description An agent claimed a task. (emitter: api-server, since 2026-09-30) */
1351
+ AgentSwarmTaskClaimedEvent: {
1352
+ /**
1353
+ * @description discriminator enum property added by openapi-typescript
1354
+ * @enum {string}
1355
+ */
1356
+ event: "task.claimed";
1357
+ /** @constant */
1358
+ product: "agent-swarm";
1359
+ properties: components["schemas"]["AgentSwarmTaskClaimedProperties"];
1360
+ };
1361
+ AgentSwarmTaskCompletedProperties: {
1362
+ agentId?: string;
1363
+ durationMs?: number;
1364
+ harnessVariant?: string;
1365
+ harnessVersion?: string;
1366
+ /** @description An email channel is configured. */
1367
+ has_email_channel?: boolean;
1368
+ /** @description An embedding API key is configured. */
1369
+ has_embedding_key?: boolean;
1370
+ /** @description A notification channel is configured. */
1371
+ has_notification_channel?: boolean;
1372
+ /** @description A Slack channel is configured. */
1373
+ has_slack_channel?: boolean;
1374
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1375
+ install_method?: string;
1376
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1377
+ is_cloud?: boolean;
1378
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1379
+ is_e2b?: boolean;
1380
+ provider?: string;
1381
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1382
+ swarmVersion?: string;
1383
+ taskId: string;
1384
+ /** @description agent_tasks.source of this task itself. */
1385
+ task_source: components["schemas"]["TriggerSurface"];
1386
+ /** @description Surface that started the whole chain of work: the source of the root task. */
1387
+ trigger_surface: components["schemas"]["TriggerSurface"];
1388
+ };
1389
+ /** @description A task completed. (emitter: api-server, since 2026-09-30) */
1390
+ AgentSwarmTaskCompletedEvent: {
1391
+ /**
1392
+ * @description discriminator enum property added by openapi-typescript
1393
+ * @enum {string}
1394
+ */
1395
+ event: "task.completed";
1396
+ /** @constant */
1397
+ product: "agent-swarm";
1398
+ properties: components["schemas"]["AgentSwarmTaskCompletedProperties"];
1399
+ };
1400
+ AgentSwarmTaskCreatedProperties: {
1401
+ harnessVariant?: string;
1402
+ harnessVersion?: string;
1403
+ hasParent: boolean;
1404
+ /** @description An email channel is configured. */
1405
+ has_email_channel?: boolean;
1406
+ /** @description An embedding API key is configured. */
1407
+ has_embedding_key?: boolean;
1408
+ /** @description A notification channel is configured. */
1409
+ has_notification_channel?: boolean;
1410
+ has_repo: boolean;
1411
+ /** @description A Slack channel is configured. */
1412
+ has_slack_channel?: boolean;
1413
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1414
+ install_method?: string;
1415
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1416
+ is_cloud?: boolean;
1417
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1418
+ is_e2b?: boolean;
1419
+ priority: number;
1420
+ provider?: string;
1421
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1422
+ swarmVersion?: string;
1423
+ taskId: string;
1424
+ /** @description agent_tasks.source of this task itself. */
1425
+ task_source: components["schemas"]["TriggerSurface"];
1426
+ /** @description Surface that started the whole chain of work: the source of the root task. */
1427
+ trigger_surface: components["schemas"]["TriggerSurface"];
1428
+ };
1429
+ /** @description A task was created. (emitter: api-server, since 2026-09-30) */
1430
+ AgentSwarmTaskCreatedEvent: {
1431
+ /**
1432
+ * @description discriminator enum property added by openapi-typescript
1433
+ * @enum {string}
1434
+ */
1435
+ event: "task.created";
1436
+ /** @constant */
1437
+ product: "agent-swarm";
1438
+ properties: components["schemas"]["AgentSwarmTaskCreatedProperties"];
1439
+ };
1440
+ AgentSwarmTaskFailedProperties: {
1441
+ agentId?: string;
1442
+ durationMs?: number;
1443
+ harnessVariant?: string;
1444
+ harnessVersion?: string;
1445
+ /** @description An email channel is configured. */
1446
+ has_email_channel?: boolean;
1447
+ /** @description An embedding API key is configured. */
1448
+ has_embedding_key?: boolean;
1449
+ /** @description A notification channel is configured. */
1450
+ has_notification_channel?: boolean;
1451
+ /** @description A Slack channel is configured. */
1452
+ has_slack_channel?: boolean;
1453
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1454
+ install_method?: string;
1455
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1456
+ is_cloud?: boolean;
1457
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1458
+ is_e2b?: boolean;
1459
+ provider?: string;
1460
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1461
+ swarmVersion?: string;
1462
+ taskId: string;
1463
+ /** @description agent_tasks.source of this task itself. */
1464
+ task_source: components["schemas"]["TriggerSurface"];
1465
+ /** @description Surface that started the whole chain of work: the source of the root task. */
1466
+ trigger_surface: components["schemas"]["TriggerSurface"];
1467
+ };
1468
+ /** @description A task failed. (emitter: api-server, since 2026-09-30) */
1469
+ AgentSwarmTaskFailedEvent: {
1470
+ /**
1471
+ * @description discriminator enum property added by openapi-typescript
1472
+ * @enum {string}
1473
+ */
1474
+ event: "task.failed";
1475
+ /** @constant */
1476
+ product: "agent-swarm";
1477
+ properties: components["schemas"]["AgentSwarmTaskFailedProperties"];
1478
+ };
1479
+ AgentSwarmTaskSessionCompletedProperties: {
1480
+ agentId: string;
1481
+ durationMs: number;
1482
+ exitCode: number;
1483
+ harnessVariant?: string;
1484
+ harnessVersion?: string;
1485
+ /** @description An email channel is configured. */
1486
+ has_email_channel?: boolean;
1487
+ /** @description An embedding API key is configured. */
1488
+ has_embedding_key?: boolean;
1489
+ /** @description A notification channel is configured. */
1490
+ has_notification_channel?: boolean;
1491
+ /** @description A Slack channel is configured. */
1492
+ has_slack_channel?: boolean;
1493
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1494
+ install_method?: string;
1495
+ isError: boolean;
1496
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1497
+ is_cloud?: boolean;
1498
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1499
+ is_e2b?: boolean;
1500
+ model: string;
1501
+ provider: string;
1502
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1503
+ swarmVersion?: string;
1504
+ /** @description Task the session ran, or null for a session with no task. */
1505
+ taskId: string | null;
1506
+ /** @description Root surface of the task, or null for a session with no task. */
1507
+ trigger_surface: components["schemas"]["TriggerSurface"] | null;
1508
+ };
1509
+ /** @description A worker session for a task finished. (emitter: worker, since 2026-09-30) */
1510
+ AgentSwarmTaskSessionCompletedEvent: {
1511
+ /**
1512
+ * @description discriminator enum property added by openapi-typescript
1513
+ * @enum {string}
1514
+ */
1515
+ event: "task.session_completed";
1516
+ /** @constant */
1517
+ product: "agent-swarm";
1518
+ properties: components["schemas"]["AgentSwarmTaskSessionCompletedProperties"];
1519
+ };
1520
+ AgentSwarmTaskStartedProperties: {
1521
+ agentId: string;
1522
+ /** @description An email channel is configured. */
1523
+ has_email_channel?: boolean;
1524
+ /** @description An embedding API key is configured. */
1525
+ has_embedding_key?: boolean;
1526
+ /** @description A notification channel is configured. */
1527
+ has_notification_channel?: boolean;
1528
+ /** @description A Slack channel is configured. */
1529
+ has_slack_channel?: boolean;
1530
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1531
+ install_method?: string;
1532
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1533
+ is_cloud?: boolean;
1534
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1535
+ is_e2b?: boolean;
1536
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1537
+ swarmVersion?: string;
1538
+ taskId: string;
1539
+ /** @description agent_tasks.source of this task itself. */
1540
+ task_source: components["schemas"]["TriggerSurface"];
1541
+ /** @description Surface that started the whole chain of work: the source of the root task. */
1542
+ trigger_surface: components["schemas"]["TriggerSurface"];
1543
+ };
1544
+ /** @description A task started running. (emitter: api-server, since 2026-09-30) */
1545
+ AgentSwarmTaskStartedEvent: {
1546
+ /**
1547
+ * @description discriminator enum property added by openapi-typescript
1548
+ * @enum {string}
1549
+ */
1550
+ event: "task.started";
1551
+ /** @constant */
1552
+ product: "agent-swarm";
1553
+ properties: components["schemas"]["AgentSwarmTaskStartedProperties"];
1554
+ };
1555
+ AgentSwarmTaskSupersededProperties: {
1556
+ agentId?: string;
1557
+ durationMs?: number;
1558
+ harnessVariant?: string;
1559
+ harnessVersion?: string;
1560
+ /** @description An email channel is configured. */
1561
+ has_email_channel?: boolean;
1562
+ /** @description An embedding API key is configured. */
1563
+ has_embedding_key?: boolean;
1564
+ /** @description A notification channel is configured. */
1565
+ has_notification_channel?: boolean;
1566
+ /** @description A Slack channel is configured. */
1567
+ has_slack_channel?: boolean;
1568
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1569
+ install_method?: string;
1570
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1571
+ is_cloud?: boolean;
1572
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1573
+ is_e2b?: boolean;
1574
+ provider?: string;
1575
+ reason: string;
1576
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1577
+ swarmVersion?: string;
1578
+ taskId: string;
1579
+ /** @description agent_tasks.source of this task itself. */
1580
+ task_source: components["schemas"]["TriggerSurface"];
1581
+ /** @description Surface that started the whole chain of work: the source of the root task. */
1582
+ trigger_surface: components["schemas"]["TriggerSurface"];
1583
+ };
1584
+ /** @description A task was superseded by another task. (emitter: api-server, since 2026-09-30) */
1585
+ AgentSwarmTaskSupersededEvent: {
1586
+ /**
1587
+ * @description discriminator enum property added by openapi-typescript
1588
+ * @enum {string}
1589
+ */
1590
+ event: "task.superseded";
1591
+ /** @constant */
1592
+ product: "agent-swarm";
1593
+ properties: components["schemas"]["AgentSwarmTaskSupersededProperties"];
1594
+ };
1595
+ AgentSwarmUiSessionStartedProperties: {
1596
+ /** @description An email channel is configured. */
1597
+ has_email_channel?: boolean;
1598
+ /** @description An embedding API key is configured. */
1599
+ has_embedding_key?: boolean;
1600
+ /** @description A notification channel is configured. */
1601
+ has_notification_channel?: boolean;
1602
+ /** @description A Slack channel is configured. */
1603
+ has_slack_channel?: boolean;
1604
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1605
+ install_method?: string;
1606
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1607
+ is_cloud?: boolean;
1608
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1609
+ is_e2b?: boolean;
1610
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1611
+ swarmVersion?: string;
1612
+ };
1613
+ /** @description A dashboard session started. (emitter: ui, since 2026-09-30) */
1614
+ AgentSwarmUiSessionStartedEvent: {
1615
+ /**
1616
+ * @description discriminator enum property added by openapi-typescript
1617
+ * @enum {string}
1618
+ */
1619
+ event: "ui.session_started";
1620
+ /** @constant */
1621
+ product: "agent-swarm";
1622
+ properties: components["schemas"]["AgentSwarmUiSessionStartedProperties"];
1623
+ };
1624
+ AgentSwarmWorkflowCompletedProperties: {
1625
+ durationMs?: number;
1626
+ /** @description An email channel is configured. */
1627
+ has_email_channel?: boolean;
1628
+ /** @description An embedding API key is configured. */
1629
+ has_embedding_key?: boolean;
1630
+ /** @description A notification channel is configured. */
1631
+ has_notification_channel?: boolean;
1632
+ /** @description A Slack channel is configured. */
1633
+ has_slack_channel?: boolean;
1634
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1635
+ install_method?: string;
1636
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1637
+ is_cloud?: boolean;
1638
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1639
+ is_e2b?: boolean;
1640
+ stepsCompleted: number;
1641
+ stepsFailed: number;
1642
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1643
+ swarmVersion?: string;
1644
+ workflowId: string;
1645
+ };
1646
+ /** @description A workflow run completed. (emitter: api-server, since 2026-09-30) */
1647
+ AgentSwarmWorkflowCompletedEvent: {
1648
+ /**
1649
+ * @description discriminator enum property added by openapi-typescript
1650
+ * @enum {string}
1651
+ */
1652
+ event: "workflow.completed";
1653
+ /** @constant */
1654
+ product: "agent-swarm";
1655
+ properties: components["schemas"]["AgentSwarmWorkflowCompletedProperties"];
1656
+ };
1657
+ AgentSwarmWorkflowCreatedProperties: {
1658
+ /** @description An email channel is configured. */
1659
+ has_email_channel?: boolean;
1660
+ /** @description An embedding API key is configured. */
1661
+ has_embedding_key?: boolean;
1662
+ /** @description A notification channel is configured. */
1663
+ has_notification_channel?: boolean;
1664
+ /** @description A Slack channel is configured. */
1665
+ has_slack_channel?: boolean;
1666
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1667
+ install_method?: string;
1668
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1669
+ is_cloud?: boolean;
1670
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1671
+ is_e2b?: boolean;
1672
+ nodeCount: number;
1673
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1674
+ swarmVersion?: string;
1675
+ /**
1676
+ * @description Interface that created the workflow. Sent as the property source in v1.
1677
+ * @enum {string}
1678
+ */
1679
+ via?: "api" | "mcp";
1680
+ workflowId: string;
1681
+ };
1682
+ /** @description A workflow was created. (emitter: api-server, since 2026-09-30) */
1683
+ AgentSwarmWorkflowCreatedEvent: {
1684
+ /**
1685
+ * @description discriminator enum property added by openapi-typescript
1686
+ * @enum {string}
1687
+ */
1688
+ event: "workflow.created";
1689
+ /** @constant */
1690
+ product: "agent-swarm";
1691
+ properties: components["schemas"]["AgentSwarmWorkflowCreatedProperties"];
1692
+ };
1693
+ AgentSwarmWorkflowDeletedProperties: {
1694
+ /** @description An email channel is configured. */
1695
+ has_email_channel?: boolean;
1696
+ /** @description An embedding API key is configured. */
1697
+ has_embedding_key?: boolean;
1698
+ /** @description A notification channel is configured. */
1699
+ has_notification_channel?: boolean;
1700
+ /** @description A Slack channel is configured. */
1701
+ has_slack_channel?: boolean;
1702
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1703
+ install_method?: string;
1704
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1705
+ is_cloud?: boolean;
1706
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1707
+ is_e2b?: boolean;
1708
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1709
+ swarmVersion?: string;
1710
+ /**
1711
+ * @description Interface that deleted the workflow. Sent as the property source in v1.
1712
+ * @enum {string}
1713
+ */
1714
+ via?: "api" | "mcp";
1715
+ workflowId: string;
1716
+ };
1717
+ /** @description A workflow was deleted. (emitter: api-server, since 2026-09-30) */
1718
+ AgentSwarmWorkflowDeletedEvent: {
1719
+ /**
1720
+ * @description discriminator enum property added by openapi-typescript
1721
+ * @enum {string}
1722
+ */
1723
+ event: "workflow.deleted";
1724
+ /** @constant */
1725
+ product: "agent-swarm";
1726
+ properties: components["schemas"]["AgentSwarmWorkflowDeletedProperties"];
1727
+ };
1728
+ AgentSwarmWorkflowFailedProperties: {
1729
+ durationMs?: number;
1730
+ /** @description An email channel is configured. */
1731
+ has_email_channel?: boolean;
1732
+ /** @description An embedding API key is configured. */
1733
+ has_embedding_key?: boolean;
1734
+ /** @description A notification channel is configured. */
1735
+ has_notification_channel?: boolean;
1736
+ /** @description A Slack channel is configured. */
1737
+ has_slack_channel?: boolean;
1738
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1739
+ install_method?: string;
1740
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1741
+ is_cloud?: boolean;
1742
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1743
+ is_e2b?: boolean;
1744
+ stepsCompleted: number;
1745
+ stepsFailed: number;
1746
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1747
+ swarmVersion?: string;
1748
+ workflowId: string;
1749
+ };
1750
+ /** @description A workflow run failed. (emitter: api-server, since 2026-09-30) */
1751
+ AgentSwarmWorkflowFailedEvent: {
1752
+ /**
1753
+ * @description discriminator enum property added by openapi-typescript
1754
+ * @enum {string}
1755
+ */
1756
+ event: "workflow.failed";
1757
+ /** @constant */
1758
+ product: "agent-swarm";
1759
+ properties: components["schemas"]["AgentSwarmWorkflowFailedProperties"];
1760
+ };
1761
+ AgentSwarmWorkflowStartedProperties: {
1762
+ /** @description An email channel is configured. */
1763
+ has_email_channel?: boolean;
1764
+ /** @description An embedding API key is configured. */
1765
+ has_embedding_key?: boolean;
1766
+ /** @description A notification channel is configured. */
1767
+ has_notification_channel?: boolean;
1768
+ /** @description A Slack channel is configured. */
1769
+ has_slack_channel?: boolean;
1770
+ /** @description Legacy key kept during the v1 window; v2 carries context.install_method. */
1771
+ install_method?: string;
1772
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1773
+ is_cloud?: boolean;
1774
+ /** @description Legacy key kept during the v1 window; v2 carries context.deployment. */
1775
+ is_e2b?: boolean;
1776
+ nodeCount: number;
1777
+ /** @description agent-swarm version. Legacy key kept during the v1 window; v2 carries context.swarm_version. */
1778
+ swarmVersion?: string;
1779
+ triggerType: string;
1780
+ workflowId: string;
1781
+ };
1782
+ /** @description A workflow run started. (emitter: api-server, since 2026-09-30) */
1783
+ AgentSwarmWorkflowStartedEvent: {
1784
+ /**
1785
+ * @description discriminator enum property added by openapi-typescript
1786
+ * @enum {string}
1787
+ */
1788
+ event: "workflow.started";
1789
+ /** @constant */
1790
+ product: "agent-swarm";
1791
+ properties: components["schemas"]["AgentSwarmWorkflowStartedProperties"];
1792
+ };
1793
+ AgentSwarmCatalogEvent: components["schemas"]["AgentSwarmAgentRegisteredEvent"] | components["schemas"]["AgentSwarmCompactionTriggeredEvent"] | components["schemas"]["AgentSwarmFeatureUsedEvent"] | 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"]["AgentSwarmOrgSnapshotEvent"] | components["schemas"]["AgentSwarmPageViewedEvent"] | 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"]["AgentSwarmUiSessionStartedEvent"] | components["schemas"]["AgentSwarmWorkflowCompletedEvent"] | components["schemas"]["AgentSwarmWorkflowCreatedEvent"] | components["schemas"]["AgentSwarmWorkflowDeletedEvent"] | components["schemas"]["AgentSwarmWorkflowFailedEvent"] | components["schemas"]["AgentSwarmWorkflowStartedEvent"];
1794
+ /** @description Every catalogued (product, event) pair with its property schema. Generated from contracts/telemetry/catalog/events.json. */
1795
+ CatalogEvent: components["schemas"]["AgentFsCatalogEvent"] | components["schemas"]["AgentSwarmCatalogEvent"];
1796
+ };
1797
+ responses: {
1798
+ /** @description Browser preflight response. CORS allow headers are present only for an allowed origin. */
1799
+ CORSPreflightResponse: {
1800
+ headers: {
1801
+ /** @description The allowed request Origin, reflected exactly. */
1802
+ "Access-Control-Allow-Origin"?: string;
1803
+ "Access-Control-Allow-Methods"?: "POST, OPTIONS";
1804
+ "Access-Control-Allow-Headers"?: "Content-Type, X-Telemetry-Identified-Token";
1805
+ "Access-Control-Max-Age"?: "86400";
1806
+ Vary?: "Origin";
1807
+ [name: string]: unknown;
1808
+ };
1809
+ content?: never;
1810
+ };
1811
+ };
1812
+ parameters: never;
1813
+ requestBodies: never;
1814
+ headers: never;
1815
+ pathItems: never;
1816
+ }
1817
+ export type $defs = Record<string, never>;
1818
+ export interface operations {
1819
+ ingestEvent: {
1820
+ parameters: {
1821
+ query?: never;
1822
+ header?: never;
1823
+ path?: never;
1824
+ cookie?: never;
1825
+ };
1826
+ requestBody: {
1827
+ content: {
1828
+ "application/json": components["schemas"]["TelemetryEvent"];
1829
+ };
1830
+ };
1831
+ responses: {
1832
+ /** @description Event accepted for ingestion. */
1833
+ 202: {
1834
+ headers: {
1835
+ [name: string]: unknown;
1836
+ };
1837
+ content: {
1838
+ "application/json": components["schemas"]["TelemetryAcceptedResponse"];
1839
+ };
1840
+ };
1841
+ /**
1842
+ * @description Request body failed validation. Every 400 is also recorded in the
1843
+ * `rejected_events` table.
1844
+ */
1845
+ 400: {
1846
+ headers: {
1847
+ [name: string]: unknown;
1848
+ };
1849
+ content: {
1850
+ "application/json": components["schemas"]["IngestError"];
1851
+ };
1852
+ };
1853
+ /** @description Identified event submission is not authorized for this request. */
1854
+ 403: {
1855
+ headers: {
1856
+ [name: string]: unknown;
1857
+ };
1858
+ content: {
1859
+ "application/json": components["schemas"]["ProblemResponse"];
1860
+ };
1861
+ };
1862
+ /**
1863
+ * @description Request body exceeds 1 MB (code `body_too_large`). The first 8 KB are
1864
+ * recorded in the `rejected_events` table.
1865
+ */
1866
+ 413: {
1867
+ headers: {
1868
+ [name: string]: unknown;
1869
+ };
1870
+ content: {
1871
+ "application/json": components["schemas"]["ProblemResponse"];
1872
+ };
1873
+ };
1874
+ };
1875
+ };
1876
+ preflightIngestEvent: {
1877
+ parameters: {
1878
+ query?: never;
1879
+ header?: never;
1880
+ path?: never;
1881
+ cookie?: never;
1882
+ };
1883
+ requestBody?: never;
1884
+ responses: {
1885
+ 204: components["responses"]["CORSPreflightResponse"];
1886
+ };
1887
+ };
1888
+ submitFeedback: {
1889
+ parameters: {
1890
+ query?: never;
1891
+ header?: never;
1892
+ path?: never;
1893
+ cookie?: never;
1894
+ };
1895
+ requestBody: {
1896
+ content: {
1897
+ "application/json": components["schemas"]["FeedbackSubmission"];
1898
+ };
1899
+ };
1900
+ responses: {
1901
+ /** @description Feedback persisted and accepted for asynchronous delivery. */
1902
+ 202: {
1903
+ headers: {
1904
+ [name: string]: unknown;
1905
+ };
1906
+ content: {
1907
+ "application/json": components["schemas"]["FeedbackAcceptedResponse"];
1908
+ };
1909
+ };
1910
+ /** @description Request body is invalid JSON or failed field validation. */
1911
+ 400: {
1912
+ headers: {
1913
+ [name: string]: unknown;
1914
+ };
1915
+ content: {
1916
+ "application/json": components["schemas"]["ProblemResponse"];
1917
+ };
1918
+ };
1919
+ /** @description Request body exceeds 8 KB. */
1920
+ 413: {
1921
+ headers: {
1922
+ [name: string]: unknown;
1923
+ };
1924
+ content: {
1925
+ "application/json": components["schemas"]["ProblemResponse"];
1926
+ };
1927
+ };
1928
+ /** @description The source IP exceeded the feedback submission rate limit. */
1929
+ 429: {
1930
+ headers: {
1931
+ /** @description Seconds to wait before retrying. */
1932
+ "Retry-After"?: string;
1933
+ [name: string]: unknown;
1934
+ };
1935
+ content: {
1936
+ "application/json": components["schemas"]["ProblemResponse"];
1937
+ };
1938
+ };
1939
+ /** @description The feedback submission could not be persisted. */
1940
+ 500: {
1941
+ headers: {
1942
+ [name: string]: unknown;
1943
+ };
1944
+ content: {
1945
+ "application/json": components["schemas"]["ProblemResponse"];
1946
+ };
1947
+ };
1948
+ /** @description Feedback storage is not configured. */
1949
+ 503: {
1950
+ headers: {
1951
+ [name: string]: unknown;
1952
+ };
1953
+ content: {
1954
+ "application/json": components["schemas"]["ProblemResponse"];
1955
+ };
1956
+ };
1957
+ };
1958
+ };
1959
+ preflightSubmitFeedback: {
1960
+ parameters: {
1961
+ query?: never;
1962
+ header?: never;
1963
+ path?: never;
1964
+ cookie?: never;
1965
+ };
1966
+ requestBody?: never;
1967
+ responses: {
1968
+ 204: components["responses"]["CORSPreflightResponse"];
1969
+ };
1970
+ };
1971
+ }