@deepraxis/sdk 0.1.0-dev.fa57968 → 0.1.0-dev.ff6425a

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 and custom tool entries 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. 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\"}]}.";
49
49
  readonly http: "POST";
50
50
  readonly path: "/agent/v1/agents";
51
51
  readonly streaming: "no";
@@ -74,7 +74,7 @@ export declare const operations: readonly [{
74
74
  readonly type: "array";
75
75
  readonly itemType: "object";
76
76
  readonly required: false;
77
- readonly description: "MCP servers this agent connects to. Maximum 20. Names must be unique\nwithin the array. Every server must be referenced by an `mcp_toolset` in\n`tools`; unreferenced servers are rejected. See the\n[MCP connector guide](https://platform.claude.com/docs/en/managed-agents/mcp-connector).";
77
+ readonly description: "Praxis extension: HTTP, SSE or trusted stdio MCP servers paired with mcp_toolset entries and saved with the agent version.";
78
78
  }, {
79
79
  readonly name: "metadata";
80
80
  readonly type: "object";
@@ -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_..., 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. Newly added bindings apply only to new sessions; disabling or removing a binding immediately revokes access in running sessions. A resource that is not bound returns 404, a service that is not opened returns 403, and writes to read_only resources are refused. 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,28 @@ 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.";
165
+ }, {
166
+ readonly name: "preset";
167
+ readonly type: "string";
168
+ readonly enum: readonly ["minimal", "data-editor", "full"];
169
+ readonly required: false;
170
+ readonly description: "Optional tool preset. minimal enables read, glob, grep and ask_user_question; data-editor also enables write and edit; full uses the default toolset with always_allow. Explicit tools override matching preset entries. codemode requires bash and is absent from data-editor.";
143
171
  }];
144
172
  };
