@runtypelabs/sdk 3.0.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -34,6 +34,15 @@ interface ModelFallback extends BaseFallback {
34
34
  presencePenalty?: number;
35
35
  seed?: number;
36
36
  }
37
+ /**
38
+ * Message fallback for prompts - return a fixed synthesized message instead of
39
+ * running the model again. Intended as the terminal entry in a fallbacks chain so
40
+ * the surface never renders an empty reply when earlier retries/model swaps fail.
41
+ */
42
+ interface MessageFallback extends BaseFallback {
43
+ type: 'message';
44
+ message: string;
45
+ }
37
46
  /**
38
47
  * Step fallback for context steps - run a different step type
39
48
  */
@@ -50,10 +59,19 @@ interface FlowFallback extends BaseFallback {
50
59
  flowId: string;
51
60
  inputs?: Record<string, unknown>;
52
61
  }
62
+ /**
63
+ * A single fallback trigger - the condition that activates the fallback chain.
64
+ * `error` (the default) fires fallbacks when the step errors; `empty-output`
65
+ * fires them when the step finished successfully but produced no visible text.
66
+ */
67
+ type FallbackTriggerType = 'error' | 'empty-output';
68
+ interface FallbackTrigger {
69
+ type: FallbackTriggerType;
70
+ }
53
71
  /**
54
72
  * Union of all prompt fallback types
55
73
  */
56
- type PromptFallback = RetryFallback | ModelFallback;
74
+ type PromptFallback = RetryFallback | ModelFallback | MessageFallback;
57
75
  /**
58
76
  * Union of all context step fallback types
59
77
  */
@@ -64,6 +82,12 @@ type ContextFallback = RetryFallback | StepFallback | FlowFallback;
64
82
  interface PromptErrorHandling {
65
83
  onError: ErrorHandlingMode;
66
84
  fallbacks?: PromptFallback[];
85
+ /**
86
+ * Conditions that activate the fallback chain. Defaults to `[{ type: 'error' }]`
87
+ * when omitted. Add `{ type: 'empty-output' }` to also run the chain when the
88
+ * model finishes successfully but returns no visible text.
89
+ */
90
+ triggers?: FallbackTrigger[];
67
91
  }
68
92
  /**
69
93
  * Error handling configuration for context steps
@@ -78,132 +102,6 @@ interface ContextErrorHandling {
78
102
  * Do not make direct changes to the file.
79
103
  */
80
104
  interface paths {
81
- "/": {
82
- parameters: {
83
- query?: never;
84
- header?: never;
85
- path?: never;
86
- cookie?: never;
87
- };
88
- /**
89
- * API index
90
- * @description Returns service info, version, status, and key endpoint URLs.
91
- */
92
- get: {
93
- parameters: {
94
- query?: never;
95
- header?: never;
96
- path?: never;
97
- cookie?: never;
98
- };
99
- requestBody?: never;
100
- responses: {
101
- /** @description API index information */
102
- 200: {
103
- headers: {
104
- [name: string]: unknown;
105
- };
106
- content: {
107
- "application/json": {
108
- apiVersion: string;
109
- description: string;
110
- endpoints: {
111
- api: string;
112
- health: string;
113
- };
114
- name: string;
115
- status: string;
116
- timestamp: string;
117
- version: string;
118
- };
119
- };
120
- };
121
- /** @description Internal server error */
122
- 500: {
123
- headers: {
124
- [name: string]: unknown;
125
- };
126
- content: {
127
- "application/json": {
128
- details?: {
129
- message: string;
130
- path?: string;
131
- }[];
132
- error: string;
133
- };
134
- };
135
- };
136
- };
137
- };
138
- put?: never;
139
- post?: never;
140
- delete?: never;
141
- options?: never;
142
- head?: never;
143
- patch?: never;
144
- trace?: never;
145
- };
146
- "/health": {
147
- parameters: {
148
- query?: never;
149
- header?: never;
150
- path?: never;
151
- cookie?: never;
152
- };
153
- /**
154
- * Health check
155
- * @description Basic health check endpoint reporting service status and version.
156
- */
157
- get: {
158
- parameters: {
159
- query?: never;
160
- header?: never;
161
- path?: never;
162
- cookie?: never;
163
- };
164
- requestBody?: never;
165
- responses: {
166
- /** @description Service is healthy */
167
- 200: {
168
- headers: {
169
- [name: string]: unknown;
170
- };
171
- content: {
172
- "application/json": {
173
- apiVersion: string;
174
- environment: string;
175
- service: string;
176
- status: string;
177
- timestamp: string;
178
- version: string;
179
- };
180
- };
181
- };
182
- /** @description Internal server error */
183
- 500: {
184
- headers: {
185
- [name: string]: unknown;
186
- };
187
- content: {
188
- "application/json": {
189
- details?: {
190
- message: string;
191
- path?: string;
192
- }[];
193
- error: string;
194
- };
195
- };
196
- };
197
- };
198
- };
199
- put?: never;
200
- post?: never;
201
- delete?: never;
202
- options?: never;
203
- head?: never;
204
- patch?: never;
205
- trace?: never;
206
- };
207
105
  "/v1/agent-versions/{agentId}": {
208
106
  parameters: {
209
107
  query?: never;
@@ -894,9 +792,18 @@ interface paths {
894
792
  temperature?: number;
895
793
  /** @enum {string} */
896
794
  type: "model";
795
+ } | {
796
+ delay?: number;
797
+ message: string;
798
+ /** @enum {string} */
799
+ type: "message";
897
800
  })[];
898
801
  /** @enum {string} */
899
802
  onError: "fail" | "continue" | "fallback";
803
+ triggers?: {
804
+ /** @enum {string} */
805
+ type: "error" | "empty-output";
806
+ }[];
900
807
  };
901
808
  frequencyPenalty?: number;
902
809
  /** @enum {string} */
@@ -1620,9 +1527,18 @@ interface paths {
1620
1527
  temperature?: number;
1621
1528
  /** @enum {string} */
1622
1529
  type: "model";
1530
+ } | {
1531
+ delay?: number;
1532
+ message: string;
1533
+ /** @enum {string} */
1534
+ type: "message";
1623
1535
  })[];
1624
1536
  /** @enum {string} */
1625
1537
  onError: "fail" | "continue" | "fallback";
1538
+ triggers?: {
1539
+ /** @enum {string} */
1540
+ type: "error" | "empty-output";
1541
+ }[];
1626
1542
  };
1627
1543
  frequencyPenalty?: number;
1628
1544
  /** @enum {string} */
@@ -4265,94 +4181,6 @@ interface paths {
4265
4181
  patch?: never;
4266
4182
  trace?: never;
4267
4183
  };
