@runtypelabs/sdk 3.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/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,30 @@ 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
+ * `slow` fires them when the model streams continuously but exceeds a total
67
+ * wall-clock duration cap (`afterMs`, in ms) — a slow-but-not-stalled call.
68
+ */
69
+ type FallbackTriggerType = 'error' | 'empty-output' | 'slow';
70
+ /**
71
+ * Discriminated by `type`: the `error` / `empty-output` variants are
72
+ * parameter-less; `slow` carries the total-duration cap (`afterMs`).
73
+ */
74
+ type FallbackTrigger = {
75
+ type: 'error';
76
+ } | {
77
+ type: 'empty-output';
78
+ } | {
79
+ type: 'slow';
80
+ afterMs: number;
81
+ };
53
82
  /**
54
83
  * Union of all prompt fallback types
55
84
  */
56
- type PromptFallback = RetryFallback | ModelFallback;
85
+ type PromptFallback = RetryFallback | ModelFallback | MessageFallback;
57
86
  /**
58
87
  * Union of all context step fallback types
59
88
  */
@@ -64,6 +93,14 @@ type ContextFallback = RetryFallback | StepFallback | FlowFallback;
64
93
  interface PromptErrorHandling {
65
94
  onError: ErrorHandlingMode;
66
95
  fallbacks?: PromptFallback[];
96
+ /**
97
+ * Conditions that activate the fallback chain. Defaults to `[{ type: 'error' }]`
98
+ * when omitted. Add `{ type: 'empty-output' }` to also run the chain when the
99
+ * model finishes successfully but returns no visible text, or
100
+ * `{ type: 'slow', afterMs }` to run it when the model exceeds a total
101
+ * wall-clock duration cap while still streaming.
102
+ */
103
+ triggers?: FallbackTrigger[];
67
104
  }
68
105
  /**
69
106
  * Error handling configuration for context steps
@@ -78,132 +115,6 @@ interface ContextErrorHandling {
78
115
  * Do not make direct changes to the file.
79
116
  */
80
117
  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
118
  "/v1/agent-versions/{agentId}": {
208
119
  parameters: {
209
120
  query?: never;
@@ -894,9 +805,18 @@ interface paths {
894
805
  temperature?: number;
895
806
  /** @enum {string} */
896
807
  type: "model";
808
+ } | {
809
+ delay?: number;
810
+ message: string;
811
+ /** @enum {string} */
812
+ type: "message";
897
813
  })[];
898
814
  /** @enum {string} */
899
815
  onError: "fail" | "continue" | "fallback";
816
+ triggers?: {
817
+ /** @enum {string} */
818
+ type: "error" | "empty-output";
819
+ }[];
900
820
  };
901
821
  frequencyPenalty?: number;
902
822
  /** @enum {string} */
@@ -1620,9 +1540,18 @@ interface paths {
1620
1540
  temperature?: number;
1621
1541
  /** @enum {string} */
1622
1542
  type: "model";
1543
+ } | {
1544
+ delay?: number;
1545
+ message: string;
1546
+ /** @enum {string} */
1547
+ type: "message";
1623
1548
  })[];
1624
1549
  /** @enum {string} */
1625
1550
  onError: "fail" | "continue" | "fallback";
1551
+ triggers?: {
1552
+ /** @enum {string} */
1553
+ type: "error" | "empty-output";
1554
+ }[];
1626
1555
  };
1627
1556
  frequencyPenalty?: number;
1628
1557
  /** @enum {string} */
