codai-sdk 0.62.0 → 0.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2114,7 +2114,11 @@ type paths$1 = {
2114
2114
  * @description Stores one semantic memory (a fact or preference). Embeds the content once (metered as `memory:create`).
2115
2115
  */
2116
2116
  readonly post: operations$1['createMemory'];
2117
- readonly delete?: never;
2117
+ /**
2118
+ * Delete all your memories
2119
+ * @description Erases EVERY memory of the key's account (all tiers, quarantined records included). Needs the explicit confirmation `confirm=all` (query) or `{"confirm":"all"}` (body), otherwise `400` with code `confirm_required`. Always allowed, also on plans without persistent memory; does not call a model.
2120
+ */
2121
+ readonly delete: operations$1['deleteAllMemories'];
2118
2122
  readonly options?: never;
2119
2123
  readonly head?: never;
2120
2124
  readonly patch?: never;
@@ -2401,6 +2405,29 @@ type paths$1 = {
2401
2405
  readonly patch?: never;
2402
2406
  readonly trace?: never;
2403
2407
  };
2408
+ readonly '/v1/os-gate/events': {
2409
+ readonly parameters: {
2410
+ readonly query?: never;
2411
+ readonly header?: never;
2412
+ readonly path?: never;
2413
+ readonly cookie?: never;
2414
+ };
2415
+ readonly get?: never;
2416
+ readonly put?: never;
2417
+ /**
2418
+ * Record an OS protection gate override
2419
+ * @description Writes an `os_gate.override` entry to the account audit log when the user grants or revokes an override
2420
+ * of failing OS protection checks on a device. The body carries only the check ids, the surface, the app
2421
+ * version and the time; detection details never leave the device. The body is strict: an unknown key, an
2422
+ * unknown check id or an empty `checks` list is a 400. Answers 202 once the event is accepted.
2423
+ */
2424
+ readonly post: operations$1['recordOsGateEvent'];
2425
+ readonly delete?: never;
2426
+ readonly options?: never;
2427
+ readonly head?: never;
2428
+ readonly patch?: never;
2429
+ readonly trace?: never;
2430
+ };
2404
2431
  readonly '/v1/phone/models': {
2405
2432
  readonly parameters: {
2406
2433
  readonly query?: never;
@@ -2426,6 +2453,30 @@ type paths$1 = {
2426
2453
  readonly patch?: never;
2427
2454
  readonly trace?: never;
2428
2455
  };
2456
+ readonly '/v1/policy': {
2457
+ readonly parameters: {
2458
+ readonly query?: never;
2459
+ readonly header?: never;
2460
+ readonly path?: never;
2461
+ readonly cookie?: never;
2462
+ };
2463
+ /**
2464
+ * Read the effective client policy
2465
+ * @description Client policy folded over every organization the caller belongs to. Today it carries the OS protection
2466
+ * gate: `os_gate.allow_override` is false when ANY of the caller's organizations forbids overriding a failing
2467
+ * BLOCK check (strictest wins; org admins set it in the hub under Team > Security). A caller in no organization
2468
+ * gets true. Clients cache the value (the response is `Cache-Control: private, max-age=300`) and keep using
2469
+ * the cached value offline. A database error is a 503 (`policy_unavailable`), never a permissive default.
2470
+ */
2471
+ readonly get: operations$1['getPolicy'];
2472
+ readonly put?: never;
2473
+ readonly post?: never;
2474
+ readonly delete?: never;
2475
+ readonly options?: never;
2476
+ readonly head?: never;
2477
+ readonly patch?: never;
2478
+ readonly trace?: never;
2479
+ };
2429
2480
  readonly '/v1/projects': {
2430
2481
  readonly parameters: {
2431
2482
  readonly query?: never;
@@ -12731,6 +12782,31 @@ type components$1 = {
12731
12782
  readonly ownerUserId: string;
12732
12783
  readonly role: components$1['schemas']['OrgRole'];
12733
12784
  };
12785
+ readonly OsGateEvent: {
12786
+ /**
12787
+ * @description Whether the user granted or revoked the override.
12788
+ * @enum {string}
12789
+ */
12790
+ readonly action: 'granted' | 'revoked';
12791
+ /** @description Version of the app that recorded the event. */
12792
+ readonly app_version: string;
12793
+ /**
12794
+ * Format: date-time
12795
+ * @description When the user granted or revoked the override (ISO 8601).
12796
+ */
12797
+ readonly at: string;
12798
+ /** @description Ids of the checks the override covers (spec packages/agent-core/spec/os-gate.json). */
12799
+ readonly checks: readonly ('win.uac_off' | 'win.uac_no_prompt' | 'win.elevated' | 'win.defender_rtp_off' | 'mac.sip_off' | 'mac.gatekeeper_off' | 'mac.filevault_off' | 'linux.root' | 'linux.root_container' | 'linux.sudo_nopasswd' | 'linux.no_screen_lock' | 'android.no_secure_lock' | 'android.lock_unknown' | 'android.adb_enabled' | 'android.rooted' | 'wear.no_secure_lock')[];
12800
+ /**
12801
+ * @description The codai app on which the override was granted or revoked.
12802
+ * @enum {string}
12803
+ */
12804
+ readonly surface: 'desktop' | 'headless' | 'codaid' | 'phone' | 'mobile_agent' | 'wear' | 'vscode';
12805
+ };
12806
+ readonly OsGateEventAccepted: {
12807
+ /** @constant */
12808
+ readonly ok: true;
12809
+ };
12734
12810
  /** Panel control */
12735
12811
  readonly PanelControl: {
12736
12812
  readonly control: components$1['schemas']['Control'];
@@ -12748,6 +12824,12 @@ type components$1 = {
12748
12824
  * @enum {string}
12749
12825
  */
12750
12826
  readonly PlatformId: 'tiktok' | 'reels' | 'shorts' | 'feed-square' | 'feed-portrait' | 'youtube';
12827
+ readonly PolicyResponse: {
12828
+ readonly os_gate: {
12829
+ /** @description False when any organization of the caller forbids OS protection gate overrides. */
12830
+ readonly allow_override: boolean;
12831
+ };
12832
+ };
12751
12833
  /** @enum {string} */
12752
12834
  readonly PortProtocol: 'http' | 'https' | 'tcp';
12753
12835
  /**
@@ -21465,6 +21547,65 @@ interface operations$1 {
21465
21547
  };
21466
21548
  };
21467
21549
  };
21550
+ readonly deleteAllMemories: {
21551
+ readonly parameters: {
21552
+ readonly query?: {
21553
+ /** @description Must be `all`. */
21554
+ readonly confirm?: 'all';
21555
+ };
21556
+ readonly header?: {
21557
+ /** @description Client correlation id; echoed back as `x-codai-trace-id` and persisted on the usage row. */
21558
+ readonly 'x-request-id'?: components$1['parameters']['RequestId'];
21559
+ };
21560
+ readonly path?: never;
21561
+ readonly cookie?: never;
21562
+ };
21563
+ readonly requestBody?: never;
21564
+ readonly responses: {
21565
+ /** @description Erased; counts per tier and the total. */
21566
+ readonly 200: {
21567
+ headers: {
21568
+ readonly [name: string]: unknown;
21569
+ };
21570
+ content: {
21571
+ readonly 'application/json': {
21572
+ readonly deleted: {
21573
+ readonly [key: string]: number;
21574
+ };
21575
+ readonly total: number;
21576
+ };
21577
+ };
21578
+ };
21579
+ /** @description Missing confirmation (code `confirm_required`). */
21580
+ readonly 400: {
21581
+ headers: {
21582
+ readonly [name: string]: unknown;
21583
+ };
21584
+ content: {
21585
+ readonly 'application/json': components$1['schemas']['Error'];
21586
+ };
21587
+ };
21588
+ readonly 401: components$1['responses']['Unauthorized'];
21589
+ /** @description The memory store failed for this request (code `memory_error`). */
21590
+ readonly 500: {
21591
+ headers: {
21592
+ readonly [name: string]: unknown;
21593
+ };
21594
+ content: {
21595
+ readonly 'application/json': components$1['schemas']['Error'];
21596
+ };
21597
+ };
21598
+ /** @description Memory is not configured on this gateway (code `memory_unavailable`). */
21599
+ readonly 503: {
21600
+ headers: {
21601
+ readonly [name: string]: unknown;
21602
+ };
21603
+ content: {
21604
+ readonly 'application/json': components$1['schemas']['Error'];
21605
+ };
21606
+ };
21607
+ };
21608
+ };
21468
21609
  readonly deleteMemory: {
21469
21610
  readonly parameters: {
21470
21611
  readonly query?: never;
@@ -22077,6 +22218,47 @@ interface operations$1 {
22077
22218
  readonly 404: components$1['responses']['NotFound'];
22078
22219
  };
22079
22220
  };
22221
+ readonly recordOsGateEvent: {
22222
+ readonly parameters: {
22223
+ readonly query?: never;
22224
+ readonly header?: {
22225
+ /** @description Client correlation id; echoed back as `x-codai-trace-id` and persisted on the usage row. */
22226
+ readonly 'x-request-id'?: components$1['parameters']['RequestId'];
22227
+ };
22228
+ readonly path?: never;
22229
+ readonly cookie?: never;
22230
+ };
22231
+ /** @description The override event as recorded on the device. */
22232
+ readonly requestBody: {
22233
+ readonly content: {
22234
+ /**
22235
+ * @example {
22236
+ * "action": "granted",
22237
+ * "checks": [
22238
+ * "win.uac_off"
22239
+ * ],
22240
+ * "surface": "desktop",
22241
+ * "app_version": "0.9.4",
22242
+ * "at": "2026-10-19T21:00:00Z"
22243
+ * }
22244
+ */
22245
+ readonly 'application/json': components$1['schemas']['OsGateEvent'];
22246
+ };
22247
+ };
22248
+ readonly responses: {
22249
+ /** @description The event was accepted into the audit log. */
22250
+ readonly 202: {
22251
+ headers: {
22252
+ readonly [name: string]: unknown;
22253
+ };
22254
+ content: {
22255
+ readonly 'application/json': components$1['schemas']['OsGateEventAccepted'];
22256
+ };
22257
+ };
22258
+ readonly 400: components$1['responses']['BadRequest'];
22259
+ readonly 401: components$1['responses']['Unauthorized'];
22260
+ };
22261
+ };
22080
22262
  readonly listPhoneModels: {
22081
22263
  readonly parameters: {
22082
22264
  readonly query?: never;
@@ -22104,6 +22286,48 @@ interface operations$1 {
22104
22286
  readonly 404: components$1['responses']['NotFound'];
22105
22287
  };
22106
22288
  };
22289
+ readonly getPolicy: {
22290
+ readonly parameters: {
22291
+ readonly query?: never;
22292
+ readonly header?: {
22293
+ /** @description Client correlation id; echoed back as `x-codai-trace-id` and persisted on the usage row. */
22294
+ readonly 'x-request-id'?: components$1['parameters']['RequestId'];
22295
+ };
22296
+ readonly path?: never;
22297
+ readonly cookie?: never;
22298
+ };
22299
+ readonly requestBody?: never;
22300
+ readonly responses: {
22301
+ /** @description The effective policy for the caller. */
22302
+ readonly 200: {
22303
+ headers: {
22304
+ /** @description Always `private, max-age=300`. */
22305
+ readonly 'Cache-Control'?: string;
22306
+ readonly [name: string]: unknown;
22307
+ };
22308
+ content: {
22309
+ /**
22310
+ * @example {
22311
+ * "os_gate": {
22312
+ * "allow_override": true
22313
+ * }
22314
+ * }
22315
+ */
22316
+ readonly 'application/json': components$1['schemas']['PolicyResponse'];
22317
+ };
22318
+ };
22319
+ readonly 401: components$1['responses']['Unauthorized'];
22320
+ /** @description The policy store is unreachable (`code: policy_unavailable`); keep the cached value. */
22321
+ readonly 503: {
22322
+ headers: {
22323
+ readonly [name: string]: unknown;
22324
+ };
22325
+ content: {
22326
+ readonly 'application/json': components$1['schemas']['Error'];
22327
+ };
22328
+ };
22329
+ };
22330
+ };
22107
22331
  readonly listProjects: {
22108
22332
  readonly parameters: {
22109
22333
  readonly query?: never;
@@ -32639,7 +32863,7 @@ export type Receipt = Reply<'getReceipt'>;
32639
32863
  export type FeedbackRequest = Mutable<Body<'submitFeedback'>>;
32640
32864
  export type FeedbackResponse = Reply<'submitFeedback'>;
32641
32865
  export type PhoneModel = Schema<'AccountPhoneModel'>;
32642
- type CallOpts$36 = {
32866
+ type CallOpts$37 = {
32643
32867
  ext?: CodaiRequestExtensions;
32644
32868
  signal?: AbortSignal;
32645
32869
  };
@@ -32647,9 +32871,9 @@ export declare class Account {
32647
32871
  private readonly http;
32648
32872
  constructor(http: HttpClient);
32649
32873
  /** `GET /v1/account` — the full account card. */
32650
- get(opts?: CallOpts$36): Promise<AccountView>;
32874
+ get(opts?: CallOpts$37): Promise<AccountView>;
32651
32875
  /** `PATCH /v1/account` — consents, username, referral (at least one field). */
32652
- update(body: AccountPatchRequest, opts?: CallOpts$36): Promise<AccountPatchResponse>;
32876
+ update(body: AccountPatchRequest, opts?: CallOpts$37): Promise<AccountPatchResponse>;
32653
32877
  }
32654
32878
  export declare class Receipts {
32655
32879
  private readonly http;
@@ -32661,7 +32885,7 @@ export declare class Receipts {
32661
32885
  get(query?: {
32662
32886
  sessionId?: string;
32663
32887
  since?: string | Date;
32664
- }, opts?: CallOpts$36): Promise<Receipt>;
32888
+ }, opts?: CallOpts$37): Promise<Receipt>;
32665
32889
  }
32666
32890
  export declare class Feedback {
32667
32891
  private readonly http;
@@ -32670,13 +32894,13 @@ export declare class Feedback {
32670
32894
  * `POST /v1/feedback` — rate one turn. Exactly one of `event_id`,
32671
32895
  * `session_id`, `client_request_id` must be present.
32672
32896
  */
32673
- submit(body: FeedbackRequest, opts?: CallOpts$36): Promise<FeedbackResponse>;
32897
+ submit(body: FeedbackRequest, opts?: CallOpts$37): Promise<FeedbackResponse>;
32674
32898
  }
32675
32899
  export declare class PhoneModels {
32676
32900
  private readonly http;
32677
32901
  constructor(http: HttpClient);
32678
32902
  /** `GET /v1/phone/models` — on-device model catalog with signed URLs. */
32679
- list(opts?: CallOpts$36): Promise<PhoneModel[]>;
32903
+ list(opts?: CallOpts$37): Promise<PhoneModel[]>;
32680
32904
  }
32681
32905
  //#endregion
32682
32906
  //#region src/resources/agents.d.ts
@@ -32688,7 +32912,7 @@ export type AgentRun = Reply<'getAgentRun'>;
32688
32912
  export type AgentRunStep = Schema<'AgentRunStep'>;
32689
32913
  export type AgentRunStats = Reply<'getAgentRunStats'>;
32690
32914
  export type AgentRunStatus = Schema<'AgentRunStatus'>;
32691
- type CallOpts$35 = {
32915
+ type CallOpts$36 = {
32692
32916
  ext?: CodaiRequestExtensions;
32693
32917
  signal?: AbortSignal;
32694
32918
  };
@@ -32725,28 +32949,28 @@ export declare class AgentRuns {
32725
32949
  private readonly http;
32726
32950
  constructor(http: HttpClient);
32727
32951
  /** `POST /v1/agents/runs` — returns 202 with the run id. */
32728
- create(body: AgentRunCreateRequest, opts?: CallOpts$35): Promise<AgentRunAccepted>;
32952
+ create(body: AgentRunCreateRequest, opts?: CallOpts$36): Promise<AgentRunAccepted>;
32729
32953
  /** `GET /v1/agents/runs/{id}` */
32730
- get(id: string, opts?: CallOpts$35): Promise<AgentRun>;
32954
+ get(id: string, opts?: CallOpts$36): Promise<AgentRun>;
32731
32955
  /** `GET /v1/agents/runs/{id}/steps` — newest first. */
32732
- steps(id: string, opts?: CallOpts$35): Promise<AgentRunStep[]>;
32956
+ steps(id: string, opts?: CallOpts$36): Promise<AgentRunStep[]>;
32733
32957
  /** `GET /v1/agents/runs/stats?days=` */
32734
- stats(days?: number, opts?: CallOpts$35): Promise<AgentRunStats>;
32958
+ stats(days?: number, opts?: CallOpts$36): Promise<AgentRunStats>;
32735
32959
  /** `POST /v1/agents/runs/{id}/cancel` */
32736
- cancel(id: string, opts?: CallOpts$35): Promise<Reply<'cancelAgentRun'>>;
32960
+ cancel(id: string, opts?: CallOpts$36): Promise<Reply<'cancelAgentRun'>>;
32737
32961
  /**
32738
32962
  * `GET /v1/agents/runs/{id}/stream` — async iterator over `step` / `done` /
32739
32963
  * `timeout` events. The iterator ends after `done`; on `timeout` (30 min)
32740
32964
  * it also ends and you may reconnect (full replay from seq 0).
32741
32965
  */
32742
- stream(id: string, opts?: CallOpts$35): AsyncGenerator<AgentRunStreamEvent, void, undefined>;
32966
+ stream(id: string, opts?: CallOpts$36): AsyncGenerator<AgentRunStreamEvent, void, undefined>;
32743
32967
  }
32744
32968
  export declare class Agents {
32745
32969
  private readonly http;
32746
32970
  readonly runs: AgentRuns;
32747
32971
  constructor(http: HttpClient);
32748
32972
  /** `POST /v1/agents/run` — blocks until the agent loop finishes. */
32749
- run(body: AgentRunRequest, opts?: CallOpts$35): Promise<AgentRunResult>;
32973
+ run(body: AgentRunRequest, opts?: CallOpts$36): Promise<AgentRunResult>;
32750
32974
  }
32751
32975
  //#endregion
32752
32976
  //#region src/resources/audio.d.ts
@@ -32911,7 +33135,7 @@ export interface StudioQuoteQuery {
32911
33135
  model?: string;
32912
33136
  n?: number;
32913
33137
  }
32914
- type CallOpts$34 = {
33138
+ type CallOpts$35 = {
32915
33139
  ext?: CodaiRequestExtensions;
32916
33140
  signal?: AbortSignal;
32917
33141
  };
@@ -32935,16 +33159,16 @@ export declare class Billing {
32935
33159
  private readonly http;
32936
33160
  constructor(http: HttpClient);
32937
33161
  /** `GET /v1/billing` — plan, wallet, auto top-up, cards and pay links (read-only). */
32938
- get(opts?: CallOpts$34): Promise<BillingOverview>;
33162
+ get(opts?: CallOpts$35): Promise<BillingOverview>;
32939
33163
  /** `GET /v1/billing/invoices` — fiscal invoices and credit notes, newest first. */
32940
33164
  invoices(query?: {
32941
33165
  limit?: number;
32942
- }, opts?: CallOpts$34): Promise<BillingInvoice[]>;
33166
+ }, opts?: CallOpts$35): Promise<BillingInvoice[]>;
32943
33167
  /**
32944
33168
  * `GET /v1/studio/quote` — what a Studio action costs (USD and wallet EUR micros) and your spendable balance,
32945
33169
  * before you run it. Paid Studio calls answer 402 `insufficient_funds` when `sufficient` is false. Free.
32946
33170
  */
32947
- studioQuote(query: StudioQuoteQuery, opts?: CallOpts$34): Promise<StudioQuote>;
33171
+ studioQuote(query: StudioQuoteQuery, opts?: CallOpts$35): Promise<StudioQuote>;
32948
33172
  /**
32949
33173
  * Poll `get()` every `intervalMs` and call `onLow` once each time the wallet
32950
33174
  * balance crosses below `thresholdEur`. Read-only: never creates a checkout.
@@ -32989,7 +33213,7 @@ export interface CardsRendered {
32989
33213
  width: number | null;
32990
33214
  height: number | null;
32991
33215
  }
32992
- type CallOpts$33 = {
33216
+ type CallOpts$34 = {
32993
33217
  ext?: CodaiRequestExtensions;
32994
33218
  signal?: AbortSignal;
32995
33219
  };
@@ -32998,59 +33222,59 @@ export declare class Cards {
32998
33222
  constructor(http: HttpClient);
32999
33223
  private get;
33000
33224
  /** `GET /v1/cards/weather` — `weather` block from MET Norway (cached 30–60 min per 0.01°, free). */
33001
- weather(params: CardsWeatherParams, opts?: CallOpts$33): Promise<CardsWeatherResponse>;
33225
+ weather(params: CardsWeatherParams, opts?: CallOpts$34): Promise<CardsWeatherResponse>;
33002
33226
  /**
33003
33227
  * `GET /v1/cards/places` — `places` block from Google Places: Text Search with `q` (biased to `lat`/`lng`/`radius`),
33004
33228
  * Nearby Search without it. Billed per call; `block` is null when nothing matched.
33005
33229
  */
33006
- places(params: CardsPlacesParams, opts?: CallOpts$33): Promise<CardsPlacesResponse>;
33230
+ places(params: CardsPlacesParams, opts?: CallOpts$34): Promise<CardsPlacesResponse>;
33007
33231
  /** `GET /v1/cards/geocode` — `map` block (≤ 5 markers) plus raw `results` (Google Geocoding, billed). */
33008
- geocode(params: CardsGeocodeParams, opts?: CallOpts$33): Promise<CardsGeocodeResponse>;
33232
+ geocode(params: CardsGeocodeParams, opts?: CallOpts$34): Promise<CardsGeocodeResponse>;
33009
33233
  /**
33010
33234
  * `GET /v1/cards/static-map` — PNG from Google Maps Static proxied through the gateway (no maps key on the client).
33011
33235
  * Needs `center` or `markers` (`lat,lng[,L]` joined by `|`); ≤ 640×400 points. Billed per call.
33012
33236
  */
33013
- staticMap(params: CardsStaticMapParams, opts?: CallOpts$33): Promise<CardsStaticMap>;
33237
+ staticMap(params: CardsStaticMapParams, opts?: CallOpts$34): Promise<CardsStaticMap>;
33014
33238
  /**
33015
33239
  * `GET /v1/cards/fx` — BNR (default) or ECB reference rates: a `metric` block with `from`+`to`, otherwise a `table`
33016
33240
  * block against `quote`, optionally limited to `symbols` (comma-separated). Free.
33017
33241
  */
33018
- fx(params?: CardsFxParams, opts?: CallOpts$33): Promise<CardsFxResponse>;
33242
+ fx(params?: CardsFxParams, opts?: CallOpts$34): Promise<CardsFxResponse>;
33019
33243
  /**
33020
33244
  * `GET /v1/cards/route` — travel time from Google Routes: `route` { mode, durationS, staticDurationS, distanceM,
33021
33245
  * polyline } and a `map` block. `origin`/`destination` as "lat,lng" or `from`/`to` as addresses; `mode` drive
33022
33246
  * (traffic-aware, default), walk, bicycle, transit, two_wheeler. Billed per call; both null when no route exists.
33023
33247
  */
33024
- route(params: CardsRouteParams, opts?: CallOpts$33): Promise<CardsRouteResponse>;
33248
+ route(params: CardsRouteParams, opts?: CallOpts$34): Promise<CardsRouteResponse>;
33025
33249
  /**
33026
33250
  * `GET /v1/cards/track` — parcel history as a `timeline` block plus `result` (carrier, configured, found,
33027
33251
  * delivered, events, trackingUrl). `carrier` (sameday | fan | cargus | dpd) is guessed from the AWB when omitted;
33028
33252
  * carriers without gateway credentials answer `configured: false` with only the tracking link. Free.
33029
33253
  */
33030
- track(params: CardsTrackParams, opts?: CallOpts$33): Promise<CardsTrackResponse>;
33254
+ track(params: CardsTrackParams, opts?: CallOpts$34): Promise<CardsTrackResponse>;
33031
33255
  /**
33032
33256
  * `GET /v1/cards/efactura` — your fiscal documents issued through Brivio with their ANAF e-Factura status
33033
33257
  * (`documents[]` + a `table` block, null when there are none). Free.
33034
33258
  */
33035
- efactura(params?: CardsEfacturaParams, opts?: CallOpts$33): Promise<CardsEfacturaResponse>;
33259
+ efactura(params?: CardsEfacturaParams, opts?: CallOpts$34): Promise<CardsEfacturaResponse>;
33036
33260
  /**
33037
33261
  * `POST /v1/cards/unfurl` — `links` block (variant `preview`) for a public https page; SSRF-guarded, cached 24 h.
33038
33262
  * Private targets throw 400 `unfurl_blocked`, non-https pages 422 `unfurl_not_https`.
33039
33263
  */
33040
- unfurl(url: string, opts?: CallOpts$33): Promise<CardsUnfurlResponse>;
33264
+ unfurl(url: string, opts?: CallOpts$34): Promise<CardsUnfurlResponse>;
33041
33265
  /**
33042
33266
  * `POST /v1/cards/product` — `products` block with one item from a public https product page's schema.org
33043
33267
  * `Product` JSON-LD (or OpenGraph product tags): name, image, price + currency (lowest offer), old price, rating
33044
33268
  * (0–5), reviews, seller, availability badge in `lang` (en default). Only what the page states; never sponsored.
33045
33269
  * SSRF-guarded like `unfurl`, cached 6 h. No product data throws 422 `product_not_found`.
33046
33270
  */
33047
- product(url: string, lang?: 'en' | 'ro', opts?: CallOpts$33): Promise<CardsProductResponse>;
33271
+ product(url: string, lang?: 'en' | 'ro', opts?: CallOpts$34): Promise<CardsProductResponse>;
33048
33272
  /**
33049
33273
  * `POST /v1/cards/render` — renders a `chart` or `qr` block to `format` (`png` default, or `svg`) at
33050
33274
  * `width` x `height` CSS px (64–1200, defaults 480 x 300; QR is square) times `scale` (1–3, PNG only).
33051
33275
  * Other block types (Mermaid `diagram`, `math`, …) throw 422 `render_unsupported`. Free; 2000 renders per day.
33052
33276
  */
33053
- render(body: CardsRenderBody, opts?: CallOpts$33): Promise<CardsRendered>;
33277
+ render(body: CardsRenderBody, opts?: CallOpts$34): Promise<CardsRendered>;
33054
33278
  }
33055
33279
  //#endregion
33056
33280
  //#region src/resources/chat.d.ts
@@ -33166,7 +33390,7 @@ export type Device = Schema<'DeviceListItem'>;
33166
33390
  export type DevicePatch = Mutable<Body<'updateDevice'>>;
33167
33391
  export type DevicePatched = Reply<'updateDevice'>;
33168
33392
  export type DispatchInbox = Reply<'getMyDispatchInbox'>;
33169
- type CallOpts$32 = {
33393
+ type CallOpts$33 = {
33170
33394
  ext?: CodaiRequestExtensions;
33171
33395
  signal?: AbortSignal;
33172
33396
  };
@@ -33174,23 +33398,23 @@ export declare class Devices {
33174
33398
  private readonly http;
33175
33399
  constructor(http: HttpClient);
33176
33400
  /** `GET /v1/devices` — most recently seen first. */
33177
- list(opts?: CallOpts$32): Promise<Device[]>;
33401
+ list(opts?: CallOpts$33): Promise<Device[]>;
33178
33402
  /** `PATCH /v1/devices/{id}` — push token and/or capabilities. */
33179
- update(id: string, body: DevicePatch, opts?: CallOpts$32): Promise<DevicePatched>;
33403
+ update(id: string, body: DevicePatch, opts?: CallOpts$33): Promise<DevicePatched>;
33180
33404
  /** `DELETE /v1/devices/{id}` */
33181
- delete(id: string, opts?: CallOpts$32): Promise<Reply<'deleteDevice'>>;
33405
+ delete(id: string, opts?: CallOpts$33): Promise<Reply<'deleteDevice'>>;
33182
33406
  /**
33183
33407
  * `POST /v1/keys/self/revoke` — the API key this client uses revokes ITSELF (sign out).
33184
33408
  * Every later call with it fails with 401.
33185
33409
  */
33186
- revokeSelfKey(opts?: CallOpts$32): Promise<Reply<'revokeSelfKey'>>;
33410
+ revokeSelfKey(opts?: CallOpts$33): Promise<Reply<'revokeSelfKey'>>;
33187
33411
  /**
33188
33412
  * `GET /v1/devices/me/dispatch?limit=` — pending controls dispatched at the
33189
33413
  * calling device (`x-codai-device` required) across all owned sessions.
33190
33414
  */
33191
33415
  dispatchInbox(query?: {
33192
33416
  limit?: number;
33193
- }, opts?: CallOpts$32): Promise<DispatchInbox>;
33417
+ }, opts?: CallOpts$33): Promise<DispatchInbox>;
33194
33418
  }
33195
33419
  //#endregion
33196
33420
  //#region src/resources/embeddings.d.ts
@@ -33253,7 +33477,7 @@ export type EnvironmentJobStartBody = Mutable<Body<'startEnvironmentJob'>>;
33253
33477
  export type EnvironmentJobStarted = Schema<'EnvironmentJobStarted'>;
33254
33478
  export type EnvironmentJob = Schema<'EnvironmentJob'>;
33255
33479
  export type GetEnvironmentJobQuery = Mutable<QueryOf<'getEnvironmentJob'>>;
33256
- type CallOpts$31 = {
33480
+ type CallOpts$32 = {
33257
33481
  ext?: CodaiRequestExtensions;
33258
33482
  signal?: AbortSignal;
33259
33483
  };
@@ -33261,70 +33485,70 @@ export declare class EnvironmentMembers {
33261
33485
  private readonly http;
33262
33486
  constructor(http: HttpClient);
33263
33487
  /** `GET /v1/environments/{id}/members` — any role. */
33264
- list(envId: string, opts?: CallOpts$31): Promise<EnvironmentMember[]>;
33488
+ list(envId: string, opts?: CallOpts$32): Promise<EnvironmentMember[]>;
33265
33489
  /** `POST /v1/environments/{id}/members` — exactly one of `user_id` / `email`. */
33266
- add(envId: string, body: EnvironmentAddMemberBody, opts?: CallOpts$31): Promise<EnvironmentMemberCreated>;
33490
+ add(envId: string, body: EnvironmentAddMemberBody, opts?: CallOpts$32): Promise<EnvironmentMemberCreated>;
33267
33491
  /** `PUT /v1/environments/{id}/members/me/ssh-key` — one `authorized_keys` line. */
33268
- setSshKey(envId: string, publicKey: string, opts?: CallOpts$31): Promise<Reply<'setMyEnvironmentSshKey'>>;
33492
+ setSshKey(envId: string, publicKey: string, opts?: CallOpts$32): Promise<Reply<'setMyEnvironmentSshKey'>>;
33269
33493
  /** `PATCH /v1/environments/{id}/members/{userId}` — 409 `last_owner` on demoting the last owner. */
33270
- setRole(envId: string, userId: string, role: EnvironmentRole, opts?: CallOpts$31): Promise<Reply<'setEnvironmentMemberRole'>['member']>;
33494
+ setRole(envId: string, userId: string, role: EnvironmentRole, opts?: CallOpts$32): Promise<Reply<'setEnvironmentMemberRole'>['member']>;
33271
33495
  /** `DELETE /v1/environments/{id}/members/{userId}` — pass your own id to leave. */
33272
- remove(envId: string, userId: string, opts?: CallOpts$31): Promise<Reply<'removeEnvironmentMember'>>;
33496
+ remove(envId: string, userId: string, opts?: CallOpts$32): Promise<Reply<'removeEnvironmentMember'>>;
33273
33497
  /** `POST /v1/environments/{id}/members/me/ssh-cert` — 12 h OpenSSH user certificate for your key. */
33274
- sshCert(envId: string, body: EnvironmentSshCertBody, opts?: CallOpts$31): Promise<EnvironmentSshCert>;
33498
+ sshCert(envId: string, body: EnvironmentSshCertBody, opts?: CallOpts$32): Promise<EnvironmentSshCert>;
33275
33499
  }
33276
33500
  /** `/v1/environments/{id}/tasks` — fire-and-forget agent tasks run in the environment. */
33277
33501
  export declare class EnvironmentTasks {
33278
33502
  private readonly http;
33279
33503
  constructor(http: HttpClient);
33280
33504
  /** `GET /v1/environments/{id}/tasks` */
33281
- list(envId: string, opts?: CallOpts$31): Promise<EnvironmentTaskList>;
33505
+ list(envId: string, opts?: CallOpts$32): Promise<EnvironmentTaskList>;
33282
33506
  /** `POST /v1/environments/{id}/tasks` — queued; you get a notification when it finishes. */
33283
- create(envId: string, body: EnvironmentTaskCreateBody, opts?: CallOpts$31): Promise<EnvironmentTaskCreated>;
33507
+ create(envId: string, body: EnvironmentTaskCreateBody, opts?: CallOpts$32): Promise<EnvironmentTaskCreated>;
33284
33508
  /** `GET /v1/environments/{id}/tasks/{taskId}` */
33285
- get(envId: string, taskId: string, opts?: CallOpts$31): Promise<EnvironmentTaskDetail>;
33509
+ get(envId: string, taskId: string, opts?: CallOpts$32): Promise<EnvironmentTaskDetail>;
33286
33510
  }
33287
33511
  /** `/v1/environments/{id}/files` — read/write/list over the relay (developer role or higher). */
33288
33512
  export declare class EnvironmentFiles {
33289
33513
  private readonly http;
33290
33514
  constructor(http: HttpClient);
33291
33515
  /** `GET /v1/environments/{id}/files?path=` — directory entries; no path → your workspace. */
33292
- list(envId: string, path?: string, opts?: CallOpts$31): Promise<EnvironmentFileList>;
33516
+ list(envId: string, path?: string, opts?: CallOpts$32): Promise<EnvironmentFileList>;
33293
33517
  /** `GET /v1/environments/{id}/files/{path}` — UTF-8 text (64 KB default, `maxBytes` ≤ 512 KB). */
33294
33518
  get(envId: string, path: string, options?: {
33295
33519
  maxBytes?: number;
33296
- } & CallOpts$31): Promise<EnvironmentFile>;
33520
+ } & CallOpts$32): Promise<EnvironmentFile>;
33297
33521
  /** `PUT /v1/environments/{id}/files/{path}` — replace with UTF-8 text (≤ 2 MB). */
33298
- put(envId: string, path: string, content: string, opts?: CallOpts$31): Promise<EnvironmentFileWritten>;
33522
+ put(envId: string, path: string, content: string, opts?: CallOpts$32): Promise<EnvironmentFileWritten>;
33299
33523
  }
33300
33524
  /** `/v1/environments/{id}/jobs` — background jobs on the environment daemon. */
33301
33525
  export declare class EnvironmentJobs {
33302
33526
  private readonly http;
33303
33527
  constructor(http: HttpClient);
33304
33528
  /** `POST /v1/environments/{id}/jobs` — returns at once with `job_id`. */
33305
- start(envId: string, body: EnvironmentJobStartBody, opts?: CallOpts$31): Promise<EnvironmentJobStarted>;
33529
+ start(envId: string, body: EnvironmentJobStartBody, opts?: CallOpts$32): Promise<EnvironmentJobStarted>;
33306
33530
  /** `GET /v1/environments/{id}/jobs/{jobId}` — status + output (`since` = previous `next_offset`). */
33307
- get(envId: string, jobId: string | number, query?: GetEnvironmentJobQuery, opts?: CallOpts$31): Promise<EnvironmentJob>;
33531
+ get(envId: string, jobId: string | number, query?: GetEnvironmentJobQuery, opts?: CallOpts$32): Promise<EnvironmentJob>;
33308
33532
  }
33309
33533
  export declare class EnvironmentPorts {
33310
33534
  private readonly http;
33311
33535
  constructor(http: HttpClient);
33312
33536
  /** `GET /v1/environments/{id}/ports` — published (forwarded) ports. */
33313
- list(envId: string, opts?: CallOpts$31): Promise<EnvironmentPort[]>;
33537
+ list(envId: string, opts?: CallOpts$32): Promise<EnvironmentPort[]>;
33314
33538
  /** `PUT /v1/environments/{id}/ports/{port}` — publish or change visibility (upsert). */
33315
- set(envId: string, port: number, body: EnvironmentPortBody, opts?: CallOpts$31): Promise<EnvironmentPort>;
33539
+ set(envId: string, port: number, body: EnvironmentPortBody, opts?: CallOpts$32): Promise<EnvironmentPort>;
33316
33540
  /** `DELETE /v1/environments/{id}/ports/{port}` — unpublish. */
33317
- remove(envId: string, port: number, opts?: CallOpts$31): Promise<Reply<'removeEnvironmentPort'>>;
33541
+ remove(envId: string, port: number, opts?: CallOpts$32): Promise<Reply<'removeEnvironmentPort'>>;
33318
33542
  }
33319
33543
  export declare class EnvironmentSecrets {
33320
33544
  private readonly http;
33321
33545
  constructor(http: HttpClient);
33322
33546
  /** `GET /v1/environments/{id}/secrets` — names and timestamps only, never values. */
33323
- list(envId: string, opts?: CallOpts$31): Promise<EnvironmentSecret[]>;
33547
+ list(envId: string, opts?: CallOpts$32): Promise<EnvironmentSecret[]>;
33324
33548
  /** `PUT /v1/environments/{id}/secrets/{name}` — upsert; `name` is `ENV_STYLE`. */
33325
- set(envId: string, name: string, value: string, opts?: CallOpts$31): Promise<EnvironmentSecretSet>;
33549
+ set(envId: string, name: string, value: string, opts?: CallOpts$32): Promise<EnvironmentSecretSet>;
33326
33550
  /** `DELETE /v1/environments/{id}/secrets/{name}` */
33327
- remove(envId: string, name: string, opts?: CallOpts$31): Promise<Reply<'removeEnvironmentSecret'>>;
33551
+ remove(envId: string, name: string, opts?: CallOpts$32): Promise<Reply<'removeEnvironmentSecret'>>;
33328
33552
  }
33329
33553
  export declare class Environments {
33330
33554
  private readonly http;
@@ -33339,41 +33563,41 @@ export declare class Environments {
33339
33563
  * `POST /v1/environments/{id}/exec` — run one relay op and wait (developer+). `op` defaults to
33340
33564
  * `shell` with `command`; 409 `environment_offline`, 504 `host_timeout`.
33341
33565
  */
33342
- exec(envId: string, body: EnvironmentExecBody, opts?: CallOpts$31): Promise<EnvironmentExecResult>;
33566
+ exec(envId: string, body: EnvironmentExecBody, opts?: CallOpts$32): Promise<EnvironmentExecResult>;
33343
33567
  /** `GET /v1/environments/{id}/ssh-ca` — CA public keys to trust (`@cert-authority` lines). */
33344
- sshCa(envId: string, opts?: CallOpts$31): Promise<EnvironmentSshCa>;
33568
+ sshCa(envId: string, opts?: CallOpts$32): Promise<EnvironmentSshCa>;
33345
33569
  /** `GET /v1/environments?project_id=&for_user_id=me` — newest first, every state. */
33346
- list(query?: ListEnvironmentsQuery, opts?: CallOpts$31): Promise<Environment[]>;
33570
+ list(query?: ListEnvironmentsQuery, opts?: CallOpts$32): Promise<Environment[]>;
33347
33571
  /**
33348
33572
  * `POST /v1/environments` — `byo` starts `pending`; managed providers start
33349
33573
  * `creating`. 409 `already_has_env` in a `vm_per_dev` project (the error
33350
33574
  * body carries the `environment_id` to reuse).
33351
33575
  */
33352
- create(body: EnvironmentCreateBody, opts?: CallOpts$31): Promise<Environment>;
33576
+ create(body: EnvironmentCreateBody, opts?: CallOpts$32): Promise<Environment>;
33353
33577
  /**
33354
33578
  * `POST /v1/environments/enroll` — daemon side. The one-time `codai_env_…`
33355
33579
  * token in the body is the only credential; the client's API key header is
33356
33580
  * ignored by this route. Managed environments additionally receive a
33357
33581
  * freshly minted `api_key`, returned exactly once.
33358
33582
  */
33359
- enroll(body: EnvironmentEnrollBody, opts?: CallOpts$31): Promise<EnvironmentEnrolled>;
33583
+ enroll(body: EnvironmentEnrollBody, opts?: CallOpts$32): Promise<EnvironmentEnrolled>;
33360
33584
  /** `GET /v1/environments/{id}` — environment, your role, members, ports, recent events. */
33361
- get(envId: string, opts?: CallOpts$31): Promise<EnvironmentDetail>;
33585
+ get(envId: string, opts?: CallOpts$32): Promise<EnvironmentDetail>;
33362
33586
  /** `PATCH /v1/environments/{id}` — `name` and/or `idle_timeout_minutes` (5..1440). */
33363
- update(envId: string, body: EnvironmentPatchBody, opts?: CallOpts$31): Promise<Environment>;
33587
+ update(envId: string, body: EnvironmentPatchBody, opts?: CallOpts$32): Promise<Environment>;
33364
33588
  /** `POST /v1/environments/{id}/start` — managed providers only (`stopped` → `starting`). */
33365
- start(envId: string, opts?: CallOpts$31): Promise<EnvironmentTransition>;
33589
+ start(envId: string, opts?: CallOpts$32): Promise<EnvironmentTransition>;
33366
33590
  /** `POST /v1/environments/{id}/stop` — managed providers only (`running` → `stopping`). */
33367
- stop(envId: string, opts?: CallOpts$31): Promise<EnvironmentTransition>;
33591
+ stop(envId: string, opts?: CallOpts$32): Promise<EnvironmentTransition>;
33368
33592
  /** `POST /v1/environments/{id}/archive` — keeps history, releases the machine. */
33369
- archive(envId: string, opts?: CallOpts$31): Promise<EnvironmentTransition>;
33593
+ archive(envId: string, opts?: CallOpts$32): Promise<EnvironmentTransition>;
33370
33594
  /** `POST /v1/environments/{id}/destroy` — owner only; terminal. */
33371
- destroy(envId: string, opts?: CallOpts$31): Promise<EnvironmentTransition>;
33595
+ destroy(envId: string, opts?: CallOpts$32): Promise<EnvironmentTransition>;
33372
33596
  /**
33373
33597
  * `POST /v1/environments/{id}/enroll-token` — `byo` only; a 30-minute
33374
33598
  * one-time token for `enroll()`. Minting again replaces the previous one.
33375
33599
  */
33376
- enrollToken(envId: string, opts?: CallOpts$31): Promise<EnvironmentEnrollToken>;
33600
+ enrollToken(envId: string, opts?: CallOpts$32): Promise<EnvironmentEnrollToken>;
33377
33601
  private transition;
33378
33602
  }
33379
33603
  //#endregion
@@ -33410,7 +33634,7 @@ export type HostExecBody = Mutable<Body<'execOnHost'>>;
33410
33634
  export type HostExecResponse = Reply<'execOnHost'>;
33411
33635
  export type HostExecRequest = Schema<'HostExecRequest'>;
33412
33636
  export type HostExecResultBody = Mutable<Body<'postHostExecResult'>>;
33413
- type CallOpts$30 = {
33637
+ type CallOpts$31 = {
33414
33638
  ext?: CodaiRequestExtensions;
33415
33639
  signal?: AbortSignal;
33416
33640
  };
@@ -33437,7 +33661,7 @@ export declare class Hosts {
33437
33661
  private readonly http;
33438
33662
  constructor(http: HttpClient);
33439
33663
  /** `GET /v1/hosts` — your devices currently connected as hosts. */
33440
- list(opts?: CallOpts$30): Promise<HostPresence[]>;
33664
+ list(opts?: CallOpts$31): Promise<HostPresence[]>;
33441
33665
  /**
33442
33666
  * `POST /v1/hosts/{deviceId}/exec` — run one op on a connected host and
33443
33667
  * block until it answers (or `timeout_ms`, default 60 s).
@@ -33445,9 +33669,9 @@ export declare class Hosts {
33445
33669
  exec(deviceId: string, op: HostOp, args?: Record<string, unknown>, extra?: {
33446
33670
  timeoutMs?: number;
33447
33671
  label?: string;
33448
- } & CallOpts$30): Promise<HostExecResponse>;
33672
+ } & CallOpts$31): Promise<HostExecResponse>;
33449
33673
  /** `POST /v1/hosts/exec/{reqId}/result` — host side: deliver an exec result. */
33450
- postResult(reqId: string, body: HostExecResultBody, opts?: CallOpts$30): Promise<Reply<'postHostExecResult'>>;
33674
+ postResult(reqId: string, body: HostExecResultBody, opts?: CallOpts$31): Promise<Reply<'postHostExecResult'>>;
33451
33675
  /**
33452
33676
  * `GET /v1/hosts/stream?os=&hostname=&roots=` — host side: announce this
33453
33677
  * device and receive `hello` / `ping` / `exec` events. Closed by the server
@@ -33457,7 +33681,7 @@ export declare class Hosts {
33457
33681
  os?: string;
33458
33682
  hostname?: string;
33459
33683
  roots?: string[];
33460
- }, opts?: CallOpts$30): AsyncGenerator<HostStreamEvent, void, undefined>;
33684
+ }, opts?: CallOpts$31): AsyncGenerator<HostStreamEvent, void, undefined>;
33461
33685
  }
33462
33686
  //#endregion
33463
33687
  //#region src/resources/assets.d.ts
@@ -33469,7 +33693,7 @@ export type AssetDeleted = Reply<'deleteAsset'>;
33469
33693
  export type AssetListQuery = QueryOf<'listAssets'>;
33470
33694
  /** `b64_json` (default, inline bytes) or `url` (stored asset + 1 h signed URL; 503 `assets_unavailable` without storage). */
33471
33695
  export type MediaResponseFormat = Schema<'MediaResponseFormat'>;
33472
- type CallOpts$29 = {
33696
+ type CallOpts$30 = {
33473
33697
  ext?: CodaiRequestExtensions;
33474
33698
  signal?: AbortSignal;
33475
33699
  };
@@ -33479,25 +33703,25 @@ export declare class Assets {
33479
33703
  private readonly http;
33480
33704
  constructor(http: HttpClient);
33481
33705
  /** `GET /v1/assets` — newest first, `limit` ≤ 100 (default 30). Paginate by passing `next_before` as `before`. */
33482
- list(query?: AssetListQuery, opts?: CallOpts$29): Promise<AssetList>;
33706
+ list(query?: AssetListQuery, opts?: CallOpts$30): Promise<AssetList>;
33483
33707
  /** Iterate every asset across pages (`list` with `before` = previous `next_before`). */
33484
- iterate(query?: Omit<AssetListQuery, 'before'>, opts?: CallOpts$29): AsyncGenerator<AssetDto, void, undefined>;
33708
+ iterate(query?: Omit<AssetListQuery, 'before'>, opts?: CallOpts$30): AsyncGenerator<AssetDto, void, undefined>;
33485
33709
  /** `GET /v1/assets/{id}` — one asset with a fresh 1 h signed `url` (`null` while not `ready`). */
33486
- retrieve(id: string, opts?: CallOpts$29): Promise<AssetDto>;
33710
+ retrieve(id: string, opts?: CallOpts$30): Promise<AssetDto>;
33487
33711
  /**
33488
33712
  * A fresh signed URL of the asset's bytes (valid 1 h), from `GET /v1/assets/{id}`. Throws when the asset has no
33489
33713
  * content yet. Use it in `<audio>`/`<video>`/`fetch` — it needs no Authorization header.
33490
33714
  */
33491
- contentUrl(id: string, opts?: CallOpts$29): Promise<string>;
33715
+ contentUrl(id: string, opts?: CallOpts$30): Promise<string>;
33492
33716
  /**
33493
33717
  * The authenticated redirect endpoint `GET /v1/assets/{id}/content` (302 to the signed URL). Useful for tools that
33494
33718
  * follow redirects with the API key (`curl -L -H 'Authorization: Bearer …'`); browsers should use `contentUrl()`.
33495
33719
  */
33496
33720
  contentPath(id: string): string;
33497
33721
  /** Download the asset's bytes (fetches the signed URL, no API key sent to storage). */
33498
- content(id: string, opts?: CallOpts$29): Promise<Uint8Array>;
33722
+ content(id: string, opts?: CallOpts$30): Promise<Uint8Array>;
33499
33723
  /** `DELETE /v1/assets/{id}` — deletes the object; signed URLs already handed out stop working. */
33500
- delete(id: string, opts?: CallOpts$29): Promise<AssetDeleted>;
33724
+ delete(id: string, opts?: CallOpts$30): Promise<AssetDeleted>;
33501
33725
  }
33502
33726
  //#endregion
33503
33727
  //#region src/resources/images.d.ts
@@ -34000,11 +34224,11 @@ export type DocumentPreview = Reply<'retrievePreview'>;
34000
34224
  export type DocumentPreviewStatus = DocumentPreview['status'];
34001
34225
  export type DocumentVideoRequest = Mutable<Body<'createDocumentVideo'>>;
34002
34226
  export type DocumentVideoAccepted = Reply<'createDocumentVideo', 202>;
34003
- type CallOpts$28 = {
34227
+ type CallOpts$29 = {
34004
34228
  ext?: CodaiRequestExtensions;
34005
34229
  signal?: AbortSignal;
34006
34230
  };
34007
- export interface DocumentPollOptions extends CallOpts$28 {
34231
+ export interface DocumentPollOptions extends CallOpts$29 {
34008
34232
  /** Delay between polls (default 3000 ms for previews, 5000 ms for videos). */
34009
34233
  pollIntervalMs?: number;
34010
34234
  /** Give up after this long (default 300 000 ms for previews, 900 000 ms for videos). */
@@ -34019,21 +34243,21 @@ export declare class Documents {
34019
34243
  * `sheet` -> `SheetSpec`); invalid specs are 400 `invalid_spec`. Files are free. `based_on` creates the next version
34020
34244
  * of one of your documents; `preview: true` also queues a (billed) preview, returned as `preview`.
34021
34245
  */
34022
- create(body: DocumentCreateRequest, opts?: CallOpts$28): Promise<StudioDocument>;
34246
+ create(body: DocumentCreateRequest, opts?: CallOpts$29): Promise<StudioDocument>;
34023
34247
  /** `GET /v1/studio/documents/{id}` — fresh 1 h signed `file.url`, the stored `spec` and `latest_preview_id`. */
34024
- retrieve(id: string, opts?: CallOpts$28): Promise<StudioDocument>;
34248
+ retrieve(id: string, opts?: CallOpts$29): Promise<StudioDocument>;
34025
34249
  /**
34026
34250
  * Queue a preview (`POST /v1/studio/documents/{id}/previews`, HTTP 202): tagged PDF, page PNGs (1280 px) and a
34027
34251
  * contact sheet. Billed once on the first poll that sees the result; at most 3 active previews per user (429).
34028
34252
  */
34029
- preview(id: string, body?: DocumentPreviewRequest, opts?: CallOpts$28): Promise<DocumentPreviewAccepted>;
34253
+ preview(id: string, body?: DocumentPreviewRequest, opts?: CallOpts$29): Promise<DocumentPreviewAccepted>;
34030
34254
  /** Poll a preview (`GET /v1/studio/previews/{id}`): `queued` | `rendering` | `succeeded` | `failed`. */
34031
- retrievePreview(previewId: string, opts?: CallOpts$28): Promise<DocumentPreview>;
34255
+ retrievePreview(previewId: string, opts?: CallOpts$29): Promise<DocumentPreview>;
34032
34256
  /**
34033
34257
  * Turn a deck into an MP4 (`POST /v1/studio/documents/{id}/video`, HTTP 202). Returns a render: poll it with
34034
34258
  * `renders.retrieve(id)` or use `videoAndWait`. Narration (`narrate`) is synthesized and billed now.
34035
34259
  */
34036
- video(id: string, body?: DocumentVideoRequest, opts?: CallOpts$28): Promise<DocumentVideoAccepted>;
34260
+ video(id: string, body?: DocumentVideoRequest, opts?: CallOpts$29): Promise<DocumentVideoAccepted>;
34037
34261
  /** Queue a preview and poll until it succeeds. Throws on `failed` or timeout. */
34038
34262
  createPreviewAndWait(id: string, opts?: DocumentPollOptions & {
34039
34263
  body?: DocumentPreviewRequest;
@@ -34055,11 +34279,11 @@ export interface LottieDownload {
34055
34279
  filename: string | null;
34056
34280
  contentType: string | null;
34057
34281
  }
34058
- type CallOpts$27 = {
34282
+ type CallOpts$28 = {
34059
34283
  ext?: CodaiRequestExtensions;
34060
34284
  signal?: AbortSignal;
34061
34285
  };
34062
- export interface ExportWaitOptions extends CallOpts$27 {
34286
+ export interface ExportWaitOptions extends CallOpts$28 {
34063
34287
  /** Delay between polls (default 3000 ms). */
34064
34288
  intervalMs?: number;
34065
34289
  /** Give up after this long (default 900 000 ms = 15 min). */
@@ -34069,7 +34293,7 @@ export declare class Exports {
34069
34293
  private readonly http;
34070
34294
  constructor(http: HttpClient);
34071
34295
  /** The export: `queued` / `running`, then `succeeded` (signed `url`, valid 1 h) or `failed` (`error`). Free. */
34072
- retrieve(id: string, opts?: CallOpts$27): Promise<StudioExport>;
34296
+ retrieve(id: string, opts?: CallOpts$28): Promise<StudioExport>;
34073
34297
  /**
34074
34298
  * Poll `retrieve` every `intervalMs` (default 3 s) until the export is `succeeded` or `failed` and resolve with it
34075
34299
  * (a `failed` export resolves too — check `status` / `error`). Throws when it is not done within `timeoutMs`
@@ -34202,7 +34426,7 @@ export interface CreativeEditRequest {
34202
34426
  /** Bypass locked nodes and variables. */
34203
34427
  force?: boolean;
34204
34428
  }
34205
- type CallOpts$26 = {
34429
+ type CallOpts$27 = {
34206
34430
  ext?: CodaiRequestExtensions;
34207
34431
  signal?: AbortSignal;
34208
34432
  };
@@ -34210,49 +34434,49 @@ export declare class Creatives {
34210
34434
  private readonly http;
34211
34435
  constructor(http: HttpClient);
34212
34436
  /** List your creatives, most recently updated first (`next_before` pages). */
34213
- list(query?: CreativeListQuery, opts?: CallOpts$26): Promise<CreativeList>;
34437
+ list(query?: CreativeListQuery, opts?: CallOpts$27): Promise<CreativeList>;
34214
34438
  /**
34215
34439
  * Create a creative (`kind` + optional `title` / `doc`); without `doc` you get an empty document for the kind.
34216
34440
  * `brand_kit_id` applies one of your brand kits (`brandKits`) to version 1: `brand = { kitId, tokens }` + its logo.
34217
34441
  * `template` (+ `vars`, values by var key) starts from one of your templates (`templates`) instead of `doc`.
34218
34442
  */
34219
- create(body: CreativeCreateRequest, opts?: CallOpts$26): Promise<Creative>;
34443
+ create(body: CreativeCreateRequest, opts?: CallOpts$27): Promise<Creative>;
34220
34444
  /** The document at the head (or `seq`) with signed `assets` (1 h URLs). */
34221
34445
  retrieve(id: string, query?: {
34222
34446
  seq?: number;
34223
- }, opts?: CallOpts$26): Promise<CreativeDetail>;
34447
+ }, opts?: CallOpts$27): Promise<CreativeDetail>;
34224
34448
  /** Compact text outline (+ formats and vars) — the cheapest structure for a prompt. */
34225
- outline(id: string, opts?: CallOpts$26): Promise<CreativeOutline>;
34449
+ outline(id: string, opts?: CallOpts$27): Promise<CreativeOutline>;
34226
34450
  /** Node ids matching `query` (a string = text/name/id substring, or `{ text, type, sceneId, assetId, locked }`). */
34227
- find(id: string, query: CreativeFindRequest['query'], opts?: CallOpts$26): Promise<CreativeFindResult>;
34451
+ find(id: string, query: CreativeFindRequest['query'], opts?: CallOpts$27): Promise<CreativeFindResult>;
34228
34452
  /** Full JSON of `ids` (scene ids return whole scenes) or of one `sceneId`. */
34229
- subtree(id: string, body: CreativeSubtreeRequest, opts?: CallOpts$26): Promise<CreativeSubtree>;
34453
+ subtree(id: string, body: CreativeSubtreeRequest, opts?: CallOpts$27): Promise<CreativeSubtree>;
34230
34454
  /**
34231
34455
  * Apply an op batch (all or nothing) authored against `baseSeq`. A stale base is rebased when the touched
34232
34456
  * targets did not change meanwhile; otherwise the call throws `CodaiError` 409 `stale` (reload and retry). Rejected
34233
34457
  * ops throw 400 with `code` (`invalid`, `not_found`, `locked`, `duplicate_id`).
34234
34458
  */
34235
- edit(id: string, body: CreativeEditRequest, opts?: CallOpts$26): Promise<CreativeOpsResult>;
34459
+ edit(id: string, body: CreativeEditRequest, opts?: CallOpts$27): Promise<CreativeOpsResult>;
34236
34460
  /** Version history, newest first (`beforeSeq` pages). */
34237
34461
  versions(id: string, query?: {
34238
34462
  beforeSeq?: number;
34239
34463
  limit?: number;
34240
- }, opts?: CallOpts$26): Promise<CreativeVersionList>;
34464
+ }, opts?: CallOpts$27): Promise<CreativeVersionList>;
34241
34465
  /** New head whose document is version `seq`'s (undo / redo). */
34242
- revert(id: string, seq: number, opts?: CallOpts$26): Promise<CreativeRevertResult>;
34466
+ revert(id: string, seq: number, opts?: CallOpts$27): Promise<CreativeRevertResult>;
34243
34467
  /** New creative from version `seq` (default the head). */
34244
- fork(id: string, body?: CreativeForkRequest, opts?: CallOpts$26): Promise<Creative>;
34468
+ fork(id: string, body?: CreativeForkRequest, opts?: CallOpts$27): Promise<Creative>;
34245
34469
  /** Soft-delete the creative. */
34246
- delete(id: string, opts?: CallOpts$26): Promise<CreativeDeleted>;
34470
+ delete(id: string, opts?: CallOpts$27): Promise<CreativeDeleted>;
34247
34471
  /**
34248
34472
  * Contrast, safe area, empty text, missing assets, brand colours, platform safe zones and text floors, alt text,
34249
34473
  * missing captions, reading speed, flashing, missing / stale translations. Issues carry `format` / `fixable` /
34250
34474
  * `locale`; `fixable` counts them (`lintFix`). `locale` lints the translated document (adds
34251
34475
  * `text_overflow_locale`); 404 `Locale not found.` for an unknown locale.
34252
34476
  */
34253
- lint(id: string, body?: CreativeLintRequest, opts?: CallOpts$26): Promise<CreativeLintResult>;
34477
+ lint(id: string, body?: CreativeLintRequest, opts?: CallOpts$27): Promise<CreativeLintResult>;
34254
34478
  /** Preview HTML (signed asset URLs) for `format` / one `scene` / a translation (`locale`). */
34255
- compiled(id: string, query?: CreativeCompiledQuery, opts?: CallOpts$26): Promise<CreativeCompiled>;
34479
+ compiled(id: string, query?: CreativeCompiledQuery, opts?: CallOpts$27): Promise<CreativeCompiled>;
34256
34480
  /**
34257
34481
  * Queue an MP4 render of the head (`codai-render`, HTTP 202, `cached: false`); poll `renders.retrieve(render_id)`.
34258
34482
  * When the same render already exists for this version / format / quality / fps you get it back at once
@@ -34261,48 +34485,48 @@ export declare class Creatives {
34261
34485
  * `ai_label` (`none` | `corner` | `end_card`, EU AI Act art. 50(4)) burns a visible AI label into the video; omitted =
34262
34486
  * `corner` when the creative uses TTS narration or AI images, else `none` (`none` with narration: 400 `ai_label_required`).
34263
34487
  */
34264
- render(id: string, body?: CreativeRenderRequest, opts?: CallOpts$26): Promise<CreativeRenderResult>;
34488
+ render(id: string, body?: CreativeRenderRequest, opts?: CallOpts$27): Promise<CreativeRenderResult>;
34265
34489
  /**
34266
34490
  * PNG still frames at up to 6 times (`t_ms`). `exact: false` (default) screenshots the compiled HTML; `exact: true`
34267
34491
  * cuts them from a draft render of the covering scenes. Waits up to ~90 s: frames (`status: 'succeeded'`) or a
34268
34492
  * running job (`status: 'running'`) to poll with `frameJob(id, frame_job_id)`. Cached frames are free; 60 frame
34269
34493
  * jobs per UTC day are free, then billed (`billed_micro_usd`).
34270
34494
  */
34271
- frame(id: string, body: CreativeFrameRequest, opts?: CallOpts$26): Promise<CreativeFrameResult>;
34495
+ frame(id: string, body: CreativeFrameRequest, opts?: CallOpts$27): Promise<CreativeFrameResult>;
34272
34496
  /**
34273
34497
  * Turn a comment pinned on a frame (`t_ms`, optional `node_id` / `scene_id`) into an edit: one bounded `codai`
34274
34498
  * model turn proposes ops, applied like `edit` against `base_seq` (rebased when possible, 409 `stale` else).
34275
34499
  * 422 `no_edit` when the model made no edit (its answer in `error.text`); `apply: false` only proposes the ops.
34276
34500
  * Token-metered like any `codai` text call.
34277
34501
  */
34278
- comment(id: string, body: CreativeCommentRequest, opts?: CallOpts$26): Promise<CreativeCommentResult>;
34502
+ comment(id: string, body: CreativeCommentRequest, opts?: CallOpts$27): Promise<CreativeCommentResult>;
34279
34503
  /**
34280
34504
  * Generate A/B variants: one bounded `codai` model turn proposes `count` (default 3) variants changing only
34281
34505
  * `focus` (default hook / title / cta); each becomes a fork of the creative at `base_seq` with the ops applied, plus
34282
34506
  * a queued draft render (`render: false` to skip; poll `renders.retrieve(render_id)`). The original is unchanged
34283
34507
  * until `pickVariant`. 422 `no_edit` when no valid variant came back, 504 `timeout` after 90 s. Token-metered.
34284
34508
  */
34285
- variants(id: string, body: CreativeVariantsRequest, opts?: CallOpts$26): Promise<CreativeVariantsResult>;
34509
+ variants(id: string, body: CreativeVariantsRequest, opts?: CallOpts$27): Promise<CreativeVariantsResult>;
34286
34510
  /** The latest variant group of a creative (`group_id: null` when none) with statuses and stored render state. */
34287
- listVariants(id: string, opts?: CallOpts$26): Promise<CreativeVariantList>;
34511
+ listVariants(id: string, opts?: CallOpts$27): Promise<CreativeVariantList>;
34288
34512
  /**
34289
34513
  * Pick the winner: its ops are applied to the original against `base_seq` (rebased when possible, 409 `stale`
34290
34514
  * else); the winner is marked `winner`, the rest of its group `rejected`.
34291
34515
  */
34292
- pickVariant(id: string, variantId: string, body: CreativeVariantPickRequest, opts?: CallOpts$26): Promise<CreativeVariantPickResult>;
34516
+ pickVariant(id: string, variantId: string, body: CreativeVariantPickRequest, opts?: CallOpts$27): Promise<CreativeVariantPickResult>;
34293
34517
  /**
34294
34518
  * Save the creative (at `seq`, default the head) as a private template: each `vars` entry turns a text node's text
34295
34519
  * (`prop: 'text'`) or an image node's asset (`prop: 'image'`) into a variable whose default is the current value.
34296
34520
  * 400 `node_not_found` / `invalid_pick` / `duplicate_key`. Free.
34297
34521
  */
34298
- saveTemplate(id: string, body: SaveTemplateRequest, opts?: CallOpts$26): Promise<CreativeTemplate>;
34522
+ saveTemplate(id: string, body: SaveTemplateRequest, opts?: CallOpts$27): Promise<CreativeTemplate>;
34299
34523
  /**
34300
34524
  * Queue an FCPXML export of a video creative (`seq`, default the head; `format`, default the first 1920×1080 /
34301
34525
  * 1080×1920 / 1080×1080 format): a zip with `project.fcpxml` + per-scene MP4 segments + audio, for Final Cut Pro,
34302
34526
  * DaVinci Resolve or Premiere. Resolves to the queued export; poll it with `exports.wait(e.id)`. Only newly
34303
34527
  * rendered seconds are billed (final render price). 400 `unsupported_kind` / `unsupported_format` / `too_long`.
34304
34528
  */
34305
- exportFcpxml(id: string, query?: ExportFcpxmlQuery, opts?: CallOpts$26): Promise<StudioExport>;
34529
+ exportFcpxml(id: string, query?: ExportFcpxmlQuery, opts?: CallOpts$27): Promise<StudioExport>;
34306
34530
  /**
34307
34531
  * Export a video creative as a Lottie animation (`seq`, default the head; `format`, default the document's default
34308
34532
  * format, or `formats: 'all'`; `container: 'json'` (default, Bodymovin JSON with embedded images) or `'dotlottie'`).
@@ -34310,33 +34534,33 @@ export declare class Creatives {
34310
34534
  * fidelity report in `warnings` (video, chart, HTML block, table, cell grid and audio nodes are not exported).
34311
34535
  * 400 `unsupported_kind` / `invalid_request`, 413 `too_large` (over 20 MB).
34312
34536
  */
34313
- exportLottie(id: string, query?: ExportLottieQuery, opts?: CallOpts$26): Promise<StudioExport>;
34537
+ exportLottie(id: string, query?: ExportLottieQuery, opts?: CallOpts$27): Promise<StudioExport>;
34314
34538
  /**
34315
34539
  * The Lottie file itself (`download=1`, nothing stored): `application/json` for one Bodymovin JSON, `application/zip`
34316
34540
  * for a dotLottie archive or a zip of JSON files (`formats: 'all'`). Same options and errors as `exportLottie`. Free.
34317
34541
  */
34318
- downloadLottie(id: string, query?: ExportLottieQuery, opts?: CallOpts$26): Promise<LottieDownload>;
34542
+ downloadLottie(id: string, query?: ExportLottieQuery, opts?: CallOpts$27): Promise<LottieDownload>;
34319
34543
  /**
34320
34544
  * Turn one of your Studio documents (deck, doc, sheet) into an editable creative — slides become scenes with a
34321
34545
  * `layout` and speaker `notes`, doc pages a `flow` group, sheets a `cell_grid`; nodes carry semantic `role`s.
34322
34546
  * Idempotent: a document that already has a creative resolves to it (`existing: true`). Free. 404 unknown document,
34323
34547
  * 409 `document_spec_missing`, 400 `invalid_spec`, 413 `too_large`.
34324
34548
  */
34325
- fromDocument(documentId: string, opts?: CallOpts$26): Promise<StudioCreativeFromDocument>;
34549
+ fromDocument(documentId: string, opts?: CallOpts$27): Promise<StudioCreativeFromDocument>;
34326
34550
  /**
34327
34551
  * Build a deck / doc / sheet creative (at `seq`, default the head) into a PPTX / DOCX / XLSX — a new version of its
34328
34552
  * Studio document (`document`, exactly the `POST /v1/studio/documents` body). Converter notes come back in
34329
34553
  * `warnings`. The file is free; `preview: true` also queues a billed preview (poll it with
34330
34554
  * `documents.waitForPreview`). 400 `not_supported_for_kind` (video / image) or `invalid_spec`.
34331
34555
  */
34332
- build(id: string, body?: CreativeBuildRequest, opts?: CallOpts$26): Promise<StudioCreativeBuild>;
34556
+ build(id: string, body?: CreativeBuildRequest, opts?: CallOpts$27): Promise<StudioCreativeBuild>;
34333
34557
  /**
34334
34558
  * Re-apply a brand kit (`brand_kit_id`) or a flat token map (`tokens`) to the creative as one new version: literal
34335
34559
  * colours equal to the old brand become token refs, `snap: true` maps every other colour to the nearest kit colour,
34336
34560
  * `fonts` (default true) sets heading / body font refs by role, locked nodes are skipped unless `force`. The kit
34337
34561
  * logo is registered too. `base_seq` defaults to the head (rebased like `edit`, 409 `stale` else). Free.
34338
34562
  */
34339
- restyle(id: string, body: CreativeRestyleRequest, opts?: CallOpts$26): Promise<CreativeRestyleResult>;
34563
+ restyle(id: string, body: CreativeRestyleRequest, opts?: CallOpts$27): Promise<CreativeRestyleResult>;
34340
34564
  /**
34341
34565
  * Auto-captions: transcribe a voice clip (`clip_id`, default the first voice clip) word by word and add or update a
34342
34566
  * captions node (`preset`, default `bold-pill`) as one new version. Words are cached on the asset (free next time
@@ -34344,83 +34568,83 @@ export declare class Creatives {
34344
34568
  * transcription is billed at the speech-to-text rate (`cost_micro_usd`). Video creatives only (400
34345
34569
  * `unsupported_kind`); 403 `residency_unavailable`, 503 `transcription_unavailable`.
34346
34570
  */
34347
- captions(id: string, body?: CreativeCaptionsRequest, opts?: CallOpts$26): Promise<CreativeCaptionsResult>;
34571
+ captions(id: string, body?: CreativeCaptionsRequest, opts?: CallOpts$27): Promise<CreativeCaptionsResult>;
34348
34572
  /** The captions as SubRip text on the document timeline (`node_id`, `seq` optional); 404 without captions. Free. */
34349
- captionsSrt(id: string, query?: CreativeCaptionsQuery, opts?: CallOpts$26): Promise<string>;
34573
+ captionsSrt(id: string, query?: CreativeCaptionsQuery, opts?: CallOpts$27): Promise<string>;
34350
34574
  /** The captions as WebVTT text on the document timeline (`node_id`, `seq` optional); 404 without captions. Free. */
34351
- captionsVtt(id: string, query?: CreativeCaptionsQuery, opts?: CallOpts$26): Promise<string>;
34575
+ captionsVtt(id: string, query?: CreativeCaptionsQuery, opts?: CallOpts$27): Promise<string>;
34352
34576
  /**
34353
34577
  * Adapt to platforms (`tiktok`, `reels`, `shorts`, `feed-square`, `feed-portrait`, `youtube`): one format per
34354
34578
  * platform in one new version, text kept inside each platform's safe zone and above its legible size.
34355
34579
  * `focal: 'vision'` (token-metered) finds the focal point of full-bleed images; it fails open. Free otherwise.
34356
34580
  */
34357
- adapt(id: string, body: CreativeAdaptRequest, opts?: CallOpts$26): Promise<CreativeAdaptResult>;
34581
+ adapt(id: string, body: CreativeAdaptRequest, opts?: CallOpts$27): Promise<CreativeAdaptResult>;
34358
34582
  /**
34359
34583
  * Fix lint issues as one new version: deterministic fixes (free) for `off_brand_color`, `text_too_small`,
34360
34584
  * `outside_platform_safe_zone` and `flashing` (`codes` limits them); `agent: true` (token-metered) gives the rest
34361
34585
  * to one `codai` turn. Nothing to fix: the current `seq`, empty `fixed`, no new version.
34362
34586
  */
34363
- lintFix(id: string, body?: CreativeLintFixRequest, opts?: CallOpts$26): Promise<CreativeLintFixResult>;
34587
+ lintFix(id: string, body?: CreativeLintFixRequest, opts?: CallOpts$27): Promise<CreativeLintFixResult>;
34364
34588
  /**
34365
34589
  * The tweak panel model: one control per variable (stored `meta.controls` entry or derived from the type). Change
34366
34590
  * values with a `setVar` op and controls with a `setControl` op (`edit`). Free.
34367
34591
  */
34368
- controls(id: string, opts?: CallOpts$26): Promise<CreativeControls>;
34592
+ controls(id: string, opts?: CallOpts$27): Promise<CreativeControls>;
34369
34593
  /**
34370
34594
  * Localisation state: source locale, glossary, unit count and per locale translated / missing / stale / voice.
34371
34595
  * With `locale` (+ `units`, default 1) also the units of that locale (paged with `offset` / `limit` ≤ 500). Free.
34372
34596
  */
34373
- locales(id: string, query?: CreativeLocalesQuery, opts?: CallOpts$26): Promise<CreativeLocaleStatus>;
34597
+ locales(id: string, query?: CreativeLocalesQuery, opts?: CallOpts$27): Promise<CreativeLocaleStatus>;
34374
34598
  /**
34375
34599
  * Translate every text into up to 10 BCP-47 `locales` as per-locale overrides (one new version, author `agent`).
34376
34600
  * Token-metered `codai` turns; `glossary` terms and the brand kit name stay verbatim, `tone` picks the address,
34377
34601
  * `only_missing` (default true) skips fresh translations, `voice: true` (video, billed) narrates voice clips again.
34378
34602
  * 400 `nothing_to_translate`; 503 `localize_unavailable` when every locale failed.
34379
34603
  */
34380
- localize(id: string, body: CreativeLocalizeRequest, opts?: CallOpts$26): Promise<CreativeLocalizeResult>;
34604
+ localize(id: string, body: CreativeLocalizeRequest, opts?: CallOpts$27): Promise<CreativeLocalizeResult>;
34381
34605
  /**
34382
34606
  * Save `locale` as a new standalone creative (translations applied, overrides dropped, `fork_of` recorded; default
34383
34607
  * title `<title> (<locale>)`). 404 `Locale not found.`. Free (HTTP 201).
34384
34608
  */
34385
- forkLocale(id: string, locale: string, body?: CreativeLocaleForkRequest, opts?: CallOpts$26): Promise<CreativeLocaleForkResult>;
34609
+ forkLocale(id: string, locale: string, body?: CreativeLocaleForkRequest, opts?: CallOpts$27): Promise<CreativeLocaleForkResult>;
34386
34610
  /**
34387
34611
  * Create a public link: `view` (read-only preview of version `seq` or the head; `allow_remix` default false) or
34388
34612
  * `review` (comments by name, no account; `can_approve` lets the holder approve). The `token` and `url` are shown
34389
34613
  * only in this answer (HTTP 201). 400 `unknown_seq`; 409 `too_many_shares` (20 active links). Free.
34390
34614
  */
34391
- createShare(id: string, body: StudioShareCreateRequest, opts?: CallOpts$26): Promise<StudioShareCreated>;
34615
+ createShare(id: string, body: StudioShareCreateRequest, opts?: CallOpts$27): Promise<StudioShareCreated>;
34392
34616
  /** The active links (not revoked, not expired), newest first; `url` is always null. Free. */
34393
- listShares(id: string, opts?: CallOpts$26): Promise<StudioShareList>;
34617
+ listShares(id: string, opts?: CallOpts$27): Promise<StudioShareList>;
34394
34618
  /** Revoke a link: it answers 404 from now on. 404 when unknown or already revoked. Free. */
34395
- revokeShare(id: string, shareId: string, opts?: CallOpts$26): Promise<void>;
34619
+ revokeShare(id: string, shareId: string, opts?: CallOpts$27): Promise<void>;
34396
34620
  /**
34397
34621
  * The review state: `status` (`draft` → `in_review` → `approved` | `changes_requested`), requested / approved
34398
34622
  * version (`approved_is_head` false once the creative changed), decider and thread counts. Free.
34399
34623
  */
34400
- review(id: string, opts?: CallOpts$26): Promise<StudioReview>;
34624
+ review(id: string, opts?: CallOpts$27): Promise<StudioReview>;
34401
34625
  /** Send the head to review (`in_review`, earlier decision cleared) so approver links can decide. Free. */
34402
- requestReview(id: string, opts?: CallOpts$26): Promise<StudioReview>;
34626
+ requestReview(id: string, opts?: CallOpts$27): Promise<StudioReview>;
34403
34627
  /** Back to `draft` (decision cleared, comments kept). Free. */
34404
- resetReview(id: string, opts?: CallOpts$26): Promise<StudioReview>;
34628
+ resetReview(id: string, opts?: CallOpts$27): Promise<StudioReview>;
34405
34629
  /** Comment threads, newest first (≤ 200), replies oldest first; `status` `open` | `resolved` | `all`. Free. */
34406
- reviewThreads(id: string, query?: StudioReviewThreadsQuery, opts?: CallOpts$26): Promise<StudioReviewThreadList>;
34630
+ reviewThreads(id: string, query?: StudioReviewThreadsQuery, opts?: CallOpts$27): Promise<StudioReviewThreadList>;
34407
34631
  /**
34408
34632
  * Start a thread as the owner, optionally anchored to `node_id` / `scene_id` / `t_ms` (checked against the head:
34409
34633
  * 400 `unknown_node` / `unknown_scene`; HTTP 201). 409 `too_many_comments`. Free.
34410
34634
  */
34411
- createReviewThread(id: string, body: StudioReviewThreadCreateRequest, opts?: CallOpts$26): Promise<StudioReviewThread>;
34635
+ createReviewThread(id: string, body: StudioReviewThreadCreateRequest, opts?: CallOpts$27): Promise<StudioReviewThread>;
34412
34636
  /** Reply in a thread as the owner (HTTP 201) — returns the whole thread. Free. */
34413
34637
  replyReviewThread(id: string, threadId: string, body: {
34414
34638
  body: string;
34415
- }, opts?: CallOpts$26): Promise<StudioReviewThread>;
34639
+ }, opts?: CallOpts$27): Promise<StudioReviewThread>;
34416
34640
  /** Resolve a thread. Free. */
34417
- resolveReviewThread(id: string, threadId: string, opts?: CallOpts$26): Promise<StudioReviewThread>;
34641
+ resolveReviewThread(id: string, threadId: string, opts?: CallOpts$27): Promise<StudioReviewThread>;
34418
34642
  /** Reopen a resolved thread. Free. */
34419
- reopenReviewThread(id: string, threadId: string, opts?: CallOpts$26): Promise<StudioReviewThread>;
34643
+ reopenReviewThread(id: string, threadId: string, opts?: CallOpts$27): Promise<StudioReviewThread>;
34420
34644
  /** Delete any comment (owner moderation; deleting a root hides the thread). 404 when unknown. Free. */
34421
- deleteReviewComment(id: string, commentId: string, opts?: CallOpts$26): Promise<void>;
34645
+ deleteReviewComment(id: string, commentId: string, opts?: CallOpts$27): Promise<void>;
34422
34646
  /** Poll a frame job: frames when done (`status: 'succeeded'`), `status: 'running'` meanwhile; 404 unknown job. */
34423
- frameJob(id: string, jobId: string, opts?: CallOpts$26): Promise<CreativeFrameResult>;
34647
+ frameJob(id: string, jobId: string, opts?: CallOpts$27): Promise<CreativeFrameResult>;
34424
34648
  }
34425
34649
  //#endregion
34426
34650
  //#region src/resources/brand-kits.d.ts
@@ -34436,7 +34660,7 @@ export type BrandKitCreateRequest = Mutable<Body<'createBrandKit'>>;
34436
34660
  export type BrandKitUpdateRequest = Mutable<Body<'updateBrandKit'>>;
34437
34661
  export type BrandKitList = Reply<'listBrandKits'>;
34438
34662
  export type BrandKitDeleted = Reply<'deleteBrandKit'>;
34439
- type CallOpts$25 = {
34663
+ type CallOpts$26 = {
34440
34664
  ext?: CodaiRequestExtensions;
34441
34665
  signal?: AbortSignal;
34442
34666
  };
@@ -34448,29 +34672,29 @@ export declare class BrandKits {
34448
34672
  * (import) — exactly one. 400 `invalid_tokens` (with `details.issues`) for an invalid DTCG document, 404 when
34449
34673
  * `logo_asset_id` is not one of your ready image assets. Free.
34450
34674
  */
34451
- create(body: BrandKitCreateRequest, opts?: CallOpts$25): Promise<BrandKit>;
34675
+ create(body: BrandKitCreateRequest, opts?: CallOpts$26): Promise<BrandKit>;
34452
34676
  /**
34453
34677
  * Edit a kit: `tokens` is merged onto the current kit, `dtcg` replaces the whole document (not both),
34454
34678
  * `logo_asset_id: null` removes the logo. Creatives keep their tokens until `creatives.restyle`. Free.
34455
34679
  */
34456
- update(id: string, body: BrandKitUpdateRequest, opts?: CallOpts$25): Promise<BrandKit>;
34680
+ update(id: string, body: BrandKitUpdateRequest, opts?: CallOpts$26): Promise<BrandKit>;
34457
34681
  /** The kit as a DTCG 2025.10 JSON document (`$extensions['ro.codai']` = kit id, name, logo asset id). Free. */
34458
- exportDtcg(id: string, opts?: CallOpts$25): Promise<BrandKitDtcg>;
34682
+ exportDtcg(id: string, opts?: CallOpts$26): Promise<BrandKitDtcg>;
34459
34683
  /**
34460
34684
  * Extract a brand kit from a public `https` page (`{ url }`) or from one of your logo images
34461
34685
  * (`{ logo_asset_id }`, PNG / JPEG / WebP up to 5 MB; it becomes the kit logo): palette (primary, secondary, accent,
34462
34686
  * background, text) and heading / body fonts. One bounded `codai` model call (token-metered); 400 `url_blocked` for
34463
34687
  * private hosts, 400 `unsupported_media` for a bad logo, 422 `fetch_failed` / `extract_failed`, 504 `timeout`.
34464
34688
  */
34465
- extract(body: BrandKitExtractRequest, opts?: CallOpts$25): Promise<BrandKit>;
34689
+ extract(body: BrandKitExtractRequest, opts?: CallOpts$26): Promise<BrandKit>;
34466
34690
  /** Your brand kits, newest first (`limit` 1–100, default 50). Free. */
34467
34691
  list(query?: {
34468
34692
  limit?: number;
34469
- }, opts?: CallOpts$25): Promise<BrandKitList>;
34693
+ }, opts?: CallOpts$26): Promise<BrandKitList>;
34470
34694
  /** One kit with a signed logo URL (1 h), its `dtcg` and the WCAG `contrast` pairs. Free. */
34471
- retrieve(id: string, opts?: CallOpts$25): Promise<BrandKit>;
34695
+ retrieve(id: string, opts?: CallOpts$26): Promise<BrandKit>;
34472
34696
  /** Delete a kit (creatives keep their tokens; the logo asset stays). Free. */
34473
- delete(id: string, opts?: CallOpts$25): Promise<BrandKitDeleted>;
34697
+ delete(id: string, opts?: CallOpts$26): Promise<BrandKitDeleted>;
34474
34698
  }
34475
34699
  //#endregion
34476
34700
  //#region src/resources/templates.d.ts
@@ -34478,7 +34702,7 @@ export type CreativeTemplateVar = Schema<'CreativeTemplateVar'>;
34478
34702
  export type CreativeTemplateList = Reply<'listCreativeTemplates'>;
34479
34703
  export type CreativeTemplateListQuery = QueryOf<'listCreativeTemplates'>;
34480
34704
  export type CreativeTemplateDeleted = Reply<'deleteCreativeTemplate'>;
34481
- type CallOpts$24 = {
34705
+ type CallOpts$25 = {
34482
34706
  ext?: CodaiRequestExtensions;
34483
34707
  signal?: AbortSignal;
34484
34708
  };
@@ -34491,25 +34715,25 @@ export declare class Templates {
34491
34715
  * (default). `kind` filters both. Without `doc`. Free. A starter id works anywhere a template id does
34492
34716
  * (`retrieve`, `creatives.create({ template })`, batches); starters cannot be deleted.
34493
34717
  */
34494
- list(query?: CreativeTemplateListQuery, opts?: CallOpts$24): Promise<CreativeTemplateList>;
34718
+ list(query?: CreativeTemplateListQuery, opts?: CallOpts$25): Promise<CreativeTemplateList>;
34495
34719
  /** One template with its variables and `doc`. Free. */
34496
- retrieve(id: string, opts?: CallOpts$24): Promise<Schema<'CreativeTemplate'>>;
34720
+ retrieve(id: string, opts?: CallOpts$25): Promise<Schema<'CreativeTemplate'>>;
34497
34721
  /** Delete a template (creatives made from it are not affected). Free. */
34498
- delete(id: string, opts?: CallOpts$24): Promise<CreativeTemplateDeleted>;
34722
+ delete(id: string, opts?: CallOpts$25): Promise<CreativeTemplateDeleted>;
34499
34723
  }
34500
34724
  //#endregion
34501
34725
  //#region src/resources/productions.d.ts
34502
34726
  export type StudioProductionCreate = Mutable<Body<'createStudioProduction'>>;
34503
34727
  export type StudioProduction = Schema<'StudioProduction'>;
34504
- type CallOpts$23 = {
34728
+ type CallOpts$24 = {
34505
34729
  ext?: CodaiRequestExtensions;
34506
34730
  signal?: AbortSignal;
34507
34731
  };
34508
- export interface ProductionCreateOptions extends CallOpts$23 {
34732
+ export interface ProductionCreateOptions extends CallOpts$24 {
34509
34733
  /** `Idempotency-Key`: a retry with the same key replays the first production instead of starting another one. */
34510
34734
  idempotencyKey?: string;
34511
34735
  }
34512
- export interface ProductionWaitOptions extends CallOpts$23 {
34736
+ export interface ProductionWaitOptions extends CallOpts$24 {
34513
34737
  /** Delay between polls (default 5000 ms). */
34514
34738
  intervalMs?: number;
34515
34739
  /** Give up after this long (default 600 000 ms = 10 min). */
@@ -34522,7 +34746,7 @@ export declare class Productions {
34522
34746
  /** `POST /v1/studio/productions` — brief → storyboard → assets → creative → queued draft render (202). */
34523
34747
  create(body: StudioProductionCreate, opts?: ProductionCreateOptions): Promise<StudioProduction>;
34524
34748
  /** `GET /v1/studio/productions/{id}` — advances the production and returns it (another account's id is a 404). */
34525
- retrieve(id: string, opts?: CallOpts$23): Promise<StudioProduction>;
34749
+ retrieve(id: string, opts?: CallOpts$24): Promise<StudioProduction>;
34526
34750
  /**
34527
34751
  * Poll `retrieve` every `intervalMs` (default 5 s) until the production `succeeded` or `failed` (a failed one
34528
34752
  * resolves too — check `status` / `error`). Throws after `timeoutMs` (default 10 min) or when `signal` aborts.
@@ -34549,11 +34773,11 @@ export type StudioBatchDryRun = Schema<'StudioBatchDryRun'>;
34549
34773
  export type StudioBatchCreateRequest = Mutable<Schema<'StudioBatchCreateRequest'>>;
34550
34774
  export type StudioBatchListQuery = QueryOf<'listStudioBatches'>;
34551
34775
  export type StudioBatchGetQuery = QueryOf<'getStudioBatch'>;
34552
- type CallOpts$22 = {
34776
+ type CallOpts$23 = {
34553
34777
  ext?: CodaiRequestExtensions;
34554
34778
  signal?: AbortSignal;
34555
34779
  };
34556
- export interface BatchWaitOptions extends CallOpts$22 {
34780
+ export interface BatchWaitOptions extends CallOpts$23 {
34557
34781
  /** Delay between polls (default 3000 ms). */
34558
34782
  intervalMs?: number;
34559
34783
  /** Give up after this long (default 600 000 ms = 10 min). */
@@ -34566,24 +34790,24 @@ export declare class Batches {
34566
34790
  * Create a batch: rows are validated (invalid rows are stored as `failed`) and run in the background; poll `get`
34567
34791
  * or `wait`. 400 `invalid_rows` when every row is invalid. Free (translations and renders are billed as usual).
34568
34792
  */
34569
- create(body: StudioBatchCreateRequest, opts?: CallOpts$22): Promise<StudioBatchDetail>;
34793
+ create(body: StudioBatchCreateRequest, opts?: CallOpts$23): Promise<StudioBatchDetail>;
34570
34794
  /** Validate only (`dry_run: true`): the mapping, row errors, a 3-row preview and an estimate; nothing stored. Free. */
34571
- dryRun(body: StudioBatchCreateRequest, opts?: CallOpts$22): Promise<StudioBatchDryRun>;
34795
+ dryRun(body: StudioBatchCreateRequest, opts?: CallOpts$23): Promise<StudioBatchDryRun>;
34572
34796
  /** Your batches, newest first (`limit` 1–50, `before` = the previous `next_before`). Free. */
34573
- list(query?: StudioBatchListQuery, opts?: CallOpts$22): Promise<StudioBatchList>;
34797
+ list(query?: StudioBatchListQuery, opts?: CallOpts$23): Promise<StudioBatchList>;
34574
34798
  /** The batch (`rows: 1` adds rows; `status`, `offset`, `limit` ≤ 100). Each poll advances it a little. Free. */
34575
- get(id: string, query?: StudioBatchGetQuery, opts?: CallOpts$22): Promise<StudioBatchDetail>;
34799
+ get(id: string, query?: StudioBatchGetQuery, opts?: CallOpts$23): Promise<StudioBatchDetail>;
34576
34800
  /** Stop the batch; rows not started become `skipped`. 409 `not_cancellable` when already finished. Free. */
34577
- cancel(id: string, opts?: CallOpts$22): Promise<StudioBatch>;
34801
+ cancel(id: string, opts?: CallOpts$23): Promise<StudioBatch>;
34578
34802
  /** Queue the failed rows again (≤ 3 attempts each). 409 `nothing_to_retry`. Free. */
34579
- retry(id: string, opts?: CallOpts$22): Promise<StudioBatch>;
34803
+ retry(id: string, opts?: CallOpts$23): Promise<StudioBatch>;
34580
34804
  /** The original CSV plus `creative_id`, `status`, `error`, `render_url` per row (formula-safe). Free. */
34581
- exportCsv(id: string, opts?: CallOpts$22): Promise<string>;
34805
+ exportCsv(id: string, opts?: CallOpts$23): Promise<string>;
34582
34806
  /**
34583
34807
  * Start building a ZIP of the finished renders (202, `zip.status: 'building'`; unchanged when already building or
34584
34808
  * ready). Poll `get` until `zip.status` is `ready` (signed `zip.url`). 409 `no_renders`. Free.
34585
34809
  */
34586
- zip(id: string, opts?: CallOpts$22): Promise<StudioBatch>;
34810
+ zip(id: string, opts?: CallOpts$23): Promise<StudioBatch>;
34587
34811
  /**
34588
34812
  * Poll `get` every `intervalMs` (default 3 s) until the batch is `completed`, `failed` or `cancelled` and resolve
34589
34813
  * with it. Throws when it is not done within `timeoutMs` (default 10 min) or when `signal` aborts.
@@ -34611,7 +34835,7 @@ export type StudioPublicShareQuery = {
34611
34835
  format?: string;
34612
34836
  locale?: string;
34613
34837
  };
34614
- type CallOpts$21 = {
34838
+ type CallOpts$22 = {
34615
34839
  ext?: CodaiRequestExtensions;
34616
34840
  signal?: AbortSignal;
34617
34841
  };
@@ -34628,25 +34852,25 @@ export declare class Shares {
34628
34852
  * `locale` (null for images); review links add the review state and every thread. 404 for unknown, revoked or
34629
34853
  * expired links. No key needed.
34630
34854
  */
34631
- get(tokenOrUrl: string, query?: StudioPublicShareQuery, opts?: CallOpts$21): Promise<StudioPublicShare>;
34855
+ get(tokenOrUrl: string, query?: StudioPublicShareQuery, opts?: CallOpts$22): Promise<StudioPublicShare>;
34632
34856
  /**
34633
34857
  * Copy the version a `view` link shows into a new creative of yours (the owner's ready assets are copied, the
34634
34858
  * foreign brand kit dropped; HTTP 201). 404 for review links or links without remix; 413 `remix_too_large`. Free.
34635
34859
  */
34636
- remix(tokenOrUrl: string, body?: StudioRemixRequest, opts?: CallOpts$21): Promise<StudioRemixResult>;
34860
+ remix(tokenOrUrl: string, body?: StudioRemixRequest, opts?: CallOpts$22): Promise<StudioRemixResult>;
34637
34861
  /** Start a thread through a review link (`name`, `body`, optional anchor; HTTP 201). 400 `invalid_name`. */
34638
- comment(tokenOrUrl: string, body: StudioPublicThreadCreateRequest, opts?: CallOpts$21): Promise<StudioReviewThread>;
34862
+ comment(tokenOrUrl: string, body: StudioPublicThreadCreateRequest, opts?: CallOpts$22): Promise<StudioReviewThread>;
34639
34863
  /** Reply in a thread through a review link (`name`, `body`; HTTP 201) — returns the whole thread. */
34640
- reply(tokenOrUrl: string, threadId: string, body: StudioPublicReplyRequest, opts?: CallOpts$21): Promise<StudioReviewThread>;
34864
+ reply(tokenOrUrl: string, threadId: string, body: StudioPublicReplyRequest, opts?: CallOpts$22): Promise<StudioReviewThread>;
34641
34865
  /** Resolve a thread through a review link (`resolved_by` = `name`). */
34642
- resolve(tokenOrUrl: string, threadId: string, body: StudioPublicNameRequest, opts?: CallOpts$21): Promise<StudioReviewThread>;
34866
+ resolve(tokenOrUrl: string, threadId: string, body: StudioPublicNameRequest, opts?: CallOpts$22): Promise<StudioReviewThread>;
34643
34867
  /** Reopen a resolved thread through a review link. */
34644
- reopen(tokenOrUrl: string, threadId: string, body: StudioPublicNameRequest, opts?: CallOpts$21): Promise<StudioReviewThread>;
34868
+ reopen(tokenOrUrl: string, threadId: string, body: StudioPublicNameRequest, opts?: CallOpts$22): Promise<StudioReviewThread>;
34645
34869
  /**
34646
34870
  * Approve or request changes (approver review links only). 403 `not_an_approver`, 409 `review_not_open`, 409
34647
34871
  * `stale` (with `head_seq`) when `seq` is not the head. Returns the new review state.
34648
34872
  */
34649
- decide(tokenOrUrl: string, body: StudioPublicDecisionRequest, opts?: CallOpts$21): Promise<StudioPublicReview>;
34873
+ decide(tokenOrUrl: string, body: StudioPublicDecisionRequest, opts?: CallOpts$22): Promise<StudioPublicReview>;
34650
34874
  }
34651
34875
  //#endregion
34652
34876
  //#region src/resources/voice-revocations.d.ts
@@ -34684,7 +34908,7 @@ export type VaultResolveRequest = Mutable<Body<'vaultResolve'>>;
34684
34908
  export type VaultTier = VaultAccount['default_tier'];
34685
34909
  /** Loose JSON object answers (lists, acks) as documented in the OpenAPI spec. */
34686
34910
  export type VaultObject = Record<string, unknown>;
34687
- type CallOpts$20 = {
34911
+ type CallOpts$21 = {
34688
34912
  ext?: CodaiRequestExtensions;
34689
34913
  signal?: AbortSignal;
34690
34914
  };
@@ -34693,15 +34917,15 @@ export declare class VaultDevices {
34693
34917
  private readonly http;
34694
34918
  constructor(http: HttpClient);
34695
34919
  /** `POST /v1/vault/devices/challenge` — single-use enrolment nonce, valid 5 minutes. */
34696
- challenge(opts?: CallOpts$20): Promise<VaultDeviceChallenge>;
34920
+ challenge(opts?: CallOpts$21): Promise<VaultDeviceChallenge>;
34697
34921
  /** `POST /v1/vault/devices` — enrol (or re-enrol) a device key; vault-signed, possession-proven, attested (201). */
34698
- enroll(body: VaultDeviceEnroll, opts?: CallOpts$20): Promise<VaultDeviceKey>;
34922
+ enroll(body: VaultDeviceEnroll, opts?: CallOpts$21): Promise<VaultDeviceKey>;
34699
34923
  /** `GET /v1/vault/devices` — your device keys, revoked ones included, newest first. */
34700
- list(opts?: CallOpts$20): Promise<VaultDeviceKey[]>;
34924
+ list(opts?: CallOpts$21): Promise<VaultDeviceKey[]>;
34701
34925
  /** `PATCH /v1/vault/devices/{id}` — change the display name (1-80 characters). */
34702
- rename(id: string, name: string, opts?: CallOpts$20): Promise<VaultDeviceKey>;
34926
+ rename(id: string, name: string, opts?: CallOpts$21): Promise<VaultDeviceKey>;
34703
34927
  /** `DELETE /v1/vault/devices/{id}` — revoke at once; later proofs answer 403 `device_revoked`. */
34704
- revoke(id: string, opts?: CallOpts$20): Promise<Reply<'revokeVaultDevice'>>;
34928
+ revoke(id: string, opts?: CallOpts$21): Promise<Reply<'revokeVaultDevice'>>;
34705
34929
  }
34706
34930
  export declare class Vault {
34707
34931
  private readonly http;
@@ -34710,52 +34934,52 @@ export declare class Vault {
34710
34934
  private get;
34711
34935
  private send;
34712
34936
  /** `GET /v1/vault/account` — bundle, fingerprint, default tier, revision (404 `vault_not_setup` before setup). */
34713
- account(opts?: CallOpts$20): Promise<VaultAccount>;
34937
+ account(opts?: CallOpts$21): Promise<VaultAccount>;
34714
34938
  /** `PUT /v1/vault/account` — upload the client-built bundle; updates send the current `revision` (409 otherwise). */
34715
- putAccount(body: VaultAccountPut, opts?: CallOpts$20): Promise<VaultObject>;
34939
+ putAccount(body: VaultAccountPut, opts?: CallOpts$21): Promise<VaultObject>;
34716
34940
  /** `PATCH /v1/vault/settings` — default approval tier for items without a matching rule. */
34717
- setDefaultTier(defaultTier: VaultTier, opts?: CallOpts$20): Promise<VaultObject>;
34941
+ setDefaultTier(defaultTier: VaultTier, opts?: CallOpts$21): Promise<VaultObject>;
34718
34942
  /** `GET /v1/vault/vaults` — vaults you belong to, with your role and sealed vault key. */
34719
- vaults(opts?: CallOpts$20): Promise<VaultObject>;
34943
+ vaults(opts?: CallOpts$21): Promise<VaultObject>;
34720
34944
  /** `POST /v1/vault/vaults` — register a vault created client-side (HTTP 201). */
34721
- createVault(body: VaultCreate, opts?: CallOpts$20): Promise<VaultObject>;
34945
+ createVault(body: VaultCreate, opts?: CallOpts$21): Promise<VaultObject>;
34722
34946
  /** `GET /v1/vault/items` — envelopes you can read; with `since` (ISO) only changes after it, tombstones included. */
34723
- items(params?: QueryOf<'listVaultItems'>, opts?: CallOpts$20): Promise<VaultObject>;
34947
+ items(params?: QueryOf<'listVaultItems'>, opts?: CallOpts$21): Promise<VaultObject>;
34724
34948
  /** `PUT /v1/vault/items/{id}` — store an envelope (new = revision 1, update = revision + 1, 409 otherwise). */
34725
- putItem(id: string, envelope: VaultItemEnvelope, opts?: CallOpts$20): Promise<VaultObject>;
34949
+ putItem(id: string, envelope: VaultItemEnvelope, opts?: CallOpts$21): Promise<VaultObject>;
34726
34950
  /** `DELETE /v1/vault/items/{id}` — tombstone; revokes every grant on the item and drops its cloud copy. */
34727
- deleteItem(id: string, opts?: CallOpts$20): Promise<VaultObject>;
34951
+ deleteItem(id: string, opts?: CallOpts$21): Promise<VaultObject>;
34728
34952
  /** `PUT /v1/vault/items/{id}/cloud` — owner only: the decrypted item to seal with KMS for cloud agents, or null. */
34729
- setItemCloud(id: string, item: Record<string, unknown> | null, opts?: CallOpts$20): Promise<VaultObject>;
34953
+ setItemCloud(id: string, item: Record<string, unknown> | null, opts?: CallOpts$21): Promise<VaultObject>;
34730
34954
  /** `GET /v1/vault/rules` — policy rules (item, agent glob, mode → tier). */
34731
- rules(opts?: CallOpts$20): Promise<VaultObject>;
34955
+ rules(opts?: CallOpts$21): Promise<VaultObject>;
34732
34956
  /** `POST /v1/vault/rules` — add a rule (HTTP 201). Host binding and honeytokens cannot be overridden. */
34733
- createRule(body: VaultRuleCreate, opts?: CallOpts$20): Promise<VaultObject>;
34957
+ createRule(body: VaultRuleCreate, opts?: CallOpts$21): Promise<VaultObject>;
34734
34958
  /** `DELETE /v1/vault/rules/{id}`. */
34735
- deleteRule(id: string, opts?: CallOpts$20): Promise<VaultObject>;
34959
+ deleteRule(id: string, opts?: CallOpts$21): Promise<VaultObject>;
34736
34960
  /** `GET /v1/vault/grants` — standing grants created by your approvals. */
34737
- grants(opts?: CallOpts$20): Promise<VaultObject>;
34961
+ grants(opts?: CallOpts$21): Promise<VaultObject>;
34738
34962
  /** `DELETE /v1/vault/grants/{id}` — revoke a grant immediately. */
34739
- revokeGrant(id: string, opts?: CallOpts$20): Promise<VaultObject>;
34963
+ revokeGrant(id: string, opts?: CallOpts$21): Promise<VaultObject>;
34740
34964
  /** `GET /v1/vault/events` — append-only audit log (never contains secret values). */
34741
- events(params?: QueryOf<'listVaultEvents'>, opts?: CallOpts$20): Promise<VaultObject>;
34965
+ events(params?: QueryOf<'listVaultEvents'>, opts?: CallOpts$21): Promise<VaultObject>;
34742
34966
  /** `GET /v1/vault/approvals` — agent requests waiting for your decision. */
34743
- approvals(opts?: CallOpts$20): Promise<VaultObject>;
34967
+ approvals(opts?: CallOpts$21): Promise<VaultObject>;
34744
34968
  /** `GET /v1/vault/approvals/{id}` — pending, approved, denied or expired. */
34745
- approval(id: string, opts?: CallOpts$20): Promise<VaultObject>;
34969
+ approval(id: string, opts?: CallOpts$21): Promise<VaultObject>;
34746
34970
  /**
34747
34971
  * `POST /v1/vault/approvals/{id}/decide` — send `signature` (v1 vault key) or `proof` (v2 device key / passkey),
34748
34972
  * never both. Deny needs no proof; a t4 approve needs a device or passkey proof (Wear: t3 only).
34749
34973
  */
34750
- decide(id: string, body: VaultDecision, opts?: CallOpts$20): Promise<VaultObject>;
34974
+ decide(id: string, body: VaultDecision, opts?: CallOpts$21): Promise<VaultObject>;
34751
34975
  /** `GET /v1/vault/catalog` — items exposed to agents (handle, title, kind, hosts, env name); no values. */
34752
- catalog(opts?: CallOpts$20): Promise<VaultObject>;
34976
+ catalog(opts?: CallOpts$21): Promise<VaultObject>;
34753
34977
  /** `POST /v1/vault/use` — a policy decision for one use; t3/t4 return a pending approval id. */
34754
- use(body: VaultUseRequest, opts?: CallOpts$20): Promise<VaultUseDecision>;
34978
+ use(body: VaultUseRequest, opts?: CallOpts$21): Promise<VaultUseDecision>;
34755
34979
  /** `POST /v1/vault/http` — brokered HTTPS call with `{{vault:<slug>}}` handles; 202 = approval required. */
34756
- httpCall(body: VaultHttpRequest, opts?: CallOpts$20): Promise<VaultObject>;
34980
+ httpCall(body: VaultHttpRequest, opts?: CallOpts$21): Promise<VaultObject>;
34757
34981
  /** `POST /v1/vault/resolve` — codai local brokers only (cloud fallback of `codaid vault run`); 202 = approval. */
34758
- resolve(body: VaultResolveRequest, opts?: CallOpts$20): Promise<VaultObject>;
34982
+ resolve(body: VaultResolveRequest, opts?: CallOpts$21): Promise<VaultObject>;
34759
34983
  }
34760
34984
  //#endregion
34761
34985
  //#region src/resources/abuse-reports.d.ts
@@ -34862,7 +35086,7 @@ export type Org = Schema<'OrgWithRole'>;
34862
35086
  export type OrgMember = Schema<'OrgMember'>;
34863
35087
  export type OrgRole = Schema<'OrgRole'>;
34864
35088
  export type OrgAddMemberBody = Mutable<Body<'addOrgMember'>>;
34865
- type CallOpts$19 = {
35089
+ type CallOpts$20 = {
34866
35090
  ext?: CodaiRequestExtensions;
34867
35091
  signal?: AbortSignal;
34868
35092
  };
@@ -34870,20 +35094,20 @@ export declare class OrgMembers {
34870
35094
  private readonly http;
34871
35095
  constructor(http: HttpClient);
34872
35096
  /** `GET /v1/orgs/{id}/members` */
34873
- list(orgId: string, opts?: CallOpts$19): Promise<OrgMember[]>;
35097
+ list(orgId: string, opts?: CallOpts$20): Promise<OrgMember[]>;
34874
35098
  /** `POST /v1/orgs/{id}/members` — add or re-role (owner/admin). */
34875
- add(orgId: string, body: OrgAddMemberBody, opts?: CallOpts$19): Promise<Reply<'addOrgMember', 201>>;
35099
+ add(orgId: string, body: OrgAddMemberBody, opts?: CallOpts$20): Promise<Reply<'addOrgMember', 201>>;
34876
35100
  /** `DELETE /v1/orgs/{id}/members/{userId}` */
34877
- remove(orgId: string, userId: string, opts?: CallOpts$19): Promise<Reply<'removeOrgMember'>>;
35101
+ remove(orgId: string, userId: string, opts?: CallOpts$20): Promise<Reply<'removeOrgMember'>>;
34878
35102
  }
34879
35103
  export declare class Orgs {
34880
35104
  private readonly http;
34881
35105
  readonly members: OrgMembers;
34882
35106
  constructor(http: HttpClient);
34883
35107
  /** `POST /v1/orgs` */
34884
- create(name: string, opts?: CallOpts$19): Promise<Org>;
35108
+ create(name: string, opts?: CallOpts$20): Promise<Org>;
34885
35109
  /** `GET /v1/orgs` */
34886
- list(opts?: CallOpts$19): Promise<Org[]>;
35110
+ list(opts?: CallOpts$20): Promise<Org[]>;
34887
35111
  }
34888
35112
  //#endregion
34889
35113
  //#region src/resources/projects.d.ts
@@ -34892,7 +35116,7 @@ export type ProjectIsolation = Schema<'ProjectIsolation'>;
34892
35116
  export type ProjectCreateBody = Mutable<Body<'createProject'>>;
34893
35117
  export type ProjectPatchBody = Mutable<Body<'updateProject'>>;
34894
35118
  export type ProjectDetail = Reply<'getProject'>;
34895
- type CallOpts$18 = {
35119
+ type CallOpts$19 = {
34896
35120
  ext?: CodaiRequestExtensions;
34897
35121
  signal?: AbortSignal;
34898
35122
  };
@@ -34900,15 +35124,15 @@ export declare class Projects {
34900
35124
  private readonly http;
34901
35125
  constructor(http: HttpClient);
34902
35126
  /** `GET /v1/projects` — projects you own plus those of your orgs, newest first. */
34903
- list(opts?: CallOpts$18): Promise<Project[]>;
35127
+ list(opts?: CallOpts$19): Promise<Project[]>;
34904
35128
  /** `POST /v1/projects` — 409 `slug_taken` when the slug is already yours. */
34905
- create(body: ProjectCreateBody, opts?: CallOpts$18): Promise<Project>;
35129
+ create(body: ProjectCreateBody, opts?: CallOpts$19): Promise<Project>;
34906
35130
  /** `GET /v1/projects/{id}` — the project plus every environment in it. */
34907
- get(projectId: string, opts?: CallOpts$18): Promise<ProjectDetail>;
35131
+ get(projectId: string, opts?: CallOpts$19): Promise<ProjectDetail>;
34908
35132
  /** `PATCH /v1/projects/{id}` — owner or org owner/admin; the slug cannot change. */
34909
- update(projectId: string, body: ProjectPatchBody, opts?: CallOpts$18): Promise<Project>;
35133
+ update(projectId: string, body: ProjectPatchBody, opts?: CallOpts$19): Promise<Project>;
34910
35134
  /** `DELETE /v1/projects/{id}` — 409 `project_has_environments` until all are destroyed. */
34911
- delete(projectId: string, opts?: CallOpts$18): Promise<Reply<'deleteProject'>>;
35135
+ delete(projectId: string, opts?: CallOpts$19): Promise<Reply<'deleteProject'>>;
34912
35136
  }
34913
35137
  //#endregion
34914
35138
  //#region src/resources/realtime.d.ts
@@ -35055,7 +35279,7 @@ export declare class Realtime {
35055
35279
  export type ReferralsView = Reply<'getReferrals'>;
35056
35280
  export type ReferralRow = Schema<'ReferralRow'>;
35057
35281
  export type ReferralStats = Schema<'AccountReferral'>;
35058
- type CallOpts$17 = {
35282
+ type CallOpts$18 = {
35059
35283
  ext?: CodaiRequestExtensions;
35060
35284
  signal?: AbortSignal;
35061
35285
  };
@@ -35063,15 +35287,15 @@ export declare class Referrals {
35063
35287
  private readonly http;
35064
35288
  constructor(http: HttpClient);
35065
35289
  /** `GET /v1/referrals` — stats, redeem deadline and invitees (masked, no PII). */
35066
- get(opts?: CallOpts$17): Promise<ReferralsView>;
35290
+ get(opts?: CallOpts$18): Promise<ReferralsView>;
35067
35291
  /**
35068
35292
  * Redeem a referrer's code (their username) — `PATCH /v1/account
35069
35293
  * { referral_code }`. Allowed within 7 days of signup; the outcome is in
35070
35294
  * `referral_result` of the response.
35071
35295
  */
35072
- redeem(code: string, opts?: CallOpts$17): Promise<AccountPatchResponse>;
35296
+ redeem(code: string, opts?: CallOpts$18): Promise<AccountPatchResponse>;
35073
35297
  /** Opt in/out of the referral programme — `PATCH /v1/account { referral_consent }`. */
35074
- setConsent(consent: boolean, opts?: CallOpts$17): Promise<AccountPatchResponse>;
35298
+ setConsent(consent: boolean, opts?: CallOpts$18): Promise<AccountPatchResponse>;
35075
35299
  private patch;
35076
35300
  }
35077
35301
  //#endregion
@@ -36116,7 +36340,7 @@ export interface ResolveWaitOptions {
36116
36340
  /** Called with every polled job (progress UIs). */
36117
36341
  onPoll?: (job: ResolveJob) => void;
36118
36342
  }
36119
- type CallOpts$16 = {
36343
+ type CallOpts$17 = {
36120
36344
  signal?: AbortSignal;
36121
36345
  };
36122
36346
  /** Query of `resolve.list()` / `resolve.iterate()`. */
@@ -36137,20 +36361,20 @@ export declare class Resolve {
36137
36361
  * (`status: 'accepted'`) or a decline (`status: 'declined'`). Never retried:
36138
36362
  * a retry could create a second job.
36139
36363
  */
36140
- submit(body: ResolveIntake, opts?: CallOpts$16): Promise<ResolveSubmitResult>;
36364
+ submit(body: ResolveIntake, opts?: CallOpts$17): Promise<ResolveSubmitResult>;
36141
36365
  /** `GET /v1/resolve/jobs/{id}` — status, quote, reasons, cost and attestation pointer. */
36142
- get(id: string, opts?: CallOpts$16): Promise<ResolveJob>;
36366
+ get(id: string, opts?: CallOpts$17): Promise<ResolveJob>;
36143
36367
  /**
36144
36368
  * `GET /v1/resolve/jobs` — one page of your jobs, newest first. Pass the
36145
36369
  * page's `next_cursor` back as `cursor` for the next page (`null` = last).
36146
36370
  * `status` filters by one or more statuses.
36147
36371
  */
36148
- list(query?: ResolveListQuery, opts?: CallOpts$16): Promise<ResolveJobList>;
36372
+ list(query?: ResolveListQuery, opts?: CallOpts$17): Promise<ResolveJobList>;
36149
36373
  /**
36150
36374
  * Every job matching `query`, newest first, following `next_cursor` page by
36151
36375
  * page (`limit` = page size). Stop early with `break`.
36152
36376
  */
36153
- iterate(query?: Omit<ResolveListQuery, 'cursor'>, opts?: CallOpts$16): AsyncGenerator<ResolveJob, void, undefined>;
36377
+ iterate(query?: Omit<ResolveListQuery, 'cursor'>, opts?: CallOpts$17): AsyncGenerator<ResolveJob, void, undefined>;
36154
36378
  /**
36155
36379
  * `POST /v1/resolve/jobs/{id}/accept` — accept a paid quote and start the job.
36156
36380
  * The result's `paid_with` says how it was paid (`intro` €1 hold, `credit`
@@ -36158,18 +36382,18 @@ export declare class Resolve {
36158
36382
  * carries `topupUrl`, plus `bundleUrl` for t7) when the wallet is short,
36159
36383
  * `ResolveError` 409 when the job is not `quoted`.
36160
36384
  */
36161
- accept(id: string, opts?: CallOpts$16): Promise<ResolveAccepted>;
36385
+ accept(id: string, opts?: CallOpts$17): Promise<ResolveAccepted>;
36162
36386
  /**
36163
36387
  * `GET /v1/resolve/attestations/{id}` — public execution proof (no auth needed
36164
36388
  * server-side). Accepts the attestation id or the job's `attestation_url`.
36165
36389
  */
36166
- attestation(idOrUrl: string, opts?: CallOpts$16): Promise<ResolveAttestation>;
36390
+ attestation(idOrUrl: string, opts?: CallOpts$17): Promise<ResolveAttestation>;
36167
36391
  /** `GET /health` — liveness of the Resolve service. */
36168
- health(opts?: CallOpts$16): Promise<ResolveHealth>;
36392
+ health(opts?: CallOpts$17): Promise<ResolveHealth>;
36169
36393
  /** `GET /v1/resolve/balance` — fix credits (t7 only), intro availability and wallet balance. */
36170
- balance(opts?: CallOpts$16): Promise<ResolveBalance>;
36394
+ balance(opts?: CallOpts$17): Promise<ResolveBalance>;
36171
36395
  /** `GET /v1/resolve/keys` — public keys that sign attestations (no auth needed server-side). */
36172
- keys(opts?: CallOpts$16): Promise<ResolveKeys>;
36396
+ keys(opts?: CallOpts$17): Promise<ResolveKeys>;
36173
36397
  /**
36174
36398
  * Verify an attestation's signature and that the signed statement matches
36175
36399
  * its fields. Fetches `keys()` unless `opts.keys` is given (pin them to
@@ -36270,7 +36494,7 @@ export type SessionShare = Schema<'OrgSessionShare'>;
36270
36494
  export type SessionShareCreateRequest = Mutable<Body<'createSessionShare'>>;
36271
36495
  export type SessionShareCreated = Reply<'createSessionShare', 201>;
36272
36496
  export type SharedSession = Schema<'OrgSharedSession'>;
36273
- type CallOpts$15 = {
36497
+ type CallOpts$16 = {
36274
36498
  ext?: CodaiRequestExtensions;
36275
36499
  signal?: AbortSignal;
36276
36500
  };
@@ -36317,19 +36541,19 @@ export declare class SessionLease {
36317
36541
  private readonly http;
36318
36542
  constructor(http: HttpClient);
36319
36543
  /** `POST /v1/sessions/{id}/lease` — CAS claim; `force: true` takes over a live lease. */
36320
- acquire(sessionId: string, body?: SessionLeaseClaimRequest, opts?: CallOpts$15): Promise<SessionLeaseResponse>;
36544
+ acquire(sessionId: string, body?: SessionLeaseClaimRequest, opts?: CallOpts$16): Promise<SessionLeaseResponse>;
36321
36545
  /** `PUT /v1/sessions/{id}/lease` — heartbeat every 10 s (TTL 30 s). */
36322
- renew(sessionId: string, opts?: CallOpts$15): Promise<SessionLeaseResponse>;
36546
+ renew(sessionId: string, opts?: CallOpts$16): Promise<SessionLeaseResponse>;
36323
36547
  /** `DELETE /v1/sessions/{id}/lease` */
36324
- release(sessionId: string, opts?: CallOpts$15): Promise<Reply<'releaseSessionLease'>>;
36548
+ release(sessionId: string, opts?: CallOpts$16): Promise<Reply<'releaseSessionLease'>>;
36325
36549
  }
36326
36550
  export declare class SessionEvents {
36327
36551
  private readonly http;
36328
36552
  constructor(http: HttpClient);
36329
36553
  /** `GET /v1/sessions/{id}/events?after=&limit=` */
36330
- list(sessionId: string, query?: Mutable<QueryOf<'listSessionEvents'>>, opts?: CallOpts$15): Promise<SessionEventsPage>;
36554
+ list(sessionId: string, query?: Mutable<QueryOf<'listSessionEvents'>>, opts?: CallOpts$16): Promise<SessionEventsPage>;
36331
36555
  /** `POST /v1/sessions/{id}/events` — executor only (needs the live lease). */
36332
- append(sessionId: string, body: SessionEventsAppendRequest, opts?: CallOpts$15): Promise<SessionEventsAppendResponse>;
36556
+ append(sessionId: string, body: SessionEventsAppendRequest, opts?: CallOpts$16): Promise<SessionEventsAppendResponse>;
36333
36557
  }
36334
36558
  export declare class SessionControls {
36335
36559
  private readonly http;
@@ -36338,25 +36562,25 @@ export declare class SessionControls {
36338
36562
  list(sessionId: string, query?: {
36339
36563
  applied?: boolean;
36340
36564
  target?: 'me' | string;
36341
- }, opts?: CallOpts$15): Promise<SessionControl[]>;
36565
+ }, opts?: CallOpts$16): Promise<SessionControl[]>;
36342
36566
  /** `POST /v1/sessions/{id}/control` — send a control to the executor (editor+). */
36343
- submit(sessionId: string, body: SessionControlRequest, opts?: CallOpts$15): Promise<SessionControlAccepted>;
36567
+ submit(sessionId: string, body: SessionControlRequest, opts?: CallOpts$16): Promise<SessionControlAccepted>;
36344
36568
  /** `POST /v1/sessions/{id}/control/{cid}/applied` — executor only. */
36345
- markApplied(sessionId: string, controlId: string, opts?: CallOpts$15): Promise<Reply<'markSessionControlApplied'>>;
36569
+ markApplied(sessionId: string, controlId: string, opts?: CallOpts$16): Promise<Reply<'markSessionControlApplied'>>;
36346
36570
  }
36347
36571
  export declare class SessionShares {
36348
36572
  private readonly http;
36349
36573
  constructor(http: HttpClient);
36350
36574
  /** `GET /v1/sessions/{id}/shares` — owner only. */
36351
- list(sessionId: string, opts?: CallOpts$15): Promise<SessionShare[]>;
36575
+ list(sessionId: string, opts?: CallOpts$16): Promise<SessionShare[]>;
36352
36576
  /** `POST /v1/sessions/{id}/shares` — `token` is returned once for link shares. */
36353
- create(sessionId: string, body: SessionShareCreateRequest, opts?: CallOpts$15): Promise<SessionShareCreated>;
36577
+ create(sessionId: string, body: SessionShareCreateRequest, opts?: CallOpts$16): Promise<SessionShareCreated>;
36354
36578
  /** `DELETE /v1/sessions/{id}/shares/{shareId}` */
36355
- delete(sessionId: string, shareId: string, opts?: CallOpts$15): Promise<Reply<'deleteSessionShare'>>;
36579
+ delete(sessionId: string, shareId: string, opts?: CallOpts$16): Promise<Reply<'deleteSessionShare'>>;
36356
36580
  /** `GET /v1/sessions/shared-with-me` */
36357
36581
  sharedWithMe(query?: {
36358
36582
  archived?: boolean;
36359
- }, opts?: CallOpts$15): Promise<SharedSession[]>;
36583
+ }, opts?: CallOpts$16): Promise<SharedSession[]>;
36360
36584
  }
36361
36585
  export declare class Sessions {
36362
36586
  private readonly http;
@@ -36366,27 +36590,27 @@ export declare class Sessions {
36366
36590
  readonly shares: SessionShares;
36367
36591
  constructor(http: HttpClient);
36368
36592
  /** `POST /v1/sessions` — idempotent on `session_key` (200 existing / 201 created). */
36369
- create(body?: SessionCreateRequest, opts?: CallOpts$15): Promise<Session & {
36593
+ create(body?: SessionCreateRequest, opts?: CallOpts$16): Promise<Session & {
36370
36594
  created: boolean;
36371
36595
  }>;
36372
36596
  /** `GET /v1/sessions?limit=&archived=` — own sessions first, then shared. */
36373
36597
  list(query?: {
36374
36598
  limit?: number;
36375
36599
  archived?: boolean;
36376
- }, opts?: CallOpts$15): Promise<SessionListItem[]>;
36600
+ }, opts?: CallOpts$16): Promise<SessionListItem[]>;
36377
36601
  /** `GET /v1/sessions/{id}` — detail with members, lease and presence. */
36378
36602
  get(sessionId: string, query?: {
36379
36603
  share?: string;
36380
- }, opts?: CallOpts$15): Promise<SessionDetail>;
36604
+ }, opts?: CallOpts$16): Promise<SessionDetail>;
36381
36605
  /** `PATCH /v1/sessions/{id}` — rename / archive (owner). */
36382
- update(sessionId: string, body: SessionPatchRequest, opts?: CallOpts$15): Promise<Session>;
36606
+ update(sessionId: string, body: SessionPatchRequest, opts?: CallOpts$16): Promise<Session>;
36383
36607
  /** `DELETE /v1/sessions/{id}` — irreversible (owner). */
36384
- delete(sessionId: string, opts?: CallOpts$15): Promise<Reply<'deleteSession'>>;
36608
+ delete(sessionId: string, opts?: CallOpts$16): Promise<Reply<'deleteSession'>>;
36385
36609
  /**
36386
36610
  * `POST /v1/sessions/{id}/dispatch` — queue a `send` for one device and wake it over FCM.
36387
36611
  * `{ mode: 'open' }` hands the session off instead: the target just opens it (no user turn).
36388
36612
  */
36389
- dispatch(sessionId: string, body: SessionDispatchRequest, opts?: CallOpts$15): Promise<SessionDispatchResponse>;
36613
+ dispatch(sessionId: string, body: SessionDispatchRequest, opts?: CallOpts$16): Promise<SessionDispatchResponse>;
36390
36614
  /**
36391
36615
  * `GET /v1/sessions/{id}/stream?after=` — live SSE of `event` / `control` /
36392
36616
  * `lease` / `presence` frames. `: ping` heartbeats are skipped. The server
@@ -36395,7 +36619,7 @@ export declare class Sessions {
36395
36619
  stream(sessionId: string, query?: {
36396
36620
  after?: number;
36397
36621
  share?: string;
36398
- }, opts?: CallOpts$15): AsyncGenerator<SessionStreamEvent, void, undefined>;
36622
+ }, opts?: CallOpts$16): AsyncGenerator<SessionStreamEvent, void, undefined>;
36399
36623
  }
36400
36624
  //#endregion
36401
36625
  //#region src/resources/settings.d.ts
@@ -36407,11 +36631,11 @@ export type SettingsConflict = Schema<'SettingsConflict'>;
36407
36631
  export type SettingsPatch = {
36408
36632
  transcripts?: { -readonly [K in keyof TranscriptsSettings]?: TranscriptsSettings[K]; };
36409
36633
  };
36410
- type CallOpts$14 = {
36634
+ type CallOpts$15 = {
36411
36635
  ext?: CodaiRequestExtensions;
36412
36636
  signal?: AbortSignal;
36413
36637
  };
36414
- type UpdateOpts = CallOpts$14 & {
36638
+ type UpdateOpts = CallOpts$15 & {
36415
36639
  version?: number;
36416
36640
  };
36417
36641
  /** The `current` state of a 409 `version_conflict` thrown by `settings.update`, else null. */
@@ -36420,7 +36644,7 @@ export declare class Settings {
36420
36644
  private readonly http;
36421
36645
  constructor(http: HttpClient);
36422
36646
  /** `GET /v1/settings` — full settings with defaults; `version` 0 / `updatedAt` null until the first write. */
36423
- get(opts?: CallOpts$14): Promise<SettingsResponse>;
36647
+ get(opts?: CallOpts$15): Promise<SettingsResponse>;
36424
36648
  /**
36425
36649
  * `PATCH /v1/settings` — deep-merge `partial` into the stored settings. With `opts.version` the write is
36426
36650
  * conditional (409 `version_conflict` on a mismatch). Unknown keys / invalid values throw a 400 `CodaiError`.
@@ -36428,6 +36652,28 @@ export declare class Settings {
36428
36652
  update(partial: SettingsPatch, opts?: UpdateOpts): Promise<SettingsResponse>;
36429
36653
  }
36430
36654
  //#endregion
36655
+ //#region src/resources/os-gate.d.ts
36656
+ export type PolicyResponse = Reply<'getPolicy'>;
36657
+ export type OsGateEvent = Schema<'OsGateEvent'>;
36658
+ export type OsGateCheckId = OsGateEvent['checks'][number];
36659
+ export type OsGateSurface = OsGateEvent['surface'];
36660
+ export type OsGateEventAccepted = Schema<'OsGateEventAccepted'>;
36661
+ type CallOpts$14 = {
36662
+ ext?: CodaiRequestExtensions;
36663
+ signal?: AbortSignal;
36664
+ };
36665
+ export declare class OsGate {
36666
+ private readonly http;
36667
+ constructor(http: HttpClient);
36668
+ /** `GET /v1/policy` — `{ os_gate: { allow_override } }` folded over every org of the caller (strictest wins). */
36669
+ policy(opts?: CallOpts$14): Promise<PolicyResponse>;
36670
+ /**
36671
+ * `POST /v1/os-gate/events` — record that the user granted or revoked an override of `checks` on `surface`.
36672
+ * The body is strict: unknown keys, unknown check ids or an empty `checks` list throw a 400 `CodaiError`.
36673
+ */
36674
+ recordEvent(event: OsGateEvent, opts?: CallOpts$14): Promise<OsGateEventAccepted>;
36675
+ }
36676
+ //#endregion
36431
36677
  //#region src/resources/sfx.d.ts
36432
36678
  /** One sound (always `license: 'CC0-1.0'`). */
36433
36679
  export type SfxDto = Schema<'SfxDto'>;
@@ -36852,6 +37098,7 @@ export type MemorySearchQuery = Mutable<QueryOf<'searchMemories'>>;
36852
37098
  export type MemoryCreateInput = Mutable<Body<'createMemory'>>;
36853
37099
  export type MemoryCreated = Reply<'createMemory', 201>;
36854
37100
  export type MemoryDeleted = Reply<'deleteMemory'>;
37101
+ export type MemoryDeletedAll = Reply<'deleteAllMemories'>;
36855
37102
  type CallOpts$7 = {
36856
37103
  ext?: CodaiRequestExtensions;
36857
37104
  signal?: AbortSignal;
@@ -36867,6 +37114,11 @@ export declare class Memory {
36867
37114
  create(input: MemoryCreateInput, opts?: CallOpts$7): Promise<MemoryCreated>;
36868
37115
  /** `DELETE /v1/memory/{id}` — 404 when the id is unknown or not yours. */
36869
37116
  delete(id: string, opts?: CallOpts$7): Promise<MemoryDeleted>;
37117
+ /**
37118
+ * `DELETE /v1/memory?confirm=all` — erase EVERY memory of your account (all tiers). Irreversible; returns the
37119
+ * counts per tier and the total. Allowed on every plan.
37120
+ */
37121
+ deleteAll(opts?: CallOpts$7): Promise<MemoryDeletedAll>;
36870
37122
  }
36871
37123
  //#endregion
36872
37124
  //#region src/resources/sandboxes.d.ts
@@ -37758,6 +38010,8 @@ export declare class Codai {
37758
38010
  readonly account: Account;
37759
38011
  /** Account-level settings shared by every device (`settings.get()`, `settings.update(partial, { version })`). */
37760
38012
  readonly settings: Settings;
38013
+ /** OS protection gate: `osGate.policy()` (org override policy) and `osGate.recordEvent(event)` (audit). */
38014
+ readonly osGate: OsGate;
37761
38015
  /** READ-ONLY billing: plan, wallet, invoices, `watchBalance` (pay via the returned links, never via the SDK). */
37762
38016
  readonly billing: Billing;
37763
38017
  /** Referral stats and invitees; `redeem(code)` / `setConsent(bool)` go through `PATCH /v1/account`. */