4268
- "/v1/auth/cli-token": {
4269
- parameters: {
4270
- query?: never;
4271
- header?: never;
4272
- path?: never;
4273
- cookie?: never;
4274
- };
4275
- get?: never;
4276
- put?: never;
4277
- /**
4278
- * Exchange Clerk session for CLI API key
4279
- * @description Exchange a Clerk session JWT for a persistent CLI API key. Called by the CLI after the browser-based OAuth flow completes.
4280
- */
4281
- post: {
4282
- parameters: {
4283
- query?: never;
4284
- header?: never;
4285
- path?: never;
4286
- cookie?: never;
4287
- };
4288
- requestBody?: never;
4289
- responses: {
4290
- /** @description Newly minted CLI API key */
4291
- 200: {
4292
- headers: {
4293
- [name: string]: unknown;
4294
- };
4295
- content: {
4296
- "application/json": {
4297
- apiKey: string;
4298
- orgId: string | null;
4299
- userId: string;
4300
- };
4301
- };
4302
- };
4303
- /** @description Unauthorized */
4304
- 401: {
4305
- headers: {
4306
- [name: string]: unknown;
4307
- };
4308
- content: {
4309
- "application/json": {
4310
- details?: {
4311
- message: string;
4312
- path?: string;
4313
- }[];
4314
- error: string;
4315
- };
4316
- };
4317
- };
4318
- /** @description API keys cannot mint CLI tokens */
4319
- 403: {
4320
- headers: {
4321
- [name: string]: unknown;
4322
- };
4323
- content: {
4324
- "application/json": {
4325
- details?: {
4326
- message: string;
4327
- path?: string;
4328
- }[];
4329
- error: string;
4330
- };
4331
- };
4332
- };
4333
- /** @description Failed to create CLI token */
4334
- 500: {
4335
- headers: {
4336
- [name: string]: unknown;
4337
- };
4338
- content: {
4339
- "application/json": {
4340
- details?: {
4341
- message: string;
4342
- path?: string;
4343
- }[];
4344
- error: string;
4345
- };
4346
- };
4347
- };
4348
- };
4349
- };
4350
- delete?: never;
4351
- options?: never;
4352
- head?: never;
4353
- patch?: never;
4354
- trace?: never;
4355
- };
4356
4184
  "/v1/auth/me": {
4357
4185
  parameters: {
4358
4186
  query?: never;
@@ -11076,7 +10904,6 @@ interface paths {
11076
10904
  id: string;
11077
10905
  lastRunAt: string | null;
11078
10906
  name: string;
11079
- status: string;
11080
10907
  updatedAt: string;
11081
10908
  }[];
11082
10909
  pagination: {
@@ -11206,7 +11033,6 @@ interface paths {
11206
11033
  "application/json": {
11207
11034
  createdAt: string;
11208
11035
  dashboardUrl?: string;
11209
- draftVersionId?: string | null;
11210
11036
  flowSteps: {
11211
11037
  config?: {
11212
11038
  [key: string]: unknown;
@@ -11224,7 +11050,6 @@ interface paths {
11224
11050
  sampleMetadata?: {
11225
11051
  [key: string]: unknown;
11226
11052
  };
11227
- status: string;
11228
11053
  stepCount?: number;
11229
11054
  updatedAt: string;
11230
11055
  userId: string;
@@ -11330,7 +11155,6 @@ interface paths {
11330
11155
  "application/json": {
11331
11156
  createdAt: string;
11332
11157
  dashboardUrl?: string;
11333
- draftVersionId?: string | null;
11334
11158
  flowSteps: {
11335
11159
  config?: {
11336
11160
  [key: string]: unknown;
@@ -11348,7 +11172,6 @@ interface paths {
11348
11172
  sampleMetadata?: {
11349
11173
  [key: string]: unknown;
11350
11174
  };
11351
- status: string;
11352
11175
  stepCount?: number;
11353
11176
  updatedAt: string;
11354
11177
  userId: string;
@@ -11458,7 +11281,7 @@ interface paths {
11458
11281
  "application/json": {
11459
11282
  createdAt: string;
11460
11283
  dashboardUrl?: string;
11461
- draftVersionId?: string | null;
11284
+ draftVersionId: string;
11462
11285
  flowSteps: {
11463
11286
  config?: {
11464
11287
  [key: string]: unknown;
@@ -11476,7 +11299,6 @@ interface paths {
11476
11299
  sampleMetadata?: {
11477
11300
  [key: string]: unknown;
11478
11301
  };
11479
- status: string;
11480
11302
  stepCount?: number;
11481
11303
  updatedAt: string;
11482
11304
  userId: string;
@@ -27009,13 +26831,14 @@ interface paths {
27009
26831
  put?: never;
27010
26832
  /**
27011
26833
  * A2A JSON-RPC endpoint
27012
- * @description A2A Protocol JSON-RPC 2.0 transport endpoint. The request body is a JSON-RPC 2.0 envelope `{ jsonrpc: "2.0", id?, method, params }` dispatched on `method`:
27013
- * - `message/send` — params: `MessageSendParams` (`{ message, configuration?, metadata? }`); returns a JSON-RPC envelope whose `result` is an A2A Task.
27014
- * - `message/stream` — params: `MessageSendParams`; returns a `text/event-stream` of A2A task events.
27015
- * - `tasks/get` — params: `{ id | taskId, historyLength? }`; returns a Task envelope.
27016
- * - `tasks/cancel` — params: `{ id | taskId }`; returns a Task envelope.
27017
- * - `tasks/resubscribe` — params: `{ id }`; returns a `text/event-stream` of A2A task events.
27018
- * Streaming events are `task/status`, `task/artifact`, and `task/error`. The body is validated by the handler (not by request-schema middleware) so JSON-RPC error envelopes (`-32700`, METHOD_NOT_FOUND, INVALID_PARAMS) are preserved. Authentication is an A2A surface key (Authorization: Bearer a2a_xxx or X-API-Key header) or a Clerk JWT (dashboard testing).
26834
+ * @description A2A Protocol v1.0 JSON-RPC 2.0 transport endpoint. The request body is a JSON-RPC 2.0 envelope `{ jsonrpc: "2.0", id?, method, params }` dispatched on `method`. Method names are the 1.0 PascalCase forms; the legacy 0.3 slash-strings are still accepted as tolerant aliases:
26835
+ * - `SendMessage` (alias `message/send`) — params: `{ message, configuration?, metadata? }`; returns an envelope whose `result` is `{ task }`.
26836
+ * - `SendStreamingMessage` (alias `message/stream`) — params: same; returns a `text/event-stream` of A2A 1.0 StreamResponse events.
26837
+ * - `GetTask` (alias `tasks/get`) — params: `{ id | taskId, historyLength? }`; returns a Task envelope.
26838
+ * - `ListTasks` — params: `{ pageSize?, pageToken?, status?, includeArtifacts? }`; returns `{ tasks, nextPageToken, pageSize, totalSize }` (cursor-paginated).
26839
+ * - `CancelTask` (alias `tasks/cancel`) — params: `{ id | taskId }`; returns a Task envelope.
26840
+ * - `SubscribeToTask` (alias `tasks/resubscribe`) params: `{ id }`; returns a `text/event-stream` of A2A 1.0 StreamResponse events.
26841
+ * Each streaming `data:` line is a JSON-RPC response carrying a `StreamResponse` oneof (`statusUpdate` / `artifactUpdate`); errors stream as a JSON-RPC error envelope (`google.rpc.Status` form). The body is validated by the handler (not by request-schema middleware) so JSON-RPC error envelopes (`-32700`, METHOD_NOT_FOUND, INVALID_PARAMS) are preserved. Authentication is an A2A surface key (Authorization: Bearer a2a_xxx or X-API-Key header) or a Clerk JWT (dashboard testing).
27019
26842
  */
27020
26843
  post: {
27021
26844
  parameters: {
@@ -27029,7 +26852,7 @@ interface paths {
27029
26852
  };
27030
26853
  requestBody?: never;
27031
26854
  responses: {
27032
- /** @description JSON-RPC response envelope (unary methods) or an SSE event stream (message/stream, tasks/resubscribe). */
26855
+ /** @description JSON-RPC response envelope (unary methods) or an SSE event stream (SendStreamingMessage, SubscribeToTask). */
27033
26856
  200: {
27034
26857
  headers: {
27035
26858
  [name: string]: unknown;
@@ -27160,7 +26983,7 @@ interface paths {
27160
26983
  patch?: never;
27161
26984
  trace?: never;
27162
26985
  };
27163
- "/v1/products/{productId}/surfaces/{surfaceId}/a2a/.well-known/agent.json": {
26986
+ "/v1/products/{productId}/surfaces/{surfaceId}/a2a/info": {
27164
26987
  parameters: {
27165
26988
  query?: never;
27166
26989
  header?: never;
@@ -27168,8 +26991,8 @@ interface paths {
27168
26991
  cookie?: never;
27169
26992
  };
27170
26993
  /**
27171
- * Get A2A Agent Card (legacy path)
27172
- * @description Public A2A Protocol Agent Card discovery endpoint (legacy A2A spec path). Identical payload to agent-card.json. No authentication required.
26994
+ * Get A2A surface info
26995
+ * @description Public A2A surface information including the protocol version, JSON-RPC endpoint, Agent Card URL, and authentication details. No authentication required.
27173
26996
  */
27174
26997
  get: {
27175
26998
  parameters: {
@@ -27183,130 +27006,32 @@ interface paths {
27183
27006
  };
27184
27007
  requestBody?: never;
27185
27008
  responses: {
27186
- /** @description Agent Card */
27009
+ /** @description A2A surface information */
27187
27010
  200: {
27188
27011
  headers: {
27189
27012
  [name: string]: unknown;
27190
27013
  };
27191
27014
  content: {
27192
27015
  "application/json": {
27193
- authentication: {
27194
- [key: string]: unknown;
27195
- };
27196
- capabilities: {
27197
- [key: string]: unknown;
27016
+ a2a: {
27017
+ agentCard: string;
27018
+ authentication: {
27019
+ format: string;
27020
+ header: string;
27021
+ type: string;
27022
+ };
27023
+ endpoint: string;
27024
+ protocolVersion: string;
27198
27025
  };
27199
- defaultInputModes: string[];
27200
- defaultOutputModes: string[];
27201
- description: string;
27202
- iconUrl?: string;
27203
- name: string;
27204
- protocolVersion: string;
27205
- provider?: {
27206
- organization: string;
27207
- url: string;
27208
- } & {
27209
- [key: string]: unknown;
27026
+ product: {
27027
+ description: string | null;
27028
+ id: string;
27029
+ name: string;
27210
27030
  };
27211
- skills: {
27212
- [key: string]: unknown;
27213
- }[];
27214
- url: string;
27215
- version: string;
27216
- } & {
27217
- [key: string]: unknown;
27218
27031
  };
27219
27032
  };
27220
27033
  };
27221
- /** @description Agent or A2A surface not found */
27222
- 404: {
27223
- headers: {
27224
- [name: string]: unknown;
27225
- };
27226
- content: {
27227
- "application/json": {
27228
- details?: {
27229
- message: string;
27230
- path?: string;
27231
- }[];
27232
- error: string;
27233
- };
27234
- };
27235
- };
27236
- /** @description Internal server error */
27237
- 500: {
27238
- headers: {
27239
- [name: string]: unknown;
27240
- };
27241
- content: {
27242
- "application/json": {
27243
- details?: {
27244
- message: string;
27245
- path?: string;
27246
- }[];
27247
- error: string;
27248
- };
27249
- };
27250
- };
27251
- };
27252
- };
27253
- put?: never;
27254
- post?: never;
27255
- delete?: never;
27256
- options?: never;
27257
- head?: never;
27258
- patch?: never;
27259
- trace?: never;
27260
- };
27261
- "/v1/products/{productId}/surfaces/{surfaceId}/a2a/info": {
27262
- parameters: {
27263
- query?: never;
27264
- header?: never;
27265
- path?: never;
27266
- cookie?: never;
27267
- };
27268
- /**
27269
- * Get A2A surface info
27270
- * @description Public A2A surface information including the protocol version, JSON-RPC endpoint, Agent Card URL, and authentication details. No authentication required.
27271
- */
27272
- get: {
27273
- parameters: {
27274
- query?: never;
27275
- header?: never;
27276
- path: {
27277
- productId: string;
27278
- surfaceId: string;
27279
- };
27280
- cookie?: never;
27281
- };
27282
- requestBody?: never;
27283
- responses: {
27284
- /** @description A2A surface information */
27285
- 200: {
27286
- headers: {
27287
- [name: string]: unknown;
27288
- };
27289
- content: {
27290
- "application/json": {
27291
- a2a: {
27292
- agentCard: string;
27293
- authentication: {
27294
- format: string;
27295
- header: string;
27296
- type: string;
27297
- };
27298
- endpoint: string;
27299
- protocolVersion: string;
27300
- };
27301
- product: {
27302
- description: string | null;
27303
- id: string;
27304
- name: string;
27305
- };
27306
- };
27307
- };
27308
- };
27309
- /** @description Product or A2A surface not found */
27034
+ /** @description Product or A2A surface not found */
27310
27035
  404: {
27311
27036
  headers: {
27312
27037
  [name: string]: unknown;
@@ -30466,6 +30191,7 @@ interface paths {
30466
30191
  content: {
30467
30192
  "application/json": {
30468
30193
  data: {
30194
+ availableFields?: string[];
30469
30195
  createdAt: string;
30470
30196
  id: string;
30471
30197
  messages: unknown[] | null;
@@ -30473,9 +30199,11 @@ interface paths {
30473
30199
  [key: string]: unknown;
30474
30200
  };
30475
30201
  metadataLabels?: {
30476
- [key: string]: unknown;
30202
+ [key: string]: string;
30477
30203
  };
30478
30204
  metadataSchema?: {
30205
+ keys: string[];
30206
+ } & {
30479
30207
  [key: string]: unknown;
30480
30208
  };
30481
30209
  name: string;
@@ -30608,9 +30336,11 @@ interface paths {
30608
30336
  [key: string]: unknown;
30609
30337
  };
30610
30338
  metadataLabels?: {
30611
- [key: string]: unknown;
30339
+ [key: string]: string;
30612
30340
  };
30613
30341
  metadataSchema?: {
30342
+ keys: string[];
30343
+ } & {
30614
30344
  [key: string]: unknown;
30615
30345
  };
30616
30346
  name: string;
@@ -31615,9 +31345,11 @@ interface paths {
31615
31345
  [key: string]: unknown;
31616
31346
  };
31617
31347
  metadataLabels?: {
31618
- [key: string]: unknown;
31348
+ [key: string]: string;
31619
31349
  };
31620
31350
  metadataSchema?: {
31351
+ keys: string[];
31352
+ } & {
31621
31353
  [key: string]: unknown;
31622
31354
  };
31623
31355
  name: string;
@@ -31751,9 +31483,11 @@ interface paths {
31751
31483
  [key: string]: unknown;
31752
31484
  };
31753
31485
  metadataLabels?: {
31754
- [key: string]: unknown;
31486
+ [key: string]: string;
31755
31487
  };
31756
31488
  metadataSchema?: {
31489
+ keys: string[];
31490
+ } & {
31757
31491
  [key: string]: unknown;
31758
31492
  };
31759
31493
  name: string;
@@ -35242,33 +34976,24 @@ interface paths {
35242
34976
  patch?: never;
35243
34977
  trace?: never;
35244
34978
  };
35245
- "/v1/surfaces": {
34979
+ "/v1/skill-proposals": {
35246
34980
  parameters: {
35247
34981
  query?: never;
35248
34982
  header?: never;
35249
34983
  path?: never;
35250
34984
  cookie?: never;
35251
34985
  };
35252
- /**
35253
- * List surfaces
35254
- * @description List product surfaces across all of the authenticated user/org's products with cursor-based pagination. Supports filtering by type, status, and environment. Slack inbound config is returned only for Slack surfaces and only includes safe-to-expose keys.
35255
- */
34986
+ /** List pending skill proposals */
35256
34987
  get: {
35257
34988
  parameters: {
35258
- query?: {
35259
- limit?: string;
35260
- cursor?: string;
35261
- type?: string;
35262
- status?: string;
35263
- environment?: string;
35264
- };
34989
+ query?: never;
35265
34990
  header?: never;
35266
34991
  path?: never;
35267
34992
  cookie?: never;
35268
34993
  };
35269
34994
  requestBody?: never;
35270
34995
  responses: {
35271
- /** @description Paginated list of surfaces */
34996
+ /** @description Pending proposals */
35272
34997
  200: {
35273
34998
  headers: {
35274
34999
  [name: string]: unknown;
@@ -35276,41 +35001,28 @@ interface paths {
35276
35001
  content: {
35277
35002
  "application/json": {
35278
35003
  data: {
35279
- createdAt: string;
35280
- environment: string;
35281
- id: string;
35282
- inbound: {
35283
- appId?: string;
35284
- continueThreads?: boolean;
35285
- integrationId?: string;
35286
- listenChannels?: string[];
35287
- listenDms?: boolean;
35288
- teamId?: string;
35289
- teamName?: string;
35290
- triggerOnMention?: boolean;
35291
- } | null;
35292
- name: string;
35293
- productId: string;
35294
- status: string;
35295
- type: string;
35296
- updatedAt: string;
35004
+ [key: string]: unknown;
35297
35005
  }[];
35298
- pagination: {
35299
- currentOffset: number;
35300
- currentPage?: number;
35301
- hasMore: boolean;
35302
- hasPrev: boolean;
35303
- limit: number;
35304
- nextCursor: string | null;
35305
- prevCursor: string | null;
35306
- totalCount?: number;
35307
- totalPages?: number;
35308
- };
35309
35006
  };
35310
35007
  };
35311
35008
  };
35312
- /** @description Invalid parameters */
35313
- 400: {
35009
+ /** @description Unauthorized */
35010
+ 401: {
35011
+ headers: {
35012
+ [name: string]: unknown;
35013
+ };
35014
+ content: {
35015
+ "application/json": {
35016
+ details?: {
35017
+ message: string;
35018
+ path?: string;
35019
+ }[];
35020
+ error: string;
35021
+ };
35022
+ };
35023
+ };
35024
+ /** @description Insufficient permissions */
35025
+ 403: {
35314
35026
  headers: {
35315
35027
  [name: string]: unknown;
35316
35028
  };
@@ -35324,6 +35036,51 @@ interface paths {
35324
35036
  };
35325
35037
  };
35326
35038
  };
35039
+ };
35040
+ };
35041
+ put?: never;
35042
+ post?: never;
35043
+ delete?: never;
35044
+ options?: never;
35045
+ head?: never;
35046
+ patch?: never;
35047
+ trace?: never;
35048
+ };
35049
+ "/v1/skill-proposals/{id}/approve": {
35050
+ parameters: {
35051
+ query?: never;
35052
+ header?: never;
35053
+ path?: never;
35054
+ cookie?: never;
35055
+ };
35056
+ get?: never;
35057
+ put?: never;
35058
+ /**
35059
+ * Approve a skill proposal
35060
+ * @description Approve a pending proposal — publishes the proposed skill version.
35061
+ */
35062
+ post: {
35063
+ parameters: {
35064
+ query?: never;
35065
+ header?: never;
35066
+ path: {
35067
+ id: string;
35068
+ };
35069
+ cookie?: never;
35070
+ };
35071
+ requestBody?: never;
35072
+ responses: {
35073
+ /** @description Approved */
35074
+ 200: {
35075
+ headers: {
35076
+ [name: string]: unknown;
35077
+ };
35078
+ content: {
35079
+ "application/json": {
35080
+ [key: string]: unknown;
35081
+ };
35082
+ };
35083
+ };
35327
35084
  /** @description Unauthorized */
35328
35085
  401: {
35329
35086
  headers: {
@@ -35354,8 +35111,8 @@ interface paths {
35354
35111
  };
35355
35112
  };
35356
35113
  };
35357
- /** @description Internal server error */
35358
- 500: {
35114
+ /** @description Already reviewed */
35115
+ 409: {
35359
35116
  headers: {
35360
35117
  [name: string]: unknown;
35361
35118
  };
@@ -35371,90 +35128,1421 @@ interface paths {
35371
35128
  };
35372
35129
  };
35373
35130
  };
35374
- put?: never;
35375
- post?: never;
35376
35131
  delete?: never;
35377
35132
  options?: never;
35378
35133
  head?: never;
35379
35134
  patch?: never;
35380
35135
  trace?: never;
35381
35136
  };
35382
- "/v1/tools": {
35137
+ "/v1/skill-proposals/{id}/reject": {
35383
35138
  parameters: {
35384
35139
  query?: never;
35385
35140
  header?: never;
35386
35141
  path?: never;
35387
35142
  cookie?: never;
35388
35143
  };
35389
- /**
35390
- * List tools
35391
- * @description Get all tools for the authenticated user with filtering and cursor pagination.
35392
- */
35393
- get: {
35144
+ get?: never;
35145
+ put?: never;
35146
+ /** Reject a skill proposal */
35147
+ post: {
35394
35148
  parameters: {
35395
- query?: {
35396
- limit?: string;
35397
- cursor?: string;
35398
- direction?: string;
35399
- includeCount?: string;
35400
- distinct?: string;
35401
- tool_type?: string;
35402
- search?: string;
35403
- isActive?: string;
35404
- ids?: string;
35405
- include?: string;
35406
- };
35149
+ query?: never;
35407
35150
  header?: never;
35408
- path?: never;
35151
+ path: {
35152
+ id: string;
35153
+ };
35409
35154
  cookie?: never;
35410
35155
  };
35411
- requestBody?: never;
35412
- responses: {
35413
- /** @description Paginated list of tools */
35414
- 200: {
35415
- headers: {
35416
- [name: string]: unknown;
35417
- };
35418
- content: {
35419
- "application/json": {
35420
- data: {
35421
- createdAt: string;
35422
- description: string | null;
35423
- id: string;
35424
- isActive: boolean;
35425
- name: string;
35426
- parametersSchema?: {
35427
- [key: string]: unknown;
35428
- };
35429
- toolType: string;
35430
- updatedAt: string;
35431
- }[];
35432
- pagination: {
35433
- currentOffset: number;
35434
- currentPage?: number;
35435
- hasMore: boolean;
35436
- hasPrev: boolean;
35437
- limit: number;
35438
- nextCursor: string | null;
35439
- prevCursor: string | null;
35440
- totalCount?: number;
35441
- totalPages?: number;
35442
- };
35443
- };
35156
+ requestBody?: {
35157
+ content: {
35158
+ "application/json": {
35159
+ reason?: string;
35444
35160
  };
35445
35161
  };
35446
- /** @description Invalid parameters */
35447
- 400: {
35162
+ };
35163
+ responses: {
35164
+ /** @description Rejected */
35165
+ 200: {
35448
35166
  headers: {
35449
35167
  [name: string]: unknown;
35450
35168
  };
35451
35169
  content: {
35452
35170
  "application/json": {
35453
- details?: {
35454
- message: string;
35455
- path?: string;
35456
- }[];
35457
- error: string;
35171
+ [key: string]: unknown;
35172
+ };
35173
+ };
35174
+ };
35175
+ /** @description Unauthorized */
35176
+ 401: {
35177
+ headers: {
35178
+ [name: string]: unknown;
35179
+ };
35180
+ content: {
35181
+ "application/json": {
35182
+ details?: {
35183
+ message: string;
35184
+ path?: string;
35185
+ }[];
35186
+ error: string;
35187
+ };
35188
+ };
35189
+ };
35190
+ /** @description Insufficient permissions */
35191
+ 403: {
35192
+ headers: {
35193
+ [name: string]: unknown;
35194
+ };
35195
+ content: {
35196
+ "application/json": {
35197
+ details?: {
35198
+ message: string;
35199
+ path?: string;
35200
+ }[];
35201
+ error: string;
35202
+ };
35203
+ };
35204
+ };
35205
+ };
35206
+ };
35207
+ delete?: never;
35208
+ options?: never;
35209
+ head?: never;
35210
+ patch?: never;
35211
+ trace?: never;
35212
+ };
35213
+ "/v1/skills": {
35214
+ parameters: {
35215
+ query?: never;
35216
+ header?: never;
35217
+ path?: never;
35218
+ cookie?: never;
35219
+ };
35220
+ /**
35221
+ * List skills
35222
+ * @description List skills for the authenticated owner, optionally filtered by status.
35223
+ */
35224
+ get: {
35225
+ parameters: {
35226
+ query?: {
35227
+ status?: "draft" | "active" | "archived";
35228
+ };
35229
+ header?: never;
35230
+ path?: never;
35231
+ cookie?: never;
35232
+ };
35233
+ requestBody?: never;
35234
+ responses: {
35235
+ /** @description Skills */
35236
+ 200: {
35237
+ headers: {
35238
+ [name: string]: unknown;
35239
+ };
35240
+ content: {
35241
+ "application/json": {
35242
+ data: {
35243
+ [key: string]: unknown;
35244
+ }[];
35245
+ };
35246
+ };
35247
+ };
35248
+ /** @description Unauthorized */
35249
+ 401: {
35250
+ headers: {
35251
+ [name: string]: unknown;
35252
+ };
35253
+ content: {
35254
+ "application/json": {
35255
+ details?: {
35256
+ message: string;
35257
+ path?: string;
35258
+ }[];
35259
+ error: string;
35260
+ };
35261
+ };
35262
+ };
35263
+ /** @description Insufficient permissions */
35264
+ 403: {
35265
+ headers: {
35266
+ [name: string]: unknown;
35267
+ };
35268
+ content: {
35269
+ "application/json": {
35270
+ details?: {
35271
+ message: string;
35272
+ path?: string;
35273
+ }[];
35274
+ error: string;
35275
+ };
35276
+ };
35277
+ };
35278
+ /** @description Internal server error */
35279
+ 500: {
35280
+ headers: {
35281
+ [name: string]: unknown;
35282
+ };
35283
+ content: {
35284
+ "application/json": {
35285
+ details?: {
35286
+ message: string;
35287
+ path?: string;
35288
+ }[];
35289
+ error: string;
35290
+ };
35291
+ };
35292
+ };
35293
+ };
35294
+ };
35295
+ put?: never;
35296
+ /**
35297
+ * Create a skill
35298
+ * @description Create a skill from a SKILL.md string (`markdown`) or a structured manifest (`frontmatter` + `body`). Admin plane — no review queue.
35299
+ */
35300
+ post: {
35301
+ parameters: {
35302
+ query?: never;
35303
+ header?: never;
35304
+ path?: never;
35305
+ cookie?: never;
35306
+ };
35307
+ requestBody?: {
35308
+ content: {
35309
+ "application/json": {
35310
+ [key: string]: unknown;
35311
+ };
35312
+ };
35313
+ };
35314
+ responses: {
35315
+ /** @description Created */
35316
+ 201: {
35317
+ headers: {
35318
+ [name: string]: unknown;
35319
+ };
35320
+ content: {
35321
+ "application/json": {
35322
+ [key: string]: unknown;
35323
+ };
35324
+ };
35325
+ };
35326
+ /** @description Invalid manifest */
35327
+ 400: {
35328
+ headers: {
35329
+ [name: string]: unknown;
35330
+ };
35331
+ content: {
35332
+ "application/json": {
35333
+ details?: {
35334
+ message: string;
35335
+ path?: string;
35336
+ }[];
35337
+ error: string;
35338
+ };
35339
+ };
35340
+ };
35341
+ /** @description Unauthorized */
35342
+ 401: {
35343
+ headers: {
35344
+ [name: string]: unknown;
35345
+ };
35346
+ content: {
35347
+ "application/json": {
35348
+ details?: {
35349
+ message: string;
35350
+ path?: string;
35351
+ }[];
35352
+ error: string;
35353
+ };
35354
+ };
35355
+ };
35356
+ /** @description Insufficient permissions */
35357
+ 403: {
35358
+ headers: {
35359
+ [name: string]: unknown;
35360
+ };
35361
+ content: {
35362
+ "application/json": {
35363
+ details?: {
35364
+ message: string;
35365
+ path?: string;
35366
+ }[];
35367
+ error: string;
35368
+ };
35369
+ };
35370
+ };
35371
+ /** @description Unsupported capability */
35372
+ 422: {
35373
+ headers: {
35374
+ [name: string]: unknown;
35375
+ };
35376
+ content: {
35377
+ "application/json": {
35378
+ details?: {
35379
+ message: string;
35380
+ path?: string;
35381
+ }[];
35382
+ error: string;
35383
+ };
35384
+ };
35385
+ };
35386
+ /** @description Internal server error */
35387
+ 500: {
35388
+ headers: {
35389
+ [name: string]: unknown;
35390
+ };
35391
+ content: {
35392
+ "application/json": {
35393
+ details?: {
35394
+ message: string;
35395
+ path?: string;
35396
+ }[];
35397
+ error: string;
35398
+ };
35399
+ };
35400
+ };
35401
+ };
35402
+ };
35403
+ delete?: never;
35404
+ options?: never;
35405
+ head?: never;
35406
+ patch?: never;
35407
+ trace?: never;
35408
+ };
35409
+ "/v1/skills/bind": {
35410
+ parameters: {
35411
+ query?: never;
35412
+ header?: never;
35413
+ path?: never;
35414
+ cookie?: never;
35415
+ };
35416
+ get?: never;
35417
+ put?: never;
35418
+ /** Bind a skill to an agent */
35419
+ post: {
35420
+ parameters: {
35421
+ query?: never;
35422
+ header?: never;
35423
+ path?: never;
35424
+ cookie?: never;
35425
+ };
35426
+ requestBody?: {
35427
+ content: {
35428
+ "application/json": {
35429
+ agentId: string;
35430
+ displayOrder?: number;
35431
+ enabled?: boolean;
35432
+ skillId: string;
35433
+ skillVersionId?: string | null;
35434
+ };
35435
+ };
35436
+ };
35437
+ responses: {
35438
+ /** @description Bound */
35439
+ 201: {
35440
+ headers: {
35441
+ [name: string]: unknown;
35442
+ };
35443
+ content: {
35444
+ "application/json": {
35445
+ [key: string]: unknown;
35446
+ };
35447
+ };
35448
+ };
35449
+ /** @description Unauthorized */
35450
+ 401: {
35451
+ headers: {
35452
+ [name: string]: unknown;
35453
+ };
35454
+ content: {
35455
+ "application/json": {
35456
+ details?: {
35457
+ message: string;
35458
+ path?: string;
35459
+ }[];
35460
+ error: string;
35461
+ };
35462
+ };
35463
+ };
35464
+ /** @description Forbidden */
35465
+ 403: {
35466
+ headers: {
35467
+ [name: string]: unknown;
35468
+ };
35469
+ content: {
35470
+ "application/json": {
35471
+ details?: {
35472
+ message: string;
35473
+ path?: string;
35474
+ }[];
35475
+ error: string;
35476
+ };
35477
+ };
35478
+ };
35479
+ /** @description Not found */
35480
+ 404: {
35481
+ headers: {
35482
+ [name: string]: unknown;
35483
+ };
35484
+ content: {
35485
+ "application/json": {
35486
+ details?: {
35487
+ message: string;
35488
+ path?: string;
35489
+ }[];
35490
+ error: string;
35491
+ };
35492
+ };
35493
+ };
35494
+ };
35495
+ };
35496
+ delete?: never;
35497
+ options?: never;
35498
+ head?: never;
35499
+ patch?: never;
35500
+ trace?: never;
35501
+ };
35502
+ "/v1/skills/bindings": {
35503
+ parameters: {
35504
+ query?: never;
35505
+ header?: never;
35506
+ path?: never;
35507
+ cookie?: never;
35508
+ };
35509
+ /** List an agent's skill bindings */
35510
+ get: {
35511
+ parameters: {
35512
+ query: {
35513
+ agentId: string;
35514
+ };
35515
+ header?: never;
35516
+ path?: never;
35517
+ cookie?: never;
35518
+ };
35519
+ requestBody?: never;
35520
+ responses: {
35521
+ /** @description Bindings */
35522
+ 200: {
35523
+ headers: {
35524
+ [name: string]: unknown;
35525
+ };
35526
+ content: {
35527
+ "application/json": {
35528
+ data: {
35529
+ [key: string]: unknown;
35530
+ }[];
35531
+ };
35532
+ };
35533
+ };
35534
+ /** @description Unauthorized */
35535
+ 401: {
35536
+ headers: {
35537
+ [name: string]: unknown;
35538
+ };
35539
+ content: {
35540
+ "application/json": {
35541
+ details?: {
35542
+ message: string;
35543
+ path?: string;
35544
+ }[];
35545
+ error: string;
35546
+ };
35547
+ };
35548
+ };
35549
+ /** @description Forbidden */
35550
+ 403: {
35551
+ headers: {
35552
+ [name: string]: unknown;
35553
+ };
35554
+ content: {
35555
+ "application/json": {
35556
+ details?: {
35557
+ message: string;
35558
+ path?: string;
35559
+ }[];
35560
+ error: string;
35561
+ };
35562
+ };
35563
+ };
35564
+ };
35565
+ };
35566
+ put?: never;
35567
+ post?: never;
35568
+ delete?: never;
35569
+ options?: never;
35570
+ head?: never;
35571
+ patch?: never;
35572
+ trace?: never;
35573
+ };
35574
+ "/v1/skills/bindings/{bindingId}": {
35575
+ parameters: {
35576
+ query?: never;
35577
+ header?: never;
35578
+ path?: never;
35579
+ cookie?: never;
35580
+ };
35581
+ get?: never;
35582
+ put?: never;
35583
+ post?: never;
35584
+ /** Unbind a skill from an agent */
35585
+ delete: {
35586
+ parameters: {
35587
+ query?: never;
35588
+ header?: never;
35589
+ path: {
35590
+ bindingId: string;
35591
+ };
35592
+ cookie?: never;
35593
+ };
35594
+ requestBody?: never;
35595
+ responses: {
35596
+ /** @description Unbound */
35597
+ 200: {
35598
+ headers: {
35599
+ [name: string]: unknown;
35600
+ };
35601
+ content: {
35602
+ "application/json": {
35603
+ success: boolean;
35604
+ };
35605
+ };
35606
+ };
35607
+ /** @description Unauthorized */
35608
+ 401: {
35609
+ headers: {
35610
+ [name: string]: unknown;
35611
+ };
35612
+ content: {
35613
+ "application/json": {
35614
+ details?: {
35615
+ message: string;
35616
+ path?: string;
35617
+ }[];
35618
+ error: string;
35619
+ };
35620
+ };
35621
+ };
35622
+ /** @description Insufficient permissions */
35623
+ 403: {
35624
+ headers: {
35625
+ [name: string]: unknown;
35626
+ };
35627
+ content: {
35628
+ "application/json": {
35629
+ details?: {
35630
+ message: string;
35631
+ path?: string;
35632
+ }[];
35633
+ error: string;
35634
+ };
35635
+ };
35636
+ };
35637
+ };
35638
+ };
35639
+ options?: never;
35640
+ head?: never;
35641
+ patch?: never;
35642
+ trace?: never;
35643
+ };
35644
+ "/v1/skills/import": {
35645
+ parameters: {
35646
+ query?: never;
35647
+ header?: never;
35648
+ path?: never;
35649
+ cookie?: never;
35650
+ };
35651
+ get?: never;
35652
+ put?: never;
35653
+ /**
35654
+ * Import a SKILL.md
35655
+ * @description Import a single SKILL.md document. Lands with trustLevel=imported.
35656
+ */
35657
+ post: {
35658
+ parameters: {
35659
+ query?: never;
35660
+ header?: never;
35661
+ path?: never;
35662
+ cookie?: never;
35663
+ };
35664
+ requestBody?: {
35665
+ content: {
35666
+ "application/json": {
35667
+ markdown: string;
35668
+ };
35669
+ };
35670
+ };
35671
+ responses: {
35672
+ /** @description Imported */
35673
+ 201: {
35674
+ headers: {
35675
+ [name: string]: unknown;
35676
+ };
35677
+ content: {
35678
+ "application/json": {
35679
+ [key: string]: unknown;
35680
+ };
35681
+ };
35682
+ };
35683
+ /** @description Invalid manifest */
35684
+ 400: {
35685
+ headers: {
35686
+ [name: string]: unknown;
35687
+ };
35688
+ content: {
35689
+ "application/json": {
35690
+ details?: {
35691
+ message: string;
35692
+ path?: string;
35693
+ }[];
35694
+ error: string;
35695
+ };
35696
+ };
35697
+ };
35698
+ /** @description Unauthorized */
35699
+ 401: {
35700
+ headers: {
35701
+ [name: string]: unknown;
35702
+ };
35703
+ content: {
35704
+ "application/json": {
35705
+ details?: {
35706
+ message: string;
35707
+ path?: string;
35708
+ }[];
35709
+ error: string;
35710
+ };
35711
+ };
35712
+ };
35713
+ /** @description Insufficient permissions */
35714
+ 403: {
35715
+ headers: {
35716
+ [name: string]: unknown;
35717
+ };
35718
+ content: {
35719
+ "application/json": {
35720
+ details?: {
35721
+ message: string;
35722
+ path?: string;
35723
+ }[];
35724
+ error: string;
35725
+ };
35726
+ };
35727
+ };
35728
+ /** @description Unsupported capability */
35729
+ 422: {
35730
+ headers: {
35731
+ [name: string]: unknown;
35732
+ };
35733
+ content: {
35734
+ "application/json": {
35735
+ details?: {
35736
+ message: string;
35737
+ path?: string;
35738
+ }[];
35739
+ error: string;
35740
+ };
35741
+ };
35742
+ };
35743
+ };
35744
+ };
35745
+ delete?: never;
35746
+ options?: never;
35747
+ head?: never;
35748
+ patch?: never;
35749
+ trace?: never;
35750
+ };
35751
+ "/v1/skills/propose": {
35752
+ parameters: {
35753
+ query?: never;
35754
+ header?: never;
35755
+ path?: never;
35756
+ cookie?: never;
35757
+ };
35758
+ get?: never;
35759
+ put?: never;
35760
+ /**
35761
+ * Propose a skill (deployed-agent data plane)
35762
+ * @description Agent self-authoring endpoint hit by the `propose_skill` runtime tool. Review-by-default; auto-publishes only under the owner-set opt-out. NOT the admin create path.
35763
+ */
35764
+ post: {
35765
+ parameters: {
35766
+ query?: never;
35767
+ header?: never;
35768
+ path?: never;
35769
+ cookie?: never;
35770
+ };
35771
+ requestBody?: {
35772
+ content: {
35773
+ "application/json": {
35774
+ body: string;
35775
+ capabilities?: {
35776
+ [key: string]: unknown;
35777
+ };
35778
+ description: string;
35779
+ name: string;
35780
+ proposingAgentExecutionId: string;
35781
+ proposingAgentId: string;
35782
+ };
35783
+ };
35784
+ };
35785
+ responses: {
35786
+ /** @description Proposal outcome */
35787
+ 200: {
35788
+ headers: {
35789
+ [name: string]: unknown;
35790
+ };
35791
+ content: {
35792
+ "application/json": {
35793
+ [key: string]: unknown;
35794
+ };
35795
+ };
35796
+ };
35797
+ /** @description Invalid manifest */
35798
+ 400: {
35799
+ headers: {
35800
+ [name: string]: unknown;
35801
+ };
35802
+ content: {
35803
+ "application/json": {
35804
+ details?: {
35805
+ message: string;
35806
+ path?: string;
35807
+ }[];
35808
+ error: string;
35809
+ };
35810
+ };
35811
+ };
35812
+ /** @description Unauthorized */
35813
+ 401: {
35814
+ headers: {
35815
+ [name: string]: unknown;
35816
+ };
35817
+ content: {
35818
+ "application/json": {
35819
+ details?: {
35820
+ message: string;
35821
+ path?: string;
35822
+ }[];
35823
+ error: string;
35824
+ };
35825
+ };
35826
+ };
35827
+ /** @description Unsupported capability */
35828
+ 422: {
35829
+ headers: {
35830
+ [name: string]: unknown;
35831
+ };
35832
+ content: {
35833
+ "application/json": {
35834
+ details?: {
35835
+ message: string;
35836
+ path?: string;
35837
+ }[];
35838
+ error: string;
35839
+ };
35840
+ };
35841
+ };
35842
+ };
35843
+ };
35844
+ delete?: never;
35845
+ options?: never;
35846
+ head?: never;
35847
+ patch?: never;
35848
+ trace?: never;
35849
+ };
35850
+ "/v1/skills/{id}": {
35851
+ parameters: {
35852
+ query?: never;
35853
+ header?: never;
35854
+ path?: never;
35855
+ cookie?: never;
35856
+ };
35857
+ /** Get a skill */
35858
+ get: {
35859
+ parameters: {
35860
+ query?: never;
35861
+ header?: never;
35862
+ path: {
35863
+ id: string;
35864
+ };
35865
+ cookie?: never;
35866
+ };
35867
+ requestBody?: never;
35868
+ responses: {
35869
+ /** @description Skill */
35870
+ 200: {
35871
+ headers: {
35872
+ [name: string]: unknown;
35873
+ };
35874
+ content: {
35875
+ "application/json": {
35876
+ [key: string]: unknown;
35877
+ };
35878
+ };
35879
+ };
35880
+ /** @description Invalid id */
35881
+ 400: {
35882
+ headers: {
35883
+ [name: string]: unknown;
35884
+ };
35885
+ content: {
35886
+ "application/json": {
35887
+ details?: {
35888
+ message: string;
35889
+ path?: string;
35890
+ }[];
35891
+ error: string;
35892
+ };
35893
+ };
35894
+ };
35895
+ /** @description Unauthorized */
35896
+ 401: {
35897
+ headers: {
35898
+ [name: string]: unknown;
35899
+ };
35900
+ content: {
35901
+ "application/json": {
35902
+ details?: {
35903
+ message: string;
35904
+ path?: string;
35905
+ }[];
35906
+ error: string;
35907
+ };
35908
+ };
35909
+ };
35910
+ /** @description Insufficient permissions */
35911
+ 403: {
35912
+ headers: {
35913
+ [name: string]: unknown;
35914
+ };
35915
+ content: {
35916
+ "application/json": {
35917
+ details?: {
35918
+ message: string;
35919
+ path?: string;
35920
+ }[];
35921
+ error: string;
35922
+ };
35923
+ };
35924
+ };
35925
+ /** @description Not found */
35926
+ 404: {
35927
+ headers: {
35928
+ [name: string]: unknown;
35929
+ };
35930
+ content: {
35931
+ "application/json": {
35932
+ details?: {
35933
+ message: string;
35934
+ path?: string;
35935
+ }[];
35936
+ error: string;
35937
+ };
35938
+ };
35939
+ };
35940
+ };
35941
+ };
35942
+ /**
35943
+ * Append a new skill version
35944
+ * @description Append a new draft version to a skill from an updated manifest.
35945
+ */
35946
+ put: {
35947
+ parameters: {
35948
+ query?: never;
35949
+ header?: never;
35950
+ path: {
35951
+ id: string;
35952
+ };
35953
+ cookie?: never;
35954
+ };
35955
+ requestBody?: {
35956
+ content: {
35957
+ "application/json": {
35958
+ [key: string]: unknown;
35959
+ };
35960
+ };
35961
+ };
35962
+ responses: {
35963
+ /** @description New version */
35964
+ 200: {
35965
+ headers: {
35966
+ [name: string]: unknown;
35967
+ };
35968
+ content: {
35969
+ "application/json": {
35970
+ [key: string]: unknown;
35971
+ };
35972
+ };
35973
+ };
35974
+ /** @description Invalid manifest */
35975
+ 400: {
35976
+ headers: {
35977
+ [name: string]: unknown;
35978
+ };
35979
+ content: {
35980
+ "application/json": {
35981
+ details?: {
35982
+ message: string;
35983
+ path?: string;
35984
+ }[];
35985
+ error: string;
35986
+ };
35987
+ };
35988
+ };
35989
+ /** @description Unauthorized */
35990
+ 401: {
35991
+ headers: {
35992
+ [name: string]: unknown;
35993
+ };
35994
+ content: {
35995
+ "application/json": {
35996
+ details?: {
35997
+ message: string;
35998
+ path?: string;
35999
+ }[];
36000
+ error: string;
36001
+ };
36002
+ };
36003
+ };
36004
+ /** @description Insufficient permissions */
36005
+ 403: {
36006
+ headers: {
36007
+ [name: string]: unknown;
36008
+ };
36009
+ content: {
36010
+ "application/json": {
36011
+ details?: {
36012
+ message: string;
36013
+ path?: string;
36014
+ }[];
36015
+ error: string;
36016
+ };
36017
+ };
36018
+ };
36019
+ /** @description Not found */
36020
+ 404: {
36021
+ headers: {
36022
+ [name: string]: unknown;
36023
+ };
36024
+ content: {
36025
+ "application/json": {
36026
+ details?: {
36027
+ message: string;
36028
+ path?: string;
36029
+ }[];
36030
+ error: string;
36031
+ };
36032
+ };
36033
+ };
36034
+ /** @description Unsupported capability */
36035
+ 422: {
36036
+ headers: {
36037
+ [name: string]: unknown;
36038
+ };
36039
+ content: {
36040
+ "application/json": {
36041
+ details?: {
36042
+ message: string;
36043
+ path?: string;
36044
+ }[];
36045
+ error: string;
36046
+ };
36047
+ };
36048
+ };
36049
+ };
36050
+ };
36051
+ post?: never;
36052
+ /** Delete a skill */
36053
+ delete: {
36054
+ parameters: {
36055
+ query?: never;
36056
+ header?: never;
36057
+ path: {
36058
+ id: string;
36059
+ };
36060
+ cookie?: never;
36061
+ };
36062
+ requestBody?: never;
36063
+ responses: {
36064
+ /** @description Deleted */
36065
+ 200: {
36066
+ headers: {
36067
+ [name: string]: unknown;
36068
+ };
36069
+ content: {
36070
+ "application/json": {
36071
+ success: boolean;
36072
+ };
36073
+ };
36074
+ };
36075
+ /** @description Invalid id */
36076
+ 400: {
36077
+ headers: {
36078
+ [name: string]: unknown;
36079
+ };
36080
+ content: {
36081
+ "application/json": {
36082
+ details?: {
36083
+ message: string;
36084
+ path?: string;
36085
+ }[];
36086
+ error: string;
36087
+ };
36088
+ };
36089
+ };
36090
+ /** @description Unauthorized */
36091
+ 401: {
36092
+ headers: {
36093
+ [name: string]: unknown;
36094
+ };
36095
+ content: {
36096
+ "application/json": {
36097
+ details?: {
36098
+ message: string;
36099
+ path?: string;
36100
+ }[];
36101
+ error: string;
36102
+ };
36103
+ };
36104
+ };
36105
+ /** @description Insufficient permissions */
36106
+ 403: {
36107
+ headers: {
36108
+ [name: string]: unknown;
36109
+ };
36110
+ content: {
36111
+ "application/json": {
36112
+ details?: {
36113
+ message: string;
36114
+ path?: string;
36115
+ }[];
36116
+ error: string;
36117
+ };
36118
+ };
36119
+ };
36120
+ /** @description Not found */
36121
+ 404: {
36122
+ headers: {
36123
+ [name: string]: unknown;
36124
+ };
36125
+ content: {
36126
+ "application/json": {
36127
+ details?: {
36128
+ message: string;
36129
+ path?: string;
36130
+ }[];
36131
+ error: string;
36132
+ };
36133
+ };
36134
+ };
36135
+ };
36136
+ };
36137
+ options?: never;
36138
+ head?: never;
36139
+ patch?: never;
36140
+ trace?: never;
36141
+ };
36142
+ "/v1/skills/{id}/versions": {
36143
+ parameters: {
36144
+ query?: never;
36145
+ header?: never;
36146
+ path?: never;
36147
+ cookie?: never;
36148
+ };
36149
+ /**
36150
+ * List a skill's versions
36151
+ * @description List all versions of a skill, newest first. (The same array is embedded in GET /{id}; this endpoint exposes it standalone for clients that only need the version history.)
36152
+ */
36153
+ get: {
36154
+ parameters: {
36155
+ query?: never;
36156
+ header?: never;
36157
+ path: {
36158
+ id: string;
36159
+ };
36160
+ cookie?: never;
36161
+ };
36162
+ requestBody?: never;
36163
+ responses: {
36164
+ /** @description Versions */
36165
+ 200: {
36166
+ headers: {
36167
+ [name: string]: unknown;
36168
+ };
36169
+ content: {
36170
+ "application/json": {
36171
+ data: {
36172
+ [key: string]: unknown;
36173
+ }[];
36174
+ };
36175
+ };
36176
+ };
36177
+ /** @description Invalid id */
36178
+ 400: {
36179
+ headers: {
36180
+ [name: string]: unknown;
36181
+ };
36182
+ content: {
36183
+ "application/json": {
36184
+ details?: {
36185
+ message: string;
36186
+ path?: string;
36187
+ }[];
36188
+ error: string;
36189
+ };
36190
+ };
36191
+ };
36192
+ /** @description Unauthorized */
36193
+ 401: {
36194
+ headers: {
36195
+ [name: string]: unknown;
36196
+ };
36197
+ content: {
36198
+ "application/json": {
36199
+ details?: {
36200
+ message: string;
36201
+ path?: string;
36202
+ }[];
36203
+ error: string;
36204
+ };
36205
+ };
36206
+ };
36207
+ /** @description Insufficient permissions */
36208
+ 403: {
36209
+ headers: {
36210
+ [name: string]: unknown;
36211
+ };
36212
+ content: {
36213
+ "application/json": {
36214
+ details?: {
36215
+ message: string;
36216
+ path?: string;
36217
+ }[];
36218
+ error: string;
36219
+ };
36220
+ };
36221
+ };
36222
+ /** @description Not found */
36223
+ 404: {
36224
+ headers: {
36225
+ [name: string]: unknown;
36226
+ };
36227
+ content: {
36228
+ "application/json": {
36229
+ details?: {
36230
+ message: string;
36231
+ path?: string;
36232
+ }[];
36233
+ error: string;
36234
+ };
36235
+ };
36236
+ };
36237
+ };
36238
+ };
36239
+ put?: never;
36240
+ post?: never;
36241
+ delete?: never;
36242
+ options?: never;
36243
+ head?: never;
36244
+ patch?: never;
36245
+ trace?: never;
36246
+ };
36247
+ "/v1/skills/{id}/versions/{versionId}/publish": {
36248
+ parameters: {
36249
+ query?: never;
36250
+ header?: never;
36251
+ path?: never;
36252
+ cookie?: never;
36253
+ };
36254
+ get?: never;
36255
+ put?: never;
36256
+ /** Publish a skill version */
36257
+ post: {
36258
+ parameters: {
36259
+ query?: never;
36260
+ header?: never;
36261
+ path: {
36262
+ id: string;
36263
+ versionId: string;
36264
+ };
36265
+ cookie?: never;
36266
+ };
36267
+ requestBody?: never;
36268
+ responses: {
36269
+ /** @description Published */
36270
+ 200: {
36271
+ headers: {
36272
+ [name: string]: unknown;
36273
+ };
36274
+ content: {
36275
+ "application/json": {
36276
+ success: boolean;
36277
+ };
36278
+ };
36279
+ };
36280
+ /** @description Unauthorized */
36281
+ 401: {
36282
+ headers: {
36283
+ [name: string]: unknown;
36284
+ };
36285
+ content: {
36286
+ "application/json": {
36287
+ details?: {
36288
+ message: string;
36289
+ path?: string;
36290
+ }[];
36291
+ error: string;
36292
+ };
36293
+ };
36294
+ };
36295
+ /** @description Insufficient permissions */
36296
+ 403: {
36297
+ headers: {
36298
+ [name: string]: unknown;
36299
+ };
36300
+ content: {
36301
+ "application/json": {
36302
+ details?: {
36303
+ message: string;
36304
+ path?: string;
36305
+ }[];
36306
+ error: string;
36307
+ };
36308
+ };
36309
+ };
36310
+ /** @description Not found */
36311
+ 404: {
36312
+ headers: {
36313
+ [name: string]: unknown;
36314
+ };
36315
+ content: {
36316
+ "application/json": {
36317
+ details?: {
36318
+ message: string;
36319
+ path?: string;
36320
+ }[];
36321
+ error: string;
36322
+ };
36323
+ };
36324
+ };
36325
+ };
36326
+ };
36327
+ delete?: never;
36328
+ options?: never;
36329
+ head?: never;
36330
+ patch?: never;
36331
+ trace?: never;
36332
+ };
36333
+ "/v1/surfaces": {
36334
+ parameters: {
36335
+ query?: never;
36336
+ header?: never;
36337
+ path?: never;
36338
+ cookie?: never;
36339
+ };
36340
+ /**
36341
+ * List surfaces
36342
+ * @description List product surfaces across all of the authenticated user/org's products with cursor-based pagination. Supports filtering by type, status, and environment. Slack inbound config is returned only for Slack surfaces and only includes safe-to-expose keys.
36343
+ */
36344
+ get: {
36345
+ parameters: {
36346
+ query?: {
36347
+ limit?: string;
36348
+ cursor?: string;
36349
+ type?: string;
36350
+ status?: string;
36351
+ environment?: string;
36352
+ };
36353
+ header?: never;
36354
+ path?: never;
36355
+ cookie?: never;
36356
+ };
36357
+ requestBody?: never;
36358
+ responses: {
36359
+ /** @description Paginated list of surfaces */
36360
+ 200: {
36361
+ headers: {
36362
+ [name: string]: unknown;
36363
+ };
36364
+ content: {
36365
+ "application/json": {
36366
+ data: {
36367
+ createdAt: string;
36368
+ environment: string;
36369
+ id: string;
36370
+ inbound: {
36371
+ appId?: string;
36372
+ continueThreads?: boolean;
36373
+ integrationId?: string;
36374
+ listenChannels?: string[];
36375
+ listenDms?: boolean;
36376
+ teamId?: string;
36377
+ teamName?: string;
36378
+ triggerOnMention?: boolean;
36379
+ } | null;
36380
+ name: string;
36381
+ productId: string;
36382
+ status: string;
36383
+ type: string;
36384
+ updatedAt: string;
36385
+ }[];
36386
+ pagination: {
36387
+ currentOffset: number;
36388
+ currentPage?: number;
36389
+ hasMore: boolean;
36390
+ hasPrev: boolean;
36391
+ limit: number;
36392
+ nextCursor: string | null;
36393
+ prevCursor: string | null;
36394
+ totalCount?: number;
36395
+ totalPages?: number;
36396
+ };
36397
+ };
36398
+ };
36399
+ };
36400
+ /** @description Invalid parameters */
36401
+ 400: {
36402
+ headers: {
36403
+ [name: string]: unknown;
36404
+ };
36405
+ content: {
36406
+ "application/json": {
36407
+ details?: {
36408
+ message: string;
36409
+ path?: string;
36410
+ }[];
36411
+ error: string;
36412
+ };
36413
+ };
36414
+ };
36415
+ /** @description Unauthorized */
36416
+ 401: {
36417
+ headers: {
36418
+ [name: string]: unknown;
36419
+ };
36420
+ content: {
36421
+ "application/json": {
36422
+ details?: {
36423
+ message: string;
36424
+ path?: string;
36425
+ }[];
36426
+ error: string;
36427
+ };
36428
+ };
36429
+ };
36430
+ /** @description Insufficient permissions */
36431
+ 403: {
36432
+ headers: {
36433
+ [name: string]: unknown;
36434
+ };
36435
+ content: {
36436
+ "application/json": {
36437
+ details?: {
36438
+ message: string;
36439
+ path?: string;
36440
+ }[];
36441
+ error: string;
36442
+ };
36443
+ };
36444
+ };
36445
+ /** @description Internal server error */
36446
+ 500: {
36447
+ headers: {
36448
+ [name: string]: unknown;
36449
+ };
36450
+ content: {
36451
+ "application/json": {
36452
+ details?: {
36453
+ message: string;
36454
+ path?: string;
36455
+ }[];
36456
+ error: string;
36457
+ };
36458
+ };
36459
+ };
36460
+ };
36461
+ };
36462
+ put?: never;
36463
+ post?: never;
36464
+ delete?: never;
36465
+ options?: never;
36466
+ head?: never;
36467
+ patch?: never;
36468
+ trace?: never;
36469
+ };
36470
+ "/v1/tools": {
36471
+ parameters: {
36472
+ query?: never;
36473
+ header?: never;
36474
+ path?: never;
36475
+ cookie?: never;
36476
+ };
36477
+ /**
36478
+ * List tools
36479
+ * @description Get all tools for the authenticated user with filtering and cursor pagination.
36480
+ */
36481
+ get: {
36482
+ parameters: {
36483
+ query?: {
36484
+ limit?: string;
36485
+ cursor?: string;
36486
+ direction?: string;
36487
+ includeCount?: string;
36488
+ distinct?: string;
36489
+ tool_type?: string;
36490
+ search?: string;
36491
+ isActive?: string;
36492
+ ids?: string;
36493
+ include?: string;
36494
+ };
36495
+ header?: never;
36496
+ path?: never;
36497
+ cookie?: never;
36498
+ };
36499
+ requestBody?: never;
36500
+ responses: {
36501
+ /** @description Paginated list of tools */
36502
+ 200: {
36503
+ headers: {
36504
+ [name: string]: unknown;
36505
+ };
36506
+ content: {
36507
+ "application/json": {
36508
+ data: {
36509
+ createdAt: string;
36510
+ description: string | null;
36511
+ id: string;
36512
+ isActive: boolean;
36513
+ name: string;
36514
+ parametersSchema?: {
36515
+ [key: string]: unknown;
36516
+ };
36517
+ toolType: string;
36518
+ updatedAt: string;
36519
+ }[];
36520
+ pagination: {
36521
+ currentOffset: number;
36522
+ currentPage?: number;
36523
+ hasMore: boolean;
36524
+ hasPrev: boolean;
36525
+ limit: number;
36526
+ nextCursor: string | null;
36527
+ prevCursor: string | null;
36528
+ totalCount?: number;
36529
+ totalPages?: number;
36530
+ };
36531
+ };
36532
+ };
36533
+ };
36534
+ /** @description Invalid parameters */
36535
+ 400: {
36536
+ headers: {
36537
+ [name: string]: unknown;
36538
+ };
36539
+ content: {
36540
+ "application/json": {
36541
+ details?: {
36542
+ message: string;
36543
+ path?: string;
36544
+ }[];
36545
+ error: string;
35458
36546
  };
35459
36547
  };
35460
36548
  };
@@ -36693,17 +37781,6 @@ interface paths {
36693
37781
  toolType: string;
36694
37782
  updatedAt: string;
36695
37783
  userId: string;
36696
- validation?: {
36697
- warnings: {
36698
- code: string;
36699
- column?: number;
36700
- line?: number;
36701
- message: string;
36702
- /** @enum {string} */
36703
- severity: "error" | "warning";
36704
- suggestion?: string;
36705
- }[];
36706
- };
36707
37784
  };
36708
37785
  };
36709
37786
  };
@@ -37614,6 +38691,10 @@ interface paths {
37614
38691
  createdAt: string;
37615
38692
  dashboardUrl: string;
37616
38693
  email: string | null;
38694
+ features: {
38695
+ enableAgentSkills: boolean;
38696
+ productGeneratorModel: string;
38697
+ };
37617
38698
  id: string;
37618
38699
  orgId?: string | null;
37619
38700
  preferences: {
@@ -38053,98 +39134,103 @@ interface paths {
38053
39134
  interface components {
38054
39135
  schemas: {
38055
39136
  A2AArtifact: {
38056
- append?: boolean;
38057
39137
  artifactId: string;
38058
- index?: number;
38059
- lastChunk?: boolean;
39138
+ description?: string;
38060
39139
  name?: string;
38061
- parts: {
38062
- data?: unknown;
38063
- /** @enum {string} */
38064
- kind?: "text" | "file" | "data";
38065
- mimeType?: string;
38066
- text?: string;
38067
- /** @enum {string} */
38068
- type?: "text" | "file" | "data";
38069
- uri?: string;
38070
- }[];
39140
+ parts: components["schemas"]["A2APart"][];
39141
+ };
39142
+ A2AJsonRpcError: {
39143
+ code: number;
39144
+ data?: unknown[];
39145
+ message: string;
38071
39146
  };
38072
39147
  A2AJsonRpcResponse: {
38073
39148
  id?: string | number;
38074
39149
  /** @enum {string} */
38075
39150
  jsonrpc: "2.0";
38076
- result: components["schemas"]["A2ATask"];
38077
- } | {
38078
- error: {
38079
- code: number;
38080
- data?: unknown;
38081
- message: string;
39151
+ result: {
39152
+ task: components["schemas"]["A2ATask"];
39153
+ } | components["schemas"]["A2ATask"] | {
39154
+ nextPageToken: string;
39155
+ pageSize: number;
39156
+ tasks: components["schemas"]["A2ATask"][];
39157
+ totalSize: number;
38082
39158
  };
39159
+ } | {
39160
+ error: components["schemas"]["A2AJsonRpcError"];
38083
39161
  id?: string | number;
38084
39162
  /** @enum {string} */
38085
39163
  jsonrpc: "2.0";
38086
39164
  };
39165
+ A2AMessage: {
39166
+ contextId?: string;
39167
+ messageId?: string;
39168
+ parts: components["schemas"]["A2APart"][];
39169
+ /** @enum {string} */
39170
+ role: "ROLE_USER" | "ROLE_AGENT";
39171
+ taskId?: string;
39172
+ };
39173
+ A2APart: {
39174
+ data?: unknown;
39175
+ filename?: string;
39176
+ mediaType?: string;
39177
+ raw?: string;
39178
+ text?: string;
39179
+ url?: string;
39180
+ };
38087
39181
  A2AStreamEvent: {
38088
- contextId: string;
38089
- final: boolean;
39182
+ id?: string | number;
38090
39183
  /** @enum {string} */
38091
- kind: "status-update";
38092
- metadata?: {
38093
- [key: string]: unknown;
38094
- };
38095
- status: {
38096
- message?: {
38097
- messageId: string;
38098
- parts: {
38099
- kind: string;
38100
- text: string;
38101
- }[];
38102
- role: string;
39184
+ jsonrpc: "2.0";
39185
+ result: {
39186
+ statusUpdate: {
39187
+ contextId: string;
39188
+ metadata?: {
39189
+ [key: string]: unknown;
39190
+ };
39191
+ status: {
39192
+ message?: components["schemas"]["A2AMessage"];
39193
+ /** @enum {string} */
39194
+ state: "TASK_STATE_SUBMITTED" | "TASK_STATE_WORKING" | "TASK_STATE_COMPLETED" | "TASK_STATE_FAILED" | "TASK_STATE_CANCELED" | "TASK_STATE_INPUT_REQUIRED" | "TASK_STATE_AUTH_REQUIRED" | "TASK_STATE_REJECTED" | "TASK_STATE_UNSPECIFIED";
39195
+ timestamp?: string;
39196
+ };
39197
+ taskId: string;
38103
39198
  };
38104
- /** @enum {string} */
38105
- state: "submitted" | "working" | "completed" | "failed" | "canceled";
38106
- timestamp?: string;
38107
39199
  };
38108
- taskId: string;
38109
39200
  } | {
38110
- artifact: components["schemas"]["A2AArtifact"];
39201
+ id?: string | number;
38111
39202
  /** @enum {string} */
38112
- kind: "artifact-update";
38113
- taskId: string;
38114
- } | {
38115
- error: {
38116
- code: number;
38117
- data?: unknown;
38118
- message: string;
39203
+ jsonrpc: "2.0";
39204
+ result: {
39205
+ artifactUpdate: {
39206
+ append?: boolean;
39207
+ artifact: components["schemas"]["A2AArtifact"];
39208
+ contextId: string;
39209
+ lastChunk?: boolean;
39210
+ metadata?: {
39211
+ [key: string]: unknown;
39212
+ };
39213
+ taskId: string;
39214
+ };
38119
39215
  };
38120
- taskId: string;
39216
+ } | {
39217
+ error: components["schemas"]["A2AJsonRpcError"];
39218
+ id?: string | number;
39219
+ /** @enum {string} */
39220
+ jsonrpc: "2.0";
38121
39221
  };
38122
39222
  A2ATask: {
38123
39223
  artifacts?: components["schemas"]["A2AArtifact"][];
38124
39224
  contextId: string;
38125
- error?: unknown;
38126
- history?: {
38127
- message: string | null;
38128
- status: string;
38129
- timestamp: string;
38130
- }[];
39225
+ history?: components["schemas"]["A2AMessage"][];
38131
39226
  id: string;
38132
- /** @enum {string} */
38133
- kind: "task";
38134
- metadata?: {
39227
+ metadata: {
38135
39228
  [key: string]: unknown;
38136
39229
  };
38137
39230
  status: {
38138
- message?: {
38139
- messageId: string;
38140
- parts: {
38141
- kind: string;
38142
- text: string;
38143
- }[];
38144
- role: string;
38145
- };
39231
+ message?: components["schemas"]["A2AMessage"];
38146
39232
  /** @enum {string} */
38147
- state: "submitted" | "working" | "completed" | "failed" | "canceled";
39233
+ state: "TASK_STATE_SUBMITTED" | "TASK_STATE_WORKING" | "TASK_STATE_COMPLETED" | "TASK_STATE_FAILED" | "TASK_STATE_CANCELED" | "TASK_STATE_INPUT_REQUIRED" | "TASK_STATE_AUTH_REQUIRED" | "TASK_STATE_REJECTED" | "TASK_STATE_UNSPECIFIED";
38148
39234
  timestamp?: string;
38149
39235
  };
38150
39236
  };
@@ -38387,6 +39473,26 @@ interface components {
38387
39473
  seq: number;
38388
39474
  /** @enum {string} */
38389
39475
  type: "agent_reflection";
39476
+ } | {
39477
+ activatedCapabilities: string[];
39478
+ executionId: string;
39479
+ iteration: number;
39480
+ seq: number;
39481
+ skill: string;
39482
+ toolCallId: string;
39483
+ /** @enum {string} */
39484
+ type: "agent_skill_loaded";
39485
+ } | {
39486
+ executionId: string;
39487
+ iteration: number;
39488
+ /** @enum {string} */
39489
+ outcome: "pending_approval" | "auto_published";
39490
+ proposalId?: string;
39491
+ seq: number;
39492
+ skill: string;
39493
+ toolCallId: string;
39494
+ /** @enum {string} */
39495
+ type: "agent_skill_proposed";
38390
39496
  } | {
38391
39497
  agentId: string;
38392
39498
  completedAt: string;
@@ -38710,6 +39816,26 @@ interface components {
38710
39816
  seq: number;
38711
39817
  /** @enum {string} */
38712
39818
  type: "agent_reflection";
39819
+ } | {
39820
+ activatedCapabilities: string[];
39821
+ executionId: string;
39822
+ iteration: number;
39823
+ seq: number;
39824
+ skill: string;
39825
+ toolCallId: string;
39826
+ /** @enum {string} */
39827
+ type: "agent_skill_loaded";
39828
+ } | {
39829
+ executionId: string;
39830
+ iteration: number;
39831
+ /** @enum {string} */
39832
+ outcome: "pending_approval" | "auto_published";
39833
+ proposalId?: string;
39834
+ seq: number;
39835
+ skill: string;
39836
+ toolCallId: string;
39837
+ /** @enum {string} */
39838
+ type: "agent_skill_proposed";
38713
39839
  } | {
38714
39840
  agentId: string;
38715
39841
  completedAt: string;
@@ -40550,73 +41676,18 @@ interface ApiResponse<T> {
40550
41676
  error?: string;
40551
41677
  message?: string;
40552
41678
  }
40553
- interface FlowStep {
40554
- id: string;
40555
- flowId: string;
40556
- type: string;
40557
- name: string;
40558
- order: number;
40559
- enabled: boolean;
40560
- config: Record<string, unknown>;
40561
- outputVariable?: string | null;
40562
- streamOutput?: boolean;
40563
- createdAt: string;
40564
- updatedAt: string;
40565
- }
40566
- interface Flow {
40567
- id: string;
40568
- name: string;
40569
- description?: string | null;
40570
- config?: JsonObject;
40571
- userId: string;
40572
- organizationId: string | null;
40573
- createdAt: string;
40574
- updatedAt: string;
40575
- lastRunAt?: string | null;
40576
- /** Flow steps embedded in the flow response */
40577
- flowSteps?: FlowStep[];
40578
- /** Number of steps in the flow */
40579
- stepCount?: number;
40580
- }
41679
+ type FlowStep = paths['/v1/flows/{id}']['get']['responses'][200]['content']['application/json']['flowSteps'][number];
41680
+ type Flow = paths['/v1/flows/{id}']['get']['responses'][200]['content']['application/json'];
41681
+ type FlowListItem = paths['/v1/flows']['get']['responses'][200]['content']['application/json']['data'][number];
41682
+ type UpdatedFlow = paths['/v1/flows/{id}']['put']['responses'][200]['content']['application/json'];
40581
41683
  type Prompt$1 = paths['/v1/prompts/{id}']['get']['responses'][200]['content']['application/json'];
40582
41684
  interface FlowAttachment {
40583
41685
  flowId: string;
40584
41686
  flowName: string;
40585
41687
  order: number;
40586
41688
  }
40587
- interface RuntypeRecord {
40588
- id: string;
40589
- type: string;
40590
- name: string;
40591
- metadata: Metadata;
40592
- metadataLabels?: {
40593
- [key: string]: string;
40594
- };
40595
- metadataSchema?: {
40596
- keys: string[];
40597
- keyMapping?: {
40598
- [key: string]: string;
40599
- };
40600
- keyTypes?: {
40601
- [key: string]: string;
40602
- };
40603
- types?: {
40604
- [key: string]: string;
40605
- };
40606
- sizeKb: number;
40607
- keyCount: number;
40608
- updatedAt: string;
40609
- };
40610
- messages?: Array<{
40611
- role: 'user' | 'assistant';
40612
- content: string | unknown[];
40613
- }> | null;
40614
- availableFields?: string[];
40615
- userId: string;
40616
- organizationId?: string | null;
40617
- createdAt: string;
40618
- updatedAt: string;
40619
- }
41689
+ type RuntypeRecord = paths['/v1/records/{id}']['get']['responses'][200]['content']['application/json'];
41690
+ type RecordListItem = paths['/v1/records']['get']['responses'][200]['content']['application/json']['data'][number];
40620
41691
  interface ApiKey {
40621
41692
  id: string;
40622
41693
  name: string;
@@ -40711,18 +41782,7 @@ interface BulkEditResponse {
40711
41782
  data: BulkEditResult[];
40712
41783
  recordIds?: number[];
40713
41784
  }
40714
- interface ProviderApiKey {
40715
- id: number;
40716
- provider: 'openai' | 'anthropic' | 'huggingface' | 'google' | 'xai' | 'mixlayer' | 'togetherai';
40717
- name: string;
40718
- keyPreview: string;
40719
- isDefault: boolean;
40720
- isActive: boolean;
40721
- usageCount: number;
40722
- lastUsedAt?: string;
40723
- createdAt: string;
40724
- updatedAt: string;
40725
- }
41785
+ type ProviderApiKey = paths['/v1/provider-keys']['get']['responses'][200]['content']['application/json']['providerKeys'][number];
40726
41786
  interface CreateProviderKeyRequest {
40727
41787
  provider: 'openai' | 'anthropic' | 'huggingface' | 'google' | 'xai' | 'mixlayer' | 'togetherai';
40728
41788
  name: string;
@@ -40886,19 +41946,8 @@ interface RecordListParams extends ListParams {
40886
41946
  sortOrder?: 'asc' | 'desc';
40887
41947
  includeFields?: boolean;
40888
41948
  }
40889
- interface Tool {
40890
- id: string;
40891
- userId: string;
40892
- organizationId?: string;
40893
- name: string;
40894
- description: string;
40895
- toolType: 'flow' | 'custom' | 'external' | 'local' | 'subagent';
40896
- parametersSchema: JSONSchema;
40897
- config: ToolConfig;
40898
- isActive: boolean;
40899
- createdAt: string;
40900
- updatedAt: string;
40901
- }
41949
+ type Tool = paths['/v1/tools/{id}']['get']['responses'][200]['content']['application/json'];
41950
+ type ToolWithValidation = paths['/v1/tools/{id}']['put']['responses'][200]['content']['application/json'];
40902
41951
  type ToolConfig = FlowToolConfig | CustomToolConfig | ExternalToolConfig | LocalToolConfig | SubagentToolConfig;
40903
41952
  interface FlowToolConfig {
40904
41953
  flowId?: string;
@@ -40932,29 +41981,7 @@ interface SubagentToolConfig {
40932
41981
  inheritMessages?: boolean;
40933
41982
  taskTemplate?: string;
40934
41983
  }
40935
- interface BuiltInTool {
40936
- id: string;
40937
- name: string;
40938
- description: string;
40939
- category: 'image_generation' | 'web_search' | 'web_scraping' | 'code_execution' | 'file_operations' | 'data_analysis' | 'knowledge_retrieval' | 'text_to_speech' | 'voice_processing' | 'third_party_api' | 'artifact' | 'data_management' | 'commerce' | 'browser';
40940
- providers: string[];
40941
- parametersSchema: JSONSchema;
40942
- defaultConfig?: JsonObject;
40943
- documentationUrl?: string;
40944
- }
40945
- interface ToolExecution {
40946
- id: string;
40947
- toolId: string;
40948
- flowExecutionId?: string;
40949
- stepId?: string;
40950
- userId: string;
40951
- inputParameters: JsonObject;
40952
- outputResult: JsonValue;
40953
- status: 'pending' | 'success' | 'failed';
40954
- errorMessage?: string;
40955
- executionTimeMs?: number;
40956
- createdAt: string;
40957
- }
41984
+ type BuiltInTool = paths['/v1/tools/builtin']['get']['responses'][200]['content']['application/json']['data'][number];
40958
41985
  interface CreateToolRequest {
40959
41986
  name: string;
40960
41987
  description: string;
@@ -41239,35 +42266,16 @@ interface ScheduleRunNowResponse {
41239
42266
  error?: string | null;
41240
42267
  [key: string]: unknown;
41241
42268
  }
41242
- /** A single run in a schedule's run history. */
41243
- interface ScheduleRun {
41244
- id: string;
41245
- scheduleId: string;
41246
- batchExecutionId: string | null;
41247
- agentExecutionId: string | null;
41248
- status: string;
41249
- startedAt: string | null;
41250
- completedAt: string | null;
41251
- error: string | null;
41252
- createdAt: string;
41253
- [key: string]: unknown;
41254
- }
42269
+ /**
42270
+ * A single run in a schedule's run history.
42271
+ * Generated from the OpenAPI spec — GET /v1/schedules/{id}/runs list item.
42272
+ */
42273
+ type ScheduleRun = paths['/v1/schedules/{id}/runs']['get']['responses'][200]['content']['application/json']['data'][number];
41255
42274
  interface ScheduleListParams extends ListParams {
41256
42275
  search?: string;
41257
42276
  status?: 'active' | 'paused';
41258
42277
  }
41259
- interface Surface {
41260
- id: string;
41261
- productId: string;
41262
- name: string;
41263
- type: string;
41264
- /** Slack-only safe inbound config; `null` for non-Slack surfaces. */
41265
- inbound: Record<string, unknown> | null;
41266
- status: string;
41267
- environment: string;
41268
- createdAt: string;
41269
- updatedAt: string;
41270
- }
42278
+ type Surface = paths['/v1/surfaces']['get']['responses'][200]['content']['application/json']['data'][number];
41271
42279
  interface SurfaceListParams extends ListParams {
41272
42280
  type?: string;
41273
42281
  status?: string;
@@ -42336,6 +43344,298 @@ declare class PromptsNamespace {
42336
43344
  delete(promptId: string): Promise<void>;
42337
43345
  }
42338
43346
 
43347
+ /**
43348
+ * SkillsNamespace — admin/control-plane operations for Agent Skills.
43349
+ *
43350
+ * Skills are loadable context bundles (SKILL.md + capability bindings) for
43351
+ * deployed Runtype agents. This namespace wraps the admin REST surface
43352
+ * (`/v1/skills`, `/v1/skill-proposals`) — governed by API scopes only, no
43353
+ * review queue. The deployed-agent data plane (the `propose_skill` runtime
43354
+ * tool) is intentionally NOT exposed here; authoring a skill via the SDK is
43355
+ * authoring, and lands published when you ask it to.
43356
+ *
43357
+ * The whole surface is gated behind the `enable-agent-skills` flag server-side
43358
+ * — when the flag is off these calls fail with a 404 (the admin gate), so the
43359
+ * SDK fails closed without any client-side flag handling.
43360
+ *
43361
+ * Types here mirror the canonical definitions in `@runtypelabs/shared`
43362
+ * (`skill-manifest-types.ts`) and the `skills` / `skill_versions` /
43363
+ * `agent_skill_bindings` / `skill_proposals` tables. Per SDK convention they
43364
+ * are defined inline rather than imported, to keep the package dependency-free.
43365
+ */
43366
+
43367
+ /** Lifecycle status of a skill. */
43368
+ type SkillStatus = 'draft' | 'active' | 'archived';
43369
+ /** Trust level recorded on a skill (governs UI warnings). */
43370
+ type SkillTrustLevel = 'org' | 'imported' | 'community';
43371
+ /** Origin audit value recorded on a skill. */
43372
+ type SkillOrigin = 'human' | 'agent_proposed' | 'imported';
43373
+ /** Status of an individual immutable version snapshot. */
43374
+ type SkillVersionStatus = 'draft' | 'proposed' | 'published';
43375
+ /** Review status of an agent-authored proposal. */
43376
+ type SkillProposalStatus = 'pending' | 'approved' | 'rejected' | 'auto_published';
43377
+ /** Anthropic SKILL.md frontmatter — the canonical interop shape. */
43378
+ interface SkillFrontmatter {
43379
+ /** Slug identifier, ≤64 chars. Globally unique per owner. */
43380
+ name: string;
43381
+ /** One-paragraph description, ≤1024 chars. Loaded into the agent system prompt. */
43382
+ description: string;
43383
+ version?: string;
43384
+ license?: string;
43385
+ tags?: string[];
43386
+ }
43387
+ /** Capability bindings carried under the `runtype:` frontmatter key. */
43388
+ interface SkillCapabilities {
43389
+ /** Saved flow IDs the agent may invoke after this skill loads. */
43390
+ flowIds?: string[];
43391
+ /** Saved agent IDs available as subagents after this skill loads. */
43392
+ agentIds?: string[];
43393
+ /** Saved custom-tool IDs. */
43394
+ toolIds?: string[];
43395
+ /**
43396
+ * MCP server references. NOTE: rejected on the v1 write path
43397
+ * (`create`/`update`/`import`) but preserved losslessly on import.
43398
+ */
43399
+ mcpServers?: Array<Record<string, unknown>>;
43400
+ /** Inline runtime-tool definitions (no DB save). */
43401
+ inlineTools?: Array<Record<string, unknown>>;
43402
+ }
43403
+ /** Runtype extension block within SKILL.md frontmatter. */
43404
+ interface SkillRuntypeExtensions {
43405
+ capabilities?: SkillCapabilities;
43406
+ trustLevel?: SkillTrustLevel;
43407
+ unknownExtensions?: Record<string, unknown>;
43408
+ }
43409
+ /** The full skill manifest — frontmatter + extensions + markdown body. */
43410
+ interface SkillManifest {
43411
+ frontmatter: SkillFrontmatter;
43412
+ runtype: SkillRuntypeExtensions;
43413
+ /** Markdown body — the L2 context loaded when the agent invokes the skill. */
43414
+ body: string;
43415
+ }
43416
+ /** A skill row. */
43417
+ interface Skill {
43418
+ id: string;
43419
+ userId: string;
43420
+ organizationId: string | null;
43421
+ name: string;
43422
+ description: string | null;
43423
+ icon: string | null;
43424
+ status: SkillStatus;
43425
+ trustLevel: SkillTrustLevel;
43426
+ origin: SkillOrigin;
43427
+ proposingAgentExecutionId: string | null;
43428
+ publishedVersionId: string | null;
43429
+ draftVersionId: string | null;
43430
+ createdAt: string;
43431
+ updatedAt: string;
43432
+ }
43433
+ /** An immutable manifest snapshot. */
43434
+ interface SkillVersion {
43435
+ id: string;
43436
+ skillId: string;
43437
+ userId: string;
43438
+ versionNumber: number;
43439
+ versionType: SkillVersionStatus;
43440
+ manifest: SkillManifest;
43441
+ label: string | null;
43442
+ notes: string | null;
43443
+ createdAt: string;
43444
+ }
43445
+ /** An agent ↔ skill binding row. */
43446
+ interface AgentSkillBinding {
43447
+ id: string;
43448
+ agentId: string;
43449
+ skillId: string;
43450
+ /** null means "always use the skill's currently published version". */
43451
+ skillVersionId: string | null;
43452
+ enabled: boolean;
43453
+ displayOrder: number;
43454
+ createdAt: string;
43455
+ }
43456
+ /** A skill proposal (agent-authored, in the review queue). */
43457
+ interface SkillProposal {
43458
+ id: string;
43459
+ skillVersionId: string;
43460
+ proposingAgentExecutionId: string | null;
43461
+ proposingUserId: string;
43462
+ organizationId: string | null;
43463
+ status: SkillProposalStatus;
43464
+ reviewedBy: string | null;
43465
+ reviewedAt: string | null;
43466
+ rejectionReason: string | null;
43467
+ createdAt: string;
43468
+ }
43469
+ /**
43470
+ * Create/update a skill from a raw SKILL.md document. The frontmatter +
43471
+ * markdown body are parsed server-side.
43472
+ */
43473
+ interface SkillMarkdownInput {
43474
+ markdown: string;
43475
+ /** Publish the resulting version immediately instead of leaving it a draft. */
43476
+ publish?: boolean;
43477
+ }
43478
+ /**
43479
+ * Create/update a skill from a structured manifest. `frontmatter` carries the
43480
+ * SKILL.md frontmatter (including an optional `runtype:` capability block);
43481
+ * `body` is the markdown.
43482
+ */
43483
+ interface SkillManifestInput {
43484
+ frontmatter: Record<string, unknown>;
43485
+ body?: string;
43486
+ /** Publish the resulting version immediately instead of leaving it a draft. */
43487
+ publish?: boolean;
43488
+ }
43489
+ /** A skill create/update payload — either a SKILL.md string or a manifest. */
43490
+ type SkillWriteInput = SkillMarkdownInput | SkillManifestInput;
43491
+ /** Options for binding a skill to an agent. */
43492
+ interface BindSkillInput {
43493
+ agentId: string;
43494
+ skillId: string;
43495
+ /** Pin to a specific version. Omit/null to track the published version. */
43496
+ skillVersionId?: string | null;
43497
+ enabled?: boolean;
43498
+ displayOrder?: number;
43499
+ }
43500
+ /** The `{ skill, version }` payload returned by create/import. */
43501
+ interface SkillWithVersion {
43502
+ skill: Skill;
43503
+ version: SkillVersion;
43504
+ }
43505
+ /**
43506
+ * The admin review queue for agent-authored skill proposals. This is the human
43507
+ * review surface for the deployed-agent data plane — listing, approving, and
43508
+ * rejecting proposals an agent created via `propose_skill`.
43509
+ */
43510
+ declare class SkillProposalsNamespace {
43511
+ private getClient;
43512
+ constructor(getClient: () => RuntypeClient$1);
43513
+ /**
43514
+ * List pending skill proposals for the authenticated owner.
43515
+ *
43516
+ * @example
43517
+ * ```typescript
43518
+ * const pending = await Runtype.skills.proposals.list()
43519
+ * ```
43520
+ */
43521
+ list(): Promise<SkillProposal[]>;
43522
+ /**
43523
+ * Approve a pending proposal — publishes the proposed skill version.
43524
+ *
43525
+ * @example
43526
+ * ```typescript
43527
+ * const proposal = await Runtype.skills.proposals.approve('skprop_123')
43528
+ * ```
43529
+ */
43530
+ approve(proposalId: string): Promise<SkillProposal>;
43531
+ /**
43532
+ * Reject a pending proposal with an optional reason.
43533
+ *
43534
+ * @example
43535
+ * ```typescript
43536
+ * await Runtype.skills.proposals.reject('skprop_123', 'Capabilities too broad')
43537
+ * ```
43538
+ */
43539
+ reject(proposalId: string, reason?: string): Promise<SkillProposal>;
43540
+ }
43541
+ /**
43542
+ * Admin/control-plane operations for Agent Skills.
43543
+ *
43544
+ * @example
43545
+ * ```typescript
43546
+ * // Create a published skill from a SKILL.md document
43547
+ * const { skill } = await Runtype.skills.create({ markdown: skillMd, publish: true })
43548
+ *
43549
+ * // Bind it to an agent
43550
+ * await Runtype.skills.bind({ agentId: 'agent_123', skillId: skill.id })
43551
+ * ```
43552
+ */
43553
+ declare class SkillsNamespace {
43554
+ private getClient;
43555
+ /** The agent-proposal review queue (`/v1/skill-proposals`). */
43556
+ readonly proposals: SkillProposalsNamespace;
43557
+ constructor(getClient: () => RuntypeClient$1);
43558
+ /**
43559
+ * Create a skill from a SKILL.md string (`markdown`) or a structured manifest
43560
+ * (`frontmatter` + `body`). Pass `publish: true` to publish the first version
43561
+ * immediately; otherwise it lands as a draft.
43562
+ */
43563
+ create(input: SkillWriteInput): Promise<SkillWithVersion>;
43564
+ /**
43565
+ * List skills for the authenticated owner, optionally filtered by status.
43566
+ *
43567
+ * @example
43568
+ * ```typescript
43569
+ * const active = await Runtype.skills.list({ status: 'active' })
43570
+ * ```
43571
+ */
43572
+ list(params?: {
43573
+ status?: SkillStatus;
43574
+ }): Promise<Skill[]>;
43575
+ /**
43576
+ * Get a skill and its full version history.
43577
+ *
43578
+ * @example
43579
+ * ```typescript
43580
+ * const { skill, versions } = await Runtype.skills.get('skill_123')
43581
+ * ```
43582
+ */
43583
+ get(skillId: string): Promise<{
43584
+ skill: Skill;
43585
+ versions: SkillVersion[];
43586
+ }>;
43587
+ /**
43588
+ * Append a new version to an existing skill from an updated manifest. Pass
43589
+ * `publish: true` to publish the new version immediately.
43590
+ */
43591
+ update(skillId: string, input: SkillWriteInput): Promise<SkillVersion>;
43592
+ /**
43593
+ * Delete a skill (and its versions + bindings, via cascade).
43594
+ */
43595
+ delete(skillId: string): Promise<void>;
43596
+ /**
43597
+ * List a skill's versions, newest first.
43598
+ */
43599
+ listVersions(skillId: string): Promise<SkillVersion[]>;
43600
+ /**
43601
+ * Publish a specific version of a skill.
43602
+ *
43603
+ * @example
43604
+ * ```typescript
43605
+ * await Runtype.skills.publishVersion('skill_123', 'skillver_456')
43606
+ * ```
43607
+ */
43608
+ publishVersion(skillId: string, versionId: string): Promise<void>;
43609
+ /**
43610
+ * Import a single SKILL.md document. The imported skill lands with
43611
+ * `trustLevel: 'imported'` and a draft version.
43612
+ *
43613
+ * @example
43614
+ * ```typescript
43615
+ * const { skill } = await Runtype.skills.import(skillMarkdown)
43616
+ * ```
43617
+ */
43618
+ import(markdown: string): Promise<SkillWithVersion>;
43619
+ /**
43620
+ * Bind a skill to an agent. Both the agent and the skill must be owned by the
43621
+ * caller.
43622
+ */
43623
+ bind(input: BindSkillInput): Promise<AgentSkillBinding>;
43624
+ /**
43625
+ * Remove a skill binding by its binding id.
43626
+ */
43627
+ unbind(bindingId: string): Promise<void>;
43628
+ /**
43629
+ * List an agent's skill bindings.
43630
+ *
43631
+ * @example
43632
+ * ```typescript
43633
+ * const bindings = await Runtype.skills.listBindings('agent_123')
43634
+ * ```
43635
+ */
43636
+ listBindings(agentId: string): Promise<AgentSkillBinding[]>;
43637
+ }
43638
+
42339
43639
  /**
42340
43640
  * Runtype - The unified SDK client for building and executing flows, batches, evals, and prompts
42341
43641
  *
@@ -42411,7 +43711,15 @@ declare class RuntypeClient$1 {
42411
43711
  /**
42412
43712
  * Generic POST request
42413
43713
  */
42414
- post<T>(path: string, data?: any): Promise<T>;
43714
+ post<T>(path: string, data?: unknown): Promise<T>;
43715
+ /**
43716
+ * Generic PUT request
43717
+ */
43718
+ put<T>(path: string, data?: unknown): Promise<T>;
43719
+ /**
43720
+ * Generic DELETE request
43721
+ */
43722
+ delete<T>(path: string): Promise<T>;
42415
43723
  /**
42416
43724
  * Generic request that returns raw Response for streaming
42417
43725
  */
@@ -42419,7 +43727,7 @@ declare class RuntypeClient$1 {
42419
43727
  /**
42420
43728
  * Dispatch flow execution (streaming)
42421
43729
  */
42422
- dispatch(config: any): Promise<Response>;
43730
+ dispatch(config: unknown): Promise<Response>;
42423
43731
  /**
42424
43732
  * Build full URL with query parameters
42425
43733
  */
@@ -42562,6 +43870,23 @@ declare class Runtype {
42562
43870
  * ```
42563
43871
  */
42564
43872
  static get prompts(): PromptsNamespace;
43873
+ /**
43874
+ * Skills namespace - Manage Agent Skills (admin/control plane)
43875
+ *
43876
+ * @example
43877
+ * ```typescript
43878
+ * // Create a published skill from a SKILL.md document
43879
+ * const { skill } = await Runtype.skills.create({ markdown: skillMd, publish: true })
43880
+ *
43881
+ * // Bind it to an agent
43882
+ * await Runtype.skills.bind({ agentId: 'agent_123', skillId: skill.id })
43883
+ *
43884
+ * // Review agent-authored proposals
43885
+ * const pending = await Runtype.skills.proposals.list()
43886
+ * await Runtype.skills.proposals.approve(pending[0].id)
43887
+ * ```
43888
+ */
43889
+ static get skills(): SkillsNamespace;
42565
43890
  }
42566
43891
 
42567
43892
  /**
@@ -42924,7 +44249,7 @@ declare class FlowsEndpoint {
42924
44249
  /**
42925
44250
  * List all flows for the authenticated user
42926
44251
  */
42927
- list(params?: ListParams): Promise<PaginationResponse<Flow>>;
44252
+ list(params?: ListParams): Promise<PaginationResponse<FlowListItem>>;
42928
44253
  /**
42929
44254
  * Get a specific flow by ID
42930
44255
  */
@@ -42936,7 +44261,7 @@ declare class FlowsEndpoint {
42936
44261
  /**
42937
44262
  * Update an existing flow
42938
44263
  */
42939
- update(id: string, data: Partial<CreateFlowRequest>): Promise<Flow>;
44264
+ update(id: string, data: Partial<CreateFlowRequest>): Promise<UpdatedFlow>;
42940
44265
  /**
42941
44266
  * Delete a flow
42942
44267
  */
@@ -43013,7 +44338,7 @@ declare class RecordsEndpoint {
43013
44338
  /**
43014
44339
  * List all records for the authenticated user
43015
44340
  */
43016
- list(params?: RecordListParams): Promise<PaginationResponse<RuntypeRecord>>;
44341
+ list(params?: RecordListParams): Promise<PaginationResponse<RecordListItem>>;
43017
44342
  /**
43018
44343
  * Get a specific record by ID
43019
44344
  */
@@ -43079,7 +44404,7 @@ declare class RecordsEndpoint {
43079
44404
  getExample(params: {
43080
44405
  type?: string;
43081
44406
  name?: string;
43082
- }): Promise<PaginationResponse<RuntypeRecord>>;
44407
+ }): Promise<PaginationResponse<RecordListItem>>;
43083
44408
  }
43084
44409
  /**
43085
44410
  * API Keys endpoint handlers
@@ -43415,11 +44740,11 @@ declare class ToolsEndpoint {
43415
44740
  /**
43416
44741
  * Create a new tool
43417
44742
  */
43418
- create(data: CreateToolRequest): Promise<Tool>;
44743
+ create(data: CreateToolRequest): Promise<ToolWithValidation>;
43419
44744
  /**
43420
44745
  * Update an existing tool
43421
44746
  */
43422
- update(id: string, data: UpdateToolRequest): Promise<Tool>;
44747
+ update(id: string, data: UpdateToolRequest): Promise<ToolWithValidation>;
43423
44748
  /**
43424
44749
  * Delete a tool
43425
44750
  */
@@ -43436,10 +44761,6 @@ declare class ToolsEndpoint {
43436
44761
  * Test a tool (same as execute but for testing purposes)
43437
44762
  */
43438
44763
  test(id: string, data: ExecuteToolRequest): Promise<ExecuteToolResponse>;
43439
- /**
43440
- * Get tool executions for a specific tool
43441
- */
43442
- getExecutions(toolId: string, params?: ListParams): Promise<PaginationResponse<ToolExecution>>;
43443
44764
  /**
43444
44765
  * Get AI SDK compatible tool schemas
43445
44766
  */
@@ -45665,4 +46986,4 @@ declare function getLikelySupportingCandidatePaths(bestCandidatePath: string | u
45665
46986
  declare function getDefaultPlanPath(taskName: string): string;
45666
46987
  declare function sanitizeTaskSlug(taskName: string): string;
45667
46988
 
45668
- export { type Agent, type AgentApprovalCompleteEvent, type AgentApprovalStartEvent, type AgentCompleteEvent, type AgentErrorEvent, type AgentEvent, type AgentEventType, type AgentExecuteRequest, type AgentExecuteResponse, type AgentIterationCompleteEvent, type AgentIterationStartEvent, type AgentMediaEvent, type AgentMessage, type AgentPausedEvent, type AgentPingEvent, type AgentReflectionEvent, type AgentRuntimeToolDefinition, type AgentStartEvent, type AgentStreamCallbacks, type AgentSubagentConfig, type AgentToolCompleteEvent, type AgentToolDeltaEvent, type AgentToolInputCompleteEvent, type AgentToolInputDeltaEvent, type AgentToolStartEvent, type AgentTurnCompleteEvent, type AgentTurnDeltaEvent, type AgentTurnStartEvent, type AgentVersionDetail, type AgentVersionListItem, type AgentVersionPublishResponse, AgentVersionsEndpoint, type AgentVersionsListResponse, AgentsEndpoint, AnalyticsEndpoint, type ApiClient, type ApiKey, ApiKeysEndpoint, type ApiResponse, type ApplyGeneratedProposalOptions, type ApplyGeneratedProposalResult, type AttachRuntimeToolsOptions, type BaseAgentEvent, BatchBuilder, type BatchClient, type BatchListParams, type BatchOptions, type BatchRequest, type BatchResult, type BatchScheduleConfig, type BatchStatus, BatchesNamespace, BillingEndpoint, type BillingSpendAnalyticsParams, type BuiltInTool, type BulkEditCondition, type BulkEditRequest, type BulkEditResponse, type BulkEditResult, ChatEndpoint, ClientBatchBuilder, type ClientConfig, type ClientConversation, ClientEvalBuilder, ClientFlowBuilder, type ClientToken, type ClientTokenConfig, type ClientTokenEnvironment, type ClientTokenVersionPin, ClientTokensEndpoint, type ClientToolDefinition, type ClientWidgetTheme, type ConditionalStepConfig$1 as ConditionalStepConfig, type ContextErrorHandling, type ContextFallback, ContextTemplatesEndpoint, type Conversation, type ConversationListItem, type ConversationListParams, type ConversationMessage, type ConversationSource, ConversationsEndpoint, type ConversationsListResponse, type CreateApiKeyRequest, type CreateClientTokenRequest, type CreateClientTokenResponse, type CreateConversationRequest, type CreateFlowRequest, type CreateModelConfigRequest, type CreatePromptData, type CreatePromptRequest, type CreateProviderKeyRequest, type CreateRecordRequest, type CreateScheduleRequest, type CreateSecretRequest, type CreateToolRequest, type CustomMCPServer, type CustomMCPServerAuth, type CustomToolConfig, type DeployCfSandboxRequest, type DeployCfSandboxResponse, type DeploySandboxRequest, type DeploySandboxResponse, type DispatchClient, DispatchEndpoint, type DispatchEnvironment, type DispatchOptions$1 as DispatchOptions, type DispatchRequest, type ErrorHandlingMode, EvalBuilder, type EvalClient, EvalEndpoint, type EvalListParams, type EvalOptions, type EvalRecord, type EvalRequest, type EvalResult, type EvalRunConfig, EvalRunner, type EvalStatus, EvalsNamespace, type ExecuteToolRequest, type ExecuteToolResponse, type ExternalAgentContext, type ExternalToolConfig, type FallbackFailEvent, type FallbackStartEvent, type FallbackSuccessEvent, type FallbacksExhaustedEvent, type FallbacksInitiatedEvent, type FetchGitHubStepConfig$1 as FetchGitHubStepConfig, type FetchUrlStepConfig$1 as FetchUrlStepConfig, type FieldFormat, type FileContentPart, type Flow, type FlowAttachment, FlowBuilder, type FlowCompleteEvent, type FlowConfig$1 as FlowConfig, type FlowErrorEvent, type FlowFallback, type FlowPausedEvent, FlowResult, type FlowStartEvent, type FlowStep, FlowStepsEndpoint, type FlowSummary, type FlowToolConfig, type FlowVersionDetail, type FlowVersionListItem, type FlowVersionPublishResponse, FlowVersionsEndpoint, type FlowVersionsListResponse, FlowsEndpoint, FlowsNamespace, type GenerateEmbeddingStepConfig$1 as GenerateEmbeddingStepConfig, type GeneratedRuntimeToolGateDecision, type GeneratedRuntimeToolGateOptions, type ImageContentPart, type Integration, type IntegrationTool, IntegrationsEndpoint, type IntegrationsListResponse, type JSONSchema, type JsonArray, type JsonObject, type JsonPrimitive, type JsonValue, type ListConversationsResponse, type ListParams, type LocalToolConfig, type LocalToolDefinition, type LocalToolExecutionCompleteEvent, type LocalToolExecutionLoopSnapshotSlice, type LocalToolExecutionStartEvent, type LogEntry, type LogQueryParams, type LogQueryResponse, type LogQueryResult, type LogStatsParams, type LogStatsResponse, type LogStatsResult, LogsEndpoint, type Message$1 as Message, type MessageContent, type Metadata, type ModelConfig, ModelConfigsEndpoint, type ModelFallback, type ModelOverride, type ModelUsageDetail, type ModelUsageQueryParams, type ModelUsageResponse, type ModelUsageSummary, type ModelUsageTimeSeries, type PaginationResponse, type Prompt$1 as Prompt, type PromptErrorHandling, type PromptFallback, type PromptListParams, type PromptRunOptions, PromptRunner, type PromptStepConfig$1 as PromptStepConfig, PromptsEndpoint, PromptsNamespace, type ProviderApiKey, type ReasoningConfig, type ReasoningContentPart, type ReasoningValue, type RecordConfig$1 as RecordConfig, type RecordFilter, type RecordFilterCondition, type RecordFilterGroup, type RecordFilterOperator, type RecordListParams, RecordsEndpoint, type RetrieveRecordStepConfig$1 as RetrieveRecordStepConfig, type RetryFallback, type RunTaskContextBudgetBreakdown, type RunTaskContextCompactionEvent, type RunTaskContextCompactionStrategy, type RunTaskContextNoticeEvent, type RunTaskContinuation, type RunTaskOnContextCompaction, type RunTaskOnContextNotice, type RunTaskOnSession, type RunTaskOptions, type RunTaskResult, type RunTaskResumeState, type RunTaskSessionSummary, type RunTaskState, type RunTaskStateSlice, type RunTaskStatus, type RunTaskToolTraceSlice, type RuntimeCustomToolConfig, type RuntimeExternalToolConfig, type RuntimeFlowToolConfig, type RuntimeLocalToolConfig, type RuntimeSubagentToolConfig, type RuntimeTool, type RuntimeToolConfig, Runtype, RuntypeApiError, RuntypeClient, type ConditionalStepConfig as RuntypeConditionalStepConfig, type RuntypeConfig, type FetchGitHubStepConfig as RuntypeFetchGitHubStepConfig, type FetchUrlStepConfig as RuntypeFetchUrlStepConfig, RuntypeFlowBuilder, type FlowConfig as RuntypeFlowConfig, type GenerateEmbeddingStepConfig as RuntypeGenerateEmbeddingStepConfig, type Message as RuntypeMessage, type ModelOverride$1 as RuntypeModelOverride, type Prompt as RuntypePrompt, type PromptStepConfig as RuntypePromptStepConfig, type RuntypeRecord, type RecordConfig as RuntypeRecordConfig, type RetrieveRecordStepConfig as RuntypeRetrieveRecordStepConfig, type SearchStepConfig as RuntypeSearchStepConfig, type SendEmailStepConfig as RuntypeSendEmailStepConfig, type SendEventStepConfig as RuntypeSendEventStepConfig, type SendStreamStepConfig as RuntypeSendStreamStepConfig, type SendTextStepConfig as RuntypeSendTextStepConfig, type SetVariableStepConfig as RuntypeSetVariableStepConfig, type TransformDataStepConfig as RuntypeTransformDataStepConfig, type UpsertFlowConfig as RuntypeUpsertFlowConfig, type UpsertRecordStepConfig as RuntypeUpsertRecordStepConfig, type VectorSearchStepConfig as RuntypeVectorSearchStepConfig, type WaitUntilStepConfig as RuntypeWaitUntilStepConfig, STEP_FIELD_REGISTRY, STEP_TYPE_TO_METHOD, type Schedule, type ScheduleExecutionOptions, type ScheduleListParams, type ScheduleMessage, type ScheduleMessageSet, type ScheduleMessages, type ScheduleMutationResponse, type ScheduleRun, type ScheduleRunNowResponse, type ScheduleStatusResponse, type ScheduleTarget, type ScheduleTrigger, SchedulesEndpoint, type SearchStepConfig$1 as SearchStepConfig, type Secret, type SecretCheckResponse, type SecretDeleteResponse, type SecretSetupUrlRequest, type SecretSetupUrlResponse, SecretsEndpoint, type SendEmailStepConfig$1 as SendEmailStepConfig, type SendEventStepConfig$1 as SendEventStepConfig, type SendStreamStepConfig$1 as SendStreamStepConfig, type SendTextStepConfig$1 as SendTextStepConfig, type SetVariableStepConfig$1 as SetVariableStepConfig, type SlackInstallRequest, type StepCompleteEvent, type StepDeltaEvent, type StepFallback, type StepFieldMeta, type StepStartEvent, type StepWaitingLocalEvent, type StreamCallbacks, type StreamEvent, type SubagentToolConfig, type Surface, type SurfaceListParams, SurfacesEndpoint, type TextContentPart, type Tool, type ToolConfig, type ToolExecution, type ToolsConfig, ToolsEndpoint, type TransformDataStepConfig$1 as TransformDataStepConfig, type UpdateClientTokenRequest, type UpdateConversationRequest, type UpdatePromptData, type UpdateProviderKeyRequest, type UpdateScheduleRequest, type UpdateSecretRequest, type UpdateToolRequest, type UpsertFlowConfig$1 as UpsertFlowConfig, type UpsertOptions, type UpsertRecordStepConfig$1 as UpsertRecordStepConfig, type UserProfile, UsersEndpoint, type VectorSearchStepConfig$1 as VectorSearchStepConfig, type VersionType, type WaitUntilStepConfig$1 as WaitUntilStepConfig, type WorkflowContext, type WorkflowDefinition, type WorkflowPhase, applyGeneratedRuntimeToolProposalToDispatchRequest, attachRuntimeToolsToDispatchRequest, buildGeneratedRuntimeToolGateOutput, createClient, createExternalTool, defaultWorkflow, deployWorkflow, evaluateGeneratedRuntimeToolProposal, gameWorkflow, getDefaultPlanPath, getLikelySupportingCandidatePaths, isDiscoveryToolName, isMarathonArtifactPath, isPreservationSensitiveTask, normalizeCandidatePath, parseFinalBuffer, parseSSEChunk, processStream, sanitizeTaskSlug, streamEvents };
46989
+ export { type Agent, type AgentApprovalCompleteEvent, type AgentApprovalStartEvent, type AgentCompleteEvent, type AgentErrorEvent, type AgentEvent, type AgentEventType, type AgentExecuteRequest, type AgentExecuteResponse, type AgentIterationCompleteEvent, type AgentIterationStartEvent, type AgentMediaEvent, type AgentMessage, type AgentPausedEvent, type AgentPingEvent, type AgentReflectionEvent, type AgentRuntimeToolDefinition, type AgentStartEvent, type AgentStreamCallbacks, type AgentSubagentConfig, type AgentToolCompleteEvent, type AgentToolDeltaEvent, type AgentToolInputCompleteEvent, type AgentToolInputDeltaEvent, type AgentToolStartEvent, type AgentTurnCompleteEvent, type AgentTurnDeltaEvent, type AgentTurnStartEvent, type AgentVersionDetail, type AgentVersionListItem, type AgentVersionPublishResponse, AgentVersionsEndpoint, type AgentVersionsListResponse, AgentsEndpoint, AnalyticsEndpoint, type ApiClient, type ApiKey, ApiKeysEndpoint, type ApiResponse, type ApplyGeneratedProposalOptions, type ApplyGeneratedProposalResult, type AttachRuntimeToolsOptions, type BaseAgentEvent, BatchBuilder, type BatchClient, type BatchListParams, type BatchOptions, type BatchRequest, type BatchResult, type BatchScheduleConfig, type BatchStatus, BatchesNamespace, BillingEndpoint, type BillingSpendAnalyticsParams, type BindSkillInput, type BuiltInTool, type BulkEditCondition, type BulkEditRequest, type BulkEditResponse, type BulkEditResult, ChatEndpoint, ClientBatchBuilder, type ClientConfig, type ClientConversation, ClientEvalBuilder, ClientFlowBuilder, type ClientToken, type ClientTokenConfig, type ClientTokenEnvironment, type ClientTokenVersionPin, ClientTokensEndpoint, type ClientToolDefinition, type ClientWidgetTheme, type ConditionalStepConfig$1 as ConditionalStepConfig, type ContextErrorHandling, type ContextFallback, ContextTemplatesEndpoint, type Conversation, type ConversationListItem, type ConversationListParams, type ConversationMessage, type ConversationSource, ConversationsEndpoint, type ConversationsListResponse, type CreateApiKeyRequest, type CreateClientTokenRequest, type CreateClientTokenResponse, type CreateConversationRequest, type CreateFlowRequest, type CreateModelConfigRequest, type CreatePromptData, type CreatePromptRequest, type CreateProviderKeyRequest, type CreateRecordRequest, type CreateScheduleRequest, type CreateSecretRequest, type CreateToolRequest, type CustomMCPServer, type CustomMCPServerAuth, type CustomToolConfig, type DeployCfSandboxRequest, type DeployCfSandboxResponse, type DeploySandboxRequest, type DeploySandboxResponse, type DispatchClient, DispatchEndpoint, type DispatchEnvironment, type DispatchOptions$1 as DispatchOptions, type DispatchRequest, type ErrorHandlingMode, EvalBuilder, type EvalClient, EvalEndpoint, type EvalListParams, type EvalOptions, type EvalRecord, type EvalRequest, type EvalResult, type EvalRunConfig, EvalRunner, type EvalStatus, EvalsNamespace, type ExecuteToolRequest, type ExecuteToolResponse, type ExternalAgentContext, type ExternalToolConfig, type FallbackFailEvent, type FallbackStartEvent, type FallbackSuccessEvent, type FallbackTrigger, type FallbackTriggerType, type FallbacksExhaustedEvent, type FallbacksInitiatedEvent, type FetchGitHubStepConfig$1 as FetchGitHubStepConfig, type FetchUrlStepConfig$1 as FetchUrlStepConfig, type FieldFormat, type FileContentPart, type Flow, type FlowAttachment, FlowBuilder, type FlowCompleteEvent, type FlowConfig$1 as FlowConfig, type FlowErrorEvent, type FlowFallback, type FlowListItem, type FlowPausedEvent, FlowResult, type FlowStartEvent, type FlowStep, FlowStepsEndpoint, type FlowSummary, type FlowToolConfig, type FlowVersionDetail, type FlowVersionListItem, type FlowVersionPublishResponse, FlowVersionsEndpoint, type FlowVersionsListResponse, FlowsEndpoint, FlowsNamespace, type GenerateEmbeddingStepConfig$1 as GenerateEmbeddingStepConfig, type GeneratedRuntimeToolGateDecision, type GeneratedRuntimeToolGateOptions, type ImageContentPart, type Integration, type IntegrationTool, IntegrationsEndpoint, type IntegrationsListResponse, type JSONSchema, type JsonArray, type JsonObject, type JsonPrimitive, type JsonValue, type ListConversationsResponse, type ListParams, type LocalToolConfig, type LocalToolDefinition, type LocalToolExecutionCompleteEvent, type LocalToolExecutionLoopSnapshotSlice, type LocalToolExecutionStartEvent, type LogEntry, type LogQueryParams, type LogQueryResponse, type LogQueryResult, type LogStatsParams, type LogStatsResponse, type LogStatsResult, LogsEndpoint, type Message$1 as Message, type MessageContent, type MessageFallback, type Metadata, type ModelConfig, ModelConfigsEndpoint, type ModelFallback, type ModelOverride, type ModelUsageDetail, type ModelUsageQueryParams, type ModelUsageResponse, type ModelUsageSummary, type ModelUsageTimeSeries, type PaginationResponse, type Prompt$1 as Prompt, type PromptErrorHandling, type PromptFallback, type PromptListParams, type PromptRunOptions, PromptRunner, type PromptStepConfig$1 as PromptStepConfig, PromptsEndpoint, PromptsNamespace, type ProviderApiKey, type ReasoningConfig, type ReasoningContentPart, type ReasoningValue, type RecordConfig$1 as RecordConfig, type RecordFilter, type RecordFilterCondition, type RecordFilterGroup, type RecordFilterOperator, type RecordListItem, type RecordListParams, RecordsEndpoint, type RetrieveRecordStepConfig$1 as RetrieveRecordStepConfig, type RetryFallback, type RunTaskContextBudgetBreakdown, type RunTaskContextCompactionEvent, type RunTaskContextCompactionStrategy, type RunTaskContextNoticeEvent, type RunTaskContinuation, type RunTaskOnContextCompaction, type RunTaskOnContextNotice, type RunTaskOnSession, type RunTaskOptions, type RunTaskResult, type RunTaskResumeState, type RunTaskSessionSummary, type RunTaskState, type RunTaskStateSlice, type RunTaskStatus, type RunTaskToolTraceSlice, type RuntimeCustomToolConfig, type RuntimeExternalToolConfig, type RuntimeFlowToolConfig, type RuntimeLocalToolConfig, type RuntimeSubagentToolConfig, type RuntimeTool, type RuntimeToolConfig, Runtype, type AgentSkillBinding as RuntypeAgentSkillBinding, RuntypeApiError, RuntypeClient, type ConditionalStepConfig as RuntypeConditionalStepConfig, type RuntypeConfig, type FetchGitHubStepConfig as RuntypeFetchGitHubStepConfig, type FetchUrlStepConfig as RuntypeFetchUrlStepConfig, RuntypeFlowBuilder, type FlowConfig as RuntypeFlowConfig, type GenerateEmbeddingStepConfig as RuntypeGenerateEmbeddingStepConfig, type Message as RuntypeMessage, type ModelOverride$1 as RuntypeModelOverride, type Prompt as RuntypePrompt, type PromptStepConfig as RuntypePromptStepConfig, type RuntypeRecord, type RecordConfig as RuntypeRecordConfig, type RetrieveRecordStepConfig as RuntypeRetrieveRecordStepConfig, type SearchStepConfig as RuntypeSearchStepConfig, type SendEmailStepConfig as RuntypeSendEmailStepConfig, type SendEventStepConfig as RuntypeSendEventStepConfig, type SendStreamStepConfig as RuntypeSendStreamStepConfig, type SendTextStepConfig as RuntypeSendTextStepConfig, type SetVariableStepConfig as RuntypeSetVariableStepConfig, type Skill as RuntypeSkill, type SkillCapabilities as RuntypeSkillCapabilities, type SkillFrontmatter as RuntypeSkillFrontmatter, type SkillManifest as RuntypeSkillManifest, type SkillProposal as RuntypeSkillProposal, type SkillRuntypeExtensions as RuntypeSkillRuntypeExtensions, type SkillVersion as RuntypeSkillVersion, type TransformDataStepConfig as RuntypeTransformDataStepConfig, type UpsertFlowConfig as RuntypeUpsertFlowConfig, type UpsertRecordStepConfig as RuntypeUpsertRecordStepConfig, type VectorSearchStepConfig as RuntypeVectorSearchStepConfig, type WaitUntilStepConfig as RuntypeWaitUntilStepConfig, STEP_FIELD_REGISTRY, STEP_TYPE_TO_METHOD, type Schedule, type ScheduleExecutionOptions, type ScheduleListParams, type ScheduleMessage, type ScheduleMessageSet, type ScheduleMessages, type ScheduleMutationResponse, type ScheduleRun, type ScheduleRunNowResponse, type ScheduleStatusResponse, type ScheduleTarget, type ScheduleTrigger, SchedulesEndpoint, type SearchStepConfig$1 as SearchStepConfig, type Secret, type SecretCheckResponse, type SecretDeleteResponse, type SecretSetupUrlRequest, type SecretSetupUrlResponse, SecretsEndpoint, type SendEmailStepConfig$1 as SendEmailStepConfig, type SendEventStepConfig$1 as SendEventStepConfig, type SendStreamStepConfig$1 as SendStreamStepConfig, type SendTextStepConfig$1 as SendTextStepConfig, type SetVariableStepConfig$1 as SetVariableStepConfig, type SkillManifestInput, type SkillMarkdownInput, type SkillOrigin, type SkillProposalStatus, SkillProposalsNamespace, type SkillStatus, type SkillTrustLevel, type SkillVersionStatus, type SkillWithVersion, type SkillWriteInput, SkillsNamespace, type SlackInstallRequest, type StepCompleteEvent, type StepDeltaEvent, type StepFallback, type StepFieldMeta, type StepStartEvent, type StepWaitingLocalEvent, type StreamCallbacks, type StreamEvent, type SubagentToolConfig, type Surface, type SurfaceListParams, SurfacesEndpoint, type TextContentPart, type Tool, type ToolConfig, type ToolWithValidation, type ToolsConfig, ToolsEndpoint, type TransformDataStepConfig$1 as TransformDataStepConfig, type UpdateClientTokenRequest, type UpdateConversationRequest, type UpdatePromptData, type UpdateProviderKeyRequest, type UpdateScheduleRequest, type UpdateSecretRequest, type UpdateToolRequest, type UpdatedFlow, type UpsertFlowConfig$1 as UpsertFlowConfig, type UpsertOptions, type UpsertRecordStepConfig$1 as UpsertRecordStepConfig, type UserProfile, UsersEndpoint, type VectorSearchStepConfig$1 as VectorSearchStepConfig, type VersionType, type WaitUntilStepConfig$1 as WaitUntilStepConfig, type WorkflowContext, type WorkflowDefinition, type WorkflowPhase, applyGeneratedRuntimeToolProposalToDispatchRequest, attachRuntimeToolsToDispatchRequest, buildGeneratedRuntimeToolGateOutput, createClient, createExternalTool, defaultWorkflow, deployWorkflow, evaluateGeneratedRuntimeToolProposal, gameWorkflow, getDefaultPlanPath, getLikelySupportingCandidatePaths, isDiscoveryToolName, isMarathonArtifactPath, isPreservationSensitiveTask, normalizeCandidatePath, parseFinalBuffer, parseSSEChunk, processStream, sanitizeTaskSlug, streamEvents };