145
173
  }, {
@@ -165,7 +193,7 @@ export declare const operations: readonly [{
165
193
  readonly resource: "agent.agents";
166
194
  readonly method: "update";
167
195
  readonly summary: "Update agent";
168
- 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 and custom tools 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. 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. Unlike Anthropic Managed Agents, nonempty skills attachments return 400; use the native skill tool for available runtime skills.";
169
197
  readonly http: "POST";
170
198
  readonly path: "/agent/v1/agents/{agent_id}";
171
199
  readonly streaming: "no";
@@ -187,7 +215,7 @@ export declare const operations: readonly [{
187
215
  readonly type: "array";
188
216
  readonly itemType: "object";
189
217
  readonly required: false;
190
- readonly description: "MCP servers. Full replacement. Omit to preserve; send empty array or\n`null` to clear. Names must be unique. Maximum 20. Every server must be\nreferenced by an `mcp_toolset` in the agent's resulting `tools`; unreferenced\nservers are rejected. See the\n[MCP connector guide](https://platform.claude.com/docs/en/managed-agents/mcp-connector).";
218
+ readonly description: "Praxis extension: HTTP, SSE or trusted stdio MCP servers paired with mcp_toolset entries and saved with the agent version.";
191
219
  }, {
192
220
  readonly name: "metadata";
193
221
  readonly type: "object";
@@ -230,6 +258,22 @@ export declare const operations: readonly [{
230
258
  readonly type: "number";
231
259
  readonly required: false;
232
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 stores null. A note alone does not create a version or rewrite an existing note.";
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; disabling or removing a binding immediately revokes access in running sessions. Only service agents accept a nonempty list.";
233
277
  }, {
234
278
  readonly name: "kind";
235
279
  readonly type: "string";
@@ -268,6 +312,28 @@ export declare const operations: readonly [{
268
312
  readonly type: "object";
269
313
  readonly required: false;
270
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.";
331
+ }, {
332
+ readonly name: "preset";
333
+ readonly type: "string";
334
+ readonly enum: readonly ["minimal", "data-editor", "full"];
335
+ readonly required: false;
336
+ readonly description: "Optional tool preset. minimal enables read, glob, grep and ask_user_question; data-editor also enables write and edit; full uses the default toolset with always_allow. Explicit tools override matching preset entries. codemode requires bash and is absent from data-editor.";
271
337
  }];
272
338
  };
273
339
  }, {
@@ -284,6 +350,156 @@ export declare const operations: readonly [{
284
350
  readonly sdkName: "agent_id";
285
351
  }];
286
352
  readonly query: readonly [];
353
+ }, {
354
+ readonly resource: "agent.agents.endUsers";
355
+ readonly method: "list";
356
+ readonly summary: "List End Users";
357
+ readonly description: "List users who have sessions or token issuance history on a service agent.\n\nOrdered by last_active_at and external_user_id descending. q is a case-sensitive literal prefix, including underscores. limit is 1–100, default 20. Reuse next_page with the same organization, agent, q and limit. Preemptively blocked users without history do not appear. End-user credentials and inaccessible or personal agents return 404.";
358
+ readonly http: "GET";
359
+ readonly path: "/agent/v1/agents/{agent_id}/end_users";
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 name: "limit";
368
+ readonly type: "integer";
369
+ readonly required: false;
370
+ readonly description: "Maximum users per page; defaults to 20.";
371
+ }, {
372
+ readonly name: "page";
373
+ readonly type: "string";
374
+ readonly required: false;
375
+ readonly description: "next_page from the previous response with the same agent, q and limit.";
376
+ }, {
377
+ readonly name: "q";
378
+ readonly type: "string";
379
+ readonly required: false;
380
+ readonly description: "Case-sensitive literal prefix of external_user_id; omit or use an empty string for all users.";
381
+ }];
382
+ }, {
383
+ readonly resource: "agent.agents.endUsers";
384
+ readonly method: "delete";
385
+ readonly summary: "Delete end-user data";
386
+ readonly description: "Delete a host application's end-user data from one service agent after explicit confirmation.\n\nDevelop only. Set confirm to the exact external_user_id; missing or mismatched confirmation returns 400. Returns 202 with a pending task id, not completion. Poll the deletion endpoint. Concurrent requests reuse the unfinished task; retry DELETE after failure to resume it. Tokens are revoked and the user is blocked before a seven-day recovery snapshot is verified. Sessions including child sessions, conversation data, grants and feedback are then removed. A pre-existing block remains; a temporary block is removed on success. Attachment metadata is recorded and File attachments are retained. No charge is introduced by this operation. Example: DELETE /agent/v1/agents/agent_example/end_users/customer_123?confirm=customer_123.";
387
+ readonly http: "DELETE";
388
+ readonly path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}";
389
+ readonly streaming: "no";
390
+ readonly pagination: false;
391
+ readonly pathParams: readonly [{
392
+ readonly name: "agent_id";
393
+ readonly sdkName: "agent_id";
394
+ }, {
395
+ readonly name: "external_user_id";
396
+ readonly sdkName: "external_user_id";
397
+ }];
398
+ readonly query: readonly [{
399
+ readonly name: "confirm";
400
+ readonly type: "string";
401
+ readonly required: true;
402
+ readonly description: "Must exactly equal the external_user_id path parameter to confirm destructive deletion.";
403
+ }];
404
+ }, {
405
+ readonly resource: "agent.agents.endUsers";
406
+ readonly method: "retrieve";
407
+ readonly summary: "Get End User";
408
+ readonly description: "Inspect one end user and their twenty most recently updated sessions.\n\nUse external_user_id from listing or your host application. Users without session or issuance history return 404, including preemptively blocked users. End-user credentials and inaccessible or personal agents return 404.";
409
+ readonly http: "GET";
410
+ readonly path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}";
411
+ readonly streaming: "no";
412
+ readonly pagination: false;
413
+ readonly pathParams: readonly [{
414
+ readonly name: "agent_id";
415
+ readonly sdkName: "agent_id";
416
+ }, {
417
+ readonly name: "external_user_id";
418
+ readonly sdkName: "external_user_id";
419
+ }];
420
+ readonly query: readonly [];
421
+ }, {
422
+ readonly resource: "agent.agents.endUsers.block";
423
+ readonly method: "create";
424
+ readonly summary: "Block End User";
425
+ readonly description: "Block token issuance and session creation, then revoke existing tokens for an end user.\n\nMay block a user before any history exists; timestamps are then null and counts and cost are zero. Requires an embed policy, otherwise returns 409 with setup guidance. Deduplicates the policy blocklist and retains its 1000-user maximum. If revocation returns 502, the user remains blocked; retry to finish revocation. Repeats keep the user blocked and revoke any remaining grants. End-user credentials and inaccessible or personal agents return 404.";
426
+ readonly http: "POST";
427
+ readonly path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/block";
428
+ readonly streaming: "no";
429
+ readonly pagination: false;
430
+ readonly pathParams: readonly [{
431
+ readonly name: "agent_id";
432
+ readonly sdkName: "agent_id";
433
+ }, {
434
+ readonly name: "external_user_id";
435
+ readonly sdkName: "external_user_id";
436
+ }];
437
+ readonly query: readonly [];
438
+ }, {
439
+ readonly resource: "agent.agents.endUsers";
440
+ readonly method: "retrieveDeletion";
441
+ readonly summary: "Get end-user deletion";
442
+ readonly description: "Poll the latest deletion task for an end user, including after the user data has been removed.\n\nUse the same agent_id and external_user_id as the confirmed DELETE. Status is pending, snapshotting, deleting, done or failed. Counts are empty until a verified snapshot exists. A failed task remains blocked and resumes when DELETE is retried with matching confirmation. snapshot_key is an operator recovery reference retained for seven days, not a public download URL. End-user credentials, inaccessible or personal agents, and missing tasks return 404. This read does not create a task or charge usage.";
443
+ readonly http: "GET";
444
+ readonly path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/deletion";
445
+ readonly streaming: "no";
446
+ readonly pagination: false;
447
+ readonly pathParams: readonly [{
448
+ readonly name: "agent_id";
449
+ readonly sdkName: "agent_id";
450
+ }, {
451
+ readonly name: "external_user_id";
452
+ readonly sdkName: "external_user_id";
453
+ }];
454
+ readonly query: readonly [];
455
+ }, {
456
+ readonly resource: "agent.agents.endUsers.revokeTokens";
457
+ readonly method: "create";
458
+ readonly summary: "Revoke End User Tokens";
459
+ readonly description: "Revoke all issued tokens for an end user and terminate their open embed streams.\n\nRevokes credentials before marking grants revoked. Upstream failure returns 502 without changing grant revocation timestamps. Returns the count of newly revoked grants; a repeat without new grants returns zero. Does not block future issuance. End-user credentials and inaccessible or personal agents return 404.";
460
+ readonly http: "POST";
461
+ readonly path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/revoke_tokens";
462
+ readonly streaming: "no";
463
+ readonly pagination: false;
464
+ readonly pathParams: readonly [{
465
+ readonly name: "agent_id";
466
+ readonly sdkName: "agent_id";
467
+ }, {
468
+ readonly name: "external_user_id";
469
+ readonly sdkName: "external_user_id";
470
+ }];
471
+ readonly query: readonly [];
472
+ }, {
473
+ readonly resource: "agent.agents.endUsers.unblock";
474
+ readonly method: "create";
475
+ readonly summary: "Unblock End User";
476
+ readonly description: "Allow an end user to receive new tokens and create new sessions again.\n\nRemoves the user from the blocklist; previously revoked tokens stay revoked. Idempotent. Requires an embed policy, otherwise returns 409 with setup guidance. Returns null timestamps and zero counts and cost when no session or issuance history exists. End-user credentials and inaccessible or personal agents return 404.";
477
+ readonly http: "POST";
478
+ readonly path: "/agent/v1/agents/{agent_id}/end_users/{external_user_id}/unblock";
479
+ readonly streaming: "no";
480
+ readonly pagination: false;
481
+ readonly pathParams: readonly [{
482
+ readonly name: "agent_id";
483
+ readonly sdkName: "agent_id";
484
+ }, {
485
+ readonly name: "external_user_id";
486
+ readonly sdkName: "external_user_id";
487
+ }];
488
+ readonly query: readonly [];
489
+ }, {
490
+ readonly resource: "agent.agents.unarchive";
491
+ readonly method: "create";
492
+ readonly summary: "Unarchive Agent";
493
+ readonly description: "Restore an archived agent without creating a configuration version. Already active agents are unchanged. Missing or inaccessible agents return 404. Use the returned agent id to create new sessions.";
494
+ readonly http: "POST";
495
+ readonly path: "/agent/v1/agents/{agent_id}/unarchive";
496
+ readonly streaming: "no";
497
+ readonly pagination: false;
498
+ readonly pathParams: readonly [{
499
+ readonly name: "agent_id";
500
+ readonly sdkName: "agent_id";
501
+ }];
502
+ readonly query: readonly [];
287
503
  }, {
288
504
  readonly resource: "agent.agents.versions";
289
505
  readonly method: "list";
@@ -308,6 +524,23 @@ export declare const operations: readonly [{
308
524
  readonly required: false;
309
525
  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.";
310
526
  }];
527
+ }, {
528
+ readonly resource: "agent.agents.versions";
529
+ readonly method: "apply";
530
+ readonly summary: "Apply Agent Version";
531
+ 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.";
532
+ readonly http: "POST";
533
+ readonly path: "/agent/v1/agents/{agent_id}/versions/{version}/apply";
534
+ readonly streaming: "no";
535
+ readonly pagination: false;
536
+ readonly pathParams: readonly [{
537
+ readonly name: "agent_id";
538
+ readonly sdkName: "agent_id";
539
+ }, {
540
+ readonly name: "version";
541
+ readonly sdkName: "version";
542
+ }];
543
+ readonly query: readonly [];
311
544
  }, {
312
545
  readonly resource: "agent.computers";
313
546
  readonly method: "list";
@@ -446,7 +679,7 @@ export declare const operations: readonly [{
446
679
  readonly resource: "agent.computers";
447
680
  readonly method: "connect";
448
681
  readonly summary: "Connect computer";
449
- 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. Archived computers remain accessible; foreign or absent computers return 404. Never cache credentials.";
682
+ 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.";
450
683
  readonly http: "POST";
451
684
  readonly path: "/agent/v1/computers/{computer_id}/connect";
452
685
  readonly streaming: "no";
@@ -456,6 +689,16 @@ export declare const operations: readonly [{
456
689
  readonly sdkName: "computer_id";
457
690
  }];
458
691
  readonly query: readonly [];
692
+ readonly body: {
693
+ readonly required: false;
694
+ readonly fields: readonly [{
695
+ readonly name: "need";
696
+ readonly type: "string";
697
+ readonly enum: readonly ["light", "heavy"];
698
+ readonly required: false;
699
+ 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.";
700
+ }];
701
+ };
459
702
  }, {
460
703
  readonly resource: "agent.computers.files";
461
704
  readonly method: "list";
@@ -494,6 +737,40 @@ export declare const operations: readonly [{
494
737
  readonly required: true;
495
738
  readonly description: "Absolute path of the file whose content to download, as returned in the path field of computers.files.list.";
496
739
  }];
740
+ }, {
741
+ readonly resource: "agent.computers.leases";
742
+ readonly method: "delete";
743
+ readonly summary: "Release computer lease";
744
+ readonly description: "Give the lease back when a connection closes so the full machine can be reclaimed without waiting for it to expire.\n\nOwn-face extension. Idempotent: an unknown or already released lease succeeds as well. Foreign or absent computers return 404.";
745
+ readonly http: "DELETE";
746
+ readonly path: "/agent/v1/computers/{computer_id}/leases/{lease_id}";
747
+ readonly streaming: "no";
748
+ readonly pagination: false;
749
+ readonly pathParams: readonly [{
750
+ readonly name: "computer_id";
751
+ readonly sdkName: "computer_id";
752
+ }, {
753
+ readonly name: "lease_id";
754
+ readonly sdkName: "lease_id";
755
+ }];
756
+ readonly query: readonly [];
757
+ }, {
758
+ readonly resource: "agent.computers.leases.renew";
759
+ readonly method: "create";
760
+ readonly summary: "Renew computer lease";
761
+ readonly description: "Extend the lease a connection holds so the full machine stays in service while the connection is open.\n\nOwn-face extension. A lease that is no longer valid (released, expired, or the computer moved to another machine) returns 409 LEASE_STALE; call connect again for a new connection and lease. Foreign or absent computers return 404.";
762
+ readonly http: "POST";
763
+ readonly path: "/agent/v1/computers/{computer_id}/leases/{lease_id}/renew";
764
+ readonly streaming: "no";
765
+ readonly pagination: false;
766
+ readonly pathParams: readonly [{
767
+ readonly name: "computer_id";
768
+ readonly sdkName: "computer_id";
769
+ }, {
770
+ readonly name: "lease_id";
771
+ readonly sdkName: "lease_id";
772
+ }];
773
+ readonly query: readonly [];
497
774
  }, {
498
775
  readonly resource: "agent.deploymentRuns";
499
776
  readonly method: "list";
@@ -833,6 +1110,37 @@ export declare const operations: readonly [{
833
1110
  readonly sdkName: "deployment_id";
834
1111
  }];
835
1112
  readonly query: readonly [];
1113
+ }, {
1114
+ readonly resource: "agent.embed";
1115
+ readonly method: "retrieveAppearance";
1116
+ readonly summary: "Read chat appearance";
1117
+ readonly description: "Load saved appearance for an iframe or Hosted chat page. Supply an end-user embed token as Bearer authorization, or a console-issued publishable key in Praxis-Publishable-Key before anonymous token issuance. The credential selects the agent; identity_number and agent_id query parameters are rejected with 400. Missing appearance returns an empty object. Kit option names retain camelCase. Responses are private and cacheable for 60 seconds. Component hosts configure Kit in their own code instead.";
1118
+ readonly http: "GET";
1119
+ readonly path: "/agent/v1/embed/appearance";
1120
+ readonly streaming: "no";
1121
+ readonly pagination: false;
1122
+ readonly pathParams: readonly [];
1123
+ readonly query: readonly [];
1124
+ }, {
1125
+ readonly resource: "agent.embed.exchange";
1126
+ readonly method: "create";
1127
+ readonly summary: "Exchange Hosted Code";
1128
+ readonly description: "Redeem a single-use hosted link credential for an end-user token.\n\nRead code from the c fragment parameter of hosted_url returned by embed token creation with hosted true, then remove the fragment before exchanging. No Authorization header is required; the code authenticates this request. The code expires after 60 seconds and is consumed atomically on exchange, so concurrent attempts have only one winner. Expired, used and unknown codes return the same 404 body. Keep the token in memory and return to the host website for a fresh link when it expires; exchange cannot refresh it. Requests are IP limited per minute using the anonymous entrypoint budget (default 20). Example body is {\"code\":\"<code from hosted_url>\"}.";
1129
+ readonly http: "POST";
1130
+ readonly path: "/agent/v1/embed/exchange";
1131
+ readonly streaming: "no";
1132
+ readonly pagination: false;
1133
+ readonly pathParams: readonly [];
1134
+ readonly query: readonly [];
1135
+ readonly body: {
1136
+ readonly required: true;
1137
+ readonly fields: readonly [{
1138
+ readonly name: "code";
1139
+ readonly type: "string";
1140
+ readonly required: true;
1141
+ readonly description: "Single-use credential from the c fragment parameter of hosted_url returned by embed token creation. Valid for 60 seconds.";
1142
+ }];
1143
+ };
836
1144
  }, {
837
1145
  readonly resource: "agent.embedTokens";
838
1146
  readonly method: "list";
@@ -868,7 +1176,7 @@ export declare const operations: readonly [{
868
1176
  readonly resource: "agent.embedTokens";
869
1177
  readonly method: "create";
870
1178
  readonly summary: "Create Embed Token";
871
- readonly description: "Issue a short-lived credential on your backend for an end user of a service agent.\n\nRequires an active service agent in your organization with an embed policy. Pins the requested version or the latest version and snapshots the policy environment, vaults and resources; metadata comes from the request. Blocked users cannot receive tokens. Keep your API key on the backend and pass only the returned token to the frontend. Every call creates a new grant; issuance is not idempotent. The hosted field is not supported.";
1179
+ readonly description: "Issue a short-lived credential on your backend for an end user of a service agent.\n\nRequires an active service agent in your organization with an embed policy. Pins the requested version or the latest version and snapshots the policy environment, vaults and resources; metadata comes from the request. Blocked users cannot receive tokens. Keep your API key on the backend and pass only the returned token to the frontend. Every call creates a new grant; issuance is not idempotent. Set hosted to true to also receive hosted_url; redirect the user there within 60 seconds. The agent must have an identity_number. The URL fragment contains a single-use exchange credential, not the token. Omit hosted or set false for ordinary token issuance.";
872
1180
  readonly http: "POST";
873
1181
  readonly path: "/agent/v1/embed_tokens";
874
1182
  readonly streaming: "no";
@@ -878,6 +1186,11 @@ export declare const operations: readonly [{
878
1186
  readonly body: {
879
1187
  readonly required: true;
880
1188
  readonly fields: readonly [{
1189
+ readonly name: "hosted";
1190
+ readonly type: "boolean";
1191
+ readonly required: false;
1192
+ readonly description: "Set true to also return a hosted chat URL with a single-use credential valid for 60 seconds. Defaults to false; the agent must have an identity_number.";
1193
+ }, {
881
1194
  readonly name: "agent";
882
1195
  readonly type: "string";
883
1196
  readonly required: true;
@@ -926,6 +1239,31 @@ export declare const operations: readonly [{
926
1239
  readonly description: "Host metadata preserved verbatim; at most 16 keys of 1–64 characters and string values of at most 512 characters. Defaults to an empty object.";
927
1240
  }];
928
1241
  };
1242
+ }, {
1243
+ readonly resource: "agent.embedTokens.anonymous";
1244
+ readonly method: "create";
1245
+ readonly summary: "Issue anonymous visitor token";
1246
+ readonly description: "Obtain a short-lived embedding token for a visitor without an account using the agent owner's publishable key.\n\nNo Authorization header is required. Send the browser Origin allowed by the agent policy. Save a returned visitor_secret and reuse it for refreshes; only new visitors receive one. Unknown secrets create new visitors, and extra fields including visitor_id return 400. Issuance uses the key creator's organization membership, the key session budget and the smaller of the policy TTL maximum and 3600 seconds. IP requests are limited per minute (default 20); UTC daily session and spending caps are checked across the key's primary sessions created that day. Token issuance itself does not create a session or charge usage; subsequent sessions bill the host organization. Example body: {\"publishable_key\":\"pk_praxis_example\"}.";
1247
+ readonly http: "POST";
1248
+ readonly path: "/agent/v1/embed_tokens/anonymous";
1249
+ readonly streaming: "no";
1250
+ readonly pagination: false;
1251
+ readonly pathParams: readonly [];
1252
+ readonly query: readonly [];
1253
+ readonly body: {
1254
+ readonly required: true;
1255
+ readonly fields: readonly [{
1256
+ readonly name: "publishable_key";
1257
+ readonly type: "string";
1258
+ readonly required: true;
1259
+ readonly description: "Public key created by the service agent owner; safe to include in browser code.";
1260
+ }, {
1261
+ readonly name: "visitor_secret";
1262
+ readonly type: "string";
1263
+ readonly required: false;
1264
+ readonly description: "Secret returned by a previous anonymous issuance for this key. Omit for a new visitor; an unknown secret creates a new visitor.";
1265
+ }];
1266
+ };
929
1267
  }, {
930
1268
  readonly resource: "agent.embedTokens.revoke";
931
1269
  readonly method: "create";
@@ -1159,12 +1497,23 @@ export declare const operations: readonly [{
1159
1497
  readonly type: "string";
1160
1498
  readonly required: false;
1161
1499
  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.";
1500
+ }, {
1501
+ readonly name: "external_user_id";
1502
+ readonly type: "string";
1503
+ readonly required: false;
1504
+ readonly description: "Filter by an exact end-user identifier (1–128 characters: A-Z, a-z, 0-9, underscore, dot, colon, at sign or hyphen). Keep this filter unchanged when following page.";
1505
+ }, {
1506
+ readonly name: "source";
1507
+ readonly type: "string";
1508
+ readonly enum: readonly ["kit", "iframe", "hosted", "api", "automation"];
1509
+ readonly required: false;
1510
+ readonly description: "Filter by session origin: kit, iframe, hosted, api or automation. Keep this filter unchanged when following page.";
1162
1511
  }];
1163
1512
  }, {
1164
1513
  readonly resource: "agent.sessions";
1165
1514
  readonly method: "create";
1166
1515
  readonly summary: "Create session";
1167
- 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|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.";
1516
+ readonly description: "Create a session: one conversation with an agent. Pass agent as an agent id (active_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 an environment id for a sandbox recipe. For service agents, omission returns environment_id=light; 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. 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.";
1168
1517
  readonly http: "POST";
1169
1518
  readonly path: "/agent/v1/sessions";
1170
1519
  readonly streaming: "no";
@@ -1182,7 +1531,7 @@ export declare const operations: readonly [{
1182
1531
  readonly name: "environment_id";
1183
1532
  readonly type: "string";
1184
1533
  readonly required: false;
1185
- readonly description: "ID of the `environment` defining the container configuration for\nthis session.";
1534
+ readonly description: "Execution environment id from agent.environments.list or agent.environments.create. For a service agent, omission selects the built-in light environment and returns session.environment_id=light; explicit null allocates no machine and makes machine tools, including codemode and bash, unavailable. Personal agents use their selected Computer.";
1186
1535
  }, {
1187
1536
  readonly name: "budget";
1188
1537
  readonly type: "object";
@@ -1243,6 +1592,20 @@ export declare const operations: readonly [{
1243
1592
  readonly description: "Praxis extension: explicit session thinking effort; null inherits the pinned agent default, then the model default. none disables thinking only when model.thinking.can_disable is true. Unsupported efforts return 400 invalid_request_error.";
1244
1593
  }];
1245
1594
  };
1595
+ }, {
1596
+ readonly resource: "agent.sessions";
1597
+ readonly method: "delete";
1598
+ readonly summary: "Delete session";
1599
+ readonly description: "Delete an idle or terminated session and its event history after saving a deletion snapshot. Supply the session id from creation or listing. Running sessions return 409 INVALID_STATE: interrupt first or wait until idle or terminated. Afterwards retrieval and event listing return 404 and lists omit the session. Example: DELETE /agent/v1/sessions/sesn_example.";
1600
+ readonly http: "DELETE";
1601
+ readonly path: "/agent/v1/sessions/{session_id}";
1602
+ readonly streaming: "no";
1603
+ readonly pagination: false;
1604
+ readonly pathParams: readonly [{
1605
+ readonly name: "session_id";
1606
+ readonly sdkName: "session_id";
1607
+ }];
1608
+ readonly query: readonly [];
1246
1609
  }, {
1247
1610
  readonly resource: "agent.sessions";
1248
1611
  readonly method: "retrieve";
@@ -1455,7 +1818,7 @@ export declare const operations: readonly [{
1455
1818
  readonly resource: "agent.sessions.events";
1456
1819
  readonly method: "list";
1457
1820
  readonly summary: "List session events";
1458
- readonly description: "Read the event history of a session as a page of events, oldest first by default (order=desc for newest first). Use it after sending a message to collect the reply, to find tool calls that wait for approval (session.status_idle with stop_reason requires_action lists their event_ids), or to audit a run; to follow a running session live use sessions.events.stream instead. Filter by types and by a created_at range on processed_at; pages hold at most 100 events (default 20) and next_page continues. A failed run emits session.error before session.status_terminated. Native history also includes user.steer, user.withdraw, system.notification, session.forked, session.goal_changed and session.goal_verification; these are not accepted by the /anthropic/v1 event-type filter.";
1821
+ readonly description: "Read the event history of a session as a page of events, oldest first by default (order=desc for newest first). Use it after sending a message to collect the reply, to find tool calls that wait for approval or client custom tool results (session.status_idle with stop_reason requires_action lists their event_ids), or to audit a run; to follow a running session live use sessions.events.stream instead. Filter by types and by a created_at range on processed_at; pages hold at most 100 events (default 20) and next_page continues. A failed run emits session.error before session.status_terminated. Native history also includes user.steer, user.withdraw, system.notification, session.forked, session.goal_changed and session.goal_verification; these are not accepted by the /anthropic/v1 event-type filter.";
1459
1822
  readonly http: "GET";
1460
1823
  readonly path: "/agent/v1/sessions/{session_id}/events";
1461
1824
  readonly streaming: "no";
@@ -1511,7 +1874,7 @@ export declare const operations: readonly [{
1511
1874
  readonly resource: "agent.sessions.events";
1512
1875
  readonly method: "send";
1513
1876
  readonly summary: "Send session events";
1514
- readonly description: "Send events to a session: user.message (exactly one nonempty text block), user.interrupt, user.tool_confirmation to allow or deny a pending tool call, user.steer to inject a queued user.message into a turn that is still running, and user.withdraw to retract a queued message. The response only acknowledges the inputs; read replies with sessions.events.list or sessions.events.stream. A message sent while the session waits for tool approval is queued (processed_at null) and runs in order after the approval is resolved. Archived sessions reject new messages. To approve, read a pending agent.tool_use or agent.mcp_tool_use event and send {type: \"user.tool_confirmation\", tool_use_id: <that event id>, result: \"allow\"} (or deny); include session_thread_id for a child approval. Native confirmations also accept updated_permissions, answers and annotations, which /anthropic/v1 rejects.";
1877
+ readonly description: "Attach optional praxis_context={items:[{name,value}]} to user.message for untrusted page context on this turn only (maximum 32 items, 4096 UTF-8 JSON bytes). /anthropic/v1 rejects this field. Send events to a session: user.message (exactly one nonempty text block), user.interrupt, user.tool_confirmation to allow or deny a pending tool call, user.custom_tool_result to return a custom tool result, user.steer to inject a queued user.message into a turn that is still running, and user.withdraw to retract a queued message. The response only acknowledges the inputs; read replies with sessions.events.list or sessions.events.stream. A message sent while the session waits for tool approval is queued (processed_at null) and runs in order after the approval is resolved. Archived sessions reject new messages. To approve, read a pending agent.tool_use or agent.mcp_tool_use event and send {type: \"user.tool_confirmation\", tool_use_id: <that event id>, result: \"allow\"} (or deny); include session_thread_id for a child approval. Native confirmations also accept updated_permissions, answers and annotations, which /anthropic/v1 rejects. Both faces accept user.custom_tool_result with custom_tool_use_id from agent.custom_tool_use.id or the requires_action stop_reason.event_ids. Unlike Anthropic, result content accepts only text blocks (omit it for an empty array). Omitted or null is_error means false. The server routes child calls by id; session_thread_id is rejected in this input. Unknown call ids return 400; duplicate results or calls no longer waiting return 409.";
1515
1878
  readonly http: "POST";
1516
1879
  readonly path: "/agent/v1/sessions/{session_id}/events";
1517
1880
  readonly streaming: "no";
@@ -1862,10 +2225,191 @@ export declare const operations: readonly [{
1862
2225
  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.";
1863
2226
  }];
1864
2227
  }, {
1865
- readonly resource: "agent.toolsets";
2228
+ readonly resource: "agent.skills";
1866
2229
  readonly method: "list";
1867
- readonly summary: "List Toolsets";
1868
- 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.";
2230
+ readonly summary: "List skills";
2231
+ 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.";
2232
+ readonly http: "GET";
2233
+ readonly path: "/agent/v1/skills";
2234
+ readonly streaming: "no";
2235
+ readonly pagination: false;
2236
+ readonly pathParams: readonly [];
2237
+ readonly query: readonly [{
2238
+ readonly name: "source";
2239
+ readonly type: "string";
2240
+ readonly required: false;
2241
+ 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";
2242
+ }, {
2243
+ readonly name: "limit";
2244
+ readonly type: "number";
2245
+ readonly required: false;
2246
+ readonly description: "Number of items per page.";
2247
+ }, {
2248
+ readonly name: "page";
2249
+ readonly type: "string";
2250
+ readonly required: false;
2251
+ 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.";
2252
+ }];
2253
+ }, {
2254
+ readonly resource: "agent.skills";
2255
+ readonly method: "create";
2256
+ readonly summary: "Create skill";
2257
+ 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. 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.";
2258
+ readonly http: "POST";
2259
+ readonly path: "/agent/v1/skills";
2260
+ readonly streaming: "no";
2261
+ readonly pagination: false;
2262
+ readonly multipart: true;
2263
+ readonly pathParams: readonly [];
2264
+ readonly query: readonly [];
2265
+ readonly body: {
2266
+ readonly required: true;
2267
+ readonly fields: readonly [{
2268
+ readonly name: "files";
2269
+ readonly type: "array";
2270
+ readonly itemType: "string";
2271
+ readonly required: true;
2272
+ 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.";
2273
+ }, {
2274
+ readonly name: "display_name";
2275
+ readonly type: "string";
2276
+ readonly required: false;
2277
+ 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.";
2278
+ }];
2279
+ };
2280
+ }, {
2281
+ readonly resource: "agent.skills";
2282
+ readonly method: "delete";
2283
+ readonly summary: "Delete skill";
2284
+ readonly description: "Delete a skill that has no live versions. A skill that still has versions returns 409 Delete all versions first; remove each with skills.versions.delete, then call this. Returns {id, type: skill_deleted}. skill_id comes from skills.create or skills.list.";
2285
+ readonly http: "DELETE";
2286
+ readonly path: "/agent/v1/skills/{skill_id}";
2287
+ readonly streaming: "no";
2288
+ readonly pagination: false;
2289
+ readonly pathParams: readonly [{
2290
+ readonly name: "skill_id";
2291
+ readonly sdkName: "skill_id";
2292
+ }];
2293
+ readonly query: readonly [];
2294
+ }, {
2295
+ readonly resource: "agent.skills";
2296
+ readonly method: "retrieve";
2297
+ readonly summary: "Get skill";
2298
+ 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.";
2299
+ readonly http: "GET";
2300
+ readonly path: "/agent/v1/skills/{skill_id}";
2301
+ readonly streaming: "no";
2302
+ readonly pagination: false;
2303
+ readonly pathParams: readonly [{
2304
+ readonly name: "skill_id";
2305
+ readonly sdkName: "skill_id";
2306
+ }];
2307
+ readonly query: readonly [];
2308
+ }, {
2309
+ readonly resource: "agent.skills.versions";
2310
+ readonly method: "list";
2311
+ readonly summary: "List skill versions";
2312
+ 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.";
2313
+ readonly http: "GET";
2314
+ readonly path: "/agent/v1/skills/{skill_id}/versions";
2315
+ readonly streaming: "no";
2316
+ readonly pagination: false;
2317
+ readonly pathParams: readonly [{
2318
+ readonly name: "skill_id";
2319
+ readonly sdkName: "skill_id";
2320
+ }];
2321
+ readonly query: readonly [{
2322
+ readonly name: "limit";
2323
+ readonly type: "number";
2324
+ readonly required: false;
2325
+ readonly description: "Number of items per page.";
2326
+ }, {
2327
+ readonly name: "page";
2328
+ readonly type: "string";
2329
+ readonly required: false;
2330
+ 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.";
2331
+ }];
2332
+ }, {
2333
+ readonly resource: "agent.skills.versions";
2334
+ readonly method: "create";
2335
+ readonly summary: "Create skill version";
2336
+ 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.";
2337
+ readonly http: "POST";
2338
+ readonly path: "/agent/v1/skills/{skill_id}/versions";
2339
+ readonly streaming: "no";
2340
+ readonly pagination: false;
2341
+ readonly multipart: true;
2342
+ readonly pathParams: readonly [{
2343
+ readonly name: "skill_id";
2344
+ readonly sdkName: "skill_id";
2345
+ }];
2346
+ readonly query: readonly [];
2347
+ readonly body: {
2348
+ readonly required: true;
2349
+ readonly fields: readonly [{
2350
+ readonly name: "files";
2351
+ readonly type: "array";
2352
+ readonly itemType: "string";
2353
+ readonly required: true;
2354
+ 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.";
2355
+ }];
2356
+ };
2357
+ }, {
2358
+ readonly resource: "agent.skills.versions";
2359
+ readonly method: "delete";
2360
+ readonly summary: "Delete skill version";
2361
+ 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 can be deleted only after all of its versions are deleted.";
2362
+ readonly http: "DELETE";
2363
+ readonly path: "/agent/v1/skills/{skill_id}/versions/{version}";
2364
+ readonly streaming: "no";
2365
+ readonly pagination: false;
2366
+ readonly pathParams: readonly [{
2367
+ readonly name: "skill_id";
2368
+ readonly sdkName: "skill_id";
2369
+ }, {
2370
+ readonly name: "version";
2371
+ readonly sdkName: "version";
2372
+ }];
2373
+ readonly query: readonly [];
2374
+ }, {
2375
+ readonly resource: "agent.skills.versions";
2376
+ readonly method: "retrieve";
2377
+ readonly summary: "Get skill version";
2378
+ 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.";
2379
+ readonly http: "GET";
2380
+ readonly path: "/agent/v1/skills/{skill_id}/versions/{version}";
2381
+ readonly streaming: "no";
2382
+ readonly pagination: false;
2383
+ readonly pathParams: readonly [{
2384
+ readonly name: "skill_id";
2385
+ readonly sdkName: "skill_id";
2386
+ }, {
2387
+ readonly name: "version";
2388
+ readonly sdkName: "version";
2389
+ }];
2390
+ readonly query: readonly [];
2391
+ }, {
2392
+ readonly resource: "agent.skills.versions";
2393
+ readonly method: "retrieveContent";
2394
+ readonly summary: "Download skill version";
2395
+ 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.";
2396
+ readonly http: "GET";
2397
+ readonly path: "/agent/v1/skills/{skill_id}/versions/{version}/content";
2398
+ readonly streaming: "no";
2399
+ readonly pagination: false;
2400
+ readonly pathParams: readonly [{
2401
+ readonly name: "skill_id";
2402
+ readonly sdkName: "skill_id";
2403
+ }, {
2404
+ readonly name: "version";
2405
+ readonly sdkName: "version";
2406
+ }];
2407
+ readonly query: readonly [];
2408
+ }, {
2409
+ readonly resource: "agent.toolsets";
2410
+ readonly method: "list";
2411
+ readonly summary: "List Toolsets";
2412
+ 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.";
1869
2413
  readonly http: "GET";
1870
2414
  readonly path: "/agent/v1/toolsets";
1871
2415
  readonly streaming: "no";
@@ -2452,6 +2996,23 @@ export declare const operations: readonly [{
2452
2996
  readonly sdkName: "version_id";
2453
2997
  }];
2454
2998
  readonly query: readonly [];
2999
+ }, {
3000
+ readonly resource: "application.workers.versions.assets";
3001
+ readonly method: "retrieveManifest";
3002
+ readonly summary: "Get version asset manifest";
3003
+ readonly description: "Read the retained asset paths, content hashes and byte sizes of a version for publication planning. This read creates no session or version. A version without assets returns an empty manifest; unavailable artifacts and foreign resources return 404.";
3004
+ readonly http: "GET";
3005
+ readonly path: "/application/v1/workers/{worker_id}/versions/{version_id}/assets/manifest";
3006
+ readonly streaming: "no";
3007
+ readonly pagination: false;
3008
+ readonly pathParams: readonly [{
3009
+ readonly name: "worker_id";
3010
+ readonly sdkName: "worker_id";
3011
+ }, {
3012
+ readonly name: "version_id";
3013
+ readonly sdkName: "version_id";
3014
+ }];
3015
+ readonly query: readonly [];
2455
3016
  }, {
2456
3017
  readonly resource: "automation.actions";
2457
3018
  readonly method: "list";
@@ -2535,12 +3096,12 @@ export declare const operations: readonly [{
2535
3096
  readonly name: "namespace";
2536
3097
  readonly type: "string";
2537
3098
  readonly required: true;
2538
- readonly description: "Choose a namespace without prior registration; praxis is read-only. Folded to lowercase; matches [a-z0-9][a-z0-9._-]{0,63}.";
3099
+ 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}.";
2539
3100
  }, {
2540
3101
  readonly name: "name";
2541
3102
  readonly type: "string";
2542
3103
  readonly required: true;
2543
- readonly description: "Name, folded to lowercase; matches [a-z0-9][a-z0-9._-]{0,63}.";
3104
+ readonly description: "Name, folded to lowercase; matches [a-z0-9][a-z0-9_-]{0,63}.";
2544
3105
  }, {
2545
3106
  readonly name: "description";
2546
3107
  readonly type: "string";
@@ -2592,8 +3153,8 @@ export declare const operations: readonly [{
2592
3153
  }, {
2593
3154
  readonly resource: "automation.actions";
2594
3155
  readonly method: "retrieve";
2595
- readonly summary: "Get an action";
2596
- readonly description: "Read the action and its full current implementation. The response ETag is the current revision ID for conditional updates.";
3156
+ readonly summary: "Get an Action with its current input and output JSON Schemas";
3157
+ 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.";
2597
3158
  readonly http: "GET";
2598
3159
  readonly path: "/automation/v1/actions/{ns}/{name}";
2599
3160
  readonly streaming: "no";
@@ -3037,8 +3598,8 @@ export declare const operations: readonly [{
3037
3598
  }, {
3038
3599
  readonly resource: "automation.runs";
3039
3600
  readonly method: "create";
3040
- readonly summary: "Create a run";
3041
- 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}.";
3601
+ readonly summary: "Run a published target or execute draft source";
3602
+ 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.";
3042
3603
  readonly http: "POST";
3043
3604
  readonly path: "/automation/v1/runs";
3044
3605
  readonly streaming: "no";
@@ -3421,7 +3982,7 @@ export declare const operations: readonly [{
3421
3982
  readonly resource: "automation.scripts";
3422
3983
  readonly method: "create";
3423
3984
  readonly summary: "Create a script";
3424
- 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.";
3985
+ 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.";
3425
3986
  readonly http: "POST";
3426
3987
  readonly path: "/automation/v1/scripts";
3427
3988
  readonly streaming: "no";
@@ -3434,12 +3995,12 @@ export declare const operations: readonly [{
3434
3995
  readonly name: "namespace";
3435
3996
  readonly type: "string";
3436
3997
  readonly required: true;
3437
- readonly description: "Choose a namespace without prior registration; praxis is read-only. Folded to lowercase; matches [a-z0-9][a-z0-9._-]{0,63}.";
3998
+ 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}.";
3438
3999
  }, {
3439
4000
  readonly name: "name";
3440
4001
  readonly type: "string";
3441
4002
  readonly required: true;
3442
- readonly description: "Name, folded to lowercase; matches [a-z0-9][a-z0-9._-]{0,63}.";
4003
+ readonly description: "Name, folded to lowercase; matches [a-z0-9][a-z0-9_-]{0,63}.";
3443
4004
  }, {
3444
4005
  readonly name: "description";
3445
4006
  readonly type: "string";
@@ -3478,7 +4039,7 @@ export declare const operations: readonly [{
3478
4039
  readonly resource: "automation.scripts";
3479
4040
  readonly method: "update";
3480
4041
  readonly summary: "Update a script draft";
3481
- readonly description: "Update description, labels or draft with the current draft revision in If-Match. Even metadata-only updates create a new draft revision.";
4042
+ 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.";
3482
4043
  readonly http: "PATCH";
3483
4044
  readonly path: "/automation/v1/scripts/{ns}/{name}";
3484
4045
  readonly streaming: "no";
@@ -4237,7 +4798,7 @@ export declare const operations: readonly [{
4237
4798
  readonly resource: "automation.workflows";
4238
4799
  readonly method: "create";
4239
4800
  readonly summary: "Create a workflow";
4240
- 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.";
4801
+ 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.";
4241
4802
  readonly http: "POST";
4242
4803
  readonly path: "/automation/v1/workflows";
4243
4804
  readonly streaming: "no";
@@ -4250,12 +4811,12 @@ export declare const operations: readonly [{
4250
4811
  readonly name: "namespace";
4251
4812
  readonly type: "string";
4252
4813
  readonly required: true;
4253
- readonly description: "Choose a namespace without prior registration; praxis is read-only. Folded to lowercase; matches [a-z0-9][a-z0-9._-]{0,63}.";
4814
+ 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}.";
4254
4815
  }, {
4255
4816
  readonly name: "name";
4256
4817
  readonly type: "string";
4257
4818
  readonly required: true;
4258
- readonly description: "Name, folded to lowercase; matches [a-z0-9][a-z0-9._-]{0,63}.";
4819
+ readonly description: "Name, folded to lowercase; matches [a-z0-9][a-z0-9_-]{0,63}.";
4259
4820
  }, {
4260
4821
  readonly name: "description";
4261
4822
  readonly type: "string";
@@ -5193,7 +5754,7 @@ export declare const operations: readonly [{
5193
5754
  readonly name: "{column}";
5194
5755
  readonly type: "string";
5195
5756
  readonly required: false;
5196
- 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.";
5757
+ 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.";
5197
5758
  }, {
5198
5759
  readonly name: "and";
5199
5760
  readonly type: "string";
@@ -5233,7 +5794,7 @@ export declare const operations: readonly [{
5233
5794
  readonly name: "on_conflict";
5234
5795
  readonly type: "string";
5235
5796
  readonly required: false;
5236
- 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.";
5797
+ 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.";
5237
5798
  }, {
5238
5799
  readonly name: "columns";
5239
5800
  readonly type: "string";
@@ -5244,7 +5805,7 @@ export declare const operations: readonly [{
5244
5805
  readonly resource: "database.databases.rest";
5245
5806
  readonly method: "retrieve";
5246
5807
  readonly summary: "Select rows";
5247
- 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.";
5808
+ 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.";
5248
5809
  readonly http: "GET";
5249
5810
  readonly path: "/database/v1/databases/{database_id}/rest/{table}";
5250
5811
  readonly streaming: "no";
@@ -5265,7 +5826,7 @@ export declare const operations: readonly [{
5265
5826
  readonly name: "{column}";
5266
5827
  readonly type: "string";
5267
5828
  readonly required: false;
5268
- 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.";
5829
+ 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.";
5269
5830
  }, {
5270
5831
  readonly name: "and";
5271
5832
  readonly type: "string";
@@ -5305,7 +5866,7 @@ export declare const operations: readonly [{
5305
5866
  readonly name: "on_conflict";
5306
5867
  readonly type: "string";
5307
5868
  readonly required: false;
5308
- 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.";
5869
+ 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.";
5309
5870
  }, {
5310
5871
  readonly name: "columns";
5311
5872
  readonly type: "string";
@@ -5316,7 +5877,7 @@ export declare const operations: readonly [{
5316
5877
  readonly resource: "database.databases.rest";
5317
5878
  readonly method: "head";
5318
5879
  readonly summary: "Count rows";
5319
- 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.";
5880
+ 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.";
5320
5881
  readonly http: "HEAD";
5321
5882
  readonly path: "/database/v1/databases/{database_id}/rest/{table}";
5322
5883
  readonly streaming: "no";
@@ -5337,7 +5898,7 @@ export declare const operations: readonly [{
5337
5898
  readonly name: "{column}";
5338
5899
  readonly type: "string";
5339
5900
  readonly required: false;
5340
- 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.";
5901
+ 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.";
5341
5902
  }, {
5342
5903
  readonly name: "and";
5343
5904
  readonly type: "string";
@@ -5377,7 +5938,7 @@ export declare const operations: readonly [{
5377
5938
  readonly name: "on_conflict";
5378
5939
  readonly type: "string";
5379
5940
  readonly required: false;
5380
- 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.";
5941
+ 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.";
5381
5942
  }, {
5382
5943
  readonly name: "columns";
5383
5944
  readonly type: "string";
@@ -5409,7 +5970,7 @@ export declare const operations: readonly [{
5409
5970
  readonly name: "{column}";
5410
5971
  readonly type: "string";
5411
5972
  readonly required: false;
5412
- 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.";
5973
+ 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.";
5413
5974
  }, {
5414
5975
  readonly name: "and";
5415
5976
  readonly type: "string";
@@ -5449,7 +6010,7 @@ export declare const operations: readonly [{
5449
6010
  readonly name: "on_conflict";
5450
6011
  readonly type: "string";
5451
6012
  readonly required: false;
5452
- 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.";
6013
+ 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.";
5453
6014
  }, {
5454
6015
  readonly name: "columns";
5455
6016
  readonly type: "string";
@@ -5464,7 +6025,7 @@ export declare const operations: readonly [{
5464
6025
  readonly resource: "database.databases.rest";
5465
6026
  readonly method: "create";
5466
6027
  readonly summary: "Insert rows";
5467
- 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.";
6028
+ 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.";
5468
6029
  readonly http: "POST";
5469
6030
  readonly path: "/database/v1/databases/{database_id}/rest/{table}";
5470
6031
  readonly streaming: "no";
@@ -5485,7 +6046,7 @@ export declare const operations: readonly [{
5485
6046
  readonly name: "{column}";
5486
6047
  readonly type: "string";
5487
6048
  readonly required: false;
5488
- 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.";
6049
+ 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.";
5489
6050
  }, {
5490
6051
  readonly name: "and";
5491
6052
  readonly type: "string";
@@ -5525,7 +6086,7 @@ export declare const operations: readonly [{
5525
6086
  readonly name: "on_conflict";
5526
6087
  readonly type: "string";
5527
6088
  readonly required: false;
5528
- 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.";
6089
+ 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.";
5529
6090
  }, {
5530
6091
  readonly name: "columns";
5531
6092
  readonly type: "string";
@@ -5568,7 +6129,7 @@ export declare const operations: readonly [{
5568
6129
  readonly resource: "database.databases.tables";
5569
6130
  readonly method: "create";
5570
6131
  readonly summary: "Create table";
5571
- 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.";
6132
+ 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.";
5572
6133
  readonly http: "POST";
5573
6134
  readonly path: "/database/v1/databases/{database_id}/tables";
5574
6135
  readonly streaming: "no";
@@ -5667,7 +6228,7 @@ export declare const operations: readonly [{
5667
6228
  readonly resource: "database.databases.tables.fields";
5668
6229
  readonly method: "create";
5669
6230
  readonly summary: "Add field";
5670
- 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.";
6231
+ 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.";
5671
6232
  readonly http: "POST";
5672
6233
  readonly path: "/database/v1/databases/{database_id}/tables/{table}/fields";
5673
6234
  readonly streaming: "no";
@@ -5804,7 +6365,7 @@ export declare const operations: readonly [{
5804
6365
  readonly resource: "file.files";
5805
6366
  readonly method: "create";
5806
6367
  readonly summary: "Upload file";
5807
- 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.";
6368
+ 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.";
5808
6369
  readonly http: "POST";
5809
6370
  readonly path: "/file/v1/files";
5810
6371
  readonly streaming: "no";
@@ -5818,7 +6379,7 @@ export declare const operations: readonly [{
5818
6379
  readonly name: "file";
5819
6380
  readonly type: "string";
5820
6381
  readonly required: true;
5821
- 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.";
6382
+ 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.";
5822
6383
  }, {
5823
6384
  readonly name: "purpose";
5824
6385
  readonly type: "string";
@@ -5855,7 +6416,7 @@ export declare const operations: readonly [{
5855
6416
  readonly resource: "file.files";
5856
6417
  readonly method: "retrieve";
5857
6418
  readonly summary: "Retrieve file";
5858
- 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.";
6419
+ 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.";
5859
6420
  readonly http: "GET";
5860
6421
  readonly path: "/file/v1/files/{file_id}";
5861
6422
  readonly streaming: "no";
@@ -5869,7 +6430,7 @@ export declare const operations: readonly [{
5869
6430
  readonly resource: "file.files";
5870
6431
  readonly method: "retrieveContent";
5871
6432
  readonly summary: "Retrieve file content";
5872
- 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.";
6433
+ 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.";
5873
6434
  readonly http: "GET";
5874
6435
  readonly path: "/file/v1/files/{file_id}/content";
5875
6436
  readonly streaming: "no";
@@ -5879,6 +6440,124 @@ export declare const operations: readonly [{
5879
6440
  readonly sdkName: "file_id";
5880
6441
  }];
5881
6442
  readonly query: readonly [];
6443
+ }, {
6444
+ readonly resource: "file.uploads";
6445
+ readonly method: "create";
6446
+ readonly summary: "Create an upload";
6447
+ 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.";
6448
+ readonly http: "POST";
6449
+ readonly path: "/file/v1/uploads";
6450
+ readonly streaming: "no";
6451
+ readonly pagination: false;
6452
+ readonly pathParams: readonly [];
6453
+ readonly query: readonly [];
6454
+ readonly body: {
6455
+ readonly required: true;
6456
+ readonly fields: readonly [{
6457
+ readonly name: "bytes";
6458
+ readonly type: "integer";
6459
+ readonly required: true;
6460
+ readonly description: "Exact complete file length in bytes, from 1 through 2147483648 (2 GiB); the sum of completed parts must match.";
6461
+ }, {
6462
+ readonly name: "filename";
6463
+ readonly type: "string";
6464
+ readonly required: true;
6465
+ readonly description: "Filename for the resulting file, at most 255 UTF-8 bytes.";
6466
+ }, {
6467
+ readonly name: "mime_type";
6468
+ readonly type: "string";
6469
+ readonly required: true;
6470
+ readonly description: "Declared MIME type; validated against the assembled content.";
6471
+ }, {
6472
+ readonly name: "purpose";
6473
+ readonly type: "string";
6474
+ readonly enum: readonly ["user_data", "assistants", "vision"];
6475
+ readonly required: true;
6476
+ readonly description: "Use user_data for conversation attachments, assistants for assistant files, or vision for PNG, JPEG, GIF and WebP images.";
6477
+ }, {
6478
+ readonly name: "expires_after";
6479
+ readonly type: "object";
6480
+ readonly required: false;
6481
+ readonly description: "Optional expiry policy for the resulting file; omission retains the file until deletion.";
6482
+ }, {
6483
+ readonly name: "part_size";
6484
+ readonly type: "integer";
6485
+ readonly required: false;
6486
+ 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.";
6487
+ }];
6488
+ };
6489
+ }, {
6490
+ readonly resource: "file.uploads";
6491
+ readonly method: "cancel";
6492
+ readonly summary: "Cancel an upload";
6493
+ 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.";
6494
+ readonly http: "POST";
6495
+ readonly path: "/file/v1/uploads/{upload_id}/cancel";
6496
+ readonly streaming: "no";
6497
+ readonly pagination: false;
6498
+ readonly pathParams: readonly [{
6499
+ readonly name: "upload_id";
6500
+ readonly sdkName: "upload_id";
6501
+ }];
6502
+ readonly query: readonly [];
6503
+ }, {
6504
+ readonly resource: "file.uploads";
6505
+ readonly method: "complete";
6506
+ readonly summary: "Complete an upload";
6507
+ 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.";
6508
+ readonly http: "POST";
6509
+ readonly path: "/file/v1/uploads/{upload_id}/complete";
6510
+ readonly streaming: "no";
6511
+ readonly pagination: false;
6512
+ readonly pathParams: readonly [{
6513
+ readonly name: "upload_id";
6514
+ readonly sdkName: "upload_id";
6515
+ }];
6516
+ readonly query: readonly [];
6517
+ readonly body: {
6518
+ readonly required: true;
6519
+ readonly fields: readonly [{
6520
+ readonly name: "part_ids";
6521
+ readonly type: "array";
6522
+ readonly itemType: "string";
6523
+ readonly required: true;
6524
+ readonly description: "All part IDs in concatenation order, without duplicates. Fixed-size uploads require increasing part_number order.";
6525
+ }, {
6526
+ readonly name: "md5";
6527
+ readonly type: "string";
6528
+ readonly required: false;
6529
+ readonly description: "Optional whole-file MD5 as 32 hexadecimal characters; verified after assembly.";
6530
+ }];
6531
+ };
6532
+ }, {
6533
+ readonly resource: "file.uploads.parts";
6534
+ readonly method: "create";
6535
+ readonly summary: "Add an upload part";
6536
+ 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.";
6537
+ readonly http: "POST";
6538
+ readonly path: "/file/v1/uploads/{upload_id}/parts";
6539
+ readonly streaming: "no";
6540
+ readonly pagination: false;
6541
+ readonly multipart: true;
6542
+ readonly pathParams: readonly [{
6543
+ readonly name: "upload_id";
6544
+ readonly sdkName: "upload_id";
6545
+ }];
6546
+ readonly query: readonly [{
6547
+ readonly name: "part_number";
6548
+ readonly type: "integer";
6549
+ readonly required: false;
6550
+ readonly description: "Required when create set part_size; 1 through ceil(bytes / part_size). Ignored for general uploads.";
6551
+ }];
6552
+ readonly body: {
6553
+ readonly required: true;
6554
+ readonly fields: readonly [{
6555
+ readonly name: "data";
6556
+ readonly type: "string";
6557
+ readonly required: true;
6558
+ readonly description: "Raw bytes of this part, nonempty and at most 64000000 bytes.";
6559
+ }];
6560
+ };
5882
6561
  }, {
5883
6562
  readonly resource: "knowledge.vectorStores";
5884
6563
  readonly method: "list";
@@ -9105,6 +9784,37 @@ export declare const operations: readonly [{
9105
9784
  readonly sdkName: "id";
9106
9785
  }];
9107
9786
  readonly query: readonly [];
9787
+ }, {
9788
+ readonly resource: "organization.feedback";
9789
+ readonly method: "list";
9790
+ readonly summary: "List your organization's feedback";
9791
+ readonly description: "Feedback submitted by your organization, newest first, with phase and unread state. Filter by phase and search titles and message text (case-insensitive). Page with next_page. Requires a valid API key, Console session, or machine token of the organization.";
9792
+ readonly http: "GET";
9793
+ readonly path: "/organization/v1/feedback";
9794
+ readonly streaming: "no";
9795
+ readonly pagination: false;
9796
+ readonly pathParams: readonly [];
9797
+ readonly query: readonly [{
9798
+ readonly name: "phase";
9799
+ readonly type: "string";
9800
+ readonly required: false;
9801
+ readonly description: "Only feedback in these phases: a comma-separated list of open, awaiting_customer, in_progress, resolved or closed, for example open,in_progress; see the phase field of a feedback for what each means.";
9802
+ }, {
9803
+ readonly name: "query";
9804
+ readonly type: "string";
9805
+ readonly required: false;
9806
+ readonly description: "Case-insensitive text matched against titles and message bodies.";
9807
+ }, {
9808
+ readonly name: "limit";
9809
+ readonly type: "integer";
9810
+ readonly required: false;
9811
+ readonly description: "Items per page, 1 to 100.";
9812
+ }, {
9813
+ readonly name: "page";
9814
+ readonly type: "string";
9815
+ readonly required: false;
9816
+ readonly description: "Opaque cursor from next_page of the previous response.";
9817
+ }];
9108
9818
  }, {
9109
9819
  readonly resource: "organization.feedback";
9110
9820
  readonly method: "create";
@@ -9122,7 +9832,7 @@ export declare const operations: readonly [{
9122
9832
  readonly name: "message";
9123
9833
  readonly type: "string";
9124
9834
  readonly required: true;
9125
- readonly description: "Problem description and original error text; at most 4096 Unicode code points.";
9835
+ readonly description: "Problem description, at most 4096 Unicode code points; may be empty only when contexts.praxis.error.message is a non-empty string.";
9126
9836
  }, {
9127
9837
  readonly name: "contact_email";
9128
9838
  readonly type: "string";
@@ -9143,6 +9853,16 @@ export declare const operations: readonly [{
9143
9853
  readonly type: "string";
9144
9854
  readonly required: false;
9145
9855
  readonly description: "X-Request-Id from the failed response or the related error event ID.";
9856
+ }, {
9857
+ readonly name: "title";
9858
+ readonly type: "string";
9859
+ readonly required: false;
9860
+ readonly description: "Short summary shown in the feedback list; at most 200 Unicode code points.";
9861
+ }, {
9862
+ readonly name: "type";
9863
+ readonly type: "string";
9864
+ readonly required: false;
9865
+ readonly description: "Feedback type key enabled in the help settings, such as issue, suggestion, billing or other. Unknown or disabled keys are rejected with INVALID_PARAMS.";
9146
9866
  }, {
9147
9867
  readonly name: "tags";
9148
9868
  readonly type: "object";
@@ -9168,16 +9888,94 @@ export declare const operations: readonly [{
9168
9888
  }];
9169
9889
  };
9170
9890
  }, {
9171
- readonly resource: "organization.usage";
9891
+ readonly resource: "organization.feedback.counts";
9172
9892
  readonly method: "list";
9173
- readonly summary: "List Organization Usage";
9174
- readonly description: "Consumed quantity per time bucket per group. Buckets are whole UTC hour/day periods covering the requested window. Each result carries exactly one ConsumedQuantity + ConsumedUnit — quantities of different units are never added together.\n";
9893
+ readonly summary: "Count your organization's feedback by phase";
9894
+ readonly description: "How many of your organization's feedback are in each phase, for status tabs. Counts never include another organization's feedback.";
9175
9895
  readonly http: "GET";
9176
- readonly path: "/organization/v1/usage";
9896
+ readonly path: "/organization/v1/feedback/counts";
9177
9897
  readonly streaming: "no";
9178
9898
  readonly pagination: false;
9179
9899
  readonly pathParams: readonly [];
9180
- readonly query: readonly [{
9900
+ readonly query: readonly [];
9901
+ }, {
9902
+ readonly resource: "organization.feedback";
9903
+ readonly method: "retrieve";
9904
+ readonly summary: "Get one of your organization's feedback";
9905
+ readonly description: "Read one feedback submitted by your organization with its current phase and first-response timing. Another organization's feedback answers 404 FEEDBACK_NOT_FOUND exactly like a missing one.";
9906
+ readonly http: "GET";
9907
+ readonly path: "/organization/v1/feedback/{id}";
9908
+ readonly streaming: "no";
9909
+ readonly pagination: false;
9910
+ readonly pathParams: readonly [{
9911
+ readonly name: "id";
9912
+ readonly sdkName: "id";
9913
+ }];
9914
+ readonly query: readonly [];
9915
+ }, {
9916
+ readonly resource: "organization.feedback.messages";
9917
+ readonly method: "list";
9918
+ readonly summary: "List the messages of a feedback";
9919
+ readonly description: "The conversation of one feedback in time order: your messages, support replies and system events. Internal support notes are never returned. Page with next_page.";
9920
+ readonly http: "GET";
9921
+ readonly path: "/organization/v1/feedback/{id}/messages";
9922
+ readonly streaming: "no";
9923
+ readonly pagination: false;
9924
+ readonly pathParams: readonly [{
9925
+ readonly name: "id";
9926
+ readonly sdkName: "id";
9927
+ }];
9928
+ readonly query: readonly [{
9929
+ readonly name: "limit";
9930
+ readonly type: "integer";
9931
+ readonly required: false;
9932
+ readonly description: "Items per page, 1 to 100.";
9933
+ }, {
9934
+ readonly name: "page";
9935
+ readonly type: "string";
9936
+ readonly required: false;
9937
+ readonly description: "Opaque cursor from next_page of the previous response.";
9938
+ }];
9939
+ }, {
9940
+ readonly resource: "organization.feedback.messages";
9941
+ readonly method: "create";
9942
+ readonly summary: "Reply on a feedback";
9943
+ readonly description: "Add your message to a feedback conversation, for example to answer a question from support. A reply while the phase is awaiting_customer moves it to in_progress and notifies support.";
9944
+ readonly http: "POST";
9945
+ readonly path: "/organization/v1/feedback/{id}/messages";
9946
+ readonly streaming: "no";
9947
+ readonly pagination: false;
9948
+ readonly pathParams: readonly [{
9949
+ readonly name: "id";
9950
+ readonly sdkName: "id";
9951
+ }];
9952
+ readonly query: readonly [];
9953
+ readonly body: {
9954
+ readonly required: true;
9955
+ readonly fields: readonly [{
9956
+ readonly name: "body";
9957
+ readonly type: "string";
9958
+ readonly required: true;
9959
+ readonly description: "Markdown text; at most 4096 Unicode code points.";
9960
+ }, {
9961
+ readonly name: "attachments";
9962
+ readonly type: "array";
9963
+ readonly itemType: "object";
9964
+ readonly required: false;
9965
+ readonly description: "Up to five attachments; decoded bytes must not exceed 10 MiB each or 20 MiB in total.";
9966
+ }];
9967
+ };
9968
+ }, {
9969
+ readonly resource: "organization.usage";
9970
+ readonly method: "list";
9971
+ readonly summary: "List Organization Usage";
9972
+ readonly description: "Consumed quantity per time bucket per group. Buckets are whole UTC hour/day periods covering the requested window. Each result carries exactly one ConsumedQuantity + ConsumedUnit — quantities of different units are never added together.\n";
9973
+ readonly http: "GET";
9974
+ readonly path: "/organization/v1/usage";
9975
+ readonly streaming: "no";
9976
+ readonly pagination: false;
9977
+ readonly pathParams: readonly [];
9978
+ readonly query: readonly [{
9181
9979
  readonly name: "starting_at";
9182
9980
  readonly type: "string";
9183
9981
  readonly required: true;
@@ -9269,7 +10067,7 @@ export declare const operations: readonly [{
9269
10067
  readonly resource: "sandbox.sandboxes";
9270
10068
  readonly method: "create";
9271
10069
  readonly summary: "Create sandbox (v2)";
9272
- 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.";
10070
+ readonly description: "Create a sandbox from the template. All system communication with the sandbox is secured.";
9273
10071
  readonly http: "POST";
9274
10072
  readonly path: "/sandbox/v1/sandboxes";
9275
10073
  readonly streaming: "no";
@@ -9282,7 +10080,7 @@ export declare const operations: readonly [{
9282
10080
  readonly name: "templateID";
9283
10081
  readonly type: "string";
9284
10082
  readonly required: true;
9285
- 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`).";
10083
+ readonly description: "Identifier of the required template";
9286
10084
  }, {
9287
10085
  readonly name: "timeout";
9288
10086
  readonly type: "integer";
@@ -9396,7 +10194,7 @@ export declare const operations: readonly [{
9396
10194
  readonly resource: "sandbox.sandboxes";
9397
10195
  readonly method: "connect";
9398
10196
  readonly summary: "Connect sandbox (v2)";
9399
- 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.";
10197
+ 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.";
9400
10198
  readonly http: "POST";
9401
10199
  readonly path: "/sandbox/v1/sandboxes/{sandboxID}/connect";
9402
10200
  readonly streaming: "no";
@@ -9517,7 +10315,7 @@ export declare const operations: readonly [{
9517
10315
  readonly resource: "sandbox.sandboxes.metrics";
9518
10316
  readonly method: "list";
9519
10317
  readonly summary: "Sandbox metrics";
9520
- 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.";
10318
+ 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.";
9521
10319
  readonly http: "GET";
9522
10320
  readonly path: "/sandbox/v1/sandboxes/{sandboxID}/metrics";
9523
10321
  readonly streaming: "no";
@@ -9586,7 +10384,7 @@ export declare const operations: readonly [{
9586
10384
  readonly resource: "sandbox.sandboxes";
9587
10385
  readonly method: "pause";
9588
10386
  readonly summary: "Pause sandbox";
9589
- 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.";
10387
+ 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.";
9590
10388
  readonly http: "POST";
9591
10389
  readonly path: "/sandbox/v1/sandboxes/{sandboxID}/pause";
9592
10390
  readonly streaming: "no";
@@ -9902,7 +10700,7 @@ export declare const operations: readonly [{
9902
10700
  readonly resource: "sandbox.templates";
9903
10701
  readonly method: "list";
9904
10702
  readonly summary: "List templates (v2)";
9905
- 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.";
10703
+ 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.";
9906
10704
  readonly http: "GET";
9907
10705
  readonly path: "/sandbox/v1/templates";
9908
10706
  readonly streaming: "no";
@@ -10377,6 +11175,1161 @@ export declare const operations: readonly [{
10377
11175
  readonly description: "Whether to filter out adult or unsafe content from results. Not supported for `fast` or `ultra-fast` search depths.";
10378
11176
  }];
10379
11177
  };
11178
+ }, {
11179
+ readonly resource: "ticket.activity";
11180
+ readonly method: "retrieve";
11181
+ readonly summary: "List activity";
11182
+ 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.";
11183
+ readonly http: "GET";
11184
+ readonly path: "/ticket/v1/activity";
11185
+ readonly streaming: "no";
11186
+ readonly pagination: false;
11187
+ readonly pathParams: readonly [];
11188
+ readonly query: readonly [{
11189
+ readonly name: "repository";
11190
+ readonly type: "string";
11191
+ readonly required: false;
11192
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11193
+ }, {
11194
+ readonly name: "page_size";
11195
+ readonly type: "integer";
11196
+ readonly required: false;
11197
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11198
+ }, {
11199
+ readonly name: "page_token";
11200
+ readonly type: "string";
11201
+ readonly required: false;
11202
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11203
+ }, {
11204
+ readonly name: "filter";
11205
+ readonly type: "string";
11206
+ readonly required: false;
11207
+ readonly description: "Activity qualifiers: actor, actor-kind, action, ticket, source and since; passed unchanged to the service.";
11208
+ }];
11209
+ }, {
11210
+ readonly resource: "ticket.comments";
11211
+ readonly method: "delete";
11212
+ readonly summary: "Remove comments";
11213
+ 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.";
11214
+ readonly http: "DELETE";
11215
+ readonly path: "/ticket/v1/comments/{id}";
11216
+ readonly streaming: "no";
11217
+ readonly pagination: false;
11218
+ readonly pathParams: readonly [{
11219
+ readonly name: "id";
11220
+ readonly sdkName: "id";
11221
+ }];
11222
+ readonly query: readonly [{
11223
+ readonly name: "repository";
11224
+ readonly type: "string";
11225
+ readonly required: false;
11226
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11227
+ }];
11228
+ }, {
11229
+ readonly resource: "ticket.comments";
11230
+ readonly method: "retrieve";
11231
+ readonly summary: "Read comments";
11232
+ 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.";
11233
+ readonly http: "GET";
11234
+ readonly path: "/ticket/v1/comments/{id}";
11235
+ readonly streaming: "no";
11236
+ readonly pagination: false;
11237
+ readonly pathParams: readonly [{
11238
+ readonly name: "id";
11239
+ readonly sdkName: "id";
11240
+ }];
11241
+ readonly query: readonly [{
11242
+ readonly name: "repository";
11243
+ readonly type: "string";
11244
+ readonly required: false;
11245
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11246
+ }];
11247
+ }, {
11248
+ readonly resource: "ticket.comments";
11249
+ readonly method: "update";
11250
+ readonly summary: "Update comments";
11251
+ 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.";
11252
+ readonly http: "PATCH";
11253
+ readonly path: "/ticket/v1/comments/{id}";
11254
+ readonly streaming: "no";
11255
+ readonly pagination: false;
11256
+ readonly pathParams: readonly [{
11257
+ readonly name: "id";
11258
+ readonly sdkName: "id";
11259
+ }];
11260
+ readonly query: readonly [{
11261
+ readonly name: "repository";
11262
+ readonly type: "string";
11263
+ readonly required: false;
11264
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11265
+ }];
11266
+ readonly body: {
11267
+ readonly required: true;
11268
+ readonly fields: readonly [{
11269
+ readonly name: "body";
11270
+ readonly type: "string";
11271
+ readonly required: true;
11272
+ readonly description: "Markdown text, at most 65536 characters.";
11273
+ }, {
11274
+ readonly name: "in_reply_to";
11275
+ readonly type: "string";
11276
+ readonly required: false;
11277
+ readonly description: "Opaque identifier returned by this resource's create or list operation.";
11278
+ }];
11279
+ };
11280
+ }, {
11281
+ readonly resource: "ticket.comments.reactions";
11282
+ readonly method: "list";
11283
+ readonly summary: "List reactions";
11284
+ 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.";
11285
+ readonly http: "GET";
11286
+ readonly path: "/ticket/v1/comments/{id}/reactions";
11287
+ readonly streaming: "no";
11288
+ readonly pagination: false;
11289
+ readonly pathParams: readonly [{
11290
+ readonly name: "id";
11291
+ readonly sdkName: "id";
11292
+ }];
11293
+ readonly query: readonly [{
11294
+ readonly name: "repository";
11295
+ readonly type: "string";
11296
+ readonly required: false;
11297
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11298
+ }, {
11299
+ readonly name: "page_size";
11300
+ readonly type: "integer";
11301
+ readonly required: false;
11302
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11303
+ }, {
11304
+ readonly name: "page_token";
11305
+ readonly type: "string";
11306
+ readonly required: false;
11307
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11308
+ }];
11309
+ }, {
11310
+ readonly resource: "ticket.comments.reactions";
11311
+ readonly method: "create";
11312
+ readonly summary: "Create or add reactions";
11313
+ 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.";
11314
+ readonly http: "POST";
11315
+ readonly path: "/ticket/v1/comments/{id}/reactions";
11316
+ readonly streaming: "no";
11317
+ readonly pagination: false;
11318
+ readonly pathParams: readonly [{
11319
+ readonly name: "id";
11320
+ readonly sdkName: "id";
11321
+ }];
11322
+ readonly query: readonly [{
11323
+ readonly name: "repository";
11324
+ readonly type: "string";
11325
+ readonly required: false;
11326
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11327
+ }];
11328
+ readonly body: {
11329
+ readonly required: true;
11330
+ readonly fields: readonly [{
11331
+ readonly name: "content";
11332
+ readonly type: "string";
11333
+ readonly enum: readonly ["+1", "-1", "laugh", "confused", "heart", "hooray", "eyes", "rocket"];
11334
+ readonly required: true;
11335
+ readonly description: "Reaction to add or remove: +1 approves, -1 disapproves, laugh, confused, heart, hooray, eyes, or rocket.";
11336
+ }];
11337
+ };
11338
+ }, {
11339
+ readonly resource: "ticket.comments.reactions";
11340
+ readonly method: "delete";
11341
+ readonly summary: "Remove reactions";
11342
+ 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.";
11343
+ readonly http: "DELETE";
11344
+ readonly path: "/ticket/v1/comments/{id}/reactions/{content}";
11345
+ readonly streaming: "no";
11346
+ readonly pagination: false;
11347
+ readonly pathParams: readonly [{
11348
+ readonly name: "id";
11349
+ readonly sdkName: "id";
11350
+ }, {
11351
+ readonly name: "content";
11352
+ readonly sdkName: "content";
11353
+ }];
11354
+ readonly query: readonly [{
11355
+ readonly name: "repository";
11356
+ readonly type: "string";
11357
+ readonly required: false;
11358
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11359
+ }];
11360
+ }, {
11361
+ readonly resource: "ticket.labels";
11362
+ readonly method: "list";
11363
+ readonly summary: "List labels";
11364
+ 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.";
11365
+ readonly http: "GET";
11366
+ readonly path: "/ticket/v1/labels";
11367
+ readonly streaming: "no";
11368
+ readonly pagination: false;
11369
+ readonly pathParams: readonly [];
11370
+ readonly query: readonly [{
11371
+ readonly name: "repository";
11372
+ readonly type: "string";
11373
+ readonly required: false;
11374
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11375
+ }, {
11376
+ readonly name: "page_size";
11377
+ readonly type: "integer";
11378
+ readonly required: false;
11379
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11380
+ }, {
11381
+ readonly name: "page_token";
11382
+ readonly type: "string";
11383
+ readonly required: false;
11384
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11385
+ }];
11386
+ }, {
11387
+ readonly resource: "ticket.labels";
11388
+ readonly method: "create";
11389
+ readonly summary: "Create or add labels";
11390
+ 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.";
11391
+ readonly http: "POST";
11392
+ readonly path: "/ticket/v1/labels";
11393
+ readonly streaming: "no";
11394
+ readonly pagination: false;
11395
+ readonly pathParams: readonly [];
11396
+ readonly query: readonly [{
11397
+ readonly name: "repository";
11398
+ readonly type: "string";
11399
+ readonly required: false;
11400
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11401
+ }];
11402
+ readonly body: {
11403
+ readonly required: true;
11404
+ readonly fields: readonly [{
11405
+ readonly name: "name";
11406
+ readonly type: "string";
11407
+ readonly required: true;
11408
+ readonly description: "Case-insensitive label name within the repository.";
11409
+ }, {
11410
+ readonly name: "color";
11411
+ readonly type: "string";
11412
+ readonly required: true;
11413
+ readonly description: "Six hexadecimal digits without #.";
11414
+ }, {
11415
+ readonly name: "description";
11416
+ readonly type: "string";
11417
+ readonly required: false;
11418
+ readonly description: "Label's purpose.";
11419
+ }];
11420
+ };
11421
+ }, {
11422
+ readonly resource: "ticket.labels";
11423
+ readonly method: "delete";
11424
+ readonly summary: "Remove labels";
11425
+ 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.";
11426
+ readonly http: "DELETE";
11427
+ readonly path: "/ticket/v1/labels/{name}";
11428
+ readonly streaming: "no";
11429
+ readonly pagination: false;
11430
+ readonly pathParams: readonly [{
11431
+ readonly name: "name";
11432
+ readonly sdkName: "name";
11433
+ }];
11434
+ readonly query: readonly [{
11435
+ readonly name: "repository";
11436
+ readonly type: "string";
11437
+ readonly required: false;
11438
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11439
+ }];
11440
+ }, {
11441
+ readonly resource: "ticket.labels";
11442
+ readonly method: "update";
11443
+ readonly summary: "Update labels";
11444
+ 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.";
11445
+ readonly http: "PATCH";
11446
+ readonly path: "/ticket/v1/labels/{name}";
11447
+ readonly streaming: "no";
11448
+ readonly pagination: false;
11449
+ readonly pathParams: readonly [{
11450
+ readonly name: "name";
11451
+ readonly sdkName: "name";
11452
+ }];
11453
+ readonly query: readonly [{
11454
+ readonly name: "repository";
11455
+ readonly type: "string";
11456
+ readonly required: false;
11457
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11458
+ }];
11459
+ readonly body: {
11460
+ readonly required: true;
11461
+ readonly fields: readonly [{
11462
+ readonly name: "color";
11463
+ readonly type: "string";
11464
+ readonly required: false;
11465
+ readonly description: "Six hexadecimal digits without #.";
11466
+ }, {
11467
+ readonly name: "description";
11468
+ readonly type: "string";
11469
+ readonly required: false;
11470
+ readonly description: "Label's purpose.";
11471
+ }, {
11472
+ readonly name: "new_name";
11473
+ readonly type: "string";
11474
+ readonly required: false;
11475
+ readonly description: "Case-insensitive label name within the repository.";
11476
+ }];
11477
+ };
11478
+ }, {
11479
+ readonly resource: "ticket.milestones";
11480
+ readonly method: "list";
11481
+ readonly summary: "List milestones";
11482
+ 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.";
11483
+ readonly http: "GET";
11484
+ readonly path: "/ticket/v1/milestones";
11485
+ readonly streaming: "no";
11486
+ readonly pagination: false;
11487
+ readonly pathParams: readonly [];
11488
+ readonly query: readonly [{
11489
+ readonly name: "repository";
11490
+ readonly type: "string";
11491
+ readonly required: false;
11492
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11493
+ }, {
11494
+ readonly name: "page_size";
11495
+ readonly type: "integer";
11496
+ readonly required: false;
11497
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11498
+ }, {
11499
+ readonly name: "page_token";
11500
+ readonly type: "string";
11501
+ readonly required: false;
11502
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11503
+ }];
11504
+ }, {
11505
+ readonly resource: "ticket.milestones";
11506
+ readonly method: "create";
11507
+ readonly summary: "Create or add milestones";
11508
+ 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.";
11509
+ readonly http: "POST";
11510
+ readonly path: "/ticket/v1/milestones";
11511
+ readonly streaming: "no";
11512
+ readonly pagination: false;
11513
+ readonly pathParams: readonly [];
11514
+ readonly query: readonly [{
11515
+ readonly name: "repository";
11516
+ readonly type: "string";
11517
+ readonly required: false;
11518
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11519
+ }];
11520
+ readonly body: {
11521
+ readonly required: true;
11522
+ readonly fields: readonly [{
11523
+ readonly name: "title";
11524
+ readonly type: "string";
11525
+ readonly required: true;
11526
+ readonly description: "Short title, at most 256 Unicode characters.";
11527
+ }, {
11528
+ readonly name: "description";
11529
+ readonly type: "string";
11530
+ readonly required: false;
11531
+ readonly description: "Milestone description.";
11532
+ }, {
11533
+ readonly name: "due_on";
11534
+ readonly type: "string";
11535
+ readonly required: false;
11536
+ readonly description: "Due date, or null if unset.";
11537
+ }, {
11538
+ readonly name: "state";
11539
+ readonly type: "string";
11540
+ readonly enum: readonly ["open", "closed"];
11541
+ readonly required: false;
11542
+ readonly description: "open means actionable; closed means resolved or declined.";
11543
+ }];
11544
+ };
11545
+ }, {
11546
+ readonly resource: "ticket.milestones";
11547
+ readonly method: "delete";
11548
+ readonly summary: "Remove milestones";
11549
+ 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.";
11550
+ readonly http: "DELETE";
11551
+ readonly path: "/ticket/v1/milestones/{number}";
11552
+ readonly streaming: "no";
11553
+ readonly pagination: false;
11554
+ readonly pathParams: readonly [{
11555
+ readonly name: "number";
11556
+ readonly sdkName: "number";
11557
+ }];
11558
+ readonly query: readonly [{
11559
+ readonly name: "repository";
11560
+ readonly type: "string";
11561
+ readonly required: false;
11562
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11563
+ }];
11564
+ }, {
11565
+ readonly resource: "ticket.milestones";
11566
+ readonly method: "retrieve";
11567
+ readonly summary: "Read milestones";
11568
+ 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.";
11569
+ readonly http: "GET";
11570
+ readonly path: "/ticket/v1/milestones/{number}";
11571
+ readonly streaming: "no";
11572
+ readonly pagination: false;
11573
+ readonly pathParams: readonly [{
11574
+ readonly name: "number";
11575
+ readonly sdkName: "number";
11576
+ }];
11577
+ readonly query: readonly [{
11578
+ readonly name: "repository";
11579
+ readonly type: "string";
11580
+ readonly required: false;
11581
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11582
+ }];
11583
+ }, {
11584
+ readonly resource: "ticket.milestones";
11585
+ readonly method: "update";
11586
+ readonly summary: "Update milestones";
11587
+ 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.";
11588
+ readonly http: "PATCH";
11589
+ readonly path: "/ticket/v1/milestones/{number}";
11590
+ readonly streaming: "no";
11591
+ readonly pagination: false;
11592
+ readonly pathParams: readonly [{
11593
+ readonly name: "number";
11594
+ readonly sdkName: "number";
11595
+ }];
11596
+ readonly query: readonly [{
11597
+ readonly name: "repository";
11598
+ readonly type: "string";
11599
+ readonly required: false;
11600
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11601
+ }];
11602
+ readonly body: {
11603
+ readonly required: true;
11604
+ readonly fields: readonly [{
11605
+ readonly name: "title";
11606
+ readonly type: "string";
11607
+ readonly required: false;
11608
+ readonly description: "Short title, at most 256 Unicode characters.";
11609
+ }, {
11610
+ readonly name: "description";
11611
+ readonly type: "string";
11612
+ readonly required: false;
11613
+ readonly description: "Milestone description.";
11614
+ }, {
11615
+ readonly name: "due_on";
11616
+ readonly type: "string";
11617
+ readonly required: false;
11618
+ readonly description: "Due date, or null if unset.";
11619
+ }, {
11620
+ readonly name: "state";
11621
+ readonly type: "string";
11622
+ readonly enum: readonly ["open", "closed"];
11623
+ readonly required: false;
11624
+ readonly description: "open means actionable; closed means resolved or declined.";
11625
+ }];
11626
+ };
11627
+ }, {
11628
+ readonly resource: "ticket.repositories";
11629
+ readonly method: "list";
11630
+ readonly summary: "List repositories";
11631
+ 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.";
11632
+ readonly http: "GET";
11633
+ readonly path: "/ticket/v1/repositories";
11634
+ readonly streaming: "no";
11635
+ readonly pagination: false;
11636
+ readonly pathParams: readonly [];
11637
+ readonly query: readonly [{
11638
+ readonly name: "page_size";
11639
+ readonly type: "integer";
11640
+ readonly required: false;
11641
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11642
+ }, {
11643
+ readonly name: "page_token";
11644
+ readonly type: "string";
11645
+ readonly required: false;
11646
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11647
+ }];
11648
+ }, {
11649
+ readonly resource: "ticket.tickets";
11650
+ readonly method: "list";
11651
+ readonly summary: "List tickets";
11652
+ 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.";
11653
+ readonly http: "GET";
11654
+ readonly path: "/ticket/v1/tickets";
11655
+ readonly streaming: "no";
11656
+ readonly pagination: false;
11657
+ readonly pathParams: readonly [];
11658
+ readonly query: readonly [{
11659
+ readonly name: "repository";
11660
+ readonly type: "string";
11661
+ readonly required: false;
11662
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11663
+ }, {
11664
+ readonly name: "page_size";
11665
+ readonly type: "integer";
11666
+ readonly required: false;
11667
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11668
+ }, {
11669
+ readonly name: "page_token";
11670
+ readonly type: "string";
11671
+ readonly required: false;
11672
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11673
+ }, {
11674
+ readonly name: "filter";
11675
+ readonly type: "string";
11676
+ readonly required: false;
11677
+ 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.";
11678
+ }];
11679
+ }, {
11680
+ readonly resource: "ticket.tickets";
11681
+ readonly method: "create";
11682
+ readonly summary: "Create or add tickets";
11683
+ 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.";
11684
+ readonly http: "POST";
11685
+ readonly path: "/ticket/v1/tickets";
11686
+ readonly streaming: "no";
11687
+ readonly pagination: false;
11688
+ readonly pathParams: readonly [];
11689
+ readonly query: readonly [{
11690
+ readonly name: "repository";
11691
+ readonly type: "string";
11692
+ readonly required: false;
11693
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11694
+ }];
11695
+ readonly body: {
11696
+ readonly required: true;
11697
+ readonly fields: readonly [{
11698
+ readonly name: "title";
11699
+ readonly type: "string";
11700
+ readonly required: true;
11701
+ readonly description: "Short title, at most 256 Unicode characters.";
11702
+ }, {
11703
+ readonly name: "body";
11704
+ readonly type: "string";
11705
+ readonly required: false;
11706
+ readonly description: "Markdown text, at most 65536 characters.";
11707
+ }, {
11708
+ readonly name: "type";
11709
+ readonly type: "string";
11710
+ readonly required: false;
11711
+ readonly description: "Built-in type name; null clears an existing type.";
11712
+ }, {
11713
+ readonly name: "labels";
11714
+ readonly type: "array";
11715
+ readonly itemType: "string";
11716
+ readonly required: false;
11717
+ readonly description: "Labels attached to this ticket; updates replace the complete list.";
11718
+ }, {
11719
+ readonly name: "assignees";
11720
+ readonly type: "array";
11721
+ readonly itemType: "string";
11722
+ readonly required: false;
11723
+ readonly description: "Complete assignee list, at most ten.";
11724
+ }, {
11725
+ readonly name: "milestone";
11726
+ readonly type: "integer";
11727
+ readonly required: false;
11728
+ readonly description: "Repository-local number returned by create or list; distinct from the object's id.";
11729
+ }, {
11730
+ readonly name: "parent";
11731
+ readonly type: "integer";
11732
+ readonly required: false;
11733
+ readonly description: "Repository-local number returned by create or list; distinct from the object's id.";
11734
+ }];
11735
+ };
11736
+ }, {
11737
+ readonly resource: "ticket.tickets";
11738
+ readonly method: "retrieve";
11739
+ readonly summary: "Read tickets";
11740
+ 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.";
11741
+ readonly http: "GET";
11742
+ readonly path: "/ticket/v1/tickets/{number}";
11743
+ readonly streaming: "no";
11744
+ readonly pagination: false;
11745
+ readonly pathParams: readonly [{
11746
+ readonly name: "number";
11747
+ readonly sdkName: "number";
11748
+ }];
11749
+ readonly query: readonly [{
11750
+ readonly name: "repository";
11751
+ readonly type: "string";
11752
+ readonly required: false;
11753
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11754
+ }];
11755
+ }, {
11756
+ readonly resource: "ticket.tickets";
11757
+ readonly method: "update";
11758
+ readonly summary: "Update tickets";
11759
+ 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.";
11760
+ readonly http: "PATCH";
11761
+ readonly path: "/ticket/v1/tickets/{number}";
11762
+ readonly streaming: "no";
11763
+ readonly pagination: false;
11764
+ readonly pathParams: readonly [{
11765
+ readonly name: "number";
11766
+ readonly sdkName: "number";
11767
+ }];
11768
+ readonly query: readonly [{
11769
+ readonly name: "repository";
11770
+ readonly type: "string";
11771
+ readonly required: false;
11772
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11773
+ }];
11774
+ readonly body: {
11775
+ readonly required: true;
11776
+ readonly fields: readonly [{
11777
+ readonly name: "title";
11778
+ readonly type: "string";
11779
+ readonly required: false;
11780
+ readonly description: "Short title, at most 256 Unicode characters.";
11781
+ }, {
11782
+ readonly name: "body";
11783
+ readonly type: "string";
11784
+ readonly required: false;
11785
+ readonly description: "Markdown text, at most 65536 characters.";
11786
+ }, {
11787
+ readonly name: "type";
11788
+ readonly type: "string";
11789
+ readonly required: false;
11790
+ readonly description: "Built-in type name; null clears an existing type.";
11791
+ }, {
11792
+ readonly name: "labels";
11793
+ readonly type: "array";
11794
+ readonly itemType: "string";
11795
+ readonly required: false;
11796
+ readonly description: "Labels attached to this ticket; updates replace the complete list.";
11797
+ }, {
11798
+ readonly name: "assignees";
11799
+ readonly type: "array";
11800
+ readonly itemType: "string";
11801
+ readonly required: false;
11802
+ readonly description: "Complete assignee list, at most ten.";
11803
+ }, {
11804
+ readonly name: "milestone";
11805
+ readonly type: "integer";
11806
+ readonly required: false;
11807
+ readonly description: "Repository-local number returned by create or list; distinct from the object's id.";
11808
+ }, {
11809
+ readonly name: "state";
11810
+ readonly type: "string";
11811
+ readonly enum: readonly ["open", "closed"];
11812
+ readonly required: false;
11813
+ readonly description: "open means actionable; closed means resolved or declined.";
11814
+ }, {
11815
+ readonly name: "state_reason";
11816
+ readonly type: "string";
11817
+ readonly enum: readonly ["completed", "not_planned", "duplicate"];
11818
+ readonly required: false;
11819
+ readonly description: "Reason for closing: completed resolves, not_planned declines, duplicate marks a duplicate.";
11820
+ }, {
11821
+ readonly name: "duplicate_of";
11822
+ readonly type: "integer";
11823
+ readonly required: false;
11824
+ readonly description: "Repository-local number returned by create or list; distinct from the object's id.";
11825
+ }];
11826
+ };
11827
+ }, {
11828
+ readonly resource: "ticket.tickets.comments";
11829
+ readonly method: "list";
11830
+ readonly summary: "List comments";
11831
+ 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.";
11832
+ readonly http: "GET";
11833
+ readonly path: "/ticket/v1/tickets/{number}/comments";
11834
+ readonly streaming: "no";
11835
+ readonly pagination: false;
11836
+ readonly pathParams: readonly [{
11837
+ readonly name: "number";
11838
+ readonly sdkName: "number";
11839
+ }];
11840
+ readonly query: readonly [{
11841
+ readonly name: "repository";
11842
+ readonly type: "string";
11843
+ readonly required: false;
11844
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11845
+ }, {
11846
+ readonly name: "page_size";
11847
+ readonly type: "integer";
11848
+ readonly required: false;
11849
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11850
+ }, {
11851
+ readonly name: "page_token";
11852
+ readonly type: "string";
11853
+ readonly required: false;
11854
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11855
+ }];
11856
+ }, {
11857
+ readonly resource: "ticket.tickets.comments";
11858
+ readonly method: "create";
11859
+ readonly summary: "Create or add comments";
11860
+ 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.";
11861
+ readonly http: "POST";
11862
+ readonly path: "/ticket/v1/tickets/{number}/comments";
11863
+ readonly streaming: "no";
11864
+ readonly pagination: false;
11865
+ readonly pathParams: readonly [{
11866
+ readonly name: "number";
11867
+ readonly sdkName: "number";
11868
+ }];
11869
+ readonly query: readonly [{
11870
+ readonly name: "repository";
11871
+ readonly type: "string";
11872
+ readonly required: false;
11873
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11874
+ }];
11875
+ readonly body: {
11876
+ readonly required: true;
11877
+ readonly fields: readonly [{
11878
+ readonly name: "body";
11879
+ readonly type: "string";
11880
+ readonly required: true;
11881
+ readonly description: "Markdown text, at most 65536 characters.";
11882
+ }, {
11883
+ readonly name: "in_reply_to";
11884
+ readonly type: "string";
11885
+ readonly required: false;
11886
+ readonly description: "Opaque identifier returned by this resource's create or list operation.";
11887
+ }];
11888
+ };
11889
+ }, {
11890
+ readonly resource: "ticket.tickets.dependencies";
11891
+ readonly method: "retrieveBlockedBy";
11892
+ readonly summary: "List blocked by";
11893
+ 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.";
11894
+ readonly http: "GET";
11895
+ readonly path: "/ticket/v1/tickets/{number}/dependencies/blocked_by";
11896
+ readonly streaming: "no";
11897
+ readonly pagination: false;
11898
+ readonly pathParams: readonly [{
11899
+ readonly name: "number";
11900
+ readonly sdkName: "number";
11901
+ }];
11902
+ readonly query: readonly [{
11903
+ readonly name: "repository";
11904
+ readonly type: "string";
11905
+ readonly required: false;
11906
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11907
+ }, {
11908
+ readonly name: "page_size";
11909
+ readonly type: "integer";
11910
+ readonly required: false;
11911
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11912
+ }, {
11913
+ readonly name: "page_token";
11914
+ readonly type: "string";
11915
+ readonly required: false;
11916
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11917
+ }];
11918
+ }, {
11919
+ readonly resource: "ticket.tickets.dependencies.blockedBy";
11920
+ readonly method: "create";
11921
+ readonly summary: "Create or add blocked by";
11922
+ 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.";
11923
+ readonly http: "POST";
11924
+ readonly path: "/ticket/v1/tickets/{number}/dependencies/blocked_by";
11925
+ readonly streaming: "no";
11926
+ readonly pagination: false;
11927
+ readonly pathParams: readonly [{
11928
+ readonly name: "number";
11929
+ readonly sdkName: "number";
11930
+ }];
11931
+ readonly query: readonly [{
11932
+ readonly name: "repository";
11933
+ readonly type: "string";
11934
+ readonly required: false;
11935
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11936
+ }];
11937
+ readonly body: {
11938
+ readonly required: true;
11939
+ readonly fields: readonly [{
11940
+ readonly name: "blocked_by";
11941
+ readonly type: "integer";
11942
+ readonly required: true;
11943
+ readonly description: "Repository-local number returned by create or list; distinct from the object's id.";
11944
+ }];
11945
+ };
11946
+ }, {
11947
+ readonly resource: "ticket.tickets.dependencies.blockedBy";
11948
+ readonly method: "delete";
11949
+ readonly summary: "Remove blocked by";
11950
+ 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.";
11951
+ readonly http: "DELETE";
11952
+ readonly path: "/ticket/v1/tickets/{number}/dependencies/blocked_by/{n}";
11953
+ readonly streaming: "no";
11954
+ readonly pagination: false;
11955
+ readonly pathParams: readonly [{
11956
+ readonly name: "number";
11957
+ readonly sdkName: "number";
11958
+ }, {
11959
+ readonly name: "n";
11960
+ readonly sdkName: "n";
11961
+ }];
11962
+ readonly query: readonly [{
11963
+ readonly name: "repository";
11964
+ readonly type: "string";
11965
+ readonly required: false;
11966
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11967
+ }];
11968
+ }, {
11969
+ readonly resource: "ticket.tickets.dependencies";
11970
+ readonly method: "retrieveBlocking";
11971
+ readonly summary: "List blocking";
11972
+ 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.";
11973
+ readonly http: "GET";
11974
+ readonly path: "/ticket/v1/tickets/{number}/dependencies/blocking";
11975
+ readonly streaming: "no";
11976
+ readonly pagination: false;
11977
+ readonly pathParams: readonly [{
11978
+ readonly name: "number";
11979
+ readonly sdkName: "number";
11980
+ }];
11981
+ readonly query: readonly [{
11982
+ readonly name: "repository";
11983
+ readonly type: "string";
11984
+ readonly required: false;
11985
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
11986
+ }, {
11987
+ readonly name: "page_size";
11988
+ readonly type: "integer";
11989
+ readonly required: false;
11990
+ readonly description: "Records per page; defaults to 30, maximum 100.";
11991
+ }, {
11992
+ readonly name: "page_token";
11993
+ readonly type: "string";
11994
+ readonly required: false;
11995
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
11996
+ }];
11997
+ }, {
11998
+ readonly resource: "ticket.tickets.events";
11999
+ readonly method: "list";
12000
+ readonly summary: "List events";
12001
+ 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.";
12002
+ readonly http: "GET";
12003
+ readonly path: "/ticket/v1/tickets/{number}/events";
12004
+ readonly streaming: "no";
12005
+ readonly pagination: false;
12006
+ readonly pathParams: readonly [{
12007
+ readonly name: "number";
12008
+ readonly sdkName: "number";
12009
+ }];
12010
+ readonly query: readonly [{
12011
+ readonly name: "repository";
12012
+ readonly type: "string";
12013
+ readonly required: false;
12014
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12015
+ }, {
12016
+ readonly name: "page_size";
12017
+ readonly type: "integer";
12018
+ readonly required: false;
12019
+ readonly description: "Records per page; defaults to 30, maximum 100.";
12020
+ }, {
12021
+ readonly name: "page_token";
12022
+ readonly type: "string";
12023
+ readonly required: false;
12024
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
12025
+ }];
12026
+ }, {
12027
+ readonly resource: "ticket.tickets";
12028
+ readonly method: "deleteLock";
12029
+ readonly summary: "Remove lock";
12030
+ 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.";
12031
+ readonly http: "DELETE";
12032
+ readonly path: "/ticket/v1/tickets/{number}/lock";
12033
+ readonly streaming: "no";
12034
+ readonly pagination: false;
12035
+ readonly pathParams: readonly [{
12036
+ readonly name: "number";
12037
+ readonly sdkName: "number";
12038
+ }];
12039
+ readonly query: readonly [{
12040
+ readonly name: "repository";
12041
+ readonly type: "string";
12042
+ readonly required: false;
12043
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12044
+ }];
12045
+ }, {
12046
+ readonly resource: "ticket.tickets";
12047
+ readonly method: "updateLock";
12048
+ readonly summary: "Update lock";
12049
+ 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.";
12050
+ readonly http: "PUT";
12051
+ readonly path: "/ticket/v1/tickets/{number}/lock";
12052
+ readonly streaming: "no";
12053
+ readonly pagination: false;
12054
+ readonly pathParams: readonly [{
12055
+ readonly name: "number";
12056
+ readonly sdkName: "number";
12057
+ }];
12058
+ readonly query: readonly [{
12059
+ readonly name: "repository";
12060
+ readonly type: "string";
12061
+ readonly required: false;
12062
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12063
+ }];
12064
+ readonly body: {
12065
+ readonly required: false;
12066
+ readonly fields: readonly [{
12067
+ readonly name: "lock_reason";
12068
+ readonly type: "string";
12069
+ readonly enum: readonly ["off-topic", "too heated", "resolved", "spam"];
12070
+ readonly required: false;
12071
+ readonly description: "Reason for locking: off-topic, too heated, resolved, or spam.";
12072
+ }];
12073
+ };
12074
+ }, {
12075
+ readonly resource: "ticket.tickets.reactions";
12076
+ readonly method: "list";
12077
+ readonly summary: "List reactions";
12078
+ 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.";
12079
+ readonly http: "GET";
12080
+ readonly path: "/ticket/v1/tickets/{number}/reactions";
12081
+ readonly streaming: "no";
12082
+ readonly pagination: false;
12083
+ readonly pathParams: readonly [{
12084
+ readonly name: "number";
12085
+ readonly sdkName: "number";
12086
+ }];
12087
+ readonly query: readonly [{
12088
+ readonly name: "repository";
12089
+ readonly type: "string";
12090
+ readonly required: false;
12091
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12092
+ }, {
12093
+ readonly name: "page_size";
12094
+ readonly type: "integer";
12095
+ readonly required: false;
12096
+ readonly description: "Records per page; defaults to 30, maximum 100.";
12097
+ }, {
12098
+ readonly name: "page_token";
12099
+ readonly type: "string";
12100
+ readonly required: false;
12101
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
12102
+ }];
12103
+ }, {
12104
+ readonly resource: "ticket.tickets.reactions";
12105
+ readonly method: "create";
12106
+ readonly summary: "Create or add reactions";
12107
+ 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.";
12108
+ readonly http: "POST";
12109
+ readonly path: "/ticket/v1/tickets/{number}/reactions";
12110
+ readonly streaming: "no";
12111
+ readonly pagination: false;
12112
+ readonly pathParams: readonly [{
12113
+ readonly name: "number";
12114
+ readonly sdkName: "number";
12115
+ }];
12116
+ readonly query: readonly [{
12117
+ readonly name: "repository";
12118
+ readonly type: "string";
12119
+ readonly required: false;
12120
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12121
+ }];
12122
+ readonly body: {
12123
+ readonly required: true;
12124
+ readonly fields: readonly [{
12125
+ readonly name: "content";
12126
+ readonly type: "string";
12127
+ readonly enum: readonly ["+1", "-1", "laugh", "confused", "heart", "hooray", "eyes", "rocket"];
12128
+ readonly required: true;
12129
+ readonly description: "Reaction to add or remove: +1 approves, -1 disapproves, laugh, confused, heart, hooray, eyes, or rocket.";
12130
+ }];
12131
+ };
12132
+ }, {
12133
+ readonly resource: "ticket.tickets.reactions";
12134
+ readonly method: "delete";
12135
+ readonly summary: "Remove reactions";
12136
+ 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.";
12137
+ readonly http: "DELETE";
12138
+ readonly path: "/ticket/v1/tickets/{number}/reactions/{content}";
12139
+ readonly streaming: "no";
12140
+ readonly pagination: false;
12141
+ readonly pathParams: readonly [{
12142
+ readonly name: "number";
12143
+ readonly sdkName: "number";
12144
+ }, {
12145
+ readonly name: "content";
12146
+ readonly sdkName: "content";
12147
+ }];
12148
+ readonly query: readonly [{
12149
+ readonly name: "repository";
12150
+ readonly type: "string";
12151
+ readonly required: false;
12152
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12153
+ }];
12154
+ }, {
12155
+ readonly resource: "ticket.tickets.relations";
12156
+ readonly method: "list";
12157
+ readonly summary: "List relations";
12158
+ 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.";
12159
+ readonly http: "GET";
12160
+ readonly path: "/ticket/v1/tickets/{number}/relations";
12161
+ readonly streaming: "no";
12162
+ readonly pagination: false;
12163
+ readonly pathParams: readonly [{
12164
+ readonly name: "number";
12165
+ readonly sdkName: "number";
12166
+ }];
12167
+ readonly query: readonly [{
12168
+ readonly name: "repository";
12169
+ readonly type: "string";
12170
+ readonly required: false;
12171
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12172
+ }, {
12173
+ readonly name: "page_size";
12174
+ readonly type: "integer";
12175
+ readonly required: false;
12176
+ readonly description: "Records per page; defaults to 30, maximum 100.";
12177
+ }, {
12178
+ readonly name: "page_token";
12179
+ readonly type: "string";
12180
+ readonly required: false;
12181
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
12182
+ }];
12183
+ }, {
12184
+ readonly resource: "ticket.tickets.relations";
12185
+ readonly method: "create";
12186
+ readonly summary: "Create or add relations";
12187
+ 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.";
12188
+ readonly http: "POST";
12189
+ readonly path: "/ticket/v1/tickets/{number}/relations";
12190
+ readonly streaming: "no";
12191
+ readonly pagination: false;
12192
+ readonly pathParams: readonly [{
12193
+ readonly name: "number";
12194
+ readonly sdkName: "number";
12195
+ }];
12196
+ readonly query: readonly [{
12197
+ readonly name: "repository";
12198
+ readonly type: "string";
12199
+ readonly required: false;
12200
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12201
+ }];
12202
+ readonly body: {
12203
+ readonly required: true;
12204
+ readonly fields: readonly [{
12205
+ readonly name: "relates_to";
12206
+ readonly type: "integer";
12207
+ readonly required: true;
12208
+ readonly description: "Repository-local number returned by create or list; distinct from the object's id.";
12209
+ }];
12210
+ };
12211
+ }, {
12212
+ readonly resource: "ticket.tickets.relations";
12213
+ readonly method: "delete";
12214
+ readonly summary: "Remove relations";
12215
+ 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.";
12216
+ readonly http: "DELETE";
12217
+ readonly path: "/ticket/v1/tickets/{number}/relations/{n}";
12218
+ readonly streaming: "no";
12219
+ readonly pagination: false;
12220
+ readonly pathParams: readonly [{
12221
+ readonly name: "number";
12222
+ readonly sdkName: "number";
12223
+ }, {
12224
+ readonly name: "n";
12225
+ readonly sdkName: "n";
12226
+ }];
12227
+ readonly query: readonly [{
12228
+ readonly name: "repository";
12229
+ readonly type: "string";
12230
+ readonly required: false;
12231
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12232
+ }];
12233
+ }, {
12234
+ readonly resource: "ticket.tickets.subTickets";
12235
+ readonly method: "list";
12236
+ readonly summary: "List sub tickets";
12237
+ 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.";
12238
+ readonly http: "GET";
12239
+ readonly path: "/ticket/v1/tickets/{number}/sub_tickets";
12240
+ readonly streaming: "no";
12241
+ readonly pagination: false;
12242
+ readonly pathParams: readonly [{
12243
+ readonly name: "number";
12244
+ readonly sdkName: "number";
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
+ readonly name: "page_size";
12253
+ readonly type: "integer";
12254
+ readonly required: false;
12255
+ readonly description: "Records per page; defaults to 30, maximum 100.";
12256
+ }, {
12257
+ readonly name: "page_token";
12258
+ readonly type: "string";
12259
+ readonly required: false;
12260
+ readonly description: "Cursor returned as next_page_token; omit for the first page.";
12261
+ }];
12262
+ }, {
12263
+ readonly resource: "ticket.tickets.subTickets";
12264
+ readonly method: "create";
12265
+ readonly summary: "Create or add sub tickets";
12266
+ 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.";
12267
+ readonly http: "POST";
12268
+ readonly path: "/ticket/v1/tickets/{number}/sub_tickets";
12269
+ readonly streaming: "no";
12270
+ readonly pagination: false;
12271
+ readonly pathParams: readonly [{
12272
+ readonly name: "number";
12273
+ readonly sdkName: "number";
12274
+ }];
12275
+ readonly query: readonly [{
12276
+ readonly name: "repository";
12277
+ readonly type: "string";
12278
+ readonly required: false;
12279
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12280
+ }];
12281
+ readonly body: {
12282
+ readonly required: true;
12283
+ readonly fields: readonly [{
12284
+ readonly name: "child";
12285
+ readonly type: "integer";
12286
+ readonly required: true;
12287
+ readonly description: "Repository-local number returned by create or list; distinct from the object's id.";
12288
+ }, {
12289
+ readonly name: "replace_parent";
12290
+ readonly type: "boolean";
12291
+ readonly required: false;
12292
+ readonly description: "Allow replacing an existing parent.";
12293
+ }];
12294
+ };
12295
+ }, {
12296
+ readonly resource: "ticket.tickets.subTickets";
12297
+ readonly method: "delete";
12298
+ readonly summary: "Remove sub tickets";
12299
+ 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.";
12300
+ readonly http: "DELETE";
12301
+ readonly path: "/ticket/v1/tickets/{number}/sub_tickets/{child}";
12302
+ readonly streaming: "no";
12303
+ readonly pagination: false;
12304
+ readonly pathParams: readonly [{
12305
+ readonly name: "number";
12306
+ readonly sdkName: "number";
12307
+ }, {
12308
+ readonly name: "child";
12309
+ readonly sdkName: "child";
12310
+ }];
12311
+ readonly query: readonly [{
12312
+ readonly name: "repository";
12313
+ readonly type: "string";
12314
+ readonly required: false;
12315
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12316
+ }];
12317
+ }, {
12318
+ readonly resource: "ticket.types";
12319
+ readonly method: "list";
12320
+ readonly summary: "Read types";
12321
+ 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.";
12322
+ readonly http: "GET";
12323
+ readonly path: "/ticket/v1/types";
12324
+ readonly streaming: "no";
12325
+ readonly pagination: false;
12326
+ readonly pathParams: readonly [];
12327
+ readonly query: readonly [{
12328
+ readonly name: "repository";
12329
+ readonly type: "string";
12330
+ readonly required: false;
12331
+ readonly description: "Repository id from GET /ticket/v1/repositories; omit for the default tickets container.";
12332
+ }];
10380
12333
  }, {
10381
12334
  readonly resource: "vault.authorizations";
10382
12335
  readonly method: "create";