@@ -4265,94 +4194,6 @@ interface paths {
4265
4194
  patch?: never;
4266
4195
  trace?: never;
4267
4196
  };
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
4197
  "/v1/auth/me": {
4357
4198
  parameters: {
4358
4199
  query?: never;
@@ -11076,7 +10917,6 @@ interface paths {
11076
10917
  id: string;
11077
10918
  lastRunAt: string | null;
11078
10919
  name: string;
11079
- status: string;
11080
10920
  updatedAt: string;
11081
10921
  }[];
11082
10922
  pagination: {
@@ -11206,7 +11046,6 @@ interface paths {
11206
11046
  "application/json": {
11207
11047
  createdAt: string;
11208
11048
  dashboardUrl?: string;
11209
- draftVersionId?: string | null;
11210
11049
  flowSteps: {
11211
11050
  config?: {
11212
11051
  [key: string]: unknown;
@@ -11224,7 +11063,6 @@ interface paths {
11224
11063
  sampleMetadata?: {
11225
11064
  [key: string]: unknown;
11226
11065
  };
11227
- status: string;
11228
11066
  stepCount?: number;
11229
11067
  updatedAt: string;
11230
11068
  userId: string;
@@ -11330,7 +11168,6 @@ interface paths {
11330
11168
  "application/json": {
11331
11169
  createdAt: string;
11332
11170
  dashboardUrl?: string;
11333
- draftVersionId?: string | null;
11334
11171
  flowSteps: {
11335
11172
  config?: {
11336
11173
  [key: string]: unknown;
@@ -11348,7 +11185,6 @@ interface paths {
11348
11185
  sampleMetadata?: {
11349
11186
  [key: string]: unknown;
11350
11187
  };
11351
- status: string;
11352
11188
  stepCount?: number;
11353
11189
  updatedAt: string;
11354
11190
  userId: string;
@@ -11458,7 +11294,7 @@ interface paths {
11458
11294
  "application/json": {
11459
11295
  createdAt: string;
11460
11296
  dashboardUrl?: string;
11461
- draftVersionId?: string | null;
11297
+ draftVersionId: string;
11462
11298
  flowSteps: {
11463
11299
  config?: {
11464
11300
  [key: string]: unknown;
@@ -11476,7 +11312,6 @@ interface paths {
11476
11312
  sampleMetadata?: {
11477
11313
  [key: string]: unknown;
11478
11314
  };
11479
- status: string;
11480
11315
  stepCount?: number;
11481
11316
  updatedAt: string;
11482
11317
  userId: string;
@@ -27009,13 +26844,14 @@ interface paths {
27009
26844
  put?: never;
27010
26845
  /**
27011
26846
  * 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).
26847
+ * @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:
26848
+ * - `SendMessage` (alias `message/send`) — params: `{ message, configuration?, metadata? }`; returns an envelope whose `result` is `{ task }`.
26849
+ * - `SendStreamingMessage` (alias `message/stream`) — params: same; returns a `text/event-stream` of A2A 1.0 StreamResponse events.
26850
+ * - `GetTask` (alias `tasks/get`) — params: `{ id | taskId, historyLength? }`; returns a Task envelope.
26851
+ * - `ListTasks` — params: `{ pageSize?, pageToken?, status?, includeArtifacts? }`; returns `{ tasks, nextPageToken, pageSize, totalSize }` (cursor-paginated).
26852
+ * - `CancelTask` (alias `tasks/cancel`) — params: `{ id | taskId }`; returns a Task envelope.
26853
+ * - `SubscribeToTask` (alias `tasks/resubscribe`) params: `{ id }`; returns a `text/event-stream` of A2A 1.0 StreamResponse events.
26854
+ * 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
26855
  */
27020
26856
  post: {
27021
26857
  parameters: {
@@ -27029,7 +26865,7 @@ interface paths {
27029
26865
  };
27030
26866
  requestBody?: never;
27031
26867
  responses: {
27032
- /** @description JSON-RPC response envelope (unary methods) or an SSE event stream (message/stream, tasks/resubscribe). */
26868
+ /** @description JSON-RPC response envelope (unary methods) or an SSE event stream (SendStreamingMessage, SubscribeToTask). */
27033
26869
  200: {
27034
26870
  headers: {
27035
26871
  [name: string]: unknown;
@@ -27160,7 +26996,7 @@ interface paths {
27160
26996
  patch?: never;
27161
26997
  trace?: never;
27162
26998
  };
27163
- "/v1/products/{productId}/surfaces/{surfaceId}/a2a/.well-known/agent.json": {
26999
+ "/v1/products/{productId}/surfaces/{surfaceId}/a2a/info": {
27164
27000
  parameters: {
27165
27001
  query?: never;
27166
27002
  header?: never;
@@ -27168,8 +27004,8 @@ interface paths {
27168
27004
  cookie?: never;
27169
27005
  };
27170
27006
  /**
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.
27007
+ * Get A2A surface info
27008
+ * @description Public A2A surface information including the protocol version, JSON-RPC endpoint, Agent Card URL, and authentication details. No authentication required.
27173
27009
  */
27174
27010
  get: {
27175
27011
  parameters: {
@@ -27183,130 +27019,32 @@ interface paths {
27183
27019
  };
27184
27020
  requestBody?: never;
27185
27021
  responses: {
27186
- /** @description Agent Card */
27022
+ /** @description A2A surface information */
27187
27023
  200: {
27188
27024
  headers: {
27189
27025
  [name: string]: unknown;
27190
27026
  };
27191
27027
  content: {
27192
27028
  "application/json": {
27193
- authentication: {
27194
- [key: string]: unknown;
27195
- };
27196
- capabilities: {
27197
- [key: string]: unknown;
27029
+ a2a: {
27030
+ agentCard: string;
27031
+ authentication: {
27032
+ format: string;
27033
+ header: string;
27034
+ type: string;
27035
+ };
27036
+ endpoint: string;
27037
+ protocolVersion: string;
27198
27038
  };
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;
27039
+ product: {
27040
+ description: string | null;
27041
+ id: string;
27042
+ name: string;
27210
27043
  };
27211
- skills: {
27212
- [key: string]: unknown;
27213
- }[];
27214
- url: string;
27215
- version: string;
27216
- } & {
27217
- [key: string]: unknown;
27218
27044
  };
27219
27045
  };
27220
27046
  };
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 */
27047
+ /** @description Product or A2A surface not found */
27310
27048
  404: {
27311
27049
  headers: {
27312
27050
  [name: string]: unknown;
@@ -30466,6 +30204,7 @@ interface paths {
30466
30204
  content: {
30467
30205
  "application/json": {
30468
30206
  data: {
30207
+ availableFields?: string[];
30469
30208
  createdAt: string;
30470
30209
  id: string;
30471
30210
  messages: unknown[] | null;
@@ -30473,9 +30212,11 @@ interface paths {
30473
30212
  [key: string]: unknown;
30474
30213
  };
30475
30214
  metadataLabels?: {
30476
- [key: string]: unknown;
30215
+ [key: string]: string;
30477
30216
  };
30478
30217
  metadataSchema?: {
30218
+ keys: string[];
30219
+ } & {
30479
30220
  [key: string]: unknown;
30480
30221
  };
30481
30222
  name: string;
@@ -30608,9 +30349,11 @@ interface paths {
30608
30349
  [key: string]: unknown;
30609
30350
  };
30610
30351
  metadataLabels?: {
30611
- [key: string]: unknown;
30352
+ [key: string]: string;
30612
30353
  };
30613
30354
  metadataSchema?: {
30355
+ keys: string[];
30356
+ } & {
30614
30357
  [key: string]: unknown;
30615
30358
  };
30616
30359
  name: string;
@@ -31615,9 +31358,11 @@ interface paths {
31615
31358
  [key: string]: unknown;
31616
31359
  };
31617
31360
  metadataLabels?: {
31618
- [key: string]: unknown;
31361
+ [key: string]: string;
31619
31362
  };
31620
31363
  metadataSchema?: {
31364
+ keys: string[];
31365
+ } & {
31621
31366
  [key: string]: unknown;
31622
31367
  };
31623
31368
  name: string;
@@ -31751,9 +31496,11 @@ interface paths {
31751
31496
  [key: string]: unknown;
31752
31497
  };
31753
31498
  metadataLabels?: {
31754
- [key: string]: unknown;
31499
+ [key: string]: string;
31755
31500
  };
31756
31501
  metadataSchema?: {
31502
+ keys: string[];
31503
+ } & {
31757
31504
  [key: string]: unknown;
31758
31505
  };
31759
31506
  name: string;
@@ -35242,33 +34989,24 @@ interface paths {
35242
34989
  patch?: never;
35243
34990
  trace?: never;
35244
34991
  };
35245
- "/v1/surfaces": {
34992
+ "/v1/skill-proposals": {
35246
34993
  parameters: {
35247
34994
  query?: never;
35248
34995
  header?: never;
35249
34996
  path?: never;
35250
34997
  cookie?: never;
35251
34998
  };
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
- */
34999
+ /** List pending skill proposals */
35256
35000
  get: {
35257
35001
  parameters: {
35258
- query?: {
35259
- limit?: string;
35260
- cursor?: string;
35261
- type?: string;
35262
- status?: string;
35263
- environment?: string;
35264
- };
35002
+ query?: never;
35265
35003
  header?: never;
35266
35004
  path?: never;
35267
35005
  cookie?: never;
35268
35006
  };
35269
35007
  requestBody?: never;
35270
35008
  responses: {
35271
- /** @description Paginated list of surfaces */
35009
+ /** @description Pending proposals */
35272
35010
  200: {
35273
35011
  headers: {
35274
35012
  [name: string]: unknown;
@@ -35276,41 +35014,28 @@ interface paths {
35276
35014
  content: {
35277
35015
  "application/json": {
35278
35016
  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;
35017
+ [key: string]: unknown;
35297
35018
  }[];
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
35019
  };
35310
35020
  };
35311
35021
  };
35312
- /** @description Invalid parameters */
35313
- 400: {
35022
+ /** @description Unauthorized */
35023
+ 401: {
35024
+ headers: {
35025
+ [name: string]: unknown;
35026
+ };
35027
+ content: {
35028
+ "application/json": {
35029
+ details?: {
35030
+ message: string;
35031
+ path?: string;
35032
+ }[];
35033
+ error: string;
35034
+ };
35035
+ };
35036
+ };
35037
+ /** @description Insufficient permissions */
35038
+ 403: {
35314
35039
  headers: {
35315
35040
  [name: string]: unknown;
35316
35041
  };
@@ -35324,6 +35049,51 @@ interface paths {
35324
35049
  };
35325
35050
  };
35326
35051
  };
35052
+ };
35053
+ };
35054
+ put?: never;
35055
+ post?: never;
35056
+ delete?: never;
35057
+ options?: never;
35058
+ head?: never;
35059
+ patch?: never;
35060
+ trace?: never;
35061
+ };
35062
+ "/v1/skill-proposals/{id}/approve": {
35063
+ parameters: {
35064
+ query?: never;
35065
+ header?: never;
35066
+ path?: never;
35067
+ cookie?: never;
35068
+ };
35069
+ get?: never;
35070
+ put?: never;
35071
+ /**
35072
+ * Approve a skill proposal
35073
+ * @description Approve a pending proposal — publishes the proposed skill version.
35074
+ */
35075
+ post: {
35076
+ parameters: {
35077
+ query?: never;
35078
+ header?: never;
35079
+ path: {
35080
+ id: string;
35081
+ };
35082
+ cookie?: never;
35083
+ };
35084
+ requestBody?: never;
35085
+ responses: {
35086
+ /** @description Approved */
35087
+ 200: {
35088
+ headers: {
35089
+ [name: string]: unknown;
35090
+ };
35091
+ content: {
35092
+ "application/json": {
35093
+ [key: string]: unknown;
35094
+ };
35095
+ };
35096
+ };
35327
35097
  /** @description Unauthorized */
35328
35098
  401: {
35329
35099
  headers: {
@@ -35354,8 +35124,8 @@ interface paths {
35354
35124
  };
35355
35125
  };
35356
35126
  };
35357
- /** @description Internal server error */
35358
- 500: {
35127
+ /** @description Already reviewed */
35128
+ 409: {
35359
35129
  headers: {
35360
35130
  [name: string]: unknown;
35361
35131
  };
@@ -35371,90 +35141,1421 @@ interface paths {
35371
35141
  };
35372
35142
  };
35373
35143
  };
35374
- put?: never;
35375
- post?: never;
35376
35144
  delete?: never;
35377
35145
  options?: never;
35378
35146
  head?: never;
35379
35147
  patch?: never;
35380
35148
  trace?: never;
35381
35149
  };
35382
- "/v1/tools": {
35150
+ "/v1/skill-proposals/{id}/reject": {
35383
35151
  parameters: {
35384
35152
  query?: never;
35385
35153
  header?: never;
35386
35154
  path?: never;
35387
35155
  cookie?: never;
35388
35156
  };
35389
- /**
35390
- * List tools
35391
- * @description Get all tools for the authenticated user with filtering and cursor pagination.
35392
- */
35393
- get: {
35157
+ get?: never;
35158
+ put?: never;
35159
+ /** Reject a skill proposal */
35160
+ post: {
35394
35161
  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
- };
35162
+ query?: never;
35407
35163
  header?: never;
35408
- path?: never;
35164
+ path: {
35165
+ id: string;
35166
+ };
35409
35167
  cookie?: never;
35410
35168
  };
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
- };
35169
+ requestBody?: {
35170
+ content: {
35171
+ "application/json": {
35172
+ reason?: string;
35444
35173
  };
35445
35174
  };
35446
- /** @description Invalid parameters */
35447
- 400: {
35175
+ };
35176
+ responses: {
35177
+ /** @description Rejected */
35178
+ 200: {
35448
35179
  headers: {
35449
35180
  [name: string]: unknown;
35450
35181
  };
35451
35182
  content: {
35452
35183
  "application/json": {
35453
- details?: {
35454
- message: string;
35455
- path?: string;
35456
- }[];
35457
- error: string;
35184
+ [key: string]: unknown;
35185
+ };
35186
+ };
35187
+ };
35188
+ /** @description Unauthorized */
35189
+ 401: {
35190
+ headers: {
35191
+ [name: string]: unknown;
35192
+ };
35193
+ content: {
35194
+ "application/json": {
35195
+ details?: {
35196
+ message: string;
35197
+ path?: string;
35198
+ }[];
35199
+ error: string;
35200
+ };
35201
+ };
35202
+ };
35203
+ /** @description Insufficient permissions */
35204
+ 403: {
35205
+ headers: {
35206
+ [name: string]: unknown;
35207
+ };
35208
+ content: {
35209
+ "application/json": {
35210
+ details?: {
35211
+ message: string;
35212
+ path?: string;
35213
+ }[];
35214
+ error: string;
35215
+ };
35216
+ };
35217
+ };
35218
+ };
35219
+ };
35220
+ delete?: never;
35221
+ options?: never;
35222
+ head?: never;
35223
+ patch?: never;
35224
+ trace?: never;
35225
+ };
35226
+ "/v1/skills": {
35227
+ parameters: {
35228
+ query?: never;
35229
+ header?: never;
35230
+ path?: never;
35231
+ cookie?: never;
35232
+ };
35233
+ /**
35234
+ * List skills
35235
+ * @description List skills for the authenticated owner, optionally filtered by status.
35236
+ */
35237
+ get: {
35238
+ parameters: {
35239
+ query?: {
35240
+ status?: "draft" | "active" | "archived";
35241
+ };
35242
+ header?: never;
35243
+ path?: never;
35244
+ cookie?: never;
35245
+ };
35246
+ requestBody?: never;
35247
+ responses: {
35248
+ /** @description Skills */
35249
+ 200: {
35250
+ headers: {
35251
+ [name: string]: unknown;
35252
+ };
35253
+ content: {
35254
+ "application/json": {
35255
+ data: {
35256
+ [key: string]: unknown;
35257
+ }[];
35258
+ };
35259
+ };
35260
+ };
35261
+ /** @description Unauthorized */
35262
+ 401: {
35263
+ headers: {
35264
+ [name: string]: unknown;
35265
+ };
35266
+ content: {
35267
+ "application/json": {
35268
+ details?: {
35269
+ message: string;
35270
+ path?: string;
35271
+ }[];
35272
+ error: string;
35273
+ };
35274
+ };
35275
+ };
35276
+ /** @description Insufficient permissions */
35277
+ 403: {
35278
+ headers: {
35279
+ [name: string]: unknown;
35280
+ };
35281
+ content: {
35282
+ "application/json": {
35283
+ details?: {
35284
+ message: string;
35285
+ path?: string;
35286
+ }[];
35287
+ error: string;
35288
+ };
35289
+ };
35290
+ };
35291
+ /** @description Internal server error */
35292
+ 500: {
35293
+ headers: {
35294
+ [name: string]: unknown;
35295
+ };
35296
+ content: {
35297
+ "application/json": {
35298
+ details?: {
35299
+ message: string;
35300
+ path?: string;
35301
+ }[];
35302
+ error: string;
35303
+ };
35304
+ };
35305
+ };
35306
+ };
35307
+ };
35308
+ put?: never;
35309
+ /**
35310
+ * Create a skill
35311
+ * @description Create a skill from a SKILL.md string (`markdown`) or a structured manifest (`frontmatter` + `body`). Admin plane — no review queue.
35312
+ */
35313
+ post: {
35314
+ parameters: {
35315
+ query?: never;
35316
+ header?: never;
35317
+ path?: never;
35318
+ cookie?: never;
35319
+ };
35320
+ requestBody?: {
35321
+ content: {
35322
+ "application/json": {
35323
+ [key: string]: unknown;
35324
+ };
35325
+ };
35326
+ };
35327
+ responses: {
35328
+ /** @description Created */
35329
+ 201: {
35330
+ headers: {
35331
+ [name: string]: unknown;
35332
+ };
35333
+ content: {
35334
+ "application/json": {
35335
+ [key: string]: unknown;
35336
+ };
35337
+ };
35338
+ };
35339
+ /** @description Invalid manifest */
35340
+ 400: {
35341
+ headers: {
35342
+ [name: string]: unknown;
35343
+ };
35344
+ content: {
35345
+ "application/json": {
35346
+ details?: {
35347
+ message: string;
35348
+ path?: string;
35349
+ }[];
35350
+ error: string;
35351
+ };
35352
+ };
35353
+ };
35354
+ /** @description Unauthorized */
35355
+ 401: {
35356
+ headers: {
35357
+ [name: string]: unknown;
35358
+ };
35359
+ content: {
35360
+ "application/json": {
35361
+ details?: {
35362
+ message: string;
35363
+ path?: string;
35364
+ }[];
35365
+ error: string;
35366
+ };
35367
+ };
35368
+ };
35369
+ /** @description Insufficient permissions */
35370
+ 403: {
35371
+ headers: {
35372
+ [name: string]: unknown;
35373
+ };
35374
+ content: {
35375
+ "application/json": {
35376
+ details?: {
35377
+ message: string;
35378
+ path?: string;
35379
+ }[];
35380
+ error: string;
35381
+ };
35382
+ };
35383
+ };
35384
+ /** @description Unsupported capability */
35385
+ 422: {
35386
+ headers: {
35387
+ [name: string]: unknown;
35388
+ };
35389
+ content: {
35390
+ "application/json": {
35391
+ details?: {
35392
+ message: string;
35393
+ path?: string;
35394
+ }[];
35395
+ error: string;
35396
+ };
35397
+ };
35398
+ };
35399
+ /** @description Internal server error */
35400
+ 500: {
35401
+ headers: {
35402
+ [name: string]: unknown;
35403
+ };
35404
+ content: {
35405
+ "application/json": {
35406
+ details?: {
35407
+ message: string;
35408
+ path?: string;
35409
+ }[];
35410
+ error: string;
35411
+ };
35412
+ };
35413
+ };
35414
+ };
35415
+ };
35416
+ delete?: never;
35417
+ options?: never;
35418
+ head?: never;
35419
+ patch?: never;
35420
+ trace?: never;
35421
+ };
35422
+ "/v1/skills/bind": {
35423
+ parameters: {
35424
+ query?: never;
35425
+ header?: never;
35426
+ path?: never;
35427
+ cookie?: never;
35428
+ };
35429
+ get?: never;
35430
+ put?: never;
35431
+ /** Bind a skill to an agent */
35432
+ post: {
35433
+ parameters: {
35434
+ query?: never;
35435
+ header?: never;
35436
+ path?: never;
35437
+ cookie?: never;
35438
+ };
35439
+ requestBody?: {
35440
+ content: {
35441
+ "application/json": {
35442
+ agentId: string;
35443
+ displayOrder?: number;
35444
+ enabled?: boolean;
35445
+ skillId: string;
35446
+ skillVersionId?: string | null;
35447
+ };
35448
+ };
35449
+ };
35450
+ responses: {
35451
+ /** @description Bound */
35452
+ 201: {
35453
+ headers: {
35454
+ [name: string]: unknown;
35455
+ };
35456
+ content: {
35457
+ "application/json": {
35458
+ [key: string]: unknown;
35459
+ };
35460
+ };
35461
+ };
35462
+ /** @description Unauthorized */
35463
+ 401: {
35464
+ headers: {
35465
+ [name: string]: unknown;
35466
+ };
35467
+ content: {
35468
+ "application/json": {
35469
+ details?: {
35470
+ message: string;
35471
+ path?: string;
35472
+ }[];
35473
+ error: string;
35474
+ };
35475
+ };
35476
+ };
35477
+ /** @description Forbidden */
35478
+ 403: {
35479
+ headers: {
35480
+ [name: string]: unknown;
35481
+ };
35482
+ content: {
35483
+ "application/json": {
35484
+ details?: {
35485
+ message: string;
35486
+ path?: string;
35487
+ }[];
35488
+ error: string;
35489
+ };
35490
+ };
35491
+ };
35492
+ /** @description Not found */
35493
+ 404: {
35494
+ headers: {
35495
+ [name: string]: unknown;
35496
+ };
35497
+ content: {
35498
+ "application/json": {
35499
+ details?: {
35500
+ message: string;
35501
+ path?: string;
35502
+ }[];
35503
+ error: string;
35504
+ };
35505
+ };
35506
+ };
35507
+ };
35508
+ };
35509
+ delete?: never;
35510
+ options?: never;
35511
+ head?: never;
35512
+ patch?: never;
35513
+ trace?: never;
35514
+ };
35515
+ "/v1/skills/bindings": {
35516
+ parameters: {
35517
+ query?: never;
35518
+ header?: never;
35519
+ path?: never;
35520
+ cookie?: never;
35521
+ };
35522
+ /** List an agent's skill bindings */
35523
+ get: {
35524
+ parameters: {
35525
+ query: {
35526
+ agentId: string;
35527
+ };
35528
+ header?: never;
35529
+ path?: never;
35530
+ cookie?: never;
35531
+ };
35532
+ requestBody?: never;
35533
+ responses: {
35534
+ /** @description Bindings */
35535
+ 200: {
35536
+ headers: {
35537
+ [name: string]: unknown;
35538
+ };
35539
+ content: {
35540
+ "application/json": {
35541
+ data: {
35542
+ [key: string]: unknown;
35543
+ }[];
35544
+ };
35545
+ };
35546
+ };
35547
+ /** @description Unauthorized */
35548
+ 401: {
35549
+ headers: {
35550
+ [name: string]: unknown;
35551
+ };
35552
+ content: {
35553
+ "application/json": {
35554
+ details?: {
35555
+ message: string;
35556
+ path?: string;
35557
+ }[];
35558
+ error: string;
35559
+ };
35560
+ };
35561
+ };
35562
+ /** @description Forbidden */
35563
+ 403: {
35564
+ headers: {
35565
+ [name: string]: unknown;
35566
+ };
35567
+ content: {
35568
+ "application/json": {
35569
+ details?: {
35570
+ message: string;
35571
+ path?: string;
35572
+ }[];
35573
+ error: string;
35574
+ };
35575
+ };
35576
+ };
35577
+ };
35578
+ };
35579
+ put?: never;
35580
+ post?: never;
35581
+ delete?: never;
35582
+ options?: never;
35583
+ head?: never;
35584
+ patch?: never;
35585
+ trace?: never;
35586
+ };
35587
+ "/v1/skills/bindings/{bindingId}": {
35588
+ parameters: {
35589
+ query?: never;
35590
+ header?: never;
35591
+ path?: never;
35592
+ cookie?: never;
35593
+ };
35594
+ get?: never;
35595
+ put?: never;
35596
+ post?: never;
35597
+ /** Unbind a skill from an agent */
35598
+ delete: {
35599
+ parameters: {
35600
+ query?: never;
35601
+ header?: never;
35602
+ path: {
35603
+ bindingId: string;
35604
+ };
35605
+ cookie?: never;
35606
+ };
35607
+ requestBody?: never;
35608
+ responses: {
35609
+ /** @description Unbound */
35610
+ 200: {
35611
+ headers: {
35612
+ [name: string]: unknown;
35613
+ };
35614
+ content: {
35615
+ "application/json": {
35616
+ success: boolean;
35617
+ };
35618
+ };
35619
+ };
35620
+ /** @description Unauthorized */
35621
+ 401: {
35622
+ headers: {
35623
+ [name: string]: unknown;
35624
+ };
35625
+ content: {
35626
+ "application/json": {
35627
+ details?: {
35628
+ message: string;
35629
+ path?: string;
35630
+ }[];
35631
+ error: string;
35632
+ };
35633
+ };
35634
+ };
35635
+ /** @description Insufficient permissions */
35636
+ 403: {
35637
+ headers: {
35638
+ [name: string]: unknown;
35639
+ };
35640
+ content: {
35641
+ "application/json": {
35642
+ details?: {
35643
+ message: string;
35644
+ path?: string;
35645
+ }[];
35646
+ error: string;
35647
+ };
35648
+ };
35649
+ };
35650
+ };
35651
+ };
35652
+ options?: never;
35653
+ head?: never;
35654
+ patch?: never;
35655
+ trace?: never;
35656
+ };
35657
+ "/v1/skills/import": {
35658
+ parameters: {
35659
+ query?: never;
35660
+ header?: never;
35661
+ path?: never;
35662
+ cookie?: never;
35663
+ };
35664
+ get?: never;
35665
+ put?: never;
35666
+ /**
35667
+ * Import a SKILL.md
35668
+ * @description Import a single SKILL.md document. Lands with trustLevel=imported.
35669
+ */
35670
+ post: {
35671
+ parameters: {
35672
+ query?: never;
35673
+ header?: never;
35674
+ path?: never;
35675
+ cookie?: never;
35676
+ };
35677
+ requestBody?: {
35678
+ content: {
35679
+ "application/json": {
35680
+ markdown: string;
35681
+ };
35682
+ };
35683
+ };
35684
+ responses: {
35685
+ /** @description Imported */
35686
+ 201: {
35687
+ headers: {
35688
+ [name: string]: unknown;
35689
+ };
35690
+ content: {
35691
+ "application/json": {
35692
+ [key: string]: unknown;
35693
+ };
35694
+ };
35695
+ };
35696
+ /** @description Invalid manifest */
35697
+ 400: {
35698
+ headers: {
35699
+ [name: string]: unknown;
35700
+ };
35701
+ content: {
35702
+ "application/json": {
35703
+ details?: {
35704
+ message: string;
35705
+ path?: string;
35706
+ }[];
35707
+ error: string;
35708
+ };
35709
+ };
35710
+ };
35711
+ /** @description Unauthorized */
35712
+ 401: {
35713
+ headers: {
35714
+ [name: string]: unknown;
35715
+ };
35716
+ content: {
35717
+ "application/json": {
35718
+ details?: {
35719
+ message: string;
35720
+ path?: string;
35721
+ }[];
35722
+ error: string;
35723
+ };
35724
+ };
35725
+ };
35726
+ /** @description Insufficient permissions */
35727
+ 403: {
35728
+ headers: {
35729
+ [name: string]: unknown;
35730
+ };
35731
+ content: {
35732
+ "application/json": {
35733
+ details?: {
35734
+ message: string;
35735
+ path?: string;
35736
+ }[];
35737
+ error: string;
35738
+ };
35739
+ };
35740
+ };
35741
+ /** @description Unsupported capability */
35742
+ 422: {
35743
+ headers: {
35744
+ [name: string]: unknown;
35745
+ };
35746
+ content: {
35747
+ "application/json": {
35748
+ details?: {
35749
+ message: string;
35750
+ path?: string;
35751
+ }[];
35752
+ error: string;
35753
+ };
35754
+ };
35755
+ };
35756
+ };
35757
+ };
35758
+ delete?: never;
35759
+ options?: never;
35760
+ head?: never;
35761
+ patch?: never;
35762
+ trace?: never;
35763
+ };
35764
+ "/v1/skills/propose": {
35765
+ parameters: {
35766
+ query?: never;
35767
+ header?: never;
35768
+ path?: never;
35769
+ cookie?: never;
35770
+ };
35771
+ get?: never;
35772
+ put?: never;
35773
+ /**
35774
+ * Propose a skill (deployed-agent data plane)
35775
+ * @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.
35776
+ */
35777
+ post: {
35778
+ parameters: {
35779
+ query?: never;
35780
+ header?: never;
35781
+ path?: never;
35782
+ cookie?: never;
35783
+ };
35784
+ requestBody?: {
35785
+ content: {
35786
+ "application/json": {
35787
+ body: string;
35788
+ capabilities?: {
35789
+ [key: string]: unknown;
35790
+ };
35791
+ description: string;
35792
+ name: string;
35793
+ proposingAgentExecutionId: string;
35794
+ proposingAgentId: string;
35795
+ };
35796
+ };
35797
+ };
35798
+ responses: {
35799
+ /** @description Proposal outcome */
35800
+ 200: {
35801
+ headers: {
35802
+ [name: string]: unknown;
35803
+ };
35804
+ content: {
35805
+ "application/json": {
35806
+ [key: string]: unknown;
35807
+ };
35808
+ };
35809
+ };
35810
+ /** @description Invalid manifest */
35811
+ 400: {
35812
+ headers: {
35813
+ [name: string]: unknown;
35814
+ };
35815
+ content: {
35816
+ "application/json": {
35817
+ details?: {
35818
+ message: string;
35819
+ path?: string;
35820
+ }[];
35821
+ error: string;
35822
+ };
35823
+ };
35824
+ };
35825
+ /** @description Unauthorized */
35826
+ 401: {
35827
+ headers: {
35828
+ [name: string]: unknown;
35829
+ };
35830
+ content: {
35831
+ "application/json": {
35832
+ details?: {
35833
+ message: string;
35834
+ path?: string;
35835
+ }[];
35836
+ error: string;
35837
+ };
35838
+ };
35839
+ };
35840
+ /** @description Unsupported capability */
35841
+ 422: {
35842
+ headers: {
35843
+ [name: string]: unknown;
35844
+ };
35845
+ content: {
35846
+ "application/json": {
35847
+ details?: {
35848
+ message: string;
35849
+ path?: string;
35850
+ }[];
35851
+ error: string;
35852
+ };
35853
+ };
35854
+ };
35855
+ };
35856
+ };
35857
+ delete?: never;
35858
+ options?: never;
35859
+ head?: never;
35860
+ patch?: never;
35861
+ trace?: never;
35862
+ };
35863
+ "/v1/skills/{id}": {
35864
+ parameters: {
35865
+ query?: never;
35866
+ header?: never;
35867
+ path?: never;
35868
+ cookie?: never;
35869
+ };
35870
+ /** Get a skill */
35871
+ get: {
35872
+ parameters: {
35873
+ query?: never;
35874
+ header?: never;
35875
+ path: {
35876
+ id: string;
35877
+ };
35878
+ cookie?: never;
35879
+ };
35880
+ requestBody?: never;
35881
+ responses: {
35882
+ /** @description Skill */
35883
+ 200: {
35884
+ headers: {
35885
+ [name: string]: unknown;
35886
+ };
35887
+ content: {
35888
+ "application/json": {
35889
+ [key: string]: unknown;
35890
+ };
35891
+ };
35892
+ };
35893
+ /** @description Invalid id */
35894
+ 400: {
35895
+ headers: {
35896
+ [name: string]: unknown;
35897
+ };
35898
+ content: {
35899
+ "application/json": {
35900
+ details?: {
35901
+ message: string;
35902
+ path?: string;
35903
+ }[];
35904
+ error: string;
35905
+ };
35906
+ };
35907
+ };
35908
+ /** @description Unauthorized */
35909
+ 401: {
35910
+ headers: {
35911
+ [name: string]: unknown;
35912
+ };
35913
+ content: {
35914
+ "application/json": {
35915
+ details?: {
35916
+ message: string;
35917
+ path?: string;
35918
+ }[];
35919
+ error: string;
35920
+ };
35921
+ };
35922
+ };
35923
+ /** @description Insufficient permissions */
35924
+ 403: {
35925
+ headers: {
35926
+ [name: string]: unknown;
35927
+ };
35928
+ content: {
35929
+ "application/json": {
35930
+ details?: {
35931
+ message: string;
35932
+ path?: string;
35933
+ }[];
35934
+ error: string;
35935
+ };
35936
+ };
35937
+ };
35938
+ /** @description Not found */
35939
+ 404: {
35940
+ headers: {
35941
+ [name: string]: unknown;
35942
+ };
35943
+ content: {
35944
+ "application/json": {
35945
+ details?: {
35946
+ message: string;
35947
+ path?: string;
35948
+ }[];
35949
+ error: string;
35950
+ };
35951
+ };
35952
+ };
35953
+ };
35954
+ };
35955
+ /**
35956
+ * Append a new skill version
35957
+ * @description Append a new draft version to a skill from an updated manifest.
35958
+ */
35959
+ put: {
35960
+ parameters: {
35961
+ query?: never;
35962
+ header?: never;
35963
+ path: {
35964
+ id: string;
35965
+ };
35966
+ cookie?: never;
35967
+ };
35968
+ requestBody?: {
35969
+ content: {
35970
+ "application/json": {
35971
+ [key: string]: unknown;
35972
+ };
35973
+ };
35974
+ };
35975
+ responses: {
35976
+ /** @description New version */
35977
+ 200: {
35978
+ headers: {
35979
+ [name: string]: unknown;
35980
+ };
35981
+ content: {
35982
+ "application/json": {
35983
+ [key: string]: unknown;
35984
+ };
35985
+ };
35986
+ };
35987
+ /** @description Invalid manifest */
35988
+ 400: {
35989
+ headers: {
35990
+ [name: string]: unknown;
35991
+ };
35992
+ content: {
35993
+ "application/json": {
35994
+ details?: {
35995
+ message: string;
35996
+ path?: string;
35997
+ }[];
35998
+ error: string;
35999
+ };
36000
+ };
36001
+ };
36002
+ /** @description Unauthorized */
36003
+ 401: {
36004
+ headers: {
36005
+ [name: string]: unknown;
36006
+ };
36007
+ content: {
36008
+ "application/json": {
36009
+ details?: {
36010
+ message: string;
36011
+ path?: string;
36012
+ }[];
36013
+ error: string;
36014
+ };
36015
+ };
36016
+ };
36017
+ /** @description Insufficient permissions */
36018
+ 403: {
36019
+ headers: {
36020
+ [name: string]: unknown;
36021
+ };
36022
+ content: {
36023
+ "application/json": {
36024
+ details?: {
36025
+ message: string;
36026
+ path?: string;
36027
+ }[];
36028
+ error: string;
36029
+ };
36030
+ };
36031
+ };
36032
+ /** @description Not found */
36033
+ 404: {
36034
+ headers: {
36035
+ [name: string]: unknown;
36036
+ };
36037
+ content: {
36038
+ "application/json": {
36039
+ details?: {
36040
+ message: string;
36041
+ path?: string;
36042
+ }[];
36043
+ error: string;
36044
+ };
36045
+ };
36046
+ };
36047
+ /** @description Unsupported capability */
36048
+ 422: {
36049
+ headers: {
36050
+ [name: string]: unknown;
36051
+ };
36052
+ content: {
36053
+ "application/json": {
36054
+ details?: {
36055
+ message: string;
36056
+ path?: string;
36057
+ }[];
36058
+ error: string;
36059
+ };
36060
+ };
36061
+ };
36062
+ };
36063
+ };
36064
+ post?: never;
36065
+ /** Delete a skill */
36066
+ delete: {
36067
+ parameters: {
36068
+ query?: never;
36069
+ header?: never;
36070
+ path: {
36071
+ id: string;
36072
+ };
36073
+ cookie?: never;
36074
+ };
36075
+ requestBody?: never;
36076
+ responses: {
36077
+ /** @description Deleted */
36078
+ 200: {
36079
+ headers: {
36080
+ [name: string]: unknown;
36081
+ };
36082
+ content: {
36083
+ "application/json": {
36084
+ success: boolean;
36085
+ };
36086
+ };
36087
+ };
36088
+ /** @description Invalid id */
36089
+ 400: {
36090
+ headers: {
36091
+ [name: string]: unknown;
36092
+ };
36093
+ content: {
36094
+ "application/json": {
36095
+ details?: {
36096
+ message: string;
36097
+ path?: string;
36098
+ }[];
36099
+ error: string;
36100
+ };
36101
+ };
36102
+ };
36103
+ /** @description Unauthorized */
36104
+ 401: {
36105
+ headers: {
36106
+ [name: string]: unknown;
36107
+ };
36108
+ content: {
36109
+ "application/json": {
36110
+ details?: {
36111
+ message: string;
36112
+ path?: string;
36113
+ }[];
36114
+ error: string;
36115
+ };
36116
+ };
36117
+ };
36118
+ /** @description Insufficient permissions */
36119
+ 403: {
36120
+ headers: {
36121
+ [name: string]: unknown;
36122
+ };
36123
+ content: {
36124
+ "application/json": {
36125
+ details?: {
36126
+ message: string;
36127
+ path?: string;
36128
+ }[];
36129
+ error: string;
36130
+ };
36131
+ };
36132
+ };
36133
+ /** @description Not found */
36134
+ 404: {
36135
+ headers: {
36136
+ [name: string]: unknown;
36137
+ };
36138
+ content: {
36139
+ "application/json": {
36140
+ details?: {
36141
+ message: string;
36142
+ path?: string;
36143
+ }[];
36144
+ error: string;
36145
+ };
36146
+ };
36147
+ };
36148
+ };
36149
+ };
36150
+ options?: never;
36151
+ head?: never;
36152
+ patch?: never;
36153
+ trace?: never;
36154
+ };
36155
+ "/v1/skills/{id}/versions": {
36156
+ parameters: {
36157
+ query?: never;
36158
+ header?: never;
36159
+ path?: never;
36160
+ cookie?: never;
36161
+ };
36162
+ /**
36163
+ * List a skill's versions
36164
+ * @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.)
36165
+ */
36166
+ get: {
36167
+ parameters: {
36168
+ query?: never;
36169
+ header?: never;
36170
+ path: {
36171
+ id: string;
36172
+ };
36173
+ cookie?: never;
36174
+ };
36175
+ requestBody?: never;
36176
+ responses: {
36177
+ /** @description Versions */
36178
+ 200: {
36179
+ headers: {
36180
+ [name: string]: unknown;
36181
+ };
36182
+ content: {
36183
+ "application/json": {
36184
+ data: {
36185
+ [key: string]: unknown;
36186
+ }[];
36187
+ };
36188
+ };
36189
+ };
36190
+ /** @description Invalid id */
36191
+ 400: {
36192
+ headers: {
36193
+ [name: string]: unknown;
36194
+ };
36195
+ content: {
36196
+ "application/json": {
36197
+ details?: {
36198
+ message: string;
36199
+ path?: string;
36200
+ }[];
36201
+ error: string;
36202
+ };
36203
+ };
36204
+ };
36205
+ /** @description Unauthorized */
36206
+ 401: {
36207
+ headers: {
36208
+ [name: string]: unknown;
36209
+ };
36210
+ content: {
36211
+ "application/json": {
36212
+ details?: {
36213
+ message: string;
36214
+ path?: string;
36215
+ }[];
36216
+ error: string;
36217
+ };
36218
+ };
36219
+ };
36220
+ /** @description Insufficient permissions */
36221
+ 403: {
36222
+ headers: {
36223
+ [name: string]: unknown;
36224
+ };
36225
+ content: {
36226
+ "application/json": {
36227
+ details?: {
36228
+ message: string;
36229
+ path?: string;
36230
+ }[];
36231
+ error: string;
36232
+ };
36233
+ };
36234
+ };
36235
+ /** @description Not found */
36236
+ 404: {
36237
+ headers: {
36238
+ [name: string]: unknown;
36239
+ };
36240
+ content: {
36241
+ "application/json": {
36242
+ details?: {
36243
+ message: string;
36244
+ path?: string;
36245
+ }[];
36246
+ error: string;
36247
+ };
36248
+ };
36249
+ };
36250
+ };
36251
+ };
36252
+ put?: never;
36253
+ post?: never;
36254
+ delete?: never;
36255
+ options?: never;
36256
+ head?: never;
36257
+ patch?: never;
36258
+ trace?: never;
36259
+ };
36260
+ "/v1/skills/{id}/versions/{versionId}/publish": {
36261
+ parameters: {
36262
+ query?: never;
36263
+ header?: never;
36264
+ path?: never;
36265
+ cookie?: never;
36266
+ };
36267
+ get?: never;
36268
+ put?: never;
36269
+ /** Publish a skill version */
36270
+ post: {
36271
+ parameters: {
36272
+ query?: never;
36273
+ header?: never;
36274
+ path: {
36275
+ id: string;
36276
+ versionId: string;
36277
+ };
36278
+ cookie?: never;
36279
+ };
36280
+ requestBody?: never;
36281
+ responses: {
36282
+ /** @description Published */
36283
+ 200: {
36284
+ headers: {
36285
+ [name: string]: unknown;
36286
+ };
36287
+ content: {
36288
+ "application/json": {
36289
+ success: boolean;
36290
+ };
36291
+ };
36292
+ };
36293
+ /** @description Unauthorized */
36294
+ 401: {
36295
+ headers: {
36296
+ [name: string]: unknown;
36297
+ };
36298
+ content: {
36299
+ "application/json": {
36300
+ details?: {
36301
+ message: string;
36302
+ path?: string;
36303
+ }[];
36304
+ error: string;
36305
+ };
36306
+ };
36307
+ };
36308
+ /** @description Insufficient permissions */
36309
+ 403: {
36310
+ headers: {
36311
+ [name: string]: unknown;
36312
+ };
36313
+ content: {
36314
+ "application/json": {
36315
+ details?: {
36316
+ message: string;
36317
+ path?: string;
36318
+ }[];
36319
+ error: string;
36320
+ };
36321
+ };
36322
+ };
36323
+ /** @description Not found */
36324
+ 404: {
36325
+ headers: {
36326
+ [name: string]: unknown;
36327
+ };
36328
+ content: {
36329
+ "application/json": {
36330
+ details?: {
36331
+ message: string;
36332
+ path?: string;
36333
+ }[];
36334
+ error: string;
36335
+ };
36336
+ };
36337
+ };
36338
+ };
36339
+ };
36340
+ delete?: never;
36341
+ options?: never;
36342
+ head?: never;
36343
+ patch?: never;
36344
+ trace?: never;
36345
+ };
36346
+ "/v1/surfaces": {
36347
+ parameters: {
36348
+ query?: never;
36349
+ header?: never;
36350
+ path?: never;
36351
+ cookie?: never;
36352
+ };
36353
+ /**
36354
+ * List surfaces
36355
+ * @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.
36356
+ */
36357
+ get: {
36358
+ parameters: {
36359
+ query?: {
36360
+ limit?: string;
36361
+ cursor?: string;
36362
+ type?: string;
36363
+ status?: string;
36364
+ environment?: string;
36365
+ };
36366
+ header?: never;
36367
+ path?: never;
36368
+ cookie?: never;
36369
+ };
36370
+ requestBody?: never;
36371
+ responses: {
36372
+ /** @description Paginated list of surfaces */
36373
+ 200: {
36374
+ headers: {
36375
+ [name: string]: unknown;
36376
+ };
36377
+ content: {
36378
+ "application/json": {
36379
+ data: {
36380
+ createdAt: string;
36381
+ environment: string;
36382
+ id: string;
36383
+ inbound: {
36384
+ appId?: string;
36385
+ continueThreads?: boolean;
36386
+ integrationId?: string;
36387
+ listenChannels?: string[];
36388
+ listenDms?: boolean;
36389
+ teamId?: string;
36390
+ teamName?: string;
36391
+ triggerOnMention?: boolean;
36392
+ } | null;
36393
+ name: string;
36394
+ productId: string;
36395
+ status: string;
36396
+ type: string;
36397
+ updatedAt: string;
36398
+ }[];
36399
+ pagination: {
36400
+ currentOffset: number;
36401
+ currentPage?: number;
36402
+ hasMore: boolean;
36403
+ hasPrev: boolean;
36404
+ limit: number;
36405
+ nextCursor: string | null;
36406
+ prevCursor: string | null;
36407
+ totalCount?: number;
36408
+ totalPages?: number;
36409
+ };
36410
+ };
36411
+ };
36412
+ };
36413
+ /** @description Invalid parameters */
36414
+ 400: {
36415
+ headers: {
36416
+ [name: string]: unknown;
36417
+ };
36418
+ content: {
36419
+ "application/json": {
36420
+ details?: {
36421
+ message: string;
36422
+ path?: string;
36423
+ }[];
36424
+ error: string;
36425
+ };
36426
+ };
36427
+ };
36428
+ /** @description Unauthorized */
36429
+ 401: {
36430
+ headers: {
36431
+ [name: string]: unknown;
36432
+ };
36433
+ content: {
36434
+ "application/json": {
36435
+ details?: {
36436
+ message: string;
36437
+ path?: string;
36438
+ }[];
36439
+ error: string;
36440
+ };
36441
+ };
36442
+ };
36443
+ /** @description Insufficient permissions */
36444
+ 403: {
36445
+ headers: {
36446
+ [name: string]: unknown;
36447
+ };
36448
+ content: {
36449
+ "application/json": {
36450
+ details?: {
36451
+ message: string;
36452
+ path?: string;
36453
+ }[];
36454
+ error: string;
36455
+ };
36456
+ };
36457
+ };
36458
+ /** @description Internal server error */
36459
+ 500: {
36460
+ headers: {
36461
+ [name: string]: unknown;
36462
+ };
36463
+ content: {
36464
+ "application/json": {
36465
+ details?: {
36466
+ message: string;
36467
+ path?: string;
36468
+ }[];
36469
+ error: string;
36470
+ };
36471
+ };
36472
+ };
36473
+ };
36474
+ };
36475
+ put?: never;
36476
+ post?: never;
36477
+ delete?: never;
36478
+ options?: never;
36479
+ head?: never;
36480
+ patch?: never;
36481
+ trace?: never;
36482
+ };
36483
+ "/v1/tools": {
36484
+ parameters: {
36485
+ query?: never;
36486
+ header?: never;
36487
+ path?: never;
36488
+ cookie?: never;
36489
+ };
36490
+ /**
36491
+ * List tools
36492
+ * @description Get all tools for the authenticated user with filtering and cursor pagination.
36493
+ */
36494
+ get: {
36495
+ parameters: {
36496
+ query?: {
36497
+ limit?: string;
36498
+ cursor?: string;
36499
+ direction?: string;
36500
+ includeCount?: string;
36501
+ distinct?: string;
36502
+ tool_type?: string;
36503
+ search?: string;
36504
+ isActive?: string;
36505
+ ids?: string;
36506
+ include?: string;
36507
+ };
36508
+ header?: never;
36509
+ path?: never;
36510
+ cookie?: never;
36511
+ };
36512
+ requestBody?: never;
36513
+ responses: {
36514
+ /** @description Paginated list of tools */
36515
+ 200: {
36516
+ headers: {
36517
+ [name: string]: unknown;
36518
+ };
36519
+ content: {
36520
+ "application/json": {
36521
+ data: {
36522
+ createdAt: string;
36523
+ description: string | null;
36524
+ id: string;
36525
+ isActive: boolean;
36526
+ name: string;
36527
+ parametersSchema?: {
36528
+ [key: string]: unknown;
36529
+ };
36530
+ toolType: string;
36531
+ updatedAt: string;
36532
+ }[];
36533
+ pagination: {
36534
+ currentOffset: number;
36535
+ currentPage?: number;
36536
+ hasMore: boolean;
36537
+ hasPrev: boolean;
36538
+ limit: number;
36539
+ nextCursor: string | null;
36540
+ prevCursor: string | null;
36541
+ totalCount?: number;
36542
+ totalPages?: number;
36543
+ };
36544
+ };
36545
+ };
36546
+ };
36547
+ /** @description Invalid parameters */
36548
+ 400: {
36549
+ headers: {
36550
+ [name: string]: unknown;
36551
+ };
36552
+ content: {
36553
+ "application/json": {
36554
+ details?: {
36555
+ message: string;
36556
+ path?: string;
36557
+ }[];
36558
+ error: string;
35458
36559
  };
35459
36560
  };
35460
36561
  };
@@ -36693,17 +37794,6 @@ interface paths {
36693
37794
  toolType: string;
36694
37795
  updatedAt: string;
36695
37796
  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
37797
  };
36708
37798
  };
36709
37799
  };
@@ -37614,6 +38704,10 @@ interface paths {
37614
38704
  createdAt: string;
37615
38705
  dashboardUrl: string;
37616
38706
  email: string | null;
38707
+ features: {
38708
+ enableAgentSkills: boolean;
38709
+ productGeneratorModel: string;
38710
+ };
37617
38711
  id: string;
37618
38712
  orgId?: string | null;
37619
38713
  preferences: {
@@ -38053,98 +39147,103 @@ interface paths {
38053
39147
  interface components {
38054
39148
  schemas: {
38055
39149
  A2AArtifact: {
38056
- append?: boolean;
38057
39150
  artifactId: string;
38058
- index?: number;
38059
- lastChunk?: boolean;
39151
+ description?: string;
38060
39152
  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
- }[];
39153
+ parts: components["schemas"]["A2APart"][];
39154
+ };
39155
+ A2AJsonRpcError: {
39156
+ code: number;
39157
+ data?: unknown[];
39158
+ message: string;
38071
39159
  };
38072
39160
  A2AJsonRpcResponse: {
38073
39161
  id?: string | number;
38074
39162
  /** @enum {string} */
38075
39163
  jsonrpc: "2.0";
38076
- result: components["schemas"]["A2ATask"];
38077
- } | {
38078
- error: {
38079
- code: number;
38080
- data?: unknown;
38081
- message: string;
39164
+ result: {
39165
+ task: components["schemas"]["A2ATask"];
39166
+ } | components["schemas"]["A2ATask"] | {
39167
+ nextPageToken: string;
39168
+ pageSize: number;
39169
+ tasks: components["schemas"]["A2ATask"][];
39170
+ totalSize: number;
38082
39171
  };
39172
+ } | {
39173
+ error: components["schemas"]["A2AJsonRpcError"];
38083
39174
  id?: string | number;
38084
39175
  /** @enum {string} */
38085
39176
  jsonrpc: "2.0";
38086
39177
  };
39178
+ A2AMessage: {
39179
+ contextId?: string;
39180
+ messageId?: string;
39181
+ parts: components["schemas"]["A2APart"][];
39182
+ /** @enum {string} */
39183
+ role: "ROLE_USER" | "ROLE_AGENT";
39184
+ taskId?: string;
39185
+ };
39186
+ A2APart: {
39187
+ data?: unknown;
39188
+ filename?: string;
39189
+ mediaType?: string;
39190
+ raw?: string;
39191
+ text?: string;
39192
+ url?: string;
39193
+ };
38087
39194
  A2AStreamEvent: {
38088
- contextId: string;
38089
- final: boolean;
39195
+ id?: string | number;
38090
39196
  /** @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;
39197
+ jsonrpc: "2.0";
39198
+ result: {
39199
+ statusUpdate: {
39200
+ contextId: string;
39201
+ metadata?: {
39202
+ [key: string]: unknown;
39203
+ };
39204
+ status: {
39205
+ message?: components["schemas"]["A2AMessage"];
39206
+ /** @enum {string} */
39207
+ 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";
39208
+ timestamp?: string;
39209
+ };
39210
+ taskId: string;
38103
39211
  };
38104
- /** @enum {string} */
38105
- state: "submitted" | "working" | "completed" | "failed" | "canceled";
38106
- timestamp?: string;
38107
39212
  };
38108
- taskId: string;
38109
39213
  } | {
38110
- artifact: components["schemas"]["A2AArtifact"];
39214
+ id?: string | number;
38111
39215
  /** @enum {string} */
38112
- kind: "artifact-update";
38113
- taskId: string;
38114
- } | {
38115
- error: {
38116
- code: number;
38117
- data?: unknown;
38118
- message: string;
39216
+ jsonrpc: "2.0";
39217
+ result: {
39218
+ artifactUpdate: {
39219
+ append?: boolean;
39220
+ artifact: components["schemas"]["A2AArtifact"];
39221
+ contextId: string;
39222
+ lastChunk?: boolean;
39223
+ metadata?: {
39224
+ [key: string]: unknown;
39225
+ };
39226
+ taskId: string;
39227
+ };
38119
39228
  };
38120
- taskId: string;
39229
+ } | {
39230
+ error: components["schemas"]["A2AJsonRpcError"];
39231
+ id?: string | number;
39232
+ /** @enum {string} */
39233
+ jsonrpc: "2.0";
38121
39234
  };
38122
39235
  A2ATask: {
38123
39236
  artifacts?: components["schemas"]["A2AArtifact"][];
38124
39237
  contextId: string;
38125
- error?: unknown;
38126
- history?: {
38127
- message: string | null;
38128
- status: string;
38129
- timestamp: string;
38130
- }[];
39238
+ history?: components["schemas"]["A2AMessage"][];
38131
39239
  id: string;
38132
- /** @enum {string} */
38133
- kind: "task";
38134
- metadata?: {
39240
+ metadata: {
38135
39241
  [key: string]: unknown;
38136
39242
  };
38137
39243
  status: {
38138
- message?: {
38139
- messageId: string;
38140
- parts: {
38141
- kind: string;
38142
- text: string;
38143
- }[];
38144
- role: string;
38145
- };
39244
+ message?: components["schemas"]["A2AMessage"];
38146
39245
  /** @enum {string} */
38147
- state: "submitted" | "working" | "completed" | "failed" | "canceled";
39246
+ 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
39247
  timestamp?: string;
38149
39248
  };
38150
39249
  };
@@ -38387,6 +39486,26 @@ interface components {
38387
39486
  seq: number;
38388
39487
  /** @enum {string} */
38389
39488
  type: "agent_reflection";
39489
+ } | {
39490
+ activatedCapabilities: string[];
39491
+ executionId: string;
39492
+ iteration: number;
39493
+ seq: number;
39494
+ skill: string;
39495
+ toolCallId: string;
39496
+ /** @enum {string} */
39497
+ type: "agent_skill_loaded";
39498
+ } | {
39499
+ executionId: string;
39500
+ iteration: number;
39501
+ /** @enum {string} */
39502
+ outcome: "pending_approval" | "auto_published";
39503
+ proposalId?: string;
39504
+ seq: number;
39505
+ skill: string;
39506
+ toolCallId: string;
39507
+ /** @enum {string} */
39508
+ type: "agent_skill_proposed";
38390
39509
  } | {
38391
39510
  agentId: string;
38392
39511
  completedAt: string;
@@ -38710,6 +39829,26 @@ interface components {
38710
39829
  seq: number;
38711
39830
  /** @enum {string} */
38712
39831
  type: "agent_reflection";
39832
+ } | {
39833
+ activatedCapabilities: string[];
39834
+ executionId: string;
39835
+ iteration: number;
39836
+ seq: number;
39837
+ skill: string;
39838
+ toolCallId: string;
39839
+ /** @enum {string} */
39840
+ type: "agent_skill_loaded";
39841
+ } | {
39842
+ executionId: string;
39843
+ iteration: number;
39844
+ /** @enum {string} */
39845
+ outcome: "pending_approval" | "auto_published";
39846
+ proposalId?: string;
39847
+ seq: number;
39848
+ skill: string;
39849
+ toolCallId: string;
39850
+ /** @enum {string} */
39851
+ type: "agent_skill_proposed";
38713
39852
  } | {
38714
39853
  agentId: string;
38715
39854
  completedAt: string;
@@ -40550,73 +41689,18 @@ interface ApiResponse<T> {
40550
41689
  error?: string;
40551
41690
  message?: string;
40552
41691
  }
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
- }
41692
+ type FlowStep = paths['/v1/flows/{id}']['get']['responses'][200]['content']['application/json']['flowSteps'][number];
41693
+ type Flow = paths['/v1/flows/{id}']['get']['responses'][200]['content']['application/json'];
41694
+ type FlowListItem = paths['/v1/flows']['get']['responses'][200]['content']['application/json']['data'][number];
41695
+ type UpdatedFlow = paths['/v1/flows/{id}']['put']['responses'][200]['content']['application/json'];
40581
41696
  type Prompt$1 = paths['/v1/prompts/{id}']['get']['responses'][200]['content']['application/json'];
40582
41697
  interface FlowAttachment {
40583
41698
  flowId: string;
40584
41699
  flowName: string;
40585
41700
  order: number;
40586
41701
  }
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
- }
41702
+ type RuntypeRecord = paths['/v1/records/{id}']['get']['responses'][200]['content']['application/json'];
41703
+ type RecordListItem = paths['/v1/records']['get']['responses'][200]['content']['application/json']['data'][number];
40620
41704
  interface ApiKey {
40621
41705
  id: string;
40622
41706
  name: string;
@@ -40711,18 +41795,7 @@ interface BulkEditResponse {
40711
41795
  data: BulkEditResult[];
40712
41796
  recordIds?: number[];
40713
41797
  }
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
- }
41798
+ type ProviderApiKey = paths['/v1/provider-keys']['get']['responses'][200]['content']['application/json']['providerKeys'][number];
40726
41799
  interface CreateProviderKeyRequest {
40727
41800
  provider: 'openai' | 'anthropic' | 'huggingface' | 'google' | 'xai' | 'mixlayer' | 'togetherai';
40728
41801
  name: string;
@@ -40886,19 +41959,8 @@ interface RecordListParams extends ListParams {
40886
41959
  sortOrder?: 'asc' | 'desc';
40887
41960
  includeFields?: boolean;
40888
41961
  }
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
- }
41962
+ type Tool = paths['/v1/tools/{id}']['get']['responses'][200]['content']['application/json'];
41963
+ type ToolWithValidation = paths['/v1/tools/{id}']['put']['responses'][200]['content']['application/json'];
40902
41964
  type ToolConfig = FlowToolConfig | CustomToolConfig | ExternalToolConfig | LocalToolConfig | SubagentToolConfig;
40903
41965
  interface FlowToolConfig {
40904
41966
  flowId?: string;
@@ -40932,29 +41994,7 @@ interface SubagentToolConfig {
40932
41994
  inheritMessages?: boolean;
40933
41995
  taskTemplate?: string;
40934
41996
  }
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
- }
41997
+ type BuiltInTool = paths['/v1/tools/builtin']['get']['responses'][200]['content']['application/json']['data'][number];
40958
41998
  interface CreateToolRequest {
40959
41999
  name: string;
40960
42000
  description: string;
@@ -41239,35 +42279,16 @@ interface ScheduleRunNowResponse {
41239
42279
  error?: string | null;
41240
42280
  [key: string]: unknown;
41241
42281
  }
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
- }
42282
+ /**
42283
+ * A single run in a schedule's run history.
42284
+ * Generated from the OpenAPI spec — GET /v1/schedules/{id}/runs list item.
42285
+ */
42286
+ type ScheduleRun = paths['/v1/schedules/{id}/runs']['get']['responses'][200]['content']['application/json']['data'][number];
41255
42287
  interface ScheduleListParams extends ListParams {
41256
42288
  search?: string;
41257
42289
  status?: 'active' | 'paused';
41258
42290
  }
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
- }
42291
+ type Surface = paths['/v1/surfaces']['get']['responses'][200]['content']['application/json']['data'][number];
41271
42292
  interface SurfaceListParams extends ListParams {
41272
42293
  type?: string;
41273
42294
  status?: string;
@@ -42336,6 +43357,298 @@ declare class PromptsNamespace {
42336
43357
  delete(promptId: string): Promise<void>;
42337
43358
  }
42338
43359
 
43360
+ /**
43361
+ * SkillsNamespace — admin/control-plane operations for Agent Skills.
43362
+ *
43363
+ * Skills are loadable context bundles (SKILL.md + capability bindings) for
43364
+ * deployed Runtype agents. This namespace wraps the admin REST surface
43365
+ * (`/v1/skills`, `/v1/skill-proposals`) — governed by API scopes only, no
43366
+ * review queue. The deployed-agent data plane (the `propose_skill` runtime
43367
+ * tool) is intentionally NOT exposed here; authoring a skill via the SDK is
43368
+ * authoring, and lands published when you ask it to.
43369
+ *
43370
+ * The whole surface is gated behind the `enable-agent-skills` flag server-side
43371
+ * — when the flag is off these calls fail with a 404 (the admin gate), so the
43372
+ * SDK fails closed without any client-side flag handling.
43373
+ *
43374
+ * Types here mirror the canonical definitions in `@runtypelabs/shared`
43375
+ * (`skill-manifest-types.ts`) and the `skills` / `skill_versions` /
43376
+ * `agent_skill_bindings` / `skill_proposals` tables. Per SDK convention they
43377
+ * are defined inline rather than imported, to keep the package dependency-free.
43378
+ */
43379
+
43380
+ /** Lifecycle status of a skill. */
43381
+ type SkillStatus = 'draft' | 'active' | 'archived';
43382
+ /** Trust level recorded on a skill (governs UI warnings). */
43383
+ type SkillTrustLevel = 'org' | 'imported' | 'community';
43384
+ /** Origin audit value recorded on a skill. */
43385
+ type SkillOrigin = 'human' | 'agent_proposed' | 'imported';
43386
+ /** Status of an individual immutable version snapshot. */
43387
+ type SkillVersionStatus = 'draft' | 'proposed' | 'published';
43388
+ /** Review status of an agent-authored proposal. */
43389
+ type SkillProposalStatus = 'pending' | 'approved' | 'rejected' | 'auto_published';
43390
+ /** Anthropic SKILL.md frontmatter — the canonical interop shape. */
43391
+ interface SkillFrontmatter {
43392
+ /** Slug identifier, ≤64 chars. Globally unique per owner. */
43393
+ name: string;
43394
+ /** One-paragraph description, ≤1024 chars. Loaded into the agent system prompt. */
43395
+ description: string;
43396
+ version?: string;
43397
+ license?: string;
43398
+ tags?: string[];
43399
+ }
43400
+ /** Capability bindings carried under the `runtype:` frontmatter key. */
43401
+ interface SkillCapabilities {
43402
+ /** Saved flow IDs the agent may invoke after this skill loads. */
43403
+ flowIds?: string[];
43404
+ /** Saved agent IDs available as subagents after this skill loads. */
43405
+ agentIds?: string[];
43406
+ /** Saved custom-tool IDs. */
43407
+ toolIds?: string[];
43408
+ /**
43409
+ * MCP server references. NOTE: rejected on the v1 write path
43410
+ * (`create`/`update`/`import`) but preserved losslessly on import.
43411
+ */
43412
+ mcpServers?: Array<Record<string, unknown>>;
43413
+ /** Inline runtime-tool definitions (no DB save). */
43414
+ inlineTools?: Array<Record<string, unknown>>;
43415
+ }
43416
+ /** Runtype extension block within SKILL.md frontmatter. */
43417
+ interface SkillRuntypeExtensions {
43418
+ capabilities?: SkillCapabilities;
43419
+ trustLevel?: SkillTrustLevel;
43420
+ unknownExtensions?: Record<string, unknown>;
43421
+ }
43422
+ /** The full skill manifest — frontmatter + extensions + markdown body. */
43423
+ interface SkillManifest {
43424
+ frontmatter: SkillFrontmatter;
43425
+ runtype: SkillRuntypeExtensions;
43426
+ /** Markdown body — the L2 context loaded when the agent invokes the skill. */
43427
+ body: string;
43428
+ }
43429
+ /** A skill row. */
43430
+ interface Skill {
43431
+ id: string;
43432
+ userId: string;
43433
+ organizationId: string | null;
43434
+ name: string;
43435
+ description: string | null;
43436
+ icon: string | null;
43437
+ status: SkillStatus;
43438
+ trustLevel: SkillTrustLevel;
43439
+ origin: SkillOrigin;
43440
+ proposingAgentExecutionId: string | null;
43441
+ publishedVersionId: string | null;
43442
+ draftVersionId: string | null;
43443
+ createdAt: string;
43444
+ updatedAt: string;
43445
+ }
43446
+ /** An immutable manifest snapshot. */
43447
+ interface SkillVersion {
43448
+ id: string;
43449
+ skillId: string;
43450
+ userId: string;
43451
+ versionNumber: number;
43452
+ versionType: SkillVersionStatus;
43453
+ manifest: SkillManifest;
43454
+ label: string | null;
43455
+ notes: string | null;
43456
+ createdAt: string;
43457
+ }
43458
+ /** An agent ↔ skill binding row. */
43459
+ interface AgentSkillBinding {
43460
+ id: string;
43461
+ agentId: string;
43462
+ skillId: string;
43463
+ /** null means "always use the skill's currently published version". */
43464
+ skillVersionId: string | null;
43465
+ enabled: boolean;
43466
+ displayOrder: number;
43467
+ createdAt: string;
43468
+ }
43469
+ /** A skill proposal (agent-authored, in the review queue). */
43470
+ interface SkillProposal {
43471
+ id: string;
43472
+ skillVersionId: string;
43473
+ proposingAgentExecutionId: string | null;
43474
+ proposingUserId: string;
43475
+ organizationId: string | null;
43476
+ status: SkillProposalStatus;
43477
+ reviewedBy: string | null;
43478
+ reviewedAt: string | null;
43479
+ rejectionReason: string | null;
43480
+ createdAt: string;
43481
+ }
43482
+ /**
43483
+ * Create/update a skill from a raw SKILL.md document. The frontmatter +
43484
+ * markdown body are parsed server-side.
43485
+ */
43486
+ interface SkillMarkdownInput {
43487
+ markdown: string;
43488
+ /** Publish the resulting version immediately instead of leaving it a draft. */
43489
+ publish?: boolean;
43490
+ }
43491
+ /**
43492
+ * Create/update a skill from a structured manifest. `frontmatter` carries the
43493
+ * SKILL.md frontmatter (including an optional `runtype:` capability block);
43494
+ * `body` is the markdown.
43495
+ */
43496
+ interface SkillManifestInput {
43497
+ frontmatter: Record<string, unknown>;
43498
+ body?: string;
43499
+ /** Publish the resulting version immediately instead of leaving it a draft. */
43500
+ publish?: boolean;
43501
+ }
43502
+ /** A skill create/update payload — either a SKILL.md string or a manifest. */
43503
+ type SkillWriteInput = SkillMarkdownInput | SkillManifestInput;
43504
+ /** Options for binding a skill to an agent. */
43505
+ interface BindSkillInput {
43506
+ agentId: string;
43507
+ skillId: string;
43508
+ /** Pin to a specific version. Omit/null to track the published version. */
43509
+ skillVersionId?: string | null;
43510
+ enabled?: boolean;
43511
+ displayOrder?: number;
43512
+ }
43513
+ /** The `{ skill, version }` payload returned by create/import. */
43514
+ interface SkillWithVersion {
43515
+ skill: Skill;
43516
+ version: SkillVersion;
43517
+ }
43518
+ /**
43519
+ * The admin review queue for agent-authored skill proposals. This is the human
43520
+ * review surface for the deployed-agent data plane — listing, approving, and
43521
+ * rejecting proposals an agent created via `propose_skill`.
43522
+ */
43523
+ declare class SkillProposalsNamespace {
43524
+ private getClient;
43525
+ constructor(getClient: () => RuntypeClient$1);
43526
+ /**
43527
+ * List pending skill proposals for the authenticated owner.
43528
+ *
43529
+ * @example
43530
+ * ```typescript
43531
+ * const pending = await Runtype.skills.proposals.list()
43532
+ * ```
43533
+ */
43534
+ list(): Promise<SkillProposal[]>;
43535
+ /**
43536
+ * Approve a pending proposal — publishes the proposed skill version.
43537
+ *
43538
+ * @example
43539
+ * ```typescript
43540
+ * const proposal = await Runtype.skills.proposals.approve('skprop_123')
43541
+ * ```
43542
+ */
43543
+ approve(proposalId: string): Promise<SkillProposal>;
43544
+ /**
43545
+ * Reject a pending proposal with an optional reason.
43546
+ *
43547
+ * @example
43548
+ * ```typescript
43549
+ * await Runtype.skills.proposals.reject('skprop_123', 'Capabilities too broad')
43550
+ * ```
43551
+ */
43552
+ reject(proposalId: string, reason?: string): Promise<SkillProposal>;
43553
+ }
43554
+ /**
43555
+ * Admin/control-plane operations for Agent Skills.
43556
+ *
43557
+ * @example
43558
+ * ```typescript
43559
+ * // Create a published skill from a SKILL.md document
43560
+ * const { skill } = await Runtype.skills.create({ markdown: skillMd, publish: true })
43561
+ *
43562
+ * // Bind it to an agent
43563
+ * await Runtype.skills.bind({ agentId: 'agent_123', skillId: skill.id })
43564
+ * ```
43565
+ */
43566
+ declare class SkillsNamespace {
43567
+ private getClient;
43568
+ /** The agent-proposal review queue (`/v1/skill-proposals`). */
43569
+ readonly proposals: SkillProposalsNamespace;
43570
+ constructor(getClient: () => RuntypeClient$1);
43571
+ /**
43572
+ * Create a skill from a SKILL.md string (`markdown`) or a structured manifest
43573
+ * (`frontmatter` + `body`). Pass `publish: true` to publish the first version
43574
+ * immediately; otherwise it lands as a draft.
43575
+ */
43576
+ create(input: SkillWriteInput): Promise<SkillWithVersion>;
43577
+ /**
43578
+ * List skills for the authenticated owner, optionally filtered by status.
43579
+ *
43580
+ * @example
43581
+ * ```typescript
43582
+ * const active = await Runtype.skills.list({ status: 'active' })
43583
+ * ```
43584
+ */
43585
+ list(params?: {
43586
+ status?: SkillStatus;
43587
+ }): Promise<Skill[]>;
43588
+ /**
43589
+ * Get a skill and its full version history.
43590
+ *
43591
+ * @example
43592
+ * ```typescript
43593
+ * const { skill, versions } = await Runtype.skills.get('skill_123')
43594
+ * ```
43595
+ */
43596
+ get(skillId: string): Promise<{
43597
+ skill: Skill;
43598
+ versions: SkillVersion[];
43599
+ }>;
43600
+ /**
43601
+ * Append a new version to an existing skill from an updated manifest. Pass
43602
+ * `publish: true` to publish the new version immediately.
43603
+ */
43604
+ update(skillId: string, input: SkillWriteInput): Promise<SkillVersion>;
43605
+ /**
43606
+ * Delete a skill (and its versions + bindings, via cascade).
43607
+ */
43608
+ delete(skillId: string): Promise<void>;
43609
+ /**
43610
+ * List a skill's versions, newest first.
43611
+ */
43612
+ listVersions(skillId: string): Promise<SkillVersion[]>;
43613
+ /**
43614
+ * Publish a specific version of a skill.
43615
+ *
43616
+ * @example
43617
+ * ```typescript
43618
+ * await Runtype.skills.publishVersion('skill_123', 'skillver_456')
43619
+ * ```
43620
+ */
43621
+ publishVersion(skillId: string, versionId: string): Promise<void>;
43622
+ /**
43623
+ * Import a single SKILL.md document. The imported skill lands with
43624
+ * `trustLevel: 'imported'` and a draft version.
43625
+ *
43626
+ * @example
43627
+ * ```typescript
43628
+ * const { skill } = await Runtype.skills.import(skillMarkdown)
43629
+ * ```
43630
+ */
43631
+ import(markdown: string): Promise<SkillWithVersion>;
43632
+ /**
43633
+ * Bind a skill to an agent. Both the agent and the skill must be owned by the
43634
+ * caller.
43635
+ */
43636
+ bind(input: BindSkillInput): Promise<AgentSkillBinding>;
43637
+ /**
43638
+ * Remove a skill binding by its binding id.
43639
+ */
43640
+ unbind(bindingId: string): Promise<void>;
43641
+ /**
43642
+ * List an agent's skill bindings.
43643
+ *
43644
+ * @example
43645
+ * ```typescript
43646
+ * const bindings = await Runtype.skills.listBindings('agent_123')
43647
+ * ```
43648
+ */
43649
+ listBindings(agentId: string): Promise<AgentSkillBinding[]>;
43650
+ }
43651
+
42339
43652
  /**
42340
43653
  * Runtype - The unified SDK client for building and executing flows, batches, evals, and prompts
42341
43654
  *
@@ -42411,7 +43724,15 @@ declare class RuntypeClient$1 {
42411
43724
  /**
42412
43725
  * Generic POST request
42413
43726
  */
42414
- post<T>(path: string, data?: any): Promise<T>;
43727
+ post<T>(path: string, data?: unknown): Promise<T>;
43728
+ /**
43729
+ * Generic PUT request
43730
+ */
43731
+ put<T>(path: string, data?: unknown): Promise<T>;
43732
+ /**
43733
+ * Generic DELETE request
43734
+ */
43735
+ delete<T>(path: string): Promise<T>;
42415
43736
  /**
42416
43737
  * Generic request that returns raw Response for streaming
42417
43738
  */
@@ -42419,7 +43740,7 @@ declare class RuntypeClient$1 {
42419
43740
  /**
42420
43741
  * Dispatch flow execution (streaming)
42421
43742
  */
42422
- dispatch(config: any): Promise<Response>;
43743
+ dispatch(config: unknown): Promise<Response>;
42423
43744
  /**
42424
43745
  * Build full URL with query parameters
42425
43746
  */
@@ -42562,6 +43883,23 @@ declare class Runtype {
42562
43883
  * ```
42563
43884
  */
42564
43885
  static get prompts(): PromptsNamespace;
43886
+ /**
43887
+ * Skills namespace - Manage Agent Skills (admin/control plane)
43888
+ *
43889
+ * @example
43890
+ * ```typescript
43891
+ * // Create a published skill from a SKILL.md document
43892
+ * const { skill } = await Runtype.skills.create({ markdown: skillMd, publish: true })
43893
+ *
43894
+ * // Bind it to an agent
43895
+ * await Runtype.skills.bind({ agentId: 'agent_123', skillId: skill.id })
43896
+ *
43897
+ * // Review agent-authored proposals
43898
+ * const pending = await Runtype.skills.proposals.list()
43899
+ * await Runtype.skills.proposals.approve(pending[0].id)
43900
+ * ```
43901
+ */
43902
+ static get skills(): SkillsNamespace;
42565
43903
  }
42566
43904
 
42567
43905
  /**
@@ -42924,7 +44262,7 @@ declare class FlowsEndpoint {
42924
44262
  /**
42925
44263
  * List all flows for the authenticated user
42926
44264
  */
42927
- list(params?: ListParams): Promise<PaginationResponse<Flow>>;
44265
+ list(params?: ListParams): Promise<PaginationResponse<FlowListItem>>;
42928
44266
  /**
42929
44267
  * Get a specific flow by ID
42930
44268
  */
@@ -42936,7 +44274,7 @@ declare class FlowsEndpoint {
42936
44274
  /**
42937
44275
  * Update an existing flow
42938
44276
  */
42939
- update(id: string, data: Partial<CreateFlowRequest>): Promise<Flow>;
44277
+ update(id: string, data: Partial<CreateFlowRequest>): Promise<UpdatedFlow>;
42940
44278
  /**
42941
44279
  * Delete a flow
42942
44280
  */
@@ -43013,7 +44351,7 @@ declare class RecordsEndpoint {
43013
44351
  /**
43014
44352
  * List all records for the authenticated user
43015
44353
  */
43016
- list(params?: RecordListParams): Promise<PaginationResponse<RuntypeRecord>>;
44354
+ list(params?: RecordListParams): Promise<PaginationResponse<RecordListItem>>;
43017
44355
  /**
43018
44356
  * Get a specific record by ID
43019
44357
  */
@@ -43079,7 +44417,7 @@ declare class RecordsEndpoint {
43079
44417
  getExample(params: {
43080
44418
  type?: string;
43081
44419
  name?: string;
43082
- }): Promise<PaginationResponse<RuntypeRecord>>;
44420
+ }): Promise<PaginationResponse<RecordListItem>>;
43083
44421
  }
43084
44422
  /**
43085
44423
  * API Keys endpoint handlers
@@ -43415,11 +44753,11 @@ declare class ToolsEndpoint {
43415
44753
  /**
43416
44754
  * Create a new tool
43417
44755
  */
43418
- create(data: CreateToolRequest): Promise<Tool>;
44756
+ create(data: CreateToolRequest): Promise<ToolWithValidation>;
43419
44757
  /**
43420
44758
  * Update an existing tool
43421
44759
  */
43422
- update(id: string, data: UpdateToolRequest): Promise<Tool>;
44760
+ update(id: string, data: UpdateToolRequest): Promise<ToolWithValidation>;
43423
44761
  /**
43424
44762
  * Delete a tool
43425
44763
  */
@@ -43436,10 +44774,6 @@ declare class ToolsEndpoint {
43436
44774
  * Test a tool (same as execute but for testing purposes)
43437
44775
  */
43438
44776
  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
44777
  /**
43444
44778
  * Get AI SDK compatible tool schemas
43445
44779
  */
@@ -45665,4 +46999,4 @@ declare function getLikelySupportingCandidatePaths(bestCandidatePath: string | u
45665
46999
  declare function getDefaultPlanPath(taskName: string): string;
45666
47000
  declare function sanitizeTaskSlug(taskName: string): string;
45667
47001
 
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 };
47002
+ 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 };