@deepraxis/sdk 0.1.0-dev.13103a0 → 0.1.0-dev.2a7b87f

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.
@@ -45,7 +45,7 @@ export declare const operations: readonly [{
45
45
  readonly resource: "agent.agents";
46
46
  readonly method: "create";
47
47
  readonly summary: "Create agent";
48
- readonly description: "Create a reusable agent definition, then pass its returned id to sessions.create to start a conversation. The definition includes model, system prompt, tools, MCP servers and an optional multiagent roster. It is saved as version 1; real updates create new versions. Unlike Anthropic Managed Agents, nonempty skills attachments return 400; the native skill tool is separate from the skills field. Use tools: [{type: \"agent_toolset_20260401\"}] for built-in tools including codemode, skill and agent; inspect toolsets.list for names and schemas, and keep bash enabled for native additions. To offer only some tools, set default_config: {enabled: false} and list the tools to keep in configs, e.g. tools: [{type: \"agent_toolset_20260401\", default_config: {enabled: false}, configs: [{name: \"codemode\", enabled: true}, {name: \"bash\", enabled: true, permission_policy: {type: \"always_ask\"}}]}]; every tool not listed, including todo_write, enter_plan_mode, ask_user_question and goal_read, follows default_config, and the response echoes it. codemode runs through bash, so enabling codemode while bash is disabled returns 400. Optional mcp_toolset entries pair with mcp_servers. model accepts platform model IDs such as deepseek-flash, not only the Claude IDs in the protocol examples. model.settings.reasoning sets default thinking; other extra model controls return 400. Example: {\"name\":\"helper\",\"model\":{\"id\":\"deepseek-flash\"},\"tools\":[{\"type\":\"agent_toolset_20260401\"}]}.";
48
+ readonly description: "Create a reusable agent definition, then pass its returned id to sessions.create to start a conversation. The definition includes model, system prompt, tools, MCP servers and an optional multiagent roster. It is saved as version 1; real updates create new versions. skills attaches uploaded custom skills as [{type: \"custom\", skill_id, version?}] (skill_id from skills.create or skills.list; at most 20, no repeated skill_id). Omit version, or send \"latest\", to use the skill's newest version when a session starts. type anthropic returns 400. Use tools: [{type: \"agent_toolset_20260401\"}] for built-in tools including codemode, skill and agent; inspect toolsets.list for names and schemas, and keep bash enabled for native additions. To offer only some tools, set default_config: {enabled: false} and list the tools to keep in configs, e.g. tools: [{type: \"agent_toolset_20260401\", default_config: {enabled: false}, configs: [{name: \"codemode\", enabled: true}, {name: \"bash\", enabled: true, permission_policy: {type: \"always_ask\"}}]}]; every tool not listed, including todo_write, enter_plan_mode, ask_user_question and goal_read, follows default_config, and the response echoes it. codemode runs through bash, so enabling codemode while bash is disabled returns 400. Optional mcp_toolset entries pair with mcp_servers. model accepts platform model IDs such as deepseek-flash, not only the Claude IDs in the protocol examples. model.settings.reasoning sets default thinking; other extra model controls return 400. model and every models.allowed entry must be a catalog model that can run an agent: an unknown id returns 400 \"model <id> is not in the model catalog\" and an embedding, image or speech model returns 400 \"model <id> cannot run an agent\". name is a label, not a unique key: 1 to 256 characters after trimming, no NUL or line breaks. avatar is trimmed, must not contain spaces or point at a loopback, private or internal host, and its scheme is stored in lowercase. script and workflow binding ids are stored in lowercase, the form automation matches; bindings together with environment_id null return 400 because bindings need a machine. Example: {\"name\":\"helper\",\"model\":{\"id\":\"deepseek-flash\"},\"tools\":[{\"type\":\"agent_toolset_20260401\"}]}.";
49
49
  readonly http: "POST";
50
50
  readonly path: "/agent/v1/agents";
51
51
  readonly streaming: "no";
@@ -58,12 +58,12 @@ export declare const operations: readonly [{
58
58
  readonly name: "model";
59
59
  readonly type: "object";
60
60
  readonly required: true;
61
- readonly description: "Model identifier. Accepts the\n[model string](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison),\ne.g. `claude-opus-5`, or a `model_config` object for additional configuration\ncontrol";
61
+ readonly description: "A model id from the Praxis model catalog (`praxis.model.models.list`), or a `model_config` object for additional configuration control. Unlike Anthropic, Claude model ids other than those in the catalog are rejected.";
62
62
  }, {
63
63
  readonly name: "name";
64
64
  readonly type: "string";
65
65
  readonly required: true;
66
- readonly description: "Human-readable name for the agent.";
66
+ readonly description: "Display name of the agent, 1 to 256 characters after trimming, with no NUL or line breaks. A label, not a unique key: two agents may share a name.";
67
67
  }, {
68
68
  readonly name: "description";
69
69
  readonly type: "string";
@@ -90,7 +90,7 @@ export declare const operations: readonly [{
90
90
  readonly type: "array";
91
91
  readonly itemType: "object";
92
92
  readonly required: false;
93
- readonly description: "Skill attachments are not supported: a nonempty array returns 400. Omit this field or send an empty array; the native skill tool is configured separately through tools.";
93
+ readonly description: "Custom skills attached to the agent, each {type: \"custom\", skill_id, version?}: skill_id comes from skills.create or skills.list, at most 20 skills, no repeated skill_id. Omit version, or send \"latest\", to use the skill's newest version at the moment a session starts; a pinned version stays fixed. type anthropic returns 400: upload the skill and attach it as custom. On update, omit the field to keep the list, send an array to replace it, or send [] or null to clear it.";
94
94
  }, {
95
95
  readonly name: "system";
96
96
  readonly type: "string";
@@ -102,6 +102,12 @@ export declare const operations: readonly [{
102
102
  readonly itemType: "object";
103
103
  readonly required: false;
104
104
  readonly description: "Tool configurations available to the agent. Maximum of 128 tools\nacross all toolsets allowed.";
105
+ }, {
106
+ readonly name: "bindings";
107
+ readonly type: "array";
108
+ readonly itemType: "object";
109
+ readonly required: false;
110
+ readonly description: "Platform resources and services this service agent's codemode may reach, as one list of typed bindings. Only kind=service accepts a nonempty list; personal agents return 400. There are two kinds. A resource binding names one resource with id and access: database (id db_..., read_only or read_write), vector_store (id vs_..., read_only or read_write), file (id file- plus 24 letters or digits, as the File API returns it; read_only), media_library (any id without ':' or whitespace, read_only or read_write), model (a model catalog id, invoke), workflow and script (id <namespace>/<name>, invoke). A service binding opens a whole service and carries only enabled: search or browser. At most 20 bindings per type, no repeated type and id, and each service type at most once. A session is authorized by the agent version it runs: newly added bindings apply only to new sessions, and a version saved with apply=false changes no access until it is applied. Applying a version that disables, removes or downgrades a binding revokes it immediately in running sessions on older versions. A resource that is not bound returns 404, a service that is not opened returns 403, and a write to a resource bound read_only returns 403 BINDING_READ_ONLY. Unknown types, fields on the wrong kind (id, access or instructions on a service binding), wrong access and malformed ids return 400. The former databases, vector_stores and files fields are removed and return 400. Omit on create for no bindings.";
105
111
  }, {
106
112
  readonly name: "kind";
107
113
  readonly type: "string";
@@ -140,6 +146,22 @@ export declare const operations: readonly [{
140
146
  readonly type: "object";
141
147
  readonly required: false;
142
148
  readonly description: "Praxis extension: switchable model ids on /agent/v1 only. The default model must be included. When omitted, only the default model is selectable.";
149
+ }, {
150
+ readonly name: "avatar";
151
+ readonly type: "string";
152
+ readonly required: false;
153
+ readonly description: "Avatar image of the agent: an absolute https URL of at most 2048 characters, without credentials; any other value returns 400 avatar must be an https URL. It is the default picture in agent lists, the agent detail, the chat header and embedded chat when the embed appearance sets none. Saved with the agent version like other configuration, so apply=false keeps the previous avatar in effect until that version is applied. Omit on create for no avatar; on update, omit to keep it and send null to clear it. Both personal and service agents accept it. /agent/v1 only; /anthropic neither accepts nor returns it.";
154
+ }, {
155
+ readonly name: "environment_id";
156
+ readonly type: "string";
157
+ readonly required: false;
158
+ readonly description: "Default environment of a service agent: the environment_id a new session gets when it names none. Use light, node22 or the env_ id of an active environment of your organization; any other value returns 400 environment_id <id> was not found. null means no environment, so sessions are plain conversation without codemode or bash. Saved with the agent version like other configuration, so apply=false keeps the previous environment in effect for new sessions until that version is applied; a session that sets environment_id itself, null included, overrides it. Omit on create for light; on update, omit to keep it. Versions saved before this field existed read as light. Personal agents use a Computer: a non-null value returns 400 and the field is not returned. /agent/v1 only; /anthropic neither accepts nor returns it.";
159
+ }, {
160
+ readonly name: "vault_ids";
161
+ readonly type: "array";
162
+ readonly itemType: "string";
163
+ readonly required: false;
164
+ readonly description: "Default vaults of a service agent: the vault_ids a new session gets when it names none, so the agent's credentials follow the version. At most 50 ids without duplicates; each must be a vault of your organization that is not archived, otherwise 400 vault_ids[<index>] <id> was not found. Saved with the agent version like other configuration, so apply=false keeps the previous vaults in effect for new sessions until that version is applied; a session that sets vault_ids itself, [] included, overrides it. Omit on create for []; on update, omit to keep the list and send an array to replace it as a whole. Versions saved before this field existed read as []. Embed tokens use the vault_ids of the version they pin; vault_ids on the embed policy is deprecated, still accepted and ignored. Personal agents get no default vaults: a non-empty value returns 400 and the field is not returned. /agent/v1 only; /anthropic neither accepts nor returns it.";
143
165
  }, {
144
166
  readonly name: "preset";
145
167
  readonly type: "string";
@@ -152,7 +174,7 @@ export declare const operations: readonly [{
152
174
  readonly resource: "agent.agents";
153
175
  readonly method: "retrieve";
154
176
  readonly summary: "Get agent";
155
- readonly description: "Read one agent by id, at its latest version or, with version, at a specific earlier version. The response lists every native tool with its resolved configuration in one agent_toolset_20260401 entry, so it can be sent back unchanged to agents.update. Use agents.versions.list to enumerate versions.";
177
+ readonly description: "Read one agent by id. The top level is the latest saved version, the editable head whose version you send back for optimistic concurrency; after a save with apply false it differs from active_version, and new sessions use active_version, which you read with version=active. With version, read a specific saved version. The response lists every native tool with its resolved configuration in one agent_toolset_20260401 entry, so it can be sent back unchanged to agents.update. Use agents.versions.list to enumerate versions.";
156
178
  readonly http: "GET";
157
179
  readonly path: "/agent/v1/agents/{agent_id}";
158
180
  readonly streaming: "no";
@@ -165,13 +187,13 @@ export declare const operations: readonly [{
165
187
  readonly name: "version";
166
188
  readonly type: "number";
167
189
  readonly required: false;
168
- readonly description: "Agent version to read; omit for the latest. Integer of at least 1; versions are listed by agents.versions.list.";
190
+ readonly description: "Agent version to read; omit for the latest saved version. An integer of at least 1 (versions are listed by agents.versions.list), or the string active for the version new sessions use.";
169
191
  }];
170
192
  }, {
171
193
  readonly resource: "agent.agents";
172
194
  readonly method: "update";
173
195
  readonly summary: "Update agent";
174
- readonly description: "Update an agent. Send the current version in the body for optimistic concurrency: a stale version returns 409, and an update that changes nothing keeps the version number. Any real change saves a new version; existing sessions keep the version they were created with. Omitted fields keep their value. multiagent takes null or a coordinator roster; subagent_model keeps its value when omitted and is cleared by null. Archived agents cannot be updated. Unlike Anthropic Managed Agents, nonempty skills attachments return 400; use the native skill tool for available runtime skills.";
196
+ readonly description: "Update an agent. Send the current version in the body for optimistic concurrency: a stale version returns 409, and an update that changes nothing keeps the version number. Any real change saves a new version. apply defaults to true and moves active_version to the new version, or to the latest when configuration is unchanged; apply false saves without applying. version_note optionally records up to 280 characters on a newly created version; null means no note, and a note sent when the request changes nothing else returns 400 because a note is stored only with a new version. Existing sessions and tokens keep their version. Omitted fields keep their value. multiagent takes null or a coordinator roster; subagent_model keeps its value when omitted and is cleared by null. Archived agents cannot be updated. tools: [] removes every tool, while tools: null returns 400 (tools cannot be null; send [] to remove every tool). On update, omit skills to keep them, send an array to replace them, or send [] or null to clear them. skills attaches uploaded custom skills as [{type: \"custom\", skill_id, version?}] (skill_id from skills.create or skills.list; at most 20, no repeated skill_id). Omit version, or send \"latest\", to use the skill's newest version when a session starts. type anthropic returns 400.";
175
197
  readonly http: "POST";
176
198
  readonly path: "/agent/v1/agents/{agent_id}";
177
199
  readonly streaming: "no";
@@ -203,7 +225,7 @@ export declare const operations: readonly [{
203
225
  readonly name: "model";
204
226
  readonly type: "object";
205
227
  readonly required: false;
206
- readonly description: "Model identifier. Accepts the\n[model string](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison),\ne.g. `claude-opus-5`, or a `model_config` object for additional configuration\ncontrol. Omit to preserve. Cannot be cleared.";
228
+ readonly description: "A model id from the Praxis model catalog (`praxis.model.models.list`), or a `model_config` object for additional configuration control. Unlike Anthropic, Claude model ids other than those in the catalog are rejected.";
207
229
  }, {
208
230
  readonly name: "multiagent";
209
231
  readonly type: "object";
@@ -213,13 +235,13 @@ export declare const operations: readonly [{
213
235
  readonly name: "name";
214
236
  readonly type: "string";
215
237
  readonly required: false;
216
- readonly description: "Human-readable name. Must be non-empty. Omit to preserve. Cannot be\ncleared.";
238
+ readonly description: "New display name, 1 to 256 characters after trimming, with no NUL or line breaks. A label, not a unique key; omit to keep the current name.";
217
239
  }, {
218
240
  readonly name: "skills";
219
241
  readonly type: "array";
220
242
  readonly itemType: "object";
221
243
  readonly required: false;
222
- readonly description: "Skill attachments are not supported: a nonempty array returns 400. Omit this field or send an empty array; the native skill tool is configured separately through tools.";
244
+ readonly description: "Custom skills attached to the agent, each {type: \"custom\", skill_id, version?}: skill_id comes from skills.create or skills.list, at most 20 skills, no repeated skill_id. Omit version, or send \"latest\", to use the skill's newest version at the moment a session starts; a pinned version stays fixed. type anthropic returns 400: upload the skill and attach it as custom. On update, omit the field to keep the list, send an array to replace it, or send [] or null to clear it.";
223
245
  }, {
224
246
  readonly name: "system";
225
247
  readonly type: "string";
@@ -236,6 +258,22 @@ export declare const operations: readonly [{
236
258
  readonly type: "number";
237
259
  readonly required: false;
238
260
  readonly description: "The agent's current version, used to prevent concurrent overwrites.\nObtain this value from a create or retrieve response. Must be at least 1 if\nspecified. When supplied, the request fails if it does not match the server's\ncurrent version; omit to apply the update unconditionally.";
261
+ }, {
262
+ readonly name: "apply";
263
+ readonly type: "boolean";
264
+ readonly required: false;
265
+ readonly description: "Defaults to true: apply the newly saved version, or the latest version when configuration is unchanged. Set false to save without changing active_version. Unlike Managed Agents, saving and applying can be separate.";
266
+ }, {
267
+ readonly name: "version_note";
268
+ readonly type: "string";
269
+ readonly required: false;
270
+ readonly description: "Optional change explanation stored as note on the new immutable version, up to 280 characters. Omission or null stores no note. A note sent when nothing else changes returns 400 (nothing to save), because a note is stored only with a new version.";
271
+ }, {
272
+ readonly name: "bindings";
273
+ readonly type: "array";
274
+ readonly itemType: "object";
275
+ readonly required: false;
276
+ readonly description: "Replace the whole bindings list; omission preserves it, and null or [] clears it. Additions apply only to new sessions; once this version is applied, disabling, removing or downgrading a binding revokes it immediately in running sessions on older versions, while apply=false changes no access. Only service agents accept a nonempty list.";
239
277
  }, {
240
278
  readonly name: "kind";
241
279
  readonly type: "string";
@@ -274,6 +312,22 @@ export declare const operations: readonly [{
274
312
  readonly type: "object";
275
313
  readonly required: false;
276
314
  readonly description: "Praxis extension: switchable model ids on /agent/v1 only. The default model must be included. When omitted, only the default model is selectable.";
315
+ }, {
316
+ readonly name: "avatar";
317
+ readonly type: "string";
318
+ readonly required: false;
319
+ readonly description: "Avatar image of the agent: an absolute https URL of at most 2048 characters, without credentials; any other value returns 400 avatar must be an https URL. It is the default picture in agent lists, the agent detail, the chat header and embedded chat when the embed appearance sets none. Saved with the agent version like other configuration, so apply=false keeps the previous avatar in effect until that version is applied. Omit on create for no avatar; on update, omit to keep it and send null to clear it. Both personal and service agents accept it. /agent/v1 only; /anthropic neither accepts nor returns it.";
320
+ }, {
321
+ readonly name: "environment_id";
322
+ readonly type: "string";
323
+ readonly required: false;
324
+ readonly description: "Default environment of a service agent: the environment_id a new session gets when it names none. Use light, node22 or the env_ id of an active environment of your organization; any other value returns 400 environment_id <id> was not found. null means no environment, so sessions are plain conversation without codemode or bash. Saved with the agent version like other configuration, so apply=false keeps the previous environment in effect for new sessions until that version is applied; a session that sets environment_id itself, null included, overrides it. Omit on create for light; on update, omit to keep it. Versions saved before this field existed read as light. Personal agents use a Computer: a non-null value returns 400 and the field is not returned. /agent/v1 only; /anthropic neither accepts nor returns it.";
325
+ }, {
326
+ readonly name: "vault_ids";
327
+ readonly type: "array";
328
+ readonly itemType: "string";
329
+ readonly required: false;
330
+ readonly description: "Default vaults of a service agent: the vault_ids a new session gets when it names none, so the agent's credentials follow the version. At most 50 ids without duplicates; each must be a vault of your organization that is not archived, otherwise 400 vault_ids[<index>] <id> was not found. Saved with the agent version like other configuration, so apply=false keeps the previous vaults in effect for new sessions until that version is applied; a session that sets vault_ids itself, [] included, overrides it. Omit on create for []; on update, omit to keep the list and send an array to replace it as a whole. Versions saved before this field existed read as []. Embed tokens use the vault_ids of the version they pin; vault_ids on the embed policy is deprecated, still accepted and ignored. Personal agents get no default vaults: a non-empty value returns 400 and the field is not returned. /agent/v1 only; /anthropic neither accepts nor returns it.";
277
331
  }, {
278
332
  readonly name: "preset";
279
333
  readonly type: "string";
@@ -296,6 +350,121 @@ export declare const operations: readonly [{
296
350
  readonly sdkName: "agent_id";
297
351
  }];
298
352
  readonly query: readonly [];
353
+ }, {
354
+ readonly resource: "agent.agents.customers.auth.accessTokens";
355
+ readonly method: "create";
356
+ readonly summary: "Create customer access token";
357
+ readonly description: "Exchange a grant code, or the agent's publishable key for an anonymous visitor, for a customer access token that authorizes the agent's embedded sessions.\n\nNo Authorization header is required: the grant code or the publishable key is the credential. Agent Kit calls this from the browser, so send the page Origin. With grant_code, the code is consumed atomically: concurrent attempts have exactly one winner, and unknown, used, expired and other-agent codes all return the same 401 GRANT_CODE_INVALID. The sign-in starts now and lasts the code's max_session_seconds. Unlike Shopify, a visitor without an account gets a token too: send publishable_key instead and a new anonymous customer (anon_…) is created, bound to the request Origin, for 7 days. The access token lasts at most two hours and never outlives the sign-in; renew it with access_tokens/renew before expires_at. Both forms share the per-IP minute limit of anonymous issuance (default 20). Example body: {\"grant_code\":\"cgc_…\"}.";
358
+ readonly http: "POST";
359
+ readonly path: "/agent/v1/agents/{agent_id}/customers/auth/access_tokens";
360
+ readonly streaming: "no";
361
+ readonly pagination: false;
362
+ readonly pathParams: readonly [{
363
+ readonly name: "agent_id";
364
+ readonly sdkName: "agent_id";
365
+ }];
366
+ readonly query: readonly [];
367
+ readonly body: {
368
+ readonly required: true;
369
+ readonly fields: readonly [];
370
+ };
371
+ }, {
372
+ readonly resource: "agent.agents.customers.auth.accessTokens";
373
+ readonly method: "deleteCurrent";
374
+ readonly summary: "Log out customer";
375
+ readonly description: "Log the customer out by revoking the sign-in of the presented access token and every token issued in it.\n\nSend the current customer access token as the Bearer credential, with no body, when the customer logs out of your site. Every token of the sign-in, including renewed ones, stops working, and their live event streams close; the customer's conversations are kept. Returns 204. Calling it again with the same token returns 401 ACCESS_TOKEN_REVOKED, so treat that as already logged out.";
376
+ readonly http: "DELETE";
377
+ readonly path: "/agent/v1/agents/{agent_id}/customers/auth/access_tokens/current";
378
+ readonly streaming: "no";
379
+ readonly pagination: false;
380
+ readonly pathParams: readonly [{
381
+ readonly name: "agent_id";
382
+ readonly sdkName: "agent_id";
383
+ }];
384
+ readonly query: readonly [];
385
+ }, {
386
+ readonly resource: "agent.agents.customers.auth.accessTokens.renew";
387
+ readonly method: "create";
388
+ readonly summary: "Renew customer access token";
389
+ readonly description: "Get a fresh customer access token in the same sign-in, authenticated with the current one.\n\nSend the current customer access token as the Bearer credential, with no body, a few minutes before expires_at. The new token keeps the version, budget, context, metadata and origin binding of the sign-in and lasts at most two hours, never past session_expires_at. Unlike Shopify, renewal does not revoke the presented token: it stays valid until its own expiry, so a reply that is streaming on it is not cut off. When less than 60 seconds of the sign-in remain, renewal returns 401 CUSTOMER_SESSION_EXPIRED; sign the customer in again with a new grant code from your backend. A token that was logged out or merged returns 401 ACCESS_TOKEN_REVOKED.";
390
+ readonly http: "POST";
391
+ readonly path: "/agent/v1/agents/{agent_id}/customers/auth/access_tokens/renew";
392
+ readonly streaming: "no";
393
+ readonly pagination: false;
394
+ readonly pathParams: readonly [{
395
+ readonly name: "agent_id";
396
+ readonly sdkName: "agent_id";
397
+ }];
398
+ readonly query: readonly [];
399
+ }, {
400
+ readonly resource: "agent.agents.customers.auth.grantCodes";
401
+ readonly method: "create";
402
+ readonly summary: "Create customer grant code";
403
+ readonly description: "Sign your logged-in customer in to a service agent from your backend with a one-time grant code that Agent Kit exchanges for a customer access token.\n\nCall this from your backend with your API key after your own login succeeds, then pass the returned code to Agent Kit in the browser; never call it from the browser. Customer authorization follows Shopify Storefront customer access tokens (Multipass-style sign-in, a short-lived token, renewal and logout), so that experience applies. customer_id is your own identifier for the customer: use an opaque id such as your database user id, not an email address or phone number. The value auth is reserved, and ids starting with anon_ are reserved for anonymous customers. The code works once and expires after expires_in seconds (default 900). The sign-in it starts lasts max_session_seconds (default 7 days); version, budget_cents, system_message, agent_override and metadata apply to every token of the sign-in. Unlike Shopify, origin binds the whole sign-in to one page origin, and anonymous_access_token merges the conversations of the anonymous visitor who chatted before signing in into this customer. Example body: {\"customer_id\":\"cus_8f2a91\",\"origin\":\"https://shop.example.com\"}.";
404
+ readonly http: "POST";
405
+ readonly path: "/agent/v1/agents/{agent_id}/customers/auth/grant_codes";
406
+ readonly streaming: "no";
407
+ readonly pagination: false;
408
+ readonly pathParams: readonly [{
409
+ readonly name: "agent_id";
410
+ readonly sdkName: "agent_id";
411
+ }];
412
+ readonly query: readonly [];
413
+ readonly body: {
414
+ readonly required: true;
415
+ readonly fields: readonly [{
416
+ readonly name: "customer_id";
417
+ readonly type: "string";
418
+ readonly required: true;
419
+ readonly description: "Your stable, opaque identifier for the signed-in customer, such as your database user id. Do not use an email address or phone number. \"auth\" is reserved, and ids starting with anon_ are reserved for anonymous customers.";
420
+ }, {
421
+ readonly name: "version";
422
+ readonly type: "integer";
423
+ readonly required: false;
424
+ readonly description: "Existing agent version that every token of this sign-in pins. Defaults to the agent's active_version when the code is issued.";
425
+ }, {
426
+ readonly name: "budget_cents";
427
+ readonly type: "integer";
428
+ readonly required: false;
429
+ readonly description: "Budget in cents for each session the customer starts. Defaults to the embed policy session budget and cannot exceed its maximum.";
430
+ }, {
431
+ readonly name: "system_message";
432
+ readonly type: "array";
433
+ readonly itemType: "object";
434
+ readonly required: false;
435
+ readonly description: "Optional context the agent receives at the start of each session, as text blocks, limited to 8192 UTF-8 bytes in total.";
436
+ }, {
437
+ readonly name: "agent_override";
438
+ readonly type: "object";
439
+ readonly required: false;
440
+ readonly description: "Optional system prompt override, accepted only when the embed policy allows agent overrides.";
441
+ }, {
442
+ readonly name: "metadata";
443
+ readonly type: "object";
444
+ readonly required: false;
445
+ readonly description: "Up to 16 string pairs copied onto every session the customer starts. The playground key is reserved.";
446
+ }, {
447
+ readonly name: "origin";
448
+ readonly type: "string";
449
+ readonly required: false;
450
+ readonly description: "Page origin, such as https://shop.example.com, that must be one of the agent policy's allowed_origins (or localhost when the policy allows it). When set, every token of this sign-in works only from exactly this origin. Omit to accept any policy origin.";
451
+ }, {
452
+ readonly name: "expires_in";
453
+ readonly type: "integer";
454
+ readonly required: false;
455
+ readonly description: "Seconds the code stays redeemable, from 60 to 86400. Defaults to 900.";
456
+ }, {
457
+ readonly name: "max_session_seconds";
458
+ readonly type: "integer";
459
+ readonly required: false;
460
+ readonly description: "Total lifetime of the sign-in in seconds, from 3600 to 604800 (7 days). Tokens renew within it; after it the customer signs in again. Defaults to 604800.";
461
+ }, {
462
+ readonly name: "anonymous_access_token";
463
+ readonly type: "string";
464
+ readonly required: false;
465
+ readonly description: "The current access token of the anonymous customer who used this agent before signing in. Their conversations become visible to the identified customer, and the anonymous sign-in ends at exchange.";
466
+ }];
467
+ };
299
468
  }, {
300
469
  readonly resource: "agent.agents.endUsers";
301
470
  readonly method: "list";
@@ -450,7 +619,7 @@ export declare const operations: readonly [{
450
619
  readonly resource: "agent.agents.versions";
451
620
  readonly method: "list";
452
621
  readonly summary: "List agent versions";
453
- readonly description: "List the saved versions of one agent, in pages of at most 100 (default 20). Each item is the full agent definition at that version, so you can compare what changed between versions. Use agents.retrieve with version to read a single one; agent_id comes from agents.list or agents.create.";
622
+ readonly description: "List the saved versions of one agent, in pages of at most 100 (default 20). Each item is the full agent definition at that version, so you can compare what changed between versions. active is true only for the item that new sessions use; active_version on each item is the agent-level value, kept for compatibility. Use agents.retrieve with version to read a single one; agent_id comes from agents.list or agents.create.";
454
623
  readonly http: "GET";
455
624
  readonly path: "/agent/v1/agents/{agent_id}/versions";
456
625
  readonly streaming: "no";
@@ -470,11 +639,28 @@ export declare const operations: readonly [{
470
639
  readonly required: false;
471
640
  readonly description: "Opaque pagination cursor: pass the next_page value of the previous response unchanged. Omit it for the first page. A cursor from a different query or a malformed one returns 400.";
472
641
  }];
642
+ }, {
643
+ readonly resource: "agent.agents.versions";
644
+ readonly method: "apply";
645
+ readonly summary: "Apply Agent Version";
646
+ readonly description: "Apply a version from agents.versions.list by its version number. This idempotent operation changes active_version without creating a version; existing sessions and tokens keep their version. The response is the latest saved agent with its current active_version. Missing versions return 404 Agent version not found; archived agents return 409 Agent is archived. For example, POST /agent/v1/agents/{agent_id}/versions/2/apply with no body.";
647
+ readonly http: "POST";
648
+ readonly path: "/agent/v1/agents/{agent_id}/versions/{version}/apply";
649
+ readonly streaming: "no";
650
+ readonly pagination: false;
651
+ readonly pathParams: readonly [{
652
+ readonly name: "agent_id";
653
+ readonly sdkName: "agent_id";
654
+ }, {
655
+ readonly name: "version";
656
+ readonly sdkName: "version";
657
+ }];
658
+ readonly query: readonly [];
473
659
  }, {
474
660
  readonly resource: "agent.computers";
475
661
  readonly method: "list";
476
- readonly summary: "ComputersList";
477
- readonly description: "Tenant-owned durable computer resource.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.";
662
+ readonly summary: "List Computers";
663
+ readonly description: "List the computers of your organization, archived ones included.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.";
478
664
  readonly http: "GET";
479
665
  readonly path: "/agent/v1/computers";
480
666
  readonly streaming: "no";
@@ -494,8 +680,8 @@ export declare const operations: readonly [{
494
680
  }, {
495
681
  readonly resource: "agent.computers";
496
682
  readonly method: "create";
497
- readonly summary: "ComputersCreate";
498
- readonly description: "Tenant-owned durable computer resource.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.";
683
+ readonly summary: "Create Computer";
684
+ readonly description: "Create a durable computer: a named machine whose files outlive sessions, for personal agents.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.";
499
685
  readonly http: "POST";
500
686
  readonly path: "/agent/v1/computers";
501
687
  readonly streaming: "no";
@@ -533,8 +719,8 @@ export declare const operations: readonly [{
533
719
  }, {
534
720
  readonly resource: "agent.computers";
535
721
  readonly method: "retrieve";
536
- readonly summary: "ComputersRetrieve";
537
- readonly description: "Tenant-owned durable computer resource.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.";
722
+ readonly summary: "Get Computer";
723
+ readonly description: "Read one computer's status, storage use and sandbox id.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.";
538
724
  readonly http: "GET";
539
725
  readonly path: "/agent/v1/computers/{computer_id}";
540
726
  readonly streaming: "no";
@@ -547,8 +733,8 @@ export declare const operations: readonly [{
547
733
  }, {
548
734
  readonly resource: "agent.computers";
549
735
  readonly method: "update";
550
- readonly summary: "ComputersUpdate";
551
- readonly description: "Tenant-owned durable computer resource.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.";
736
+ readonly summary: "Update Computer";
737
+ readonly description: "Rename a computer.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.";
552
738
  readonly http: "POST";
553
739
  readonly path: "/agent/v1/computers/{computer_id}";
554
740
  readonly streaming: "no";
@@ -570,8 +756,8 @@ export declare const operations: readonly [{
570
756
  }, {
571
757
  readonly resource: "agent.computers";
572
758
  readonly method: "archive";
573
- readonly summary: "ComputersArchive";
574
- readonly description: "Tenant-owned durable computer resource.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.";
759
+ readonly summary: "Archive Computer";
760
+ readonly description: "Archive a computer: its files stay readable but new sessions cannot use it.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.";
575
761
  readonly http: "POST";
576
762
  readonly path: "/agent/v1/computers/{computer_id}/archive";
577
763
  readonly streaming: "no";
@@ -608,7 +794,7 @@ export declare const operations: readonly [{
608
794
  readonly resource: "agent.computers";
609
795
  readonly method: "connect";
610
796
  readonly summary: "Connect computer";
611
- readonly description: "Resume the computer and issue a sandbox connection.\n\nOwn-face extension: Managed Agents has no persistent Computer connection. Returns the public SDK sandbox_id, envd_access_token and template_id, plus the machine tier the computer is on now (light or heavy) and the lease that keeps it there (lease_id, lease_expires_at; lease_id is null when no lease exists). Keep the lease while the connection stays open: renew it about every 20 seconds (POST .../leases/{lease_id}/renew) and release it on close (DELETE .../leases/{lease_id}). An unrenewed lease simply expires, and the full machine is reclaimed only after that. Archived computers remain accessible; foreign or absent computers return 404. Never cache credentials.";
797
+ readonly description: "Resume the computer and issue a sandbox connection.\n\nOwn-face extension: Managed Agents has no persistent Computer connection. Returns the public SDK sandbox_id, envd_access_token and template_id, plus the machine tier the computer is on now (light or heavy) and the lease that keeps it there (lease_id, lease_expires_at; lease_id is null when no lease exists). Keep the lease while the connection stays open: renew it about every 20 seconds (POST .../leases/{lease_id}/renew) and release it on close (DELETE .../leases/{lease_id}). An unrenewed lease simply expires, and the full machine is reclaimed only after that. Archived computers remain accessible; foreign or absent computers return 404. Never cache credentials.\n\nConnect to a computer with a caller-held lease. Omit the body or send {} to request light: the lightweight shell, or the heavy instance while it is running. Send {\"need\":\"heavy\"} to request full Linux for interactive programs; files are synchronized before the heavy connection is returned with tier heavy. Renew the lease while using the connection and release it with DELETE when finished.";
612
798
  readonly http: "POST";
613
799
  readonly path: "/agent/v1/computers/{computer_id}/connect";
614
800
  readonly streaming: "no";
@@ -618,11 +804,21 @@ export declare const operations: readonly [{
618
804
  readonly sdkName: "computer_id";
619
805
  }];
620
806
  readonly query: readonly [];
807
+ readonly body: {
808
+ readonly required: false;
809
+ readonly fields: readonly [{
810
+ readonly name: "need";
811
+ readonly type: "string";
812
+ readonly enum: readonly ["light", "heavy"];
813
+ readonly required: false;
814
+ readonly description: "Defaults to light. light uses the lightweight shell, or the heavy instance while it is running. heavy requests a full Linux computer for interactive programs; heavy running time counts toward the daily budget in seconds.";
815
+ }];
816
+ };
621
817
  }, {
622
818
  readonly resource: "agent.computers.files";
623
819
  readonly method: "list";
624
- readonly summary: "ComputersFilesList";
625
- readonly description: "Tenant-owned durable computer resource.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.";
820
+ readonly summary: "List Computer Files";
821
+ readonly description: "List the entries of one directory on a computer.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.";
626
822
  readonly http: "GET";
627
823
  readonly path: "/agent/v1/computers/{computer_id}/files";
628
824
  readonly streaming: "no";
@@ -640,8 +836,8 @@ export declare const operations: readonly [{
640
836
  }, {
641
837
  readonly resource: "agent.computers.files";
642
838
  readonly method: "retrieveContent";
643
- readonly summary: "ComputersFilesContent";
644
- readonly description: "Tenant-owned durable computer resource.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.";
839
+ readonly summary: "Get Computer File Content";
840
+ readonly description: "Download the bytes of one file on a computer, up to 16 MiB, with single-range support.\n\nPraxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.";
645
841
  readonly http: "GET";
646
842
  readonly path: "/agent/v1/computers/{computer_id}/files/content";
647
843
  readonly streaming: "no";
@@ -1228,7 +1424,7 @@ export declare const operations: readonly [{
1228
1424
  readonly resource: "agent.environments";
1229
1425
  readonly method: "create";
1230
1426
  readonly summary: "Create environment";
1231
- readonly description: "Create a tenant-owned cloud environment: a sandbox recipe (packages to install and networking policy) that sessions can select through environment_id. Package installation happens when the session's sandbox is created; a failed install terminates that session with ENVIRONMENT_PACKAGE_INSTALL_FAILED. Limited networking is applied at sandbox creation. Unlike Anthropic Managed Agents, self_hosted environments, scope and cross-session package caching are not supported.";
1427
+ readonly description: "Create a tenant-owned cloud environment: a sandbox recipe (packages to install and networking policy) that sessions can select through environment_id. Package installation happens when the session's sandbox is created; a failed install terminates that session with ENVIRONMENT_PACKAGE_INSTALL_FAILED. Limited networking is applied at sandbox creation. Unlike Anthropic Managed Agents, self_hosted environments, scope and cross-session package caching are not supported. config.template must name an available sandbox template, otherwise 400 lists the available ones.";
1232
1428
  readonly http: "POST";
1233
1429
  readonly path: "/agent/v1/environments";
1234
1430
  readonly streaming: "no";
@@ -1257,12 +1453,6 @@ export declare const operations: readonly [{
1257
1453
  readonly type: "object";
1258
1454
  readonly required: false;
1259
1455
  readonly description: "Free-form string key/value pairs.";
1260
- }, {
1261
- readonly name: "scope";
1262
- readonly type: "string";
1263
- readonly enum: readonly ["organization", "account"];
1264
- readonly required: false;
1265
- readonly description: "The visibility scope for this environment. 'organization' makes the\nenvironment visible to all accounts. 'account' restricts visibility to the\nowning account only. API organizations support only 'organization'; 'account' is\nrejected. If not specified, defaults based on organization type.";
1266
1456
  }];
1267
1457
  };
1268
1458
  }, {
@@ -1283,7 +1473,7 @@ export declare const operations: readonly [{
1283
1473
  readonly resource: "agent.environments";
1284
1474
  readonly method: "update";
1285
1475
  readonly summary: "Update environment";
1286
- readonly description: "Update the configuration of a tenant-owned cloud environment. Built-in environments are read-only. Package installation and limited networking are applied when a session's sandbox is created. Omitted fields keep their value.";
1476
+ readonly description: "Update the configuration of a tenant-owned cloud environment. Built-in environments are read-only. Package installation and limited networking are applied when a session's sandbox is created. Omitted fields keep their value. A changed config.template must name an available sandbox template, otherwise 400 lists the available ones.";
1287
1477
  readonly http: "POST";
1288
1478
  readonly path: "/agent/v1/environments/{environment_id}";
1289
1479
  readonly streaming: "no";
@@ -1315,19 +1505,13 @@ export declare const operations: readonly [{
1315
1505
  readonly type: "string";
1316
1506
  readonly required: false;
1317
1507
  readonly description: "Updated name for the environment";
1318
- }, {
1319
- readonly name: "scope";
1320
- readonly type: "string";
1321
- readonly enum: readonly ["organization", "account"];
1322
- readonly required: false;
1323
- readonly description: "The visibility scope for this environment. 'organization' makes the\nenvironment visible to all accounts. 'account' restricts visibility to the\nowning account only.";
1324
1508
  }];
1325
1509
  };
1326
1510
  }, {
1327
1511
  readonly resource: "agent.environments";
1328
1512
  readonly method: "archive";
1329
1513
  readonly summary: "Archive environment";
1330
- readonly description: "Soft-archive a tenant-owned cloud environment so it can no longer be used to create new sessions. Built-in environments are read-only and cannot be archived.";
1514
+ readonly description: "Soft-archive a tenant-owned cloud environment so it can no longer be used to create new sessions. Built-in environments are read-only and cannot be archived. An environment that the active version of a non-archived agent uses as environment_id returns 409 RESOURCE_IN_USE naming the agents; point them at another environment first.";
1331
1515
  readonly http: "POST";
1332
1516
  readonly path: "/agent/v1/environments/{environment_id}/archive";
1333
1517
  readonly streaming: "no";
@@ -1341,7 +1525,7 @@ export declare const operations: readonly [{
1341
1525
  readonly resource: "agent.sessions";
1342
1526
  readonly method: "list";
1343
1527
  readonly summary: "List sessions";
1344
- readonly description: "List sessions of the workspace behind your API key, newest first, in pages of at most 100 (default 20). Unlike Anthropic Managed Agents, only limit, page, agent_id and deployment_id are honored; the other filters declared here (agent_version, created_at ranges, memory_store_id, include_archived, order, statuses) are not supported and return 400. Use the returned id with sessions.retrieve or sessions.events.list; pass next_page as page for the next page.";
1528
+ readonly description: "List sessions of the workspace behind your API key, newest first, in pages of at most 100 (default 20). Archived sessions are hidden unless include_archived is true. Unlike Anthropic Managed Agents, only limit, page, agent_id, deployment_id and include_archived are honored; the other filters declared here (agent_version, created_at ranges, memory_store_id, order, statuses) are not supported and return 400. Use the returned id with sessions.retrieve or sessions.events.list; pass next_page as page for the next page.";
1345
1529
  readonly http: "GET";
1346
1530
  readonly path: "/agent/v1/sessions";
1347
1531
  readonly streaming: "no";
@@ -1366,7 +1550,7 @@ export declare const operations: readonly [{
1366
1550
  readonly name: "created_at[gte]";
1367
1551
  readonly type: "string";
1368
1552
  readonly required: false;
1369
- readonly description: "Created-at lower bound for sessions. Declared by the Managed Agents shape but not supported here: sessions.list honors only limit, page, agent_id and deployment_id, and other filters return 400.";
1553
+ readonly description: "Created-at lower bound for sessions. Declared by the Managed Agents shape but not supported here: sessions.list honors only limit, page, agent_id, deployment_id and include_archived, and other filters return 400.";
1370
1554
  }, {
1371
1555
  readonly name: "created_at[lt]";
1372
1556
  readonly type: "string";
@@ -1376,7 +1560,7 @@ export declare const operations: readonly [{
1376
1560
  readonly name: "created_at[lte]";
1377
1561
  readonly type: "string";
1378
1562
  readonly required: false;
1379
- readonly description: "Created-at upper bound for sessions. Declared by the Managed Agents shape but not supported here: sessions.list honors only limit, page, agent_id and deployment_id, and other filters return 400.";
1563
+ readonly description: "Created-at upper bound for sessions. Declared by the Managed Agents shape but not supported here: sessions.list honors only limit, page, agent_id, deployment_id and include_archived, and other filters return 400.";
1380
1564
  }, {
1381
1565
  readonly name: "deployment_id";
1382
1566
  readonly type: "string";
@@ -1387,7 +1571,7 @@ export declare const operations: readonly [{
1387
1571
  readonly type: "boolean";
1388
1572
  readonly enum: readonly [false, true];
1389
1573
  readonly required: false;
1390
- readonly description: "Declared by the Managed Agents shape but not supported by sessions.list; sending it returns 400. Archived sessions are retrievable by id.";
1574
+ readonly description: "Whether archived sessions are listed: true includes them, false (the default) hides them. A value other than true or false returns 400. Archived sessions stay retrievable by id either way.";
1391
1575
  }, {
1392
1576
  readonly name: "memory_store_id";
1393
1577
  readonly type: "string";
@@ -1432,7 +1616,7 @@ export declare const operations: readonly [{
1432
1616
  readonly resource: "agent.sessions";
1433
1617
  readonly method: "create";
1434
1618
  readonly summary: "Create session";
1435
- readonly description: "Create a session: one conversation with an agent, running on a machine. Pass agent as an agent id (latest version) or {id, version, type:\"agent\"}. Unlike Anthropic Managed Agents, omit environment_id to get a light machine, unless computer_id (explicit, or the agent's default) selects a Computer; pass environment_id for a sandbox recipe. Optional model must be one of the agent's allowed models; optional thinking is {effort: low|medium|high|xhigh|max|none} or null, where null inherits the agent default and then the model default (none requires the model to allow disabling thinking). Selections are saved before initial_events run; invalid ones return 400 invalid_request_error. Inline agent overrides are not supported. Supports vault_ids, up to 50, owned by the current organization and not archived; credential injection is deferred to a later version. Omitted budget defaults to USD 20; null removes the limit, and a limit object uses a positive integer string of USD cents. Up to 500 file resources can be attached. Use initial_events to send a first user.message in this request, or send messages afterwards with sessions.events.send. The returned status can still be idle before initial events run; read agent.message and the subsequent session.status_idle event to confirm completion.";
1619
+ readonly description: "Create a session: one conversation with an agent. Pass agent as an agent id or {type:\"agent\", id, version?}; an id alone, or an object without version, pins the agent's active_version (the version chosen with agents.versions.apply, not necessarily the newest saved one). Unlike Anthropic Managed Agents, omit environment_id to use the default environment saved in the agent version (light for a new agent), unless computer_id (explicit, or the agent's default) selects a Computer; pass an environment id for a sandbox recipe. For service agents, explicit null allocates no machine, so codemode, bash and other machine tools are unavailable. Optional model must be one of the agent's allowed models; optional thinking is {effort: low|medium|high|xhigh|max|none} or null, where null inherits the agent default and then the model default (none requires the model to allow disabling thinking). Selections are saved before initial_events run; invalid ones return 400 invalid_request_error. Unlike Anthropic Managed Agents, the only inline agent override is system ({type:\"agent_with_overrides\", id, system}); to change the model, tools, MCP servers or skills, save a version instead. Supports vault_ids, up to 50, owned by the current organization and not archived; credential injection is deferred to a later version. budget is {type:\"limit\", max_list_cost:{amount, currency:\"USD\"}} where amount is a positive integer string of US cents (\"2000\" is USD 20.00); omitted budget defaults to \"2000\" and null removes the limit. Up to 500 file resources can be attached. Use initial_events to send a first user.message in this request, or send messages afterwards with sessions.events.send. The returned status can still be idle before initial events run; read agent.message and the subsequent session.status_idle event to confirm completion.";
1436
1620
  readonly http: "POST";
1437
1621
  readonly path: "/agent/v1/sessions";
1438
1622
  readonly streaming: "no";
@@ -1445,17 +1629,17 @@ export declare const operations: readonly [{
1445
1629
  readonly name: "agent";
1446
1630
  readonly type: "object";
1447
1631
  readonly required: true;
1448
- readonly description: "Agent identifier. Accepts the `agent` ID string, which pins the\nlatest version for the session, or an `agent` object with both id and version\nspecified.";
1632
+ readonly description: "The agent to run: an agent id string, or {type: \"agent\", id, version?}. An id alone, or an object without version, pins the agent's active_version at the moment the session is created (the version chosen with agents.versions.apply, not necessarily the newest saved one); version pins that exact version. Unlike Managed Agents, the only inline override is a system prompt ({type: \"agent_with_overrides\", id, system}); to change the model, tools, MCP servers or skills, save a version instead.";
1449
1633
  }, {
1450
1634
  readonly name: "environment_id";
1451
1635
  readonly type: "string";
1452
1636
  readonly required: false;
1453
- readonly description: "ID of the `environment` defining the container configuration for\nthis session.";
1637
+ readonly description: "Execution environment id from agent.environments.list or agent.environments.create. For a service agent, omission uses the default environment saved in the agent version (light for a new agent) and returns it as session.environment_id; explicit null allocates no machine and makes machine tools, including codemode and bash, unavailable. Personal agents use their selected Computer.";
1454
1638
  }, {
1455
1639
  readonly name: "budget";
1456
1640
  readonly type: "object";
1457
1641
  readonly required: false;
1458
- readonly description: "Session spending limit in USD cents; null when unlimited. Creation defaults to USD 20 when omitted. A limit amount is a positive integer string; removing a limit with null prevents setting it again for that session.";
1642
+ readonly description: "Session spending limit, {type: \"limit\", max_list_cost: {amount, currency}}; null when unlimited. Creation defaults to a limit of 2000 US cents (USD 20.00) when omitted. amount is a positive integer string of US cents; removing the limit with null prevents setting it again for that session.";
1459
1643
  }, {
1460
1644
  readonly name: "initial_events";
1461
1645
  readonly type: "array";
@@ -1556,11 +1740,6 @@ export declare const operations: readonly [{
1556
1740
  readonly body: {
1557
1741
  readonly required: true;
1558
1742
  readonly fields: readonly [{
1559
- readonly name: "agent";
1560
- readonly type: "object";
1561
- readonly required: false;
1562
- readonly description: "Agent definition the session uses after the change; null when unchanged.";
1563
- }, {
1564
1743
  readonly name: "budget";
1565
1744
  readonly type: "object";
1566
1745
  readonly required: false;
@@ -2144,114 +2323,295 @@ export declare const operations: readonly [{
2144
2323
  readonly description: "When set, this connection also receives streaming deltas\n(`event_start`, `event_delta`) while an event is being produced, before the\nevent itself arrives. Deltas are best-effort; when the final event is produced\nit carries the complete content. A model request that ends early (an error or\ninterrupt) produces no final event — its terminal `span.model_request_end`\ncloses the preview. Accepts one or more event types to preview and may be\nrepeated: `agent.message` streams `content_delta` fragments; `agent.thinking` is\nstart-only — a signal that the agent has begun extended thinking, concluded by\nthe `agent.thinking` event itself. Only previews of the requested event types\nare sent.";
2145
2324
  }];
2146
2325
  }, {
2147
- readonly resource: "agent.toolsets";
2326
+ readonly resource: "agent.skills";
2148
2327
  readonly method: "list";
2149
- readonly summary: "List Toolsets";
2150
- readonly description: "Discover tool names, input schemas, read-only status and default permission policies before configuring an agent. The catalog is read-only: enable tools through agents.create or agents.update. agent_toolset_20260401 includes bash, edit, glob, grep, read, write, web_search, web_fetch, task_output, task_stop, monitor, agent, send_message, codemode and skill, plus todo_write, enter_plan_mode, ask_user_question and goal_read, which are listed so they can be switched off. Native additions require bash enabled; codemode requires bash (enabling it with bash disabled returns 400; keep bash enabled with permission_policy always_ask to restrict it); send_message also requires agent. To keep only some tools, set default_config.enabled to false and enable the wanted tools in configs; unlisted tools follow default_config. The catalog includes plugin names and versions. Sessions created through /anthropic/v1 expose only the eight official tools.";
2328
+ readonly summary: "List skills";
2329
+ readonly description: "List the skills uploaded to your organization, newest first, in pages of at most 100 (default 20). Use it to find a skill id before reading, versioning or deleting it. Only source=custom has content; source=anthropic returns an empty list. Pass next_page from the response as page to read the next page; a null next_page means the end.";
2151
2330
  readonly http: "GET";
2152
- readonly path: "/agent/v1/toolsets";
2331
+ readonly path: "/agent/v1/skills";
2153
2332
  readonly streaming: "no";
2154
2333
  readonly pagination: false;
2155
2334
  readonly pathParams: readonly [];
2156
- readonly query: readonly [];
2335
+ readonly query: readonly [{
2336
+ readonly name: "source";
2337
+ readonly type: "string";
2338
+ readonly required: false;
2339
+ readonly description: "Filter skills by source.\n\nIf provided, only skills from the specified source will be returned:\n\n- `\"custom\"`: only return user-created skills\n- `\"anthropic\"`: only return Anthropic-created skills";
2340
+ }, {
2341
+ readonly name: "limit";
2342
+ readonly type: "number";
2343
+ readonly required: false;
2344
+ readonly description: "Number of items per page.";
2345
+ }, {
2346
+ readonly name: "page";
2347
+ readonly type: "string";
2348
+ readonly required: false;
2349
+ readonly description: "Opaque pagination cursor: pass the next_page value of the previous response unchanged. Omit it for the first page. A cursor from a different query or a malformed one returns 400.";
2350
+ }];
2157
2351
  }, {
2158
- readonly resource: "application.assets.upload";
2352
+ readonly resource: "agent.skills";
2159
2353
  readonly method: "create";
2160
- readonly summary: "Upload assets";
2161
- readonly description: "Upload one batch: files maps hash to base64 content. The last batch returns the completion token.";
2354
+ readonly summary: "Create skill";
2355
+ readonly description: "Upload a skill: a directory that contains SKILL.md, which the agent reads when it needs the skill. Send multipart/form-data with one files part per file, each file name being its path under one top-level directory (pdf/SKILL.md, pdf/scripts/run.py), and an optional display_name. SKILL.md frontmatter needs a description; name defaults to the directory name and must be one folder name (1-255 characters, no \"/\", backslash or NUL, not \".\" or \"..\"), otherwise the upload returns 400 stating the allowed form. Limits: 8 MB in total, at most 200 files, no .. segments, absolute paths or empty names; a violation returns 400 naming the path or field. The upload creates the skill and its first version, and versions are immutable. Attach the skill to an agent with `skills` on the agent.";
2162
2356
  readonly http: "POST";
2163
- readonly path: "/application/v1/assets/upload";
2357
+ readonly path: "/agent/v1/skills";
2164
2358
  readonly streaming: "no";
2165
2359
  readonly pagination: false;
2360
+ readonly multipart: true;
2166
2361
  readonly pathParams: readonly [];
2167
2362
  readonly query: readonly [];
2168
2363
  readonly body: {
2169
2364
  readonly required: true;
2170
2365
  readonly fields: readonly [{
2171
- readonly name: "jwt";
2172
- readonly type: "string";
2173
- readonly required: true;
2174
- readonly description: "Upload token from the session.";
2175
- }, {
2176
2366
  readonly name: "files";
2177
- readonly type: "object";
2367
+ readonly type: "array";
2368
+ readonly itemType: "string";
2178
2369
  readonly required: true;
2179
- readonly description: "Hash → base64 file content.";
2370
+ readonly description: "Files to upload for the skill.\n\nAll files must be in the same top-level directory and must include a SKILL.md\nfile at the root of that directory.";
2371
+ }, {
2372
+ readonly name: "display_name";
2373
+ readonly type: "string";
2374
+ readonly required: false;
2375
+ readonly description: "Human-readable, single-line label for the Skill. Maximum 255\ncharacters. Always set: derived from the SKILL.md frontmatter `name` when\nomitted at creation. Not unique.";
2180
2376
  }];
2181
2377
  };
2182
2378
  }, {
2183
- readonly resource: "application.subdomain";
2184
- readonly method: "retrieve";
2185
- readonly summary: "Get account subdomain";
2186
- readonly description: "Return the account subdomain used in every Worker URL. A default is created on first use.";
2187
- readonly http: "GET";
2188
- readonly path: "/application/v1/subdomain";
2379
+ readonly resource: "agent.skills";
2380
+ readonly method: "delete";
2381
+ readonly summary: "Delete skill";
2382
+ readonly description: "Delete a skill together with all of its versions. A skill that is still attached to an agent returns 409 RESOURCE_IN_USE naming up to 10 agent ids (the active or latest version of a non-archived agent counts); remove it from those agents first. Returns {id, type: skill_deleted}. skill_id comes from skills.create or skills.list.";
2383
+ readonly http: "DELETE";
2384
+ readonly path: "/agent/v1/skills/{skill_id}";
2189
2385
  readonly streaming: "no";
2190
2386
  readonly pagination: false;
2191
- readonly pathParams: readonly [];
2387
+ readonly pathParams: readonly [{
2388
+ readonly name: "skill_id";
2389
+ readonly sdkName: "skill_id";
2390
+ }];
2192
2391
  readonly query: readonly [];
2193
2392
  }, {
2194
- readonly resource: "application.subdomain";
2195
- readonly method: "update";
2196
- readonly summary: "Change account subdomain";
2197
- readonly description: "Change the account subdomain. Every Worker moves to the new address at once; old addresses stop resolving.";
2198
- readonly http: "PUT";
2199
- readonly path: "/application/v1/subdomain";
2393
+ readonly resource: "agent.skills";
2394
+ readonly method: "retrieve";
2395
+ readonly summary: "Get skill";
2396
+ readonly description: "Read one skill by id: its display_name, source and latest_version_id. skill_id comes from skills.create or skills.list. A skill of another organization, or a deleted one, returns 404 Skill not found.";
2397
+ readonly http: "GET";
2398
+ readonly path: "/agent/v1/skills/{skill_id}";
2200
2399
  readonly streaming: "no";
2201
2400
  readonly pagination: false;
2202
- readonly pathParams: readonly [];
2401
+ readonly pathParams: readonly [{
2402
+ readonly name: "skill_id";
2403
+ readonly sdkName: "skill_id";
2404
+ }];
2203
2405
  readonly query: readonly [];
2204
- readonly body: {
2205
- readonly required: true;
2206
- readonly fields: readonly [{
2207
- readonly name: "subdomain";
2208
- readonly type: "string";
2209
- readonly required: true;
2210
- readonly description: "Account subdomain, 8–32 lowercase letters and digits; part of every Worker URL.";
2211
- }];
2212
- };
2213
2406
  }, {
2214
- readonly resource: "application.workers";
2407
+ readonly resource: "agent.skills.versions";
2215
2408
  readonly method: "list";
2216
- readonly summary: "List Workers";
2217
- readonly description: "List Workers in your account. Filter by status or by label with label.<key>=<value>.";
2409
+ readonly summary: "List skill versions";
2410
+ readonly description: "List the live versions of one skill, newest first, in pages of at most 100 (default 20). Each item carries the name and description read from the SKILL.md of that version. Pass next_page from the response as page to read the next page; a null next_page means the end.";
2218
2411
  readonly http: "GET";
2219
- readonly path: "/application/v1/workers";
2412
+ readonly path: "/agent/v1/skills/{skill_id}/versions";
2220
2413
  readonly streaming: "no";
2221
- readonly pagination: true;
2222
- readonly pathParams: readonly [];
2414
+ readonly pagination: false;
2415
+ readonly pathParams: readonly [{
2416
+ readonly name: "skill_id";
2417
+ readonly sdkName: "skill_id";
2418
+ }];
2223
2419
  readonly query: readonly [{
2224
- readonly name: "cursor";
2225
- readonly type: "string";
2226
- readonly required: false;
2227
- readonly description: "next_cursor from the previous page.";
2228
- }, {
2229
2420
  readonly name: "limit";
2230
- readonly type: "integer";
2421
+ readonly type: "number";
2231
2422
  readonly required: false;
2232
- readonly description: "Items per page.";
2423
+ readonly description: "Number of items per page.";
2233
2424
  }, {
2234
- readonly name: "status";
2425
+ readonly name: "page";
2235
2426
  readonly type: "string";
2236
2427
  readonly required: false;
2237
- readonly description: "Worker status: draft (no deployment yet), active (serving), suspended (stopped by an administrator), deleted (soft-deleted, restorable for 7 days), purging (resources being removed), purged (gone).";
2428
+ readonly description: "Opaque pagination cursor: pass the next_page value of the previous response unchanged. Omit it for the first page. A cursor from a different query or a malformed one returns 400.";
2238
2429
  }];
2239
2430
  }, {
2240
- readonly resource: "application.workers";
2431
+ readonly resource: "agent.skills.versions";
2241
2432
  readonly method: "create";
2242
- readonly summary: "Create Worker";
2243
- readonly description: "Create a Worker. It serves nothing until a version is deployed.";
2433
+ readonly summary: "Create skill version";
2434
+ readonly description: "Upload a new version of a skill with the same multipart/form-data shape and limits as skills.create (8 MB, 200 files, one top-level directory containing SKILL.md). The SKILL.md name must equal the name of the skill; a different name returns 400. The new version becomes latest_version_id of the skill, and earlier versions stay unchanged because versions are immutable. Attach it to an agent with `skills` on the agent.";
2244
2435
  readonly http: "POST";
2245
- readonly path: "/application/v1/workers";
2436
+ readonly path: "/agent/v1/skills/{skill_id}/versions";
2246
2437
  readonly streaming: "no";
2247
2438
  readonly pagination: false;
2248
- readonly pathParams: readonly [];
2439
+ readonly multipart: true;
2440
+ readonly pathParams: readonly [{
2441
+ readonly name: "skill_id";
2442
+ readonly sdkName: "skill_id";
2443
+ }];
2249
2444
  readonly query: readonly [];
2250
2445
  readonly body: {
2251
2446
  readonly required: true;
2252
2447
  readonly fields: readonly [{
2253
- readonly name: "name";
2254
- readonly type: "string";
2448
+ readonly name: "files";
2449
+ readonly type: "array";
2450
+ readonly itemType: "string";
2451
+ readonly required: true;
2452
+ readonly description: "Files to upload for the skill.\n\nAll files must be in the same top-level directory and must include a SKILL.md\nfile at the root of that directory.";
2453
+ }];
2454
+ };
2455
+ }, {
2456
+ readonly resource: "agent.skills.versions";
2457
+ readonly method: "delete";
2458
+ readonly summary: "Delete skill version";
2459
+ readonly description: "Soft-delete one version of a skill so it can no longer be read or downloaded; latest_version_id of the skill falls back to the newest remaining version. Returns {id, type: skill_version_deleted}. A skill keeps at least one version: deleting the last remaining version returns 409 SKILL_LAST_VERSION (delete the skill instead), so latest_version_id is never null. A version that a non-archived agent pins returns 409 RESOURCE_IN_USE naming the agents.";
2460
+ readonly http: "DELETE";
2461
+ readonly path: "/agent/v1/skills/{skill_id}/versions/{version}";
2462
+ readonly streaming: "no";
2463
+ readonly pagination: false;
2464
+ readonly pathParams: readonly [{
2465
+ readonly name: "skill_id";
2466
+ readonly sdkName: "skill_id";
2467
+ }, {
2468
+ readonly name: "version";
2469
+ readonly sdkName: "version";
2470
+ }];
2471
+ readonly query: readonly [];
2472
+ }, {
2473
+ readonly resource: "agent.skills.versions";
2474
+ readonly method: "retrieve";
2475
+ readonly summary: "Get skill version";
2476
+ readonly description: "Read one version of a skill: its name, description and created_at as read from SKILL.md. version is the id returned by skills.versions.create or skills.versions.list. A deleted or unknown version returns 404 Skill version not found.";
2477
+ readonly http: "GET";
2478
+ readonly path: "/agent/v1/skills/{skill_id}/versions/{version}";
2479
+ readonly streaming: "no";
2480
+ readonly pagination: false;
2481
+ readonly pathParams: readonly [{
2482
+ readonly name: "skill_id";
2483
+ readonly sdkName: "skill_id";
2484
+ }, {
2485
+ readonly name: "version";
2486
+ readonly sdkName: "version";
2487
+ }];
2488
+ readonly query: readonly [];
2489
+ }, {
2490
+ readonly resource: "agent.skills.versions";
2491
+ readonly method: "retrieveContent";
2492
+ readonly summary: "Download skill version";
2493
+ readonly description: "Download the content of one version as a zip archive (application/zip): the uploaded directory with its top-level folder and every file. version is the id returned by skills.versions.create or skills.versions.list; a deleted version returns 404.";
2494
+ readonly http: "GET";
2495
+ readonly path: "/agent/v1/skills/{skill_id}/versions/{version}/content";
2496
+ readonly streaming: "no";
2497
+ readonly pagination: false;
2498
+ readonly pathParams: readonly [{
2499
+ readonly name: "skill_id";
2500
+ readonly sdkName: "skill_id";
2501
+ }, {
2502
+ readonly name: "version";
2503
+ readonly sdkName: "version";
2504
+ }];
2505
+ readonly query: readonly [];
2506
+ }, {
2507
+ readonly resource: "agent.toolsets";
2508
+ readonly method: "list";
2509
+ readonly summary: "List Toolsets";
2510
+ readonly description: "Discover tool names, input schemas, read-only status and default permission policies before configuring an agent. The catalog is read-only: enable tools through agents.create or agents.update. agent_toolset_20260401 includes bash, edit, glob, grep, read, write, web_search, web_fetch, task_output, task_stop, monitor, agent, send_message, codemode and skill, plus todo_write, enter_plan_mode, ask_user_question and goal_read, which are listed so they can be switched off. Native additions require bash enabled; codemode requires bash (enabling it with bash disabled returns 400; keep bash enabled with permission_policy always_ask to restrict it); send_message also requires agent. To keep only some tools, set default_config.enabled to false and enable the wanted tools in configs; unlisted tools follow default_config. The catalog includes plugin names and versions. Sessions created through /anthropic/v1 expose only the eight official tools.";
2511
+ readonly http: "GET";
2512
+ readonly path: "/agent/v1/toolsets";
2513
+ readonly streaming: "no";
2514
+ readonly pagination: false;
2515
+ readonly pathParams: readonly [];
2516
+ readonly query: readonly [];
2517
+ }, {
2518
+ readonly resource: "application.assets.upload";
2519
+ readonly method: "create";
2520
+ readonly summary: "Upload assets";
2521
+ readonly description: "Upload one batch: files maps hash to base64 content. The last batch returns the completion token.";
2522
+ readonly http: "POST";
2523
+ readonly path: "/application/v1/assets/upload";
2524
+ readonly streaming: "no";
2525
+ readonly pagination: false;
2526
+ readonly pathParams: readonly [];
2527
+ readonly query: readonly [];
2528
+ readonly body: {
2529
+ readonly required: true;
2530
+ readonly fields: readonly [{
2531
+ readonly name: "jwt";
2532
+ readonly type: "string";
2533
+ readonly required: true;
2534
+ readonly description: "Upload token from the session.";
2535
+ }, {
2536
+ readonly name: "files";
2537
+ readonly type: "object";
2538
+ readonly required: true;
2539
+ readonly description: "Hash → base64 file content.";
2540
+ }];
2541
+ };
2542
+ }, {
2543
+ readonly resource: "application.subdomain";
2544
+ readonly method: "retrieve";
2545
+ readonly summary: "Get account subdomain";
2546
+ readonly description: "Return the account subdomain used in every Worker URL. A default is created on first use.";
2547
+ readonly http: "GET";
2548
+ readonly path: "/application/v1/subdomain";
2549
+ readonly streaming: "no";
2550
+ readonly pagination: false;
2551
+ readonly pathParams: readonly [];
2552
+ readonly query: readonly [];
2553
+ }, {
2554
+ readonly resource: "application.subdomain";
2555
+ readonly method: "update";
2556
+ readonly summary: "Change account subdomain";
2557
+ readonly description: "Change the account subdomain. Every Worker moves to the new address at once; old addresses stop resolving.";
2558
+ readonly http: "PUT";
2559
+ readonly path: "/application/v1/subdomain";
2560
+ readonly streaming: "no";
2561
+ readonly pagination: false;
2562
+ readonly pathParams: readonly [];
2563
+ readonly query: readonly [];
2564
+ readonly body: {
2565
+ readonly required: true;
2566
+ readonly fields: readonly [{
2567
+ readonly name: "subdomain";
2568
+ readonly type: "string";
2569
+ readonly required: true;
2570
+ readonly description: "Account subdomain, 8–32 lowercase letters and digits; part of every Worker URL.";
2571
+ }];
2572
+ };
2573
+ }, {
2574
+ readonly resource: "application.workers";
2575
+ readonly method: "list";
2576
+ readonly summary: "List Workers";
2577
+ readonly description: "List Workers in your account. Filter by status or by label with label.<key>=<value>.";
2578
+ readonly http: "GET";
2579
+ readonly path: "/application/v1/workers";
2580
+ readonly streaming: "no";
2581
+ readonly pagination: true;
2582
+ readonly pathParams: readonly [];
2583
+ readonly query: readonly [{
2584
+ readonly name: "cursor";
2585
+ readonly type: "string";
2586
+ readonly required: false;
2587
+ readonly description: "next_cursor from the previous page.";
2588
+ }, {
2589
+ readonly name: "limit";
2590
+ readonly type: "integer";
2591
+ readonly required: false;
2592
+ readonly description: "Items per page.";
2593
+ }, {
2594
+ readonly name: "status";
2595
+ readonly type: "string";
2596
+ readonly required: false;
2597
+ readonly description: "Worker status: draft (no deployment yet), active (serving), suspended (stopped by an administrator), deleted (soft-deleted, restorable for 7 days), purging (resources being removed), purged (gone).";
2598
+ }];
2599
+ }, {
2600
+ readonly resource: "application.workers";
2601
+ readonly method: "create";
2602
+ readonly summary: "Create Worker";
2603
+ readonly description: "Create a Worker. It serves nothing until a version is deployed.";
2604
+ readonly http: "POST";
2605
+ readonly path: "/application/v1/workers";
2606
+ readonly streaming: "no";
2607
+ readonly pagination: false;
2608
+ readonly pathParams: readonly [];
2609
+ readonly query: readonly [];
2610
+ readonly body: {
2611
+ readonly required: true;
2612
+ readonly fields: readonly [{
2613
+ readonly name: "name";
2614
+ readonly type: "string";
2255
2615
  readonly required: true;
2256
2616
  readonly description: "Worker name, unique in your account: 3–40 lowercase letters, digits or hyphens, starting and ending with a letter or digit, with no two hyphens in a row. The names www, api, admin, app, canary, canary-probe, status, docs and console are reserved.";
2257
2617
  }, {
@@ -2834,12 +3194,12 @@ export declare const operations: readonly [{
2834
3194
  readonly name: "namespace";
2835
3195
  readonly type: "string";
2836
3196
  readonly required: true;
2837
- readonly description: "Choose a namespace without prior registration; praxis is read-only. Folded to lowercase; matches [a-z0-9][a-z0-9._-]{0,63}.";
3197
+ readonly description: "Choose a namespace without prior registration; praxis is reserved for built-in Actions. Folded to lowercase; matches [a-z0-9][a-z0-9_-]{0,63}.";
2838
3198
  }, {
2839
3199
  readonly name: "name";
2840
3200
  readonly type: "string";
2841
3201
  readonly required: true;
2842
- readonly description: "Name, folded to lowercase; matches [a-z0-9][a-z0-9._-]{0,63}.";
3202
+ readonly description: "Name, folded to lowercase; matches [a-z0-9][a-z0-9_-]{0,63}.";
2843
3203
  }, {
2844
3204
  readonly name: "description";
2845
3205
  readonly type: "string";
@@ -2891,8 +3251,8 @@ export declare const operations: readonly [{
2891
3251
  }, {
2892
3252
  readonly resource: "automation.actions";
2893
3253
  readonly method: "retrieve";
2894
- readonly summary: "Get an action";
2895
- readonly description: "Read the action and its full current implementation. The response ETag is the current revision ID for conditional updates.";
3254
+ readonly summary: "Get an Action with its current input and output JSON Schemas";
3255
+ readonly description: "Read the Action and its full current implementation, with input and output JSON Schemas at current_revision.input_schema and current_revision.output_schema. To read a built-in Action, use ns=praxis and name=<bare name>, for example name=ocr; invoke it in a script with call(\"ocr\", input). The response ETag is the current revision ID for conditional updates.";
2896
3256
  readonly http: "GET";
2897
3257
  readonly path: "/automation/v1/actions/{ns}/{name}";
2898
3258
  readonly streaming: "no";
@@ -3336,8 +3696,8 @@ export declare const operations: readonly [{
3336
3696
  }, {
3337
3697
  readonly resource: "automation.runs";
3338
3698
  readonly method: "create";
3339
- readonly summary: "Create a run";
3340
- readonly description: "Execute a published script or workflow with target, or test unpublished code directly with source and language (ts for TypeScript, yaml for workflow YAML), without first saving or publishing a definition. target and source are mutually exclusive; target accepts ns/name@version, @tag or @range and defaults to latest when @ is omitted. Source/input validation precedes run creation, so a separate validate call is optional. input defaults to {} and must match the input schema and fit within 1 MiB. wait is 0–60 seconds (default 0): a terminal run returns 200, otherwise 202. Use the returned id with praxis.automation.runs.retrieve and inspect status, output and error; acceptance does not mean successful completion. Idempotency-Key is scoped to tenant, method and path for 24 hours, excluding wait from the fingerprint; replay returns the current run with Idempotent-Replayed: true, changed contents return 422 and an in-flight request returns 409. New non-deterministic run IDs contain 78 characters (run_ + 10-character base36 millisecond timestamp + 64-character hexadecimal DO ID), compared with 46 for legacy random IDs. Historical and deterministic IDs remain valid; same-millisecond order is not guaranteed. Minimal body: {\"source\":\"export default async () => ({ok: true});\",\"language\":\"ts\",\"wait\":10}.";
3699
+ readonly summary: "Run a published target or execute draft source";
3700
+ readonly description: "Execute a published script or workflow with target, or test unpublished code directly with source and language (ts for TypeScript, yaml for workflow YAML), without first saving or publishing a definition. Minimal script: `export default async ({ file_id }: { file_id: string }) => { const result = await call(\"ocr\", { document: { type: \"file\", file_id } }); return result; }`; send it as source with language=\"ts\", input={\"file_id\":\"<uploaded file ID>\"} and wait=0, using a PDF or image already uploaded to your account. To call a platform API directly in the same script, use the praxis SDK object, for example `praxis.model.ocr.create({ body: { model: \"glm-ocr\", document: { type: \"file\", file_id } } })`; Action IDs are strings passed to call(), not SDK methods such as praxis.ocr(...). praxis, call, invoke, console and codemode are module-scope bindings, not on globalThis, and need no import; invoke(\"namespace/name\", input) starts a child run. target and source are mutually exclusive; target accepts ns/name@version, @tag or @range and defaults to latest when @ is omitted. Source/input validation precedes run creation, so a separate validate call is optional. input defaults to {} and must match the input schema and fit within 1 MiB. wait is 0–60 seconds (default 0): a terminal run returns 200, otherwise 202. Use the returned id with praxis.automation.runs.retrieve and inspect status, output and error; acceptance does not mean successful completion. For long-running, background or batch work, use wait: 0 and poll the run, or split work into child runs or a workflow; wait only controls the response wait and does not extend execution limits. Actions time out after 30 s (run-sandbox after 10 min); scripts have a 5 min wall-clock limit and a 30 s CPU limit; workflows default to 24 h and allow up to 7 days. Each run can start at most 100 child runs, with at most 20 active at once; nesting depth is limited to 10. Idempotency-Key is scoped to tenant, method and path for 24 hours, excluding wait from the fingerprint; replay returns the current run with Idempotent-Replayed: true, changed contents return 422 and an in-flight request returns 409. New non-deterministic run IDs contain 78 characters, compared with 46 for legacy random IDs; treat IDs as opaque strings. Historical and deterministic IDs remain valid; same-millisecond order is not guaranteed.";
3341
3701
  readonly http: "POST";
3342
3702
  readonly path: "/automation/v1/runs";
3343
3703
  readonly streaming: "no";
@@ -3720,7 +4080,7 @@ export declare const operations: readonly [{
3720
4080
  readonly resource: "automation.scripts";
3721
4081
  readonly method: "create";
3722
4082
  readonly summary: "Create a script";
3723
- readonly description: "Save a TypeScript script as an editable draft for later reuse; this does not publish or start a run. Choose your own namespace without registering it first; praxis is read-only. Scripts and workflows share names within the tenant; a duplicate returns NAME_TAKEN. The draft is a source string with a default-exported function, for example `export default async (input: {name: string}) => ({greeting: \"Hello, \" + input.name});`. To test it, pass that source and language=ts to praxis.automation.runs.create without publishing. To publish later, use the returned draft.revision as expected_draft_revision.";
4083
+ readonly description: "Save a TypeScript script as an editable draft for later reuse; this does not publish or start a run. Choose your own namespace without registering it first; praxis is reserved for built-in Actions. Scripts and workflows share names within the tenant; a duplicate returns NAME_TAKEN. The draft is a source string with a default-exported function, for example `export default async (input: {name: string}) => ({greeting: \"Hello, \" + input.name});`. Scripts provide praxis, call, invoke, console and codemode as module-scope bindings, not on globalThis, with no import needed: praxis.<domain>.<resource>.<method>(...) calls a platform API, call(\"ocr\", input) calls a built-in Action, and invoke(\"namespace/name\", input) starts a child run. Action IDs are strings (bare names for built-ins, namespace/name for your own Actions); praxis.ocr(...) does not exist. To test it, pass that source and language=ts to praxis.automation.runs.create without publishing. To publish later, use the returned draft.revision as expected_draft_revision.";
3724
4084
  readonly http: "POST";
3725
4085
  readonly path: "/automation/v1/scripts";
3726
4086
  readonly streaming: "no";
@@ -3733,12 +4093,12 @@ export declare const operations: readonly [{
3733
4093
  readonly name: "namespace";
3734
4094
  readonly type: "string";
3735
4095
  readonly required: true;
3736
- readonly description: "Choose a namespace without prior registration; praxis is read-only. Folded to lowercase; matches [a-z0-9][a-z0-9._-]{0,63}.";
4096
+ readonly description: "Choose a namespace without prior registration; praxis is reserved for built-in Actions. Folded to lowercase; matches [a-z0-9][a-z0-9_-]{0,63}.";
3737
4097
  }, {
3738
4098
  readonly name: "name";
3739
4099
  readonly type: "string";
3740
4100
  readonly required: true;
3741
- readonly description: "Name, folded to lowercase; matches [a-z0-9][a-z0-9._-]{0,63}.";
4101
+ readonly description: "Name, folded to lowercase; matches [a-z0-9][a-z0-9_-]{0,63}.";
3742
4102
  }, {
3743
4103
  readonly name: "description";
3744
4104
  readonly type: "string";
@@ -3777,7 +4137,7 @@ export declare const operations: readonly [{
3777
4137
  readonly resource: "automation.scripts";
3778
4138
  readonly method: "update";
3779
4139
  readonly summary: "Update a script draft";
3780
- readonly description: "Update description, labels or draft with the current draft revision in If-Match. Even metadata-only updates create a new draft revision.";
4140
+ readonly description: "Update description, labels or draft with the current draft revision in If-Match. Even metadata-only updates create a new draft revision. Scripts provide praxis, call, invoke, console and codemode as module-scope bindings, not on globalThis, with no import needed: praxis.<domain>.<resource>.<method>(...) calls a platform API, call(\"ocr\", input) calls a built-in Action, and invoke(\"namespace/name\", input) starts a child run. Action IDs are strings (bare names for built-ins, namespace/name for your own Actions); praxis.ocr(...) does not exist.";
3781
4141
  readonly http: "PATCH";
3782
4142
  readonly path: "/automation/v1/scripts/{ns}/{name}";
3783
4143
  readonly streaming: "no";
@@ -4536,7 +4896,7 @@ export declare const operations: readonly [{
4536
4896
  readonly resource: "automation.workflows";
4537
4897
  readonly method: "create";
4538
4898
  readonly summary: "Create a workflow";
4539
- readonly description: "Save a YAML workflow as an editable draft without publishing or starting a run. Choose your own namespace without registering it first; praxis is read-only. To test the draft, send its source and language=yaml to praxis.automation.runs.create. Scripts and workflows share names within the tenant; a duplicate returns NAME_TAKEN. run.workflow accepts ns/name@range or {namespace, name, version, input}; run.script uses the same reference shape as a platform extension. Object namespace, name and version are required; version accepts an exact version, dist-tag or range, locked at publication. Object input defaults to {} and supports expressions; string references retain task-level with. run.await defaults to true and returns the child output. With false, the child uses detach and the task immediately returns {run_id}; parent cancellation does not cascade. Inline script.code returns DEFINITION_INVALID with a detail asking you to save a script and reference it first. raise.error retains its type URI, status, title and detail in the run error.";
4899
+ readonly description: "Save a YAML workflow as an editable draft without publishing or starting a run. Choose your own namespace without registering it first; praxis is reserved for built-in Actions. To test the draft, send its source and language=yaml to praxis.automation.runs.create. Scripts and workflows share names within the tenant; a duplicate returns NAME_TAKEN. run.workflow accepts ns/name@range or {namespace, name, version, input}; run.script uses the same reference shape as a platform extension. Object namespace, name and version are required; version accepts an exact version, dist-tag or range, locked at publication. Object input defaults to {} and supports expressions; string references retain task-level with. run.await defaults to true and returns the child output. With false, the child uses detach and the task immediately returns {run_id}; parent cancellation does not cascade. Inline script.code returns DEFINITION_INVALID with a detail asking you to save a script and reference it first. raise.error retains its type URI, status, title and detail in the run error.";
4540
4900
  readonly http: "POST";
4541
4901
  readonly path: "/automation/v1/workflows";
4542
4902
  readonly streaming: "no";
@@ -4549,12 +4909,12 @@ export declare const operations: readonly [{
4549
4909
  readonly name: "namespace";
4550
4910
  readonly type: "string";
4551
4911
  readonly required: true;
4552
- readonly description: "Choose a namespace without prior registration; praxis is read-only. Folded to lowercase; matches [a-z0-9][a-z0-9._-]{0,63}.";
4912
+ readonly description: "Choose a namespace without prior registration; praxis is reserved for built-in Actions. Folded to lowercase; matches [a-z0-9][a-z0-9_-]{0,63}.";
4553
4913
  }, {
4554
4914
  readonly name: "name";
4555
4915
  readonly type: "string";
4556
4916
  readonly required: true;
4557
- readonly description: "Name, folded to lowercase; matches [a-z0-9][a-z0-9._-]{0,63}.";
4917
+ readonly description: "Name, folded to lowercase; matches [a-z0-9][a-z0-9_-]{0,63}.";
4558
4918
  }, {
4559
4919
  readonly name: "description";
4560
4920
  readonly type: "string";
@@ -5492,7 +5852,7 @@ export declare const operations: readonly [{
5492
5852
  readonly name: "{column}";
5493
5853
  readonly type: "string";
5494
5854
  readonly required: false;
5495
- readonly description: "Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. See the filter operator matrix.";
5855
+ readonly description: "Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. Supported operators: eq (equal), neq (not equal; ne is not supported), gt/gte/lt/lte (comparisons), like (case-sensitive text pattern), ilike (case-insensitive text pattern), in (membership), is (null/boolean test), cs (contains), cd (contained by), and ov (array overlap). For like/ilike, * or % matches any sequence and _ matches one character, e.g. title=ilike.*spring*; URL-encode a literal % as %25. Use days=in.(1,2,3), title=is.null, active=is.true or active=is.false; is.not_null and is.unknown are also accepted (unknown means null). Negate a condition with not., e.g. title=not.eq.draft. Multiple filters are ANDed; use or=(title.eq.a,title.eq.b), and=(days.gte.1,days.lte.3), not.or=(...) or not.and=(...), with nested and(...) and or(...) groups as needed. cs/cd accept JSON objects or arrays on JSON fields; cs also accepts a JSON scalar. For array values or multi-link fields, use cs.{a,b}, cd.{a,b} or ov.{a,b}. JSON paths use -> for JSON and ->> for text, e.g. attributes->>has_onsen=eq.true or attributes->tags=cs.[1,2]; chain -> segments and end with ->> for text. Dot paths such as attributes.has_onsen are unsupported. Full-text, regex, range operators and any/all modifiers are unsupported.";
5496
5856
  }, {
5497
5857
  readonly name: "and";
5498
5858
  readonly type: "string";
@@ -5532,7 +5892,7 @@ export declare const operations: readonly [{
5532
5892
  readonly name: "on_conflict";
5533
5893
  readonly type: "string";
5534
5894
  readonly required: false;
5535
- readonly description: "POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.";
5895
+ readonly description: "POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. With resolution=merge-duplicates, a conflicting row keeps columns omitted from the request; supplied values replace the whole field value (including JSON objects), and explicit null clears a nullable field. With resolution=ignore-duplicates, a conflicting row is left unchanged. Without a conflict, both modes insert a new row using field defaults for omitted fields. In a batch, a key present in another row is filled with null when omitted in this row unless missing=default is set; that null can overwrite a value during merge. With missing=default, omitted keys stay omitted for conflict merges (existing values are preserved); new rows use defaults, or null when no default exists. Explicit null never invokes a default. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.";
5536
5896
  }, {
5537
5897
  readonly name: "columns";
5538
5898
  readonly type: "string";
@@ -5543,7 +5903,7 @@ export declare const operations: readonly [{
5543
5903
  readonly resource: "database.databases.rest";
5544
5904
  readonly method: "retrieve";
5545
5905
  readonly summary: "Select rows";
5546
- readonly description: "Read matching rows with filters, selected columns and ordering. Returns at most 1000 rows per request, including when limit is omitted. Content-Range reports the actual returned interval and the total when count is requested. PATCH and DELETE are not subject to this read cap. Unlike Supabase, casts, aggregates, spread and join modifiers are unsupported. Each table supports up to 1,000,000 rows. Query budget: 8,000 ms with a shared 3,000,000-row safety ceiling. Create indexes on filtered or sorted fields, or narrow the request when it exceeds its budget. Synchronous SQLite aggregates use candidate-row throughput estimates before execution; deployed Workers freeze clocks during synchronous CPU work, so the timer is not a guaranteed server-side interrupt. Count preferences: without filters, exact, planned and estimated all use SQLite's exact b-tree count. With filters, exact counts within budget; planned skips counting and reports an unknown total (Content-Range: 0-24/*); estimated attempts exact counting only when the preflight budget allows it, otherwise reports an unknown total. Preference-Applied echoes the requested count mode. Error table: QUERY_CANCELED / PostgREST 57014 is HTTP 500, retryable=false: Query timed out: index filtered or sorted fields, or narrow the range. DATABASE_INVALID_STATE is HTTP 409 for operations on a deleting database. Cleared or nonexistent databases return DATABASE_NOT_FOUND / HTTP 404. The count is an HTTP Content-Range response header, not a JSON property. Praxis SDK/codemode methods return the body only; a page length is not a total unless you know all matches fit in that page.";
5906
+ readonly description: "Read matching rows with filters, selected columns and ordering. Returns at most 1000 rows per request, including when limit is omitted. Content-Range reports the actual returned interval and the total when count is requested. PATCH and DELETE are not subject to this read cap. Unlike Supabase, casts, aggregates, spread and join modifiers are unsupported. Each table supports up to 1,000,000 rows. Query budget: 8,000 ms with a shared 3,000,000-row safety ceiling. Create indexes on filtered or sorted fields, or narrow the request when it exceeds its budget. Synchronous SQLite aggregates use candidate-row throughput estimates before execution; deployed Workers freeze clocks during synchronous CPU work, so the timer is not a guaranteed server-side interrupt. Count preferences: without filters, exact, planned and estimated all use SQLite's exact b-tree count. With filters, exact counts within budget; planned skips counting and reports an unknown total (Content-Range: 0-24/*); estimated attempts exact counting only when the preflight budget allows it, otherwise reports an unknown total. Preference-Applied echoes the requested count mode. Error table: QUERY_CANCELED / PostgREST 57014 is HTTP 500, retryable=false: Query timed out: index filtered or sorted fields, or narrow the range. DATABASE_INVALID_STATE is HTTP 409 for operations on a deleting database. Cleared or nonexistent databases return DATABASE_NOT_FOUND / HTTP 404. The count is an HTTP Content-Range response header, not a JSON property. Use praxis.database.count in the SDK or codemode to return { count: number | null }; a page length is not a total unless you know all matches fit in that page.";
5547
5907
  readonly http: "GET";
5548
5908
  readonly path: "/database/v1/databases/{database_id}/rest/{table}";
5549
5909
  readonly streaming: "no";
@@ -5564,7 +5924,7 @@ export declare const operations: readonly [{
5564
5924
  readonly name: "{column}";
5565
5925
  readonly type: "string";
5566
5926
  readonly required: false;
5567
- readonly description: "Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. See the filter operator matrix.";
5927
+ readonly description: "Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. Supported operators: eq (equal), neq (not equal; ne is not supported), gt/gte/lt/lte (comparisons), like (case-sensitive text pattern), ilike (case-insensitive text pattern), in (membership), is (null/boolean test), cs (contains), cd (contained by), and ov (array overlap). For like/ilike, * or % matches any sequence and _ matches one character, e.g. title=ilike.*spring*; URL-encode a literal % as %25. Use days=in.(1,2,3), title=is.null, active=is.true or active=is.false; is.not_null and is.unknown are also accepted (unknown means null). Negate a condition with not., e.g. title=not.eq.draft. Multiple filters are ANDed; use or=(title.eq.a,title.eq.b), and=(days.gte.1,days.lte.3), not.or=(...) or not.and=(...), with nested and(...) and or(...) groups as needed. cs/cd accept JSON objects or arrays on JSON fields; cs also accepts a JSON scalar. For array values or multi-link fields, use cs.{a,b}, cd.{a,b} or ov.{a,b}. JSON paths use -> for JSON and ->> for text, e.g. attributes->>has_onsen=eq.true or attributes->tags=cs.[1,2]; chain -> segments and end with ->> for text. Dot paths such as attributes.has_onsen are unsupported. Full-text, regex, range operators and any/all modifiers are unsupported.";
5568
5928
  }, {
5569
5929
  readonly name: "and";
5570
5930
  readonly type: "string";
@@ -5604,7 +5964,7 @@ export declare const operations: readonly [{
5604
5964
  readonly name: "on_conflict";
5605
5965
  readonly type: "string";
5606
5966
  readonly required: false;
5607
- readonly description: "POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.";
5967
+ readonly description: "POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. With resolution=merge-duplicates, a conflicting row keeps columns omitted from the request; supplied values replace the whole field value (including JSON objects), and explicit null clears a nullable field. With resolution=ignore-duplicates, a conflicting row is left unchanged. Without a conflict, both modes insert a new row using field defaults for omitted fields. In a batch, a key present in another row is filled with null when omitted in this row unless missing=default is set; that null can overwrite a value during merge. With missing=default, omitted keys stay omitted for conflict merges (existing values are preserved); new rows use defaults, or null when no default exists. Explicit null never invokes a default. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.";
5608
5968
  }, {
5609
5969
  readonly name: "columns";
5610
5970
  readonly type: "string";
@@ -5615,7 +5975,7 @@ export declare const operations: readonly [{
5615
5975
  readonly resource: "database.databases.rest";
5616
5976
  readonly method: "head";
5617
5977
  readonly summary: "Count rows";
5618
- readonly description: "Inspect the HTTP row count and range without retrieving row data; send Prefer: count=exact for a filtered count. Returns no body and does not fetch or serialize row data. A known count determines the interval using limit/offset or Range with a default and maximum page size of 1000. Without a count preference, or when the selected count mode cannot supply a total, Content-Range is */*. Singular Accept still validates page cardinality. Unlike Supabase, planned and estimated counts do not use PostgreSQL planner estimates. Count preferences: without filters, exact, planned and estimated all use SQLite's exact b-tree count. With filters, exact counts within budget; planned skips counting and reports an unknown total (Content-Range: 0-24/*); estimated attempts exact counting only when the preflight budget allows it, otherwise reports an unknown total. Preference-Applied echoes the requested count mode. Praxis SDK/codemode methods return only the empty body, not the Content-Range response header; use an HTTP client when you need that header.";
5978
+ readonly description: "Inspect the HTTP row count and range without retrieving row data; send Prefer: count=exact for a filtered count. Returns no body and does not fetch or serialize row data. A known count determines the interval using limit/offset or Range with a default and maximum page size of 1000. Without a count preference, or when the selected count mode cannot supply a total, Content-Range is */*. Singular Accept still validates page cardinality. Unlike Supabase, planned and estimated counts do not use PostgreSQL planner estimates. Count preferences: without filters, exact, planned and estimated all use SQLite's exact b-tree count. With filters, exact counts within budget; planned skips counting and reports an unknown total (Content-Range: 0-24/*); estimated attempts exact counting only when the preflight budget allows it, otherwise reports an unknown total. Preference-Applied echoes the requested count mode. Use praxis.database.count in the SDK or codemode to return { count: number | null } from this header without retrieving rows.";
5619
5979
  readonly http: "HEAD";
5620
5980
  readonly path: "/database/v1/databases/{database_id}/rest/{table}";
5621
5981
  readonly streaming: "no";
@@ -5636,7 +5996,7 @@ export declare const operations: readonly [{
5636
5996
  readonly name: "{column}";
5637
5997
  readonly type: "string";
5638
5998
  readonly required: false;
5639
- readonly description: "Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. See the filter operator matrix.";
5999
+ readonly description: "Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. Supported operators: eq (equal), neq (not equal; ne is not supported), gt/gte/lt/lte (comparisons), like (case-sensitive text pattern), ilike (case-insensitive text pattern), in (membership), is (null/boolean test), cs (contains), cd (contained by), and ov (array overlap). For like/ilike, * or % matches any sequence and _ matches one character, e.g. title=ilike.*spring*; URL-encode a literal % as %25. Use days=in.(1,2,3), title=is.null, active=is.true or active=is.false; is.not_null and is.unknown are also accepted (unknown means null). Negate a condition with not., e.g. title=not.eq.draft. Multiple filters are ANDed; use or=(title.eq.a,title.eq.b), and=(days.gte.1,days.lte.3), not.or=(...) or not.and=(...), with nested and(...) and or(...) groups as needed. cs/cd accept JSON objects or arrays on JSON fields; cs also accepts a JSON scalar. For array values or multi-link fields, use cs.{a,b}, cd.{a,b} or ov.{a,b}. JSON paths use -> for JSON and ->> for text, e.g. attributes->>has_onsen=eq.true or attributes->tags=cs.[1,2]; chain -> segments and end with ->> for text. Dot paths such as attributes.has_onsen are unsupported. Full-text, regex, range operators and any/all modifiers are unsupported.";
5640
6000
  }, {
5641
6001
  readonly name: "and";
5642
6002
  readonly type: "string";
@@ -5676,7 +6036,7 @@ export declare const operations: readonly [{
5676
6036
  readonly name: "on_conflict";
5677
6037
  readonly type: "string";
5678
6038
  readonly required: false;
5679
- readonly description: "POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.";
6039
+ readonly description: "POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. With resolution=merge-duplicates, a conflicting row keeps columns omitted from the request; supplied values replace the whole field value (including JSON objects), and explicit null clears a nullable field. With resolution=ignore-duplicates, a conflicting row is left unchanged. Without a conflict, both modes insert a new row using field defaults for omitted fields. In a batch, a key present in another row is filled with null when omitted in this row unless missing=default is set; that null can overwrite a value during merge. With missing=default, omitted keys stay omitted for conflict merges (existing values are preserved); new rows use defaults, or null when no default exists. Explicit null never invokes a default. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.";
5680
6040
  }, {
5681
6041
  readonly name: "columns";
5682
6042
  readonly type: "string";
@@ -5708,7 +6068,7 @@ export declare const operations: readonly [{
5708
6068
  readonly name: "{column}";
5709
6069
  readonly type: "string";
5710
6070
  readonly required: false;
5711
- readonly description: "Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. See the filter operator matrix.";
6071
+ readonly description: "Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. Supported operators: eq (equal), neq (not equal; ne is not supported), gt/gte/lt/lte (comparisons), like (case-sensitive text pattern), ilike (case-insensitive text pattern), in (membership), is (null/boolean test), cs (contains), cd (contained by), and ov (array overlap). For like/ilike, * or % matches any sequence and _ matches one character, e.g. title=ilike.*spring*; URL-encode a literal % as %25. Use days=in.(1,2,3), title=is.null, active=is.true or active=is.false; is.not_null and is.unknown are also accepted (unknown means null). Negate a condition with not., e.g. title=not.eq.draft. Multiple filters are ANDed; use or=(title.eq.a,title.eq.b), and=(days.gte.1,days.lte.3), not.or=(...) or not.and=(...), with nested and(...) and or(...) groups as needed. cs/cd accept JSON objects or arrays on JSON fields; cs also accepts a JSON scalar. For array values or multi-link fields, use cs.{a,b}, cd.{a,b} or ov.{a,b}. JSON paths use -> for JSON and ->> for text, e.g. attributes->>has_onsen=eq.true or attributes->tags=cs.[1,2]; chain -> segments and end with ->> for text. Dot paths such as attributes.has_onsen are unsupported. Full-text, regex, range operators and any/all modifiers are unsupported.";
5712
6072
  }, {
5713
6073
  readonly name: "and";
5714
6074
  readonly type: "string";
@@ -5748,7 +6108,7 @@ export declare const operations: readonly [{
5748
6108
  readonly name: "on_conflict";
5749
6109
  readonly type: "string";
5750
6110
  readonly required: false;
5751
- readonly description: "POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.";
6111
+ readonly description: "POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. With resolution=merge-duplicates, a conflicting row keeps columns omitted from the request; supplied values replace the whole field value (including JSON objects), and explicit null clears a nullable field. With resolution=ignore-duplicates, a conflicting row is left unchanged. Without a conflict, both modes insert a new row using field defaults for omitted fields. In a batch, a key present in another row is filled with null when omitted in this row unless missing=default is set; that null can overwrite a value during merge. With missing=default, omitted keys stay omitted for conflict merges (existing values are preserved); new rows use defaults, or null when no default exists. Explicit null never invokes a default. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.";
5752
6112
  }, {
5753
6113
  readonly name: "columns";
5754
6114
  readonly type: "string";
@@ -5763,7 +6123,7 @@ export declare const operations: readonly [{
5763
6123
  readonly resource: "database.databases.rest";
5764
6124
  readonly method: "create";
5765
6125
  readonly summary: "Insert rows";
5766
- readonly description: "Insert rows into an existing table after defining its fields; at most 500 rows per request. Each request is atomic: any failure rolls back the entire batch. There are no transactions across requests.\nRows are filled to the union of their keys with null; send Prefer: missing=default to use field defaults for missing keys.\nThe default is return=minimal: success returns HTTP 201 with an empty body. Send Prefer: return=representation to return the inserted rows. Unlike Supabase, upsert conflicts can target only id or one unique field, not a composite key. Each table supports up to 1,000,000 rows.";
6126
+ readonly description: "Insert rows into an existing table after defining its fields; at most 500 rows per request. Each request is atomic: any failure rolls back the entire batch. There are no transactions across requests.\nRows are filled to the union of their keys with null; send Prefer: missing=default to use field defaults for missing keys.\nThe default is return=minimal: success returns HTTP 201 with an empty body. Send Prefer: return=representation to return the inserted rows. With resolution=merge-duplicates, a conflicting row keeps columns omitted from the request; supplied values replace the whole field value (including JSON objects), and explicit null clears a nullable field. With resolution=ignore-duplicates, a conflicting row is left unchanged. Without a conflict, both modes insert a new row using field defaults for omitted fields. In a batch, a key present in another row is filled with null when omitted in this row unless missing=default is set; that null can overwrite a value during merge. With missing=default, omitted keys stay omitted for conflict merges (existing values are preserved); new rows use defaults, or null when no default exists. Explicit null never invokes a default. Unlike Supabase, upsert conflicts can target only id or one unique field, not a composite key. Each table supports up to 1,000,000 rows.";
5767
6127
  readonly http: "POST";
5768
6128
  readonly path: "/database/v1/databases/{database_id}/rest/{table}";
5769
6129
  readonly streaming: "no";
@@ -5784,7 +6144,7 @@ export declare const operations: readonly [{
5784
6144
  readonly name: "{column}";
5785
6145
  readonly type: "string";
5786
6146
  readonly required: false;
5787
- readonly description: "Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. See the filter operator matrix.";
6147
+ readonly description: "Horizontal filter: replace {column} with a field name or JSON path, e.g. title=eq.summary. Repeat for more columns. Supported operators: eq (equal), neq (not equal; ne is not supported), gt/gte/lt/lte (comparisons), like (case-sensitive text pattern), ilike (case-insensitive text pattern), in (membership), is (null/boolean test), cs (contains), cd (contained by), and ov (array overlap). For like/ilike, * or % matches any sequence and _ matches one character, e.g. title=ilike.*spring*; URL-encode a literal % as %25. Use days=in.(1,2,3), title=is.null, active=is.true or active=is.false; is.not_null and is.unknown are also accepted (unknown means null). Negate a condition with not., e.g. title=not.eq.draft. Multiple filters are ANDed; use or=(title.eq.a,title.eq.b), and=(days.gte.1,days.lte.3), not.or=(...) or not.and=(...), with nested and(...) and or(...) groups as needed. cs/cd accept JSON objects or arrays on JSON fields; cs also accepts a JSON scalar. For array values or multi-link fields, use cs.{a,b}, cd.{a,b} or ov.{a,b}. JSON paths use -> for JSON and ->> for text, e.g. attributes->>has_onsen=eq.true or attributes->tags=cs.[1,2]; chain -> segments and end with ->> for text. Dot paths such as attributes.has_onsen are unsupported. Full-text, regex, range operators and any/all modifiers are unsupported.";
5788
6148
  }, {
5789
6149
  readonly name: "and";
5790
6150
  readonly type: "string";
@@ -5824,7 +6184,7 @@ export declare const operations: readonly [{
5824
6184
  readonly name: "on_conflict";
5825
6185
  readonly type: "string";
5826
6186
  readonly required: false;
5827
- readonly description: "POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.";
6187
+ readonly description: "POST upsert: id or one unique field with resolution=merge-duplicates|ignore-duplicates. With resolution=merge-duplicates, a conflicting row keeps columns omitted from the request; supplied values replace the whole field value (including JSON objects), and explicit null clears a nullable field. With resolution=ignore-duplicates, a conflicting row is left unchanged. Without a conflict, both modes insert a new row using field defaults for omitted fields. In a batch, a key present in another row is filled with null when omitted in this row unless missing=default is set; that null can overwrite a value during merge. With missing=default, omitted keys stay omitted for conflict merges (existing values are preserved); new rows use defaults, or null when no default exists. Explicit null never invokes a default. POST accepts an optional client id matching [A-Za-z0-9_-]{1,64}; omitted ids are generated. PATCH cannot change id.";
5828
6188
  }, {
5829
6189
  readonly name: "columns";
5830
6190
  readonly type: "string";
@@ -5867,7 +6227,7 @@ export declare const operations: readonly [{
5867
6227
  readonly resource: "database.databases.tables";
5868
6228
  readonly method: "create";
5869
6229
  readonly summary: "Create table";
5870
- readonly description: "Creates a table together with its initial fields in one call and returns it (HTTP 201) with generated tbl_ and fld_ ids. name must match ^[a-z_][a-z0-9_]{0,62}$ and be unused in this database (duplicate: 409 UNIQUE_VIOLATION). fields is required and may be an empty array; fields can also be added later with databaseAddField. Limits: 50 tables per database, 64 fields per table, and 16 indexed or unique fields per table; exceeding one returns 400 LIMIT_EXCEEDED. Every row also has a system id column, which is not declared as a field. Insert data afterwards with databaseInsert. Unlike Supabase, define schema with this table API and the field APIs; PostgreSQL DDL and SQL migration files cannot be submitted. Each table supports up to 1,000,000 rows.";
6230
+ readonly description: "Creates a table together with its initial fields in one call and returns it (HTTP 201) with generated tbl_ and fld_ ids. name must match ^[a-z_][a-z0-9_]{0,62}$ and be unused in this database (duplicate: 409 UNIQUE_VIOLATION). fields is required and may be an empty array; fields can also be added later with databaseAddField. Limits: 50 tables per database, 64 fields per table, and 16 indexed or unique fields per table; exceeding one returns 400 LIMIT_EXCEEDED. Fields default to indexed:false. Set indexed:true explicitly for fields used in filters or ordering. Only indexed:true or unique:true consumes one of the 16 indexed-or-unique field slots; a field with both consumes one slot. Unique fields still consume a slot even with indexed:false. Existing fields are unchanged. Minimal field example: {\"name\":\"notes\",\"type\":\"string\",\"indexed\":false}. Every row also has a system id column, which is not declared as a field. Insert data afterwards with databaseInsert. Unlike Supabase, define schema with this table API and the field APIs; PostgreSQL DDL and SQL migration files cannot be submitted. Each table supports up to 1,000,000 rows.";
5871
6231
  readonly http: "POST";
5872
6232
  readonly path: "/database/v1/databases/{database_id}/tables";
5873
6233
  readonly streaming: "no";
@@ -5966,7 +6326,7 @@ export declare const operations: readonly [{
5966
6326
  readonly resource: "database.databases.tables.fields";
5967
6327
  readonly method: "create";
5968
6328
  readonly summary: "Add field";
5969
- readonly description: "Adds one field to an existing table and returns the updated table (HTTP 201). Required inputs are name (lowercase letters, digits and underscores; id and names starting with _ are reserved) and type (string, integer, number, boolean, datetime, json or link); json needs options.schema and link needs options.linked_table_id and options.multiple. Adding a required field to a table that already has rows needs a default, otherwise the call fails with 400 VALIDATION_FAILED; a default is written into every existing row. Scalar fields are indexed by default, while json and link fields cannot be indexed. Limits: 64 fields and 16 indexed or unique fields per table (400 LIMIT_EXCEEDED). Unlike Supabase, schema evolution uses field definitions rather than ALTER TABLE statements or SQL migrations.";
6329
+ readonly description: "Adds one field to an existing table and returns the updated table (HTTP 201). Required inputs are name (lowercase letters, digits and underscores; id and names starting with _ are reserved) and type (string, integer, number, boolean, datetime, json or link); json needs options.schema and link needs options.linked_table_id and options.multiple. Adding a required field to a table that already has rows needs a default, otherwise the call fails with 400 VALIDATION_FAILED; a default is written into every existing row. Fields default to indexed:false. Set indexed:true explicitly for fields used in filters or ordering. Only indexed:true or unique:true consumes one of the 16 indexed-or-unique field slots; a field with both consumes one slot. Unique fields still consume a slot even with indexed:false. Existing fields are unchanged. Minimal field example: {\"name\":\"notes\",\"type\":\"string\",\"indexed\":false}. JSON and link fields cannot be indexed. Limits: 64 fields and 16 indexed or unique fields per table (400 LIMIT_EXCEEDED). Unlike Supabase, schema evolution uses field definitions rather than ALTER TABLE statements or SQL migrations.";
5970
6330
  readonly http: "POST";
5971
6331
  readonly path: "/database/v1/databases/{database_id}/tables/{table}/fields";
5972
6332
  readonly streaming: "no";
@@ -6103,7 +6463,7 @@ export declare const operations: readonly [{
6103
6463
  readonly resource: "file.files";
6104
6464
  readonly method: "create";
6105
6465
  readonly summary: "Upload file";
6106
- readonly description: "Upload a file to reuse in conversations or attach to a knowledge base. Unlike OpenAI Files, uploads must be nonempty and at most 104857600 bytes, and only user_data, assistants and vision purposes are accepted. Send file bytes as a multipart file part, not a filename or file ID; in the SDK use a File or Blob, for example new File([\"Return within 23 days.\"], \"policy.txt\", { type: \"text/plain\" }). Content determines the MIME type. Supported uploads include PDF, DOCX/XLSX/PPTX, PNG/JPEG/GIF/WebP, MP3/WAV/FLAC/OGG/M4A, MP4/WebM, and UTF-8 JSON/NDJSON/CSV/Markdown/plain text; empty, unsupported, oversized files and unsupported purposes return 400. OpenAI Uploads chunking is not supported. The purpose vision accepts only PNG, JPEG, GIF and WebP, while conversation images require user_data. The returned ID belongs to your tenant; upload alone does not ingest the file into Knowledge. Knowledge attachment has a lower limit of 100000000 bytes. Optionally set expires_after[anchor]=created_at with expires_after[seconds] (3600–2592000), or praxis[expires_in_seconds] (3600–7776000), never both. Without expiry, the file persists until deleted.";
6466
+ readonly description: "Upload a file to reuse in conversations or attach to a knowledge base. Unlike OpenAI Files, uploads must be nonempty and at most 100000000 bytes, and only user_data, assistants and vision purposes are accepted. Send file bytes as a multipart file part, not a filename or file ID; in the SDK use a File or Blob, for example new File([\"Return within 23 days.\"], \"policy.txt\", { type: \"text/plain\" }). Content determines the MIME type. Supported uploads include PDF, DOCX/XLSX/PPTX, PNG/JPEG/GIF/WebP, MP3/WAV/FLAC/OGG/M4A, MP4/WebM, and UTF-8 JSON/NDJSON/CSV/Markdown/plain text; empty, unsupported, oversized files and unsupported purposes return 400. Use Uploads for larger files. The purpose vision accepts only PNG, JPEG, GIF and WebP, while conversation images require user_data. The returned ID belongs to your tenant; upload alone does not ingest the file into Knowledge. Knowledge attachment has a lower limit of 100000000 bytes. Optionally set expires_after[anchor]=created_at with expires_after[seconds] (3600–2592000), or praxis[expires_in_seconds] (3600–7776000), never both. Without expiry, the file persists until deleted.";
6107
6467
  readonly http: "POST";
6108
6468
  readonly path: "/file/v1/files";
6109
6469
  readonly streaming: "no";
@@ -6117,7 +6477,7 @@ export declare const operations: readonly [{
6117
6477
  readonly name: "file";
6118
6478
  readonly type: "string";
6119
6479
  readonly required: true;
6120
- readonly description: "File bytes in one multipart file part, not a filename or file ID. The file must be nonempty and at most 104857600 bytes; its content determines the MIME type.";
6480
+ readonly description: "File bytes in one multipart file part, not a filename or file ID. The file must be nonempty and at most 100000000 bytes; its content determines the MIME type.";
6121
6481
  }, {
6122
6482
  readonly name: "purpose";
6123
6483
  readonly type: "string";
@@ -6154,7 +6514,7 @@ export declare const operations: readonly [{
6154
6514
  readonly resource: "file.files";
6155
6515
  readonly method: "retrieve";
6156
6516
  readonly summary: "Retrieve file";
6157
- readonly description: "Retrieve metadata for a live file owned by your tenant. Use its file_dp_ ID from upload or list. Missing, deleted, expired and other-tenant files return 404; use the content endpoint to download the bytes.";
6517
+ readonly description: "Retrieve metadata for a live file owned by your tenant. Use its file- ID from upload or list. Missing, deleted, expired and other-tenant files return 404; use the content endpoint to download the bytes.";
6158
6518
  readonly http: "GET";
6159
6519
  readonly path: "/file/v1/files/{file_id}";
6160
6520
  readonly streaming: "no";
@@ -6168,7 +6528,7 @@ export declare const operations: readonly [{
6168
6528
  readonly resource: "file.files";
6169
6529
  readonly method: "retrieveContent";
6170
6530
  readonly summary: "Retrieve file content";
6171
- readonly description: "Download the original bytes of a live file owned by your tenant. Supply its file_dp_ ID from upload or list. A single byte Range can return a partial response; a range outside the file returns 416. Missing, deleted, expired and other-tenant files return 404.";
6531
+ readonly description: "Download the original bytes of a live file owned by your tenant. Supply its file- ID from upload or list. A single byte Range can return a partial response; a range outside the file returns 416. Missing, deleted, expired and other-tenant files return 404.";
6172
6532
  readonly http: "GET";
6173
6533
  readonly path: "/file/v1/files/{file_id}/content";
6174
6534
  readonly streaming: "no";
@@ -6178,6 +6538,124 @@ export declare const operations: readonly [{
6178
6538
  readonly sdkName: "file_id";
6179
6539
  }];
6180
6540
  readonly query: readonly [];
6541
+ }, {
6542
+ readonly resource: "file.uploads";
6543
+ readonly method: "create";
6544
+ readonly summary: "Create an upload";
6545
+ readonly description: "Start a multipart upload for a file larger than the 100000000-byte direct-upload limit. Supply the exact byte length, filename, MIME type and purpose. Unlike OpenAI, uploads accept at most 2 GiB (2147483648 bytes) and only user_data, assistants and vision purposes. Add parts of at most 64000000 bytes and complete within one hour. Optional part_size enables fixed-size, retryable parts. expires_after applies to the resulting file (3600–7776000 seconds on this own face); without it the file persists until deleted.";
6546
+ readonly http: "POST";
6547
+ readonly path: "/file/v1/uploads";
6548
+ readonly streaming: "no";
6549
+ readonly pagination: false;
6550
+ readonly pathParams: readonly [];
6551
+ readonly query: readonly [];
6552
+ readonly body: {
6553
+ readonly required: true;
6554
+ readonly fields: readonly [{
6555
+ readonly name: "bytes";
6556
+ readonly type: "integer";
6557
+ readonly required: true;
6558
+ readonly description: "Exact complete file length in bytes, from 1 through 2147483648 (2 GiB); the sum of completed parts must match.";
6559
+ }, {
6560
+ readonly name: "filename";
6561
+ readonly type: "string";
6562
+ readonly required: true;
6563
+ readonly description: "Filename for the resulting file, at most 255 UTF-8 bytes.";
6564
+ }, {
6565
+ readonly name: "mime_type";
6566
+ readonly type: "string";
6567
+ readonly required: true;
6568
+ readonly description: "Declared MIME type; validated against the assembled content.";
6569
+ }, {
6570
+ readonly name: "purpose";
6571
+ readonly type: "string";
6572
+ readonly enum: readonly ["user_data", "assistants", "vision"];
6573
+ readonly required: true;
6574
+ readonly description: "Use user_data for conversation attachments, assistants for assistant files, or vision for PNG, JPEG, GIF and WebP images.";
6575
+ }, {
6576
+ readonly name: "expires_after";
6577
+ readonly type: "object";
6578
+ readonly required: false;
6579
+ readonly description: "Optional expiry policy for the resulting file; omission retains the file until deletion.";
6580
+ }, {
6581
+ readonly name: "part_size";
6582
+ readonly type: "integer";
6583
+ readonly required: false;
6584
+ readonly description: "Optional fixed part size in bytes, 5242880–64000000. Requires part_number on every part; retries of identical bytes at the same number return the same part. Omit to use arbitrary-sized parts.";
6585
+ }];
6586
+ };
6587
+ }, {
6588
+ readonly resource: "file.uploads";
6589
+ readonly method: "cancel";
6590
+ readonly summary: "Cancel an upload";
6591
+ readonly description: "Cancel an unfinished upload using upload_id from create and release its reserved storage. Further parts and completion are rejected. Cancelling an already cancelled upload returns the same terminal result; a completed upload cannot be cancelled. Delete its resulting file instead.";
6592
+ readonly http: "POST";
6593
+ readonly path: "/file/v1/uploads/{upload_id}/cancel";
6594
+ readonly streaming: "no";
6595
+ readonly pagination: false;
6596
+ readonly pathParams: readonly [{
6597
+ readonly name: "upload_id";
6598
+ readonly sdkName: "upload_id";
6599
+ }];
6600
+ readonly query: readonly [];
6601
+ }, {
6602
+ readonly resource: "file.uploads";
6603
+ readonly method: "complete";
6604
+ readonly summary: "Complete an upload";
6605
+ readonly description: "Assemble the uploaded parts into a file. Supply upload_id from create and part_ids from addPart in file byte order; their sizes must total the declared bytes. Optional md5 verifies the assembled content. Retrying identical part_ids and normalized md5 returns the same result; different inputs return 409. Unlike OpenAI, completed can contain a file still processing (status uploaded). Poll files.retrieve using file.id until status processed (own face state active); error, expiry or 404 means processing failed and the file cannot be used.";
6606
+ readonly http: "POST";
6607
+ readonly path: "/file/v1/uploads/{upload_id}/complete";
6608
+ readonly streaming: "no";
6609
+ readonly pagination: false;
6610
+ readonly pathParams: readonly [{
6611
+ readonly name: "upload_id";
6612
+ readonly sdkName: "upload_id";
6613
+ }];
6614
+ readonly query: readonly [];
6615
+ readonly body: {
6616
+ readonly required: true;
6617
+ readonly fields: readonly [{
6618
+ readonly name: "part_ids";
6619
+ readonly type: "array";
6620
+ readonly itemType: "string";
6621
+ readonly required: true;
6622
+ readonly description: "All part IDs in concatenation order, without duplicates. Fixed-size uploads require increasing part_number order.";
6623
+ }, {
6624
+ readonly name: "md5";
6625
+ readonly type: "string";
6626
+ readonly required: false;
6627
+ readonly description: "Optional whole-file MD5 as 32 hexadecimal characters; verified after assembly.";
6628
+ }];
6629
+ };
6630
+ }, {
6631
+ readonly resource: "file.uploads.parts";
6632
+ readonly method: "create";
6633
+ readonly summary: "Add an upload part";
6634
+ readonly description: "Send one nonempty part as the multipart data field, at most 64000000 bytes. Parts may arrive concurrently in any order. Use upload_id from create. For a fixed-size upload, supply part_number starting at 1 and exactly part_size bytes except for the final remainder; retry the same number with identical bytes to recover its part ID. Without part_size, each request creates a new part and part_number is ignored. Save the returned part IDs for complete.";
6635
+ readonly http: "POST";
6636
+ readonly path: "/file/v1/uploads/{upload_id}/parts";
6637
+ readonly streaming: "no";
6638
+ readonly pagination: false;
6639
+ readonly multipart: true;
6640
+ readonly pathParams: readonly [{
6641
+ readonly name: "upload_id";
6642
+ readonly sdkName: "upload_id";
6643
+ }];
6644
+ readonly query: readonly [{
6645
+ readonly name: "part_number";
6646
+ readonly type: "integer";
6647
+ readonly required: false;
6648
+ readonly description: "Required when create set part_size; 1 through ceil(bytes / part_size). Ignored for general uploads.";
6649
+ }];
6650
+ readonly body: {
6651
+ readonly required: true;
6652
+ readonly fields: readonly [{
6653
+ readonly name: "data";
6654
+ readonly type: "string";
6655
+ readonly required: true;
6656
+ readonly description: "Raw bytes of this part, nonempty and at most 64000000 bytes.";
6657
+ }];
6658
+ };
6181
6659
  }, {
6182
6660
  readonly resource: "knowledge.vectorStores";
6183
6661
  readonly method: "list";
@@ -9452,7 +9930,7 @@ export declare const operations: readonly [{
9452
9930
  readonly name: "message";
9453
9931
  readonly type: "string";
9454
9932
  readonly required: true;
9455
- readonly description: "Problem description and original error text; at most 4096 Unicode code points.";
9933
+ readonly description: "Problem description, at most 4096 Unicode code points; may be empty only when contexts.praxis.error.message is a non-empty string.";
9456
9934
  }, {
9457
9935
  readonly name: "contact_email";
9458
9936
  readonly type: "string";
@@ -9687,7 +10165,7 @@ export declare const operations: readonly [{
9687
10165
  readonly resource: "sandbox.sandboxes";
9688
10166
  readonly method: "create";
9689
10167
  readonly summary: "Create sandbox (v2)";
9690
- readonly description: "Start an isolated environment using a templateID from templates.list, then retain sandboxID for lifecycle calls. Unlike E2B, templateID resolves to your ready Environment or a public Base; omit it to use the default base template (`base`), as the E2B SDK does. timeout is seconds from creation and defaults to 300. envVars supplies environment variables and metadata stores your string labels. All system communication is secured; use the returned envdAccessToken for files and commands through the envd data plane, not the management methods. Never print that token.";
10168
+ readonly description: "Create a sandbox from the template. All system communication with the sandbox is secured.";
9691
10169
  readonly http: "POST";
9692
10170
  readonly path: "/sandbox/v1/sandboxes";
9693
10171
  readonly streaming: "no";
@@ -9700,7 +10178,7 @@ export declare const operations: readonly [{
9700
10178
  readonly name: "templateID";
9701
10179
  readonly type: "string";
9702
10180
  readonly required: true;
9703
- readonly description: "Template ID or alias from templates.list; resolves to your ready Environment first, then a public Base. Omit it to use the default base template (`base`).";
10181
+ readonly description: "Identifier of the required template";
9704
10182
  }, {
9705
10183
  readonly name: "timeout";
9706
10184
  readonly type: "integer";
@@ -9814,7 +10292,7 @@ export declare const operations: readonly [{
9814
10292
  readonly resource: "sandbox.sandboxes";
9815
10293
  readonly method: "connect";
9816
10294
  readonly summary: "Connect sandbox (v2)";
9817
- readonly description: "Reconnect to an existing sandbox and resume it if paused. The optional timeout is seconds from now and defaults to 300; a later existing deadline is preserved. A running sandbox returns 200 and a resumed sandbox returns 201. Read sandboxID, domain and envdAccessToken from the response for subsequent data-plane access; never treat connecting as executing a command.";
10295
+ readonly description: "Returns sandbox details. If the sandbox is paused, it will be resumed. TTL is only extended. The request body is optional; an omitted timeout defaults to 300 seconds.";
9818
10296
  readonly http: "POST";
9819
10297
  readonly path: "/sandbox/v1/sandboxes/{sandboxID}/connect";
9820
10298
  readonly streaming: "no";
@@ -9935,7 +10413,7 @@ export declare const operations: readonly [{
9935
10413
  readonly resource: "sandbox.sandboxes.metrics";
9936
10414
  readonly method: "list";
9937
10415
  readonly summary: "Sandbox metrics";
9938
- readonly description: "Read CPU, memory and disk usage over the requested interval; start and end are Unix seconds. Unlike E2B, light sandboxes do not provide metrics; check the returned capabilities before requesting them.";
10416
+ readonly description: "Read CPU, memory and disk usage samples of a sandbox over a time window. Use it to size a sandbox or find out why it is slow. start and end are Unix timestamps in seconds; without them the recent samples are returned. An unknown id answers 404.";
9939
10417
  readonly http: "GET";
9940
10418
  readonly path: "/sandbox/v1/sandboxes/{sandboxID}/metrics";
9941
10419
  readonly streaming: "no";
@@ -10004,7 +10482,7 @@ export declare const operations: readonly [{
10004
10482
  readonly resource: "sandbox.sandboxes";
10005
10483
  readonly method: "pause";
10006
10484
  readonly summary: "Pause sandbox";
10007
- readonly description: "Suspend a running sandbox for later connection; use delete to discard it instead. Unlike E2B, light sandboxes preserve disk rather than memory, and persistent sandboxes can resume on data-plane traffic even when autoResume is false. Inspect paused state with the management retrieve operation to avoid waking the sandbox. Explicitly ephemeral sandboxes cannot pause. memory defaults to true, but only a memory-capable sandbox preserves running processes; memory=false saves disk state and resumes with a cold boot. Success returns 204; connect resumes the saved sandbox.";
10485
+ readonly description: "Pause a running sandbox, keeping its files and memory so that connectSandbox can resume it later. Use it to stop paying for compute without losing state; to discard the sandbox use killSandbox. Success answers 204. A sandbox that is not running answers 409.";
10008
10486
  readonly http: "POST";
10009
10487
  readonly path: "/sandbox/v1/sandboxes/{sandboxID}/pause";
10010
10488
  readonly streaming: "no";
@@ -10320,7 +10798,7 @@ export declare const operations: readonly [{
10320
10798
  readonly resource: "sandbox.templates";
10321
10799
  readonly method: "list";
10322
10800
  readonly summary: "List templates (v2)";
10323
- readonly description: "Choose a templateID before creating a sandbox. Unlike E2B, this catalog lists your ready Environments and public Bases; use a returned ID or alias; `base` is the default template that create uses when templateID is omitted. Page through results using nextToken.";
10801
+ readonly description: "List the templates you can create sandboxes from. Use it to pick the template id or alias for createSandbox. `base` is the default template that createSandbox uses when templateID is omitted. limit is 1 to 100 (default 100); send the cursor from the response back as nextToken to continue.";
10324
10802
  readonly http: "GET";
10325
10803
  readonly path: "/sandbox/v1/templates";
10326
10804
  readonly streaming: "no";
@@ -10795,6 +11273,1161 @@ export declare const operations: readonly [{
10795
11273
  readonly description: "Whether to filter out adult or unsafe content from results. Not supported for `fast` or `ultra-fast` search depths.";
10796
11274
  }];
10797
11275
  };
11276
+ }, {
11277
+ readonly resource: "ticket.activity";
11278
+ readonly method: "retrieve";
11279
+ readonly summary: "List activity";
11280
+ readonly description: "List activity within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Pass next_page_token as page_token to continue with the same filter. Service authorization applies to the verified human subject.";
11281
+ readonly http: "GET";
11282
+ readonly path: "/ticket/v1/activity";
11283
+ readonly streaming: "no";
11284
+ readonly pagination: false;
11285
+ readonly pathParams: readonly [];
11286
+ readonly query: readonly [{
11287
+ readonly name: "repository";
11288
+ readonly type: "string";
11289
+ readonly required: false;
11290
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11291
+ }, {
11292
+ readonly name: "page_size";
11293
+ readonly type: "integer";
11294
+ readonly required: false;
11295
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11296
+ }, {
11297
+ readonly name: "page_token";
11298
+ readonly type: "string";
11299
+ readonly required: false;
11300
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11301
+ }, {
11302
+ readonly name: "filter";
11303
+ readonly type: "string";
11304
+ readonly required: false;
11305
+ readonly description: "Activity qualifiers: actor, actor-kind, action, ticket, source and since; passed unchanged to the service.";
11306
+ }];
11307
+ }, {
11308
+ readonly resource: "ticket.comments";
11309
+ readonly method: "delete";
11310
+ readonly summary: "Remove comments";
11311
+ readonly description: "Remove comments within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
11312
+ readonly http: "DELETE";
11313
+ readonly path: "/ticket/v1/comments/{id}";
11314
+ readonly streaming: "no";
11315
+ readonly pagination: false;
11316
+ readonly pathParams: readonly [{
11317
+ readonly name: "id";
11318
+ readonly sdkName: "id";
11319
+ }];
11320
+ readonly query: readonly [{
11321
+ readonly name: "repository";
11322
+ readonly type: "string";
11323
+ readonly required: false;
11324
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11325
+ }];
11326
+ }, {
11327
+ readonly resource: "ticket.comments";
11328
+ readonly method: "retrieve";
11329
+ readonly summary: "Read comments";
11330
+ readonly description: "Read comments within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
11331
+ readonly http: "GET";
11332
+ readonly path: "/ticket/v1/comments/{id}";
11333
+ readonly streaming: "no";
11334
+ readonly pagination: false;
11335
+ readonly pathParams: readonly [{
11336
+ readonly name: "id";
11337
+ readonly sdkName: "id";
11338
+ }];
11339
+ readonly query: readonly [{
11340
+ readonly name: "repository";
11341
+ readonly type: "string";
11342
+ readonly required: false;
11343
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11344
+ }];
11345
+ }, {
11346
+ readonly resource: "ticket.comments";
11347
+ readonly method: "update";
11348
+ readonly summary: "Update comments";
11349
+ readonly description: "Update comments within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
11350
+ readonly http: "PATCH";
11351
+ readonly path: "/ticket/v1/comments/{id}";
11352
+ readonly streaming: "no";
11353
+ readonly pagination: false;
11354
+ readonly pathParams: readonly [{
11355
+ readonly name: "id";
11356
+ readonly sdkName: "id";
11357
+ }];
11358
+ readonly query: readonly [{
11359
+ readonly name: "repository";
11360
+ readonly type: "string";
11361
+ readonly required: false;
11362
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11363
+ }];
11364
+ readonly body: {
11365
+ readonly required: true;
11366
+ readonly fields: readonly [{
11367
+ readonly name: "body";
11368
+ readonly type: "string";
11369
+ readonly required: true;
11370
+ readonly description: "Markdown text, at most 65536 characters.";
11371
+ }, {
11372
+ readonly name: "in_reply_to";
11373
+ readonly type: "string";
11374
+ readonly required: false;
11375
+ readonly description: "Opaque identifier returned by this resource's create or list operation.";
11376
+ }];
11377
+ };
11378
+ }, {
11379
+ readonly resource: "ticket.comments.reactions";
11380
+ readonly method: "list";
11381
+ readonly summary: "List reactions";
11382
+ readonly description: "List reactions within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Pass next_page_token as page_token to continue with the same filter. Service authorization applies to the verified human subject.";
11383
+ readonly http: "GET";
11384
+ readonly path: "/ticket/v1/comments/{id}/reactions";
11385
+ readonly streaming: "no";
11386
+ readonly pagination: false;
11387
+ readonly pathParams: readonly [{
11388
+ readonly name: "id";
11389
+ readonly sdkName: "id";
11390
+ }];
11391
+ readonly query: readonly [{
11392
+ readonly name: "repository";
11393
+ readonly type: "string";
11394
+ readonly required: false;
11395
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11396
+ }, {
11397
+ readonly name: "page_size";
11398
+ readonly type: "integer";
11399
+ readonly required: false;
11400
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11401
+ }, {
11402
+ readonly name: "page_token";
11403
+ readonly type: "string";
11404
+ readonly required: false;
11405
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11406
+ }];
11407
+ }, {
11408
+ readonly resource: "ticket.comments.reactions";
11409
+ readonly method: "create";
11410
+ readonly summary: "Create or add reactions";
11411
+ readonly description: "Create or add reactions within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
11412
+ readonly http: "POST";
11413
+ readonly path: "/ticket/v1/comments/{id}/reactions";
11414
+ readonly streaming: "no";
11415
+ readonly pagination: false;
11416
+ readonly pathParams: readonly [{
11417
+ readonly name: "id";
11418
+ readonly sdkName: "id";
11419
+ }];
11420
+ readonly query: readonly [{
11421
+ readonly name: "repository";
11422
+ readonly type: "string";
11423
+ readonly required: false;
11424
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11425
+ }];
11426
+ readonly body: {
11427
+ readonly required: true;
11428
+ readonly fields: readonly [{
11429
+ readonly name: "content";
11430
+ readonly type: "string";
11431
+ readonly enum: readonly ["+1", "-1", "laugh", "confused", "heart", "hooray", "eyes", "rocket"];
11432
+ readonly required: true;
11433
+ readonly description: "Reaction to add or remove: +1 approves, -1 disapproves, laugh, confused, heart, hooray, eyes, or rocket.";
11434
+ }];
11435
+ };
11436
+ }, {
11437
+ readonly resource: "ticket.comments.reactions";
11438
+ readonly method: "delete";
11439
+ readonly summary: "Remove reactions";
11440
+ readonly description: "Remove reactions within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
11441
+ readonly http: "DELETE";
11442
+ readonly path: "/ticket/v1/comments/{id}/reactions/{content}";
11443
+ readonly streaming: "no";
11444
+ readonly pagination: false;
11445
+ readonly pathParams: readonly [{
11446
+ readonly name: "id";
11447
+ readonly sdkName: "id";
11448
+ }, {
11449
+ readonly name: "content";
11450
+ readonly sdkName: "content";
11451
+ }];
11452
+ readonly query: readonly [{
11453
+ readonly name: "repository";
11454
+ readonly type: "string";
11455
+ readonly required: false;
11456
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11457
+ }];
11458
+ }, {
11459
+ readonly resource: "ticket.labels";
11460
+ readonly method: "list";
11461
+ readonly summary: "List labels";
11462
+ readonly description: "List labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Pass next_page_token as page_token to continue with the same filter. Service authorization applies to the verified human subject.";
11463
+ readonly http: "GET";
11464
+ readonly path: "/ticket/v1/labels";
11465
+ readonly streaming: "no";
11466
+ readonly pagination: false;
11467
+ readonly pathParams: readonly [];
11468
+ readonly query: readonly [{
11469
+ readonly name: "repository";
11470
+ readonly type: "string";
11471
+ readonly required: false;
11472
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11473
+ }, {
11474
+ readonly name: "page_size";
11475
+ readonly type: "integer";
11476
+ readonly required: false;
11477
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11478
+ }, {
11479
+ readonly name: "page_token";
11480
+ readonly type: "string";
11481
+ readonly required: false;
11482
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11483
+ }];
11484
+ }, {
11485
+ readonly resource: "ticket.labels";
11486
+ readonly method: "create";
11487
+ readonly summary: "Create or add labels";
11488
+ readonly description: "Create or add labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Organization owner or admin authority is required for this write; API keys without role information act as members.";
11489
+ readonly http: "POST";
11490
+ readonly path: "/ticket/v1/labels";
11491
+ readonly streaming: "no";
11492
+ readonly pagination: false;
11493
+ readonly pathParams: readonly [];
11494
+ readonly query: readonly [{
11495
+ readonly name: "repository";
11496
+ readonly type: "string";
11497
+ readonly required: false;
11498
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11499
+ }];
11500
+ readonly body: {
11501
+ readonly required: true;
11502
+ readonly fields: readonly [{
11503
+ readonly name: "name";
11504
+ readonly type: "string";
11505
+ readonly required: true;
11506
+ readonly description: "Case-insensitive label name within the repository.";
11507
+ }, {
11508
+ readonly name: "color";
11509
+ readonly type: "string";
11510
+ readonly required: true;
11511
+ readonly description: "Six hexadecimal digits without #.";
11512
+ }, {
11513
+ readonly name: "description";
11514
+ readonly type: "string";
11515
+ readonly required: false;
11516
+ readonly description: "Label's purpose.";
11517
+ }];
11518
+ };
11519
+ }, {
11520
+ readonly resource: "ticket.labels";
11521
+ readonly method: "delete";
11522
+ readonly summary: "Remove labels";
11523
+ readonly description: "Remove labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Organization owner or admin authority is required for this write; API keys without role information act as members.";
11524
+ readonly http: "DELETE";
11525
+ readonly path: "/ticket/v1/labels/{name}";
11526
+ readonly streaming: "no";
11527
+ readonly pagination: false;
11528
+ readonly pathParams: readonly [{
11529
+ readonly name: "name";
11530
+ readonly sdkName: "name";
11531
+ }];
11532
+ readonly query: readonly [{
11533
+ readonly name: "repository";
11534
+ readonly type: "string";
11535
+ readonly required: false;
11536
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11537
+ }];
11538
+ }, {
11539
+ readonly resource: "ticket.labels";
11540
+ readonly method: "update";
11541
+ readonly summary: "Update labels";
11542
+ readonly description: "Update labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Organization owner or admin authority is required for this write; API keys without role information act as members.";
11543
+ readonly http: "PATCH";
11544
+ readonly path: "/ticket/v1/labels/{name}";
11545
+ readonly streaming: "no";
11546
+ readonly pagination: false;
11547
+ readonly pathParams: readonly [{
11548
+ readonly name: "name";
11549
+ readonly sdkName: "name";
11550
+ }];
11551
+ readonly query: readonly [{
11552
+ readonly name: "repository";
11553
+ readonly type: "string";
11554
+ readonly required: false;
11555
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11556
+ }];
11557
+ readonly body: {
11558
+ readonly required: true;
11559
+ readonly fields: readonly [{
11560
+ readonly name: "color";
11561
+ readonly type: "string";
11562
+ readonly required: false;
11563
+ readonly description: "Six hexadecimal digits without #.";
11564
+ }, {
11565
+ readonly name: "description";
11566
+ readonly type: "string";
11567
+ readonly required: false;
11568
+ readonly description: "Label's purpose.";
11569
+ }, {
11570
+ readonly name: "new_name";
11571
+ readonly type: "string";
11572
+ readonly required: false;
11573
+ readonly description: "Case-insensitive label name within the repository.";
11574
+ }];
11575
+ };
11576
+ }, {
11577
+ readonly resource: "ticket.milestones";
11578
+ readonly method: "list";
11579
+ readonly summary: "List milestones";
11580
+ readonly description: "List milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Pass next_page_token as page_token to continue with the same filter. Service authorization applies to the verified human subject.";
11581
+ readonly http: "GET";
11582
+ readonly path: "/ticket/v1/milestones";
11583
+ readonly streaming: "no";
11584
+ readonly pagination: false;
11585
+ readonly pathParams: readonly [];
11586
+ readonly query: readonly [{
11587
+ readonly name: "repository";
11588
+ readonly type: "string";
11589
+ readonly required: false;
11590
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11591
+ }, {
11592
+ readonly name: "page_size";
11593
+ readonly type: "integer";
11594
+ readonly required: false;
11595
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11596
+ }, {
11597
+ readonly name: "page_token";
11598
+ readonly type: "string";
11599
+ readonly required: false;
11600
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11601
+ }];
11602
+ }, {
11603
+ readonly resource: "ticket.milestones";
11604
+ readonly method: "create";
11605
+ readonly summary: "Create or add milestones";
11606
+ readonly description: "Create or add milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Organization owner or admin authority is required for this write; API keys without role information act as members.";
11607
+ readonly http: "POST";
11608
+ readonly path: "/ticket/v1/milestones";
11609
+ readonly streaming: "no";
11610
+ readonly pagination: false;
11611
+ readonly pathParams: readonly [];
11612
+ readonly query: readonly [{
11613
+ readonly name: "repository";
11614
+ readonly type: "string";
11615
+ readonly required: false;
11616
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11617
+ }];
11618
+ readonly body: {
11619
+ readonly required: true;
11620
+ readonly fields: readonly [{
11621
+ readonly name: "title";
11622
+ readonly type: "string";
11623
+ readonly required: true;
11624
+ readonly description: "Short title, at most 256 Unicode characters.";
11625
+ }, {
11626
+ readonly name: "description";
11627
+ readonly type: "string";
11628
+ readonly required: false;
11629
+ readonly description: "Milestone description.";
11630
+ }, {
11631
+ readonly name: "due_on";
11632
+ readonly type: "string";
11633
+ readonly required: false;
11634
+ readonly description: "Due date, or null if unset.";
11635
+ }, {
11636
+ readonly name: "state";
11637
+ readonly type: "string";
11638
+ readonly enum: readonly ["open", "closed"];
11639
+ readonly required: false;
11640
+ readonly description: "open means actionable; closed means resolved or declined.";
11641
+ }];
11642
+ };
11643
+ }, {
11644
+ readonly resource: "ticket.milestones";
11645
+ readonly method: "delete";
11646
+ readonly summary: "Remove milestones";
11647
+ readonly description: "Remove milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Organization owner or admin authority is required for this write; API keys without role information act as members.";
11648
+ readonly http: "DELETE";
11649
+ readonly path: "/ticket/v1/milestones/{number}";
11650
+ readonly streaming: "no";
11651
+ readonly pagination: false;
11652
+ readonly pathParams: readonly [{
11653
+ readonly name: "number";
11654
+ readonly sdkName: "number";
11655
+ }];
11656
+ readonly query: readonly [{
11657
+ readonly name: "repository";
11658
+ readonly type: "string";
11659
+ readonly required: false;
11660
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11661
+ }];
11662
+ }, {
11663
+ readonly resource: "ticket.milestones";
11664
+ readonly method: "retrieve";
11665
+ readonly summary: "Read milestones";
11666
+ readonly description: "Read milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
11667
+ readonly http: "GET";
11668
+ readonly path: "/ticket/v1/milestones/{number}";
11669
+ readonly streaming: "no";
11670
+ readonly pagination: false;
11671
+ readonly pathParams: readonly [{
11672
+ readonly name: "number";
11673
+ readonly sdkName: "number";
11674
+ }];
11675
+ readonly query: readonly [{
11676
+ readonly name: "repository";
11677
+ readonly type: "string";
11678
+ readonly required: false;
11679
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11680
+ }];
11681
+ }, {
11682
+ readonly resource: "ticket.milestones";
11683
+ readonly method: "update";
11684
+ readonly summary: "Update milestones";
11685
+ readonly description: "Update milestones within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Organization owner or admin authority is required for this write; API keys without role information act as members.";
11686
+ readonly http: "PATCH";
11687
+ readonly path: "/ticket/v1/milestones/{number}";
11688
+ readonly streaming: "no";
11689
+ readonly pagination: false;
11690
+ readonly pathParams: readonly [{
11691
+ readonly name: "number";
11692
+ readonly sdkName: "number";
11693
+ }];
11694
+ readonly query: readonly [{
11695
+ readonly name: "repository";
11696
+ readonly type: "string";
11697
+ readonly required: false;
11698
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11699
+ }];
11700
+ readonly body: {
11701
+ readonly required: true;
11702
+ readonly fields: readonly [{
11703
+ readonly name: "title";
11704
+ readonly type: "string";
11705
+ readonly required: false;
11706
+ readonly description: "Short title, at most 256 Unicode characters.";
11707
+ }, {
11708
+ readonly name: "description";
11709
+ readonly type: "string";
11710
+ readonly required: false;
11711
+ readonly description: "Milestone description.";
11712
+ }, {
11713
+ readonly name: "due_on";
11714
+ readonly type: "string";
11715
+ readonly required: false;
11716
+ readonly description: "Due date, or null if unset.";
11717
+ }, {
11718
+ readonly name: "state";
11719
+ readonly type: "string";
11720
+ readonly enum: readonly ["open", "closed"];
11721
+ readonly required: false;
11722
+ readonly description: "open means actionable; closed means resolved or declined.";
11723
+ }];
11724
+ };
11725
+ }, {
11726
+ readonly resource: "ticket.repositories";
11727
+ readonly method: "list";
11728
+ readonly summary: "List repositories";
11729
+ readonly description: "List repositories within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Pass next_page_token as page_token to continue with the same filter. Service authorization applies to the verified human subject.";
11730
+ readonly http: "GET";
11731
+ readonly path: "/ticket/v1/repositories";
11732
+ readonly streaming: "no";
11733
+ readonly pagination: false;
11734
+ readonly pathParams: readonly [];
11735
+ readonly query: readonly [{
11736
+ readonly name: "page_size";
11737
+ readonly type: "integer";
11738
+ readonly required: false;
11739
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11740
+ }, {
11741
+ readonly name: "page_token";
11742
+ readonly type: "string";
11743
+ readonly required: false;
11744
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11745
+ }];
11746
+ }, {
11747
+ readonly resource: "ticket.tickets";
11748
+ readonly method: "list";
11749
+ readonly summary: "List tickets";
11750
+ readonly description: "List tickets within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Pass next_page_token as page_token to continue with the same filter. Service authorization applies to the verified human subject.";
11751
+ readonly http: "GET";
11752
+ readonly path: "/ticket/v1/tickets";
11753
+ readonly streaming: "no";
11754
+ readonly pagination: false;
11755
+ readonly pathParams: readonly [];
11756
+ readonly query: readonly [{
11757
+ readonly name: "repository";
11758
+ readonly type: "string";
11759
+ readonly required: false;
11760
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11761
+ }, {
11762
+ readonly name: "page_size";
11763
+ readonly type: "integer";
11764
+ readonly required: false;
11765
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11766
+ }, {
11767
+ readonly name: "page_token";
11768
+ readonly type: "string";
11769
+ readonly required: false;
11770
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11771
+ }, {
11772
+ readonly name: "filter";
11773
+ readonly type: "string";
11774
+ readonly required: false;
11775
+ readonly description: "Search qualifier subset: is/state, reason, label/-label, no, assignee, author, mentions, milestone, type, kind, assignee-kind, in and sort; unknown qualifiers return INVALID_PARAMS. Passed unchanged to the service.";
11776
+ }];
11777
+ }, {
11778
+ readonly resource: "ticket.tickets";
11779
+ readonly method: "create";
11780
+ readonly summary: "Create or add tickets";
11781
+ readonly description: "Create or add tickets within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
11782
+ readonly http: "POST";
11783
+ readonly path: "/ticket/v1/tickets";
11784
+ readonly streaming: "no";
11785
+ readonly pagination: false;
11786
+ readonly pathParams: readonly [];
11787
+ readonly query: readonly [{
11788
+ readonly name: "repository";
11789
+ readonly type: "string";
11790
+ readonly required: false;
11791
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11792
+ }];
11793
+ readonly body: {
11794
+ readonly required: true;
11795
+ readonly fields: readonly [{
11796
+ readonly name: "title";
11797
+ readonly type: "string";
11798
+ readonly required: true;
11799
+ readonly description: "Short title, at most 256 Unicode characters.";
11800
+ }, {
11801
+ readonly name: "body";
11802
+ readonly type: "string";
11803
+ readonly required: false;
11804
+ readonly description: "Markdown text, at most 65536 characters.";
11805
+ }, {
11806
+ readonly name: "type";
11807
+ readonly type: "string";
11808
+ readonly required: false;
11809
+ readonly description: "Built-in type name; null clears an existing type.";
11810
+ }, {
11811
+ readonly name: "labels";
11812
+ readonly type: "array";
11813
+ readonly itemType: "string";
11814
+ readonly required: false;
11815
+ readonly description: "Labels attached to this ticket; updates replace the complete list.";
11816
+ }, {
11817
+ readonly name: "assignees";
11818
+ readonly type: "array";
11819
+ readonly itemType: "string";
11820
+ readonly required: false;
11821
+ readonly description: "Complete assignee list, at most ten.";
11822
+ }, {
11823
+ readonly name: "milestone";
11824
+ readonly type: "integer";
11825
+ readonly required: false;
11826
+ readonly description: "Repository-local number returned by create or list; distinct from the object's id.";
11827
+ }, {
11828
+ readonly name: "parent";
11829
+ readonly type: "integer";
11830
+ readonly required: false;
11831
+ readonly description: "Repository-local number returned by create or list; distinct from the object's id.";
11832
+ }];
11833
+ };
11834
+ }, {
11835
+ readonly resource: "ticket.tickets";
11836
+ readonly method: "retrieve";
11837
+ readonly summary: "Read tickets";
11838
+ readonly description: "Read tickets within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
11839
+ readonly http: "GET";
11840
+ readonly path: "/ticket/v1/tickets/{number}";
11841
+ readonly streaming: "no";
11842
+ readonly pagination: false;
11843
+ readonly pathParams: readonly [{
11844
+ readonly name: "number";
11845
+ readonly sdkName: "number";
11846
+ }];
11847
+ readonly query: readonly [{
11848
+ readonly name: "repository";
11849
+ readonly type: "string";
11850
+ readonly required: false;
11851
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11852
+ }];
11853
+ }, {
11854
+ readonly resource: "ticket.tickets";
11855
+ readonly method: "update";
11856
+ readonly summary: "Update tickets";
11857
+ readonly description: "Update tickets within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
11858
+ readonly http: "PATCH";
11859
+ readonly path: "/ticket/v1/tickets/{number}";
11860
+ readonly streaming: "no";
11861
+ readonly pagination: false;
11862
+ readonly pathParams: readonly [{
11863
+ readonly name: "number";
11864
+ readonly sdkName: "number";
11865
+ }];
11866
+ readonly query: readonly [{
11867
+ readonly name: "repository";
11868
+ readonly type: "string";
11869
+ readonly required: false;
11870
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11871
+ }];
11872
+ readonly body: {
11873
+ readonly required: true;
11874
+ readonly fields: readonly [{
11875
+ readonly name: "title";
11876
+ readonly type: "string";
11877
+ readonly required: false;
11878
+ readonly description: "Short title, at most 256 Unicode characters.";
11879
+ }, {
11880
+ readonly name: "body";
11881
+ readonly type: "string";
11882
+ readonly required: false;
11883
+ readonly description: "Markdown text, at most 65536 characters.";
11884
+ }, {
11885
+ readonly name: "type";
11886
+ readonly type: "string";
11887
+ readonly required: false;
11888
+ readonly description: "Built-in type name; null clears an existing type.";
11889
+ }, {
11890
+ readonly name: "labels";
11891
+ readonly type: "array";
11892
+ readonly itemType: "string";
11893
+ readonly required: false;
11894
+ readonly description: "Labels attached to this ticket; updates replace the complete list.";
11895
+ }, {
11896
+ readonly name: "assignees";
11897
+ readonly type: "array";
11898
+ readonly itemType: "string";
11899
+ readonly required: false;
11900
+ readonly description: "Complete assignee list, at most ten.";
11901
+ }, {
11902
+ readonly name: "milestone";
11903
+ readonly type: "integer";
11904
+ readonly required: false;
11905
+ readonly description: "Repository-local number returned by create or list; distinct from the object's id.";
11906
+ }, {
11907
+ readonly name: "state";
11908
+ readonly type: "string";
11909
+ readonly enum: readonly ["open", "closed"];
11910
+ readonly required: false;
11911
+ readonly description: "open means actionable; closed means resolved or declined.";
11912
+ }, {
11913
+ readonly name: "state_reason";
11914
+ readonly type: "string";
11915
+ readonly enum: readonly ["completed", "not_planned", "duplicate"];
11916
+ readonly required: false;
11917
+ readonly description: "Reason for closing: completed resolves, not_planned declines, duplicate marks a duplicate.";
11918
+ }, {
11919
+ readonly name: "duplicate_of";
11920
+ readonly type: "integer";
11921
+ readonly required: false;
11922
+ readonly description: "Repository-local number returned by create or list; distinct from the object's id.";
11923
+ }];
11924
+ };
11925
+ }, {
11926
+ readonly resource: "ticket.tickets.comments";
11927
+ readonly method: "list";
11928
+ readonly summary: "List comments";
11929
+ readonly description: "List comments within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Pass next_page_token as page_token to continue with the same filter. Service authorization applies to the verified human subject.";
11930
+ readonly http: "GET";
11931
+ readonly path: "/ticket/v1/tickets/{number}/comments";
11932
+ readonly streaming: "no";
11933
+ readonly pagination: false;
11934
+ readonly pathParams: readonly [{
11935
+ readonly name: "number";
11936
+ readonly sdkName: "number";
11937
+ }];
11938
+ readonly query: readonly [{
11939
+ readonly name: "repository";
11940
+ readonly type: "string";
11941
+ readonly required: false;
11942
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11943
+ }, {
11944
+ readonly name: "page_size";
11945
+ readonly type: "integer";
11946
+ readonly required: false;
11947
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11948
+ }, {
11949
+ readonly name: "page_token";
11950
+ readonly type: "string";
11951
+ readonly required: false;
11952
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11953
+ }];
11954
+ }, {
11955
+ readonly resource: "ticket.tickets.comments";
11956
+ readonly method: "create";
11957
+ readonly summary: "Create or add comments";
11958
+ readonly description: "Create or add comments within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
11959
+ readonly http: "POST";
11960
+ readonly path: "/ticket/v1/tickets/{number}/comments";
11961
+ readonly streaming: "no";
11962
+ readonly pagination: false;
11963
+ readonly pathParams: readonly [{
11964
+ readonly name: "number";
11965
+ readonly sdkName: "number";
11966
+ }];
11967
+ readonly query: readonly [{
11968
+ readonly name: "repository";
11969
+ readonly type: "string";
11970
+ readonly required: false;
11971
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11972
+ }];
11973
+ readonly body: {
11974
+ readonly required: true;
11975
+ readonly fields: readonly [{
11976
+ readonly name: "body";
11977
+ readonly type: "string";
11978
+ readonly required: true;
11979
+ readonly description: "Markdown text, at most 65536 characters.";
11980
+ }, {
11981
+ readonly name: "in_reply_to";
11982
+ readonly type: "string";
11983
+ readonly required: false;
11984
+ readonly description: "Opaque identifier returned by this resource's create or list operation.";
11985
+ }];
11986
+ };
11987
+ }, {
11988
+ readonly resource: "ticket.tickets.dependencies";
11989
+ readonly method: "retrieveBlockedBy";
11990
+ readonly summary: "List blocked by";
11991
+ readonly description: "List blocked by within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Pass next_page_token as page_token to continue with the same filter. Service authorization applies to the verified human subject.";
11992
+ readonly http: "GET";
11993
+ readonly path: "/ticket/v1/tickets/{number}/dependencies/blocked_by";
11994
+ readonly streaming: "no";
11995
+ readonly pagination: false;
11996
+ readonly pathParams: readonly [{
11997
+ readonly name: "number";
11998
+ readonly sdkName: "number";
11999
+ }];
12000
+ readonly query: readonly [{
12001
+ readonly name: "repository";
12002
+ readonly type: "string";
12003
+ readonly required: false;
12004
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12005
+ }, {
12006
+ readonly name: "page_size";
12007
+ readonly type: "integer";
12008
+ readonly required: false;
12009
+ readonly description: "Records per page; defaults to 30, maximum 100.";
12010
+ }, {
12011
+ readonly name: "page_token";
12012
+ readonly type: "string";
12013
+ readonly required: false;
12014
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
12015
+ }];
12016
+ }, {
12017
+ readonly resource: "ticket.tickets.dependencies.blockedBy";
12018
+ readonly method: "create";
12019
+ readonly summary: "Create or add blocked by";
12020
+ readonly description: "Create or add blocked by within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
12021
+ readonly http: "POST";
12022
+ readonly path: "/ticket/v1/tickets/{number}/dependencies/blocked_by";
12023
+ readonly streaming: "no";
12024
+ readonly pagination: false;
12025
+ readonly pathParams: readonly [{
12026
+ readonly name: "number";
12027
+ readonly sdkName: "number";
12028
+ }];
12029
+ readonly query: readonly [{
12030
+ readonly name: "repository";
12031
+ readonly type: "string";
12032
+ readonly required: false;
12033
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12034
+ }];
12035
+ readonly body: {
12036
+ readonly required: true;
12037
+ readonly fields: readonly [{
12038
+ readonly name: "blocked_by";
12039
+ readonly type: "integer";
12040
+ readonly required: true;
12041
+ readonly description: "Repository-local number returned by create or list; distinct from the object's id.";
12042
+ }];
12043
+ };
12044
+ }, {
12045
+ readonly resource: "ticket.tickets.dependencies.blockedBy";
12046
+ readonly method: "delete";
12047
+ readonly summary: "Remove blocked by";
12048
+ readonly description: "Remove blocked by within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
12049
+ readonly http: "DELETE";
12050
+ readonly path: "/ticket/v1/tickets/{number}/dependencies/blocked_by/{n}";
12051
+ readonly streaming: "no";
12052
+ readonly pagination: false;
12053
+ readonly pathParams: readonly [{
12054
+ readonly name: "number";
12055
+ readonly sdkName: "number";
12056
+ }, {
12057
+ readonly name: "n";
12058
+ readonly sdkName: "n";
12059
+ }];
12060
+ readonly query: readonly [{
12061
+ readonly name: "repository";
12062
+ readonly type: "string";
12063
+ readonly required: false;
12064
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12065
+ }];
12066
+ }, {
12067
+ readonly resource: "ticket.tickets.dependencies";
12068
+ readonly method: "retrieveBlocking";
12069
+ readonly summary: "List blocking";
12070
+ readonly description: "List blocking within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Pass next_page_token as page_token to continue with the same filter. Service authorization applies to the verified human subject.";
12071
+ readonly http: "GET";
12072
+ readonly path: "/ticket/v1/tickets/{number}/dependencies/blocking";
12073
+ readonly streaming: "no";
12074
+ readonly pagination: false;
12075
+ readonly pathParams: readonly [{
12076
+ readonly name: "number";
12077
+ readonly sdkName: "number";
12078
+ }];
12079
+ readonly query: readonly [{
12080
+ readonly name: "repository";
12081
+ readonly type: "string";
12082
+ readonly required: false;
12083
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12084
+ }, {
12085
+ readonly name: "page_size";
12086
+ readonly type: "integer";
12087
+ readonly required: false;
12088
+ readonly description: "Records per page; defaults to 30, maximum 100.";
12089
+ }, {
12090
+ readonly name: "page_token";
12091
+ readonly type: "string";
12092
+ readonly required: false;
12093
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
12094
+ }];
12095
+ }, {
12096
+ readonly resource: "ticket.tickets.events";
12097
+ readonly method: "list";
12098
+ readonly summary: "List events";
12099
+ readonly description: "List events within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Pass next_page_token as page_token to continue with the same filter. Service authorization applies to the verified human subject.";
12100
+ readonly http: "GET";
12101
+ readonly path: "/ticket/v1/tickets/{number}/events";
12102
+ readonly streaming: "no";
12103
+ readonly pagination: false;
12104
+ readonly pathParams: readonly [{
12105
+ readonly name: "number";
12106
+ readonly sdkName: "number";
12107
+ }];
12108
+ readonly query: readonly [{
12109
+ readonly name: "repository";
12110
+ readonly type: "string";
12111
+ readonly required: false;
12112
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12113
+ }, {
12114
+ readonly name: "page_size";
12115
+ readonly type: "integer";
12116
+ readonly required: false;
12117
+ readonly description: "Records per page; defaults to 30, maximum 100.";
12118
+ }, {
12119
+ readonly name: "page_token";
12120
+ readonly type: "string";
12121
+ readonly required: false;
12122
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
12123
+ }];
12124
+ }, {
12125
+ readonly resource: "ticket.tickets";
12126
+ readonly method: "deleteLock";
12127
+ readonly summary: "Remove lock";
12128
+ readonly description: "Remove lock within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Organization owner or admin authority is required for this write; API keys without role information act as members.";
12129
+ readonly http: "DELETE";
12130
+ readonly path: "/ticket/v1/tickets/{number}/lock";
12131
+ readonly streaming: "no";
12132
+ readonly pagination: false;
12133
+ readonly pathParams: readonly [{
12134
+ readonly name: "number";
12135
+ readonly sdkName: "number";
12136
+ }];
12137
+ readonly query: readonly [{
12138
+ readonly name: "repository";
12139
+ readonly type: "string";
12140
+ readonly required: false;
12141
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12142
+ }];
12143
+ }, {
12144
+ readonly resource: "ticket.tickets";
12145
+ readonly method: "updateLock";
12146
+ readonly summary: "Update lock";
12147
+ readonly description: "Update lock within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Organization owner or admin authority is required for this write; API keys without role information act as members.";
12148
+ readonly http: "PUT";
12149
+ readonly path: "/ticket/v1/tickets/{number}/lock";
12150
+ readonly streaming: "no";
12151
+ readonly pagination: false;
12152
+ readonly pathParams: readonly [{
12153
+ readonly name: "number";
12154
+ readonly sdkName: "number";
12155
+ }];
12156
+ readonly query: readonly [{
12157
+ readonly name: "repository";
12158
+ readonly type: "string";
12159
+ readonly required: false;
12160
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12161
+ }];
12162
+ readonly body: {
12163
+ readonly required: false;
12164
+ readonly fields: readonly [{
12165
+ readonly name: "lock_reason";
12166
+ readonly type: "string";
12167
+ readonly enum: readonly ["off-topic", "too heated", "resolved", "spam"];
12168
+ readonly required: false;
12169
+ readonly description: "Reason for locking: off-topic, too heated, resolved, or spam.";
12170
+ }];
12171
+ };
12172
+ }, {
12173
+ readonly resource: "ticket.tickets.reactions";
12174
+ readonly method: "list";
12175
+ readonly summary: "List reactions";
12176
+ readonly description: "List reactions within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Pass next_page_token as page_token to continue with the same filter. Service authorization applies to the verified human subject.";
12177
+ readonly http: "GET";
12178
+ readonly path: "/ticket/v1/tickets/{number}/reactions";
12179
+ readonly streaming: "no";
12180
+ readonly pagination: false;
12181
+ readonly pathParams: readonly [{
12182
+ readonly name: "number";
12183
+ readonly sdkName: "number";
12184
+ }];
12185
+ readonly query: readonly [{
12186
+ readonly name: "repository";
12187
+ readonly type: "string";
12188
+ readonly required: false;
12189
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12190
+ }, {
12191
+ readonly name: "page_size";
12192
+ readonly type: "integer";
12193
+ readonly required: false;
12194
+ readonly description: "Records per page; defaults to 30, maximum 100.";
12195
+ }, {
12196
+ readonly name: "page_token";
12197
+ readonly type: "string";
12198
+ readonly required: false;
12199
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
12200
+ }];
12201
+ }, {
12202
+ readonly resource: "ticket.tickets.reactions";
12203
+ readonly method: "create";
12204
+ readonly summary: "Create or add reactions";
12205
+ readonly description: "Create or add reactions within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
12206
+ readonly http: "POST";
12207
+ readonly path: "/ticket/v1/tickets/{number}/reactions";
12208
+ readonly streaming: "no";
12209
+ readonly pagination: false;
12210
+ readonly pathParams: readonly [{
12211
+ readonly name: "number";
12212
+ readonly sdkName: "number";
12213
+ }];
12214
+ readonly query: readonly [{
12215
+ readonly name: "repository";
12216
+ readonly type: "string";
12217
+ readonly required: false;
12218
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12219
+ }];
12220
+ readonly body: {
12221
+ readonly required: true;
12222
+ readonly fields: readonly [{
12223
+ readonly name: "content";
12224
+ readonly type: "string";
12225
+ readonly enum: readonly ["+1", "-1", "laugh", "confused", "heart", "hooray", "eyes", "rocket"];
12226
+ readonly required: true;
12227
+ readonly description: "Reaction to add or remove: +1 approves, -1 disapproves, laugh, confused, heart, hooray, eyes, or rocket.";
12228
+ }];
12229
+ };
12230
+ }, {
12231
+ readonly resource: "ticket.tickets.reactions";
12232
+ readonly method: "delete";
12233
+ readonly summary: "Remove reactions";
12234
+ readonly description: "Remove reactions within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
12235
+ readonly http: "DELETE";
12236
+ readonly path: "/ticket/v1/tickets/{number}/reactions/{content}";
12237
+ readonly streaming: "no";
12238
+ readonly pagination: false;
12239
+ readonly pathParams: readonly [{
12240
+ readonly name: "number";
12241
+ readonly sdkName: "number";
12242
+ }, {
12243
+ readonly name: "content";
12244
+ readonly sdkName: "content";
12245
+ }];
12246
+ readonly query: readonly [{
12247
+ readonly name: "repository";
12248
+ readonly type: "string";
12249
+ readonly required: false;
12250
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12251
+ }];
12252
+ }, {
12253
+ readonly resource: "ticket.tickets.relations";
12254
+ readonly method: "list";
12255
+ readonly summary: "List relations";
12256
+ readonly description: "List relations within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Pass next_page_token as page_token to continue with the same filter. Service authorization applies to the verified human subject.";
12257
+ readonly http: "GET";
12258
+ readonly path: "/ticket/v1/tickets/{number}/relations";
12259
+ readonly streaming: "no";
12260
+ readonly pagination: false;
12261
+ readonly pathParams: readonly [{
12262
+ readonly name: "number";
12263
+ readonly sdkName: "number";
12264
+ }];
12265
+ readonly query: readonly [{
12266
+ readonly name: "repository";
12267
+ readonly type: "string";
12268
+ readonly required: false;
12269
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12270
+ }, {
12271
+ readonly name: "page_size";
12272
+ readonly type: "integer";
12273
+ readonly required: false;
12274
+ readonly description: "Records per page; defaults to 30, maximum 100.";
12275
+ }, {
12276
+ readonly name: "page_token";
12277
+ readonly type: "string";
12278
+ readonly required: false;
12279
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
12280
+ }];
12281
+ }, {
12282
+ readonly resource: "ticket.tickets.relations";
12283
+ readonly method: "create";
12284
+ readonly summary: "Create or add relations";
12285
+ readonly description: "Create or add relations within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
12286
+ readonly http: "POST";
12287
+ readonly path: "/ticket/v1/tickets/{number}/relations";
12288
+ readonly streaming: "no";
12289
+ readonly pagination: false;
12290
+ readonly pathParams: readonly [{
12291
+ readonly name: "number";
12292
+ readonly sdkName: "number";
12293
+ }];
12294
+ readonly query: readonly [{
12295
+ readonly name: "repository";
12296
+ readonly type: "string";
12297
+ readonly required: false;
12298
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12299
+ }];
12300
+ readonly body: {
12301
+ readonly required: true;
12302
+ readonly fields: readonly [{
12303
+ readonly name: "relates_to";
12304
+ readonly type: "integer";
12305
+ readonly required: true;
12306
+ readonly description: "Repository-local number returned by create or list; distinct from the object's id.";
12307
+ }];
12308
+ };
12309
+ }, {
12310
+ readonly resource: "ticket.tickets.relations";
12311
+ readonly method: "delete";
12312
+ readonly summary: "Remove relations";
12313
+ readonly description: "Remove relations within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
12314
+ readonly http: "DELETE";
12315
+ readonly path: "/ticket/v1/tickets/{number}/relations/{n}";
12316
+ readonly streaming: "no";
12317
+ readonly pagination: false;
12318
+ readonly pathParams: readonly [{
12319
+ readonly name: "number";
12320
+ readonly sdkName: "number";
12321
+ }, {
12322
+ readonly name: "n";
12323
+ readonly sdkName: "n";
12324
+ }];
12325
+ readonly query: readonly [{
12326
+ readonly name: "repository";
12327
+ readonly type: "string";
12328
+ readonly required: false;
12329
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12330
+ }];
12331
+ }, {
12332
+ readonly resource: "ticket.tickets.subTickets";
12333
+ readonly method: "list";
12334
+ readonly summary: "List sub tickets";
12335
+ readonly description: "List sub tickets within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Pass next_page_token as page_token to continue with the same filter. Service authorization applies to the verified human subject.";
12336
+ readonly http: "GET";
12337
+ readonly path: "/ticket/v1/tickets/{number}/sub_tickets";
12338
+ readonly streaming: "no";
12339
+ readonly pagination: false;
12340
+ readonly pathParams: readonly [{
12341
+ readonly name: "number";
12342
+ readonly sdkName: "number";
12343
+ }];
12344
+ readonly query: readonly [{
12345
+ readonly name: "repository";
12346
+ readonly type: "string";
12347
+ readonly required: false;
12348
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12349
+ }, {
12350
+ readonly name: "page_size";
12351
+ readonly type: "integer";
12352
+ readonly required: false;
12353
+ readonly description: "Records per page; defaults to 30, maximum 100.";
12354
+ }, {
12355
+ readonly name: "page_token";
12356
+ readonly type: "string";
12357
+ readonly required: false;
12358
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
12359
+ }];
12360
+ }, {
12361
+ readonly resource: "ticket.tickets.subTickets";
12362
+ readonly method: "create";
12363
+ readonly summary: "Create or add sub tickets";
12364
+ readonly description: "Create or add sub tickets within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
12365
+ readonly http: "POST";
12366
+ readonly path: "/ticket/v1/tickets/{number}/sub_tickets";
12367
+ readonly streaming: "no";
12368
+ readonly pagination: false;
12369
+ readonly pathParams: readonly [{
12370
+ readonly name: "number";
12371
+ readonly sdkName: "number";
12372
+ }];
12373
+ readonly query: readonly [{
12374
+ readonly name: "repository";
12375
+ readonly type: "string";
12376
+ readonly required: false;
12377
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12378
+ }];
12379
+ readonly body: {
12380
+ readonly required: true;
12381
+ readonly fields: readonly [{
12382
+ readonly name: "child";
12383
+ readonly type: "integer";
12384
+ readonly required: true;
12385
+ readonly description: "Repository-local number returned by create or list; distinct from the object's id.";
12386
+ }, {
12387
+ readonly name: "replace_parent";
12388
+ readonly type: "boolean";
12389
+ readonly required: false;
12390
+ readonly description: "Allow replacing an existing parent.";
12391
+ }];
12392
+ };
12393
+ }, {
12394
+ readonly resource: "ticket.tickets.subTickets";
12395
+ readonly method: "delete";
12396
+ readonly summary: "Remove sub tickets";
12397
+ readonly description: "Remove sub tickets within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
12398
+ readonly http: "DELETE";
12399
+ readonly path: "/ticket/v1/tickets/{number}/sub_tickets/{child}";
12400
+ readonly streaming: "no";
12401
+ readonly pagination: false;
12402
+ readonly pathParams: readonly [{
12403
+ readonly name: "number";
12404
+ readonly sdkName: "number";
12405
+ }, {
12406
+ readonly name: "child";
12407
+ readonly sdkName: "child";
12408
+ }];
12409
+ readonly query: readonly [{
12410
+ readonly name: "repository";
12411
+ readonly type: "string";
12412
+ readonly required: false;
12413
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12414
+ }];
12415
+ }, {
12416
+ readonly resource: "ticket.types";
12417
+ readonly method: "list";
12418
+ readonly summary: "Read types";
12419
+ readonly description: "Read types within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
12420
+ readonly http: "GET";
12421
+ readonly path: "/ticket/v1/types";
12422
+ readonly streaming: "no";
12423
+ readonly pagination: false;
12424
+ readonly pathParams: readonly [];
12425
+ readonly query: readonly [{
12426
+ readonly name: "repository";
12427
+ readonly type: "string";
12428
+ readonly required: false;
12429
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12430
+ }];
10798
12431
  }, {
10799
12432
  readonly resource: "vault.authorizations";
10800
12433
  readonly method: "create";