@deepraxis/sdk 0.1.1-dev.d25d171 → 0.1.1-dev.de0a917
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/METHODS.md +219 -47
- package/README.md +1 -1
- package/dist/automation.d.ts +61 -0
- package/dist/core/client.d.ts +11 -1
- package/dist/core/client.js +13 -0
- package/dist/core/transport.d.ts +9 -0
- package/dist/core/transport.js +13 -2
- package/dist/generated/index.d.ts +2 -2
- package/dist/generated/index.js +1 -1
- package/dist/generated/sdk.gen.d.ts +482 -108
- package/dist/generated/sdk.gen.js +1991 -671
- package/dist/generated/types.gen.d.ts +34106 -28059
- package/dist/helpers/application-build.d.ts +10 -0
- package/dist/helpers/application-build.js +98 -0
- package/dist/helpers/application-publish.d.ts +8 -0
- package/dist/helpers/application-publish.js +26 -9
- package/dist/helpers/browser-connect.d.ts +78 -0
- package/dist/helpers/browser-connect.js +161 -0
- package/dist/helpers/browser-decisions.d.ts +44 -0
- package/dist/helpers/browser-decisions.js +84 -0
- package/dist/helpers/browser-documentation.d.ts +2 -0
- package/dist/helpers/browser-documentation.js +47 -0
- package/dist/helpers/file-upload.d.ts +2 -2
- package/dist/helpers/sandbox-templates.d.ts +121 -0
- package/dist/helpers/sandbox-templates.js +60 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +3 -0
- package/dist/operations.generated.d.ts +2054 -469
- package/dist/operations.generated.js +2421 -464
- package/dist/resources.generated.d.ts +511 -383
- package/dist/resources.generated.js +135 -26
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ import { client } from './client.gen.js';
|
|
|
4
4
|
/**
|
|
5
5
|
* Apply Agent Version
|
|
6
6
|
*
|
|
7
|
-
* Apply a version from agents.versions.list
|
|
7
|
+
* Apply a saved version from agents.versions.list for new sessions and newly issued tokens, without creating a version. Existing sessions and tokens retain their version. The response contains the effective configuration with version equal to active_version and latest_version naming the newest saved version. Missing versions return 404; archived agents return 409. For example, POST /agent/v1/agents/{agent_id}/versions/2/apply with no body.
|
|
8
8
|
*/
|
|
9
9
|
export const applyAgentVersion = (options) => (options.client ?? client).post({
|
|
10
10
|
security: [{
|
|
@@ -82,13 +82,13 @@ export const setRunFeedback = (options) => (options.client ?? client).post({
|
|
|
82
82
|
}
|
|
83
83
|
});
|
|
84
84
|
/**
|
|
85
|
-
* List
|
|
85
|
+
* List customers
|
|
86
86
|
*
|
|
87
|
-
* List
|
|
87
|
+
* List the customers of a service agent, identified and anonymous, most recently seen first.
|
|
88
88
|
*
|
|
89
|
-
*
|
|
89
|
+
* Call this from your backend with your API key, or from the console. Customers follow Shopify Admin customers (list, retrieve, block, sign-out and data deletion of the people who use your storefront), so that experience applies. The list includes customers who signed in but have not started a session yet, and customers recorded under your own ids by embed tokens before customer sign-in existed; an id first seen that way is identified unless it starts with anon_. Unlike Shopify, a customer can be anonymous: a visitor admitted with the publishable key gets an anon_ id, and when it later signs in with anonymous_access_token it is merged: merged_into names the identified customer, and its sessions count toward that customer. Filter with q (a case-sensitive customer id prefix), type (identified or anonymous) and blocked (true or false). limit is 1 to 100, default 20; reuse next_page with the same filters and limit. A customer access token gets 404. Example: GET /agent/v1/agents/agent_example/customers?type=identified&blocked=false&limit=50.
|
|
90
90
|
*/
|
|
91
|
-
export const
|
|
91
|
+
export const listCustomers = (options) => (options.client ?? client).get({
|
|
92
92
|
security: [{
|
|
93
93
|
key: 'BearerAuth',
|
|
94
94
|
scheme: 'bearer',
|
|
@@ -98,17 +98,17 @@ export const listEndUsers = (options) => (options.client ?? client).get({
|
|
|
98
98
|
name: 'X-API-Key',
|
|
99
99
|
type: 'apiKey'
|
|
100
100
|
}],
|
|
101
|
-
url: '/agent/v1/agents/{agent_id}/
|
|
101
|
+
url: '/agent/v1/agents/{agent_id}/customers',
|
|
102
102
|
...options
|
|
103
103
|
});
|
|
104
104
|
/**
|
|
105
|
-
* Delete
|
|
105
|
+
* Delete customer data
|
|
106
106
|
*
|
|
107
|
-
* Delete a
|
|
107
|
+
* Delete a customer's data from one service agent after explicit confirmation.
|
|
108
108
|
*
|
|
109
|
-
* Develop only. Set confirm to the exact
|
|
109
|
+
* Develop only. Set confirm to the exact customer id; a missing or different confirm returns 400 naming the value to send. Returns 202 with a pending task id; poll the deletion endpoint. Concurrent requests reuse the unfinished task; retry DELETE after failure to resume it. Tokens are revoked and the customer is blocked before a seven-day recovery snapshot is verified; sessions including child sessions, conversation data, grants and feedback are then removed. A block that existed before stays; a temporary block is removed on success. File attachments are retained. Example: DELETE /agent/v1/agents/agent_example/customers/cus_8f2a91?confirm=cus_8f2a91.
|
|
110
110
|
*/
|
|
111
|
-
export const
|
|
111
|
+
export const deleteCustomer = (options) => (options.client ?? client).delete({
|
|
112
112
|
security: [{
|
|
113
113
|
key: 'BearerAuth',
|
|
114
114
|
scheme: 'bearer',
|
|
@@ -118,17 +118,17 @@ export const deleteEndUser = (options) => (options.client ?? client).delete({
|
|
|
118
118
|
name: 'X-API-Key',
|
|
119
119
|
type: 'apiKey'
|
|
120
120
|
}],
|
|
121
|
-
url: '/agent/v1/agents/{agent_id}/
|
|
121
|
+
url: '/agent/v1/agents/{agent_id}/customers/{customer_id}',
|
|
122
122
|
...options
|
|
123
123
|
});
|
|
124
124
|
/**
|
|
125
|
-
* Get
|
|
125
|
+
* Get customer
|
|
126
126
|
*
|
|
127
|
-
*
|
|
127
|
+
* Retrieve one customer of a service agent with its twenty most recently updated sessions.
|
|
128
128
|
*
|
|
129
|
-
* Use
|
|
129
|
+
* Use the customer id from the list or your own customer_id. An unknown customer returns 404 CUSTOMER_NOT_FOUND, and so does a customer access token. Unlike Shopify, an identified customer's session_count, cost and recent_sessions include the sessions of anonymous customers merged into it; the merged anonymous customer still shows its own sessions and its merged_into.
|
|
130
130
|
*/
|
|
131
|
-
export const
|
|
131
|
+
export const getCustomer = (options) => (options.client ?? client).get({
|
|
132
132
|
security: [{
|
|
133
133
|
key: 'BearerAuth',
|
|
134
134
|
scheme: 'bearer',
|
|
@@ -138,17 +138,17 @@ export const getEndUser = (options) => (options.client ?? client).get({
|
|
|
138
138
|
name: 'X-API-Key',
|
|
139
139
|
type: 'apiKey'
|
|
140
140
|
}],
|
|
141
|
-
url: '/agent/v1/agents/{agent_id}/
|
|
141
|
+
url: '/agent/v1/agents/{agent_id}/customers/{customer_id}',
|
|
142
142
|
...options
|
|
143
143
|
});
|
|
144
144
|
/**
|
|
145
|
-
* Get
|
|
145
|
+
* Get customer deletion
|
|
146
146
|
*
|
|
147
|
-
* Poll the latest deletion task
|
|
147
|
+
* Poll the latest deletion task of a customer, including after its data has been removed.
|
|
148
148
|
*
|
|
149
|
-
* Use the same agent_id and
|
|
149
|
+
* Use the same agent_id and customer id as the confirmed DELETE. Status is pending, snapshotting, deleting, done or failed. Counts are empty until a verified snapshot exists. snapshot_key is an operator recovery reference retained for seven days, not a download URL. A customer access token and a missing task return 404.
|
|
150
150
|
*/
|
|
151
|
-
export const
|
|
151
|
+
export const getCustomerDeletion = (options) => (options.client ?? client).get({
|
|
152
152
|
security: [{
|
|
153
153
|
key: 'BearerAuth',
|
|
154
154
|
scheme: 'bearer',
|
|
@@ -158,17 +158,17 @@ export const getEndUserDeletion = (options) => (options.client ?? client).get({
|
|
|
158
158
|
name: 'X-API-Key',
|
|
159
159
|
type: 'apiKey'
|
|
160
160
|
}],
|
|
161
|
-
url: '/agent/v1/agents/{agent_id}/
|
|
161
|
+
url: '/agent/v1/agents/{agent_id}/customers/{customer_id}/deletion',
|
|
162
162
|
...options
|
|
163
163
|
});
|
|
164
164
|
/**
|
|
165
|
-
*
|
|
165
|
+
* Block customer
|
|
166
166
|
*
|
|
167
|
-
*
|
|
167
|
+
* Block a customer and end every sign-in it has on this agent.
|
|
168
168
|
*
|
|
169
|
-
*
|
|
169
|
+
* Blocks the customer, then ends every live sign-in the way logout does: each access token is revoked and its open event streams close. From then on grant_codes, access_tokens, renew and new sessions for this customer return CUSTOMER_BLOCKED until you unblock it. Idempotent: a repeat keeps the first block time and revokes whatever is still live. If credential revocation fails the request returns 502 and the customer stays blocked; retry to finish. An unknown customer returns 404 CUSTOMER_NOT_FOUND.
|
|
170
170
|
*/
|
|
171
|
-
export const
|
|
171
|
+
export const blockCustomer = (options) => (options.client ?? client).post({
|
|
172
172
|
security: [{
|
|
173
173
|
key: 'BearerAuth',
|
|
174
174
|
scheme: 'bearer',
|
|
@@ -178,17 +178,17 @@ export const revokeEndUserTokens = (options) => (options.client ?? client).post(
|
|
|
178
178
|
name: 'X-API-Key',
|
|
179
179
|
type: 'apiKey'
|
|
180
180
|
}],
|
|
181
|
-
url: '/agent/v1/agents/{agent_id}/
|
|
181
|
+
url: '/agent/v1/agents/{agent_id}/customers/{customer_id}/block',
|
|
182
182
|
...options
|
|
183
183
|
});
|
|
184
184
|
/**
|
|
185
|
-
*
|
|
185
|
+
* Unblock customer
|
|
186
186
|
*
|
|
187
|
-
*
|
|
187
|
+
* Allow a blocked customer to sign in and start sessions again.
|
|
188
188
|
*
|
|
189
|
-
*
|
|
189
|
+
* Idempotent. Access tokens revoked while the customer was blocked stay revoked; sign the customer in again with a new grant code. An unknown customer returns 404 CUSTOMER_NOT_FOUND.
|
|
190
190
|
*/
|
|
191
|
-
export const
|
|
191
|
+
export const unblockCustomer = (options) => (options.client ?? client).post({
|
|
192
192
|
security: [{
|
|
193
193
|
key: 'BearerAuth',
|
|
194
194
|
scheme: 'bearer',
|
|
@@ -198,17 +198,17 @@ export const blockEndUser = (options) => (options.client ?? client).post({
|
|
|
198
198
|
name: 'X-API-Key',
|
|
199
199
|
type: 'apiKey'
|
|
200
200
|
}],
|
|
201
|
-
url: '/agent/v1/agents/{agent_id}/
|
|
201
|
+
url: '/agent/v1/agents/{agent_id}/customers/{customer_id}/unblock',
|
|
202
202
|
...options
|
|
203
203
|
});
|
|
204
204
|
/**
|
|
205
|
-
*
|
|
205
|
+
* Revoke customer tokens
|
|
206
206
|
*
|
|
207
|
-
*
|
|
207
|
+
* Sign a customer out everywhere without blocking it.
|
|
208
208
|
*
|
|
209
|
-
*
|
|
209
|
+
* Ends every live sign-in of the customer, revoking each access token and closing its open event streams; the customer can sign in again right away. Returns the number of access tokens this request revoked; a repeat returns 0. Credential revocation failure returns 502; retry to finish. An unknown customer returns 404 CUSTOMER_NOT_FOUND.
|
|
210
210
|
*/
|
|
211
|
-
export const
|
|
211
|
+
export const revokeCustomerTokens = (options) => (options.client ?? client).post({
|
|
212
212
|
security: [{
|
|
213
213
|
key: 'BearerAuth',
|
|
214
214
|
scheme: 'bearer',
|
|
@@ -218,7 +218,27 @@ export const unblockEndUser = (options) => (options.client ?? client).post({
|
|
|
218
218
|
name: 'X-API-Key',
|
|
219
219
|
type: 'apiKey'
|
|
220
220
|
}],
|
|
221
|
-
url: '/agent/v1/agents/{agent_id}/
|
|
221
|
+
url: '/agent/v1/agents/{agent_id}/customers/{customer_id}/revoke_tokens',
|
|
222
|
+
...options
|
|
223
|
+
});
|
|
224
|
+
/**
|
|
225
|
+
* Get agent appearance
|
|
226
|
+
*
|
|
227
|
+
* Read the saved chat appearance of a service agent.
|
|
228
|
+
*
|
|
229
|
+
* Agent Kit calls this from the page with a customer access token of this agent; your API key and console members can read it too. A token of another agent returns 404. The body is the same as the embed appearance read; a missing appearance returns the agent's own name and avatar only. Responses are private and cacheable for 60 seconds.
|
|
230
|
+
*/
|
|
231
|
+
export const getAgentAppearance = (options) => (options.client ?? client).get({
|
|
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}/appearance',
|
|
222
242
|
...options
|
|
223
243
|
});
|
|
224
244
|
/**
|
|
@@ -300,100 +320,6 @@ export const deleteCurrentCustomerAccessToken = (options) => (options.client ??
|
|
|
300
320
|
url: '/agent/v1/agents/{agent_id}/customers/auth/access_tokens/current',
|
|
301
321
|
...options
|
|
302
322
|
});
|
|
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
|
-
});
|
|
333
|
-
/**
|
|
334
|
-
* List Embed Tokens
|
|
335
|
-
*
|
|
336
|
-
* List embed token issuance records in your organization.
|
|
337
|
-
*
|
|
338
|
-
* Includes expired and revoked grants; returns neither token nor token_id. Sorts by created_at, then grant id, both descending. agent_id accepts agent_ or agt_; external_user_id matches exactly. limit is 1–100 (default 20). Reuse next_page as page with the same filters and organization; a mismatch returns 400. End-user credentials return 404.
|
|
339
|
-
*/
|
|
340
|
-
export const listEmbedTokens = (options) => (options?.client ?? client).get({
|
|
341
|
-
security: [{
|
|
342
|
-
key: 'BearerAuth',
|
|
343
|
-
scheme: 'bearer',
|
|
344
|
-
type: 'http'
|
|
345
|
-
}, {
|
|
346
|
-
key: 'ApiKeyAuth',
|
|
347
|
-
name: 'X-API-Key',
|
|
348
|
-
type: 'apiKey'
|
|
349
|
-
}],
|
|
350
|
-
url: '/agent/v1/embed_tokens',
|
|
351
|
-
...options
|
|
352
|
-
});
|
|
353
|
-
/**
|
|
354
|
-
* Create Embed Token
|
|
355
|
-
*
|
|
356
|
-
* Issue a short-lived credential on your backend for an end user of a service agent.
|
|
357
|
-
*
|
|
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.
|
|
359
|
-
*/
|
|
360
|
-
export const createEmbedToken = (options) => (options.client ?? client).post({
|
|
361
|
-
security: [{
|
|
362
|
-
key: 'BearerAuth',
|
|
363
|
-
scheme: 'bearer',
|
|
364
|
-
type: 'http'
|
|
365
|
-
}, {
|
|
366
|
-
key: 'ApiKeyAuth',
|
|
367
|
-
name: 'X-API-Key',
|
|
368
|
-
type: 'apiKey'
|
|
369
|
-
}],
|
|
370
|
-
url: '/agent/v1/embed_tokens',
|
|
371
|
-
...options,
|
|
372
|
-
headers: {
|
|
373
|
-
'Content-Type': 'application/json',
|
|
374
|
-
...options.headers
|
|
375
|
-
}
|
|
376
|
-
});
|
|
377
|
-
/**
|
|
378
|
-
* Revoke Embed Token
|
|
379
|
-
*
|
|
380
|
-
* Revoke an embed token and close its open event streams.
|
|
381
|
-
*
|
|
382
|
-
* Use an id from issuance or listing. Revokes the credential before setting revoked_at; upstream failure leaves it unset. Streams receive session.error (EMBED_TOKEN_REVOKED), then close immediately; other credentials are unaffected. Idempotent; repeats return the original revoked record without another revocation or audit. Missing or foreign grants and end-user credentials return 404.
|
|
383
|
-
*/
|
|
384
|
-
export const revokeEmbedToken = (options) => (options.client ?? client).post({
|
|
385
|
-
security: [{
|
|
386
|
-
key: 'BearerAuth',
|
|
387
|
-
scheme: 'bearer',
|
|
388
|
-
type: 'http'
|
|
389
|
-
}, {
|
|
390
|
-
key: 'ApiKeyAuth',
|
|
391
|
-
name: 'X-API-Key',
|
|
392
|
-
type: 'apiKey'
|
|
393
|
-
}],
|
|
394
|
-
url: '/agent/v1/embed_tokens/{id}/revoke',
|
|
395
|
-
...options
|
|
396
|
-
});
|
|
397
323
|
/**
|
|
398
324
|
* List Computers
|
|
399
325
|
*
|
|
@@ -417,7 +343,7 @@ export const computersList = (options) => (options?.client ?? client).get({
|
|
|
417
343
|
/**
|
|
418
344
|
* Create Computer
|
|
419
345
|
*
|
|
420
|
-
* Create a durable computer: a named machine whose files outlive sessions, for personal agents.
|
|
346
|
+
* Create a durable computer: a named machine whose files outlive sessions, for general and personal agents.
|
|
421
347
|
*
|
|
422
348
|
* 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.
|
|
423
349
|
*/
|
|
@@ -780,7 +706,7 @@ export const stopSessionBackgroundTask = (options) => (options.client ?? client)
|
|
|
780
706
|
*
|
|
781
707
|
* Request session context compaction and retrieve an operation receipt.
|
|
782
708
|
*
|
|
783
|
-
* Available only on /agent/v1. The body may be omitted or {}. Optional instructions must be a string and is forwarded unchanged. Idempotency-Key is forwarded unchanged; a UUID is generated when absent. Returns { type: session_compaction, id, status, reason? }, where id is the operation ID. queued/running return 202; skipped/succeeded/failed return 200. Non-string instructions return 400 invalid_request_error. Missing or inaccessible managed sessions return 404 not_found_error.
|
|
709
|
+
* Available only on /agent/v1. The body may be omitted or {}. Optional instructions must be a string and is forwarded unchanged. Idempotency-Key is forwarded unchanged; a UUID is generated when absent. Returns { type: session_compaction, id, status, reason? }, where id is the operation ID. queued/running return 202; skipped/succeeded/failed/cancelled return 200. Non-string instructions return 400 invalid_request_error. Missing or inaccessible managed sessions return 404 not_found_error.
|
|
784
710
|
*/
|
|
785
711
|
export const compactSession = (options) => (options.client ?? client).post({
|
|
786
712
|
security: [{
|
|
@@ -824,7 +750,7 @@ export const getSessionCompaction = (options) => (options.client ?? client).get(
|
|
|
824
750
|
*
|
|
825
751
|
* Read session compaction history and summaries.
|
|
826
752
|
*
|
|
827
|
-
* Available only on /agent/v1. Returns { data: [...] }. Each entry contains type, id, event_id, trigger, status, model, compacted_message_count, input_tokens_before, input_tokens_after, summary, error and created_at, as recorded by the service. Missing or inaccessible managed sessions return 404 not_found_error.
|
|
753
|
+
* Available only on /agent/v1. Returns { data: [...], active }. active is the queued or running compaction ({ type: session_compaction, id, status, trigger: manual|auto|idle }), or null when none; manual work takes precedence. Each data entry contains type, id, event_id, trigger, status, model, compacted_message_count, input_tokens_before, input_tokens_after, summary, error and created_at, as recorded by the service. Missing or inaccessible managed sessions return 404 not_found_error.
|
|
828
754
|
*/
|
|
829
755
|
export const listSessionCompactions = (options) => (options.client ?? client).get({
|
|
830
756
|
security: [{
|
|
@@ -839,20 +765,6 @@ export const listSessionCompactions = (options) => (options.client ?? client).ge
|
|
|
839
765
|
url: '/agent/v1/sessions/{session_id}/compactions',
|
|
840
766
|
...options
|
|
841
767
|
});
|
|
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
|
-
});
|
|
856
768
|
/**
|
|
857
769
|
* Generate speech
|
|
858
770
|
*
|
|
@@ -1180,7 +1092,7 @@ export const fileListFiles = (options) => (options?.client ?? client).get({
|
|
|
1180
1092
|
/**
|
|
1181
1093
|
* Upload file
|
|
1182
1094
|
*
|
|
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
|
|
1095
|
+
* 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 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–7776000). Without expiry, the file persists until deleted.
|
|
1184
1096
|
*/
|
|
1185
1097
|
export const fileCreateFile = (options) => (options.client ?? client).post({
|
|
1186
1098
|
...formDataBodySerializer,
|
|
@@ -1257,7 +1169,7 @@ export const fileRetrieveFileContent = (options) => (options.client ?? client).g
|
|
|
1257
1169
|
/**
|
|
1258
1170
|
* Create an upload
|
|
1259
1171
|
*
|
|
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
|
|
1172
|
+
* 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 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
1173
|
*/
|
|
1262
1174
|
export const fileCreateUpload = (options) => (options.client ?? client).post({
|
|
1263
1175
|
security: [{
|
|
@@ -1323,6 +1235,72 @@ export const fileCancelUpload = (options) => (options.client ?? client).post({
|
|
|
1323
1235
|
url: '/file/v1/uploads/{upload_id}/cancel',
|
|
1324
1236
|
...options
|
|
1325
1237
|
});
|
|
1238
|
+
/**
|
|
1239
|
+
* Create a one-time upload URL
|
|
1240
|
+
*
|
|
1241
|
+
* Upload a local file of up to 2 GiB from a coding agent without sending bytes through the model. Provide basename, exact byte count and MIME type. Up to 104857600 bytes, PUT the file to url with curl -T photo.png -H 'Content-Type: image/png' '<url>'; success returns 201 with the file object, and reuse returns 410 CAPABILITY_USED. Above that threshold, split the file into part_size chunks (default 64000000 bytes), PUT each chunk to its numbered parts[].url in any order, then POST complete_url without a body. Part PUTs return 200; completion returns 201 with the file object, including its state, or 400 if a part is missing. A processing file can be polled with files.retrieve until active. Identical part bytes may be retried; changed bytes at the same number return 400. Completion reuse returns 410 CAPABILITY_USED. Each PUT requires the exact signed Content-Length; single-PUT Content-Type must match content_type or be omitted. Expired, revoked, invalid, wrong-action or cross-organization URLs return 404. URL lifetime defaults to 900 seconds for single PUT or 3600 for multipart, at most 604800; all multipart URLs share an expiry. Multipart creation reserves storage quota. Issuance requires the same unscoped credential as direct file creation. Each issuance creates a new upload and is not idempotent. Example body: {"filename":"photo.png","bytes":2048,"content_type":"image/png"}.
|
|
1242
|
+
*/
|
|
1243
|
+
export const fileCreateSignedUpload = (options) => (options.client ?? client).post({
|
|
1244
|
+
security: [{
|
|
1245
|
+
key: 'BearerAuth',
|
|
1246
|
+
scheme: 'bearer',
|
|
1247
|
+
type: 'http'
|
|
1248
|
+
}, {
|
|
1249
|
+
key: 'ApiKeyAuth',
|
|
1250
|
+
name: 'X-API-Key',
|
|
1251
|
+
type: 'apiKey'
|
|
1252
|
+
}],
|
|
1253
|
+
url: '/file/v1/uploads/signed',
|
|
1254
|
+
...options,
|
|
1255
|
+
headers: {
|
|
1256
|
+
'Content-Type': 'application/json',
|
|
1257
|
+
...options.headers
|
|
1258
|
+
}
|
|
1259
|
+
});
|
|
1260
|
+
/**
|
|
1261
|
+
* Create a download URL
|
|
1262
|
+
*
|
|
1263
|
+
* Download a file's bytes to a local disk from a coding agent without sending them through the model. Use file_id from file creation or listing, then run curl -fsSL -o <filename> '<url>' locally with the returned URL; GET needs no Authorization header. The link is reusable until expiry and supports a single byte Range (for example Range: bytes=0-9 returns 206). Revoke it with files.contentLinks.revoke, passing the token after /c/ in the URL. Expired, revoked, invalid or cross-organization URLs return 404. Lifetime defaults to 3600 seconds and is at most 604800 seconds. Issuance requires the same credential and file-read access as files.retrieveContent; a processing file returns 409 FILE_NOT_READY, so poll files.retrieve until active before retrying. A missing, expired or other-organization file returns 404. Each issuance creates a new link. OpenAI Files has no signed download URL; this follows S3 presigned GET semantics. Example body: {"ttl_seconds":3600}.
|
|
1264
|
+
*/
|
|
1265
|
+
export const fileCreateContentUrl = (options) => (options.client ?? client).post({
|
|
1266
|
+
security: [{
|
|
1267
|
+
key: 'BearerAuth',
|
|
1268
|
+
scheme: 'bearer',
|
|
1269
|
+
type: 'http'
|
|
1270
|
+
}, {
|
|
1271
|
+
key: 'ApiKeyAuth',
|
|
1272
|
+
name: 'X-API-Key',
|
|
1273
|
+
type: 'apiKey'
|
|
1274
|
+
}],
|
|
1275
|
+
url: '/file/v1/files/{file_id}/content_url',
|
|
1276
|
+
...options,
|
|
1277
|
+
headers: {
|
|
1278
|
+
'Content-Type': 'application/json',
|
|
1279
|
+
...options.headers
|
|
1280
|
+
}
|
|
1281
|
+
});
|
|
1282
|
+
/**
|
|
1283
|
+
* Revoke a file content link
|
|
1284
|
+
*
|
|
1285
|
+
* Stop a previously issued content link from reading a file. Obtain the link with files.contentUrl.create. Use file_id from file creation or listing and the token path component from a content URL (/c/<token>), not the complete URL. The caller must own the file and have write access; a read-only binding is refused. Revocation propagates through the capability deny list within 30 seconds; the file and other links remain available. Only current IAM capability tokens can be revoked; legacy content links expire at the migration deadline. Example body: {"token":"<token from /c/>"}.
|
|
1286
|
+
*/
|
|
1287
|
+
export const fileRevokeContentLink = (options) => (options.client ?? client).post({
|
|
1288
|
+
security: [{
|
|
1289
|
+
key: 'BearerAuth',
|
|
1290
|
+
scheme: 'bearer',
|
|
1291
|
+
type: 'http'
|
|
1292
|
+
}, {
|
|
1293
|
+
key: 'ApiKeyAuth',
|
|
1294
|
+
name: 'X-API-Key',
|
|
1295
|
+
type: 'apiKey'
|
|
1296
|
+
}],
|
|
1297
|
+
url: '/file/v1/files/{file_id}/content_links:revoke',
|
|
1298
|
+
...options,
|
|
1299
|
+
headers: {
|
|
1300
|
+
'Content-Type': 'application/json',
|
|
1301
|
+
...options.headers
|
|
1302
|
+
}
|
|
1303
|
+
});
|
|
1326
1304
|
/**
|
|
1327
1305
|
* Health Check
|
|
1328
1306
|
*
|
|
@@ -1357,6 +1335,18 @@ export const metaMethodsSearch = (options) => (options?.client ?? client).get({
|
|
|
1357
1335
|
*
|
|
1358
1336
|
*/
|
|
1359
1337
|
export const metaMethodsRetrieve = (options) => (options.client ?? client).get({ url: '/meta/v1/methods/{name}', ...options });
|
|
1338
|
+
/**
|
|
1339
|
+
* Read documentation Markdown
|
|
1340
|
+
*
|
|
1341
|
+
* Read a platform guide or reference before implementing an unfamiliar capability. Public; no API key required. Take path from praxis.meta.docs.search, or use developers/automation/guides/write-workflow. Append #heading-id to path to read only that section, including its subsections. Encode the hash as %23 over HTTP; SDK callers pass it in the path string. lang defaults to zh; en selects the English page. Unknown pages or anchors return DOC_NOT_FOUND; search again for a valid path.
|
|
1342
|
+
*/
|
|
1343
|
+
export const metaDocsRetrieve = (options) => (options.client ?? client).get({ url: '/meta/v1/docs/{path}', ...options });
|
|
1344
|
+
/**
|
|
1345
|
+
* Search platform documentation
|
|
1346
|
+
*
|
|
1347
|
+
* Find guides and references by keyword before reading them with praxis.meta.docs.retrieve. Public; no API key required. Matches documentation titles, headings and page text without case sensitivity; all query words must occur. q is required; limit defaults to 20 and accepts 1–50. lang defaults to zh or use en for English. Returns paths, page titles, canonical URLs and short matching snippets; no matches returns an empty array.
|
|
1348
|
+
*/
|
|
1349
|
+
export const metaDocsSearch = (options) => (options.client ?? client).get({ url: '/meta/v1/docs/search', ...options });
|
|
1360
1350
|
/**
|
|
1361
1351
|
* List Models
|
|
1362
1352
|
*
|
|
@@ -1465,6 +1455,28 @@ export const remixVideo = (options) => (options.client ?? client).post({
|
|
|
1465
1455
|
url: '/model/v1/videos/{video_id}/remix',
|
|
1466
1456
|
...options
|
|
1467
1457
|
});
|
|
1458
|
+
/**
|
|
1459
|
+
* Ask structured decision questions
|
|
1460
|
+
*
|
|
1461
|
+
* Ask typed questions about a state and get calibrated probabilities instead of generated text. Same request and response as TypeSafe System One. Use model ids from model.models.list declaring typesafe.systemone. Send one or more noul, choice or score questions; answers use the same question ids. Input tokens are charged at the catalog input price; output tokens are free. usage.cost and X-Praxis-Cost-Usd expose the same customer charge in USD. box questions and assets are unsupported and return 400: images are not supported. Unknown top-level fields pass unchanged to the native upstream.
|
|
1462
|
+
*/
|
|
1463
|
+
export const createSystemone = (options) => (options.client ?? client).post({
|
|
1464
|
+
security: [{
|
|
1465
|
+
key: 'BearerAuth',
|
|
1466
|
+
scheme: 'bearer',
|
|
1467
|
+
type: 'http'
|
|
1468
|
+
}, {
|
|
1469
|
+
key: 'ApiKeyAuth',
|
|
1470
|
+
name: 'X-API-Key',
|
|
1471
|
+
type: 'apiKey'
|
|
1472
|
+
}],
|
|
1473
|
+
url: '/model/v1/systemone',
|
|
1474
|
+
...options,
|
|
1475
|
+
headers: {
|
|
1476
|
+
'Content-Type': 'application/json',
|
|
1477
|
+
...options.headers
|
|
1478
|
+
}
|
|
1479
|
+
});
|
|
1468
1480
|
/**
|
|
1469
1481
|
* Transcribe audio
|
|
1470
1482
|
*
|
|
@@ -2460,7 +2472,7 @@ export const makeSandboxDirectory = (options) => (options.client ?? client).post
|
|
|
2460
2472
|
/**
|
|
2461
2473
|
* Run a command in the sandbox
|
|
2462
2474
|
*
|
|
2463
|
-
* Execute a shell command and wait for stdout, stderr and exitCode. Supply cmd, optional cwd and envs, and timeoutMs (1–
|
|
2475
|
+
* Execute a shell command and wait for stdout, stderr and exitCode. Supply cmd, optional cwd and envs, and timeoutMs (1–3600000 milliseconds, default 600000, that is 10 minutes; E2B defaults to 60000). Unlike E2B, this endpoint is synchronous only: no background mode, callbacks or unlimited timeout (timeoutMs 0); output is bounded to 1 MiB including stream framing. Nonzero exit codes return 200 with the result. A timeout returns COMMAND_TIMEOUT (504); transport timeout does not confirm process termination, so do not blindly retry commands with side effects. Example body: {"cmd":"echo hi"}.
|
|
2464
2476
|
*/
|
|
2465
2477
|
export const runSandboxCommand = (options) => (options.client ?? client).post({
|
|
2466
2478
|
security: [{
|
|
@@ -2540,7 +2552,7 @@ export const sessionsUpdate = (options) => (options.client ?? client).post({
|
|
|
2540
2552
|
/**
|
|
2541
2553
|
* List agents
|
|
2542
2554
|
*
|
|
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
|
|
2555
|
+
* 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=general or kind=personal for durable-computer agents, kind=service for per-session environments, or kind=assume for external MCP clients. Pass next_page from the response as page to read the next page; a null next_page means the end.
|
|
2544
2556
|
*/
|
|
2545
2557
|
export const agentsList = (options) => (options?.client ?? client).get({
|
|
2546
2558
|
security: [{
|
|
@@ -2558,7 +2570,7 @@ export const agentsList = (options) => (options?.client ?? client).get({
|
|
|
2558
2570
|
/**
|
|
2559
2571
|
* Create agent
|
|
2560
2572
|
*
|
|
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"}]}.
|
|
2573
|
+
* 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"}]}. For kind assume, provide name without model, models, subagent_model, subagents or multiagent; omit computer_id to register a new computer named after the agent without starting an instance, or provide an existing computer_id; vault_ids are accepted, bindings and environment_id are refused. Drive assume agents over MCP at /agent/v1/agents/{id}/mcp.
|
|
2562
2574
|
*/
|
|
2563
2575
|
export const agentsCreate = (options) => (options.client ?? client).post({
|
|
2564
2576
|
security: [{
|
|
@@ -2580,7 +2592,7 @@ export const agentsCreate = (options) => (options.client ?? client).post({
|
|
|
2580
2592
|
/**
|
|
2581
2593
|
* Get agent
|
|
2582
2594
|
*
|
|
2583
|
-
* Read
|
|
2595
|
+
* Read the agent configuration currently effective for new sessions. By default, version equals active_version and latest_version identifies the newest saved version, including an unapplied save. Use latest_version for optimistic concurrency when updating. Pass version as a positive integer to read that saved version; version=active is equivalent to omission. The response lists every native tool with its resolved configuration in one agent_toolset_20260401 entry, so tools can be sent back unchanged to agents.update. Use agents.versions.list to enumerate saved versions.
|
|
2584
2596
|
*/
|
|
2585
2597
|
export const agentsRetrieve = (options) => (options.client ?? client).get({
|
|
2586
2598
|
security: [{
|
|
@@ -2598,7 +2610,7 @@ export const agentsRetrieve = (options) => (options.client ?? client).get({
|
|
|
2598
2610
|
/**
|
|
2599
2611
|
* Update agent
|
|
2600
2612
|
*
|
|
2601
|
-
*
|
|
2613
|
+
* Save configuration changes as a new immutable version. Send latest_version from a default retrieve or update response as the request version for optimistic concurrency; a stale value returns 409. apply defaults to true and makes the new version effective; apply false saves without changing active_version. The response contains the effective configuration, with version equal to active_version and latest_version naming the newest saved version. An unchanged configuration, including a note-only update, is a no-op returning 200 and the current effective version without creating or activating a version. version_note records up to 280 characters only when a configuration change creates a new version; null is equivalent to omission. Use agents.versions.apply to activate an existing saved 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. Assume agents reject model, models, subagent_model, subagents and multiagent on every update; other fields follow the general agent rules, with vault_ids also accepted.
|
|
2602
2614
|
*/
|
|
2603
2615
|
export const agentsUpdate = (options) => (options.client ?? client).post({
|
|
2604
2616
|
security: [{
|
|
@@ -2638,7 +2650,7 @@ export const agentsArchive = (options) => (options.client ?? client).post({
|
|
|
2638
2650
|
/**
|
|
2639
2651
|
* List agent versions
|
|
2640
2652
|
*
|
|
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
|
|
2653
|
+
* List the saved versions of one agent in ascending version number, oldest first, in pages of at most 100 (default 20). Each item is the full agent definition at that saved version, so you can compare configurations. active is true only for the item new sessions use. active_version on every item is the same agent-level currently effective version; it is not that item's version. Use agents.retrieve with version to read a single saved version; agent_id comes from agents.list or agents.create. Pass next_page as page to continue.
|
|
2642
2654
|
*/
|
|
2643
2655
|
export const agentsVersionsList = (options) => (options.client ?? client).get({
|
|
2644
2656
|
security: [{
|
|
@@ -2674,7 +2686,7 @@ export const sessionsList = (options) => (options?.client ?? client).get({
|
|
|
2674
2686
|
/**
|
|
2675
2687
|
* Create session
|
|
2676
2688
|
*
|
|
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
|
|
2689
|
+
* 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 decimal string of US dollars with at most 2 decimal places ("20.00" is USD 20.00); omitted budget defaults to "20.00" 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. Assume agents return 400 INVALID_PARAMS; drive them over MCP at /agent/v1/agents/{id}/mcp instead.
|
|
2678
2690
|
*/
|
|
2679
2691
|
export const sessionsCreate = (options) => (options.client ?? client).post({
|
|
2680
2692
|
security: [{
|
|
@@ -3054,7 +3066,7 @@ export const deploymentsList = (options) => (options?.client ?? client).get({
|
|
|
3054
3066
|
/**
|
|
3055
3067
|
* Create deployment
|
|
3056
3068
|
*
|
|
3057
|
-
* Freeze session parameters as a deployment; this operation does not open a session. Pass an agent id or versioned reference, a name, 1–50 user.message initial events and an environment_id from environments.list. Unlike Anthropic Managed Agents, /agent/v1 also accepts agent_with_overrides (model, permission_mode and cwd) and target=computer for personal agents, with environment_id omitted. Cron schedules use five POSIX fields and an IANA timezone. File resources are accepted. Supports vault_ids, up to 50, owned by the current organization and not archived; credential injection is deferred to a later version. Active schedules run every minute when due; session creation errors pause the deployment. Unsupported tools, mcp_servers, system and skills overrides return 400.
|
|
3069
|
+
* Freeze session parameters as a deployment; this operation does not open a session. Pass an agent id or versioned reference, a name, 1–50 user.message initial events and an environment_id from environments.list. Unlike Anthropic Managed Agents, /agent/v1 also accepts agent_with_overrides (model, permission_mode and cwd) and target=computer for general and personal agents, with environment_id omitted. Cron schedules use five POSIX fields and an IANA timezone. File resources are accepted. Supports vault_ids, up to 50, owned by the current organization and not archived; credential injection is deferred to a later version. Active schedules run every minute when due; session creation errors pause the deployment. Unsupported tools, mcp_servers, system and skills overrides return 400.
|
|
3058
3070
|
*/
|
|
3059
3071
|
export const deploymentsCreate = (options) => (options.client ?? client).post({
|
|
3060
3072
|
security: [{
|
|
@@ -3700,7 +3712,7 @@ export const applicationListGrants = (options) => (options.client ?? client).get
|
|
|
3700
3712
|
/**
|
|
3701
3713
|
* Create grant
|
|
3702
3714
|
*
|
|
3703
|
-
*
|
|
3715
|
+
* Record access to an organization-owned database or knowledge base, all organization files (files, id *), or models (models, id *, read only). Each resource and optional alias must be unique within this Worker. Foreign and missing resources both return RESOURCE_NOT_FOUND (404); an unavailable resource service returns PROVIDER_CAPACITY (503, retryable).
|
|
3704
3716
|
*/
|
|
3705
3717
|
export const applicationCreateGrant = (options) => (options.client ?? client).post({
|
|
3706
3718
|
security: [{
|
|
@@ -3782,7 +3794,7 @@ export const applicationUploadAssets = (options) => (options.client ?? client).p
|
|
|
3782
3794
|
/**
|
|
3783
3795
|
* List actions
|
|
3784
3796
|
*
|
|
3785
|
-
* Discover callable Actions and their ns/name references without executing them. Combine each returned namespace and name as ns/name; Action calls use the current revision and do not accept @version or @tag. Filter by name or description; results include seven-day statistics and revision summaries without implementation source. Archived actions are excluded by default.
|
|
3797
|
+
* Discover callable Actions and their ns/name references without executing them. Combine each returned namespace and name as ns/name; Action calls use the current revision and do not accept @version or @tag. Filter by name or description; results include seven-day statistics and revision summaries without implementation source. Archived actions are excluded by default. List items carry no input contract: get the action and read current_revision.input_schema. Call it with call("ns/name", input) in a script or call: ns/name with with: in a workflow.
|
|
3786
3798
|
*/
|
|
3787
3799
|
export const automationActionsList = (options) => (options?.client ?? client).get({
|
|
3788
3800
|
querySerializer: { parameters: {
|
|
@@ -3827,7 +3839,7 @@ export const automationActionsCreate = (options) => (options.client ?? client).p
|
|
|
3827
3839
|
/**
|
|
3828
3840
|
* Get an Action with its current input and output JSON Schemas
|
|
3829
3841
|
*
|
|
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.
|
|
3842
|
+
* 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) or in a workflow step with call: ocr and with:. Input that breaks the contract returns INPUT_INVALID, with the fields in errors[]. The response ETag is the current revision ID for conditional updates.
|
|
3831
3843
|
*/
|
|
3832
3844
|
export const automationActionsGet = (options) => (options.client ?? client).get({
|
|
3833
3845
|
security: [{
|
|
@@ -3845,7 +3857,7 @@ export const automationActionsGet = (options) => (options.client ?? client).get(
|
|
|
3845
3857
|
/**
|
|
3846
3858
|
* Update an action
|
|
3847
3859
|
*
|
|
3848
|
-
* Update after checking compatibility against the current and five recent revisions. Widening inputs and narrowing outputs are compatible, including length, item count, property count, type (integer/number), and multipleOf (the new input factor divides the old one; the reverse holds for outputs). dry_run=true returns only CompatResult and may omit If-Match; a supplied header is still checked, and * matches any existing representation. Normal updates require If-Match and return ActionDef with ETag; previews return no ETag. Omitted optional fields retain their existing values only for description and labels; when constructing a new revision, errors defaults to [], omitted annotations keys to false, timeout_ms to
|
|
3860
|
+
* Update after checking compatibility against the current and five recent revisions. Widening inputs and narrowing outputs are compatible, including length, item count, property count, type (integer/number), and multipleOf (the new input factor divides the old one; the reverse holds for outputs). dry_run=true returns only CompatResult and may omit If-Match; a supplied header is still checked, and * matches any existing representation. Normal updates require If-Match and return ActionDef with ETag; previews return no ETag. Omitted optional fields retain their existing values only for description and labels; when constructing a new revision, errors defaults to [], omitted annotations keys to false, timeout_ms to 300000, and message to null. Incompatible normal updates return 422 SCHEMA_INCOMPATIBLE with issues; unchanged contents retain the existing revision.
|
|
3849
3861
|
*/
|
|
3850
3862
|
export const automationActionsUpdate = (options) => (options.client ?? client).put({
|
|
3851
3863
|
security: [{
|
|
@@ -4025,7 +4037,7 @@ export const automationScriptsList = (options) => (options?.client ?? client).ge
|
|
|
4025
4037
|
/**
|
|
4026
4038
|
* Create a script
|
|
4027
4039
|
*
|
|
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.
|
|
4040
|
+
* 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. The return value is limited to 1 MiB: write large results to a file with call("write-file", ...) and return the file ID. A call error carries errors[] (pointer, detail, hint); String(e) is only the summary. 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.
|
|
4029
4041
|
*/
|
|
4030
4042
|
export const automationScriptsCreate = (options) => (options.client ?? client).post({
|
|
4031
4043
|
security: [{
|
|
@@ -4288,7 +4300,7 @@ export const automationWorkflowsList = (options) => (options?.client ?? client).
|
|
|
4288
4300
|
/**
|
|
4289
4301
|
* Create a workflow
|
|
4290
4302
|
*
|
|
4291
|
-
* Save a YAML workflow as an editable draft
|
|
4303
|
+
* Workflow syntax reference: https://deepraxis.com/docs/developers/automation/reference/workflow-syntax. Save a YAML workflow as an editable draft; this does not validate, publish or run it, so check it with validate (kind=workflow) first. Minimal draft: document with dsl ("1.0.3"), namespace, name and version, plus a do list of steps, for example document: {dsl: "1.0.3", namespace: demo, name: add, version: "1.0.0"} and do: [{first: {call: demo/add-one, with: {n: "${ .n }"}}}]. call: <ns/name> calls an Action directly (bare name for built-ins such as ocr) and with is the Action input; the input contract is at current_revision.input_schema in the get-action response. run: starts a saved script or child workflow. The run input is . in the first step, and expressions are jq written as a whole ${ ... } string. Limits: Action 5 min (run-sandbox 6 h), workflow 24 h by default and 30 days at most, payload 1 MiB. Test the draft by sending its source and language=yaml to praxis.automation.runs.create. To pause for a person, call praxis/approval (it opens a human task; the step output is the decision); agents answer with praxis.automation.humanTasks.respond on behalf of their user. Guide: /docs/developers/automation/guides/approvals Guide: /docs/developers/automation/guides/write-workflow. Error details are in the errors[] of the response (pointer, detail, hint). 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. 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.
|
|
4292
4304
|
*/
|
|
4293
4305
|
export const automationWorkflowsCreate = (options) => (options.client ?? client).post({
|
|
4294
4306
|
security: [{
|
|
@@ -4328,7 +4340,7 @@ export const automationWorkflowsGet = (options) => (options.client ?? client).ge
|
|
|
4328
4340
|
/**
|
|
4329
4341
|
* Update a workflow draft
|
|
4330
4342
|
*
|
|
4331
|
-
* Update description, labels or draft with the current draft revision in If-Match. Even metadata-only updates create a new draft revision.
|
|
4343
|
+
* Update description, labels or draft with the current draft revision in If-Match, taken from draft.revision in the get-workflow response. Even metadata-only updates create a new draft revision. A mismatch returns 412 PRECONDITION_FAILED; read the draft again, merge and retry. The draft is not validated here, so check it with validate (kind=workflow) before publishing. Error details are in errors[]. See the workflow syntax reference at https://deepraxis.com/docs/developers/automation/reference/workflow-syntax.
|
|
4332
4344
|
*/
|
|
4333
4345
|
export const automationWorkflowsPatch = (options) => (options.client ?? client).patch({
|
|
4334
4346
|
security: [{
|
|
@@ -4412,7 +4424,7 @@ export const automationWorkflowsVersions = (options) => (options.client ?? clien
|
|
|
4412
4424
|
/**
|
|
4413
4425
|
* Publish a workflow version
|
|
4414
4426
|
*
|
|
4415
|
-
* Publish a saved definition from its draft or an ad hoc run as a reusable version for named runs or triggers, validating the definition and locking dependencies. To test unpublished code, use praxis.automation.runs.create with source and language instead. Use draft.revision from create or retrieve as expected_draft_revision. The draft must match expected_draft_revision; an ad hoc run requires from_run and expected_source_sha256. The same version and contents return the existing version; different contents return VERSION_EXISTS, prereleases require an explicit tag (not latest, URL-safe characters only, not a version or range; violations return TAG_REQUIRED or TAG_INVALID with the complete rules in hint), and invalid definitions return DEFINITION_INVALID. Stable releases automatically advance latest only above the highest existing stable version; workflows becoming latest synchronize their declared schedule. String and object run.workflow/run.script references share version resolution and dependency locking. Publishing removes +build metadata from the version number.
|
|
4427
|
+
* Publish a saved definition from its draft or an ad hoc run as a reusable version for named runs or triggers, validating the definition and locking dependencies. To test unpublished code, use praxis.automation.runs.create with source and language instead. Use draft.revision from create or retrieve as expected_draft_revision. The draft must match expected_draft_revision; an ad hoc run requires from_run and expected_source_sha256. The same version and contents return the existing version; different contents return VERSION_EXISTS, prereleases require an explicit tag (not latest, URL-safe characters only, not a version or range; violations return TAG_REQUIRED or TAG_INVALID with the complete rules in hint), and invalid definitions return DEFINITION_INVALID. Stable releases automatically advance latest only above the highest existing stable version; workflows becoming latest synchronize their declared schedule. String and object run.workflow/run.script references share version resolution and dependency locking. Publishing removes +build metadata from the version number. For a workflow, document namespace, name and version must equal the publish target, otherwise DEFINITION_IDENTITY_MISMATCH; where a DEFINITION_INVALID failure sits is listed in errors[] (pointer, detail, hint).
|
|
4416
4428
|
*/
|
|
4417
4429
|
export const automationWorkflowsPublish = (options) => (options.client ?? client).post({
|
|
4418
4430
|
security: [{
|
|
@@ -4532,7 +4544,7 @@ export const automationWorkflowsSetDistTag = (options) => (options.client ?? cli
|
|
|
4532
4544
|
/**
|
|
4533
4545
|
* Validate a definition
|
|
4534
4546
|
*
|
|
4535
|
-
* Check source without executing it when you need diagnostics, inferred schemas or references. This is optional before praxis.automation.runs.create, which also validates source before execution. Actions, scripts and workflows are supported; results include validity without saving. Invalid source is reported with valid=false. Script/action output schemas are inferred from return types: Promise unwrapping, Record, intersections and Date. Unknown types yield an empty schema and a warning in warnings. Source diagnostics use /source or /implementation/source with 1-based line/column. For kind=action the same admission checks as action creation apply (no external imports, platform operations only as direct call(praxis/<api>.<op>, input) calls, no agent or automation calls), so source that validates is not rejected at creation.
|
|
4547
|
+
* Check source without executing it when you need diagnostics, inferred schemas or references. This is optional before praxis.automation.runs.create, which also validates source before execution. Actions, scripts and workflows are supported; results include validity without saving. Invalid source is reported with valid=false. Script/action output schemas are inferred from return types: Promise unwrapping, Record, intersections and Date. Unknown types yield an empty schema and a warning in warnings. Source diagnostics use /source or /implementation/source with 1-based line/column. For kind=action the same admission checks as action creation apply (no external imports, platform operations only as direct call(praxis/<api>.<op>, input) calls, no agent or automation calls), so source that validates is not rejected at creation. For kind=workflow the YAML needs document (dsl, namespace, name, version) and do; each problem is one entry in errors[] (pointer, detail, hint), so read the first one. A listen outside the supported subset (to.all, inside a fork) and emit are not reported here and fail with DEFINITION_INVALID only when a run is created. Workflow syntax reference: https://deepraxis.com/docs/developers/automation/reference/workflow-syntax.
|
|
4536
4548
|
*/
|
|
4537
4549
|
export const automationValidateValidate = (options) => (options.client ?? client).post({
|
|
4538
4550
|
security: [{
|
|
@@ -4620,7 +4632,7 @@ export const automationRunsList = (options) => (options?.client ?? client).get({
|
|
|
4620
4632
|
/**
|
|
4621
4633
|
* Run a published target or execute draft source
|
|
4622
4634
|
*
|
|
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
|
|
4635
|
+
* 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 5 min (run-sandbox after 6 h); scripts have a 30 min wall-clock limit and a 30 s CPU limit; workflows default to 24 h and allow up to 30 days. Each run can start at most 1,000 child runs, with at most 100 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. With language=yaml, source is a workflow YAML: the run input is . in the first step, and the shape is described in create workflow. Error details are in errors[] (pointer, detail, hint). 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.
|
|
4624
4636
|
*/
|
|
4625
4637
|
export const automationRunsCreate = (options) => (options.client ?? client).post({
|
|
4626
4638
|
security: [{
|
|
@@ -5124,77 +5136,102 @@ export const automationHooksReceive = (options) => (options.client ?? client).po
|
|
|
5124
5136
|
}
|
|
5125
5137
|
});
|
|
5126
5138
|
/**
|
|
5127
|
-
* List
|
|
5139
|
+
* List human tasks
|
|
5128
5140
|
*
|
|
5129
|
-
*
|
|
5141
|
+
* List the human tasks that praxis/approval workflow steps opened, newest first. By default it returns only open tasks assigned to the caller: their approval inbox. scope=all lists every task of the organization, and status and run_id narrow the list. Use a returned id with retrieve for details and respond to decide. Read-only: listing never changes a task.
|
|
5130
5142
|
*/
|
|
5131
|
-
export const
|
|
5143
|
+
export const automationHumanTasksList = (options) => (options?.client ?? client).get({
|
|
5144
|
+
querySerializer: { parameters: { status: { array: { explode: false } } } },
|
|
5132
5145
|
security: [{
|
|
5133
|
-
key: '
|
|
5146
|
+
key: 'BearerAuth',
|
|
5134
5147
|
scheme: 'bearer',
|
|
5135
5148
|
type: 'http'
|
|
5149
|
+
}, {
|
|
5150
|
+
key: 'ApiKeyAuth',
|
|
5151
|
+
name: 'X-API-Key',
|
|
5152
|
+
type: 'apiKey'
|
|
5136
5153
|
}],
|
|
5137
|
-
url: '/
|
|
5154
|
+
url: '/automation/v1/human-tasks',
|
|
5138
5155
|
...options
|
|
5139
5156
|
});
|
|
5140
5157
|
/**
|
|
5141
|
-
*
|
|
5158
|
+
* Retrieve a human task
|
|
5142
5159
|
*
|
|
5143
|
-
*
|
|
5160
|
+
* Read one human task - title, Markdown body, context, actions, form, assignees, mode, due time, responses and outcome - so an assignee can choose an action and fill the form. Read-only; the Console approval page /automation/tasks/{id} reads the same resource.
|
|
5144
5161
|
*/
|
|
5145
|
-
export const
|
|
5162
|
+
export const automationHumanTasksGet = (options) => (options.client ?? client).get({
|
|
5146
5163
|
security: [{
|
|
5147
|
-
key: '
|
|
5164
|
+
key: 'BearerAuth',
|
|
5148
5165
|
scheme: 'bearer',
|
|
5149
5166
|
type: 'http'
|
|
5167
|
+
}, {
|
|
5168
|
+
key: 'ApiKeyAuth',
|
|
5169
|
+
name: 'X-API-Key',
|
|
5170
|
+
type: 'apiKey'
|
|
5150
5171
|
}],
|
|
5151
|
-
url: '/
|
|
5152
|
-
...options
|
|
5153
|
-
headers: {
|
|
5154
|
-
'Content-Type': 'application/json',
|
|
5155
|
-
...options.headers
|
|
5156
|
-
}
|
|
5172
|
+
url: '/automation/v1/human-tasks/{id}',
|
|
5173
|
+
...options
|
|
5157
5174
|
});
|
|
5158
5175
|
/**
|
|
5159
|
-
*
|
|
5176
|
+
* Respond to a human task
|
|
5160
5177
|
*
|
|
5161
|
-
*
|
|
5178
|
+
* Submit an action (action_id), form values (values) and a comment as the calling user. Depending on the task's mode the response either decides it (status becomes completed, outcome is set, and the waiting workflow resumes with outcome as the step output) or is recorded while other assignees are awaited. When two assignees respond at once, exactly one decides and the other gets TASK_CLOSED. An agent may respond only if the workflow set allow_agent_decision. Send an Idempotency-Key to retry safely.
|
|
5162
5179
|
*/
|
|
5163
|
-
export const
|
|
5180
|
+
export const automationHumanTasksRespond = (options) => (options.client ?? client).post({
|
|
5164
5181
|
security: [{
|
|
5165
|
-
key: '
|
|
5182
|
+
key: 'BearerAuth',
|
|
5166
5183
|
scheme: 'bearer',
|
|
5167
5184
|
type: 'http'
|
|
5185
|
+
}, {
|
|
5186
|
+
key: 'ApiKeyAuth',
|
|
5187
|
+
name: 'X-API-Key',
|
|
5188
|
+
type: 'apiKey'
|
|
5168
5189
|
}],
|
|
5169
|
-
url: '/
|
|
5170
|
-
...options
|
|
5190
|
+
url: '/automation/v1/human-tasks/{id}/respond',
|
|
5191
|
+
...options,
|
|
5192
|
+
headers: {
|
|
5193
|
+
'Content-Type': 'application/json',
|
|
5194
|
+
...options.headers
|
|
5195
|
+
}
|
|
5171
5196
|
});
|
|
5172
5197
|
/**
|
|
5173
|
-
*
|
|
5198
|
+
* Cancel a human task
|
|
5174
5199
|
*
|
|
5175
|
-
*
|
|
5200
|
+
* Cancel an open human task; only the person who started the run or an organization API key may cancel. The task becomes cancelled and the waiting workflow step raises a runtime error with code HUMAN_TASK_CANCELLED, which try/catch can catch. Open tasks are cancelled automatically when their run ends, so this call is not needed then.
|
|
5176
5201
|
*/
|
|
5177
|
-
export const
|
|
5202
|
+
export const automationHumanTasksCancel = (options) => (options.client ?? client).post({
|
|
5178
5203
|
security: [{
|
|
5179
|
-
key: '
|
|
5204
|
+
key: 'BearerAuth',
|
|
5180
5205
|
scheme: 'bearer',
|
|
5181
5206
|
type: 'http'
|
|
5207
|
+
}, {
|
|
5208
|
+
key: 'ApiKeyAuth',
|
|
5209
|
+
name: 'X-API-Key',
|
|
5210
|
+
type: 'apiKey'
|
|
5182
5211
|
}],
|
|
5183
|
-
url: '/
|
|
5184
|
-
...options
|
|
5212
|
+
url: '/automation/v1/human-tasks/{id}/cancel',
|
|
5213
|
+
...options,
|
|
5214
|
+
headers: {
|
|
5215
|
+
'Content-Type': 'application/json',
|
|
5216
|
+
...options.headers
|
|
5217
|
+
}
|
|
5185
5218
|
});
|
|
5186
5219
|
/**
|
|
5187
|
-
*
|
|
5220
|
+
* Delegate a human task
|
|
5188
5221
|
*
|
|
5189
|
-
*
|
|
5222
|
+
* An assignee who has not responded hands their place to another user (to_user), replacing their entry in assignees.users in place, so sequential order is kept. The new user cannot already be an assignee, nor the initiator unless self-approval is allowed. The task must still be open.
|
|
5190
5223
|
*/
|
|
5191
|
-
export const
|
|
5224
|
+
export const automationHumanTasksDelegate = (options) => (options.client ?? client).post({
|
|
5192
5225
|
security: [{
|
|
5193
|
-
key: '
|
|
5226
|
+
key: 'BearerAuth',
|
|
5194
5227
|
scheme: 'bearer',
|
|
5195
5228
|
type: 'http'
|
|
5229
|
+
}, {
|
|
5230
|
+
key: 'ApiKeyAuth',
|
|
5231
|
+
name: 'X-API-Key',
|
|
5232
|
+
type: 'apiKey'
|
|
5196
5233
|
}],
|
|
5197
|
-
url: '/
|
|
5234
|
+
url: '/automation/v1/human-tasks/{id}/delegate',
|
|
5198
5235
|
...options,
|
|
5199
5236
|
headers: {
|
|
5200
5237
|
'Content-Type': 'application/json',
|
|
@@ -5202,59 +5239,57 @@ export const databaseUpdateDatabase = (options) => (options.client ?? client).pa
|
|
|
5202
5239
|
}
|
|
5203
5240
|
});
|
|
5204
5241
|
/**
|
|
5205
|
-
*
|
|
5242
|
+
* List script vault bindings
|
|
5206
5243
|
*
|
|
5207
|
-
*
|
|
5244
|
+
* Inspect the whole vaults attached to a saved script, including archived definitions, without reading secret values. Obtain ns and name from automation.scripts.list. Bindings belong to the definition rather than a published version. When vault or secret metadata cannot be read, the binding remains visible with secrets: [] and secrets_unavailable: true.
|
|
5208
5245
|
*/
|
|
5209
|
-
export const
|
|
5246
|
+
export const automationScriptsVaultsList = (options) => (options.client ?? client).get({
|
|
5210
5247
|
security: [{
|
|
5211
|
-
key: '
|
|
5248
|
+
key: 'BearerAuth',
|
|
5212
5249
|
scheme: 'bearer',
|
|
5213
5250
|
type: 'http'
|
|
5251
|
+
}, {
|
|
5252
|
+
key: 'ApiKeyAuth',
|
|
5253
|
+
name: 'X-API-Key',
|
|
5254
|
+
type: 'apiKey'
|
|
5214
5255
|
}],
|
|
5215
|
-
url: '/
|
|
5256
|
+
url: '/automation/v1/scripts/{ns}/{name}/vaults',
|
|
5216
5257
|
...options
|
|
5217
5258
|
});
|
|
5218
5259
|
/**
|
|
5219
|
-
*
|
|
5260
|
+
* Delete a script vault binding
|
|
5220
5261
|
*
|
|
5221
|
-
*
|
|
5262
|
+
* Remove the vault assignment from this saved script without deleting the vault or its secrets. Obtain aliases from automation.scripts.vaults.list. Repeating deletion of an absent alias on an existing definition succeeds. Bindings also disappear when the definition is permanently deleted, while archival retains them.
|
|
5222
5263
|
*/
|
|
5223
|
-
export const
|
|
5264
|
+
export const automationScriptsVaultsDelete = (options) => (options.client ?? client).delete({
|
|
5224
5265
|
security: [{
|
|
5225
|
-
key: '
|
|
5226
|
-
scheme: 'bearer',
|
|
5227
|
-
type: 'http'
|
|
5228
|
-
}],
|
|
5229
|
-
url: '/database/v1/databases/{database_id}/purge',
|
|
5230
|
-
...options
|
|
5231
|
-
});
|
|
5232
|
-
/**
|
|
5233
|
-
* List tables
|
|
5234
|
-
*
|
|
5235
|
-
* Lists every table of an active database with its field definitions. A database holds at most 50 tables, so the single page contains all of them and next_cursor is always null. Use databaseGetTable instead when you also need row_count for one table.
|
|
5236
|
-
*/
|
|
5237
|
-
export const databaseListTables = (options) => (options.client ?? client).get({
|
|
5238
|
-
security: [{
|
|
5239
|
-
key: 'database-bearerAuth',
|
|
5266
|
+
key: 'BearerAuth',
|
|
5240
5267
|
scheme: 'bearer',
|
|
5241
5268
|
type: 'http'
|
|
5269
|
+
}, {
|
|
5270
|
+
key: 'ApiKeyAuth',
|
|
5271
|
+
name: 'X-API-Key',
|
|
5272
|
+
type: 'apiKey'
|
|
5242
5273
|
}],
|
|
5243
|
-
url: '/
|
|
5274
|
+
url: '/automation/v1/scripts/{ns}/{name}/vaults/{alias}',
|
|
5244
5275
|
...options
|
|
5245
5276
|
});
|
|
5246
5277
|
/**
|
|
5247
|
-
*
|
|
5278
|
+
* Set a script vault binding
|
|
5248
5279
|
*
|
|
5249
|
-
*
|
|
5280
|
+
* Attach an entire active vault in your organization to a saved script, or replace the vault at an existing alias. Obtain the vault ID or display name from praxis.vault.vaults.list; ambiguous names require an ID. Bindings are independent of published versions and survive archival. The same vault cannot be assigned to two aliases on one definition. Repeating the same assignment is idempotent. Example body: {"vault":"Production"}.
|
|
5250
5281
|
*/
|
|
5251
|
-
export const
|
|
5282
|
+
export const automationScriptsVaultsSet = (options) => (options.client ?? client).put({
|
|
5252
5283
|
security: [{
|
|
5253
|
-
key: '
|
|
5284
|
+
key: 'BearerAuth',
|
|
5254
5285
|
scheme: 'bearer',
|
|
5255
5286
|
type: 'http'
|
|
5287
|
+
}, {
|
|
5288
|
+
key: 'ApiKeyAuth',
|
|
5289
|
+
name: 'X-API-Key',
|
|
5290
|
+
type: 'apiKey'
|
|
5256
5291
|
}],
|
|
5257
|
-
url: '/
|
|
5292
|
+
url: '/automation/v1/scripts/{ns}/{name}/vaults/{alias}',
|
|
5258
5293
|
...options,
|
|
5259
5294
|
headers: {
|
|
5260
5295
|
'Content-Type': 'application/json',
|
|
@@ -5262,63 +5297,57 @@ export const databaseCreateTable = (options) => (options.client ?? client).post(
|
|
|
5262
5297
|
}
|
|
5263
5298
|
});
|
|
5264
5299
|
/**
|
|
5265
|
-
*
|
|
5300
|
+
* List workflow vault bindings
|
|
5266
5301
|
*
|
|
5267
|
-
*
|
|
5302
|
+
* Inspect the whole vaults attached to a saved workflow, including archived definitions, without reading secret values. Obtain ns and name from automation.workflows.list. Bindings belong to the definition rather than a published version. When vault or secret metadata cannot be read, the binding remains visible with secrets: [] and secrets_unavailable: true.
|
|
5268
5303
|
*/
|
|
5269
|
-
export const
|
|
5304
|
+
export const automationWorkflowsVaultsList = (options) => (options.client ?? client).get({
|
|
5270
5305
|
security: [{
|
|
5271
|
-
key: '
|
|
5306
|
+
key: 'BearerAuth',
|
|
5272
5307
|
scheme: 'bearer',
|
|
5273
5308
|
type: 'http'
|
|
5309
|
+
}, {
|
|
5310
|
+
key: 'ApiKeyAuth',
|
|
5311
|
+
name: 'X-API-Key',
|
|
5312
|
+
type: 'apiKey'
|
|
5274
5313
|
}],
|
|
5275
|
-
url: '/
|
|
5314
|
+
url: '/automation/v1/workflows/{ns}/{name}/vaults',
|
|
5276
5315
|
...options
|
|
5277
5316
|
});
|
|
5278
5317
|
/**
|
|
5279
|
-
*
|
|
5318
|
+
* Delete a workflow vault binding
|
|
5280
5319
|
*
|
|
5281
|
-
*
|
|
5320
|
+
* Remove the vault assignment from this saved workflow without deleting the vault or its secrets. Obtain aliases from automation.workflows.vaults.list. Repeating deletion of an absent alias on an existing definition succeeds. Bindings also disappear when the definition is permanently deleted, while archival retains them.
|
|
5282
5321
|
*/
|
|
5283
|
-
export const
|
|
5322
|
+
export const automationWorkflowsVaultsDelete = (options) => (options.client ?? client).delete({
|
|
5284
5323
|
security: [{
|
|
5285
|
-
key: '
|
|
5324
|
+
key: 'BearerAuth',
|
|
5286
5325
|
scheme: 'bearer',
|
|
5287
5326
|
type: 'http'
|
|
5327
|
+
}, {
|
|
5328
|
+
key: 'ApiKeyAuth',
|
|
5329
|
+
name: 'X-API-Key',
|
|
5330
|
+
type: 'apiKey'
|
|
5288
5331
|
}],
|
|
5289
|
-
url: '/
|
|
5332
|
+
url: '/automation/v1/workflows/{ns}/{name}/vaults/{alias}',
|
|
5290
5333
|
...options
|
|
5291
5334
|
});
|
|
5292
5335
|
/**
|
|
5293
|
-
*
|
|
5294
|
-
*
|
|
5295
|
-
* Renames a table and/or changes its description; send only the keys to change, and send description null to clear it. The new name must follow ^[a-z_][a-z0-9_]{0,62}$ and be unused (409 UNIQUE_VIOLATION); ids are stable, so renaming never rewrites row data. A body with no changes or values equal to the current ones does not bump schema_revision. Fields cannot be changed here; use databaseAddField, databaseUpdateField and databaseDeleteField.
|
|
5296
|
-
*/
|
|
5297
|
-
export const databaseUpdateTable = (options) => (options.client ?? client).patch({
|
|
5298
|
-
security: [{
|
|
5299
|
-
key: 'database-bearerAuth',
|
|
5300
|
-
scheme: 'bearer',
|
|
5301
|
-
type: 'http'
|
|
5302
|
-
}],
|
|
5303
|
-
url: '/database/v1/databases/{database_id}/tables/{table}',
|
|
5304
|
-
...options,
|
|
5305
|
-
headers: {
|
|
5306
|
-
'Content-Type': 'application/json',
|
|
5307
|
-
...options.headers
|
|
5308
|
-
}
|
|
5309
|
-
});
|
|
5310
|
-
/**
|
|
5311
|
-
* Add field
|
|
5336
|
+
* Set a workflow vault binding
|
|
5312
5337
|
*
|
|
5313
|
-
*
|
|
5338
|
+
* Attach an entire active vault in your organization to a saved workflow, or replace the vault at an existing alias. Obtain the vault ID or display name from praxis.vault.vaults.list; ambiguous names require an ID. Bindings are independent of published versions and survive archival. The same vault cannot be assigned to two aliases on one definition. Repeating the same assignment is idempotent. Example body: {"vault":"Production"}.
|
|
5314
5339
|
*/
|
|
5315
|
-
export const
|
|
5340
|
+
export const automationWorkflowsVaultsSet = (options) => (options.client ?? client).put({
|
|
5316
5341
|
security: [{
|
|
5317
|
-
key: '
|
|
5342
|
+
key: 'BearerAuth',
|
|
5318
5343
|
scheme: 'bearer',
|
|
5319
5344
|
type: 'http'
|
|
5345
|
+
}, {
|
|
5346
|
+
key: 'ApiKeyAuth',
|
|
5347
|
+
name: 'X-API-Key',
|
|
5348
|
+
type: 'apiKey'
|
|
5320
5349
|
}],
|
|
5321
|
-
url: '/
|
|
5350
|
+
url: '/automation/v1/workflows/{ns}/{name}/vaults/{alias}',
|
|
5322
5351
|
...options,
|
|
5323
5352
|
headers: {
|
|
5324
5353
|
'Content-Type': 'application/json',
|
|
@@ -5326,125 +5355,149 @@ export const databaseAddField = (options) => (options.client ?? client).post({
|
|
|
5326
5355
|
}
|
|
5327
5356
|
});
|
|
5328
5357
|
/**
|
|
5329
|
-
*
|
|
5358
|
+
* List canvases
|
|
5330
5359
|
*
|
|
5331
|
-
*
|
|
5360
|
+
* Discover canvases in the API key's organization and obtain ids for retrieval or editing. Results are ordered by updated_at from newest to oldest. limit is 1–100 and defaults to 50; omit cursor for the first page, then copy next_cursor into the next request until it is null. Deleted canvases are unavailable.
|
|
5332
5361
|
*/
|
|
5333
|
-
export const
|
|
5362
|
+
export const canvasListCanvases = (options) => (options?.client ?? client).get({
|
|
5334
5363
|
security: [{
|
|
5335
|
-
key: '
|
|
5364
|
+
key: 'canvas-bearerAuth',
|
|
5336
5365
|
scheme: 'bearer',
|
|
5337
5366
|
type: 'http'
|
|
5338
5367
|
}],
|
|
5339
|
-
url: '/
|
|
5368
|
+
url: '/canvas/v1/canvases',
|
|
5340
5369
|
...options
|
|
5341
5370
|
});
|
|
5342
5371
|
/**
|
|
5343
|
-
*
|
|
5372
|
+
* Create canvas
|
|
5344
5373
|
*
|
|
5345
|
-
*
|
|
5374
|
+
* Create a blank design canvas in the API key's organization before drawing with praxis.canvas.canvases.execute. Send an optional name of at most 200 characters; omitting name uses Untitled. Each successful call creates a new canvas and returns its id and viewer_url with HTTP 201; save the id for subsequent reads, edits and deletion.
|
|
5346
5375
|
*/
|
|
5347
|
-
export const
|
|
5376
|
+
export const canvasCreateCanvas = (options) => (options?.client ?? client).post({
|
|
5348
5377
|
security: [{
|
|
5349
|
-
key: '
|
|
5378
|
+
key: 'canvas-bearerAuth',
|
|
5350
5379
|
scheme: 'bearer',
|
|
5351
5380
|
type: 'http'
|
|
5352
5381
|
}],
|
|
5353
|
-
url: '/
|
|
5382
|
+
url: '/canvas/v1/canvases',
|
|
5354
5383
|
...options,
|
|
5355
5384
|
headers: {
|
|
5356
5385
|
'Content-Type': 'application/json',
|
|
5357
|
-
...options
|
|
5386
|
+
...options?.headers
|
|
5358
5387
|
}
|
|
5359
5388
|
});
|
|
5360
5389
|
/**
|
|
5361
|
-
*
|
|
5390
|
+
* Delete canvas
|
|
5362
5391
|
*
|
|
5363
|
-
*
|
|
5392
|
+
* Permanently delete a canvas and its design content when it is no longer needed. Obtain canvas_id from create or list and confirm the target before calling; deletion cannot be undone. HTTP 200 confirms deletion with deleted=true. Subsequent access returns CANVAS_NOT_FOUND, as it does for a missing canvas or one outside the API key's organization.
|
|
5364
5393
|
*/
|
|
5365
|
-
export const
|
|
5394
|
+
export const canvasDeleteCanvas = (options) => (options.client ?? client).delete({
|
|
5366
5395
|
security: [{
|
|
5367
|
-
key: '
|
|
5396
|
+
key: 'canvas-bearerAuth',
|
|
5368
5397
|
scheme: 'bearer',
|
|
5369
5398
|
type: 'http'
|
|
5370
5399
|
}],
|
|
5371
|
-
url: '/
|
|
5400
|
+
url: '/canvas/v1/canvases/{canvas_id}',
|
|
5372
5401
|
...options
|
|
5373
5402
|
});
|
|
5374
5403
|
/**
|
|
5375
|
-
*
|
|
5404
|
+
* Retrieve canvas
|
|
5376
5405
|
*
|
|
5377
|
-
*
|
|
5406
|
+
* Inspect the current canvas before editing, like Pencil get_app_state. The response adds top-level node summaries in canvas order and reusable component ids to the canvas metadata. Use these ids in nodes.list, images.list or an execute script; use the returned version as expected_version to detect concurrent edits. Read full node content with nodes.list rather than guessing fields from these summaries.
|
|
5378
5407
|
*/
|
|
5379
|
-
export const
|
|
5408
|
+
export const canvasRetrieveCanvas = (options) => (options.client ?? client).get({
|
|
5380
5409
|
security: [{
|
|
5381
|
-
key: '
|
|
5410
|
+
key: 'canvas-bearerAuth',
|
|
5382
5411
|
scheme: 'bearer',
|
|
5383
5412
|
type: 'http'
|
|
5384
5413
|
}],
|
|
5385
|
-
url: '/
|
|
5414
|
+
url: '/canvas/v1/canvases/{canvas_id}',
|
|
5386
5415
|
...options
|
|
5387
5416
|
});
|
|
5388
5417
|
/**
|
|
5389
|
-
*
|
|
5418
|
+
* Update canvas
|
|
5390
5419
|
*
|
|
5391
|
-
*
|
|
5420
|
+
* Rename a canvas or move it to a collection without editing its design content. Use a canvas id from canvases.list and a collection id from collections.list. Send collection_id=null to make it uncategorized; omit either field to preserve its current value. A canvas belongs to at most one collection. The destination must belong to your organization. Renaming keeps the canvas version unchanged.
|
|
5392
5421
|
*/
|
|
5393
|
-
export const
|
|
5422
|
+
export const canvasUpdateCanvas = (options) => (options.client ?? client).patch({
|
|
5394
5423
|
security: [{
|
|
5395
|
-
key: '
|
|
5424
|
+
key: 'BearerAuth',
|
|
5396
5425
|
scheme: 'bearer',
|
|
5397
5426
|
type: 'http'
|
|
5427
|
+
}, {
|
|
5428
|
+
key: 'ApiKeyAuth',
|
|
5429
|
+
name: 'X-API-Key',
|
|
5430
|
+
type: 'apiKey'
|
|
5398
5431
|
}],
|
|
5399
|
-
url: '/
|
|
5400
|
-
...options
|
|
5432
|
+
url: '/canvas/v1/canvases/{canvas_id}',
|
|
5433
|
+
...options,
|
|
5434
|
+
headers: {
|
|
5435
|
+
'Content-Type': 'application/json',
|
|
5436
|
+
...options.headers
|
|
5437
|
+
}
|
|
5401
5438
|
});
|
|
5402
5439
|
/**
|
|
5403
|
-
*
|
|
5440
|
+
* Read canvas nodes
|
|
5404
5441
|
*
|
|
5405
|
-
*
|
|
5442
|
+
* Read node documents for inspection before changing individual nodes. Supply 1–100 comma-separated node ids from retrieve or execute, or instance paths such as a/b. depth is an integer at least 0; omit it for complete subtrees. Each requested id maps to a document wrapper or null if absent. Unlike Figma, document contains a Pencil .pen 2.21 node, not a Figma node. For top-level summaries use canvases.retrieve; for pixels use images.list.
|
|
5406
5443
|
*/
|
|
5407
|
-
export const
|
|
5444
|
+
export const canvasListNodes = (options) => (options.client ?? client).get({
|
|
5408
5445
|
security: [{
|
|
5409
|
-
key: '
|
|
5446
|
+
key: 'canvas-bearerAuth',
|
|
5410
5447
|
scheme: 'bearer',
|
|
5411
5448
|
type: 'http'
|
|
5412
5449
|
}],
|
|
5413
|
-
url: '/
|
|
5450
|
+
url: '/canvas/v1/canvases/{canvas_id}/nodes',
|
|
5414
5451
|
...options
|
|
5415
5452
|
});
|
|
5416
5453
|
/**
|
|
5417
|
-
*
|
|
5454
|
+
* Render canvas nodes
|
|
5418
5455
|
*
|
|
5419
|
-
*
|
|
5456
|
+
* Render 1–4 nodes to inspect the visual result of a design edit. Use ids from retrieve, execute.created or execute.screenshots; scale defaults to 1 and accepts 0.25–4, and png is the only supported format. Unlike Figma, images contains inline data:image/png;base64,... URLs, not hosted image URLs; a null entry means no image is available for that id. Use nodes.list for editable node content instead of pixels.
|
|
5420
5457
|
*/
|
|
5421
|
-
export const
|
|
5458
|
+
export const canvasListImages = (options) => (options.client ?? client).get({
|
|
5422
5459
|
security: [{
|
|
5423
|
-
key: '
|
|
5460
|
+
key: 'canvas-bearerAuth',
|
|
5424
5461
|
scheme: 'bearer',
|
|
5425
5462
|
type: 'http'
|
|
5426
5463
|
}],
|
|
5427
|
-
url: '/
|
|
5428
|
-
...options
|
|
5429
|
-
headers: {
|
|
5430
|
-
'Content-Type': 'application/json',
|
|
5431
|
-
...options.headers
|
|
5432
|
-
}
|
|
5464
|
+
url: '/canvas/v1/canvases/{canvas_id}/images',
|
|
5465
|
+
...options
|
|
5433
5466
|
});
|
|
5434
5467
|
/**
|
|
5435
|
-
*
|
|
5468
|
+
* Execute canvas script
|
|
5469
|
+
*
|
|
5470
|
+
* Draw or edit a canvas atomically with a synchronous Pencil execute script. First create a canvas with praxis.canvas.canvases.create and use its id as canvas_id; inspect an existing canvas with retrieve before modifying it. Send exactly one of script (new source) or edit_id (a failed script to patch using edits). Unlike Figma REST, :execute writes design content; nodes use Pencil .pen schema 2.21 (frame/group/rectangle/ellipse/polygon/path/text/icon/ref/note), not Figma node fields.
|
|
5471
|
+
*
|
|
5472
|
+
* The root variable is document. Synchronous functions are Insert / Copy / Update / Replace / Move / Delete / SetVariables / Get / GetVariables / FindEmptySpace / Print / TakeScreenshot; globals persist for the next call. A first frame needs only this body.script:
|
|
5473
|
+
*
|
|
5474
|
+
* ```js
|
|
5475
|
+
* const f = Insert(document, { type: "frame", name: "Hero", width: 1200, layout: "vertical", padding: 48, fill: "#FFFFFF" }); Insert(f, { type: "text", content: "Hello", fontSize: 32, fill: "#111111" }); Print(f)
|
|
5476
|
+
* ```
|
|
5477
|
+
*
|
|
5478
|
+
* Insert/Copy return the new node id; read the copy with Get(id) — copied descendants get new ids, so change them through Copy's third argument `descendants` keyed by the source node ids. To copy a page and change its title in the same script:
|
|
5479
|
+
*
|
|
5480
|
+
* ```js canvas-example="copy-page"
|
|
5481
|
+
* const page = Insert(document, {type:"frame",name:"Original",width:320,height:160,layout:"vertical",padding:16});
|
|
5482
|
+
* const title = Insert(page, {type:"text",name:"Title",content:"Original",fontSize:24});
|
|
5483
|
+
* const copy = Copy(page, document, {name:"Copy",x:360,descendants:{[title]:{content:"Updated"}}});
|
|
5484
|
+
* Print(copy); Print(Get(copy).children[0].content);
|
|
5485
|
+
* ```
|
|
5486
|
+
*
|
|
5487
|
+
* Use viewer_url to watch the result in Console. TakeScreenshot records node ids in screenshots; call images.list with those ids to fetch PNG data URLs. See the [Canvas execute reference](https://deepraxis.com/en/docs/api/native/canvas/execute) for request fields and results, and the [Canvas node reference](https://deepraxis.com/en/docs/developers/canvas/nodes) for node content.
|
|
5488
|
+
*
|
|
5489
|
+
* A successful write increments version by one. Optionally set expected_version to the version from retrieve or nodes.list; on 409 REVISION_CONFLICT read again, merge your intent and retry with the current version. Every script failure rolls back all writes. On 400 SCRIPT_ERROR, SCRIPT_LIMIT or OPS_REJECTED, use error.details.edit_id plus edits to repair and rerun the stored source without resending the entire script; details may include line, column and rejection. On 400 EDIT_EXPIRED the saved script is older than ten minutes: submit a corrected new script. On 429 CANVAS_BUSY, more than four calls are queued for this canvas: wait for pending calls before retrying.
|
|
5490
|
+
*
|
|
5491
|
+
* Execution errors include error.details.prints containing output printed before failure, with the same string-array shape and output limit as successful prints; rolled-back writes still create no version.
|
|
5436
5492
|
*
|
|
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.
|
|
5438
|
-
* Rows are filled to the union of their keys with null; send Prefer: missing=default to use field defaults for missing keys.
|
|
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.
|
|
5440
5493
|
*/
|
|
5441
|
-
export const
|
|
5494
|
+
export const canvasExecute = (options) => (options.client ?? client).post({
|
|
5442
5495
|
security: [{
|
|
5443
|
-
key: '
|
|
5496
|
+
key: 'canvas-bearerAuth',
|
|
5444
5497
|
scheme: 'bearer',
|
|
5445
5498
|
type: 'http'
|
|
5446
5499
|
}],
|
|
5447
|
-
url: '/
|
|
5500
|
+
url: '/canvas/v1/canvases/{canvas_id}:execute',
|
|
5448
5501
|
...options,
|
|
5449
5502
|
headers: {
|
|
5450
5503
|
'Content-Type': 'application/json',
|
|
@@ -5452,31 +5505,39 @@ export const databaseInsert = (options) => (options.client ?? client).post({
|
|
|
5452
5505
|
}
|
|
5453
5506
|
});
|
|
5454
5507
|
/**
|
|
5455
|
-
* List
|
|
5508
|
+
* List collections
|
|
5456
5509
|
*
|
|
5457
|
-
*
|
|
5510
|
+
* Find collections and ids for filtering or moving canvases. All organization collections are returned in name order in one response; next_cursor is always null. canvas_count excludes deleted canvases. total_count counts all live canvases, rather than collections, and uncategorized_count counts live canvases without a collection. Use canvases.list with collection_id to read a collection or none to read uncategorized canvases.
|
|
5458
5511
|
*/
|
|
5459
|
-
export const
|
|
5512
|
+
export const canvasListCollections = (options) => (options?.client ?? client).get({
|
|
5460
5513
|
security: [{
|
|
5461
|
-
key: '
|
|
5514
|
+
key: 'BearerAuth',
|
|
5462
5515
|
scheme: 'bearer',
|
|
5463
5516
|
type: 'http'
|
|
5517
|
+
}, {
|
|
5518
|
+
key: 'ApiKeyAuth',
|
|
5519
|
+
name: 'X-API-Key',
|
|
5520
|
+
type: 'apiKey'
|
|
5464
5521
|
}],
|
|
5465
|
-
url: '/
|
|
5522
|
+
url: '/canvas/v1/collections',
|
|
5466
5523
|
...options
|
|
5467
5524
|
});
|
|
5468
5525
|
/**
|
|
5469
|
-
* Create
|
|
5526
|
+
* Create collection
|
|
5470
5527
|
*
|
|
5471
|
-
*
|
|
5528
|
+
* Organize canvases by creating a one-level collection in your organization. Send a name of 1–100 characters after trimming; duplicate names are allowed. Each call creates a new collection, initially containing no canvases. Use canvases.update with its id as collection_id to move existing canvases into it. Collections cannot be nested and an organization can have at most 200.
|
|
5472
5529
|
*/
|
|
5473
|
-
export const
|
|
5530
|
+
export const canvasCreateCollection = (options) => (options.client ?? client).post({
|
|
5474
5531
|
security: [{
|
|
5475
|
-
key: '
|
|
5532
|
+
key: 'BearerAuth',
|
|
5476
5533
|
scheme: 'bearer',
|
|
5477
5534
|
type: 'http'
|
|
5535
|
+
}, {
|
|
5536
|
+
key: 'ApiKeyAuth',
|
|
5537
|
+
name: 'X-API-Key',
|
|
5538
|
+
type: 'apiKey'
|
|
5478
5539
|
}],
|
|
5479
|
-
url: '/
|
|
5540
|
+
url: '/canvas/v1/collections',
|
|
5480
5541
|
...options,
|
|
5481
5542
|
headers: {
|
|
5482
5543
|
'Content-Type': 'application/json',
|
|
@@ -5484,45 +5545,57 @@ export const knowledgeCreateVectorStore = (options) => (options.client ?? client
|
|
|
5484
5545
|
}
|
|
5485
5546
|
});
|
|
5486
5547
|
/**
|
|
5487
|
-
* Delete
|
|
5548
|
+
* Delete collection
|
|
5488
5549
|
*
|
|
5489
|
-
* Remove a
|
|
5550
|
+
* Remove a collection using an id from collections.list. All its canvases are preserved and become uncategorized, with collection_id set to null; read them using canvases.list with collection_id=none. The removed collection cannot be retrieved again, and repeating deletion returns COLLECTION_NOT_FOUND.
|
|
5490
5551
|
*/
|
|
5491
|
-
export const
|
|
5552
|
+
export const canvasDeleteCollection = (options) => (options.client ?? client).delete({
|
|
5492
5553
|
security: [{
|
|
5493
|
-
key: '
|
|
5554
|
+
key: 'BearerAuth',
|
|
5494
5555
|
scheme: 'bearer',
|
|
5495
5556
|
type: 'http'
|
|
5557
|
+
}, {
|
|
5558
|
+
key: 'ApiKeyAuth',
|
|
5559
|
+
name: 'X-API-Key',
|
|
5560
|
+
type: 'apiKey'
|
|
5496
5561
|
}],
|
|
5497
|
-
url: '/
|
|
5562
|
+
url: '/canvas/v1/collections/{collection_id}',
|
|
5498
5563
|
...options
|
|
5499
5564
|
});
|
|
5500
5565
|
/**
|
|
5501
|
-
* Retrieve
|
|
5566
|
+
* Retrieve collection
|
|
5502
5567
|
*
|
|
5503
|
-
*
|
|
5568
|
+
* Inspect one collection and its current live canvas count using an id from collections.list or collections.create. The collection must belong to the API key organization. To read its canvases, pass the same id as collection_id to canvases.list; this response contains collection metadata only.
|
|
5504
5569
|
*/
|
|
5505
|
-
export const
|
|
5570
|
+
export const canvasRetrieveCollection = (options) => (options.client ?? client).get({
|
|
5506
5571
|
security: [{
|
|
5507
|
-
key: '
|
|
5572
|
+
key: 'BearerAuth',
|
|
5508
5573
|
scheme: 'bearer',
|
|
5509
5574
|
type: 'http'
|
|
5575
|
+
}, {
|
|
5576
|
+
key: 'ApiKeyAuth',
|
|
5577
|
+
name: 'X-API-Key',
|
|
5578
|
+
type: 'apiKey'
|
|
5510
5579
|
}],
|
|
5511
|
-
url: '/
|
|
5580
|
+
url: '/canvas/v1/collections/{collection_id}',
|
|
5512
5581
|
...options
|
|
5513
5582
|
});
|
|
5514
5583
|
/**
|
|
5515
|
-
*
|
|
5584
|
+
* Rename collection
|
|
5516
5585
|
*
|
|
5517
|
-
*
|
|
5586
|
+
* Change the display name of a collection from collections.list without changing its id or canvas assignments. Names contain 1–100 characters after trimming and may match another collection name. This operation does not move canvases; use canvases.update with collection_id for that.
|
|
5518
5587
|
*/
|
|
5519
|
-
export const
|
|
5588
|
+
export const canvasUpdateCollection = (options) => (options.client ?? client).patch({
|
|
5520
5589
|
security: [{
|
|
5521
|
-
key: '
|
|
5590
|
+
key: 'BearerAuth',
|
|
5522
5591
|
scheme: 'bearer',
|
|
5523
5592
|
type: 'http'
|
|
5593
|
+
}, {
|
|
5594
|
+
key: 'ApiKeyAuth',
|
|
5595
|
+
name: 'X-API-Key',
|
|
5596
|
+
type: 'apiKey'
|
|
5524
5597
|
}],
|
|
5525
|
-
url: '/
|
|
5598
|
+
url: '/canvas/v1/collections/{collection_id}',
|
|
5526
5599
|
...options,
|
|
5527
5600
|
headers: {
|
|
5528
5601
|
'Content-Type': 'application/json',
|
|
@@ -5530,17 +5603,39 @@ export const knowledgeUpdateVectorStore = (options) => (options.client ?? client
|
|
|
5530
5603
|
}
|
|
5531
5604
|
});
|
|
5532
5605
|
/**
|
|
5533
|
-
*
|
|
5606
|
+
* List canvas versions
|
|
5534
5607
|
*
|
|
5535
|
-
*
|
|
5608
|
+
* Inspect retained edits before restoring a canvas or reading historical nodes and images. Supply a canvas_id from canvases.list or create. Results include successful execute, import and restore commits since history was enabled, newest first. limit is 1–100 and defaults to 30; pass next_cursor as cursor until it is null. All versions from the last 30 days are retained unless the 256 MiB history budget requires pruning; the newest 100 versions are always retained regardless of age or size. earliest_restorable_version is the oldest readable and restorable version, including the state immediately before the first retained commit; null means no history has been recorded. Listing does not change the canvas.
|
|
5536
5609
|
*/
|
|
5537
|
-
export const
|
|
5610
|
+
export const canvasListVersions = (options) => (options.client ?? client).get({
|
|
5538
5611
|
security: [{
|
|
5539
|
-
key: '
|
|
5612
|
+
key: 'BearerAuth',
|
|
5540
5613
|
scheme: 'bearer',
|
|
5541
5614
|
type: 'http'
|
|
5615
|
+
}, {
|
|
5616
|
+
key: 'ApiKeyAuth',
|
|
5617
|
+
name: 'X-API-Key',
|
|
5618
|
+
type: 'apiKey'
|
|
5542
5619
|
}],
|
|
5543
|
-
url: '/
|
|
5620
|
+
url: '/canvas/v1/canvases/{canvas_id}/versions',
|
|
5621
|
+
...options
|
|
5622
|
+
});
|
|
5623
|
+
/**
|
|
5624
|
+
* Restore canvas version
|
|
5625
|
+
*
|
|
5626
|
+
* Recover a canvas after an unwanted edit by restoring a retained version from versions.list or its earliest_restorable_version. This replaces current nodes, variables and themes with the target state and creates one new version; history remains available, so restoring can itself be undone with another restore. Restoring the current version succeeds without creating a version. Optionally guard the write with expected_version from retrieve or nodes.list; if it is stale, inspect current state and retry with the new value. Repeating an unguarded request after another edit can create another restore version. Versions from before history was enabled or outside retention cannot be recovered. Connected viewers resync after a successful restore.
|
|
5627
|
+
*/
|
|
5628
|
+
export const canvasRestoreCanvas = (options) => (options.client ?? client).post({
|
|
5629
|
+
security: [{
|
|
5630
|
+
key: 'BearerAuth',
|
|
5631
|
+
scheme: 'bearer',
|
|
5632
|
+
type: 'http'
|
|
5633
|
+
}, {
|
|
5634
|
+
key: 'ApiKeyAuth',
|
|
5635
|
+
name: 'X-API-Key',
|
|
5636
|
+
type: 'apiKey'
|
|
5637
|
+
}],
|
|
5638
|
+
url: '/canvas/v1/canvases/{canvas_id}:restore',
|
|
5544
5639
|
...options,
|
|
5545
5640
|
headers: {
|
|
5546
5641
|
'Content-Type': 'application/json',
|
|
@@ -5548,31 +5643,39 @@ export const knowledgeSearchVectorStore = (options) => (options.client ?? client
|
|
|
5548
5643
|
}
|
|
5549
5644
|
});
|
|
5550
5645
|
/**
|
|
5551
|
-
* List
|
|
5646
|
+
* List projects
|
|
5552
5647
|
*
|
|
5553
|
-
*
|
|
5648
|
+
* Discover projects owned by the API key organization and obtain project_id values. Results default to active projects ordered by updateTime descending; use filter state = "deleted" to find retained deleted projects for undelete. Continue with next_page_token as page_token until the token is absent.
|
|
5554
5649
|
*/
|
|
5555
|
-
export const
|
|
5650
|
+
export const cutListProjects = (options) => (options?.client ?? client).get({
|
|
5556
5651
|
security: [{
|
|
5557
|
-
key: '
|
|
5652
|
+
key: 'BearerAuth',
|
|
5558
5653
|
scheme: 'bearer',
|
|
5559
5654
|
type: 'http'
|
|
5655
|
+
}, {
|
|
5656
|
+
key: 'ApiKeyAuth',
|
|
5657
|
+
name: 'X-API-Key',
|
|
5658
|
+
type: 'apiKey'
|
|
5560
5659
|
}],
|
|
5561
|
-
url: '/
|
|
5660
|
+
url: '/cut/v1/projects',
|
|
5562
5661
|
...options
|
|
5563
5662
|
});
|
|
5564
5663
|
/**
|
|
5565
|
-
*
|
|
5664
|
+
* Create project
|
|
5566
5665
|
*
|
|
5567
|
-
*
|
|
5666
|
+
* Create a blank editing project in the API key organization before writing a script. First obtain accessible library ids from praxis.media; bindings must include exactly one read_write library with default_upload true. Each call creates a new project and returns HTTP 201; save its id for execute, state and timeline calls. All editing positions use seconds.
|
|
5568
5667
|
*/
|
|
5569
|
-
export const
|
|
5668
|
+
export const cutCreateProject = (options) => (options.client ?? client).post({
|
|
5570
5669
|
security: [{
|
|
5571
|
-
key: '
|
|
5670
|
+
key: 'BearerAuth',
|
|
5572
5671
|
scheme: 'bearer',
|
|
5573
5672
|
type: 'http'
|
|
5673
|
+
}, {
|
|
5674
|
+
key: 'ApiKeyAuth',
|
|
5675
|
+
name: 'X-API-Key',
|
|
5676
|
+
type: 'apiKey'
|
|
5574
5677
|
}],
|
|
5575
|
-
url: '/
|
|
5678
|
+
url: '/cut/v1/projects',
|
|
5576
5679
|
...options,
|
|
5577
5680
|
headers: {
|
|
5578
5681
|
'Content-Type': 'application/json',
|
|
@@ -5580,45 +5683,57 @@ export const knowledgeAttachFile = (options) => (options.client ?? client).post(
|
|
|
5580
5683
|
}
|
|
5581
5684
|
});
|
|
5582
5685
|
/**
|
|
5583
|
-
*
|
|
5686
|
+
* Delete project
|
|
5584
5687
|
*
|
|
5585
|
-
*
|
|
5688
|
+
* Soft-delete a project selected from projects.list. The project is retained for seven days until purge_time and can be restored with undelete before that deadline. Deleted projects cannot be edited; list with filter state = "deleted" to locate retained projects.
|
|
5586
5689
|
*/
|
|
5587
|
-
export const
|
|
5690
|
+
export const cutDeleteProject = (options) => (options.client ?? client).delete({
|
|
5588
5691
|
security: [{
|
|
5589
|
-
key: '
|
|
5692
|
+
key: 'BearerAuth',
|
|
5590
5693
|
scheme: 'bearer',
|
|
5591
5694
|
type: 'http'
|
|
5695
|
+
}, {
|
|
5696
|
+
key: 'ApiKeyAuth',
|
|
5697
|
+
name: 'X-API-Key',
|
|
5698
|
+
type: 'apiKey'
|
|
5592
5699
|
}],
|
|
5593
|
-
url: '/
|
|
5700
|
+
url: '/cut/v1/projects/{project_id}',
|
|
5594
5701
|
...options
|
|
5595
5702
|
});
|
|
5596
5703
|
/**
|
|
5597
|
-
* Retrieve
|
|
5704
|
+
* Retrieve project
|
|
5598
5705
|
*
|
|
5599
|
-
*
|
|
5706
|
+
* Inspect project metadata, settings and library bindings before editing. Copy id from projects.create or list; expand=timeline,exports,versions includes selected related resources. The expanded timeline uses seconds and the returned revision can guard a later execute call with expected_revision.
|
|
5600
5707
|
*/
|
|
5601
|
-
export const
|
|
5708
|
+
export const cutRetrieveProject = (options) => (options.client ?? client).get({
|
|
5602
5709
|
security: [{
|
|
5603
|
-
key: '
|
|
5710
|
+
key: 'BearerAuth',
|
|
5604
5711
|
scheme: 'bearer',
|
|
5605
5712
|
type: 'http'
|
|
5713
|
+
}, {
|
|
5714
|
+
key: 'ApiKeyAuth',
|
|
5715
|
+
name: 'X-API-Key',
|
|
5716
|
+
type: 'apiKey'
|
|
5606
5717
|
}],
|
|
5607
|
-
url: '/
|
|
5718
|
+
url: '/cut/v1/projects/{project_id}',
|
|
5608
5719
|
...options
|
|
5609
5720
|
});
|
|
5610
5721
|
/**
|
|
5611
|
-
* Update
|
|
5722
|
+
* Update project metadata
|
|
5612
5723
|
*
|
|
5613
|
-
*
|
|
5724
|
+
* Change the project display name or replace its labels by naming those fields in update_mask. Use execute for clip or track edits. Each successful update commits a new revision; labels are replaced as a whole when selected, so read and merge existing labels before overwriting them.
|
|
5614
5725
|
*/
|
|
5615
|
-
export const
|
|
5726
|
+
export const cutUpdateProject = (options) => (options.client ?? client).patch({
|
|
5616
5727
|
security: [{
|
|
5617
|
-
key: '
|
|
5728
|
+
key: 'BearerAuth',
|
|
5618
5729
|
scheme: 'bearer',
|
|
5619
5730
|
type: 'http'
|
|
5731
|
+
}, {
|
|
5732
|
+
key: 'ApiKeyAuth',
|
|
5733
|
+
name: 'X-API-Key',
|
|
5734
|
+
type: 'apiKey'
|
|
5620
5735
|
}],
|
|
5621
|
-
url: '/
|
|
5736
|
+
url: '/cut/v1/projects/{project_id}',
|
|
5622
5737
|
...options,
|
|
5623
5738
|
headers: {
|
|
5624
5739
|
'Content-Type': 'application/json',
|
|
@@ -5626,31 +5741,45 @@ export const knowledgeUpdateFile = (options) => (options.client ?? client).post(
|
|
|
5626
5741
|
}
|
|
5627
5742
|
});
|
|
5628
5743
|
/**
|
|
5629
|
-
*
|
|
5744
|
+
* Restore deleted project
|
|
5630
5745
|
*
|
|
5631
|
-
*
|
|
5746
|
+
* Return a retained deleted project to active state before its purge_time. Obtain project_id from projects.list filtered to deleted projects. This restores the project, not an older timeline revision; use versions.restore when reverting editing content.
|
|
5632
5747
|
*/
|
|
5633
|
-
export const
|
|
5748
|
+
export const cutUndeleteProject = (options) => (options.client ?? client).post({
|
|
5634
5749
|
security: [{
|
|
5635
|
-
key: '
|
|
5750
|
+
key: 'BearerAuth',
|
|
5636
5751
|
scheme: 'bearer',
|
|
5637
5752
|
type: 'http'
|
|
5753
|
+
}, {
|
|
5754
|
+
key: 'ApiKeyAuth',
|
|
5755
|
+
name: 'X-API-Key',
|
|
5756
|
+
type: 'apiKey'
|
|
5638
5757
|
}],
|
|
5639
|
-
url: '/
|
|
5758
|
+
url: '/cut/v1/projects/{project_id}:undelete',
|
|
5640
5759
|
...options
|
|
5641
5760
|
});
|
|
5642
5761
|
/**
|
|
5643
|
-
*
|
|
5762
|
+
* Execute editing script
|
|
5644
5763
|
*
|
|
5645
|
-
*
|
|
5764
|
+
* Edit the current timeline atomically using synchronous JavaScript source. Read state or timeline first, then pass its revision as expected_revision to detect concurrent changes. Use AddTrack, Insert, Update, Delete, Split, Trim, Move, RippleDeleteRange, UpdateTrack, DeleteTrack, SetSettings, AddCaptionsFromTranscript and SetMarker for writes; GetTimeline, GetItem, FindItems, GetMedia, GetTranscript and GetAnalysis read editing context; Print emits text and Preview requests frame previews. All script times are seconds; script object fields use camelCase, for example `media: {libraryId, assetId}`. Unlike Shotstack, execute applies script edits to a persistent project in one transaction. Provide script or a saved edit_id with literal edits, never both; failures roll back writes. A revision conflict while preparing the response may follow a committed edit: retrieve state before retrying. Minimal script after creating a project:
|
|
5765
|
+
*
|
|
5766
|
+
* ```js
|
|
5767
|
+
* const t = AddTrack("video");
|
|
5768
|
+
* Insert(t, {type: "color", color: "#123456", start: 0, length: 3});
|
|
5769
|
+
* Print(t);
|
|
5770
|
+
* ```
|
|
5646
5771
|
*/
|
|
5647
|
-
export const
|
|
5772
|
+
export const cutExecute = (options) => (options.client ?? client).post({
|
|
5648
5773
|
security: [{
|
|
5649
|
-
key: '
|
|
5774
|
+
key: 'BearerAuth',
|
|
5650
5775
|
scheme: 'bearer',
|
|
5651
5776
|
type: 'http'
|
|
5777
|
+
}, {
|
|
5778
|
+
key: 'ApiKeyAuth',
|
|
5779
|
+
name: 'X-API-Key',
|
|
5780
|
+
type: 'apiKey'
|
|
5652
5781
|
}],
|
|
5653
|
-
url: '/
|
|
5782
|
+
url: '/cut/v1/projects/{project_id}:execute',
|
|
5654
5783
|
...options,
|
|
5655
5784
|
headers: {
|
|
5656
5785
|
'Content-Type': 'application/json',
|
|
@@ -5658,157 +5787,195 @@ export const knowledgeCreateFileBatch = (options) => (options.client ?? client).
|
|
|
5658
5787
|
}
|
|
5659
5788
|
});
|
|
5660
5789
|
/**
|
|
5661
|
-
*
|
|
5662
|
-
*
|
|
5663
|
-
* Retrieves a batch created in this knowledge base, including current status and file counts. Use the batch id returned by batch creation to monitor ingestion.
|
|
5664
|
-
*/
|
|
5665
|
-
export const knowledgeRetrieveFileBatch = (options) => (options.client ?? client).get({
|
|
5666
|
-
security: [{
|
|
5667
|
-
key: 'knowledge-bearerAuth',
|
|
5668
|
-
scheme: 'bearer',
|
|
5669
|
-
type: 'http'
|
|
5670
|
-
}],
|
|
5671
|
-
url: '/knowledge/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}',
|
|
5672
|
-
...options
|
|
5673
|
-
});
|
|
5674
|
-
/**
|
|
5675
|
-
* Cancel file batch
|
|
5790
|
+
* Read editing state
|
|
5676
5791
|
*
|
|
5677
|
-
*
|
|
5792
|
+
* Read lightweight project context before composing an execute script. Returns current revision, rendering settings, track counts, library bindings and offline media count without individual clips. For complete clip documents or a selected time range, read timeline instead.
|
|
5678
5793
|
*/
|
|
5679
|
-
export const
|
|
5794
|
+
export const cutRetrieveState = (options) => (options.client ?? client).get({
|
|
5680
5795
|
security: [{
|
|
5681
|
-
key: '
|
|
5796
|
+
key: 'BearerAuth',
|
|
5682
5797
|
scheme: 'bearer',
|
|
5683
5798
|
type: 'http'
|
|
5799
|
+
}, {
|
|
5800
|
+
key: 'ApiKeyAuth',
|
|
5801
|
+
name: 'X-API-Key',
|
|
5802
|
+
type: 'apiKey'
|
|
5684
5803
|
}],
|
|
5685
|
-
url: '/
|
|
5804
|
+
url: '/cut/v1/projects/{project_id}/state',
|
|
5686
5805
|
...options
|
|
5687
5806
|
});
|
|
5688
5807
|
/**
|
|
5689
|
-
*
|
|
5808
|
+
* Read project timeline
|
|
5690
5809
|
*
|
|
5691
|
-
*
|
|
5810
|
+
* Inspect clips and markers in a selected project range before editing. view=full returns structured tracks with all timeline positions in seconds; view=compact returns compact text for script context. from and to are seconds and tracks limits the selection to comma-separated track ids from state. Concurrent changes while preparing a full timeline return 409; retrieve the latest state and try the read again.
|
|
5692
5811
|
*/
|
|
5693
|
-
export const
|
|
5812
|
+
export const cutRetrieveTimeline = (options) => (options.client ?? client).get({
|
|
5694
5813
|
security: [{
|
|
5695
|
-
key: '
|
|
5814
|
+
key: 'BearerAuth',
|
|
5696
5815
|
scheme: 'bearer',
|
|
5697
5816
|
type: 'http'
|
|
5817
|
+
}, {
|
|
5818
|
+
key: 'ApiKeyAuth',
|
|
5819
|
+
name: 'X-API-Key',
|
|
5820
|
+
type: 'apiKey'
|
|
5698
5821
|
}],
|
|
5699
|
-
url: '/
|
|
5822
|
+
url: '/cut/v1/projects/{project_id}/timeline',
|
|
5700
5823
|
...options
|
|
5701
5824
|
});
|
|
5702
5825
|
/**
|
|
5703
|
-
*
|
|
5826
|
+
* Render preview frames
|
|
5704
5827
|
*
|
|
5705
|
-
*
|
|
5828
|
+
* Review the visual result at one or more project times without creating an export. Pass comma-separated seconds in at, such as 12,15.5; scale changes preview size and revision selects a committed project revision. Fetch the returned image URLs before expires_at; render again when they expire.
|
|
5706
5829
|
*/
|
|
5707
|
-
export const
|
|
5830
|
+
export const cutListFrames = (options) => (options.client ?? client).get({
|
|
5708
5831
|
security: [{
|
|
5709
|
-
key: '
|
|
5832
|
+
key: 'BearerAuth',
|
|
5710
5833
|
scheme: 'bearer',
|
|
5711
5834
|
type: 'http'
|
|
5835
|
+
}, {
|
|
5836
|
+
key: 'ApiKeyAuth',
|
|
5837
|
+
name: 'X-API-Key',
|
|
5838
|
+
type: 'apiKey'
|
|
5712
5839
|
}],
|
|
5713
|
-
url: '/
|
|
5840
|
+
url: '/cut/v1/projects/{project_id}/frames',
|
|
5714
5841
|
...options
|
|
5715
5842
|
});
|
|
5716
5843
|
/**
|
|
5717
|
-
*
|
|
5844
|
+
* Analyze project media
|
|
5718
5845
|
*
|
|
5719
|
-
*
|
|
5846
|
+
* Request silence, filler-word or scene analysis for selected bound assets before editing. Omit media to select project sources; ranges returned in segments use source seconds. A pending result is not completion: use retry_after_sec before checking again, and inspect failed or unsupported asset results before deciding which edits are possible.
|
|
5720
5847
|
*/
|
|
5721
|
-
export const
|
|
5848
|
+
export const cutCreateAnalysis = (options) => (options.client ?? client).post({
|
|
5722
5849
|
security: [{
|
|
5723
|
-
key: '
|
|
5850
|
+
key: 'BearerAuth',
|
|
5724
5851
|
scheme: 'bearer',
|
|
5725
5852
|
type: 'http'
|
|
5853
|
+
}, {
|
|
5854
|
+
key: 'ApiKeyAuth',
|
|
5855
|
+
name: 'X-API-Key',
|
|
5856
|
+
type: 'apiKey'
|
|
5726
5857
|
}],
|
|
5727
|
-
url: '/
|
|
5728
|
-
...options
|
|
5858
|
+
url: '/cut/v1/projects/{project_id}/analysis',
|
|
5859
|
+
...options,
|
|
5860
|
+
headers: {
|
|
5861
|
+
'Content-Type': 'application/json',
|
|
5862
|
+
...options.headers
|
|
5863
|
+
}
|
|
5729
5864
|
});
|
|
5730
5865
|
/**
|
|
5731
|
-
*
|
|
5866
|
+
* List library bindings
|
|
5732
5867
|
*
|
|
5733
|
-
*
|
|
5868
|
+
* Discover the named media libraries available to this project before selecting source assets or an import/export destination. read bindings supply source assets; read_write bindings also accept uploads. Exactly one writable binding supplies the default upload destination.
|
|
5734
5869
|
*/
|
|
5735
|
-
export const
|
|
5870
|
+
export const cutListBindings = (options) => (options.client ?? client).get({
|
|
5736
5871
|
security: [{
|
|
5737
|
-
key: '
|
|
5872
|
+
key: 'BearerAuth',
|
|
5738
5873
|
scheme: 'bearer',
|
|
5739
5874
|
type: 'http'
|
|
5875
|
+
}, {
|
|
5876
|
+
key: 'ApiKeyAuth',
|
|
5877
|
+
name: 'X-API-Key',
|
|
5878
|
+
type: 'apiKey'
|
|
5740
5879
|
}],
|
|
5741
|
-
url: '/
|
|
5880
|
+
url: '/cut/v1/projects/{project_id}/bindings',
|
|
5742
5881
|
...options
|
|
5743
5882
|
});
|
|
5744
5883
|
/**
|
|
5745
|
-
*
|
|
5884
|
+
* Bind media library
|
|
5746
5885
|
*
|
|
5747
|
-
*
|
|
5886
|
+
* Attach an accessible media library to an existing project under a unique name. Obtain library_id from praxis.media and choose read for source-only access or read_write for imports and exports. The project must retain exactly one read_write binding with default_upload true after the change.
|
|
5748
5887
|
*/
|
|
5749
|
-
export const
|
|
5888
|
+
export const cutCreateBinding = (options) => (options.client ?? client).post({
|
|
5750
5889
|
security: [{
|
|
5751
|
-
key: '
|
|
5890
|
+
key: 'BearerAuth',
|
|
5752
5891
|
scheme: 'bearer',
|
|
5753
5892
|
type: 'http'
|
|
5893
|
+
}, {
|
|
5894
|
+
key: 'ApiKeyAuth',
|
|
5895
|
+
name: 'X-API-Key',
|
|
5896
|
+
type: 'apiKey'
|
|
5754
5897
|
}],
|
|
5755
|
-
url: '/
|
|
5756
|
-
...options
|
|
5898
|
+
url: '/cut/v1/projects/{project_id}/bindings',
|
|
5899
|
+
...options,
|
|
5900
|
+
headers: {
|
|
5901
|
+
'Content-Type': 'application/json',
|
|
5902
|
+
...options.headers
|
|
5903
|
+
}
|
|
5757
5904
|
});
|
|
5758
5905
|
/**
|
|
5759
|
-
*
|
|
5906
|
+
* Remove library binding
|
|
5760
5907
|
*
|
|
5761
|
-
*
|
|
5908
|
+
* Detach a library alias obtained from bindings.list after removing all timeline clips that reference its library. BINDING_IN_USE returns 409 while references remain; inspect timeline and edit those clips first. Removal must preserve the one writable default upload binding.
|
|
5762
5909
|
*/
|
|
5763
|
-
export const
|
|
5910
|
+
export const cutDeleteBinding = (options) => (options.client ?? client).delete({
|
|
5764
5911
|
security: [{
|
|
5765
|
-
key: '
|
|
5912
|
+
key: 'BearerAuth',
|
|
5766
5913
|
scheme: 'bearer',
|
|
5767
5914
|
type: 'http'
|
|
5915
|
+
}, {
|
|
5916
|
+
key: 'ApiKeyAuth',
|
|
5917
|
+
name: 'X-API-Key',
|
|
5918
|
+
type: 'apiKey'
|
|
5768
5919
|
}],
|
|
5769
|
-
url: '/
|
|
5920
|
+
url: '/cut/v1/projects/{project_id}/bindings/{name}',
|
|
5770
5921
|
...options
|
|
5771
5922
|
});
|
|
5772
5923
|
/**
|
|
5773
|
-
*
|
|
5924
|
+
* Import project media
|
|
5774
5925
|
*
|
|
5775
|
-
*
|
|
5926
|
+
* Import a URL, data URI or existing file into a writable project media library. Select binding from bindings.list or omit it to use default_upload. Save library_id and asset_id from the result and use them as libraryId and assetId inside execute script media references; overwrites follow the source asset latest version.
|
|
5776
5927
|
*/
|
|
5777
|
-
export const
|
|
5928
|
+
export const cutImportMedia = (options) => (options.client ?? client).post({
|
|
5778
5929
|
security: [{
|
|
5779
|
-
key: '
|
|
5930
|
+
key: 'BearerAuth',
|
|
5780
5931
|
scheme: 'bearer',
|
|
5781
5932
|
type: 'http'
|
|
5933
|
+
}, {
|
|
5934
|
+
key: 'ApiKeyAuth',
|
|
5935
|
+
name: 'X-API-Key',
|
|
5936
|
+
type: 'apiKey'
|
|
5782
5937
|
}],
|
|
5783
|
-
url: '/
|
|
5784
|
-
...options
|
|
5938
|
+
url: '/cut/v1/projects/{project_id}/media:import',
|
|
5939
|
+
...options,
|
|
5940
|
+
headers: {
|
|
5941
|
+
'Content-Type': 'application/json',
|
|
5942
|
+
...options.headers
|
|
5943
|
+
}
|
|
5785
5944
|
});
|
|
5786
5945
|
/**
|
|
5787
|
-
* List
|
|
5946
|
+
* List project exports
|
|
5788
5947
|
*
|
|
5789
|
-
*
|
|
5948
|
+
* Find export jobs associated with this project before polling or canceling a render. Copy an export id into praxis.cut.exports.retrieve or cancel. Continue with next_page_token as page_token when present; queued or in-progress jobs have not produced a final media asset.
|
|
5790
5949
|
*/
|
|
5791
|
-
export const
|
|
5950
|
+
export const cutListExports = (options) => (options.client ?? client).get({
|
|
5792
5951
|
security: [{
|
|
5793
|
-
key: '
|
|
5952
|
+
key: 'BearerAuth',
|
|
5794
5953
|
scheme: 'bearer',
|
|
5795
5954
|
type: 'http'
|
|
5955
|
+
}, {
|
|
5956
|
+
key: 'ApiKeyAuth',
|
|
5957
|
+
name: 'X-API-Key',
|
|
5958
|
+
type: 'apiKey'
|
|
5796
5959
|
}],
|
|
5797
|
-
url: '/
|
|
5960
|
+
url: '/cut/v1/projects/{project_id}/exports',
|
|
5798
5961
|
...options
|
|
5799
5962
|
});
|
|
5800
5963
|
/**
|
|
5801
|
-
* Create
|
|
5964
|
+
* Create video export
|
|
5802
5965
|
*
|
|
5803
|
-
*
|
|
5966
|
+
* Start an asynchronous video export from the project into a writable bound media library. Choose binding from bindings.list or omit it for default_upload, and optionally select revision and output settings. HTTP 202 only accepts the job; poll praxis.cut.exports.retrieve using the returned id until status is done, failed or canceled. On done, asset identifies the video written back to praxis.media. Each call starts a job, so retrieve a known job before retrying a submission.
|
|
5804
5967
|
*/
|
|
5805
|
-
export const
|
|
5968
|
+
export const cutCreateExport = (options) => (options.client ?? client).post({
|
|
5806
5969
|
security: [{
|
|
5807
|
-
key: '
|
|
5970
|
+
key: 'BearerAuth',
|
|
5808
5971
|
scheme: 'bearer',
|
|
5809
5972
|
type: 'http'
|
|
5973
|
+
}, {
|
|
5974
|
+
key: 'ApiKeyAuth',
|
|
5975
|
+
name: 'X-API-Key',
|
|
5976
|
+
type: 'apiKey'
|
|
5810
5977
|
}],
|
|
5811
|
-
url: '/
|
|
5978
|
+
url: '/cut/v1/projects/{project_id}/exports',
|
|
5812
5979
|
...options,
|
|
5813
5980
|
headers: {
|
|
5814
5981
|
'Content-Type': 'application/json',
|
|
@@ -5816,105 +5983,125 @@ export const mediaCreateLibrary = (options) => (options.client ?? client).post({
|
|
|
5816
5983
|
}
|
|
5817
5984
|
});
|
|
5818
5985
|
/**
|
|
5819
|
-
*
|
|
5986
|
+
* Retrieve video export
|
|
5820
5987
|
*
|
|
5821
|
-
*
|
|
5988
|
+
* Poll an export id returned by projects.exports.create or list to observe render progress. queued, fetching, rendering, stitching and saving are in progress; done provides asset in the target library, failed provides error, and canceled means the job stopped. Only done confirms a usable output asset.
|
|
5822
5989
|
*/
|
|
5823
|
-
export const
|
|
5990
|
+
export const cutRetrieveExport = (options) => (options.client ?? client).get({
|
|
5824
5991
|
security: [{
|
|
5825
|
-
key: '
|
|
5992
|
+
key: 'BearerAuth',
|
|
5826
5993
|
scheme: 'bearer',
|
|
5827
5994
|
type: 'http'
|
|
5995
|
+
}, {
|
|
5996
|
+
key: 'ApiKeyAuth',
|
|
5997
|
+
name: 'X-API-Key',
|
|
5998
|
+
type: 'apiKey'
|
|
5828
5999
|
}],
|
|
5829
|
-
url: '/
|
|
6000
|
+
url: '/cut/v1/exports/{export_id}',
|
|
5830
6001
|
...options
|
|
5831
6002
|
});
|
|
5832
6003
|
/**
|
|
5833
|
-
*
|
|
6004
|
+
* Cancel video export
|
|
5834
6005
|
*
|
|
5835
|
-
*
|
|
6006
|
+
* Request cancellation of an export obtained from projects.exports.create or list when its output is no longer needed. Read the returned job status and retrieve it to confirm the terminal outcome; do not interpret a cancellation request as successful rendering.
|
|
5836
6007
|
*/
|
|
5837
|
-
export const
|
|
6008
|
+
export const cutCancelExport = (options) => (options.client ?? client).post({
|
|
5838
6009
|
security: [{
|
|
5839
|
-
key: '
|
|
6010
|
+
key: 'BearerAuth',
|
|
5840
6011
|
scheme: 'bearer',
|
|
5841
6012
|
type: 'http'
|
|
6013
|
+
}, {
|
|
6014
|
+
key: 'ApiKeyAuth',
|
|
6015
|
+
name: 'X-API-Key',
|
|
6016
|
+
type: 'apiKey'
|
|
5842
6017
|
}],
|
|
5843
|
-
url: '/
|
|
6018
|
+
url: '/cut/v1/exports/{export_id}:cancel',
|
|
5844
6019
|
...options
|
|
5845
6020
|
});
|
|
5846
6021
|
/**
|
|
5847
|
-
*
|
|
6022
|
+
* List saved versions
|
|
5848
6023
|
*
|
|
5849
|
-
*
|
|
6024
|
+
* Find saved timeline snapshots for this project and obtain version_id values for restore. A saved version records its original revision; restoring it creates a new current revision rather than rewinding the revision counter. Continue with next_page_token as page_token until absent.
|
|
5850
6025
|
*/
|
|
5851
|
-
export const
|
|
6026
|
+
export const cutListVersions = (options) => (options.client ?? client).get({
|
|
5852
6027
|
security: [{
|
|
5853
|
-
key: '
|
|
6028
|
+
key: 'BearerAuth',
|
|
5854
6029
|
scheme: 'bearer',
|
|
5855
6030
|
type: 'http'
|
|
6031
|
+
}, {
|
|
6032
|
+
key: 'ApiKeyAuth',
|
|
6033
|
+
name: 'X-API-Key',
|
|
6034
|
+
type: 'apiKey'
|
|
5856
6035
|
}],
|
|
5857
|
-
url: '/
|
|
5858
|
-
...options
|
|
5859
|
-
headers: {
|
|
5860
|
-
'Content-Type': 'application/json',
|
|
5861
|
-
...options.headers
|
|
5862
|
-
}
|
|
6036
|
+
url: '/cut/v1/projects/{project_id}/versions',
|
|
6037
|
+
...options
|
|
5863
6038
|
});
|
|
5864
6039
|
/**
|
|
5865
|
-
*
|
|
6040
|
+
* Save project version
|
|
5866
6041
|
*
|
|
5867
|
-
*
|
|
6042
|
+
* Save the current project timeline as a named recovery point before a substantial edit. Supply an optional label or send an empty object; keep the returned version id for versions.restore. Saving a version does not publish a rendered asset; use projects.exports.create for video output.
|
|
5868
6043
|
*/
|
|
5869
|
-
export const
|
|
6044
|
+
export const cutCreateVersion = (options) => (options.client ?? client).post({
|
|
5870
6045
|
security: [{
|
|
5871
|
-
key: '
|
|
6046
|
+
key: 'BearerAuth',
|
|
5872
6047
|
scheme: 'bearer',
|
|
5873
6048
|
type: 'http'
|
|
6049
|
+
}, {
|
|
6050
|
+
key: 'ApiKeyAuth',
|
|
6051
|
+
name: 'X-API-Key',
|
|
6052
|
+
type: 'apiKey'
|
|
5874
6053
|
}],
|
|
5875
|
-
url: '/
|
|
5876
|
-
...options
|
|
6054
|
+
url: '/cut/v1/projects/{project_id}/versions',
|
|
6055
|
+
...options,
|
|
6056
|
+
headers: {
|
|
6057
|
+
'Content-Type': 'application/json',
|
|
6058
|
+
...options.headers
|
|
6059
|
+
}
|
|
5877
6060
|
});
|
|
5878
6061
|
/**
|
|
5879
|
-
*
|
|
6062
|
+
* Restore saved version
|
|
5880
6063
|
*
|
|
5881
|
-
*
|
|
6064
|
+
* Replace current editing content with a saved project snapshot selected from projects.versions.list. The restore commits a new transaction and revision while preserving the saved version for future use. Inspect the returned summary and timeline before further editing; a response revision conflict can follow a committed restore, so retrieve current state before retrying.
|
|
5882
6065
|
*/
|
|
5883
|
-
export const
|
|
6066
|
+
export const cutRestoreVersion = (options) => (options.client ?? client).post({
|
|
5884
6067
|
security: [{
|
|
5885
|
-
key: '
|
|
6068
|
+
key: 'BearerAuth',
|
|
5886
6069
|
scheme: 'bearer',
|
|
5887
6070
|
type: 'http'
|
|
6071
|
+
}, {
|
|
6072
|
+
key: 'ApiKeyAuth',
|
|
6073
|
+
name: 'X-API-Key',
|
|
6074
|
+
type: 'apiKey'
|
|
5888
6075
|
}],
|
|
5889
|
-
url: '/
|
|
6076
|
+
url: '/cut/v1/versions/{version_id}:restore',
|
|
5890
6077
|
...options
|
|
5891
6078
|
});
|
|
5892
6079
|
/**
|
|
5893
|
-
* List
|
|
6080
|
+
* List databases
|
|
5894
6081
|
*
|
|
5895
|
-
*
|
|
6082
|
+
* Find databases owned by your tenant and obtain their ids for schema or row operations. Excludes deleting by default. status=active or status=deleting selects that state; invalid values return 400 INVALID_PARAMS.
|
|
5896
6083
|
*/
|
|
5897
|
-
export const
|
|
6084
|
+
export const databaseListDatabases = (options) => (options?.client ?? client).get({
|
|
5898
6085
|
security: [{
|
|
5899
|
-
key: '
|
|
6086
|
+
key: 'database-bearerAuth',
|
|
5900
6087
|
scheme: 'bearer',
|
|
5901
6088
|
type: 'http'
|
|
5902
6089
|
}],
|
|
5903
|
-
url: '/
|
|
6090
|
+
url: '/database/v1/databases',
|
|
5904
6091
|
...options
|
|
5905
6092
|
});
|
|
5906
6093
|
/**
|
|
5907
|
-
*
|
|
6094
|
+
* Create database
|
|
5908
6095
|
*
|
|
5909
|
-
*
|
|
6096
|
+
* Creates an empty database for the caller and returns it with status active (HTTP 201); add tables next with praxis.database.databases.tables.create. name is required and is 1–64 visible characters after trimming. labels are optional string tags (at most 64; each key starts with a lowercase letter and uses up to 63 characters of a-z 0-9 _ -; each value is up to 63 characters of a-z 0-9 _ -) that databaseListDatabases can filter on. If initialization fails the call returns 503 CAPACITY and the half-created database is left with status failed; retry by calling create again, which makes a new database. Unlike Supabase, this creates a SQLite-backed database without a PostgreSQL connection or SQL execution endpoint. Use a Praxis credential; access is scoped to its tenant, not to Supabase Auth users or RLS policies.
|
|
5910
6097
|
*/
|
|
5911
|
-
export const
|
|
6098
|
+
export const databaseCreateDatabase = (options) => (options.client ?? client).post({
|
|
5912
6099
|
security: [{
|
|
5913
|
-
key: '
|
|
6100
|
+
key: 'database-bearerAuth',
|
|
5914
6101
|
scheme: 'bearer',
|
|
5915
6102
|
type: 'http'
|
|
5916
6103
|
}],
|
|
5917
|
-
url: '/
|
|
6104
|
+
url: '/database/v1/databases',
|
|
5918
6105
|
...options,
|
|
5919
6106
|
headers: {
|
|
5920
6107
|
'Content-Type': 'application/json',
|
|
@@ -5922,81 +6109,105 @@ export const mediaUploadAsset = (options) => (options.client ?? client).post({
|
|
|
5922
6109
|
}
|
|
5923
6110
|
});
|
|
5924
6111
|
/**
|
|
5925
|
-
*
|
|
6112
|
+
* Delete database
|
|
5926
6113
|
*
|
|
5927
|
-
*
|
|
6114
|
+
* Soft-delete a database when it should stop accepting schema and row operations. Idempotently enters deleting with a seven-day purge_at. GET remains available; child operations return 409 until restored.
|
|
5928
6115
|
*/
|
|
5929
|
-
export const
|
|
6116
|
+
export const databaseDeleteDatabase = (options) => (options.client ?? client).delete({
|
|
5930
6117
|
security: [{
|
|
5931
|
-
key: '
|
|
6118
|
+
key: 'database-bearerAuth',
|
|
5932
6119
|
scheme: 'bearer',
|
|
5933
6120
|
type: 'http'
|
|
5934
6121
|
}],
|
|
5935
|
-
url: '/
|
|
5936
|
-
...options
|
|
6122
|
+
url: '/database/v1/databases/{database_id}',
|
|
6123
|
+
...options
|
|
6124
|
+
});
|
|
6125
|
+
/**
|
|
6126
|
+
* Get database
|
|
6127
|
+
*
|
|
6128
|
+
* Returns one database by id, including a database in the deleting state (purge_at then shows when it will be permanently removed). Call it before table or row operations to confirm status is active: schema and row calls on a deleting database return 409 DATABASE_INVALID_STATE. size_bytes is refreshed from live storage at most once every five seconds. A purged or unknown id returns 404 DATABASE_NOT_FOUND.
|
|
6129
|
+
*/
|
|
6130
|
+
export const databaseGetDatabase = (options) => (options.client ?? client).get({
|
|
6131
|
+
security: [{
|
|
6132
|
+
key: 'database-bearerAuth',
|
|
6133
|
+
scheme: 'bearer',
|
|
6134
|
+
type: 'http'
|
|
6135
|
+
}],
|
|
6136
|
+
url: '/database/v1/databases/{database_id}',
|
|
6137
|
+
...options
|
|
6138
|
+
});
|
|
6139
|
+
/**
|
|
6140
|
+
* Update database
|
|
6141
|
+
*
|
|
6142
|
+
* Renames an active database and/or replaces its labels; send only the keys you want to change. labels is replaced as a whole, not merged, so include every label you want to keep. A body without name or labels, or with values equal to the current ones, changes nothing and leaves updated_at as is. A database in the deleting state returns 409 DATABASE_INVALID_STATE; restore it first with databaseRestoreDatabase.
|
|
6143
|
+
*/
|
|
6144
|
+
export const databaseUpdateDatabase = (options) => (options.client ?? client).patch({
|
|
6145
|
+
security: [{
|
|
6146
|
+
key: 'database-bearerAuth',
|
|
6147
|
+
scheme: 'bearer',
|
|
6148
|
+
type: 'http'
|
|
6149
|
+
}],
|
|
6150
|
+
url: '/database/v1/databases/{database_id}',
|
|
6151
|
+
...options,
|
|
5937
6152
|
headers: {
|
|
5938
6153
|
'Content-Type': 'application/json',
|
|
5939
6154
|
...options.headers
|
|
5940
6155
|
}
|
|
5941
6156
|
});
|
|
5942
6157
|
/**
|
|
5943
|
-
*
|
|
6158
|
+
* Restore database
|
|
5944
6159
|
*
|
|
5945
|
-
*
|
|
6160
|
+
* Recover a soft-deleted database within its seven-day recovery window. Restore before purge_at. An empty body is accepted. Active databases return 409; purged databases return 404.
|
|
5946
6161
|
*/
|
|
5947
|
-
export const
|
|
6162
|
+
export const databaseRestoreDatabase = (options) => (options.client ?? client).post({
|
|
5948
6163
|
security: [{
|
|
5949
|
-
key: '
|
|
6164
|
+
key: 'database-bearerAuth',
|
|
5950
6165
|
scheme: 'bearer',
|
|
5951
6166
|
type: 'http'
|
|
5952
6167
|
}],
|
|
5953
|
-
url: '/
|
|
6168
|
+
url: '/database/v1/databases/{database_id}/restore',
|
|
5954
6169
|
...options
|
|
5955
6170
|
});
|
|
5956
6171
|
/**
|
|
5957
|
-
*
|
|
6172
|
+
* Permanently purge database
|
|
5958
6173
|
*
|
|
5959
|
-
*
|
|
6174
|
+
* Immediately and irreversibly purges a deleting database. Active databases return 409; absent or already purged databases return 404.
|
|
5960
6175
|
*/
|
|
5961
|
-
export const
|
|
6176
|
+
export const databasePurgeDatabase = (options) => (options.client ?? client).post({
|
|
5962
6177
|
security: [{
|
|
5963
|
-
key: '
|
|
6178
|
+
key: 'database-bearerAuth',
|
|
5964
6179
|
scheme: 'bearer',
|
|
5965
6180
|
type: 'http'
|
|
5966
6181
|
}],
|
|
5967
|
-
url: '/
|
|
6182
|
+
url: '/database/v1/databases/{database_id}/purge',
|
|
5968
6183
|
...options
|
|
5969
6184
|
});
|
|
5970
6185
|
/**
|
|
5971
|
-
*
|
|
6186
|
+
* List tables
|
|
5972
6187
|
*
|
|
5973
|
-
*
|
|
6188
|
+
* Lists every table of an active database with its field definitions. A database holds at most 50 tables, so the single page contains all of them and next_cursor is always null. Use databaseGetTable instead when you also need row_count for one table.
|
|
5974
6189
|
*/
|
|
5975
|
-
export const
|
|
6190
|
+
export const databaseListTables = (options) => (options.client ?? client).get({
|
|
5976
6191
|
security: [{
|
|
5977
|
-
key: '
|
|
6192
|
+
key: 'database-bearerAuth',
|
|
5978
6193
|
scheme: 'bearer',
|
|
5979
6194
|
type: 'http'
|
|
5980
6195
|
}],
|
|
5981
|
-
url: '/
|
|
5982
|
-
...options
|
|
5983
|
-
headers: {
|
|
5984
|
-
'Content-Type': 'application/json',
|
|
5985
|
-
...options.headers
|
|
5986
|
-
}
|
|
6196
|
+
url: '/database/v1/databases/{database_id}/tables',
|
|
6197
|
+
...options
|
|
5987
6198
|
});
|
|
5988
6199
|
/**
|
|
5989
|
-
*
|
|
6200
|
+
* Create table
|
|
5990
6201
|
*
|
|
5991
|
-
*
|
|
6202
|
+
* 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.
|
|
5992
6203
|
*/
|
|
5993
|
-
export const
|
|
6204
|
+
export const databaseCreateTable = (options) => (options.client ?? client).post({
|
|
5994
6205
|
security: [{
|
|
5995
|
-
key: '
|
|
6206
|
+
key: 'database-bearerAuth',
|
|
5996
6207
|
scheme: 'bearer',
|
|
5997
6208
|
type: 'http'
|
|
5998
6209
|
}],
|
|
5999
|
-
url: '/
|
|
6210
|
+
url: '/database/v1/databases/{database_id}/tables',
|
|
6000
6211
|
...options,
|
|
6001
6212
|
headers: {
|
|
6002
6213
|
'Content-Type': 'application/json',
|
|
@@ -6004,49 +6215,45 @@ export const mediaReprocessAsset = (options) => (options.client ?? client).post(
|
|
|
6004
6215
|
}
|
|
6005
6216
|
});
|
|
6006
6217
|
/**
|
|
6007
|
-
*
|
|
6218
|
+
* Delete table
|
|
6008
6219
|
*
|
|
6009
|
-
*
|
|
6220
|
+
* Permanently drops a table with all of its rows; the deletion is immediate and has no recovery window or undo. Refused with 409 REFERENCE_RESTRICT while a link field of another table points at this table, so delete or change those fields first. Returns {deleted: true}. A table name can be reused afterwards.
|
|
6010
6221
|
*/
|
|
6011
|
-
export const
|
|
6222
|
+
export const databaseDeleteTable = (options) => (options.client ?? client).delete({
|
|
6012
6223
|
security: [{
|
|
6013
|
-
key: '
|
|
6224
|
+
key: 'database-bearerAuth',
|
|
6014
6225
|
scheme: 'bearer',
|
|
6015
6226
|
type: 'http'
|
|
6016
6227
|
}],
|
|
6017
|
-
url: '/
|
|
6228
|
+
url: '/database/v1/databases/{database_id}/tables/{table}',
|
|
6018
6229
|
...options
|
|
6019
6230
|
});
|
|
6020
6231
|
/**
|
|
6021
|
-
*
|
|
6232
|
+
* Get table
|
|
6022
6233
|
*
|
|
6023
|
-
*
|
|
6234
|
+
* Returns one table by id or name with its field definitions, schema_revision and row_count. row_count is only returned by this operation, not by list or create. Use field ids from this response for stable references because field names can be renamed; an unknown table returns 404 TABLE_NOT_FOUND.
|
|
6024
6235
|
*/
|
|
6025
|
-
export const
|
|
6236
|
+
export const databaseGetTable = (options) => (options.client ?? client).get({
|
|
6026
6237
|
security: [{
|
|
6027
|
-
key: '
|
|
6238
|
+
key: 'database-bearerAuth',
|
|
6028
6239
|
scheme: 'bearer',
|
|
6029
6240
|
type: 'http'
|
|
6030
6241
|
}],
|
|
6031
|
-
url: '/
|
|
6032
|
-
...options
|
|
6033
|
-
headers: {
|
|
6034
|
-
'Content-Type': 'application/json',
|
|
6035
|
-
...options.headers
|
|
6036
|
-
}
|
|
6242
|
+
url: '/database/v1/databases/{database_id}/tables/{table}',
|
|
6243
|
+
...options
|
|
6037
6244
|
});
|
|
6038
6245
|
/**
|
|
6039
|
-
*
|
|
6246
|
+
* Update table
|
|
6040
6247
|
*
|
|
6041
|
-
*
|
|
6248
|
+
* Renames a table and/or changes its description; send only the keys to change, and send description null to clear it. The new name must follow ^[a-z_][a-z0-9_]{0,62}$ and be unused (409 UNIQUE_VIOLATION); ids are stable, so renaming never rewrites row data. A body with no changes or values equal to the current ones does not bump schema_revision. Fields cannot be changed here; use databaseAddField, databaseUpdateField and databaseDeleteField.
|
|
6042
6249
|
*/
|
|
6043
|
-
export const
|
|
6250
|
+
export const databaseUpdateTable = (options) => (options.client ?? client).patch({
|
|
6044
6251
|
security: [{
|
|
6045
|
-
key: '
|
|
6252
|
+
key: 'database-bearerAuth',
|
|
6046
6253
|
scheme: 'bearer',
|
|
6047
6254
|
type: 'http'
|
|
6048
6255
|
}],
|
|
6049
|
-
url: '/
|
|
6256
|
+
url: '/database/v1/databases/{database_id}/tables/{table}',
|
|
6050
6257
|
...options,
|
|
6051
6258
|
headers: {
|
|
6052
6259
|
'Content-Type': 'application/json',
|
|
@@ -6054,17 +6261,17 @@ export const mediaVisualSearch = (options) => (options.client ?? client).post({
|
|
|
6054
6261
|
}
|
|
6055
6262
|
});
|
|
6056
6263
|
/**
|
|
6057
|
-
*
|
|
6264
|
+
* Add field
|
|
6058
6265
|
*
|
|
6059
|
-
*
|
|
6266
|
+
* 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.
|
|
6060
6267
|
*/
|
|
6061
|
-
export const
|
|
6268
|
+
export const databaseAddField = (options) => (options.client ?? client).post({
|
|
6062
6269
|
security: [{
|
|
6063
|
-
key: '
|
|
6270
|
+
key: 'database-bearerAuth',
|
|
6064
6271
|
scheme: 'bearer',
|
|
6065
6272
|
type: 'http'
|
|
6066
6273
|
}],
|
|
6067
|
-
url: '/
|
|
6274
|
+
url: '/database/v1/databases/{database_id}/tables/{table}/fields',
|
|
6068
6275
|
...options,
|
|
6069
6276
|
headers: {
|
|
6070
6277
|
'Content-Type': 'application/json',
|
|
@@ -6072,17 +6279,31 @@ export const mediaSemanticSearch = (options) => (options.client ?? client).post(
|
|
|
6072
6279
|
}
|
|
6073
6280
|
});
|
|
6074
6281
|
/**
|
|
6075
|
-
*
|
|
6282
|
+
* Delete field
|
|
6076
6283
|
*
|
|
6077
|
-
*
|
|
6284
|
+
* Deletes one field definition from a table and returns the updated table; the deletion is immediate and has no recovery window. Look the field up by id or name. The field's index, if any, is dropped with it, and the name can be reused afterwards. Unknown fields return 400 FIELD_NOT_FOUND.
|
|
6078
6285
|
*/
|
|
6079
|
-
export const
|
|
6286
|
+
export const databaseDeleteField = (options) => (options.client ?? client).delete({
|
|
6080
6287
|
security: [{
|
|
6081
|
-
key: '
|
|
6288
|
+
key: 'database-bearerAuth',
|
|
6082
6289
|
scheme: 'bearer',
|
|
6083
6290
|
type: 'http'
|
|
6084
6291
|
}],
|
|
6085
|
-
url: '/
|
|
6292
|
+
url: '/database/v1/databases/{database_id}/tables/{table}/fields/{field}',
|
|
6293
|
+
...options
|
|
6294
|
+
});
|
|
6295
|
+
/**
|
|
6296
|
+
* Update field
|
|
6297
|
+
*
|
|
6298
|
+
* Changes a field's name, description, required flag, indexed flag, default or json options.schema and returns the updated table. The field type, a link field's linked_table_id and the unique flag cannot be changed (400 FIELD_TYPE_IMMUTABLE or INVALID_PARAMS). Setting required to true fails with 400 VALIDATION_FAILED while existing rows hold null for the field. A new json schema constrains only later writes; existing rows are not revalidated. Renaming never rewrites row data, and a request that changes nothing does not bump schema_revision. Unlike Supabase, field types and uniqueness cannot be altered through SQL migrations; use the supported field settings described here.
|
|
6299
|
+
*/
|
|
6300
|
+
export const databaseUpdateField = (options) => (options.client ?? client).patch({
|
|
6301
|
+
security: [{
|
|
6302
|
+
key: 'database-bearerAuth',
|
|
6303
|
+
scheme: 'bearer',
|
|
6304
|
+
type: 'http'
|
|
6305
|
+
}],
|
|
6306
|
+
url: '/database/v1/databases/{database_id}/tables/{table}/fields/{field}',
|
|
6086
6307
|
...options,
|
|
6087
6308
|
headers: {
|
|
6088
6309
|
'Content-Type': 'application/json',
|
|
@@ -6090,31 +6311,73 @@ export const mediaSearch = (options) => (options.client ?? client).post({
|
|
|
6090
6311
|
}
|
|
6091
6312
|
});
|
|
6092
6313
|
/**
|
|
6093
|
-
* List
|
|
6314
|
+
* List events
|
|
6094
6315
|
*
|
|
6095
|
-
*
|
|
6316
|
+
* Read lifecycle and schema events, including while the database is deleting. next_cursor is an opaque string cursor (do not do arithmetic on it): pass it as after_seq for asc or before_seq for desc. Supplying both cursors returns 400 INVALID_PARAMS. Unlike Supabase Realtime, this is paged lifecycle and schema history, not a subscription or a row-change feed; row inserts, updates and deletes do not appear here.
|
|
6096
6317
|
*/
|
|
6097
|
-
export const
|
|
6318
|
+
export const databaseListEvents = (options) => (options.client ?? client).get({
|
|
6098
6319
|
security: [{
|
|
6099
|
-
key: '
|
|
6320
|
+
key: 'database-bearerAuth',
|
|
6100
6321
|
scheme: 'bearer',
|
|
6101
6322
|
type: 'http'
|
|
6102
6323
|
}],
|
|
6103
|
-
url: '/
|
|
6324
|
+
url: '/database/v1/databases/{database_id}/events',
|
|
6104
6325
|
...options
|
|
6105
6326
|
});
|
|
6106
6327
|
/**
|
|
6107
|
-
*
|
|
6328
|
+
* Delete rows
|
|
6108
6329
|
*
|
|
6109
|
-
*
|
|
6330
|
+
* Deletes the rows matched by the filter query parameters (the same filters as databaseSelect); with no filter every row of the table matches. Deletion is immediate and cannot be undone. A row that a link field of another table still references makes the whole call fail with 409 REFERENCE_RESTRICT and nothing is deleted. The default response is 204 with no body; send Prefer: return=representation to get HTTP 200 with the deleted rows.
|
|
6110
6331
|
*/
|
|
6111
|
-
export const
|
|
6332
|
+
export const databaseDelete = (options) => (options.client ?? client).delete({
|
|
6112
6333
|
security: [{
|
|
6113
|
-
key: '
|
|
6334
|
+
key: 'database-bearerAuth',
|
|
6114
6335
|
scheme: 'bearer',
|
|
6115
6336
|
type: 'http'
|
|
6116
6337
|
}],
|
|
6117
|
-
url: '/
|
|
6338
|
+
url: '/database/v1/databases/{database_id}/rest/{table}',
|
|
6339
|
+
...options
|
|
6340
|
+
});
|
|
6341
|
+
/**
|
|
6342
|
+
* Select rows
|
|
6343
|
+
*
|
|
6344
|
+
* 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.
|
|
6345
|
+
*/
|
|
6346
|
+
export const databaseSelect = (options) => (options.client ?? client).get({
|
|
6347
|
+
security: [{
|
|
6348
|
+
key: 'database-bearerAuth',
|
|
6349
|
+
scheme: 'bearer',
|
|
6350
|
+
type: 'http'
|
|
6351
|
+
}],
|
|
6352
|
+
url: '/database/v1/databases/{database_id}/rest/{table}',
|
|
6353
|
+
...options
|
|
6354
|
+
});
|
|
6355
|
+
/**
|
|
6356
|
+
* Count rows
|
|
6357
|
+
*
|
|
6358
|
+
* 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.
|
|
6359
|
+
*/
|
|
6360
|
+
export const databaseHead = (options) => (options.client ?? client).head({
|
|
6361
|
+
security: [{
|
|
6362
|
+
key: 'database-bearerAuth',
|
|
6363
|
+
scheme: 'bearer',
|
|
6364
|
+
type: 'http'
|
|
6365
|
+
}],
|
|
6366
|
+
url: '/database/v1/databases/{database_id}/rest/{table}',
|
|
6367
|
+
...options
|
|
6368
|
+
});
|
|
6369
|
+
/**
|
|
6370
|
+
* Update rows
|
|
6371
|
+
*
|
|
6372
|
+
* Updates the rows matched by the filter query parameters (the same filters as databaseSelect); with no filter every row of the table matches. The JSON object body lists only the fields to change, other fields keep their values, and id cannot be changed. Values are validated against the field types and the required and unique settings (400 VALIDATION_FAILED, 409 UNIQUE_VIOLATION). The default response is 204 with no body; send Prefer: return=representation to get HTTP 200 with the updated rows. Each changed row's _version increases by one.
|
|
6373
|
+
*/
|
|
6374
|
+
export const databaseUpdate = (options) => (options.client ?? client).patch({
|
|
6375
|
+
security: [{
|
|
6376
|
+
key: 'database-bearerAuth',
|
|
6377
|
+
scheme: 'bearer',
|
|
6378
|
+
type: 'http'
|
|
6379
|
+
}],
|
|
6380
|
+
url: '/database/v1/databases/{database_id}/rest/{table}',
|
|
6118
6381
|
...options,
|
|
6119
6382
|
headers: {
|
|
6120
6383
|
'Content-Type': 'application/json',
|
|
@@ -6122,31 +6385,1006 @@ export const mediaCreateBatch = (options) => (options.client ?? client).post({
|
|
|
6122
6385
|
}
|
|
6123
6386
|
});
|
|
6124
6387
|
/**
|
|
6125
|
-
*
|
|
6388
|
+
* Insert rows
|
|
6126
6389
|
*
|
|
6127
|
-
*
|
|
6390
|
+
* 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.
|
|
6391
|
+
* Rows are filled to the union of their keys with null; send Prefer: missing=default to use field defaults for missing keys.
|
|
6392
|
+
* 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.
|
|
6128
6393
|
*/
|
|
6129
|
-
export const
|
|
6394
|
+
export const databaseInsert = (options) => (options.client ?? client).post({
|
|
6130
6395
|
security: [{
|
|
6131
|
-
key: '
|
|
6396
|
+
key: 'database-bearerAuth',
|
|
6132
6397
|
scheme: 'bearer',
|
|
6133
6398
|
type: 'http'
|
|
6134
6399
|
}],
|
|
6135
|
-
url: '/
|
|
6400
|
+
url: '/database/v1/databases/{database_id}/rest/{table}',
|
|
6401
|
+
...options,
|
|
6402
|
+
headers: {
|
|
6403
|
+
'Content-Type': 'application/json',
|
|
6404
|
+
...options.headers
|
|
6405
|
+
}
|
|
6406
|
+
});
|
|
6407
|
+
/**
|
|
6408
|
+
* List knowledge bases
|
|
6409
|
+
*
|
|
6410
|
+
* Lists knowledge bases visible to the caller, newest first by default. Use last_id as after to read the next page; for example, ?limit=20.
|
|
6411
|
+
*/
|
|
6412
|
+
export const knowledgeListVectorStores = (options) => (options?.client ?? client).get({
|
|
6413
|
+
security: [{
|
|
6414
|
+
key: 'knowledge-bearerAuth',
|
|
6415
|
+
scheme: 'bearer',
|
|
6416
|
+
type: 'http'
|
|
6417
|
+
}],
|
|
6418
|
+
url: '/knowledge/v1/vector_stores',
|
|
6136
6419
|
...options
|
|
6137
6420
|
});
|
|
6138
6421
|
/**
|
|
6139
|
-
*
|
|
6422
|
+
* Create knowledge base
|
|
6140
6423
|
*
|
|
6141
|
-
*
|
|
6424
|
+
* Create a knowledge base, optionally starting ingestion of uploaded file_ids in the same call; no separate attachment or batch is needed for those files. Use the returned id with vectorStores.files.retrieve to poll each attachment until completed, failed or cancelled; store status=completed alone does not mean every file succeeded. Each file accepts up to 52428800 bytes and 5000000 estimated tokens; each account holds up to 100 active/nondeleted stores. Minimal body: {"name":"Refund policies"}.
|
|
6142
6425
|
*/
|
|
6143
|
-
export const
|
|
6426
|
+
export const knowledgeCreateVectorStore = (options) => (options.client ?? client).post({
|
|
6144
6427
|
security: [{
|
|
6145
|
-
key: '
|
|
6428
|
+
key: 'knowledge-bearerAuth',
|
|
6429
|
+
scheme: 'bearer',
|
|
6430
|
+
type: 'http'
|
|
6431
|
+
}],
|
|
6432
|
+
url: '/knowledge/v1/vector_stores',
|
|
6433
|
+
...options,
|
|
6434
|
+
headers: {
|
|
6435
|
+
'Content-Type': 'application/json',
|
|
6436
|
+
...options.headers
|
|
6437
|
+
}
|
|
6438
|
+
});
|
|
6439
|
+
/**
|
|
6440
|
+
* Delete knowledge base
|
|
6441
|
+
*
|
|
6442
|
+
* Remove a knowledge base from active use while keeping a recovery window. Unlike OpenAI vector stores, native DELETE returns the store with status=deleting and ISO purge_at, retains it for 7 days and is idempotent on repeat. Retrieve remains 200; object operations return 409. Use restore before purge_at to recover it, or purge to remove it irreversibly.
|
|
6443
|
+
*/
|
|
6444
|
+
export const knowledgeDeleteVectorStore = (options) => (options.client ?? client).delete({
|
|
6445
|
+
security: [{
|
|
6446
|
+
key: 'knowledge-bearerAuth',
|
|
6447
|
+
scheme: 'bearer',
|
|
6448
|
+
type: 'http'
|
|
6449
|
+
}],
|
|
6450
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}',
|
|
6451
|
+
...options
|
|
6452
|
+
});
|
|
6453
|
+
/**
|
|
6454
|
+
* Retrieve knowledge base
|
|
6455
|
+
*
|
|
6456
|
+
* Retrieves a knowledge base using an id returned by create or list. Add ?expand=files to include the first page of attached files. Soft-deleted stores remain readable with status=deleting until purged.
|
|
6457
|
+
*/
|
|
6458
|
+
export const knowledgeRetrieveVectorStore = (options) => (options.client ?? client).get({
|
|
6459
|
+
security: [{
|
|
6460
|
+
key: 'knowledge-bearerAuth',
|
|
6461
|
+
scheme: 'bearer',
|
|
6462
|
+
type: 'http'
|
|
6463
|
+
}],
|
|
6464
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}',
|
|
6465
|
+
...options
|
|
6466
|
+
});
|
|
6467
|
+
/**
|
|
6468
|
+
* Update knowledge base
|
|
6469
|
+
*
|
|
6470
|
+
* Updates an active knowledge base using its returned id. Omitted fields stay unchanged; metadata replaces the whole map. Example body: {"name":"Refund policies"}.
|
|
6471
|
+
*/
|
|
6472
|
+
export const knowledgeUpdateVectorStore = (options) => (options.client ?? client).post({
|
|
6473
|
+
security: [{
|
|
6474
|
+
key: 'knowledge-bearerAuth',
|
|
6475
|
+
scheme: 'bearer',
|
|
6476
|
+
type: 'http'
|
|
6477
|
+
}],
|
|
6478
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}',
|
|
6479
|
+
...options,
|
|
6480
|
+
headers: {
|
|
6481
|
+
'Content-Type': 'application/json',
|
|
6482
|
+
...options.headers
|
|
6483
|
+
}
|
|
6484
|
+
});
|
|
6485
|
+
/**
|
|
6486
|
+
* Search knowledge base
|
|
6487
|
+
*
|
|
6488
|
+
* Search ingested text to answer a question or find supporting passages. Native results contain one chunk each, so file_id can repeat; max_num_results counts chunks (1–50, default 10), while the compatible URL groups results by file. Unlike OpenAI vector stores, next_page is always null even when has_more is true. Only completed attachments are searchable. For keyword-only retrieval set ranking_options.hybrid_search to {"embedding_weight":0,"text_weight":1}; omit rewrite_query or set it to false to avoid query rewriting. Unlike OpenAI, ranker auto does not rerank; only default-2024-11-15 requests reranking. Set praxis.explain=true to inspect scores and use returned content[].chunk_id to retrieve a segment.
|
|
6489
|
+
*/
|
|
6490
|
+
export const knowledgeSearchVectorStore = (options) => (options.client ?? client).post({
|
|
6491
|
+
security: [{
|
|
6492
|
+
key: 'knowledge-bearerAuth',
|
|
6493
|
+
scheme: 'bearer',
|
|
6494
|
+
type: 'http'
|
|
6495
|
+
}],
|
|
6496
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/search',
|
|
6497
|
+
...options,
|
|
6498
|
+
headers: {
|
|
6499
|
+
'Content-Type': 'application/json',
|
|
6500
|
+
...options.headers
|
|
6501
|
+
}
|
|
6502
|
+
});
|
|
6503
|
+
/**
|
|
6504
|
+
* List files
|
|
6505
|
+
*
|
|
6506
|
+
* Lists attached files and their ingestion status, newest attachment first by default. Use last_id as after to continue; ?filter=failed selects files that can be retried.
|
|
6507
|
+
*/
|
|
6508
|
+
export const knowledgeListFiles = (options) => (options.client ?? client).get({
|
|
6509
|
+
security: [{
|
|
6510
|
+
key: 'knowledge-bearerAuth',
|
|
6511
|
+
scheme: 'bearer',
|
|
6512
|
+
type: 'http'
|
|
6513
|
+
}],
|
|
6514
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/files',
|
|
6515
|
+
...options
|
|
6516
|
+
});
|
|
6517
|
+
/**
|
|
6518
|
+
* Add file
|
|
6519
|
+
*
|
|
6520
|
+
* Attach an uploaded File for asynchronous ingestion, then poll this attachment until status is completed, failed or cancelled before searching. Each file accepts up to 52428800 bytes and 5000000 estimated tokens; chunk sizes use estimated tokens rather than a model tokenizer. Text, Markdown, CSV, JSON, HTML, PDF, DOCX, PPTX, XLSX and PNG/JPEG/GIF/WebP images can be extracted; audio and video uploads are not knowledge documents. Images may yield generated descriptions rather than verbatim OCR. auto chunking resolves to static 800/400; explicit sizes are 100–4096 with overlap at most half the size. Each store holds at most 10000 attached files. Reattaching the same file returns its existing record without applying new attributes or chunking; inspect last_error after failure.
|
|
6521
|
+
*/
|
|
6522
|
+
export const knowledgeAttachFile = (options) => (options.client ?? client).post({
|
|
6523
|
+
security: [{
|
|
6524
|
+
key: 'knowledge-bearerAuth',
|
|
6525
|
+
scheme: 'bearer',
|
|
6526
|
+
type: 'http'
|
|
6527
|
+
}],
|
|
6528
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/files',
|
|
6529
|
+
...options,
|
|
6530
|
+
headers: {
|
|
6531
|
+
'Content-Type': 'application/json',
|
|
6532
|
+
...options.headers
|
|
6533
|
+
}
|
|
6534
|
+
});
|
|
6535
|
+
/**
|
|
6536
|
+
* Remove file
|
|
6537
|
+
*
|
|
6538
|
+
* Removes the file from search immediately; does not delete the original File.
|
|
6539
|
+
*/
|
|
6540
|
+
export const knowledgeRemoveFile = (options) => (options.client ?? client).delete({
|
|
6541
|
+
security: [{
|
|
6542
|
+
key: 'knowledge-bearerAuth',
|
|
6543
|
+
scheme: 'bearer',
|
|
6544
|
+
type: 'http'
|
|
6545
|
+
}],
|
|
6546
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}',
|
|
6547
|
+
...options
|
|
6548
|
+
});
|
|
6549
|
+
/**
|
|
6550
|
+
* Retrieve file
|
|
6551
|
+
*
|
|
6552
|
+
* Retrieves an attached file using the id returned by attachment or file listing. Poll this operation until status leaves in_progress to observe the ingestion outcome.
|
|
6553
|
+
*/
|
|
6554
|
+
export const knowledgeRetrieveFile = (options) => (options.client ?? client).get({
|
|
6555
|
+
security: [{
|
|
6556
|
+
key: 'knowledge-bearerAuth',
|
|
6557
|
+
scheme: 'bearer',
|
|
6558
|
+
type: 'http'
|
|
6559
|
+
}],
|
|
6560
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}',
|
|
6561
|
+
...options
|
|
6562
|
+
});
|
|
6563
|
+
/**
|
|
6564
|
+
* Update file attributes
|
|
6565
|
+
*
|
|
6566
|
+
* Replaces search-filter attributes of an existing attachment without reingesting its content. Use an attached file id. Example body: {"attributes":{"category":"refund"}}; null clears the attributes.
|
|
6567
|
+
*/
|
|
6568
|
+
export const knowledgeUpdateFile = (options) => (options.client ?? client).post({
|
|
6569
|
+
security: [{
|
|
6570
|
+
key: 'knowledge-bearerAuth',
|
|
6571
|
+
scheme: 'bearer',
|
|
6572
|
+
type: 'http'
|
|
6573
|
+
}],
|
|
6574
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}',
|
|
6575
|
+
...options,
|
|
6576
|
+
headers: {
|
|
6577
|
+
'Content-Type': 'application/json',
|
|
6578
|
+
...options.headers
|
|
6579
|
+
}
|
|
6580
|
+
});
|
|
6581
|
+
/**
|
|
6582
|
+
* Read extracted content
|
|
6583
|
+
*
|
|
6584
|
+
* Extracted text chunks may overlap. Image content can be a generated description rather than verbatim OCR.
|
|
6585
|
+
*/
|
|
6586
|
+
export const knowledgeRetrieveFileContent = (options) => (options.client ?? client).get({
|
|
6587
|
+
security: [{
|
|
6588
|
+
key: 'knowledge-bearerAuth',
|
|
6589
|
+
scheme: 'bearer',
|
|
6590
|
+
type: 'http'
|
|
6591
|
+
}],
|
|
6592
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}/content',
|
|
6593
|
+
...options
|
|
6594
|
+
});
|
|
6595
|
+
/**
|
|
6596
|
+
* Create file batch
|
|
6597
|
+
*
|
|
6598
|
+
* Attaches existing Files as a batch for asynchronous ingestion. Supply exactly one of file_ids or files; files allows per-file settings. Existing attachments are reused. Read the returned batch id to monitor status.
|
|
6599
|
+
*/
|
|
6600
|
+
export const knowledgeCreateFileBatch = (options) => (options.client ?? client).post({
|
|
6601
|
+
security: [{
|
|
6602
|
+
key: 'knowledge-bearerAuth',
|
|
6603
|
+
scheme: 'bearer',
|
|
6604
|
+
type: 'http'
|
|
6605
|
+
}],
|
|
6606
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/file_batches',
|
|
6607
|
+
...options,
|
|
6608
|
+
headers: {
|
|
6609
|
+
'Content-Type': 'application/json',
|
|
6610
|
+
...options.headers
|
|
6611
|
+
}
|
|
6612
|
+
});
|
|
6613
|
+
/**
|
|
6614
|
+
* Retrieve file batch
|
|
6615
|
+
*
|
|
6616
|
+
* Retrieves a batch created in this knowledge base, including current status and file counts. Use the batch id returned by batch creation to monitor ingestion.
|
|
6617
|
+
*/
|
|
6618
|
+
export const knowledgeRetrieveFileBatch = (options) => (options.client ?? client).get({
|
|
6619
|
+
security: [{
|
|
6620
|
+
key: 'knowledge-bearerAuth',
|
|
6621
|
+
scheme: 'bearer',
|
|
6622
|
+
type: 'http'
|
|
6623
|
+
}],
|
|
6624
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}',
|
|
6625
|
+
...options
|
|
6626
|
+
});
|
|
6627
|
+
/**
|
|
6628
|
+
* Cancel file batch
|
|
6629
|
+
*
|
|
6630
|
+
* Cancels only in-progress batches and pending files. Completed, failed and cancelled batches return unchanged (200, idempotent).
|
|
6631
|
+
*/
|
|
6632
|
+
export const knowledgeCancelFileBatch = (options) => (options.client ?? client).post({
|
|
6633
|
+
security: [{
|
|
6634
|
+
key: 'knowledge-bearerAuth',
|
|
6635
|
+
scheme: 'bearer',
|
|
6636
|
+
type: 'http'
|
|
6637
|
+
}],
|
|
6638
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel',
|
|
6639
|
+
...options
|
|
6640
|
+
});
|
|
6641
|
+
/**
|
|
6642
|
+
* List batch files
|
|
6643
|
+
*
|
|
6644
|
+
* Lists files still attached from the identified batch, newest attachment first by default. Use the batch creation id and ?filter=failed to inspect failures; last_id is the next after cursor.
|
|
6645
|
+
*/
|
|
6646
|
+
export const knowledgeListBatchFiles = (options) => (options.client ?? client).get({
|
|
6647
|
+
security: [{
|
|
6648
|
+
key: 'knowledge-bearerAuth',
|
|
6649
|
+
scheme: 'bearer',
|
|
6650
|
+
type: 'http'
|
|
6651
|
+
}],
|
|
6652
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/files',
|
|
6653
|
+
...options
|
|
6654
|
+
});
|
|
6655
|
+
/**
|
|
6656
|
+
* Restore knowledge base
|
|
6657
|
+
*
|
|
6658
|
+
* Restores a deleting store within 7 days. Active stores return 409 VECTOR_STORE_INVALID_STATE; absent stores return 404. Empty body is allowed.
|
|
6659
|
+
*/
|
|
6660
|
+
export const knowledgeRestoreVectorStore = (options) => (options.client ?? client).post({
|
|
6661
|
+
security: [{
|
|
6662
|
+
key: 'knowledge-bearerAuth',
|
|
6663
|
+
scheme: 'bearer',
|
|
6664
|
+
type: 'http'
|
|
6665
|
+
}],
|
|
6666
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/restore',
|
|
6667
|
+
...options
|
|
6668
|
+
});
|
|
6669
|
+
/**
|
|
6670
|
+
* Permanently purge knowledge base
|
|
6671
|
+
*
|
|
6672
|
+
* Immediately and irreversibly clears a deleting store using the retention cleanup path. Active stores return 409; absent stores return 404. Empty body is allowed.
|
|
6673
|
+
*/
|
|
6674
|
+
export const knowledgePurgeVectorStore = (options) => (options.client ?? client).post({
|
|
6675
|
+
security: [{
|
|
6676
|
+
key: 'knowledge-bearerAuth',
|
|
6677
|
+
scheme: 'bearer',
|
|
6678
|
+
type: 'http'
|
|
6679
|
+
}],
|
|
6680
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/purge',
|
|
6681
|
+
...options
|
|
6682
|
+
});
|
|
6683
|
+
/**
|
|
6684
|
+
* Retry failed file
|
|
6685
|
+
*
|
|
6686
|
+
* Retries only failed files; other states return 409 FILE_INVALID_STATE. Retry after failure has not yet been observed in the documented run.
|
|
6687
|
+
*/
|
|
6688
|
+
export const knowledgeRetryFile = (options) => (options.client ?? client).post({
|
|
6689
|
+
security: [{
|
|
6690
|
+
key: 'knowledge-bearerAuth',
|
|
6691
|
+
scheme: 'bearer',
|
|
6692
|
+
type: 'http'
|
|
6693
|
+
}],
|
|
6694
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}/retry',
|
|
6695
|
+
...options
|
|
6696
|
+
});
|
|
6697
|
+
/**
|
|
6698
|
+
* List file segments
|
|
6699
|
+
*
|
|
6700
|
+
* Lists the stored chunks of an attached file, ordered by increasing segment index by default. Use the attachment id and last_id as after to continue; returned chunk ids can be retrieved individually.
|
|
6701
|
+
*/
|
|
6702
|
+
export const knowledgeListSegments = (options) => (options.client ?? client).get({
|
|
6703
|
+
security: [{
|
|
6704
|
+
key: 'knowledge-bearerAuth',
|
|
6705
|
+
scheme: 'bearer',
|
|
6706
|
+
type: 'http'
|
|
6707
|
+
}],
|
|
6708
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}/segments',
|
|
6709
|
+
...options
|
|
6710
|
+
});
|
|
6711
|
+
/**
|
|
6712
|
+
* Retrieve segment
|
|
6713
|
+
*
|
|
6714
|
+
* Retrieves one chunk and its term statistics. Take chunk_id from segment listing or native search content; the chunk must belong to this knowledge base.
|
|
6715
|
+
*/
|
|
6716
|
+
export const knowledgeRetrieveSegment = (options) => (options.client ?? client).get({
|
|
6717
|
+
security: [{
|
|
6718
|
+
key: 'knowledge-bearerAuth',
|
|
6719
|
+
scheme: 'bearer',
|
|
6720
|
+
type: 'http'
|
|
6721
|
+
}],
|
|
6722
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/segments/{chunk_id}',
|
|
6723
|
+
...options
|
|
6724
|
+
});
|
|
6725
|
+
/**
|
|
6726
|
+
* List events
|
|
6727
|
+
*
|
|
6728
|
+
* Reads events for this knowledge base in increasing sequence order, including while soft-deleted. Pass next_seq as after_seq to continue; null next_seq marks the current end. Example: ?after_seq=0&limit=20.
|
|
6729
|
+
*/
|
|
6730
|
+
export const knowledgeListEvents = (options) => (options.client ?? client).get({
|
|
6731
|
+
security: [{
|
|
6732
|
+
key: 'knowledge-bearerAuth',
|
|
6733
|
+
scheme: 'bearer',
|
|
6734
|
+
type: 'http'
|
|
6735
|
+
}],
|
|
6736
|
+
url: '/knowledge/v1/vector_stores/{vector_store_id}/events',
|
|
6737
|
+
...options
|
|
6738
|
+
});
|
|
6739
|
+
/**
|
|
6740
|
+
* List libraries
|
|
6741
|
+
*
|
|
6742
|
+
* List libraries owned by the caller, newest first. By default, deleting and deleted libraries are excluded; use status=deleting to find libraries awaiting purge. All supplied label pairs must match.
|
|
6743
|
+
*/
|
|
6744
|
+
export const mediaListLibraries = (options) => (options?.client ?? client).get({
|
|
6745
|
+
security: [{
|
|
6746
|
+
key: 'media-BearerAuth',
|
|
6747
|
+
scheme: 'bearer',
|
|
6748
|
+
type: 'http'
|
|
6749
|
+
}],
|
|
6750
|
+
url: '/media/v1/libraries',
|
|
6751
|
+
...options
|
|
6752
|
+
});
|
|
6753
|
+
/**
|
|
6754
|
+
* Create library
|
|
6755
|
+
*
|
|
6756
|
+
* Create a library owned by the caller with a name, optional labels and understanding settings. Understanding is enabled by default; the returned id is used for subsequent asset operations.
|
|
6757
|
+
*/
|
|
6758
|
+
export const mediaCreateLibrary = (options) => (options.client ?? client).post({
|
|
6759
|
+
security: [{
|
|
6760
|
+
key: 'media-BearerAuth',
|
|
6761
|
+
scheme: 'bearer',
|
|
6762
|
+
type: 'http'
|
|
6763
|
+
}],
|
|
6764
|
+
url: '/media/v1/libraries',
|
|
6765
|
+
...options,
|
|
6766
|
+
headers: {
|
|
6767
|
+
'Content-Type': 'application/json',
|
|
6768
|
+
...options.headers
|
|
6769
|
+
}
|
|
6770
|
+
});
|
|
6771
|
+
/**
|
|
6772
|
+
* Delete library
|
|
6773
|
+
*
|
|
6774
|
+
* Soft-delete an active library, returning its deleting status and purge_at deadline. Asset operations and delivery become unavailable; the library can be restored before purge_at. Repeated deletion while deleting returns the current library.
|
|
6775
|
+
*/
|
|
6776
|
+
export const mediaDeleteLibrary = (options) => (options.client ?? client).delete({
|
|
6777
|
+
security: [{
|
|
6778
|
+
key: 'media-BearerAuth',
|
|
6779
|
+
scheme: 'bearer',
|
|
6780
|
+
type: 'http'
|
|
6781
|
+
}],
|
|
6782
|
+
url: '/media/v1/libraries/{library_id}',
|
|
6783
|
+
...options
|
|
6784
|
+
});
|
|
6785
|
+
/**
|
|
6786
|
+
* Get library
|
|
6787
|
+
*
|
|
6788
|
+
* Read a caller-owned library’s current settings, usage and lifecycle status. A deleting library remains readable; missing, foreign or purged libraries return LIBRARY_NOT_FOUND.
|
|
6789
|
+
*/
|
|
6790
|
+
export const mediaGetLibrary = (options) => (options.client ?? client).get({
|
|
6791
|
+
security: [{
|
|
6792
|
+
key: 'media-BearerAuth',
|
|
6793
|
+
scheme: 'bearer',
|
|
6794
|
+
type: 'http'
|
|
6795
|
+
}],
|
|
6796
|
+
url: '/media/v1/libraries/{library_id}',
|
|
6797
|
+
...options
|
|
6798
|
+
});
|
|
6799
|
+
/**
|
|
6800
|
+
* Update library
|
|
6801
|
+
*
|
|
6802
|
+
* Update an active library’s supplied settings. Labels replace the complete map; understanding settings and model roles merge with current values. Changing the embedding model is rejected while assets exist.
|
|
6803
|
+
*/
|
|
6804
|
+
export const mediaUpdateLibrary = (options) => (options.client ?? client).patch({
|
|
6805
|
+
security: [{
|
|
6806
|
+
key: 'media-BearerAuth',
|
|
6807
|
+
scheme: 'bearer',
|
|
6808
|
+
type: 'http'
|
|
6809
|
+
}],
|
|
6810
|
+
url: '/media/v1/libraries/{library_id}',
|
|
6811
|
+
...options,
|
|
6812
|
+
headers: {
|
|
6813
|
+
'Content-Type': 'application/json',
|
|
6814
|
+
...options.headers
|
|
6815
|
+
}
|
|
6816
|
+
});
|
|
6817
|
+
/**
|
|
6818
|
+
* Restore library
|
|
6819
|
+
*
|
|
6820
|
+
* Restore a deleting library before its purge_at deadline. The library becomes active again and deleted_at and purge_at are cleared; expired or non-deleting libraries cannot be restored.
|
|
6821
|
+
*/
|
|
6822
|
+
export const mediaRestoreLibrary = (options) => (options.client ?? client).post({
|
|
6823
|
+
security: [{
|
|
6824
|
+
key: 'media-BearerAuth',
|
|
6825
|
+
scheme: 'bearer',
|
|
6826
|
+
type: 'http'
|
|
6827
|
+
}],
|
|
6828
|
+
url: '/media/v1/libraries/{library_id}/restore',
|
|
6829
|
+
...options
|
|
6830
|
+
});
|
|
6831
|
+
/**
|
|
6832
|
+
* Purge library
|
|
6833
|
+
*
|
|
6834
|
+
* Permanently remove a library that is already deleting, without waiting for purge_at. Its assets and related resources are removed and cannot be restored; first soft-delete an active library.
|
|
6835
|
+
*/
|
|
6836
|
+
export const mediaPurgeLibrary = (options) => (options.client ?? client).post({
|
|
6837
|
+
security: [{
|
|
6838
|
+
key: 'media-BearerAuth',
|
|
6839
|
+
scheme: 'bearer',
|
|
6840
|
+
type: 'http'
|
|
6841
|
+
}],
|
|
6842
|
+
url: '/media/v1/libraries/{library_id}/purge',
|
|
6843
|
+
...options
|
|
6844
|
+
});
|
|
6845
|
+
/**
|
|
6846
|
+
* List assets
|
|
6847
|
+
*
|
|
6848
|
+
* List assets in an active library, newest first, optionally filtering by exact folder and stored resource type. Continue using next_cursor; video includes audio-only assets.
|
|
6849
|
+
*/
|
|
6850
|
+
export const mediaListAssets = (options) => (options.client ?? client).get({
|
|
6851
|
+
security: [{
|
|
6852
|
+
key: 'media-BearerAuth',
|
|
6853
|
+
scheme: 'bearer',
|
|
6854
|
+
type: 'http'
|
|
6855
|
+
}],
|
|
6856
|
+
url: '/media/v1/libraries/{library_id}/assets',
|
|
6857
|
+
...options
|
|
6858
|
+
});
|
|
6859
|
+
/**
|
|
6860
|
+
* Upload asset
|
|
6861
|
+
*
|
|
6862
|
+
* Upload content into an active library and return a Cloudinary-compatible resource. Use file for a multipart file, data URI, public HTTPS URL or same-owner file identifier. Reusing public_id overwrites by default; overwrite=false returns the existing resource. Chunk uploads require both chunk headers.
|
|
6863
|
+
*/
|
|
6864
|
+
export const mediaUploadAsset = (options) => (options.client ?? client).post({
|
|
6865
|
+
security: [{
|
|
6866
|
+
key: 'media-BearerAuth',
|
|
6867
|
+
scheme: 'bearer',
|
|
6868
|
+
type: 'http'
|
|
6869
|
+
}],
|
|
6870
|
+
url: '/media/v1/libraries/{library_id}/assets',
|
|
6871
|
+
...options,
|
|
6872
|
+
headers: {
|
|
6873
|
+
'Content-Type': 'application/json',
|
|
6874
|
+
...options.headers
|
|
6875
|
+
}
|
|
6876
|
+
});
|
|
6877
|
+
/**
|
|
6878
|
+
* Import file
|
|
6879
|
+
*
|
|
6880
|
+
* Copy source content into an active library using upload options and return the full native Asset. The imported asset is independent of the source after copying. Reusing public_id follows overwrite semantics.
|
|
6881
|
+
*/
|
|
6882
|
+
export const mediaImportAsset = (options) => (options.client ?? client).post({
|
|
6883
|
+
security: [{
|
|
6884
|
+
key: 'media-BearerAuth',
|
|
6885
|
+
scheme: 'bearer',
|
|
6886
|
+
type: 'http'
|
|
6887
|
+
}],
|
|
6888
|
+
url: '/media/v1/libraries/{library_id}/assets/import',
|
|
6889
|
+
...options,
|
|
6890
|
+
headers: {
|
|
6891
|
+
'Content-Type': 'application/json',
|
|
6892
|
+
...options.headers
|
|
6893
|
+
}
|
|
6894
|
+
});
|
|
6895
|
+
/**
|
|
6896
|
+
* Delete asset
|
|
6897
|
+
*
|
|
6898
|
+
* Delete an asset from the library so it is no longer readable, searchable or deliverable. This removes the asset rather than placing it in the library’s restoration window; a missing asset returns ASSET_NOT_FOUND.
|
|
6899
|
+
*/
|
|
6900
|
+
export const mediaDeleteAsset = (options) => (options.client ?? client).delete({
|
|
6901
|
+
security: [{
|
|
6902
|
+
key: 'media-BearerAuth',
|
|
6903
|
+
scheme: 'bearer',
|
|
6904
|
+
type: 'http'
|
|
6905
|
+
}],
|
|
6906
|
+
url: '/media/v1/libraries/{library_id}/assets/{asset_id}',
|
|
6907
|
+
...options
|
|
6908
|
+
});
|
|
6909
|
+
/**
|
|
6910
|
+
* Get asset
|
|
6911
|
+
*
|
|
6912
|
+
* Read a non-deleted asset by its asset_id in an active library, including content hashes, processing progress and available previews. Missing or deleted assets return ASSET_NOT_FOUND.
|
|
6913
|
+
*/
|
|
6914
|
+
export const mediaGetAsset = (options) => (options.client ?? client).get({
|
|
6915
|
+
security: [{
|
|
6916
|
+
key: 'media-BearerAuth',
|
|
6917
|
+
scheme: 'bearer',
|
|
6918
|
+
type: 'http'
|
|
6919
|
+
}],
|
|
6920
|
+
url: '/media/v1/libraries/{library_id}/assets/{asset_id}',
|
|
6921
|
+
...options
|
|
6922
|
+
});
|
|
6923
|
+
/**
|
|
6924
|
+
* Update asset
|
|
6925
|
+
*
|
|
6926
|
+
* Update an asset’s supplied metadata fields. Tags and context replace their current collections; an empty collection clears them. Moving asset_folder or changing display_name preserves public_id and delivery URLs.
|
|
6927
|
+
*/
|
|
6928
|
+
export const mediaUpdateAsset = (options) => (options.client ?? client).patch({
|
|
6929
|
+
security: [{
|
|
6930
|
+
key: 'media-BearerAuth',
|
|
6931
|
+
scheme: 'bearer',
|
|
6932
|
+
type: 'http'
|
|
6933
|
+
}],
|
|
6934
|
+
url: '/media/v1/libraries/{library_id}/assets/{asset_id}',
|
|
6935
|
+
...options,
|
|
6936
|
+
headers: {
|
|
6937
|
+
'Content-Type': 'application/json',
|
|
6938
|
+
...options.headers
|
|
6939
|
+
}
|
|
6940
|
+
});
|
|
6941
|
+
/**
|
|
6942
|
+
* Reprocess asset
|
|
6943
|
+
*
|
|
6944
|
+
* Queue reprocessing of the asset’s current version and return its updated state immediately. Omit kinds to retry failed tasks; explicit kinds rerun applicable completed tasks. Replaced understandings become superseded, and processing finishes asynchronously.
|
|
6945
|
+
*/
|
|
6946
|
+
export const mediaReprocessAsset = (options) => (options.client ?? client).post({
|
|
6947
|
+
security: [{
|
|
6948
|
+
key: 'media-BearerAuth',
|
|
6949
|
+
scheme: 'bearer',
|
|
6950
|
+
type: 'http'
|
|
6951
|
+
}],
|
|
6952
|
+
url: '/media/v1/libraries/{library_id}/assets/{asset_id}/reprocess',
|
|
6953
|
+
...options,
|
|
6954
|
+
headers: {
|
|
6955
|
+
'Content-Type': 'application/json',
|
|
6956
|
+
...options.headers
|
|
6957
|
+
}
|
|
6958
|
+
});
|
|
6959
|
+
/**
|
|
6960
|
+
* List understandings
|
|
6961
|
+
*
|
|
6962
|
+
* List an asset’s understanding results in creation order. By default only current, non-superseded results are returned; use include_superseded=true for history or kind to select an output type.
|
|
6963
|
+
*/
|
|
6964
|
+
export const mediaListUnderstandings = (options) => (options.client ?? client).get({
|
|
6965
|
+
security: [{
|
|
6966
|
+
key: 'media-BearerAuth',
|
|
6967
|
+
scheme: 'bearer',
|
|
6968
|
+
type: 'http'
|
|
6969
|
+
}],
|
|
6970
|
+
url: '/media/v1/libraries/{library_id}/assets/{asset_id}/understandings',
|
|
6971
|
+
...options
|
|
6972
|
+
});
|
|
6973
|
+
/**
|
|
6974
|
+
* Expression search
|
|
6975
|
+
*
|
|
6976
|
+
* Search active assets using the supported filter-expression syntax, sorting and cursor pagination. Empty expression matches all assets. Tags and context require with_field; inspect the exactness flags before treating counts as complete.
|
|
6977
|
+
*/
|
|
6978
|
+
export const mediaExpressionSearch = (options) => (options.client ?? client).post({
|
|
6979
|
+
security: [{
|
|
6980
|
+
key: 'media-BearerAuth',
|
|
6981
|
+
scheme: 'bearer',
|
|
6982
|
+
type: 'http'
|
|
6983
|
+
}],
|
|
6984
|
+
url: '/media/v1/libraries/{library_id}/search/expression',
|
|
6985
|
+
...options,
|
|
6986
|
+
headers: {
|
|
6987
|
+
'Content-Type': 'application/json',
|
|
6988
|
+
...options.headers
|
|
6989
|
+
}
|
|
6990
|
+
});
|
|
6991
|
+
/**
|
|
6992
|
+
* Visual search
|
|
6993
|
+
*
|
|
6994
|
+
* Find visually similar assets using exactly one of asset_id or an inline base64 image. The library must support image search; an asset query needs a current image embedding and excludes that source asset from results.
|
|
6995
|
+
*/
|
|
6996
|
+
export const mediaVisualSearch = (options) => (options.client ?? client).post({
|
|
6997
|
+
security: [{
|
|
6998
|
+
key: 'media-BearerAuth',
|
|
6999
|
+
scheme: 'bearer',
|
|
7000
|
+
type: 'http'
|
|
7001
|
+
}],
|
|
7002
|
+
url: '/media/v1/libraries/{library_id}/search/visual',
|
|
7003
|
+
...options,
|
|
7004
|
+
headers: {
|
|
7005
|
+
'Content-Type': 'application/json',
|
|
7006
|
+
...options.headers
|
|
7007
|
+
}
|
|
7008
|
+
});
|
|
7009
|
+
/**
|
|
7010
|
+
* Semantic search
|
|
7011
|
+
*
|
|
7012
|
+
* Search assets with a nonblank text query and optional expression filter. Hybrid mode combines semantic and keyword matches; semantic mode uses vector similarity only. Results are ranked and limited by top_k.
|
|
7013
|
+
*/
|
|
7014
|
+
export const mediaSemanticSearch = (options) => (options.client ?? client).post({
|
|
7015
|
+
security: [{
|
|
7016
|
+
key: 'media-BearerAuth',
|
|
7017
|
+
scheme: 'bearer',
|
|
7018
|
+
type: 'http'
|
|
7019
|
+
}],
|
|
7020
|
+
url: '/media/v1/libraries/{library_id}/search/semantic',
|
|
7021
|
+
...options,
|
|
7022
|
+
headers: {
|
|
7023
|
+
'Content-Type': 'application/json',
|
|
7024
|
+
...options.headers
|
|
7025
|
+
}
|
|
7026
|
+
});
|
|
7027
|
+
/**
|
|
7028
|
+
* Semantic search alias
|
|
7029
|
+
*
|
|
7030
|
+
* Alias of semantic search. Search assets with a nonblank text query, optional expression filter and top_k; hybrid combines semantic and keyword matches, while semantic uses vector similarity only.
|
|
7031
|
+
*/
|
|
7032
|
+
export const mediaSearch = (options) => (options.client ?? client).post({
|
|
7033
|
+
security: [{
|
|
7034
|
+
key: 'media-BearerAuth',
|
|
7035
|
+
scheme: 'bearer',
|
|
7036
|
+
type: 'http'
|
|
7037
|
+
}],
|
|
7038
|
+
url: '/media/v1/libraries/{library_id}/search',
|
|
7039
|
+
...options,
|
|
7040
|
+
headers: {
|
|
7041
|
+
'Content-Type': 'application/json',
|
|
7042
|
+
...options.headers
|
|
7043
|
+
}
|
|
7044
|
+
});
|
|
7045
|
+
/**
|
|
7046
|
+
* List folders
|
|
7047
|
+
*
|
|
7048
|
+
* List all immediate child folders under parent, or under the root when parent is omitted. Counts include descendant assets. The result is unpaginated; limit and cursor are rejected.
|
|
7049
|
+
*/
|
|
7050
|
+
export const mediaListFolders = (options) => (options.client ?? client).get({
|
|
7051
|
+
security: [{
|
|
7052
|
+
key: 'media-BearerAuth',
|
|
7053
|
+
scheme: 'bearer',
|
|
7054
|
+
type: 'http'
|
|
7055
|
+
}],
|
|
7056
|
+
url: '/media/v1/libraries/{library_id}/folders',
|
|
7057
|
+
...options
|
|
7058
|
+
});
|
|
7059
|
+
/**
|
|
7060
|
+
* Create batch
|
|
7061
|
+
*
|
|
7062
|
+
* Create an asynchronous batch for tagging, untagging, replacing context, moving or deleting assets. Select ids or an expression; selection is frozen at creation. Poll the returned job id for completion and per-item failures.
|
|
7063
|
+
*/
|
|
7064
|
+
export const mediaCreateBatch = (options) => (options.client ?? client).post({
|
|
7065
|
+
security: [{
|
|
7066
|
+
key: 'media-BearerAuth',
|
|
7067
|
+
scheme: 'bearer',
|
|
7068
|
+
type: 'http'
|
|
7069
|
+
}],
|
|
7070
|
+
url: '/media/v1/libraries/{library_id}/batches',
|
|
7071
|
+
...options,
|
|
7072
|
+
headers: {
|
|
7073
|
+
'Content-Type': 'application/json',
|
|
7074
|
+
...options.headers
|
|
7075
|
+
}
|
|
7076
|
+
});
|
|
7077
|
+
/**
|
|
7078
|
+
* Get batch
|
|
7079
|
+
*
|
|
7080
|
+
* Read a batch job’s status, successful and failed item counts, and a bounded list of failed items. Use the id returned by batch creation; a job outside this library is not found.
|
|
7081
|
+
*/
|
|
7082
|
+
export const mediaGetBatch = (options) => (options.client ?? client).get({
|
|
7083
|
+
security: [{
|
|
7084
|
+
key: 'media-BearerAuth',
|
|
7085
|
+
scheme: 'bearer',
|
|
7086
|
+
type: 'http'
|
|
7087
|
+
}],
|
|
7088
|
+
url: '/media/v1/libraries/{library_id}/batches/{job_id}',
|
|
7089
|
+
...options
|
|
7090
|
+
});
|
|
7091
|
+
/**
|
|
7092
|
+
* Batch assets alias
|
|
7093
|
+
*
|
|
7094
|
+
* Alias of batch creation. Apply one metadata or deletion action to ids or a frozen expression selection asynchronously; poll the returned job id to inspect completion and item failures.
|
|
7095
|
+
*/
|
|
7096
|
+
export const mediaBatchAssets = (options) => (options.client ?? client).post({
|
|
7097
|
+
security: [{
|
|
7098
|
+
key: 'media-BearerAuth',
|
|
7099
|
+
scheme: 'bearer',
|
|
7100
|
+
type: 'http'
|
|
7101
|
+
}],
|
|
7102
|
+
url: '/media/v1/libraries/{library_id}/assets:batch',
|
|
7103
|
+
...options,
|
|
7104
|
+
headers: {
|
|
7105
|
+
'Content-Type': 'application/json',
|
|
7106
|
+
...options.headers
|
|
7107
|
+
}
|
|
7108
|
+
});
|
|
7109
|
+
/**
|
|
7110
|
+
* Get job alias
|
|
7111
|
+
*
|
|
7112
|
+
* Alias of batch retrieval. Read the job returned by a batch request, including terminal status, successful and failed counts, and individual failure codes.
|
|
7113
|
+
*/
|
|
7114
|
+
export const mediaGetJob = (options) => (options.client ?? client).get({
|
|
7115
|
+
security: [{
|
|
7116
|
+
key: 'media-BearerAuth',
|
|
7117
|
+
scheme: 'bearer',
|
|
7118
|
+
type: 'http'
|
|
7119
|
+
}],
|
|
7120
|
+
url: '/media/v1/libraries/{library_id}/jobs/{job_id}',
|
|
7121
|
+
...options
|
|
7122
|
+
});
|
|
7123
|
+
/**
|
|
7124
|
+
* List events
|
|
7125
|
+
*
|
|
7126
|
+
* Read library events in sequence order, including while the library is deleting. Page forward with asc and after_seq, or backward with desc and before_seq; never combine the two sequence cursors.
|
|
7127
|
+
*/
|
|
7128
|
+
export const mediaListEvents = (options) => (options.client ?? client).get({
|
|
7129
|
+
security: [{
|
|
7130
|
+
key: 'media-BearerAuth',
|
|
7131
|
+
scheme: 'bearer',
|
|
7132
|
+
type: 'http'
|
|
7133
|
+
}],
|
|
7134
|
+
url: '/media/v1/libraries/{library_id}/events',
|
|
7135
|
+
...options
|
|
7136
|
+
});
|
|
7137
|
+
/**
|
|
7138
|
+
* Create delivery token
|
|
7139
|
+
*
|
|
7140
|
+
* Issue a time-limited bearer token for originals and transformed authenticated assets in an active library. Use library_id from library creation or listing; read access is sufficient. Append token as the __cld_token__ query parameter on a matching delivery URL. The default ACL covers this library and the default lifetime is 3600 seconds; narrow acl and expires_in before sharing. Anyone holding the token can read matching paths until expires_at.
|
|
7141
|
+
*/
|
|
7142
|
+
export const mediaCreateDeliveryToken = (options) => (options.client ?? client).post({
|
|
7143
|
+
security: [{
|
|
7144
|
+
key: 'media-BearerAuth',
|
|
7145
|
+
scheme: 'bearer',
|
|
7146
|
+
type: 'http'
|
|
7147
|
+
}],
|
|
7148
|
+
url: '/media/v1/libraries/{library_id}/delivery_tokens',
|
|
7149
|
+
...options,
|
|
7150
|
+
headers: {
|
|
7151
|
+
'Content-Type': 'application/json',
|
|
7152
|
+
...options.headers
|
|
7153
|
+
}
|
|
7154
|
+
});
|
|
7155
|
+
/**
|
|
7156
|
+
* List sandboxes (v2)
|
|
7157
|
+
*
|
|
7158
|
+
* List your running and paused sandboxes with paging and filters. Use it to find a sandboxID before connecting to, pausing or killing a sandbox. Filter by state, template (id or alias), name, metadata (key=value pairs joined with &) and startedAfter; order sorts by start time (default newest first); limit is 1 to 100 (default 100). When more results exist the response carries an x-next-token header; send it back as nextToken for the next page. To read one sandbox use getSandbox.
|
|
7159
|
+
*/
|
|
7160
|
+
export const getSandboxV1Sandboxes = (options) => (options?.client ?? client).get({
|
|
7161
|
+
querySerializer: { parameters: { state: { array: { explode: false } } } },
|
|
7162
|
+
security: [
|
|
7163
|
+
{
|
|
7164
|
+
key: 'sandbox-ApiKeyAuth',
|
|
7165
|
+
name: 'X-API-Key',
|
|
7166
|
+
type: 'apiKey'
|
|
7167
|
+
},
|
|
7168
|
+
{
|
|
7169
|
+
key: 'sandbox-AuthProviderBearerAuth',
|
|
7170
|
+
scheme: 'bearer',
|
|
7171
|
+
type: 'http'
|
|
7172
|
+
},
|
|
7173
|
+
{
|
|
7174
|
+
key: 'sandbox-AuthProviderTeamAuth',
|
|
7175
|
+
name: 'X-Team-ID',
|
|
7176
|
+
type: 'apiKey'
|
|
7177
|
+
},
|
|
7178
|
+
{ name: 'X-Admin-Token', type: 'apiKey' },
|
|
7179
|
+
{
|
|
7180
|
+
key: 'sandbox-AdminTeamAuth',
|
|
7181
|
+
name: 'X-Team-ID',
|
|
7182
|
+
type: 'apiKey'
|
|
7183
|
+
},
|
|
7184
|
+
{
|
|
7185
|
+
key: 'sandbox-AdminJWTAuth',
|
|
7186
|
+
scheme: 'bearer',
|
|
7187
|
+
type: 'http'
|
|
7188
|
+
}
|
|
7189
|
+
],
|
|
7190
|
+
url: '/sandbox/v1/sandboxes',
|
|
7191
|
+
...options
|
|
7192
|
+
});
|
|
7193
|
+
/**
|
|
7194
|
+
* Create sandbox (v2)
|
|
7195
|
+
*
|
|
7196
|
+
* Create a sandbox from the template. All system communication with the sandbox is secured.
|
|
7197
|
+
*/
|
|
7198
|
+
export const postSandboxV1Sandboxes = (options) => (options.client ?? client).post({
|
|
7199
|
+
security: [
|
|
7200
|
+
{
|
|
7201
|
+
key: 'sandbox-ApiKeyAuth',
|
|
7202
|
+
name: 'X-API-Key',
|
|
7203
|
+
type: 'apiKey'
|
|
7204
|
+
},
|
|
7205
|
+
{
|
|
7206
|
+
key: 'sandbox-AuthProviderBearerAuth',
|
|
7207
|
+
scheme: 'bearer',
|
|
7208
|
+
type: 'http'
|
|
7209
|
+
},
|
|
7210
|
+
{
|
|
7211
|
+
key: 'sandbox-AuthProviderTeamAuth',
|
|
7212
|
+
name: 'X-Team-ID',
|
|
7213
|
+
type: 'apiKey'
|
|
7214
|
+
},
|
|
7215
|
+
{ name: 'X-Admin-Token', type: 'apiKey' },
|
|
7216
|
+
{
|
|
7217
|
+
key: 'sandbox-AdminTeamAuth',
|
|
7218
|
+
name: 'X-Team-ID',
|
|
7219
|
+
type: 'apiKey'
|
|
7220
|
+
},
|
|
7221
|
+
{
|
|
7222
|
+
key: 'sandbox-AdminJWTAuth',
|
|
7223
|
+
scheme: 'bearer',
|
|
7224
|
+
type: 'http'
|
|
7225
|
+
}
|
|
7226
|
+
],
|
|
7227
|
+
url: '/sandbox/v1/sandboxes',
|
|
7228
|
+
...options,
|
|
7229
|
+
headers: {
|
|
7230
|
+
'Content-Type': 'application/json',
|
|
7231
|
+
...options.headers
|
|
7232
|
+
}
|
|
7233
|
+
});
|
|
7234
|
+
/**
|
|
7235
|
+
* Sandbox metrics
|
|
7236
|
+
*
|
|
7237
|
+
* 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.
|
|
7238
|
+
*/
|
|
7239
|
+
export const getSandboxV1SandboxesBySandboxIdMetrics = (options) => (options.client ?? client).get({
|
|
7240
|
+
security: [
|
|
7241
|
+
{
|
|
7242
|
+
key: 'sandbox-ApiKeyAuth',
|
|
7243
|
+
name: 'X-API-Key',
|
|
7244
|
+
type: 'apiKey'
|
|
7245
|
+
},
|
|
7246
|
+
{
|
|
7247
|
+
key: 'sandbox-AuthProviderBearerAuth',
|
|
7248
|
+
scheme: 'bearer',
|
|
7249
|
+
type: 'http'
|
|
7250
|
+
},
|
|
7251
|
+
{
|
|
7252
|
+
key: 'sandbox-AuthProviderTeamAuth',
|
|
7253
|
+
name: 'X-Team-ID',
|
|
7254
|
+
type: 'apiKey'
|
|
7255
|
+
},
|
|
7256
|
+
{ name: 'X-Admin-Token', type: 'apiKey' },
|
|
7257
|
+
{
|
|
7258
|
+
key: 'sandbox-AdminTeamAuth',
|
|
7259
|
+
name: 'X-Team-ID',
|
|
7260
|
+
type: 'apiKey'
|
|
7261
|
+
},
|
|
7262
|
+
{
|
|
7263
|
+
key: 'sandbox-AdminJWTAuth',
|
|
7264
|
+
scheme: 'bearer',
|
|
7265
|
+
type: 'http'
|
|
7266
|
+
}
|
|
7267
|
+
],
|
|
7268
|
+
url: '/sandbox/v1/sandboxes/{sandboxID}/metrics',
|
|
7269
|
+
...options
|
|
7270
|
+
});
|
|
7271
|
+
/**
|
|
7272
|
+
* Pause sandbox
|
|
7273
|
+
*
|
|
7274
|
+
* 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.
|
|
7275
|
+
*/
|
|
7276
|
+
export const postSandboxV1SandboxesBySandboxIdPause = (options) => (options.client ?? client).post({
|
|
7277
|
+
security: [
|
|
7278
|
+
{
|
|
7279
|
+
key: 'sandbox-ApiKeyAuth',
|
|
7280
|
+
name: 'X-API-Key',
|
|
7281
|
+
type: 'apiKey'
|
|
7282
|
+
},
|
|
7283
|
+
{
|
|
7284
|
+
key: 'sandbox-AuthProviderBearerAuth',
|
|
7285
|
+
scheme: 'bearer',
|
|
7286
|
+
type: 'http'
|
|
7287
|
+
},
|
|
7288
|
+
{
|
|
7289
|
+
key: 'sandbox-AuthProviderTeamAuth',
|
|
7290
|
+
name: 'X-Team-ID',
|
|
7291
|
+
type: 'apiKey'
|
|
7292
|
+
},
|
|
7293
|
+
{ name: 'X-Admin-Token', type: 'apiKey' },
|
|
7294
|
+
{
|
|
7295
|
+
key: 'sandbox-AdminTeamAuth',
|
|
7296
|
+
name: 'X-Team-ID',
|
|
7297
|
+
type: 'apiKey'
|
|
7298
|
+
},
|
|
7299
|
+
{
|
|
7300
|
+
key: 'sandbox-AdminJWTAuth',
|
|
7301
|
+
scheme: 'bearer',
|
|
7302
|
+
type: 'http'
|
|
7303
|
+
}
|
|
7304
|
+
],
|
|
7305
|
+
url: '/sandbox/v1/sandboxes/{sandboxID}/pause',
|
|
7306
|
+
...options,
|
|
7307
|
+
headers: {
|
|
7308
|
+
'Content-Type': 'application/json',
|
|
7309
|
+
...options.headers
|
|
7310
|
+
}
|
|
7311
|
+
});
|
|
7312
|
+
/**
|
|
7313
|
+
* Set sandbox timeout
|
|
7314
|
+
*
|
|
7315
|
+
* Set the timeout for the sandbox. The sandbox will expire x seconds from the time of the request. Calling this method multiple times overwrites the TTL, each time using the current timestamp as the starting point to measure the timeout duration.
|
|
7316
|
+
*/
|
|
7317
|
+
export const postSandboxV1SandboxesBySandboxIdTimeout = (options) => (options.client ?? client).post({
|
|
7318
|
+
security: [
|
|
7319
|
+
{
|
|
7320
|
+
key: 'sandbox-ApiKeyAuth',
|
|
7321
|
+
name: 'X-API-Key',
|
|
7322
|
+
type: 'apiKey'
|
|
7323
|
+
},
|
|
7324
|
+
{
|
|
7325
|
+
key: 'sandbox-AuthProviderBearerAuth',
|
|
7326
|
+
scheme: 'bearer',
|
|
7327
|
+
type: 'http'
|
|
7328
|
+
},
|
|
7329
|
+
{
|
|
7330
|
+
key: 'sandbox-AuthProviderTeamAuth',
|
|
7331
|
+
name: 'X-Team-ID',
|
|
7332
|
+
type: 'apiKey'
|
|
7333
|
+
},
|
|
7334
|
+
{ name: 'X-Admin-Token', type: 'apiKey' },
|
|
7335
|
+
{
|
|
7336
|
+
key: 'sandbox-AdminTeamAuth',
|
|
7337
|
+
name: 'X-Team-ID',
|
|
7338
|
+
type: 'apiKey'
|
|
7339
|
+
},
|
|
7340
|
+
{
|
|
7341
|
+
key: 'sandbox-AdminJWTAuth',
|
|
7342
|
+
scheme: 'bearer',
|
|
7343
|
+
type: 'http'
|
|
7344
|
+
}
|
|
7345
|
+
],
|
|
7346
|
+
url: '/sandbox/v1/sandboxes/{sandboxID}/timeout',
|
|
7347
|
+
...options,
|
|
7348
|
+
headers: {
|
|
7349
|
+
'Content-Type': 'application/json',
|
|
7350
|
+
...options.headers
|
|
7351
|
+
}
|
|
7352
|
+
});
|
|
7353
|
+
/**
|
|
7354
|
+
* Connect sandbox (v2)
|
|
7355
|
+
*
|
|
7356
|
+
* 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.
|
|
7357
|
+
*/
|
|
7358
|
+
export const postSandboxV1SandboxesBySandboxIdConnect = (options) => (options.client ?? client).post({
|
|
7359
|
+
security: [
|
|
7360
|
+
{
|
|
7361
|
+
key: 'sandbox-ApiKeyAuth',
|
|
7362
|
+
name: 'X-API-Key',
|
|
7363
|
+
type: 'apiKey'
|
|
7364
|
+
},
|
|
7365
|
+
{
|
|
7366
|
+
key: 'sandbox-AuthProviderBearerAuth',
|
|
7367
|
+
scheme: 'bearer',
|
|
7368
|
+
type: 'http'
|
|
7369
|
+
},
|
|
7370
|
+
{
|
|
7371
|
+
key: 'sandbox-AuthProviderTeamAuth',
|
|
7372
|
+
name: 'X-Team-ID',
|
|
7373
|
+
type: 'apiKey'
|
|
7374
|
+
},
|
|
7375
|
+
{ name: 'X-Admin-Token', type: 'apiKey' },
|
|
7376
|
+
{
|
|
7377
|
+
key: 'sandbox-AdminTeamAuth',
|
|
7378
|
+
name: 'X-Team-ID',
|
|
7379
|
+
type: 'apiKey'
|
|
7380
|
+
},
|
|
7381
|
+
{
|
|
7382
|
+
key: 'sandbox-AdminJWTAuth',
|
|
6146
7383
|
scheme: 'bearer',
|
|
6147
7384
|
type: 'http'
|
|
6148
|
-
}
|
|
6149
|
-
|
|
7385
|
+
}
|
|
7386
|
+
],
|
|
7387
|
+
url: '/sandbox/v1/sandboxes/{sandboxID}/connect',
|
|
6150
7388
|
...options,
|
|
6151
7389
|
headers: {
|
|
6152
7390
|
'Content-Type': 'application/json',
|
|
@@ -6154,40 +7392,89 @@ export const mediaBatchAssets = (options) => (options.client ?? client).post({
|
|
|
6154
7392
|
}
|
|
6155
7393
|
});
|
|
6156
7394
|
/**
|
|
6157
|
-
*
|
|
7395
|
+
* List templates (v2)
|
|
6158
7396
|
*
|
|
6159
|
-
*
|
|
7397
|
+
* List official templates and all your custom templates, including waiting, building, ready and error builds. Custom templates appear first; each custom row describes its latest build, not necessarily the current ready build. Use templateID for build management and a ready template name when creating a sandbox. Own-face official distinguishes public catalog entries; sourceKind is omitted until a source is submitted and on official templates. Other organizations' templates are invisible.
|
|
6160
7398
|
*/
|
|
6161
|
-
export const
|
|
6162
|
-
security: [
|
|
6163
|
-
|
|
7399
|
+
export const listSandboxTemplates = (options) => (options?.client ?? client).get({
|
|
7400
|
+
security: [
|
|
7401
|
+
{
|
|
7402
|
+
key: 'sandbox-ApiKeyAuth',
|
|
7403
|
+
name: 'X-API-Key',
|
|
7404
|
+
type: 'apiKey'
|
|
7405
|
+
},
|
|
7406
|
+
{
|
|
7407
|
+
key: 'sandbox-AuthProviderBearerAuth',
|
|
6164
7408
|
scheme: 'bearer',
|
|
6165
7409
|
type: 'http'
|
|
6166
|
-
}
|
|
6167
|
-
|
|
7410
|
+
},
|
|
7411
|
+
{
|
|
7412
|
+
key: 'sandbox-AuthProviderTeamAuth',
|
|
7413
|
+
name: 'X-Team-ID',
|
|
7414
|
+
type: 'apiKey'
|
|
7415
|
+
},
|
|
7416
|
+
{ name: 'X-Admin-Token', type: 'apiKey' },
|
|
7417
|
+
{
|
|
7418
|
+
key: 'sandbox-AdminTeamAuth',
|
|
7419
|
+
name: 'X-Team-ID',
|
|
7420
|
+
type: 'apiKey'
|
|
7421
|
+
},
|
|
7422
|
+
{
|
|
7423
|
+
key: 'sandbox-AdminJWTAuth',
|
|
7424
|
+
scheme: 'bearer',
|
|
7425
|
+
type: 'http'
|
|
7426
|
+
}
|
|
7427
|
+
],
|
|
7428
|
+
url: '/sandbox/v1/templates',
|
|
6168
7429
|
...options
|
|
6169
7430
|
});
|
|
6170
7431
|
/**
|
|
6171
|
-
*
|
|
7432
|
+
* Create template (v3)
|
|
6172
7433
|
*
|
|
6173
|
-
*
|
|
7434
|
+
* Reserve a waiting build before submitting its source. Reusing a name in your organization allocates a new build on the same template. Returns templateID and buildID; start it with templates.builds.update, then poll templates.builds.status.list. A name:tag suffix and tags are assigned after successful publication. Example: {"name":"my-template","cpuCount":2,"memoryMB":2048}. The own face also accepts diskGb, a positive integer defaulting to 10 GiB.
|
|
6174
7435
|
*/
|
|
6175
|
-
export const
|
|
6176
|
-
security: [
|
|
6177
|
-
|
|
7436
|
+
export const requestTemplateBuild = (options) => (options.client ?? client).post({
|
|
7437
|
+
security: [
|
|
7438
|
+
{
|
|
7439
|
+
key: 'sandbox-ApiKeyAuth',
|
|
7440
|
+
name: 'X-API-Key',
|
|
7441
|
+
type: 'apiKey'
|
|
7442
|
+
},
|
|
7443
|
+
{
|
|
7444
|
+
key: 'sandbox-AuthProviderBearerAuth',
|
|
6178
7445
|
scheme: 'bearer',
|
|
6179
7446
|
type: 'http'
|
|
6180
|
-
}
|
|
6181
|
-
|
|
6182
|
-
|
|
7447
|
+
},
|
|
7448
|
+
{
|
|
7449
|
+
key: 'sandbox-AuthProviderTeamAuth',
|
|
7450
|
+
name: 'X-Team-ID',
|
|
7451
|
+
type: 'apiKey'
|
|
7452
|
+
},
|
|
7453
|
+
{ name: 'X-Admin-Token', type: 'apiKey' },
|
|
7454
|
+
{
|
|
7455
|
+
key: 'sandbox-AdminTeamAuth',
|
|
7456
|
+
name: 'X-Team-ID',
|
|
7457
|
+
type: 'apiKey'
|
|
7458
|
+
},
|
|
7459
|
+
{
|
|
7460
|
+
key: 'sandbox-AdminJWTAuth',
|
|
7461
|
+
scheme: 'bearer',
|
|
7462
|
+
type: 'http'
|
|
7463
|
+
}
|
|
7464
|
+
],
|
|
7465
|
+
url: '/sandbox/v1/templates',
|
|
7466
|
+
...options,
|
|
7467
|
+
headers: {
|
|
7468
|
+
'Content-Type': 'application/json',
|
|
7469
|
+
...options.headers
|
|
7470
|
+
}
|
|
6183
7471
|
});
|
|
6184
7472
|
/**
|
|
6185
|
-
* List
|
|
7473
|
+
* List team volumes
|
|
6186
7474
|
*
|
|
6187
|
-
* List
|
|
7475
|
+
* List the volumes of your team. Use it to find a volumeID before reading or deleting a volume, or to attach a volume to a sandbox by name when you create it.
|
|
6188
7476
|
*/
|
|
6189
|
-
export const
|
|
6190
|
-
querySerializer: { parameters: { state: { array: { explode: false } } } },
|
|
7477
|
+
export const getSandboxV1Volumes = (options) => (options?.client ?? client).get({
|
|
6191
7478
|
security: [
|
|
6192
7479
|
{
|
|
6193
7480
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6216,15 +7503,15 @@ export const getSandboxV1Sandboxes = (options) => (options?.client ?? client).ge
|
|
|
6216
7503
|
type: 'http'
|
|
6217
7504
|
}
|
|
6218
7505
|
],
|
|
6219
|
-
url: '/sandbox/v1/
|
|
7506
|
+
url: '/sandbox/v1/volumes',
|
|
6220
7507
|
...options
|
|
6221
7508
|
});
|
|
6222
7509
|
/**
|
|
6223
|
-
* Create
|
|
7510
|
+
* Create team volume
|
|
6224
7511
|
*
|
|
6225
|
-
* Create a
|
|
7512
|
+
* Create a team volume: persistent storage that can be mounted into sandboxes and outlives them. Send the volume name; the response returns the volume id and name. Use getVolume to read it back and deleteVolume to remove it.
|
|
6226
7513
|
*/
|
|
6227
|
-
export const
|
|
7514
|
+
export const postSandboxV1Volumes = (options) => (options.client ?? client).post({
|
|
6228
7515
|
security: [
|
|
6229
7516
|
{
|
|
6230
7517
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6253,7 +7540,7 @@ export const postSandboxV1Sandboxes = (options) => (options.client ?? client).po
|
|
|
6253
7540
|
type: 'http'
|
|
6254
7541
|
}
|
|
6255
7542
|
],
|
|
6256
|
-
url: '/sandbox/v1/
|
|
7543
|
+
url: '/sandbox/v1/volumes',
|
|
6257
7544
|
...options,
|
|
6258
7545
|
headers: {
|
|
6259
7546
|
'Content-Type': 'application/json',
|
|
@@ -6261,11 +7548,11 @@ export const postSandboxV1Sandboxes = (options) => (options.client ?? client).po
|
|
|
6261
7548
|
}
|
|
6262
7549
|
});
|
|
6263
7550
|
/**
|
|
6264
|
-
*
|
|
7551
|
+
* Delete team volume
|
|
6265
7552
|
*
|
|
6266
|
-
*
|
|
7553
|
+
* Delete a team volume and its data permanently. Use it only when no sandbox needs the volume any more; the data cannot be recovered. Success answers 204; an unknown id answers 404.
|
|
6267
7554
|
*/
|
|
6268
|
-
export const
|
|
7555
|
+
export const deleteSandboxV1VolumesByVolumeId = (options) => (options.client ?? client).delete({
|
|
6269
7556
|
security: [
|
|
6270
7557
|
{
|
|
6271
7558
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6294,15 +7581,15 @@ export const getSandboxV1SandboxesBySandboxIdMetrics = (options) => (options.cli
|
|
|
6294
7581
|
type: 'http'
|
|
6295
7582
|
}
|
|
6296
7583
|
],
|
|
6297
|
-
url: '/sandbox/v1/
|
|
7584
|
+
url: '/sandbox/v1/volumes/{volumeID}',
|
|
6298
7585
|
...options
|
|
6299
7586
|
});
|
|
6300
7587
|
/**
|
|
6301
|
-
*
|
|
7588
|
+
* Team volume
|
|
6302
7589
|
*
|
|
6303
|
-
*
|
|
7590
|
+
* Read one team volume by id. Use it to confirm a volume exists and to read its name before mounting it in a sandbox. An unknown id answers 404.
|
|
6304
7591
|
*/
|
|
6305
|
-
export const
|
|
7592
|
+
export const getSandboxV1VolumesByVolumeId = (options) => (options.client ?? client).get({
|
|
6306
7593
|
security: [
|
|
6307
7594
|
{
|
|
6308
7595
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6331,19 +7618,15 @@ export const postSandboxV1SandboxesBySandboxIdPause = (options) => (options.clie
|
|
|
6331
7618
|
type: 'http'
|
|
6332
7619
|
}
|
|
6333
7620
|
],
|
|
6334
|
-
url: '/sandbox/v1/
|
|
6335
|
-
...options
|
|
6336
|
-
headers: {
|
|
6337
|
-
'Content-Type': 'application/json',
|
|
6338
|
-
...options.headers
|
|
6339
|
-
}
|
|
7621
|
+
url: '/sandbox/v1/volumes/{volumeID}',
|
|
7622
|
+
...options
|
|
6340
7623
|
});
|
|
6341
7624
|
/**
|
|
6342
|
-
*
|
|
7625
|
+
* Fork sandbox
|
|
6343
7626
|
*
|
|
6344
|
-
*
|
|
7627
|
+
* Fork the sandbox: checkpoint the running sandbox in place (it is briefly paused, snapshotted with its full memory state, and resumed on its node, keeping its ID and expiration untouched) and create count new sandboxes from that snapshot. Returns one result per requested fork, each carrying either the created sandbox or the error that prevented it from starting. A non-201 status means the request failed before any fork was attempted.
|
|
6345
7628
|
*/
|
|
6346
|
-
export const
|
|
7629
|
+
export const postSandboxV1SandboxesBySandboxIdFork = (options) => (options.client ?? client).post({
|
|
6347
7630
|
security: [
|
|
6348
7631
|
{
|
|
6349
7632
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6372,7 +7655,7 @@ export const postSandboxV1SandboxesBySandboxIdTimeout = (options) => (options.cl
|
|
|
6372
7655
|
type: 'http'
|
|
6373
7656
|
}
|
|
6374
7657
|
],
|
|
6375
|
-
url: '/sandbox/v1/sandboxes/{sandboxID}/
|
|
7658
|
+
url: '/sandbox/v1/sandboxes/{sandboxID}/fork',
|
|
6376
7659
|
...options,
|
|
6377
7660
|
headers: {
|
|
6378
7661
|
'Content-Type': 'application/json',
|
|
@@ -6380,11 +7663,11 @@ export const postSandboxV1SandboxesBySandboxIdTimeout = (options) => (options.cl
|
|
|
6380
7663
|
}
|
|
6381
7664
|
});
|
|
6382
7665
|
/**
|
|
6383
|
-
*
|
|
7666
|
+
* Create snapshot
|
|
6384
7667
|
*
|
|
6385
|
-
*
|
|
7668
|
+
* Create a persistent snapshot from the sandbox's current state. Snapshots can be used to create new sandboxes and persist beyond the original sandbox's lifetime.
|
|
6386
7669
|
*/
|
|
6387
|
-
export const
|
|
7670
|
+
export const postSandboxV1SandboxesBySandboxIdSnapshots = (options) => (options.client ?? client).post({
|
|
6388
7671
|
security: [
|
|
6389
7672
|
{
|
|
6390
7673
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6413,7 +7696,7 @@ export const postSandboxV1SandboxesBySandboxIdConnect = (options) => (options.cl
|
|
|
6413
7696
|
type: 'http'
|
|
6414
7697
|
}
|
|
6415
7698
|
],
|
|
6416
|
-
url: '/sandbox/v1/sandboxes/{sandboxID}/
|
|
7699
|
+
url: '/sandbox/v1/sandboxes/{sandboxID}/snapshots',
|
|
6417
7700
|
...options,
|
|
6418
7701
|
headers: {
|
|
6419
7702
|
'Content-Type': 'application/json',
|
|
@@ -6421,11 +7704,11 @@ export const postSandboxV1SandboxesBySandboxIdConnect = (options) => (options.cl
|
|
|
6421
7704
|
}
|
|
6422
7705
|
});
|
|
6423
7706
|
/**
|
|
6424
|
-
* List
|
|
7707
|
+
* List snapshots
|
|
6425
7708
|
*
|
|
6426
|
-
* List the
|
|
7709
|
+
* List the snapshots you created, one cursor page at a time. Use it to find a snapshot id before you create a sandbox from it or delete it. Filter by sandboxID (the source sandbox) or by name or snapshot id, optionally tag-qualified; limit is 1 to 100 (default 100). When more results exist send the cursor from the response back as nextToken.
|
|
6427
7710
|
*/
|
|
6428
|
-
export const
|
|
7711
|
+
export const getSandboxV1Snapshots = (options) => (options?.client ?? client).get({
|
|
6429
7712
|
security: [
|
|
6430
7713
|
{
|
|
6431
7714
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6454,15 +7737,15 @@ export const getSandboxV1Templates = (options) => (options?.client ?? client).ge
|
|
|
6454
7737
|
type: 'http'
|
|
6455
7738
|
}
|
|
6456
7739
|
],
|
|
6457
|
-
url: '/sandbox/v1/
|
|
7740
|
+
url: '/sandbox/v1/snapshots',
|
|
6458
7741
|
...options
|
|
6459
7742
|
});
|
|
6460
7743
|
/**
|
|
6461
|
-
*
|
|
7744
|
+
* Delete template
|
|
6462
7745
|
*
|
|
6463
|
-
*
|
|
7746
|
+
* Delete one of your snapshots. Sandboxes already created from it keep running; no new sandbox can be created from it afterwards. Success answers 204. A snapshot that does not exist or belongs to someone else answers 404.
|
|
6464
7747
|
*/
|
|
6465
|
-
export const
|
|
7748
|
+
export const deleteSandboxV1SnapshotsBySnapshotId = (options) => (options.client ?? client).delete({
|
|
6466
7749
|
security: [
|
|
6467
7750
|
{
|
|
6468
7751
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6491,15 +7774,15 @@ export const getSandboxV1Volumes = (options) => (options?.client ?? client).get(
|
|
|
6491
7774
|
type: 'http'
|
|
6492
7775
|
}
|
|
6493
7776
|
],
|
|
6494
|
-
url: '/sandbox/v1/
|
|
7777
|
+
url: '/sandbox/v1/snapshots/{snapshotID}',
|
|
6495
7778
|
...options
|
|
6496
7779
|
});
|
|
6497
7780
|
/**
|
|
6498
|
-
*
|
|
7781
|
+
* Update sandbox network
|
|
6499
7782
|
*
|
|
6500
|
-
*
|
|
7783
|
+
* Update the network configuration for a running sandbox. Replaces the current egress rules with the provided configuration. Omitting field clears it.
|
|
6501
7784
|
*/
|
|
6502
|
-
export const
|
|
7785
|
+
export const putSandboxV1SandboxesBySandboxIdNetwork = (options) => (options.client ?? client).put({
|
|
6503
7786
|
security: [
|
|
6504
7787
|
{
|
|
6505
7788
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6528,7 +7811,7 @@ export const postSandboxV1Volumes = (options) => (options.client ?? client).post
|
|
|
6528
7811
|
type: 'http'
|
|
6529
7812
|
}
|
|
6530
7813
|
],
|
|
6531
|
-
url: '/sandbox/v1/
|
|
7814
|
+
url: '/sandbox/v1/sandboxes/{sandboxID}/network',
|
|
6532
7815
|
...options,
|
|
6533
7816
|
headers: {
|
|
6534
7817
|
'Content-Type': 'application/json',
|
|
@@ -6536,11 +7819,11 @@ export const postSandboxV1Volumes = (options) => (options.client ?? client).post
|
|
|
6536
7819
|
}
|
|
6537
7820
|
});
|
|
6538
7821
|
/**
|
|
6539
|
-
*
|
|
7822
|
+
* Sandbox logs (v2)
|
|
6540
7823
|
*
|
|
6541
|
-
*
|
|
7824
|
+
* Read the log lines of a sandbox. Use it to debug what ran inside a sandbox. cursor is a start timestamp in milliseconds, direction chooses forward or backward from it, level sets the lowest level to return, search is a case-sensitive substring filter (at most 256 characters) and limit caps the count (at most 1000, default 1000). To continue, pass the timestamp of the last entry as the next cursor.
|
|
6542
7825
|
*/
|
|
6543
|
-
export const
|
|
7826
|
+
export const getSandboxV1SandboxesBySandboxIdLogs = (options) => (options.client ?? client).get({
|
|
6544
7827
|
security: [
|
|
6545
7828
|
{
|
|
6546
7829
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6569,15 +7852,15 @@ export const deleteSandboxV1VolumesByVolumeId = (options) => (options.client ??
|
|
|
6569
7852
|
type: 'http'
|
|
6570
7853
|
}
|
|
6571
7854
|
],
|
|
6572
|
-
url: '/sandbox/v1/
|
|
7855
|
+
url: '/sandbox/v1/sandboxes/{sandboxID}/logs',
|
|
6573
7856
|
...options
|
|
6574
7857
|
});
|
|
6575
7858
|
/**
|
|
6576
|
-
*
|
|
7859
|
+
* Start template build (v2)
|
|
6577
7860
|
*
|
|
6578
|
-
*
|
|
7861
|
+
* Submit source for a waiting build returned by templates.create; returns 202 after queueing, not after successful publication. Unlike E2B, COPY is rejected (use RUN curl or git clone), fromTemplate accepts official catalog names only, and plaintext registry credentials are rejected. The own face also accepts dockerfile, mutually exclusive with fromImage/fromTemplate/steps, and fromImageRegistry vault references for nonofficial images. Poll templates.builds.status.list until ready or error. Example: {"fromImage":"node:22","steps":[{"type":"RUN","args":["echo hello"]}]}.
|
|
6579
7862
|
*/
|
|
6580
|
-
export const
|
|
7863
|
+
export const startTemplateBuild = (options) => (options.client ?? client).post({
|
|
6581
7864
|
security: [
|
|
6582
7865
|
{
|
|
6583
7866
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6606,15 +7889,19 @@ export const getSandboxV1VolumesByVolumeId = (options) => (options.client ?? cli
|
|
|
6606
7889
|
type: 'http'
|
|
6607
7890
|
}
|
|
6608
7891
|
],
|
|
6609
|
-
url: '/sandbox/v1/
|
|
6610
|
-
...options
|
|
7892
|
+
url: '/sandbox/v1/templates/{templateID}/builds/{buildID}',
|
|
7893
|
+
...options,
|
|
7894
|
+
headers: {
|
|
7895
|
+
'Content-Type': 'application/json',
|
|
7896
|
+
...options.headers
|
|
7897
|
+
}
|
|
6611
7898
|
});
|
|
6612
7899
|
/**
|
|
6613
|
-
*
|
|
7900
|
+
* Template build status
|
|
6614
7901
|
*
|
|
6615
|
-
*
|
|
7902
|
+
* Poll a build using templateID and buildID from templates.create. waiting means source has not been submitted; building includes queued work; ready permits sandbox creation; error is terminal, with reason when available. logsOffset counts previously read log entries, starting at zero; add logEntries.length after each response. limit is 0–100, default 100. level selects one log level; offsets then count entries at that level. Drain logs until an empty page, including after a terminal status.
|
|
6616
7903
|
*/
|
|
6617
|
-
export const
|
|
7904
|
+
export const getTemplateBuildStatus = (options) => (options.client ?? client).get({
|
|
6618
7905
|
security: [
|
|
6619
7906
|
{
|
|
6620
7907
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6643,19 +7930,15 @@ export const postSandboxV1SandboxesBySandboxIdFork = (options) => (options.clien
|
|
|
6643
7930
|
type: 'http'
|
|
6644
7931
|
}
|
|
6645
7932
|
],
|
|
6646
|
-
url: '/sandbox/v1/
|
|
6647
|
-
...options
|
|
6648
|
-
headers: {
|
|
6649
|
-
'Content-Type': 'application/json',
|
|
6650
|
-
...options.headers
|
|
6651
|
-
}
|
|
7933
|
+
url: '/sandbox/v1/templates/{templateID}/builds/{buildID}/status',
|
|
7934
|
+
...options
|
|
6652
7935
|
});
|
|
6653
7936
|
/**
|
|
6654
|
-
*
|
|
7937
|
+
* Delete template
|
|
6655
7938
|
*
|
|
6656
|
-
*
|
|
7939
|
+
* Permanently remove your template, its builds and tag assignments using templateID from templates.create. Active instances prevent deletion with 409; terminate them first. Unknown or other-organization IDs return 404. Snapshot IDs use snapshots.delete instead.
|
|
6657
7940
|
*/
|
|
6658
|
-
export const
|
|
7941
|
+
export const deleteUserTemplate = (options) => (options.client ?? client).delete({
|
|
6659
7942
|
security: [
|
|
6660
7943
|
{
|
|
6661
7944
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6684,19 +7967,15 @@ export const postSandboxV1SandboxesBySandboxIdSnapshots = (options) => (options.
|
|
|
6684
7967
|
type: 'http'
|
|
6685
7968
|
}
|
|
6686
7969
|
],
|
|
6687
|
-
url: '/sandbox/v1/
|
|
6688
|
-
...options
|
|
6689
|
-
headers: {
|
|
6690
|
-
'Content-Type': 'application/json',
|
|
6691
|
-
...options.headers
|
|
6692
|
-
}
|
|
7970
|
+
url: '/sandbox/v1/templates/{templateID}',
|
|
7971
|
+
...options
|
|
6693
7972
|
});
|
|
6694
7973
|
/**
|
|
6695
|
-
* List
|
|
7974
|
+
* List template builds
|
|
6696
7975
|
*
|
|
6697
|
-
*
|
|
7976
|
+
* Inspect your template and its newest builds using templateID from templates.create. Build states are waiting, building, ready or error. Use limit and the returned x-next-token header to page builds. Unknown or other-organization templates return 404.
|
|
6698
7977
|
*/
|
|
6699
|
-
export const
|
|
7978
|
+
export const getTemplateWithBuilds = (options) => (options.client ?? client).get({
|
|
6700
7979
|
security: [
|
|
6701
7980
|
{
|
|
6702
7981
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6725,15 +8004,15 @@ export const getSandboxV1Snapshots = (options) => (options?.client ?? client).ge
|
|
|
6725
8004
|
type: 'http'
|
|
6726
8005
|
}
|
|
6727
8006
|
],
|
|
6728
|
-
url: '/sandbox/v1/
|
|
8007
|
+
url: '/sandbox/v1/templates/{templateID}',
|
|
6729
8008
|
...options
|
|
6730
8009
|
});
|
|
6731
8010
|
/**
|
|
6732
|
-
* Delete template
|
|
8011
|
+
* Delete template tags
|
|
6733
8012
|
*
|
|
6734
|
-
*
|
|
8013
|
+
* Remove the specified tag labels from your template by name, for example {"name":"my-template","tags":["stable"]}. Builds remain available. Removing default means untagged sandbox creation no longer resolves this template. Unknown or other-organization names return 404. b<number> names are reserved read-only build aliases and cannot be assigned or deleted as tags.
|
|
6735
8014
|
*/
|
|
6736
|
-
export const
|
|
8015
|
+
export const deleteTemplateTags = (options) => (options.client ?? client).delete({
|
|
6737
8016
|
security: [
|
|
6738
8017
|
{
|
|
6739
8018
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6762,15 +8041,19 @@ export const deleteSandboxV1SnapshotsBySnapshotId = (options) => (options.client
|
|
|
6762
8041
|
type: 'http'
|
|
6763
8042
|
}
|
|
6764
8043
|
],
|
|
6765
|
-
url: '/sandbox/v1/
|
|
6766
|
-
...options
|
|
8044
|
+
url: '/sandbox/v1/templates/tags',
|
|
8045
|
+
...options,
|
|
8046
|
+
headers: {
|
|
8047
|
+
'Content-Type': 'application/json',
|
|
8048
|
+
...options.headers
|
|
8049
|
+
}
|
|
6767
8050
|
});
|
|
6768
8051
|
/**
|
|
6769
|
-
*
|
|
8052
|
+
* Assign template tags
|
|
6770
8053
|
*
|
|
6771
|
-
*
|
|
8054
|
+
* Assign tags to the ready build selected by target in name:tag format, for example {"target":"my-template:default","tags":["stable"]}. Names belong to your organization. Tags move an existing label to this build without rebuilding. Obtain available names from templates.list and tags from templates.tags.list. b<number> names are reserved read-only build aliases and cannot be assigned or deleted as tags. target also accepts name:b<number> to select a ready build by number, for example my-template:b1.
|
|
6772
8055
|
*/
|
|
6773
|
-
export const
|
|
8056
|
+
export const assignTemplateTags = (options) => (options.client ?? client).post({
|
|
6774
8057
|
security: [
|
|
6775
8058
|
{
|
|
6776
8059
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6799,7 +8082,7 @@ export const putSandboxV1SandboxesBySandboxIdNetwork = (options) => (options.cli
|
|
|
6799
8082
|
type: 'http'
|
|
6800
8083
|
}
|
|
6801
8084
|
],
|
|
6802
|
-
url: '/sandbox/v1/
|
|
8085
|
+
url: '/sandbox/v1/templates/tags',
|
|
6803
8086
|
...options,
|
|
6804
8087
|
headers: {
|
|
6805
8088
|
'Content-Type': 'application/json',
|
|
@@ -6807,11 +8090,11 @@ export const putSandboxV1SandboxesBySandboxIdNetwork = (options) => (options.cli
|
|
|
6807
8090
|
}
|
|
6808
8091
|
});
|
|
6809
8092
|
/**
|
|
6810
|
-
*
|
|
8093
|
+
* List template tags
|
|
6811
8094
|
*
|
|
6812
|
-
* Read the
|
|
8095
|
+
* Read the tag-to-build assignments for your template using templateID from templates.create. Only ready builds acquire tags. Use a returned tag with the template name as name:tag when creating a sandbox or assigning additional tags. Foreign IDs return 404.
|
|
6813
8096
|
*/
|
|
6814
|
-
export const
|
|
8097
|
+
export const listTemplateTags = (options) => (options.client ?? client).get({
|
|
6815
8098
|
security: [
|
|
6816
8099
|
{
|
|
6817
8100
|
key: 'sandbox-ApiKeyAuth',
|
|
@@ -6840,7 +8123,44 @@ export const getSandboxV1SandboxesBySandboxIdLogs = (options) => (options.client
|
|
|
6840
8123
|
type: 'http'
|
|
6841
8124
|
}
|
|
6842
8125
|
],
|
|
6843
|
-
url: '/sandbox/v1/
|
|
8126
|
+
url: '/sandbox/v1/templates/{templateID}/tags',
|
|
8127
|
+
...options
|
|
8128
|
+
});
|
|
8129
|
+
/**
|
|
8130
|
+
* Check template alias
|
|
8131
|
+
*
|
|
8132
|
+
* Resolve a name within your organization to its templateID before reading or managing builds. Use the bare template name, without a :tag suffix. Unknown and other-organization names return 404. The response public field is false for your private templates.
|
|
8133
|
+
*/
|
|
8134
|
+
export const resolveTemplateAlias = (options) => (options.client ?? client).get({
|
|
8135
|
+
security: [
|
|
8136
|
+
{
|
|
8137
|
+
key: 'sandbox-ApiKeyAuth',
|
|
8138
|
+
name: 'X-API-Key',
|
|
8139
|
+
type: 'apiKey'
|
|
8140
|
+
},
|
|
8141
|
+
{
|
|
8142
|
+
key: 'sandbox-AuthProviderBearerAuth',
|
|
8143
|
+
scheme: 'bearer',
|
|
8144
|
+
type: 'http'
|
|
8145
|
+
},
|
|
8146
|
+
{
|
|
8147
|
+
key: 'sandbox-AuthProviderTeamAuth',
|
|
8148
|
+
name: 'X-Team-ID',
|
|
8149
|
+
type: 'apiKey'
|
|
8150
|
+
},
|
|
8151
|
+
{ name: 'X-Admin-Token', type: 'apiKey' },
|
|
8152
|
+
{
|
|
8153
|
+
key: 'sandbox-AdminTeamAuth',
|
|
8154
|
+
name: 'X-Team-ID',
|
|
8155
|
+
type: 'apiKey'
|
|
8156
|
+
},
|
|
8157
|
+
{
|
|
8158
|
+
key: 'sandbox-AdminJWTAuth',
|
|
8159
|
+
scheme: 'bearer',
|
|
8160
|
+
type: 'http'
|
|
8161
|
+
}
|
|
8162
|
+
],
|
|
8163
|
+
url: '/sandbox/v1/templates/aliases/{alias}',
|
|
6844
8164
|
...options
|
|
6845
8165
|
});
|
|
6846
8166
|
/**
|
|
@@ -7056,7 +8376,7 @@ export const vaultListSecrets = (options) => (options.client ?? client).get({
|
|
|
7056
8376
|
/**
|
|
7057
8377
|
* Create secret
|
|
7058
8378
|
*
|
|
7059
|
-
* Store a manually supplied token in an active vault for
|
|
8379
|
+
* Store a manually supplied token in an active vault. Omit allowed_hosts for name-based resolution only; host-based redemption never matches an empty host list. Unlike Anthropic credentials, this native operation takes name and value directly, with optional allowed_hosts and creates only static secrets; use praxis.vault.authorizations.create for OAuth. Its name must be unused by any non-archived secret in that vault; the response contains metadata but never the supplied value. Application praxis_vault_ref bindings declare vault_id and secret (the secret name), but currently return 501; do not copy the value into a plain-text binding or metadata as a substitute.
|
|
7060
8380
|
*/
|
|
7061
8381
|
export const vaultCreateSecret = (options) => (options.client ?? client).post({
|
|
7062
8382
|
security: [{
|
|
@@ -7074,7 +8394,7 @@ export const vaultCreateSecret = (options) => (options.client ?? client).post({
|
|
|
7074
8394
|
/**
|
|
7075
8395
|
* Import secrets
|
|
7076
8396
|
*
|
|
7077
|
-
* Import lines or dotenv text into an active vault, reporting success or failure for each entry. Existing names have their values replaced; their hosts change only when that line supplies allowed_hosts. Shared hosts apply only to newly created secrets.
|
|
8397
|
+
* Import lines or dotenv text into an active vault, reporting success or failure for each entry. Existing names have their values replaced; their hosts change only when that line supplies allowed_hosts. Shared hosts apply only to newly created secrets; if neither shared nor per-line hosts are supplied, new secrets use an empty host list for name-based resolution only.
|
|
7078
8398
|
*/
|
|
7079
8399
|
export const vaultImportSecrets = (options) => (options.client ?? client).post({
|
|
7080
8400
|
security: [{
|
|
@@ -7626,7 +8946,7 @@ export const ticketGetMilestones = (options) => (options?.client ?? client).get(
|
|
|
7626
8946
|
/**
|
|
7627
8947
|
* Create or add milestones
|
|
7628
8948
|
*
|
|
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.
|
|
8949
|
+
* 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. Service authorization applies to the verified human subject.
|
|
7630
8950
|
*/
|
|
7631
8951
|
export const ticketPostMilestones = (options) => (options.client ?? client).post({
|
|
7632
8952
|
security: [{
|
|
@@ -7648,7 +8968,7 @@ export const ticketPostMilestones = (options) => (options.client ?? client).post
|
|
|
7648
8968
|
/**
|
|
7649
8969
|
* Remove milestones
|
|
7650
8970
|
*
|
|
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.
|
|
8971
|
+
* 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. Service authorization applies to the verified human subject.
|
|
7652
8972
|
*/
|
|
7653
8973
|
export const ticketDeleteMilestonesNumber = (options) => (options.client ?? client).delete({
|
|
7654
8974
|
security: [{
|
|
@@ -7684,7 +9004,7 @@ export const ticketGetMilestonesNumber = (options) => (options.client ?? client)
|
|
|
7684
9004
|
/**
|
|
7685
9005
|
* Update milestones
|
|
7686
9006
|
*
|
|
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.
|
|
9007
|
+
* 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. Service authorization applies to the verified human subject.
|
|
7688
9008
|
*/
|
|
7689
9009
|
export const ticketPatchMilestonesNumber = (options) => (options.client ?? client).patch({
|
|
7690
9010
|
security: [{
|