@deepraxis/sdk 0.1.0-dev.c6c496f → 0.1.0-dev.cdc78ae

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.
@@ -1,6 +1,42 @@
1
1
  // This file is auto-generated by @hey-api/openapi-ts
2
2
  import { formDataBodySerializer } from './client/index.js';
3
3
  import { client } from './client.gen.js';
4
+ /**
5
+ * Apply Agent Version
6
+ *
7
+ * 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.
8
+ */
9
+ export const applyAgentVersion = (options) => (options.client ?? client).post({
10
+ security: [{
11
+ key: 'BearerAuth',
12
+ scheme: 'bearer',
13
+ type: 'http'
14
+ }, {
15
+ key: 'ApiKeyAuth',
16
+ name: 'X-API-Key',
17
+ type: 'apiKey'
18
+ }],
19
+ url: '/agent/v1/agents/{agent_id}/versions/{version}/apply',
20
+ ...options
21
+ });
22
+ /**
23
+ * Unarchive Agent
24
+ *
25
+ * 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.
26
+ */
27
+ export const unarchiveAgent = (options) => (options.client ?? client).post({
28
+ security: [{
29
+ key: 'BearerAuth',
30
+ scheme: 'bearer',
31
+ type: 'http'
32
+ }, {
33
+ key: 'ApiKeyAuth',
34
+ name: 'X-API-Key',
35
+ type: 'apiKey'
36
+ }],
37
+ url: '/agent/v1/agents/{agent_id}/unarchive',
38
+ ...options
39
+ });
4
40
  /**
5
41
  * Delete Run Feedback
6
42
  *
@@ -45,6 +81,255 @@ export const setRunFeedback = (options) => (options.client ?? client).post({
45
81
  ...options.headers
46
82
  }
47
83
  });
84
+ /**
85
+ * List End Users
86
+ *
87
+ * List users who have sessions or token issuance history on a service agent.
88
+ *
89
+ * Ordered 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.
90
+ */
91
+ export const listEndUsers = (options) => (options.client ?? client).get({
92
+ security: [{
93
+ key: 'BearerAuth',
94
+ scheme: 'bearer',
95
+ type: 'http'
96
+ }, {
97
+ key: 'ApiKeyAuth',
98
+ name: 'X-API-Key',
99
+ type: 'apiKey'
100
+ }],
101
+ url: '/agent/v1/agents/{agent_id}/end_users',
102
+ ...options
103
+ });
104
+ /**
105
+ * Delete end-user data
106
+ *
107
+ * Delete a host application's end-user data from one service agent after explicit confirmation.
108
+ *
109
+ * Develop 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.
110
+ */
111
+ export const deleteEndUser = (options) => (options.client ?? client).delete({
112
+ security: [{
113
+ key: 'BearerAuth',
114
+ scheme: 'bearer',
115
+ type: 'http'
116
+ }, {
117
+ key: 'ApiKeyAuth',
118
+ name: 'X-API-Key',
119
+ type: 'apiKey'
120
+ }],
121
+ url: '/agent/v1/agents/{agent_id}/end_users/{external_user_id}',
122
+ ...options
123
+ });
124
+ /**
125
+ * Get End User
126
+ *
127
+ * Inspect one end user and their twenty most recently updated sessions.
128
+ *
129
+ * Use 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.
130
+ */
131
+ export const getEndUser = (options) => (options.client ?? client).get({
132
+ security: [{
133
+ key: 'BearerAuth',
134
+ scheme: 'bearer',
135
+ type: 'http'
136
+ }, {
137
+ key: 'ApiKeyAuth',
138
+ name: 'X-API-Key',
139
+ type: 'apiKey'
140
+ }],
141
+ url: '/agent/v1/agents/{agent_id}/end_users/{external_user_id}',
142
+ ...options
143
+ });
144
+ /**
145
+ * Get end-user deletion
146
+ *
147
+ * Poll the latest deletion task for an end user, including after the user data has been removed.
148
+ *
149
+ * Use 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.
150
+ */
151
+ export const getEndUserDeletion = (options) => (options.client ?? client).get({
152
+ security: [{
153
+ key: 'BearerAuth',
154
+ scheme: 'bearer',
155
+ type: 'http'
156
+ }, {
157
+ key: 'ApiKeyAuth',
158
+ name: 'X-API-Key',
159
+ type: 'apiKey'
160
+ }],
161
+ url: '/agent/v1/agents/{agent_id}/end_users/{external_user_id}/deletion',
162
+ ...options
163
+ });
164
+ /**
165
+ * Revoke End User Tokens
166
+ *
167
+ * Revoke all issued tokens for an end user and terminate their open embed streams.
168
+ *
169
+ * Revokes 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.
170
+ */
171
+ export const revokeEndUserTokens = (options) => (options.client ?? client).post({
172
+ security: [{
173
+ key: 'BearerAuth',
174
+ scheme: 'bearer',
175
+ type: 'http'
176
+ }, {
177
+ key: 'ApiKeyAuth',
178
+ name: 'X-API-Key',
179
+ type: 'apiKey'
180
+ }],
181
+ url: '/agent/v1/agents/{agent_id}/end_users/{external_user_id}/revoke_tokens',
182
+ ...options
183
+ });
184
+ /**
185
+ * Block End User
186
+ *
187
+ * Block token issuance and session creation, then revoke existing tokens for an end user.
188
+ *
189
+ * May 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.
190
+ */
191
+ export const blockEndUser = (options) => (options.client ?? client).post({
192
+ security: [{
193
+ key: 'BearerAuth',
194
+ scheme: 'bearer',
195
+ type: 'http'
196
+ }, {
197
+ key: 'ApiKeyAuth',
198
+ name: 'X-API-Key',
199
+ type: 'apiKey'
200
+ }],
201
+ url: '/agent/v1/agents/{agent_id}/end_users/{external_user_id}/block',
202
+ ...options
203
+ });
204
+ /**
205
+ * Unblock End User
206
+ *
207
+ * Allow an end user to receive new tokens and create new sessions again.
208
+ *
209
+ * Removes 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.
210
+ */
211
+ export const unblockEndUser = (options) => (options.client ?? client).post({
212
+ security: [{
213
+ key: 'BearerAuth',
214
+ scheme: 'bearer',
215
+ type: 'http'
216
+ }, {
217
+ key: 'ApiKeyAuth',
218
+ name: 'X-API-Key',
219
+ type: 'apiKey'
220
+ }],
221
+ url: '/agent/v1/agents/{agent_id}/end_users/{external_user_id}/unblock',
222
+ ...options
223
+ });
224
+ /**
225
+ * Create customer grant code
226
+ *
227
+ * Sign your logged-in customer in to a service agent from your backend with a one-time grant code that Agent Kit exchanges for a customer access token.
228
+ *
229
+ * Call this from your backend with your API key after your own login succeeds, then pass the returned code to Agent Kit in the browser; never call it from the browser. Customer authorization follows Shopify Storefront customer access tokens (Multipass-style sign-in, a short-lived token, renewal and logout), so that experience applies. customer_id is your own identifier for the customer: use an opaque id such as your database user id, not an email address or phone number. The value auth is reserved, and ids starting with anon_ are reserved for anonymous customers. The code works once and expires after expires_in seconds (default 900). The sign-in it starts lasts max_session_seconds (default 7 days); version, budget_cents, system_message, agent_override and metadata apply to every token of the sign-in. Unlike Shopify, origin binds the whole sign-in to one page origin, and anonymous_access_token merges the conversations of the anonymous visitor who chatted before signing in into this customer. Example body: {"customer_id":"cus_8f2a91","origin":"https://shop.example.com"}.
230
+ */
231
+ export const createCustomerGrantCode = (options) => (options.client ?? client).post({
232
+ security: [{
233
+ key: 'BearerAuth',
234
+ scheme: 'bearer',
235
+ type: 'http'
236
+ }, {
237
+ key: 'ApiKeyAuth',
238
+ name: 'X-API-Key',
239
+ type: 'apiKey'
240
+ }],
241
+ url: '/agent/v1/agents/{agent_id}/customers/auth/grant_codes',
242
+ ...options,
243
+ headers: {
244
+ 'Content-Type': 'application/json',
245
+ ...options.headers
246
+ }
247
+ });
248
+ /**
249
+ * Create customer access token
250
+ *
251
+ * Exchange a grant code, or the agent's publishable key for an anonymous visitor, for a customer access token that authorizes the agent's embedded sessions.
252
+ *
253
+ * No Authorization header is required: the grant code or the publishable key is the credential. Agent Kit calls this from the browser, so send the page Origin. With grant_code, the code is consumed atomically: concurrent attempts have exactly one winner, and unknown, used, expired and other-agent codes all return the same 401 GRANT_CODE_INVALID. The sign-in starts now and lasts the code's max_session_seconds. Unlike Shopify, a visitor without an account gets a token too: send publishable_key instead and a new anonymous customer (anon_…) is created, bound to the request Origin, for 7 days. The access token lasts at most two hours and never outlives the sign-in; renew it with access_tokens/renew before expires_at. Both forms share the per-IP minute limit of anonymous issuance (default 20). Example body: {"grant_code":"cgc_…"}.
254
+ */
255
+ export const createCustomerAccessToken = (options) => (options.client ?? client).post({
256
+ url: '/agent/v1/agents/{agent_id}/customers/auth/access_tokens',
257
+ ...options,
258
+ headers: {
259
+ 'Content-Type': 'application/json',
260
+ ...options.headers
261
+ }
262
+ });
263
+ /**
264
+ * Renew customer access token
265
+ *
266
+ * Get a fresh customer access token in the same sign-in, authenticated with the current one.
267
+ *
268
+ * Send the current customer access token as the Bearer credential, with no body, a few minutes before expires_at. The new token keeps the version, budget, context, metadata and origin binding of the sign-in and lasts at most two hours, never past session_expires_at. Unlike Shopify, renewal does not revoke the presented token: it stays valid until its own expiry, so a reply that is streaming on it is not cut off. When less than 60 seconds of the sign-in remain, renewal returns 401 CUSTOMER_SESSION_EXPIRED; sign the customer in again with a new grant code from your backend. A token that was logged out or merged returns 401 ACCESS_TOKEN_REVOKED.
269
+ */
270
+ export const renewCustomerAccessToken = (options) => (options.client ?? client).post({
271
+ security: [{
272
+ key: 'BearerAuth',
273
+ scheme: 'bearer',
274
+ type: 'http'
275
+ }, {
276
+ key: 'ApiKeyAuth',
277
+ name: 'X-API-Key',
278
+ type: 'apiKey'
279
+ }],
280
+ url: '/agent/v1/agents/{agent_id}/customers/auth/access_tokens/renew',
281
+ ...options
282
+ });
283
+ /**
284
+ * Log out customer
285
+ *
286
+ * Log the customer out by revoking the sign-in of the presented access token and every token issued in it.
287
+ *
288
+ * Send the current customer access token as the Bearer credential, with no body, when the customer logs out of your site. Every token of the sign-in, including renewed ones, stops working, and their live event streams close; the customer's conversations are kept. Returns 204. Calling it again with the same token returns 401 ACCESS_TOKEN_REVOKED, so treat that as already logged out.
289
+ */
290
+ export const deleteCurrentCustomerAccessToken = (options) => (options.client ?? client).delete({
291
+ security: [{
292
+ key: 'BearerAuth',
293
+ scheme: 'bearer',
294
+ type: 'http'
295
+ }, {
296
+ key: 'ApiKeyAuth',
297
+ name: 'X-API-Key',
298
+ type: 'apiKey'
299
+ }],
300
+ url: '/agent/v1/agents/{agent_id}/customers/auth/access_tokens/current',
301
+ ...options
302
+ });
303
+ /**
304
+ * Exchange Hosted Code
305
+ *
306
+ * Redeem a single-use hosted link credential for an end-user token.
307
+ *
308
+ * Read 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>"}.
309
+ */
310
+ export const exchangeEmbedCode = (options) => (options.client ?? client).post({
311
+ url: '/agent/v1/embed/exchange',
312
+ ...options,
313
+ headers: {
314
+ 'Content-Type': 'application/json',
315
+ ...options.headers
316
+ }
317
+ });
318
+ /**
319
+ * Issue anonymous visitor token
320
+ *
321
+ * Obtain a short-lived embedding token for a visitor without an account using the agent owner's publishable key.
322
+ *
323
+ * No 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"}.
324
+ */
325
+ export const createAnonymousEmbedToken = (options) => (options.client ?? client).post({
326
+ url: '/agent/v1/embed_tokens/anonymous',
327
+ ...options,
328
+ headers: {
329
+ 'Content-Type': 'application/json',
330
+ ...options.headers
331
+ }
332
+ });
48
333
  /**
49
334
  * List Embed Tokens
50
335
  *
@@ -70,7 +355,7 @@ export const listEmbedTokens = (options) => (options?.client ?? client).get({
70
355
  *
71
356
  * Issue a short-lived credential on your backend for an end user of a service agent.
72
357
  *
73
- * Requires 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.
358
+ * Requires 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.
74
359
  */
75
360
  export const createEmbedToken = (options) => (options.client ?? client).post({
76
361
  security: [{
@@ -110,9 +395,9 @@ export const revokeEmbedToken = (options) => (options.client ?? client).post({
110
395
  ...options
111
396
  });
112
397
  /**
113
- * ComputersList
398
+ * List Computers
114
399
  *
115
- * Tenant-owned durable computer resource.
400
+ * List the computers of your organization, archived ones included.
116
401
  *
117
402
  * Praxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.
118
403
  */
@@ -130,9 +415,9 @@ export const computersList = (options) => (options?.client ?? client).get({
130
415
  ...options
131
416
  });
132
417
  /**
133
- * ComputersCreate
418
+ * Create Computer
134
419
  *
135
- * Tenant-owned durable computer resource.
420
+ * Create a durable computer: a named machine whose files outlive sessions, for personal agents.
136
421
  *
137
422
  * Praxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.
138
423
  */
@@ -174,9 +459,9 @@ export const computersDelete = (options) => (options.client ?? client).delete({
174
459
  ...options
175
460
  });
176
461
  /**
177
- * ComputersRetrieve
462
+ * Get Computer
178
463
  *
179
- * Tenant-owned durable computer resource.
464
+ * Read one computer's status, storage use and sandbox id.
180
465
  *
181
466
  * Praxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.
182
467
  */
@@ -194,9 +479,9 @@ export const computersRetrieve = (options) => (options.client ?? client).get({
194
479
  ...options
195
480
  });
196
481
  /**
197
- * ComputersUpdate
482
+ * Update Computer
198
483
  *
199
- * Tenant-owned durable computer resource.
484
+ * Rename a computer.
200
485
  *
201
486
  * Praxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.
202
487
  */
@@ -218,9 +503,9 @@ export const computersUpdate = (options) => (options.client ?? client).post({
218
503
  }
219
504
  });
220
505
  /**
221
- * ComputersArchive
506
+ * Archive Computer
222
507
  *
223
- * Tenant-owned durable computer resource.
508
+ * Archive a computer: its files stay readable but new sessions cannot use it.
224
509
  *
225
510
  * Praxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.
226
511
  */
@@ -263,9 +548,9 @@ export const computersAttachmentsCreate = (options) => (options.client ?? client
263
548
  }
264
549
  });
265
550
  /**
266
- * ComputersFilesList
551
+ * List Computer Files
267
552
  *
268
- * Tenant-owned durable computer resource.
553
+ * List the entries of one directory on a computer.
269
554
  *
270
555
  * Praxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.
271
556
  */
@@ -283,9 +568,9 @@ export const computersFilesList = (options) => (options.client ?? client).get({
283
568
  ...options
284
569
  });
285
570
  /**
286
- * ComputersFilesContent
571
+ * Get Computer File Content
287
572
  *
288
- * Tenant-owned durable computer resource.
573
+ * Download the bytes of one file on a computer, up to 16 MiB, with single-range support.
289
574
  *
290
575
  * Praxis extension: MA only has session-scoped temporary containers and memory_stores, not durable browsable computers. Archived files remain readable, but new sessions cannot bind them. environment_id is an optional recipe reference; computers start with a light sandbox and expose the public SDK sandbox_id. Lists include archived computers.
291
576
  */
@@ -307,7 +592,9 @@ export const computersFilesContent = (options) => (options.client ?? client).get
307
592
  *
308
593
  * Resume the computer and issue a sandbox connection.
309
594
  *
310
- * Own-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.
595
+ * Own-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.
596
+ *
597
+ * Connect 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.
311
598
  */
312
599
  export const connectComputer = (options) => (options.client ?? client).post({
313
600
  security: [{
@@ -320,6 +607,50 @@ export const connectComputer = (options) => (options.client ?? client).post({
320
607
  type: 'apiKey'
321
608
  }],
322
609
  url: '/agent/v1/computers/{computer_id}/connect',
610
+ ...options,
611
+ headers: {
612
+ 'Content-Type': 'application/json',
613
+ ...options.headers
614
+ }
615
+ });
616
+ /**
617
+ * Renew computer lease
618
+ *
619
+ * Extend the lease a connection holds so the full machine stays in service while the connection is open.
620
+ *
621
+ * Own-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.
622
+ */
623
+ export const renewComputerLease = (options) => (options.client ?? client).post({
624
+ security: [{
625
+ key: 'BearerAuth',
626
+ scheme: 'bearer',
627
+ type: 'http'
628
+ }, {
629
+ key: 'ApiKeyAuth',
630
+ name: 'X-API-Key',
631
+ type: 'apiKey'
632
+ }],
633
+ url: '/agent/v1/computers/{computer_id}/leases/{lease_id}/renew',
634
+ ...options
635
+ });
636
+ /**
637
+ * Release computer lease
638
+ *
639
+ * Give the lease back when a connection closes so the full machine can be reclaimed without waiting for it to expire.
640
+ *
641
+ * Own-face extension. Idempotent: an unknown or already released lease succeeds as well. Foreign or absent computers return 404.
642
+ */
643
+ export const releaseComputerLease = (options) => (options.client ?? client).delete({
644
+ security: [{
645
+ key: 'BearerAuth',
646
+ scheme: 'bearer',
647
+ type: 'http'
648
+ }, {
649
+ key: 'ApiKeyAuth',
650
+ name: 'X-API-Key',
651
+ type: 'apiKey'
652
+ }],
653
+ url: '/agent/v1/computers/{computer_id}/leases/{lease_id}',
323
654
  ...options
324
655
  });
325
656
  /**
@@ -508,6 +839,20 @@ export const listSessionCompactions = (options) => (options.client ?? client).ge
508
839
  url: '/agent/v1/sessions/{session_id}/compactions',
509
840
  ...options
510
841
  });
842
+ /**
843
+ * Read chat appearance
844
+ *
845
+ * 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.
846
+ */
847
+ export const getEmbedAppearance = (options) => (options?.client ?? client).get({
848
+ security: [{
849
+ key: 'BearerAuth',
850
+ scheme: 'bearer',
851
+ type: 'http'
852
+ }, { name: 'Praxis-Publishable-Key', type: 'apiKey' }],
853
+ url: '/agent/v1/embed/appearance',
854
+ ...options
855
+ });
511
856
  /**
512
857
  * Generate speech
513
858
  *
@@ -835,7 +1180,7 @@ export const fileListFiles = (options) => (options?.client ?? client).get({
835
1180
  /**
836
1181
  * Upload file
837
1182
  *
838
- * 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.
1183
+ * 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.
839
1184
  */
840
1185
  export const fileCreateFile = (options) => (options.client ?? client).post({
841
1186
  ...formDataBodySerializer,
@@ -876,7 +1221,7 @@ export const fileDeleteFile = (options) => (options.client ?? client).delete({
876
1221
  /**
877
1222
  * Retrieve file
878
1223
  *
879
- * 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.
1224
+ * 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.
880
1225
  */
881
1226
  export const fileRetrieveFile = (options) => (options.client ?? client).get({
882
1227
  security: [{
@@ -894,7 +1239,7 @@ export const fileRetrieveFile = (options) => (options.client ?? client).get({
894
1239
  /**
895
1240
  * Retrieve file content
896
1241
  *
897
- * 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.
1242
+ * 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.
898
1243
  */
899
1244
  export const fileRetrieveFileContent = (options) => (options.client ?? client).get({
900
1245
  security: [{
@@ -909,6 +1254,75 @@ export const fileRetrieveFileContent = (options) => (options.client ?? client).g
909
1254
  url: '/file/v1/files/{file_id}/content',
910
1255
  ...options
911
1256
  });
1257
+ /**
1258
+ * Create an upload
1259
+ *
1260
+ * 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.
1261
+ */
1262
+ export const fileCreateUpload = (options) => (options.client ?? client).post({
1263
+ security: [{
1264
+ key: 'BearerAuth',
1265
+ scheme: 'bearer',
1266
+ type: 'http'
1267
+ }],
1268
+ url: '/file/v1/uploads',
1269
+ ...options,
1270
+ headers: {
1271
+ 'Content-Type': 'application/json',
1272
+ ...options.headers
1273
+ }
1274
+ });
1275
+ /**
1276
+ * Add an upload part
1277
+ *
1278
+ * 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.
1279
+ */
1280
+ export const fileAddUploadPart = (options) => (options.client ?? client).post({
1281
+ ...formDataBodySerializer,
1282
+ security: [{
1283
+ key: 'BearerAuth',
1284
+ scheme: 'bearer',
1285
+ type: 'http'
1286
+ }],
1287
+ url: '/file/v1/uploads/{upload_id}/parts',
1288
+ ...options,
1289
+ headers: {
1290
+ 'Content-Type': null,
1291
+ ...options.headers
1292
+ }
1293
+ });
1294
+ /**
1295
+ * Complete an upload
1296
+ *
1297
+ * 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.
1298
+ */
1299
+ export const fileCompleteUpload = (options) => (options.client ?? client).post({
1300
+ security: [{
1301
+ key: 'BearerAuth',
1302
+ scheme: 'bearer',
1303
+ type: 'http'
1304
+ }],
1305
+ url: '/file/v1/uploads/{upload_id}/complete',
1306
+ ...options,
1307
+ headers: {
1308
+ 'Content-Type': 'application/json',
1309
+ ...options.headers
1310
+ }
1311
+ });
1312
+ /**
1313
+ * Cancel an upload
1314
+ *
1315
+ * 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.
1316
+ */
1317
+ export const fileCancelUpload = (options) => (options.client ?? client).post({
1318
+ security: [{
1319
+ key: 'BearerAuth',
1320
+ scheme: 'bearer',
1321
+ type: 'http'
1322
+ }],
1323
+ url: '/file/v1/uploads/{upload_id}/cancel',
1324
+ ...options
1325
+ });
912
1326
  /**
913
1327
  * Health Check
914
1328
  *
@@ -1602,6 +2016,24 @@ export const createOrganizationFeedback = (options) => (options.client ?? client
1602
2016
  ...options.headers
1603
2017
  }
1604
2018
  });
2019
+ /**
2020
+ * Count your organization's feedback by phase
2021
+ *
2022
+ * How many of your organization's feedback are in each phase, for status tabs. Counts never include another organization's feedback.
2023
+ */
2024
+ export const getOrganizationFeedbackCounts = (options) => (options?.client ?? client).get({
2025
+ security: [{
2026
+ key: 'BearerAuth',
2027
+ scheme: 'bearer',
2028
+ type: 'http'
2029
+ }, {
2030
+ key: 'ApiKeyAuth',
2031
+ name: 'X-API-Key',
2032
+ type: 'apiKey'
2033
+ }],
2034
+ url: '/organization/v1/feedback/counts',
2035
+ ...options
2036
+ });
1605
2037
  /**
1606
2038
  * Get one of your organization's feedback
1607
2039
  *
@@ -2048,11 +2480,11 @@ export const runSandboxCommand = (options) => (options.client ?? client).post({
2048
2480
  }
2049
2481
  });
2050
2482
  /**
2051
- * List agents
2483
+ * Delete session
2052
2484
  *
2053
- * List the agents of the workspace behind your API key, newest first, in pages of at most 100 (default 20). Use it to find an agent id before creating a session; to read one agent use agents.retrieve, to see its history use agents.versions.list. Archived agents are hidden unless include_archived is true. Filter kind=personal for durable-computer agents or kind=service for per-session environments. Pass next_page from the response as page to read the next page; a null next_page means the end.
2485
+ * 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.
2054
2486
  */
2055
- export const agentsList = (options) => (options?.client ?? client).get({
2487
+ export const sessionsDelete = (options) => (options.client ?? client).delete({
2056
2488
  security: [{
2057
2489
  key: 'BearerAuth',
2058
2490
  scheme: 'bearer',
@@ -2062,15 +2494,15 @@ export const agentsList = (options) => (options?.client ?? client).get({
2062
2494
  name: 'X-API-Key',
2063
2495
  type: 'apiKey'
2064
2496
  }],
2065
- url: '/agent/v1/agents',
2497
+ url: '/agent/v1/sessions/{session_id}',
2066
2498
  ...options
2067
2499
  });
2068
2500
  /**
2069
- * Create agent
2501
+ * Get session
2070
2502
  *
2071
- * 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"}]}.
2503
+ * Read one session by id: its agent snapshot, status, model and thinking selection, resources, title, metadata and, for a fork, forked_from. Use it to poll status; to read what happened use sessions.events.list. This response does not include a machine object or sandbox id. With no environment_id or Computer selected at creation, the session starts on a light machine; no environment lookup or provisioning is needed for a codemode calculation.
2072
2504
  */
2073
- export const agentsCreate = (options) => (options.client ?? client).post({
2505
+ export const sessionsRetrieve = (options) => (options.client ?? client).get({
2074
2506
  security: [{
2075
2507
  key: 'BearerAuth',
2076
2508
  scheme: 'bearer',
@@ -2080,7 +2512,25 @@ export const agentsCreate = (options) => (options.client ?? client).post({
2080
2512
  name: 'X-API-Key',
2081
2513
  type: 'apiKey'
2082
2514
  }],
2083
- url: '/agent/v1/agents',
2515
+ url: '/agent/v1/sessions/{session_id}',
2516
+ ...options
2517
+ });
2518
+ /**
2519
+ * Update session
2520
+ *
2521
+ * Update a session's title, metadata, model or thinking selection. metadata follows patch semantics: a string value sets the key, null deletes it, a null metadata clears all keys, untouched keys stay. model must be allowed by the session's agent version; thinking is {effort} or null (null restores inheritance); a model-only change clears a session thinking that the new model does not support, and combined changes are validated against the new model, with the previous selection kept on a 400. Changes apply from the next turn, not to a turn already running. Agent overrides are not supported (400 naming the field). Supports vault_ids, up to 50, owned by the current organization and not archived; credential injection is deferred to a later version. A budget limit must exceed consumed cost; null removes it permanently for this session. Updating an archived session returns 409.
2522
+ */
2523
+ export const sessionsUpdate = (options) => (options.client ?? client).post({
2524
+ security: [{
2525
+ key: 'BearerAuth',
2526
+ scheme: 'bearer',
2527
+ type: 'http'
2528
+ }, {
2529
+ key: 'ApiKeyAuth',
2530
+ name: 'X-API-Key',
2531
+ type: 'apiKey'
2532
+ }],
2533
+ url: '/agent/v1/sessions/{session_id}',
2084
2534
  ...options,
2085
2535
  headers: {
2086
2536
  'Content-Type': 'application/json',
@@ -2088,11 +2538,11 @@ export const agentsCreate = (options) => (options.client ?? client).post({
2088
2538
  }
2089
2539
  });
2090
2540
  /**
2091
- * Get agent
2541
+ * List agents
2092
2542
  *
2093
- * Read one agent by id, at its latest version or, with version, at a specific earlier version. The response lists every native tool with its resolved configuration in one agent_toolset_20260401 entry, so it can be sent back unchanged to agents.update. Use agents.versions.list to enumerate versions.
2543
+ * List the agents of the workspace behind your API key, newest first, in pages of at most 100 (default 20). Use it to find an agent id before creating a session; to read one agent use agents.retrieve, to see its history use agents.versions.list. Archived agents are hidden unless include_archived is true. Filter kind=personal for durable-computer agents or kind=service for per-session environments. Pass next_page from the response as page to read the next page; a null next_page means the end.
2094
2544
  */
2095
- export const agentsRetrieve = (options) => (options.client ?? client).get({
2545
+ export const agentsList = (options) => (options?.client ?? client).get({
2096
2546
  security: [{
2097
2547
  key: 'BearerAuth',
2098
2548
  scheme: 'bearer',
@@ -2102,15 +2552,15 @@ export const agentsRetrieve = (options) => (options.client ?? client).get({
2102
2552
  name: 'X-API-Key',
2103
2553
  type: 'apiKey'
2104
2554
  }],
2105
- url: '/agent/v1/agents/{agent_id}',
2555
+ url: '/agent/v1/agents',
2106
2556
  ...options
2107
2557
  });
2108
2558
  /**
2109
- * Update agent
2559
+ * Create agent
2110
2560
  *
2111
- * 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.
2561
+ * Create a reusable agent definition, then pass its returned id to sessions.create to start a conversation. The definition includes model, system prompt, tools, MCP servers and an optional multiagent roster. It is saved as version 1; real updates create new versions. skills attaches uploaded custom skills as [{type: "custom", skill_id, version?}] (skill_id from skills.create or skills.list; at most 20, no repeated skill_id). Omit version, or send "latest", to use the skill's newest version when a session starts. type anthropic returns 400. Use tools: [{type: "agent_toolset_20260401"}] for built-in tools including codemode, skill and agent; inspect toolsets.list for names and schemas, and keep bash enabled for native additions. To offer only some tools, set default_config: {enabled: false} and list the tools to keep in configs, e.g. tools: [{type: "agent_toolset_20260401", default_config: {enabled: false}, configs: [{name: "codemode", enabled: true}, {name: "bash", enabled: true, permission_policy: {type: "always_ask"}}]}]; every tool not listed, including todo_write, enter_plan_mode, ask_user_question and goal_read, follows default_config, and the response echoes it. codemode runs through bash, so enabling codemode while bash is disabled returns 400. Optional mcp_toolset entries pair with mcp_servers. model accepts platform model IDs such as deepseek-flash, not only the Claude IDs in the protocol examples. model.settings.reasoning sets default thinking; other extra model controls return 400. model and every models.allowed entry must be a catalog model that can run an agent: an unknown id returns 400 "model <id> is not in the model catalog" and an embedding, image or speech model returns 400 "model <id> cannot run an agent". name is a label, not a unique key: 1 to 256 characters after trimming, no NUL or line breaks. avatar is trimmed, must not contain spaces or point at a loopback, private or internal host, and its scheme is stored in lowercase. script and workflow binding ids are stored in lowercase, the form automation matches; bindings together with environment_id null return 400 because bindings need a machine. Example: {"name":"helper","model":{"id":"deepseek-flash"},"tools":[{"type":"agent_toolset_20260401"}]}.
2112
2562
  */
2113
- export const agentsUpdate = (options) => (options.client ?? client).post({
2563
+ export const agentsCreate = (options) => (options.client ?? client).post({
2114
2564
  security: [{
2115
2565
  key: 'BearerAuth',
2116
2566
  scheme: 'bearer',
@@ -2120,7 +2570,7 @@ export const agentsUpdate = (options) => (options.client ?? client).post({
2120
2570
  name: 'X-API-Key',
2121
2571
  type: 'apiKey'
2122
2572
  }],
2123
- url: '/agent/v1/agents/{agent_id}',
2573
+ url: '/agent/v1/agents',
2124
2574
  ...options,
2125
2575
  headers: {
2126
2576
  'Content-Type': 'application/json',
@@ -2128,11 +2578,11 @@ export const agentsUpdate = (options) => (options.client ?? client).post({
2128
2578
  }
2129
2579
  });
2130
2580
  /**
2131
- * Archive agent
2581
+ * Get agent
2132
2582
  *
2133
- * Archive an agent so it can no longer be updated and no new session can be created from it (AGENT_ARCHIVED). The agent and all of its versions stay readable. Use it to retire an agent you no longer want to run; it does not delete anything.
2583
+ * Read one agent by id. The top level is the latest saved version, the editable head whose version you send back for optimistic concurrency; after a save with apply false it differs from active_version, and new sessions use active_version, which you read with version=active. With version, read a specific saved version. The response lists every native tool with its resolved configuration in one agent_toolset_20260401 entry, so it can be sent back unchanged to agents.update. Use agents.versions.list to enumerate versions.
2134
2584
  */
2135
- export const agentsArchive = (options) => (options.client ?? client).post({
2585
+ export const agentsRetrieve = (options) => (options.client ?? client).get({
2136
2586
  security: [{
2137
2587
  key: 'BearerAuth',
2138
2588
  scheme: 'bearer',
@@ -2142,15 +2592,15 @@ export const agentsArchive = (options) => (options.client ?? client).post({
2142
2592
  name: 'X-API-Key',
2143
2593
  type: 'apiKey'
2144
2594
  }],
2145
- url: '/agent/v1/agents/{agent_id}/archive',
2595
+ url: '/agent/v1/agents/{agent_id}',
2146
2596
  ...options
2147
2597
  });
2148
2598
  /**
2149
- * List agent versions
2599
+ * Update agent
2150
2600
  *
2151
- * List the saved versions of one agent, in pages of at most 100 (default 20). Each item is the full agent definition at that version, so you can compare what changed between versions. Use agents.retrieve with version to read a single one; agent_id comes from agents.list or agents.create.
2601
+ * Update an agent. Send the current version in the body for optimistic concurrency: a stale version returns 409, and an update that changes nothing keeps the version number. Any real change saves a new version. apply defaults to true and moves active_version to the new version, or to the latest when configuration is unchanged; apply false saves without applying. version_note optionally records up to 280 characters on a newly created version; null means no note, and a note sent when the request changes nothing else returns 400 because a note is stored only with a new version. Existing sessions and tokens keep their version. Omitted fields keep their value. multiagent takes null or a coordinator roster; subagent_model keeps its value when omitted and is cleared by null. Archived agents cannot be updated. tools: [] removes every tool, while tools: null returns 400 (tools cannot be null; send [] to remove every tool). On update, omit skills to keep them, send an array to replace them, or send [] or null to clear them. skills attaches uploaded custom skills as [{type: "custom", skill_id, version?}] (skill_id from skills.create or skills.list; at most 20, no repeated skill_id). Omit version, or send "latest", to use the skill's newest version when a session starts. type anthropic returns 400.
2152
2602
  */
2153
- export const agentsVersionsList = (options) => (options.client ?? client).get({
2603
+ export const agentsUpdate = (options) => (options.client ?? client).post({
2154
2604
  security: [{
2155
2605
  key: 'BearerAuth',
2156
2606
  scheme: 'bearer',
@@ -2160,15 +2610,19 @@ export const agentsVersionsList = (options) => (options.client ?? client).get({
2160
2610
  name: 'X-API-Key',
2161
2611
  type: 'apiKey'
2162
2612
  }],
2163
- url: '/agent/v1/agents/{agent_id}/versions',
2164
- ...options
2613
+ url: '/agent/v1/agents/{agent_id}',
2614
+ ...options,
2615
+ headers: {
2616
+ 'Content-Type': 'application/json',
2617
+ ...options.headers
2618
+ }
2165
2619
  });
2166
2620
  /**
2167
- * List sessions
2621
+ * Archive agent
2168
2622
  *
2169
- * List sessions of the workspace behind your API key, newest first, in pages of at most 100 (default 20). Unlike Anthropic Managed Agents, only limit, page, agent_id and deployment_id are honored; the other filters declared here (agent_version, created_at ranges, memory_store_id, include_archived, order, statuses) are not supported and return 400. Use the returned id with sessions.retrieve or sessions.events.list; pass next_page as page for the next page.
2623
+ * Archive an agent so it can no longer be updated and no new session can be created from it (AGENT_ARCHIVED). The agent and all of its versions stay readable. Use it to retire an agent you no longer want to run; it does not delete anything.
2170
2624
  */
2171
- export const sessionsList = (options) => (options?.client ?? client).get({
2625
+ export const agentsArchive = (options) => (options.client ?? client).post({
2172
2626
  security: [{
2173
2627
  key: 'BearerAuth',
2174
2628
  scheme: 'bearer',
@@ -2178,15 +2632,15 @@ export const sessionsList = (options) => (options?.client ?? client).get({
2178
2632
  name: 'X-API-Key',
2179
2633
  type: 'apiKey'
2180
2634
  }],
2181
- url: '/agent/v1/sessions',
2635
+ url: '/agent/v1/agents/{agent_id}/archive',
2182
2636
  ...options
2183
2637
  });
2184
2638
  /**
2185
- * Create session
2639
+ * List agent versions
2186
2640
  *
2187
- * Create a session: one conversation with an agent, running on a machine. Pass agent as an agent id (latest version) or {id, version, type:"agent"}. Unlike Anthropic Managed Agents, omit environment_id to get a light machine, unless computer_id (explicit, or the agent's default) selects a Computer; pass environment_id for a sandbox recipe. Optional model must be one of the agent's allowed models; optional thinking is {effort: low|medium|high|xhigh|max|none} or null, where null inherits the agent default and then the model default (none requires the model to allow disabling thinking). Selections are saved before initial_events run; invalid ones return 400 invalid_request_error. Inline agent overrides are not supported. Supports vault_ids, up to 50, owned by the current organization and not archived; credential injection is deferred to a later version. Omitted budget defaults to USD 20; null removes the limit, and a limit object uses a positive integer string of USD cents. Up to 500 file resources can be attached. Use initial_events to send a first user.message in this request, or send messages afterwards with sessions.events.send. The returned status can still be idle before initial events run; read agent.message and the subsequent session.status_idle event to confirm completion.
2641
+ * List the saved versions of one agent, in pages of at most 100 (default 20). Each item is the full agent definition at that version, so you can compare what changed between versions. active is true only for the item that new sessions use; active_version on each item is the agent-level value, kept for compatibility. Use agents.retrieve with version to read a single one; agent_id comes from agents.list or agents.create.
2188
2642
  */
2189
- export const sessionsCreate = (options) => (options.client ?? client).post({
2643
+ export const agentsVersionsList = (options) => (options.client ?? client).get({
2190
2644
  security: [{
2191
2645
  key: 'BearerAuth',
2192
2646
  scheme: 'bearer',
@@ -2196,19 +2650,15 @@ export const sessionsCreate = (options) => (options.client ?? client).post({
2196
2650
  name: 'X-API-Key',
2197
2651
  type: 'apiKey'
2198
2652
  }],
2199
- url: '/agent/v1/sessions',
2200
- ...options,
2201
- headers: {
2202
- 'Content-Type': 'application/json',
2203
- ...options.headers
2204
- }
2653
+ url: '/agent/v1/agents/{agent_id}/versions',
2654
+ ...options
2205
2655
  });
2206
2656
  /**
2207
- * Get session
2657
+ * List sessions
2208
2658
  *
2209
- * Read one session by id: its agent snapshot, status, model and thinking selection, resources, title, metadata and, for a fork, forked_from. Use it to poll status; to read what happened use sessions.events.list. This response does not include a machine object or sandbox id. With no environment_id or Computer selected at creation, the session starts on a light machine; no environment lookup or provisioning is needed for a codemode calculation.
2659
+ * List sessions of the workspace behind your API key, newest first, in pages of at most 100 (default 20). Archived sessions are hidden unless include_archived is true. Unlike Anthropic Managed Agents, only limit, page, agent_id, deployment_id and include_archived are honored; the other filters declared here (agent_version, created_at ranges, memory_store_id, order, statuses) are not supported and return 400. Use the returned id with sessions.retrieve or sessions.events.list; pass next_page as page for the next page.
2210
2660
  */
2211
- export const sessionsRetrieve = (options) => (options.client ?? client).get({
2661
+ export const sessionsList = (options) => (options?.client ?? client).get({
2212
2662
  security: [{
2213
2663
  key: 'BearerAuth',
2214
2664
  scheme: 'bearer',
@@ -2218,15 +2668,15 @@ export const sessionsRetrieve = (options) => (options.client ?? client).get({
2218
2668
  name: 'X-API-Key',
2219
2669
  type: 'apiKey'
2220
2670
  }],
2221
- url: '/agent/v1/sessions/{session_id}',
2671
+ url: '/agent/v1/sessions',
2222
2672
  ...options
2223
2673
  });
2224
2674
  /**
2225
- * Update session
2675
+ * Create session
2226
2676
  *
2227
- * Update a session's title, metadata, model or thinking selection. metadata follows patch semantics: a string value sets the key, null deletes it, a null metadata clears all keys, untouched keys stay. model must be allowed by the session's agent version; thinking is {effort} or null (null restores inheritance); a model-only change clears a session thinking that the new model does not support, and combined changes are validated against the new model, with the previous selection kept on a 400. Changes apply from the next turn, not to a turn already running. Agent overrides are not supported (400 naming the field). Supports vault_ids, up to 50, owned by the current organization and not archived; credential injection is deferred to a later version. A budget limit must exceed consumed cost; null removes it permanently for this session. Updating an archived session returns 409.
2677
+ * Create a session: one conversation with an agent. Pass agent as an agent id or {type:"agent", id, version?}; an id alone, or an object without version, pins the agent's active_version (the version chosen with agents.versions.apply, not necessarily the newest saved one). Unlike Anthropic Managed Agents, omit environment_id to use the default environment saved in the agent version (light for a new agent), unless computer_id (explicit, or the agent's default) selects a Computer; pass an environment id for a sandbox recipe. For service agents, explicit null allocates no machine, so codemode, bash and other machine tools are unavailable. Optional model must be one of the agent's allowed models; optional thinking is {effort: low|medium|high|xhigh|max|none} or null, where null inherits the agent default and then the model default (none requires the model to allow disabling thinking). Selections are saved before initial_events run; invalid ones return 400 invalid_request_error. Unlike Anthropic Managed Agents, the only inline agent override is system ({type:"agent_with_overrides", id, system}); to change the model, tools, MCP servers or skills, save a version instead. Supports vault_ids, up to 50, owned by the current organization and not archived; credential injection is deferred to a later version. budget is {type:"limit", max_list_cost:{amount, currency:"USD"}} where amount is a positive integer string of US cents ("2000" is USD 20.00); omitted budget defaults to "2000" and null removes the limit. Up to 500 file resources can be attached. Use initial_events to send a first user.message in this request, or send messages afterwards with sessions.events.send. The returned status can still be idle before initial events run; read agent.message and the subsequent session.status_idle event to confirm completion.
2228
2678
  */
2229
- export const sessionsUpdate = (options) => (options.client ?? client).post({
2679
+ export const sessionsCreate = (options) => (options.client ?? client).post({
2230
2680
  security: [{
2231
2681
  key: 'BearerAuth',
2232
2682
  scheme: 'bearer',
@@ -2236,7 +2686,7 @@ export const sessionsUpdate = (options) => (options.client ?? client).post({
2236
2686
  name: 'X-API-Key',
2237
2687
  type: 'apiKey'
2238
2688
  }],
2239
- url: '/agent/v1/sessions/{session_id}',
2689
+ url: '/agent/v1/sessions',
2240
2690
  ...options,
2241
2691
  headers: {
2242
2692
  'Content-Type': 'application/json',
@@ -2264,7 +2714,7 @@ export const sessionsArchive = (options) => (options.client ?? client).post({
2264
2714
  /**
2265
2715
  * List session events
2266
2716
  *
2267
- * 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.
2717
+ * 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.
2268
2718
  */
2269
2719
  export const sessionsEventsList = (options) => (options.client ?? client).get({
2270
2720
  security: [{
@@ -2282,7 +2732,7 @@ export const sessionsEventsList = (options) => (options.client ?? client).get({
2282
2732
  /**
2283
2733
  * Send session events
2284
2734
  *
2285
- * 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.
2735
+ * 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.
2286
2736
  */
2287
2737
  export const sessionsEventsSend = (options) => (options.client ?? client).post({
2288
2738
  security: [{
@@ -2430,7 +2880,7 @@ export const environmentsRetrieve = (options) => (options.client ?? client).get(
2430
2880
  /**
2431
2881
  * Update environment
2432
2882
  *
2433
- * Update the configuration of a tenant-owned cloud environment. Built-in environments are read-only. Package installation and limited networking are applied when a session's sandbox is created. Omitted fields keep their value.
2883
+ * Update the configuration of a tenant-owned cloud environment. Built-in environments are read-only. Package installation and limited networking are applied when a session's sandbox is created. Omitted fields keep their value. A changed config.template must name an available sandbox template, otherwise 400 lists the available ones.
2434
2884
  */
2435
2885
  export const environmentsUpdate = (options) => (options.client ?? client).post({
2436
2886
  security: [{
@@ -2452,7 +2902,7 @@ export const environmentsUpdate = (options) => (options.client ?? client).post({
2452
2902
  /**
2453
2903
  * Archive environment
2454
2904
  *
2455
- * Soft-archive a tenant-owned cloud environment so it can no longer be used to create new sessions. Built-in environments are read-only and cannot be archived.
2905
+ * Soft-archive a tenant-owned cloud environment so it can no longer be used to create new sessions. Built-in environments are read-only and cannot be archived. An environment that the active version of a non-archived agent uses as environment_id returns 409 RESOURCE_IN_USE naming the agents; point them at another environment first.
2456
2906
  */
2457
2907
  export const environmentsArchive = (options) => (options.client ?? client).post({
2458
2908
  security: [{
@@ -2488,7 +2938,7 @@ export const environmentsList = (options) => (options?.client ?? client).get({
2488
2938
  /**
2489
2939
  * Create environment
2490
2940
  *
2491
- * Create a tenant-owned cloud environment: a sandbox recipe (packages to install and networking policy) that sessions can select through environment_id. Package installation happens when the session's sandbox is created; a failed install terminates that session with ENVIRONMENT_PACKAGE_INSTALL_FAILED. Limited networking is applied at sandbox creation. Unlike Anthropic Managed Agents, self_hosted environments, scope and cross-session package caching are not supported.
2941
+ * Create a tenant-owned cloud environment: a sandbox recipe (packages to install and networking policy) that sessions can select through environment_id. Package installation happens when the session's sandbox is created; a failed install terminates that session with ENVIRONMENT_PACKAGE_INSTALL_FAILED. Limited networking is applied at sandbox creation. Unlike Anthropic Managed Agents, self_hosted environments, scope and cross-session package caching are not supported. config.template must name an available sandbox template, otherwise 400 lists the available ones.
2492
2942
  */
2493
2943
  export const environmentsCreate = (options) => (options.client ?? client).post({
2494
2944
  security: [{
@@ -2772,127 +3222,299 @@ export const deploymentsRun = (options) => (options.client ?? client).post({
2772
3222
  ...options
2773
3223
  });
2774
3224
  /**
2775
- * Get account subdomain
3225
+ * List skills
2776
3226
  *
2777
- * Return the account subdomain used in every Worker URL. A default is created on first use.
3227
+ * 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.
2778
3228
  */
2779
- export const applicationGetSubdomain = (options) => (options?.client ?? client).get({
3229
+ export const skillsList = (options) => (options?.client ?? client).get({
2780
3230
  security: [{
2781
- key: 'application-bearerAuth',
3231
+ key: 'BearerAuth',
2782
3232
  scheme: 'bearer',
2783
3233
  type: 'http'
3234
+ }, {
3235
+ key: 'ApiKeyAuth',
3236
+ name: 'X-API-Key',
3237
+ type: 'apiKey'
2784
3238
  }],
2785
- url: '/application/v1/subdomain',
3239
+ url: '/agent/v1/skills',
2786
3240
  ...options
2787
3241
  });
2788
3242
  /**
2789
- * Change account subdomain
3243
+ * Create skill
2790
3244
  *
2791
- * Change the account subdomain. Every Worker moves to the new address at once; old addresses stop resolving.
3245
+ * Upload a skill: a directory that contains SKILL.md, which the agent reads when it needs the skill. Send multipart/form-data with one files part per file, each file name being its path under one top-level directory (pdf/SKILL.md, pdf/scripts/run.py), and an optional display_name. SKILL.md frontmatter needs a description; name defaults to the directory name and must be one folder name (1-255 characters, no "/", backslash or NUL, not "." or ".."), otherwise the upload returns 400 stating the allowed form. Limits: 8 MB in total, at most 200 files, no .. segments, absolute paths or empty names; a violation returns 400 naming the path or field. The upload creates the skill and its first version, and versions are immutable. Attach the skill to an agent with `skills` on the agent.
2792
3246
  */
2793
- export const applicationPutSubdomain = (options) => (options.client ?? client).put({
3247
+ export const skillsCreate = (options) => (options.client ?? client).post({
3248
+ ...formDataBodySerializer,
2794
3249
  security: [{
2795
- key: 'application-bearerAuth',
3250
+ key: 'BearerAuth',
2796
3251
  scheme: 'bearer',
2797
3252
  type: 'http'
3253
+ }, {
3254
+ key: 'ApiKeyAuth',
3255
+ name: 'X-API-Key',
3256
+ type: 'apiKey'
2798
3257
  }],
2799
- url: '/application/v1/subdomain',
3258
+ url: '/agent/v1/skills',
2800
3259
  ...options,
2801
3260
  headers: {
2802
- 'Content-Type': 'application/json',
3261
+ 'Content-Type': null,
2803
3262
  ...options.headers
2804
3263
  }
2805
3264
  });
2806
3265
  /**
2807
- * List Workers
3266
+ * Delete skill
2808
3267
  *
2809
- * List Workers in your account. Filter by status or by label with label.<key>=<value>.
3268
+ * Delete a skill together with all of its versions. A skill that is still attached to an agent returns 409 RESOURCE_IN_USE naming up to 10 agent ids (the active or latest version of a non-archived agent counts); remove it from those agents first. Returns {id, type: skill_deleted}. skill_id comes from skills.create or skills.list.
2810
3269
  */
2811
- export const applicationListWorkers = (options) => (options?.client ?? client).get({
3270
+ export const skillsDelete = (options) => (options.client ?? client).delete({
2812
3271
  security: [{
2813
- key: 'application-bearerAuth',
3272
+ key: 'BearerAuth',
2814
3273
  scheme: 'bearer',
2815
3274
  type: 'http'
3275
+ }, {
3276
+ key: 'ApiKeyAuth',
3277
+ name: 'X-API-Key',
3278
+ type: 'apiKey'
2816
3279
  }],
2817
- url: '/application/v1/workers',
3280
+ url: '/agent/v1/skills/{skill_id}',
2818
3281
  ...options
2819
3282
  });
2820
3283
  /**
2821
- * Create Worker
2822
- *
2823
- * Create a Worker. It serves nothing until a version is deployed.
2824
- */
2825
- export const applicationCreateWorker = (options) => (options.client ?? client).post({
2826
- security: [{
2827
- key: 'application-bearerAuth',
2828
- scheme: 'bearer',
2829
- type: 'http'
2830
- }],
2831
- url: '/application/v1/workers',
2832
- ...options,
2833
- headers: {
2834
- 'Content-Type': 'application/json',
2835
- ...options.headers
2836
- }
2837
- });
2838
- /**
2839
- * Delete Worker
3284
+ * Get skill
2840
3285
  *
2841
- * Soft-delete a Worker. Unlike Cloudflare, deletion is reversible: it stops serving at once and can be restored with RestoreWorker for 7 days, after which it is purged.
3286
+ * 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.
2842
3287
  */
2843
- export const applicationDeleteWorker = (options) => (options.client ?? client).delete({
3288
+ export const skillsRetrieve = (options) => (options.client ?? client).get({
2844
3289
  security: [{
2845
- key: 'application-bearerAuth',
3290
+ key: 'BearerAuth',
2846
3291
  scheme: 'bearer',
2847
3292
  type: 'http'
3293
+ }, {
3294
+ key: 'ApiKeyAuth',
3295
+ name: 'X-API-Key',
3296
+ type: 'apiKey'
2848
3297
  }],
2849
- url: '/application/v1/workers/{worker_id}',
3298
+ url: '/agent/v1/skills/{skill_id}',
2850
3299
  ...options
2851
3300
  });
2852
3301
  /**
2853
- * Get Worker
3302
+ * List skill versions
2854
3303
  *
2855
- * Get a Worker. expand returns related objects in the same response.
3304
+ * 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.
2856
3305
  */
2857
- export const applicationGetWorker = (options) => (options.client ?? client).get({
3306
+ export const skillsVersionsList = (options) => (options.client ?? client).get({
2858
3307
  security: [{
2859
- key: 'application-bearerAuth',
3308
+ key: 'BearerAuth',
2860
3309
  scheme: 'bearer',
2861
3310
  type: 'http'
3311
+ }, {
3312
+ key: 'ApiKeyAuth',
3313
+ name: 'X-API-Key',
3314
+ type: 'apiKey'
2862
3315
  }],
2863
- url: '/application/v1/workers/{worker_id}',
3316
+ url: '/agent/v1/skills/{skill_id}/versions',
2864
3317
  ...options
2865
3318
  });
2866
3319
  /**
2867
- * Update Worker
3320
+ * Create skill version
2868
3321
  *
2869
- * Change name, tags, observability, subdomain or labels. Omitted fields stay unchanged.
3322
+ * 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.
2870
3323
  */
2871
- export const applicationUpdateWorker = (options) => (options.client ?? client).patch({
3324
+ export const skillsVersionsCreate = (options) => (options.client ?? client).post({
3325
+ ...formDataBodySerializer,
2872
3326
  security: [{
2873
- key: 'application-bearerAuth',
3327
+ key: 'BearerAuth',
2874
3328
  scheme: 'bearer',
2875
3329
  type: 'http'
3330
+ }, {
3331
+ key: 'ApiKeyAuth',
3332
+ name: 'X-API-Key',
3333
+ type: 'apiKey'
2876
3334
  }],
2877
- url: '/application/v1/workers/{worker_id}',
3335
+ url: '/agent/v1/skills/{skill_id}/versions',
2878
3336
  ...options,
2879
3337
  headers: {
2880
- 'Content-Type': 'application/json',
3338
+ 'Content-Type': null,
2881
3339
  ...options.headers
2882
3340
  }
2883
3341
  });
2884
3342
  /**
2885
- * Restore Worker
3343
+ * Delete skill version
2886
3344
  *
2887
- * Bring back a soft-deleted Worker within 7 days of deletion, with its versions and deployments. Cloudflare has no equivalent.
3345
+ * Soft-delete one version of a skill so it can no longer be read or downloaded; latest_version_id of the skill falls back to the newest remaining version. Returns {id, type: skill_version_deleted}. A skill keeps at least one version: deleting the last remaining version returns 409 SKILL_LAST_VERSION (delete the skill instead), so latest_version_id is never null. A version that a non-archived agent pins returns 409 RESOURCE_IN_USE naming the agents.
2888
3346
  */
2889
- export const applicationRestoreWorker = (options) => (options.client ?? client).post({
3347
+ export const skillsVersionsDelete = (options) => (options.client ?? client).delete({
2890
3348
  security: [{
2891
- key: 'application-bearerAuth',
3349
+ key: 'BearerAuth',
2892
3350
  scheme: 'bearer',
2893
3351
  type: 'http'
3352
+ }, {
3353
+ key: 'ApiKeyAuth',
3354
+ name: 'X-API-Key',
3355
+ type: 'apiKey'
2894
3356
  }],
2895
- url: '/application/v1/workers/{worker_id}/restore',
3357
+ url: '/agent/v1/skills/{skill_id}/versions/{version}',
3358
+ ...options
3359
+ });
3360
+ /**
3361
+ * Get skill version
3362
+ *
3363
+ * 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.
3364
+ */
3365
+ export const skillsVersionsRetrieve = (options) => (options.client ?? client).get({
3366
+ security: [{
3367
+ key: 'BearerAuth',
3368
+ scheme: 'bearer',
3369
+ type: 'http'
3370
+ }, {
3371
+ key: 'ApiKeyAuth',
3372
+ name: 'X-API-Key',
3373
+ type: 'apiKey'
3374
+ }],
3375
+ url: '/agent/v1/skills/{skill_id}/versions/{version}',
3376
+ ...options
3377
+ });
3378
+ /**
3379
+ * Download skill version
3380
+ *
3381
+ * 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.
3382
+ */
3383
+ export const skillsVersionsDownload = (options) => (options.client ?? client).get({
3384
+ security: [{
3385
+ key: 'BearerAuth',
3386
+ scheme: 'bearer',
3387
+ type: 'http'
3388
+ }, {
3389
+ key: 'ApiKeyAuth',
3390
+ name: 'X-API-Key',
3391
+ type: 'apiKey'
3392
+ }],
3393
+ url: '/agent/v1/skills/{skill_id}/versions/{version}/content',
3394
+ ...options
3395
+ });
3396
+ /**
3397
+ * Get account subdomain
3398
+ *
3399
+ * Return the account subdomain used in every Worker URL. A default is created on first use.
3400
+ */
3401
+ export const applicationGetSubdomain = (options) => (options?.client ?? client).get({
3402
+ security: [{
3403
+ key: 'application-bearerAuth',
3404
+ scheme: 'bearer',
3405
+ type: 'http'
3406
+ }],
3407
+ url: '/application/v1/subdomain',
3408
+ ...options
3409
+ });
3410
+ /**
3411
+ * Change account subdomain
3412
+ *
3413
+ * Change the account subdomain. Every Worker moves to the new address at once; old addresses stop resolving.
3414
+ */
3415
+ export const applicationPutSubdomain = (options) => (options.client ?? client).put({
3416
+ security: [{
3417
+ key: 'application-bearerAuth',
3418
+ scheme: 'bearer',
3419
+ type: 'http'
3420
+ }],
3421
+ url: '/application/v1/subdomain',
3422
+ ...options,
3423
+ headers: {
3424
+ 'Content-Type': 'application/json',
3425
+ ...options.headers
3426
+ }
3427
+ });
3428
+ /**
3429
+ * List Workers
3430
+ *
3431
+ * List Workers in your account. Filter by status or by label with label.<key>=<value>.
3432
+ */
3433
+ export const applicationListWorkers = (options) => (options?.client ?? client).get({
3434
+ security: [{
3435
+ key: 'application-bearerAuth',
3436
+ scheme: 'bearer',
3437
+ type: 'http'
3438
+ }],
3439
+ url: '/application/v1/workers',
3440
+ ...options
3441
+ });
3442
+ /**
3443
+ * Create Worker
3444
+ *
3445
+ * Create a Worker. It serves nothing until a version is deployed.
3446
+ */
3447
+ export const applicationCreateWorker = (options) => (options.client ?? client).post({
3448
+ security: [{
3449
+ key: 'application-bearerAuth',
3450
+ scheme: 'bearer',
3451
+ type: 'http'
3452
+ }],
3453
+ url: '/application/v1/workers',
3454
+ ...options,
3455
+ headers: {
3456
+ 'Content-Type': 'application/json',
3457
+ ...options.headers
3458
+ }
3459
+ });
3460
+ /**
3461
+ * Delete Worker
3462
+ *
3463
+ * Soft-delete a Worker. Unlike Cloudflare, deletion is reversible: it stops serving at once and can be restored with RestoreWorker for 7 days, after which it is purged.
3464
+ */
3465
+ export const applicationDeleteWorker = (options) => (options.client ?? client).delete({
3466
+ security: [{
3467
+ key: 'application-bearerAuth',
3468
+ scheme: 'bearer',
3469
+ type: 'http'
3470
+ }],
3471
+ url: '/application/v1/workers/{worker_id}',
3472
+ ...options
3473
+ });
3474
+ /**
3475
+ * Get Worker
3476
+ *
3477
+ * Get a Worker. expand returns related objects in the same response.
3478
+ */
3479
+ export const applicationGetWorker = (options) => (options.client ?? client).get({
3480
+ security: [{
3481
+ key: 'application-bearerAuth',
3482
+ scheme: 'bearer',
3483
+ type: 'http'
3484
+ }],
3485
+ url: '/application/v1/workers/{worker_id}',
3486
+ ...options
3487
+ });
3488
+ /**
3489
+ * Update Worker
3490
+ *
3491
+ * Change name, tags, observability, subdomain or labels. Omitted fields stay unchanged.
3492
+ */
3493
+ export const applicationUpdateWorker = (options) => (options.client ?? client).patch({
3494
+ security: [{
3495
+ key: 'application-bearerAuth',
3496
+ scheme: 'bearer',
3497
+ type: 'http'
3498
+ }],
3499
+ url: '/application/v1/workers/{worker_id}',
3500
+ ...options,
3501
+ headers: {
3502
+ 'Content-Type': 'application/json',
3503
+ ...options.headers
3504
+ }
3505
+ });
3506
+ /**
3507
+ * Restore Worker
3508
+ *
3509
+ * Bring back a soft-deleted Worker within 7 days of deletion, with its versions and deployments. Cloudflare has no equivalent.
3510
+ */
3511
+ export const applicationRestoreWorker = (options) => (options.client ?? client).post({
3512
+ security: [{
3513
+ key: 'application-bearerAuth',
3514
+ scheme: 'bearer',
3515
+ type: 'http'
3516
+ }],
3517
+ url: '/application/v1/workers/{worker_id}/restore',
2896
3518
  ...options
2897
3519
  });
2898
3520
  /**
@@ -2927,6 +3549,20 @@ export const applicationCreateVersion = (options) => (options.client ?? client).
2927
3549
  ...options.headers
2928
3550
  }
2929
3551
  });
3552
+ /**
3553
+ * Get version asset manifest
3554
+ *
3555
+ * 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.
3556
+ */
3557
+ export const applicationGetVersionAssetManifest = (options) => (options.client ?? client).get({
3558
+ security: [{
3559
+ key: 'application-bearerAuth',
3560
+ scheme: 'bearer',
3561
+ type: 'http'
3562
+ }],
3563
+ url: '/application/v1/workers/{worker_id}/versions/{version_id}/assets/manifest',
3564
+ ...options
3565
+ });
2930
3566
  /**
2931
3567
  * Get version
2932
3568
  *
@@ -3189,9 +3825,9 @@ export const automationActionsCreate = (options) => (options.client ?? client).p
3189
3825
  }
3190
3826
  });
3191
3827
  /**
3192
- * Get an action
3828
+ * Get an Action with its current input and output JSON Schemas
3193
3829
  *
3194
- * Read the action and its full current implementation. The response ETag is the current revision ID for conditional updates.
3830
+ * 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.
3195
3831
  */
3196
3832
  export const automationActionsGet = (options) => (options.client ?? client).get({
3197
3833
  security: [{
@@ -3389,7 +4025,7 @@ export const automationScriptsList = (options) => (options?.client ?? client).ge
3389
4025
  /**
3390
4026
  * Create a script
3391
4027
  *
3392
- * 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.
4028
+ * 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.
3393
4029
  */
3394
4030
  export const automationScriptsCreate = (options) => (options.client ?? client).post({
3395
4031
  security: [{
@@ -3429,7 +4065,7 @@ export const automationScriptsGet = (options) => (options.client ?? client).get(
3429
4065
  /**
3430
4066
  * Update a script draft
3431
4067
  *
3432
- * Update description, labels or draft with the current draft revision in If-Match. Even metadata-only updates create a new draft revision.
4068
+ * 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.
3433
4069
  */
3434
4070
  export const automationScriptsPatch = (options) => (options.client ?? client).patch({
3435
4071
  security: [{
@@ -3652,7 +4288,7 @@ export const automationWorkflowsList = (options) => (options?.client ?? client).
3652
4288
  /**
3653
4289
  * Create a workflow
3654
4290
  *
3655
- * 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.
4291
+ * 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.
3656
4292
  */
3657
4293
  export const automationWorkflowsCreate = (options) => (options.client ?? client).post({
3658
4294
  security: [{
@@ -3982,9 +4618,9 @@ export const automationRunsList = (options) => (options?.client ?? client).get({
3982
4618
  ...options
3983
4619
  });
3984
4620
  /**
3985
- * Create a run
4621
+ * Run a published target or execute draft source
3986
4622
  *
3987
- * 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}.
4623
+ * 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.
3988
4624
  */
3989
4625
  export const automationRunsCreate = (options) => (options.client ?? client).post({
3990
4626
  security: [{
@@ -4610,7 +5246,7 @@ export const databaseListTables = (options) => (options.client ?? client).get({
4610
5246
  /**
4611
5247
  * Create table
4612
5248
  *
4613
- * 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.
5249
+ * 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.
4614
5250
  */
4615
5251
  export const databaseCreateTable = (options) => (options.client ?? client).post({
4616
5252
  security: [{
@@ -4674,7 +5310,7 @@ export const databaseUpdateTable = (options) => (options.client ?? client).patch
4674
5310
  /**
4675
5311
  * Add field
4676
5312
  *
4677
- * 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.
5313
+ * 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.
4678
5314
  */
4679
5315
  export const databaseAddField = (options) => (options.client ?? client).post({
4680
5316
  security: [{
@@ -4752,7 +5388,7 @@ export const databaseDelete = (options) => (options.client ?? client).delete({
4752
5388
  /**
4753
5389
  * Select rows
4754
5390
  *
4755
- * 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.
5391
+ * 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.
4756
5392
  */
4757
5393
  export const databaseSelect = (options) => (options.client ?? client).get({
4758
5394
  security: [{
@@ -4766,7 +5402,7 @@ export const databaseSelect = (options) => (options.client ?? client).get({
4766
5402
  /**
4767
5403
  * Count rows
4768
5404
  *
4769
- * 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.
5405
+ * 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.
4770
5406
  */
4771
5407
  export const databaseHead = (options) => (options.client ?? client).head({
4772
5408
  security: [{
@@ -4800,7 +5436,7 @@ export const databaseUpdate = (options) => (options.client ?? client).patch({
4800
5436
  *
4801
5437
  * 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.
4802
5438
  * Rows are filled to the union of their keys with null; send Prefer: missing=default to use field defaults for missing keys.
4803
- * The 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.
5439
+ * The 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.
4804
5440
  */
4805
5441
  export const databaseInsert = (options) => (options.client ?? client).post({
4806
5442
  security: [{
@@ -5586,7 +6222,7 @@ export const getSandboxV1Sandboxes = (options) => (options?.client ?? client).ge
5586
6222
  /**
5587
6223
  * Create sandbox (v2)
5588
6224
  *
5589
- * 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.
6225
+ * Create a sandbox from the template. All system communication with the sandbox is secured.
5590
6226
  */
5591
6227
  export const postSandboxV1Sandboxes = (options) => (options.client ?? client).post({
5592
6228
  security: [
@@ -5627,7 +6263,7 @@ export const postSandboxV1Sandboxes = (options) => (options.client ?? client).po
5627
6263
  /**
5628
6264
  * Sandbox metrics
5629
6265
  *
5630
- * 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.
6266
+ * 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.
5631
6267
  */
5632
6268
  export const getSandboxV1SandboxesBySandboxIdMetrics = (options) => (options.client ?? client).get({
5633
6269
  security: [
@@ -5664,7 +6300,7 @@ export const getSandboxV1SandboxesBySandboxIdMetrics = (options) => (options.cli
5664
6300
  /**
5665
6301
  * Pause sandbox
5666
6302
  *
5667
- * 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.
6303
+ * 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.
5668
6304
  */
5669
6305
  export const postSandboxV1SandboxesBySandboxIdPause = (options) => (options.client ?? client).post({
5670
6306
  security: [
@@ -5746,7 +6382,7 @@ export const postSandboxV1SandboxesBySandboxIdTimeout = (options) => (options.cl
5746
6382
  /**
5747
6383
  * Connect sandbox (v2)
5748
6384
  *
5749
- * 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.
6385
+ * 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.
5750
6386
  */
5751
6387
  export const postSandboxV1SandboxesBySandboxIdConnect = (options) => (options.client ?? client).post({
5752
6388
  security: [
@@ -5787,7 +6423,7 @@ export const postSandboxV1SandboxesBySandboxIdConnect = (options) => (options.cl
5787
6423
  /**
5788
6424
  * List templates (v2)
5789
6425
  *
5790
- * 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.
6426
+ * 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.
5791
6427
  */
5792
6428
  export const getSandboxV1Templates = (options) => (options?.client ?? client).get({
5793
6429
  security: [
@@ -6653,3 +7289,779 @@ export const vaultConnectContinue = (options) => (options.client ?? client).post
6653
7289
  * Consume a pending authorization's one-time connect token and mark it failed with access_denied. Redirect to the configured return URL, or display a result page when none was supplied.
6654
7290
  */
6655
7291
  export const vaultConnectDeny = (options) => (options.client ?? client).post({ url: '/vault/v1/connect/{token}/deny', ...options });
7292
+ /**
7293
+ * List tickets
7294
+ *
7295
+ * 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.
7296
+ */
7297
+ export const ticketGetTickets = (options) => (options?.client ?? client).get({
7298
+ security: [{
7299
+ key: 'BearerAuth',
7300
+ scheme: 'bearer',
7301
+ type: 'http'
7302
+ }, {
7303
+ key: 'ApiKeyAuth',
7304
+ name: 'X-API-Key',
7305
+ type: 'apiKey'
7306
+ }],
7307
+ url: '/ticket/v1/tickets',
7308
+ ...options
7309
+ });
7310
+ /**
7311
+ * Create or add tickets
7312
+ *
7313
+ * 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.
7314
+ */
7315
+ export const ticketPostTickets = (options) => (options.client ?? client).post({
7316
+ security: [{
7317
+ key: 'BearerAuth',
7318
+ scheme: 'bearer',
7319
+ type: 'http'
7320
+ }, {
7321
+ key: 'ApiKeyAuth',
7322
+ name: 'X-API-Key',
7323
+ type: 'apiKey'
7324
+ }],
7325
+ url: '/ticket/v1/tickets',
7326
+ ...options,
7327
+ headers: {
7328
+ 'Content-Type': 'application/json',
7329
+ ...options.headers
7330
+ }
7331
+ });
7332
+ /**
7333
+ * Read tickets
7334
+ *
7335
+ * 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.
7336
+ */
7337
+ export const ticketGetTicketsNumber = (options) => (options.client ?? client).get({
7338
+ security: [{
7339
+ key: 'BearerAuth',
7340
+ scheme: 'bearer',
7341
+ type: 'http'
7342
+ }, {
7343
+ key: 'ApiKeyAuth',
7344
+ name: 'X-API-Key',
7345
+ type: 'apiKey'
7346
+ }],
7347
+ url: '/ticket/v1/tickets/{number}',
7348
+ ...options
7349
+ });
7350
+ /**
7351
+ * Update tickets
7352
+ *
7353
+ * 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.
7354
+ */
7355
+ export const ticketPatchTicketsNumber = (options) => (options.client ?? client).patch({
7356
+ security: [{
7357
+ key: 'BearerAuth',
7358
+ scheme: 'bearer',
7359
+ type: 'http'
7360
+ }, {
7361
+ key: 'ApiKeyAuth',
7362
+ name: 'X-API-Key',
7363
+ type: 'apiKey'
7364
+ }],
7365
+ url: '/ticket/v1/tickets/{number}',
7366
+ ...options,
7367
+ headers: {
7368
+ 'Content-Type': 'application/json',
7369
+ ...options.headers
7370
+ }
7371
+ });
7372
+ /**
7373
+ * Remove lock
7374
+ *
7375
+ * 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.
7376
+ */
7377
+ export const ticketDeleteTicketsNumberLock = (options) => (options.client ?? client).delete({
7378
+ security: [{
7379
+ key: 'BearerAuth',
7380
+ scheme: 'bearer',
7381
+ type: 'http'
7382
+ }, {
7383
+ key: 'ApiKeyAuth',
7384
+ name: 'X-API-Key',
7385
+ type: 'apiKey'
7386
+ }],
7387
+ url: '/ticket/v1/tickets/{number}/lock',
7388
+ ...options
7389
+ });
7390
+ /**
7391
+ * Update lock
7392
+ *
7393
+ * 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.
7394
+ */
7395
+ export const ticketPutTicketsNumberLock = (options) => (options.client ?? client).put({
7396
+ security: [{
7397
+ key: 'BearerAuth',
7398
+ scheme: 'bearer',
7399
+ type: 'http'
7400
+ }, {
7401
+ key: 'ApiKeyAuth',
7402
+ name: 'X-API-Key',
7403
+ type: 'apiKey'
7404
+ }],
7405
+ url: '/ticket/v1/tickets/{number}/lock',
7406
+ ...options,
7407
+ headers: {
7408
+ 'Content-Type': 'application/json',
7409
+ ...options.headers
7410
+ }
7411
+ });
7412
+ /**
7413
+ * List comments
7414
+ *
7415
+ * 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.
7416
+ */
7417
+ export const ticketGetTicketsNumberComments = (options) => (options.client ?? client).get({
7418
+ security: [{
7419
+ key: 'BearerAuth',
7420
+ scheme: 'bearer',
7421
+ type: 'http'
7422
+ }, {
7423
+ key: 'ApiKeyAuth',
7424
+ name: 'X-API-Key',
7425
+ type: 'apiKey'
7426
+ }],
7427
+ url: '/ticket/v1/tickets/{number}/comments',
7428
+ ...options
7429
+ });
7430
+ /**
7431
+ * Create or add comments
7432
+ *
7433
+ * 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.
7434
+ */
7435
+ export const ticketPostTicketsNumberComments = (options) => (options.client ?? client).post({
7436
+ security: [{
7437
+ key: 'BearerAuth',
7438
+ scheme: 'bearer',
7439
+ type: 'http'
7440
+ }, {
7441
+ key: 'ApiKeyAuth',
7442
+ name: 'X-API-Key',
7443
+ type: 'apiKey'
7444
+ }],
7445
+ url: '/ticket/v1/tickets/{number}/comments',
7446
+ ...options,
7447
+ headers: {
7448
+ 'Content-Type': 'application/json',
7449
+ ...options.headers
7450
+ }
7451
+ });
7452
+ /**
7453
+ * Remove comments
7454
+ *
7455
+ * 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.
7456
+ */
7457
+ export const ticketDeleteCommentsId = (options) => (options.client ?? client).delete({
7458
+ security: [{
7459
+ key: 'BearerAuth',
7460
+ scheme: 'bearer',
7461
+ type: 'http'
7462
+ }, {
7463
+ key: 'ApiKeyAuth',
7464
+ name: 'X-API-Key',
7465
+ type: 'apiKey'
7466
+ }],
7467
+ url: '/ticket/v1/comments/{id}',
7468
+ ...options
7469
+ });
7470
+ /**
7471
+ * Read comments
7472
+ *
7473
+ * 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.
7474
+ */
7475
+ export const ticketGetCommentsId = (options) => (options.client ?? client).get({
7476
+ security: [{
7477
+ key: 'BearerAuth',
7478
+ scheme: 'bearer',
7479
+ type: 'http'
7480
+ }, {
7481
+ key: 'ApiKeyAuth',
7482
+ name: 'X-API-Key',
7483
+ type: 'apiKey'
7484
+ }],
7485
+ url: '/ticket/v1/comments/{id}',
7486
+ ...options
7487
+ });
7488
+ /**
7489
+ * Update comments
7490
+ *
7491
+ * 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.
7492
+ */
7493
+ export const ticketPatchCommentsId = (options) => (options.client ?? client).patch({
7494
+ security: [{
7495
+ key: 'BearerAuth',
7496
+ scheme: 'bearer',
7497
+ type: 'http'
7498
+ }, {
7499
+ key: 'ApiKeyAuth',
7500
+ name: 'X-API-Key',
7501
+ type: 'apiKey'
7502
+ }],
7503
+ url: '/ticket/v1/comments/{id}',
7504
+ ...options,
7505
+ headers: {
7506
+ 'Content-Type': 'application/json',
7507
+ ...options.headers
7508
+ }
7509
+ });
7510
+ /**
7511
+ * List labels
7512
+ *
7513
+ * 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.
7514
+ */
7515
+ export const ticketGetLabels = (options) => (options?.client ?? client).get({
7516
+ security: [{
7517
+ key: 'BearerAuth',
7518
+ scheme: 'bearer',
7519
+ type: 'http'
7520
+ }, {
7521
+ key: 'ApiKeyAuth',
7522
+ name: 'X-API-Key',
7523
+ type: 'apiKey'
7524
+ }],
7525
+ url: '/ticket/v1/labels',
7526
+ ...options
7527
+ });
7528
+ /**
7529
+ * Create or add labels
7530
+ *
7531
+ * 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.
7532
+ */
7533
+ export const ticketPostLabels = (options) => (options.client ?? client).post({
7534
+ security: [{
7535
+ key: 'BearerAuth',
7536
+ scheme: 'bearer',
7537
+ type: 'http'
7538
+ }, {
7539
+ key: 'ApiKeyAuth',
7540
+ name: 'X-API-Key',
7541
+ type: 'apiKey'
7542
+ }],
7543
+ url: '/ticket/v1/labels',
7544
+ ...options,
7545
+ headers: {
7546
+ 'Content-Type': 'application/json',
7547
+ ...options.headers
7548
+ }
7549
+ });
7550
+ /**
7551
+ * Remove labels
7552
+ *
7553
+ * 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.
7554
+ */
7555
+ export const ticketDeleteLabelsName = (options) => (options.client ?? client).delete({
7556
+ security: [{
7557
+ key: 'BearerAuth',
7558
+ scheme: 'bearer',
7559
+ type: 'http'
7560
+ }, {
7561
+ key: 'ApiKeyAuth',
7562
+ name: 'X-API-Key',
7563
+ type: 'apiKey'
7564
+ }],
7565
+ url: '/ticket/v1/labels/{name}',
7566
+ ...options
7567
+ });
7568
+ /**
7569
+ * Update labels
7570
+ *
7571
+ * 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.
7572
+ */
7573
+ export const ticketPatchLabelsName = (options) => (options.client ?? client).patch({
7574
+ security: [{
7575
+ key: 'BearerAuth',
7576
+ scheme: 'bearer',
7577
+ type: 'http'
7578
+ }, {
7579
+ key: 'ApiKeyAuth',
7580
+ name: 'X-API-Key',
7581
+ type: 'apiKey'
7582
+ }],
7583
+ url: '/ticket/v1/labels/{name}',
7584
+ ...options,
7585
+ headers: {
7586
+ 'Content-Type': 'application/json',
7587
+ ...options.headers
7588
+ }
7589
+ });
7590
+ /**
7591
+ * Read types
7592
+ *
7593
+ * 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.
7594
+ */
7595
+ export const ticketGetTypes = (options) => (options?.client ?? client).get({
7596
+ security: [{
7597
+ key: 'BearerAuth',
7598
+ scheme: 'bearer',
7599
+ type: 'http'
7600
+ }, {
7601
+ key: 'ApiKeyAuth',
7602
+ name: 'X-API-Key',
7603
+ type: 'apiKey'
7604
+ }],
7605
+ url: '/ticket/v1/types',
7606
+ ...options
7607
+ });
7608
+ /**
7609
+ * List milestones
7610
+ *
7611
+ * 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.
7612
+ */
7613
+ export const ticketGetMilestones = (options) => (options?.client ?? client).get({
7614
+ security: [{
7615
+ key: 'BearerAuth',
7616
+ scheme: 'bearer',
7617
+ type: 'http'
7618
+ }, {
7619
+ key: 'ApiKeyAuth',
7620
+ name: 'X-API-Key',
7621
+ type: 'apiKey'
7622
+ }],
7623
+ url: '/ticket/v1/milestones',
7624
+ ...options
7625
+ });
7626
+ /**
7627
+ * Create or add milestones
7628
+ *
7629
+ * 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.
7630
+ */
7631
+ export const ticketPostMilestones = (options) => (options.client ?? client).post({
7632
+ security: [{
7633
+ key: 'BearerAuth',
7634
+ scheme: 'bearer',
7635
+ type: 'http'
7636
+ }, {
7637
+ key: 'ApiKeyAuth',
7638
+ name: 'X-API-Key',
7639
+ type: 'apiKey'
7640
+ }],
7641
+ url: '/ticket/v1/milestones',
7642
+ ...options,
7643
+ headers: {
7644
+ 'Content-Type': 'application/json',
7645
+ ...options.headers
7646
+ }
7647
+ });
7648
+ /**
7649
+ * Remove milestones
7650
+ *
7651
+ * 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.
7652
+ */
7653
+ export const ticketDeleteMilestonesNumber = (options) => (options.client ?? client).delete({
7654
+ security: [{
7655
+ key: 'BearerAuth',
7656
+ scheme: 'bearer',
7657
+ type: 'http'
7658
+ }, {
7659
+ key: 'ApiKeyAuth',
7660
+ name: 'X-API-Key',
7661
+ type: 'apiKey'
7662
+ }],
7663
+ url: '/ticket/v1/milestones/{number}',
7664
+ ...options
7665
+ });
7666
+ /**
7667
+ * Read milestones
7668
+ *
7669
+ * 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.
7670
+ */
7671
+ export const ticketGetMilestonesNumber = (options) => (options.client ?? client).get({
7672
+ security: [{
7673
+ key: 'BearerAuth',
7674
+ scheme: 'bearer',
7675
+ type: 'http'
7676
+ }, {
7677
+ key: 'ApiKeyAuth',
7678
+ name: 'X-API-Key',
7679
+ type: 'apiKey'
7680
+ }],
7681
+ url: '/ticket/v1/milestones/{number}',
7682
+ ...options
7683
+ });
7684
+ /**
7685
+ * Update milestones
7686
+ *
7687
+ * 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.
7688
+ */
7689
+ export const ticketPatchMilestonesNumber = (options) => (options.client ?? client).patch({
7690
+ security: [{
7691
+ key: 'BearerAuth',
7692
+ scheme: 'bearer',
7693
+ type: 'http'
7694
+ }, {
7695
+ key: 'ApiKeyAuth',
7696
+ name: 'X-API-Key',
7697
+ type: 'apiKey'
7698
+ }],
7699
+ url: '/ticket/v1/milestones/{number}',
7700
+ ...options,
7701
+ headers: {
7702
+ 'Content-Type': 'application/json',
7703
+ ...options.headers
7704
+ }
7705
+ });
7706
+ /**
7707
+ * List sub tickets
7708
+ *
7709
+ * 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.
7710
+ */
7711
+ export const ticketGetTicketsNumberSubTickets = (options) => (options.client ?? client).get({
7712
+ security: [{
7713
+ key: 'BearerAuth',
7714
+ scheme: 'bearer',
7715
+ type: 'http'
7716
+ }, {
7717
+ key: 'ApiKeyAuth',
7718
+ name: 'X-API-Key',
7719
+ type: 'apiKey'
7720
+ }],
7721
+ url: '/ticket/v1/tickets/{number}/sub_tickets',
7722
+ ...options
7723
+ });
7724
+ /**
7725
+ * Create or add sub tickets
7726
+ *
7727
+ * 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.
7728
+ */
7729
+ export const ticketPostTicketsNumberSubTickets = (options) => (options.client ?? client).post({
7730
+ security: [{
7731
+ key: 'BearerAuth',
7732
+ scheme: 'bearer',
7733
+ type: 'http'
7734
+ }, {
7735
+ key: 'ApiKeyAuth',
7736
+ name: 'X-API-Key',
7737
+ type: 'apiKey'
7738
+ }],
7739
+ url: '/ticket/v1/tickets/{number}/sub_tickets',
7740
+ ...options,
7741
+ headers: {
7742
+ 'Content-Type': 'application/json',
7743
+ ...options.headers
7744
+ }
7745
+ });
7746
+ /**
7747
+ * Remove sub tickets
7748
+ *
7749
+ * 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.
7750
+ */
7751
+ export const ticketDeleteTicketsNumberSubTicketsChild = (options) => (options.client ?? client).delete({
7752
+ security: [{
7753
+ key: 'BearerAuth',
7754
+ scheme: 'bearer',
7755
+ type: 'http'
7756
+ }, {
7757
+ key: 'ApiKeyAuth',
7758
+ name: 'X-API-Key',
7759
+ type: 'apiKey'
7760
+ }],
7761
+ url: '/ticket/v1/tickets/{number}/sub_tickets/{child}',
7762
+ ...options
7763
+ });
7764
+ /**
7765
+ * List blocked by
7766
+ *
7767
+ * 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.
7768
+ */
7769
+ export const ticketGetTicketsNumberDependenciesBlockedBy = (options) => (options.client ?? client).get({
7770
+ security: [{
7771
+ key: 'BearerAuth',
7772
+ scheme: 'bearer',
7773
+ type: 'http'
7774
+ }, {
7775
+ key: 'ApiKeyAuth',
7776
+ name: 'X-API-Key',
7777
+ type: 'apiKey'
7778
+ }],
7779
+ url: '/ticket/v1/tickets/{number}/dependencies/blocked_by',
7780
+ ...options
7781
+ });
7782
+ /**
7783
+ * Create or add blocked by
7784
+ *
7785
+ * 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.
7786
+ */
7787
+ export const ticketPostTicketsNumberDependenciesBlockedBy = (options) => (options.client ?? client).post({
7788
+ security: [{
7789
+ key: 'BearerAuth',
7790
+ scheme: 'bearer',
7791
+ type: 'http'
7792
+ }, {
7793
+ key: 'ApiKeyAuth',
7794
+ name: 'X-API-Key',
7795
+ type: 'apiKey'
7796
+ }],
7797
+ url: '/ticket/v1/tickets/{number}/dependencies/blocked_by',
7798
+ ...options,
7799
+ headers: {
7800
+ 'Content-Type': 'application/json',
7801
+ ...options.headers
7802
+ }
7803
+ });
7804
+ /**
7805
+ * Remove blocked by
7806
+ *
7807
+ * 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.
7808
+ */
7809
+ export const ticketDeleteTicketsNumberDependenciesBlockedByN = (options) => (options.client ?? client).delete({
7810
+ security: [{
7811
+ key: 'BearerAuth',
7812
+ scheme: 'bearer',
7813
+ type: 'http'
7814
+ }, {
7815
+ key: 'ApiKeyAuth',
7816
+ name: 'X-API-Key',
7817
+ type: 'apiKey'
7818
+ }],
7819
+ url: '/ticket/v1/tickets/{number}/dependencies/blocked_by/{n}',
7820
+ ...options
7821
+ });
7822
+ /**
7823
+ * List relations
7824
+ *
7825
+ * 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.
7826
+ */
7827
+ export const ticketGetTicketsNumberRelations = (options) => (options.client ?? client).get({
7828
+ security: [{
7829
+ key: 'BearerAuth',
7830
+ scheme: 'bearer',
7831
+ type: 'http'
7832
+ }, {
7833
+ key: 'ApiKeyAuth',
7834
+ name: 'X-API-Key',
7835
+ type: 'apiKey'
7836
+ }],
7837
+ url: '/ticket/v1/tickets/{number}/relations',
7838
+ ...options
7839
+ });
7840
+ /**
7841
+ * Create or add relations
7842
+ *
7843
+ * 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.
7844
+ */
7845
+ export const ticketPostTicketsNumberRelations = (options) => (options.client ?? client).post({
7846
+ security: [{
7847
+ key: 'BearerAuth',
7848
+ scheme: 'bearer',
7849
+ type: 'http'
7850
+ }, {
7851
+ key: 'ApiKeyAuth',
7852
+ name: 'X-API-Key',
7853
+ type: 'apiKey'
7854
+ }],
7855
+ url: '/ticket/v1/tickets/{number}/relations',
7856
+ ...options,
7857
+ headers: {
7858
+ 'Content-Type': 'application/json',
7859
+ ...options.headers
7860
+ }
7861
+ });
7862
+ /**
7863
+ * Remove relations
7864
+ *
7865
+ * 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.
7866
+ */
7867
+ export const ticketDeleteTicketsNumberRelationsN = (options) => (options.client ?? client).delete({
7868
+ security: [{
7869
+ key: 'BearerAuth',
7870
+ scheme: 'bearer',
7871
+ type: 'http'
7872
+ }, {
7873
+ key: 'ApiKeyAuth',
7874
+ name: 'X-API-Key',
7875
+ type: 'apiKey'
7876
+ }],
7877
+ url: '/ticket/v1/tickets/{number}/relations/{n}',
7878
+ ...options
7879
+ });
7880
+ /**
7881
+ * List blocking
7882
+ *
7883
+ * 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.
7884
+ */
7885
+ export const ticketGetTicketsNumberDependenciesBlocking = (options) => (options.client ?? client).get({
7886
+ security: [{
7887
+ key: 'BearerAuth',
7888
+ scheme: 'bearer',
7889
+ type: 'http'
7890
+ }, {
7891
+ key: 'ApiKeyAuth',
7892
+ name: 'X-API-Key',
7893
+ type: 'apiKey'
7894
+ }],
7895
+ url: '/ticket/v1/tickets/{number}/dependencies/blocking',
7896
+ ...options
7897
+ });
7898
+ /**
7899
+ * List events
7900
+ *
7901
+ * 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.
7902
+ */
7903
+ export const ticketGetTicketsNumberEvents = (options) => (options.client ?? client).get({
7904
+ security: [{
7905
+ key: 'BearerAuth',
7906
+ scheme: 'bearer',
7907
+ type: 'http'
7908
+ }, {
7909
+ key: 'ApiKeyAuth',
7910
+ name: 'X-API-Key',
7911
+ type: 'apiKey'
7912
+ }],
7913
+ url: '/ticket/v1/tickets/{number}/events',
7914
+ ...options
7915
+ });
7916
+ /**
7917
+ * List reactions
7918
+ *
7919
+ * 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.
7920
+ */
7921
+ export const ticketGetTicketsNumberReactions = (options) => (options.client ?? client).get({
7922
+ security: [{
7923
+ key: 'BearerAuth',
7924
+ scheme: 'bearer',
7925
+ type: 'http'
7926
+ }, {
7927
+ key: 'ApiKeyAuth',
7928
+ name: 'X-API-Key',
7929
+ type: 'apiKey'
7930
+ }],
7931
+ url: '/ticket/v1/tickets/{number}/reactions',
7932
+ ...options
7933
+ });
7934
+ /**
7935
+ * Create or add reactions
7936
+ *
7937
+ * 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.
7938
+ */
7939
+ export const ticketPostTicketsNumberReactions = (options) => (options.client ?? client).post({
7940
+ security: [{
7941
+ key: 'BearerAuth',
7942
+ scheme: 'bearer',
7943
+ type: 'http'
7944
+ }, {
7945
+ key: 'ApiKeyAuth',
7946
+ name: 'X-API-Key',
7947
+ type: 'apiKey'
7948
+ }],
7949
+ url: '/ticket/v1/tickets/{number}/reactions',
7950
+ ...options,
7951
+ headers: {
7952
+ 'Content-Type': 'application/json',
7953
+ ...options.headers
7954
+ }
7955
+ });
7956
+ /**
7957
+ * Remove reactions
7958
+ *
7959
+ * 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.
7960
+ */
7961
+ export const ticketDeleteTicketsNumberReactionsContent = (options) => (options.client ?? client).delete({
7962
+ security: [{
7963
+ key: 'BearerAuth',
7964
+ scheme: 'bearer',
7965
+ type: 'http'
7966
+ }, {
7967
+ key: 'ApiKeyAuth',
7968
+ name: 'X-API-Key',
7969
+ type: 'apiKey'
7970
+ }],
7971
+ url: '/ticket/v1/tickets/{number}/reactions/{content}',
7972
+ ...options
7973
+ });
7974
+ /**
7975
+ * List reactions
7976
+ *
7977
+ * 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.
7978
+ */
7979
+ export const ticketGetCommentsIdReactions = (options) => (options.client ?? client).get({
7980
+ security: [{
7981
+ key: 'BearerAuth',
7982
+ scheme: 'bearer',
7983
+ type: 'http'
7984
+ }, {
7985
+ key: 'ApiKeyAuth',
7986
+ name: 'X-API-Key',
7987
+ type: 'apiKey'
7988
+ }],
7989
+ url: '/ticket/v1/comments/{id}/reactions',
7990
+ ...options
7991
+ });
7992
+ /**
7993
+ * Create or add reactions
7994
+ *
7995
+ * 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.
7996
+ */
7997
+ export const ticketPostCommentsIdReactions = (options) => (options.client ?? client).post({
7998
+ security: [{
7999
+ key: 'BearerAuth',
8000
+ scheme: 'bearer',
8001
+ type: 'http'
8002
+ }, {
8003
+ key: 'ApiKeyAuth',
8004
+ name: 'X-API-Key',
8005
+ type: 'apiKey'
8006
+ }],
8007
+ url: '/ticket/v1/comments/{id}/reactions',
8008
+ ...options,
8009
+ headers: {
8010
+ 'Content-Type': 'application/json',
8011
+ ...options.headers
8012
+ }
8013
+ });
8014
+ /**
8015
+ * Remove reactions
8016
+ *
8017
+ * 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.
8018
+ */
8019
+ export const ticketDeleteCommentsIdReactionsContent = (options) => (options.client ?? client).delete({
8020
+ security: [{
8021
+ key: 'BearerAuth',
8022
+ scheme: 'bearer',
8023
+ type: 'http'
8024
+ }, {
8025
+ key: 'ApiKeyAuth',
8026
+ name: 'X-API-Key',
8027
+ type: 'apiKey'
8028
+ }],
8029
+ url: '/ticket/v1/comments/{id}/reactions/{content}',
8030
+ ...options
8031
+ });
8032
+ /**
8033
+ * List activity
8034
+ *
8035
+ * 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.
8036
+ */
8037
+ export const ticketGetActivity = (options) => (options?.client ?? client).get({
8038
+ security: [{
8039
+ key: 'BearerAuth',
8040
+ scheme: 'bearer',
8041
+ type: 'http'
8042
+ }, {
8043
+ key: 'ApiKeyAuth',
8044
+ name: 'X-API-Key',
8045
+ type: 'apiKey'
8046
+ }],
8047
+ url: '/ticket/v1/activity',
8048
+ ...options
8049
+ });
8050
+ /**
8051
+ * List repositories
8052
+ *
8053
+ * 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.
8054
+ */
8055
+ export const ticketGetRepositories = (options) => (options?.client ?? client).get({
8056
+ security: [{
8057
+ key: 'BearerAuth',
8058
+ scheme: 'bearer',
8059
+ type: 'http'
8060
+ }, {
8061
+ key: 'ApiKeyAuth',
8062
+ name: 'X-API-Key',
8063
+ type: 'apiKey'
8064
+ }],
8065
+ url: '/ticket/v1/repositories',
8066
+ ...options
8067
+ });