@idapt/browser-app-sdk 0.3.0 → 0.4.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.
@@ -1,4 +1,4 @@
1
- import { H as HttpContext, C as CallOptions, F as File$1, i as Agent, d as DeletedResponse, l as ApiKey, ap as Permission, aS as SpeechResult, b1 as TranscriptionResult, aT as SpeechStreamEvent, b2 as TranscriptionStreamEvent, r as Automation, S as CreateAutomationInput, v as AutomationWithSecret, b6 as UpdateAutomationInput, u as AutomationRun, t as AutomationCostStats, B as BlobObject, x as Chat, y as ChatCost, ah as MessageCosts, E as ChatStopResult, af as Message, aJ as SendMessageResult, k as AgentRunState, j as AgentRun, aD as RepromptResult, I as Computer, N as ComputerServerInfo, K as ComputerExecResult, b0 as TmuxWindow, aL as SftpEntry, M as ComputerPort, R as ComputerUser, ad as ListEnvelope, J as ComputerEnvVar, Y as DatastoreEntry, f as FileUploadResult, W as WriteOptions, $ as ExecutionRun, _ as ExecutionBackend, a0 as ExecutionRunStatus, a5 as FunctionRun, a4 as FunctionResource, a2 as FunctionDeployment, a3 as FunctionInvokeResult, a8 as ImageModel, a7 as ImageGenerationResult, aa as LLMModel, ak as Notification, al as NotificationConfig, am as NotificationPreference, as as ProviderEndpointKind, aw as ProviderEndpointProviderKey, ar as ProviderEndpointConnectionType, az as ProviderEndpointTransport, ax as ProviderEndpointRuntime, av as ProviderEndpointProtocol, aA as ProviderEndpointVisibility, at as ProviderEndpointModality, aq as ProviderEndpoint, ae as ManagedProviderPreset, ay as ProviderEndpointTestResult, aG as SearchResult, aH as Secret, aI as SecretWithValue, aK as Settings, aP as ShareResourceType, aO as SharePermission, aM as Share, aN as ShareDeletedResult, aQ as SharedWithMeItem, aW as StoreItemType, aV as StoreItem, aU as StoreInstallResult, aY as Subscription, a_ as TableCollection, a$ as TableRecord, b9 as User, b8 as UsageSummary, b7 as UsageRecord, bf as WebSearchResponse, bj as WorkspaceMemberRole, bg as Workspace, bi as WorkspaceMember, bh as WorkspaceInvitation, m as AppFolder, U as DataFolder, G as ClientMeta, aF as RuntimeMode, aX as StoredCredential, Z as EscalateRequest } from './data-DtOpB63U.cjs';
1
+ import { H as HttpContext, C as CallOptions, F as File, k as Agent, f as DeletedResponse, p as ApiKey, at as Permission, r as AudioModel, b4 as TtsVoice, v as Automation, _ as CreateAutomationInput, z as AutomationWithSecret, b6 as UpdateAutomationInput, y as AutomationRun, x as AutomationCostStats, E as Chat, G as ChatCost, al as MessageCosts, K as ChatStopResult, aj as Message, aN as SendMessageResult, m as AgentRunState, l as AgentRun, aH as RepromptResult, N as Computer, U as ComputerServerInfo, Q as ComputerExecResult, b0 as TerminalWindow, a4 as FsEntry, T as ComputerPort, Z as ComputerUser, L as ListEnvelope, P as ComputerEnvVar, h as FileUploadResult, W as WriteOptions, a9 as ImageModel, ab as LLMModel, ao as Notification, ap as NotificationConfig, aq as NotificationPreference, aw as ProviderEndpointKind, aA as ProviderEndpointProviderKey, av as ProviderEndpointConnectionType, aD as ProviderEndpointTransport, aB as ProviderEndpointRuntime, az as ProviderEndpointProtocol, aE as ProviderEndpointVisibility, ax as ProviderEndpointModality, au as ProviderEndpoint, ai as ManagedProviderPreset, aC as ProviderEndpointTestResult, aK as SearchResult, aL as Secret, aM as SecretWithValue, aO as Settings, aS as ShareResourceType, aR as SharePermission, aP as Share, aQ as ShareDeletedResult, aT as SharedWithMeItem, a_ as Subscription, b9 as User, b8 as UsageSummary, b7 as UsageRecord, bf as WebSearchResponse, bj as WorkspaceMemberRole, bg as Workspace, bi as WorkspaceMember, bh as WorkspaceInvitation, q as AppFolder, a0 as DataFolder, M as ClientMeta, aJ as RuntimeMode, aZ as StoredCredential, a2 as EscalateRequest } from './data-BEWuiL70.cjs';
2
2
 
3
3
  /**
4
4
  * Stateless low-level file operations against `/api/v1/drive/files/*`.
@@ -15,7 +15,7 @@ import { H as HttpContext, C as CallOptions, F as File$1, i as Agent, d as Delet
15
15
  */
16
16
 
17
17
  /**
18
- * `GET /v1/files` query params. Cursor-paginated (`limit` + opaque
18
+ * `GET /v1/drive/files` query params. Cursor-paginated (`limit` + opaque
19
19
  * `cursor`). There is NO `workspace_id` filter — list within a workspace by
20
20
  * passing the workspace's root folder as `parent_id`.
21
21
  *
@@ -47,11 +47,7 @@ interface CreateFolderInput {
47
47
  workspace_id?: string;
48
48
  icon?: string;
49
49
  }
50
- interface RunFileInput {
51
- timeout_seconds?: number;
52
- env?: Record<string, string>;
53
- }
54
- declare function listFiles(ctx: HttpContext, query?: ListFilesQuery, opts?: CallOptions): Promise<File$1[]>;
50
+ declare function listFiles(ctx: HttpContext, query?: ListFilesQuery, opts?: CallOptions): Promise<File[]>;
55
51
  /** GET raw text body (`expectJson: false`). UTF-8 decoded by `fetch`. */
56
52
  declare function getFileText(ctx: HttpContext, id: string, opts?: CallOptions): Promise<string>;
57
53
  /** GET raw bytes as Blob, preserving Content-Type. */
@@ -97,7 +93,6 @@ interface CreateAgentInput {
97
93
  default_model_id?: string;
98
94
  default_reasoning_effort?: number | null;
99
95
  default_auto_cost_level?: number | null;
100
- default_cost_budget_limit_usd?: number | null;
101
96
  }
102
97
  interface UpdateAgentInput {
103
98
  name?: string;
@@ -117,7 +112,6 @@ interface UpdateAgentInput {
117
112
  default_model_id?: string | null;
118
113
  default_reasoning_effort?: number | null;
119
114
  default_auto_cost_level?: number | null;
120
- default_cost_budget_limit_usd?: number | null;
121
115
  }
122
116
  interface MoveAgentInput {
123
117
  workspace_id: string;
@@ -215,48 +209,27 @@ declare class ApiKeysApi {
215
209
  }
216
210
 
217
211
  /**
218
- * AudioApi — `/api/v1/audio/*`.
212
+ * AudioApi — audio-model + voice DISCOVERY (`GET /api/v1/audio/models` +
213
+ * `/audio/voices`).
219
214
  *
220
- * Two endpoints:
221
- * - `POST /audio/speech` → text-to-speech, writes a file ref.
222
- * Responds HTTP 201 (resource created).
223
- * - `POST /audio/transcriptions` multipart upload, returns `{ text }`
224
- *
225
- * Transcription accepts any Blob/File you already have in memory (e.g.,
226
- * from a MediaRecorder session). Speech writes into the caller's workspace.
215
+ * Audio GENERATION moved to the unified inference surface — use
216
+ * `client.inference.speech({ text, workspace_id, })` for TTS and
217
+ * `client.call("inference transcribe", …)` for STT (multipart). This namespace
218
+ * now exposes only the model + voice catalogs; model discovery stays
219
+ * per-modality by design.
227
220
  */
228
221
 
229
- interface SpeakInput {
230
- text: string;
231
- workspace_id: string;
232
- model?: string;
233
- voice?: string;
234
- speed?: number;
235
- pitch?: number;
236
- emotion?: string;
237
- output_path?: string;
238
- }
239
- interface TranscribeInput {
240
- file: Blob | File;
241
- model?: string;
222
+ interface ListVoicesInput {
242
223
  language?: string;
243
- /** Override the filename attached to the multipart upload. */
244
- filename?: string;
245
- }
246
- interface SpeakStreamInput {
247
- text: string;
248
- model?: string;
249
- voice?: string;
250
- speed?: number;
224
+ gender?: "male" | "female" | "neutral";
251
225
  }
252
226
  declare class AudioApi {
253
227
  private readonly ctx;
254
228
  constructor(ctx: HttpContext);
255
- /** Text-to-speech. Responds HTTP 201 with the written file ref under `data`. */
256
- speak(input: SpeakInput, opts?: CallOptions): Promise<SpeechResult>;
257
- transcribe(input: TranscribeInput, opts?: CallOptions): Promise<TranscriptionResult>;
258
- streamSpeech(input: SpeakStreamInput, opts?: CallOptions): AsyncIterable<SpeechStreamEvent>;
259
- streamTranscribe(input: TranscribeInput, opts?: CallOptions): AsyncIterable<TranscriptionStreamEvent>;
229
+ /** List the available TTS / transcription models. */
230
+ listModels(opts?: CallOptions): Promise<AudioModel[]>;
231
+ /** List the TTS voice catalog (filter by language / gender). */
232
+ listVoices(input?: ListVoicesInput, opts?: CallOptions): Promise<TtsVoice[]>;
260
233
  }
261
234
 
262
235
  /**
@@ -298,10 +271,9 @@ declare class AutomationsApi {
298
271
  /**
299
272
  * Create an automation. `workspace_id` is passed in the request BODY
300
273
  * alongside the flat automation definition — it is not a query param. The request
301
- * body is flat: every scheduling field (`cron_expression`, …) and every
302
- * action field (`agent_id`, `prompt_template`, `function_id`, …) sits at the
303
- * top level — there are no nested `trigger_config` / `action_config`
304
- * objects any more.
274
+ * body is flat: every scheduling field (`cron_expression`, …) and agent-run
275
+ * action field (`agent_id`, `prompt_template`, …) sits at the top level —
276
+ * there are no nested `trigger_config` / `action_config` objects.
305
277
  *
306
278
  * For a webhook automation the response additionally carries a one-time
307
279
  * plaintext `secret` (use `AutomationWithSecret`); other automation types
@@ -336,73 +308,12 @@ declare class AutomationsApi {
336
308
  getCostStatsMap(query?: BulkAutomationCostStatsQuery, opts?: CallOptions): Promise<Record<string, AutomationCostStats>>;
337
309
  }
338
310
 
339
- /**
340
- * BlobsApi — `/api/v1/blobs` (the object-storage data plane).
341
- *
342
- * Workspace-scoped object store. Objects live under a `namespace` (a bucket you
343
- * pick) and a `key`. The companion to `client.kv` (Datastore) — KV holds small
344
- * inline JSON, Blobs holds large / binary data. Surfaced as `client.blobs.*` on
345
- * `IdaptClient`.
346
- */
347
-
348
- interface BlobsListOptions extends CallOptions {
349
- /** Only keys starting with this prefix. */
350
- prefix?: string;
351
- cursor?: string;
352
- limit?: number;
353
- }
354
- /** Per-object metadata returned by `list`. */
355
- interface BlobMeta {
356
- key: string;
357
- content_type: string;
358
- size: number;
359
- updated_at: string;
360
- }
361
- declare class BlobsApi {
362
- private readonly ctx;
363
- constructor(ctx: HttpContext);
364
- /** List objects in a namespace (prefix-filterable). */
365
- list(namespace: string, opts?: BlobsListOptions): Promise<BlobMeta[]>;
366
- /**
367
- * Upload (upsert) an object's bytes. Returns its metadata.
368
- *
369
- * Sent as `multipart/form-data` (the bytes ride a `file` part, with an
370
- * optional `content_type` field) — the same upload convention as
371
- * `client.files.upload`, so it flows through the one multipart transport and
372
- * is reachable identically via `client.call("blobs put", …)`. The SDK leaves
373
- * `Content-Type` unset so the runtime picks the multipart boundary.
374
- */
375
- put(namespace: string, key: string, content: Blob | ArrayBuffer | Uint8Array, contentType?: string, opts?: CallOptions): Promise<BlobObject>;
376
- /**
377
- * Download an object's raw bytes (preserving its stored Content-Type).
378
- *
379
- * `GET /blobs/:ns/:key` returns JSON metadata + a signed URL by default (the
380
- * agent/CLI form); `?download=true` is the raw-bytes escape hatch this facade
381
- * uses. For the JSON reference instead, call `client.call("blobs get", …)`.
382
- */
383
- get(namespace: string, key: string, opts?: CallOptions): Promise<{
384
- blob: Blob;
385
- contentType: string;
386
- }>;
387
- /** Read an object's metadata (no bytes). */
388
- head(namespace: string, key: string, opts?: CallOptions): Promise<BlobObject>;
389
- /** Delete an object (idempotent). */
390
- delete(namespace: string, key: string, opts?: CallOptions): Promise<DeletedResponse>;
391
- /** Mint a time-limited direct-download URL for an object. */
392
- createSignedUrl(namespace: string, key: string, expiresIn?: number, opts?: CallOptions): Promise<{
393
- url: string;
394
- expires_at: string;
395
- }>;
396
- /** List the blob namespaces in the workspace. */
397
- listNamespaces(opts?: CallOptions): Promise<string[]>;
398
- }
399
-
400
311
  /**
401
312
  * GENERATED FILE — DO NOT EDIT BY HAND.
402
313
  *
403
314
  * Runtime command-bindings table for the SDK's generic `call(action, args)`
404
- * executor — one entry per v1 command (HTTP binding only: method, path,
405
- * pathParams, argLocation, responseKind, async, binary content types).
315
+ * executor — one entry per SDK-exposed v1 command (HTTP binding only: method,
316
+ * path, pathParams, argLocation, responseKind, async, binary content types).
406
317
  *
407
318
  * Generated from the zod contract registry
408
319
  * (`packages/api-contracts/src/v1/contracts`) by
@@ -443,7 +354,7 @@ declare const COMMAND_BINDINGS: Record<string, CommandBinding>;
443
354
  * {@link COMMAND_BINDINGS}). Used to type `client.call(action, args)` so a
444
355
  * known action autocompletes and a typo is caught at compile time.
445
356
  */
446
- type V1CommandName = "agent archive" | "agent copy-to-workspace" | "agent create" | "agent delete" | "agent get" | "agent list" | "agent move" | "agent permanent-delete" | "agent restore" | "agent unarchive" | "agent update" | "ai-gateway providers" | "ai-gateway usage" | "api-key create" | "api-key delete" | "api-key list" | "api-key rotate" | "api-key update" | "audio models" | "audio search-models" | "audio search-voices" | "audio speak" | "audio speak-stream" | "audio transcribe" | "audio transcribe-stream" | "audio voices" | "automation archive" | "automation cost-stats" | "automation cost-stats-all" | "automation create" | "automation delete" | "automation fire" | "automation get" | "automation list" | "automation rotate-secret" | "automation runs" | "automation test-fire" | "automation unarchive" | "automation update" | "blobs delete" | "blobs get" | "blobs head" | "blobs list" | "blobs namespaces" | "blobs put" | "blobs signed-url" | "browser-app create" | "browser-app deploy" | "browser-app deployments" | "browser-app fork" | "browser-app get" | "browser-app list" | "browser-app promote" | "browser-app snapshot" | "chat archive" | "chat copy-to-agent" | "chat copy-to-workspace" | "chat cost" | "chat create" | "chat delete" | "chat export" | "chat fork-to-workspace" | "chat get" | "chat list" | "chat message-costs" | "chat messages" | "chat permanent-delete" | "chat reprompt" | "chat restore" | "chat runs" | "chat send" | "chat stop" | "chat stream" | "chat unarchive" | "chat update" | "ci cancel" | "ci get" | "ci jobs" | "ci list" | "ci run" | "computer activity" | "computer add-exposure" | "computer add-local-model" | "computer app-create" | "computer app-delete" | "computer app-exec" | "computer app-expose" | "computer app-external" | "computer app-get" | "computer app-logs" | "computer app-ports" | "computer app-reset" | "computer app-restart" | "computer app-run" | "computer app-runtime" | "computer app-setup-runtime" | "computer app-start" | "computer app-stop" | "computer app-unexpose" | "computer apps" | "computer archive" | "computer compose-up" | "computer create" | "computer create-user" | "computer delete" | "computer delete-user" | "computer delete-user-env" | "computer download" | "computer download-to-drive" | "computer ephemeral" | "computer exec" | "computer expose" | "computer get" | "computer get-user" | "computer hibernate" | "computer list" | "computer local-inference" | "computer local-models" | "computer manage" | "computer pair" | "computer ports" | "computer remove-exposure" | "computer remove-local-model" | "computer run" | "computer set-ports" | "computer set-user-env" | "computer sftp" | "computer start" | "computer stop" | "computer test-connection" | "computer tmux" | "computer transfer" | "computer tunnels" | "computer unarchive" | "computer unexpose" | "computer update" | "computer update-exposure" | "computer update-user" | "computer upload" | "computer user-env" | "computer user-env-setup" | "computer user-env-setup-apply" | "computer user-env-sync" | "computer user-env-sync-repair" | "computer users" | "datastore batch" | "datastore delete" | "datastore get" | "datastore increment" | "datastore list" | "datastore namespaces" | "datastore set" | "drive content-versions" | "drive create-folder" | "drive delete" | "drive get-metadata" | "drive glob" | "drive grep" | "drive list" | "drive move" | "drive permanent-delete" | "drive read" | "drive restore" | "drive restore-version" | "drive run" | "drive update" | "drive upload" | "functions create" | "functions delete" | "functions deploy" | "functions deployments" | "functions get" | "functions invoke" | "functions list" | "functions promote" | "functions update" | "guide get" | "hook create" | "hook delete" | "hook get" | "hook history" | "hook list" | "hook override" | "hook preview" | "hook toggle" | "hook update" | "hub install" | "hub search" | "hub submissions" | "hub submit" | "hub update" | "hub update-check" | "image generate" | "image models" | "image search" | "me get" | "me usage" | "memory box-delete" | "memory box-get" | "memory box-list" | "memory box-update" | "memory delete" | "memory index-read" | "memory index-write" | "memory list" | "memory read" | "memory search" | "memory write" | "models list" | "models search" | "notes box-create" | "notes box-delete" | "notes box-get" | "notes box-list" | "notes box-update" | "notes delete" | "notes folder-create" | "notes folder-delete" | "notes folder-list" | "notes folder-move" | "notes folder-rename" | "notes graph" | "notes import" | "notes index-read" | "notes index-write" | "notes links" | "notes list" | "notes note-move" | "notes note-rename" | "notes purge" | "notes read" | "notes restore" | "notes search" | "notes search-all" | "notes tag-list" | "notes tag-rename" | "notes trash-empty" | "notes trash-list" | "notes tree" | "notes write" | "notification config" | "notification delete" | "notification get" | "notification list" | "notification preferences" | "notification read-all" | "notification send" | "notification update" | "notification update-config" | "notification update-preferences" | "operation cancel" | "operation get" | "operation list" | "provider-endpoint create" | "provider-endpoint delete" | "provider-endpoint list" | "provider-endpoint presets" | "provider-endpoint test" | "provider-endpoint update" | "realtime broadcast" | "realtime presence" | "realtime presence-list" | "realtime subscribe" | "repos branches" | "repos clone-url" | "repos commit" | "repos commits" | "repos create" | "repos delete" | "repos get" | "repos list" | "repos read-file" | "repos set-visibility" | "search query" | "secret create" | "secret delete" | "secret get" | "secret list" | "secret reveal" | "secret update" | "settings get" | "settings update" | "share create" | "share delete" | "share list" | "share update" | "shared-with-me list" | "skill apply-update" | "skill attach" | "skill body" | "skill create" | "skill delete" | "skill detach" | "skill file-delete" | "skill file-list" | "skill file-read" | "skill file-write" | "skill fork" | "skill get" | "skill install" | "skill list" | "skill publish" | "skill render" | "skill search" | "skill update" | "skill update-check" | "subscription get" | "table create" | "table create-record" | "table delete" | "table delete-record" | "table export" | "table get" | "table get-record" | "table import" | "table list" | "table query" | "table update" | "table update-record" | "tasks ancestors" | "tasks assign" | "tasks comment" | "tasks comment-delete" | "tasks comment-list" | "tasks comment-update" | "tasks create" | "tasks delete" | "tasks depend" | "tasks dependencies" | "tasks duplicate" | "tasks events" | "tasks get" | "tasks import" | "tasks label-create" | "tasks label-delete" | "tasks label-list" | "tasks label-update" | "tasks list" | "tasks list-create" | "tasks list-delete" | "tasks list-get" | "tasks list-list" | "tasks list-update" | "tasks unassign" | "tasks undepend" | "tasks update" | "video generate" | "video models" | "video search" | "web fetch" | "web search" | "workspace add-member" | "workspace archive" | "workspace create" | "workspace delete" | "workspace get" | "workspace invitations" | "workspace invite" | "workspace list" | "workspace members" | "workspace remove-member" | "workspace revoke-invitation" | "workspace unarchive" | "workspace update" | "workspace update-member";
357
+ type V1CommandName = "agent archive" | "agent copy-to-workspace" | "agent create" | "agent delete" | "agent get" | "agent list" | "agent move" | "agent permanent-delete" | "agent restore" | "agent unarchive" | "agent update" | "ai-gateway providers" | "ai-gateway route-preview" | "ai-gateway usage" | "api-key create" | "api-key delete" | "api-key list" | "api-key rotate" | "api-key update" | "audio models" | "audio search-models" | "audio search-voices" | "audio voices" | "automation archive" | "automation cancel-run" | "automation cost-stats" | "automation cost-stats-all" | "automation create" | "automation delete" | "automation fire" | "automation get" | "automation list" | "automation retry-run" | "automation rotate-secret" | "automation runs" | "automation runs-all" | "automation test-fire" | "automation unarchive" | "automation update" | "browser-app create" | "browser-app deploy" | "browser-app deployments" | "browser-app fork" | "browser-app get" | "browser-app list" | "browser-app promote" | "browser-app snapshot" | "chat archive" | "chat copy-to-agent" | "chat copy-to-workspace" | "chat cost" | "chat create" | "chat delete" | "chat export" | "chat fork-to-workspace" | "chat get" | "chat list" | "chat message-costs" | "chat messages" | "chat permanent-delete" | "chat reprompt" | "chat restore" | "chat runs" | "chat send" | "chat stop" | "chat stream" | "chat unarchive" | "chat update" | "ci cancel" | "ci get" | "ci jobs" | "ci list" | "ci run" | "computer activity" | "computer add-exposure" | "computer add-local-model" | "computer app-create" | "computer app-delete" | "computer app-exec" | "computer app-expose" | "computer app-external" | "computer app-get" | "computer app-logs" | "computer app-ports" | "computer app-reset" | "computer app-restart" | "computer app-run" | "computer app-runtime" | "computer app-setup-runtime" | "computer app-start" | "computer app-stop" | "computer app-unexpose" | "computer apps" | "computer archive" | "computer compose-up" | "computer create" | "computer create-user" | "computer delete" | "computer delete-user" | "computer delete-user-env" | "computer download" | "computer download-to-drive" | "computer ephemeral" | "computer exec" | "computer expose" | "computer fs" | "computer get" | "computer get-user" | "computer hibernate" | "computer list" | "computer local-inference" | "computer local-models" | "computer manage" | "computer pair" | "computer ports" | "computer remove-exposure" | "computer remove-local-model" | "computer run" | "computer set-ports" | "computer set-user-env" | "computer start" | "computer stop" | "computer terminal" | "computer test-connection" | "computer transfer" | "computer tunnels" | "computer unarchive" | "computer unexpose" | "computer update" | "computer update-exposure" | "computer update-user" | "computer upload" | "computer user-env" | "computer user-env-setup" | "computer user-env-setup-apply" | "computer user-env-sync" | "computer user-env-sync-repair" | "computer users" | "custom-models create" | "custom-models delete" | "custom-models get" | "custom-models list" | "custom-models update" | "drive content-versions" | "drive create-folder" | "drive delete" | "drive get-metadata" | "drive glob" | "drive grep" | "drive list" | "drive move" | "drive permanent-delete" | "drive read" | "drive restore" | "drive restore-version" | "drive update" | "drive upload" | "guide get" | "hook create" | "hook delete" | "hook get" | "hook history" | "hook list" | "hook override" | "hook preview" | "hook toggle" | "hook update" | "image models" | "image search" | "inference image" | "inference speech" | "inference speech-stream" | "inference text" | "inference text-stream" | "inference transcribe" | "inference video" | "me get" | "me usage" | "memory box-delete" | "memory box-get" | "memory box-list" | "memory box-update" | "memory delete" | "memory index-read" | "memory index-write" | "memory list" | "memory read" | "memory search" | "memory write" | "models list" | "models search" | "notes box-create" | "notes box-delete" | "notes box-get" | "notes box-list" | "notes box-update" | "notes delete" | "notes folder-create" | "notes folder-delete" | "notes folder-list" | "notes folder-move" | "notes folder-rename" | "notes graph" | "notes import" | "notes index-read" | "notes index-write" | "notes links" | "notes list" | "notes note-move" | "notes note-rename" | "notes purge" | "notes read" | "notes restore" | "notes search" | "notes search-all" | "notes tag-list" | "notes tag-rename" | "notes trash-empty" | "notes trash-list" | "notes tree" | "notes write" | "notification config" | "notification delete" | "notification get" | "notification list" | "notification preferences" | "notification read-all" | "notification send" | "notification update" | "notification update-config" | "notification update-preferences" | "operation await" | "operation cancel" | "operation content" | "operation get" | "operation list" | "provider-endpoint create" | "provider-endpoint delete" | "provider-endpoint list" | "provider-endpoint presets" | "provider-endpoint test" | "provider-endpoint update" | "realtime broadcast" | "realtime presence" | "realtime presence-list" | "realtime subscribe" | "search query" | "secret create" | "secret delete" | "secret get" | "secret list" | "secret reveal" | "secret update" | "settings get" | "settings update" | "share create" | "share delete" | "share list" | "share update" | "shared-with-me list" | "subscription get" | "tasks ancestors" | "tasks assign" | "tasks comment" | "tasks comment-delete" | "tasks comment-list" | "tasks comment-update" | "tasks create" | "tasks delete" | "tasks depend" | "tasks dependencies" | "tasks duplicate" | "tasks events" | "tasks get" | "tasks import" | "tasks label-create" | "tasks label-delete" | "tasks label-list" | "tasks label-update" | "tasks list" | "tasks list-create" | "tasks list-delete" | "tasks list-get" | "tasks list-list" | "tasks list-update" | "tasks unassign" | "tasks undepend" | "tasks update" | "video models" | "video search" | "web fetch" | "web search" | "workspace add-member" | "workspace archive" | "workspace create" | "workspace delete" | "workspace get" | "workspace invitations" | "workspace invite" | "workspace list" | "workspace members" | "workspace remove-member" | "workspace revoke-invitation" | "workspace unarchive" | "workspace update" | "workspace update-member";
447
358
 
448
359
  /**
449
360
  * Generic, spec-driven command executor — the SDK twin of the CLI's `runSpec`.
@@ -457,11 +368,11 @@ type V1CommandName = "agent archive" | "agent copy-to-workspace" | "agent create
457
368
  * poll the operation handle to completion ({@link awaitOperation}).
458
369
  *
459
370
  * This is what powers `client.call(action, args)`: because the binding table is
460
- * generated from the same contract registry the routes are, EVERY v1 command is
461
- * reachable through this one path no per-verb code, 100% parity by
462
- * construction. It deliberately mirrors `packages/cli/src/execute.ts` so the
463
- * CLI and SDK agree on path-binding, request assembly, envelope unwrap, and
464
- * operation polling.
371
+ * generated from the SDK-exposed contract registry, every SDK-exposed v1 command
372
+ * is reachable through this one path. Pre-GA/default-off commands can opt out of
373
+ * this public dynamic surface with `sdkExposed: false`. It deliberately mirrors
374
+ * `packages/cli/src/execute.ts` so the CLI and SDK agree on path-binding,
375
+ * request assembly, envelope unwrap, and operation polling.
465
376
  */
466
377
 
467
378
  /** Options for {@link executeCommand}. */
@@ -726,9 +637,9 @@ declare class ChatsApi {
726
637
  * - CRUD — list / create pair token / get / update / delete
727
638
  * - Lifecycle — archive / unarchive / start / hibernate /
728
639
  * testConnection
729
- * - Exec — exec (one-shot daemon command)
730
- * - Tmux tmux (re-attachable windows under `idapt` session)
731
- * - SFTPsftp (dispatcher), upload / download (binary)
640
+ * - Exec — exec (one-shot daemon command, or `terminal` window)
641
+ * - Terminal terminal (persistent named tmux windows)
642
+ * - FSfs (dispatcher), upload / download (binary)
732
643
  * - Ports — listPorts / updatePort (managed only)
733
644
  * - Unix users — listUsers / createUser / updateUser / deleteUser
734
645
  * - User env vars — listUserEnvVars / createUserEnvVar /
@@ -789,9 +700,9 @@ interface ExecCommandInput {
789
700
  /** Run as a different POSIX user via `sudo -u`. */
790
701
  user?: string;
791
702
  }
792
- type SftpOp = "list" | "stat" | "write" | "mkdir" | "rename" | "delete" | "chmod" | "chown";
793
- interface SftpInput {
794
- op: SftpOp;
703
+ type FsOp = "list" | "stat" | "write" | "mkdir" | "rename" | "delete" | "chmod" | "chown";
704
+ interface FsInput {
705
+ op: FsOp;
795
706
  path: string;
796
707
  /** `write` — utf-8 content. */
797
708
  content?: string;
@@ -804,11 +715,11 @@ interface SftpInput {
804
715
  /** `chown` — optional group name (appended as `owner:group`). */
805
716
  group?: string;
806
717
  }
807
- interface SftpListResult {
718
+ interface FsListResult {
808
719
  path: string;
809
- entries: SftpEntry[];
720
+ entries: FsEntry[];
810
721
  }
811
- interface SftpUploadInput {
722
+ interface FsUploadInput {
812
723
  /** Binary content. Browser `File`/`Blob` both work. */
813
724
  file: Blob;
814
725
  /** Destination path on the remote computer. */
@@ -818,19 +729,29 @@ interface SftpUploadInput {
818
729
  /** Conflict resolution. Default: `replace`. */
819
730
  conflict_mode?: "replace" | "skip";
820
731
  }
821
- type TmuxOp = "list" | "run" | "capture" | "send" | "kill";
822
- interface TmuxInput {
823
- op: TmuxOp;
824
- /** Required for run/capture/send/kill. POSIX-safe shape. */
732
+ type TerminalOp = "list" | "run" | "capture" | "send" | "kill" | "rename";
733
+ interface TerminalInput {
734
+ op: TerminalOp;
735
+ /** Target window name (required for all ops except `list`). */
825
736
  name?: string;
826
- /** `run` — the shell command. */
737
+ /** `run` — the shell command (to completion; returns a real exit code). */
827
738
  command?: string;
828
- /** `run` — optional `cd` prefix. */
739
+ /** `run` — optional working directory (persists into the window). */
829
740
  working_dir?: string;
741
+ /** `run` — non-secret env vars exported (persistently) into the window. */
742
+ env?: Record<string, string>;
743
+ /** `run` — soft timeout in seconds (clamped to ~290). */
744
+ timeout_seconds?: number;
745
+ /** `run` — return a running handle immediately; re-poll via `run_id`. */
746
+ detach?: boolean;
747
+ /** `run` — re-poll a prior detached run instead of starting a new command. */
748
+ run_id?: string;
830
749
  /** `send` — keys to inject (auto-followed by Enter). */
831
750
  keys?: string;
832
751
  /** `capture` — number of trailing lines to grab. Default 200. */
833
752
  lines?: number;
753
+ /** `rename` — the new window name. */
754
+ new_name?: string;
834
755
  }
835
756
  interface PatchPortInput {
836
757
  port: number;
@@ -937,30 +858,31 @@ declare class ComputersApi {
937
858
  }>;
938
859
  exec(id: string, input: ExecCommandInput, opts?: CallOptions): Promise<ComputerExecResult>;
939
860
  /**
940
- * tmux dispatcher. Each `op` returns a different shape — see the route
941
- * docs for the per-op payload. Common case: `op: "run"` starts a window,
861
+ * Persistent-terminal dispatcher. Each `op` returns a different shape — see
862
+ * the route docs for the per-op payload. Common case: `op: "run"` runs a
863
+ * command to completion in a named window (state persists across runs),
942
864
  * `op: "capture"` reads its output.
943
865
  */
944
- tmux(id: string, input: TmuxInput, opts?: CallOptions): Promise<Record<string, unknown>>;
945
- /** Convenience over `tmux({ op: "list" })`. */
946
- listTmuxWindows(id: string, opts?: CallOptions): Promise<TmuxWindow[]>;
866
+ terminal(id: string, input: TerminalInput, opts?: CallOptions): Promise<Record<string, unknown>>;
867
+ /** Convenience over `terminal({ op: "list" })`. */
868
+ listTerminals(id: string, opts?: CallOptions): Promise<TerminalWindow[]>;
947
869
  /**
948
- * Unified SFTP dispatcher. Returns op-shaped payload. For streaming
949
- * uploads/downloads use `sftpUpload` / `sftpDownload`.
870
+ * Unified FS dispatcher. Returns op-shaped payload. For streaming
871
+ * uploads/downloads use `fsUpload` / `fsDownload`.
950
872
  */
951
- sftp(id: string, input: SftpInput, opts?: CallOptions): Promise<Record<string, unknown>>;
952
- /** Convenience: `sftp({op:"list"})` returning the entries array directly. */
953
- sftpList(id: string, path: string, opts?: CallOptions): Promise<SftpListResult>;
873
+ fs(id: string, input: FsInput, opts?: CallOptions): Promise<Record<string, unknown>>;
874
+ /** Convenience: `fs({op:"list"})` returning the entries array directly. */
875
+ fsList(id: string, path: string, opts?: CallOptions): Promise<FsListResult>;
954
876
  /**
955
877
  * Multipart upload of a file/folder member. Falls back to single-file mode
956
878
  * when `relative_path` is omitted.
957
879
  */
958
- sftpUpload(id: string, input: SftpUploadInput, opts?: CallOptions): Promise<Record<string, unknown>>;
880
+ fsUpload(id: string, input: FsUploadInput, opts?: CallOptions): Promise<Record<string, unknown>>;
959
881
  /**
960
882
  * Stream a remote file (or a folder as `tar.gz`) as a `Blob`. The server
961
883
  * sends the real MIME type on `Content-Type`.
962
884
  */
963
- sftpDownload(id: string, remotePath: string, opts?: CallOptions): Promise<Blob>;
885
+ fsDownload(id: string, remotePath: string, opts?: CallOptions): Promise<Blob>;
964
886
  listPorts(id: string, query?: {
965
887
  refresh?: boolean;
966
888
  }, opts?: CallOptions): Promise<{
@@ -1049,55 +971,6 @@ declare class ComputersApi {
1049
971
  pair(input: PairComputerInput, opts?: CallOptions): Promise<PairComputerResult>;
1050
972
  }
1051
973
 
1052
- /**
1053
- * DatastoreApi — `/api/v1/datastore` (the KV data plane).
1054
- *
1055
- * Workspace-scoped key/value store. Entries live under a `namespace` (a bucket
1056
- * you pick) and a `key`. Surfaced as `client.kv.*` on `IdaptClient`.
1057
- */
1058
-
1059
- interface DatastoreListOptions extends CallOptions {
1060
- /** Only keys starting with this prefix. */
1061
- prefix?: string;
1062
- cursor?: string;
1063
- limit?: number;
1064
- }
1065
- interface DatastoreSetOptions extends CallOptions {
1066
- /** Seconds until the entry expires; omit for no expiry. */
1067
- ttlSeconds?: number;
1068
- }
1069
- declare class DatastoreApi {
1070
- private readonly ctx;
1071
- constructor(ctx: HttpContext);
1072
- /** List keys in a namespace (prefix-filterable). */
1073
- list(namespace: string, opts?: DatastoreListOptions): Promise<{
1074
- key: string;
1075
- }[]>;
1076
- /** Read a KV entry. */
1077
- get(namespace: string, key: string, opts?: CallOptions): Promise<DatastoreEntry>;
1078
- /** Upsert a KV entry (optionally with a TTL). */
1079
- set(namespace: string, key: string, value: unknown, opts?: DatastoreSetOptions): Promise<DatastoreEntry>;
1080
- /** Delete a KV entry (idempotent). */
1081
- delete(namespace: string, key: string, opts?: CallOptions): Promise<DeletedResponse>;
1082
- /** Atomically add `by` (default 1) to a numeric counter. */
1083
- increment(namespace: string, key: string, by?: number, opts?: CallOptions): Promise<{
1084
- key: string;
1085
- value: number;
1086
- }>;
1087
- /** List the namespaces in the workspace. */
1088
- listNamespaces(opts?: CallOptions): Promise<string[]>;
1089
- /** Read several keys at once. */
1090
- batchGet(namespace: string, keys: string[], opts?: CallOptions): Promise<DatastoreEntry[]>;
1091
- /** Upsert several entries at once. */
1092
- batchSet(namespace: string, entries: {
1093
- key: string;
1094
- value: unknown;
1095
- ttlSeconds?: number | null;
1096
- }[], opts?: CallOptions): Promise<number>;
1097
- /** Delete several keys at once; returns the count removed. */
1098
- batchDelete(namespace: string, keys: string[], opts?: CallOptions): Promise<number>;
1099
- }
1100
-
1101
974
  /**
1102
975
  * DocsApi — `GET /api/v1/docs`.
1103
976
  *
@@ -1126,8 +999,8 @@ declare class DocsApi {
1126
999
  * Use when:
1127
1000
  * - The app has elevated `files:*` permission and wants to touch files
1128
1001
  * outside its `.app-data` scope.
1129
- * - You need create-folder / move / run endpoints with a workspace_id /
1130
- * parent_id you choose yourself.
1002
+ * - You need create-folder / move endpoints with a workspace_id / parent_id
1003
+ * you choose yourself.
1131
1004
  *
1132
1005
  * For "save preferences in my data folder", prefer `client.data.set(name)`
1133
1006
  * — it handles name→id resolution and OCC for you.
@@ -1139,7 +1012,7 @@ declare class DocsApi {
1139
1012
  declare class FilesApi {
1140
1013
  private readonly ctx;
1141
1014
  constructor(ctx: HttpContext);
1142
- list(query?: ListFilesQuery, opts?: CallOptions): Promise<File$1[]>;
1015
+ list(query?: ListFilesQuery, opts?: CallOptions): Promise<File[]>;
1143
1016
  /** Multipart upload a Blob/File. Returns the partial file record. */
1144
1017
  upload(input: UploadInput, opts?: CallOptions): Promise<FileUploadResult>;
1145
1018
  /**
@@ -1157,180 +1030,16 @@ declare class FilesApi {
1157
1030
  * Patch file metadata or content. Supports `expectedUpdatedAt` for
1158
1031
  * optimistic concurrency — pass it when you know the version you read.
1159
1032
  */
1160
- patch(id: string, input: PatchFileInput, opts?: WriteOptions): Promise<File$1>;
1033
+ patch(id: string, input: PatchFileInput, opts?: WriteOptions): Promise<File>;
1161
1034
  delete(id: string, opts?: CallOptions): Promise<DeletedResponse>;
1162
- restore(id: string, opts?: CallOptions): Promise<File$1>;
1035
+ restore(id: string, opts?: CallOptions): Promise<File>;
1163
1036
  permanentDelete(id: string, opts?: CallOptions): Promise<DeletedResponse>;
1164
1037
  /**
1165
1038
  * Idempotent create-or-get a folder. Returns the existing folder (with
1166
1039
  * `200`) or the new one (`201`) — consumers don't need to distinguish.
1167
1040
  */
1168
- createFolder(input: CreateFolderInput, opts?: CallOptions): Promise<File$1>;
1169
- move(id: string, parentId: string | null, opts?: CallOptions): Promise<File$1>;
1170
- /**
1171
- * Execute a code file (js/ts/py/sh) in a sandboxed Lambda. Returns the
1172
- * full `ExecutionRun` record (status, stdout/stderr, exit code, timestamps).
1173
- */
1174
- run(id: string, input?: RunFileInput, opts?: CallOptions): Promise<ExecutionRun>;
1175
- }
1176
-
1177
- /**
1178
- * FunctionsApi — `/api/v1/functions` (idapt Functions).
1179
- *
1180
- * Two tiers, mirroring the v1 `functions` contract:
1181
- *
1182
- * - One-off runs — `run()` executes a script ONCE in the sandboxed Lambda
1183
- * (inline `script` XOR an existing Drive `file_id`) and returns the full
1184
- * `FunctionRun` row (the `transformExecutionRun` shape). Anything the script
1185
- * writes under `/tmp/output/` is copied into Drive and listed in
1186
- * `output_files`. Browse history via the `runs` sub-api
1187
- * (`runs.list` / `runs.get` / `runs.interrupt`).
1188
- * - Deployed functions — named, versioned, HTTP-invokable units:
1189
- * `create` → `deploy` (inline base64 bundle) → `invoke`. `promote` flips /
1190
- * rolls back the live deployment; `deployments` lists the version history.
1191
- *
1192
- * Surfaced as `client.functions.*`. Replaces the former code-execution
1193
- * surface. Wire types are snake_case over the wire.
1194
- */
1195
-
1196
- /**
1197
- * `POST /functions/runs` body — run a script once. Pass EXACTLY one of inline
1198
- * `script` (+ optional `language`) or an existing Drive `file_id`.
1199
- */
1200
- interface RunFunctionInput {
1201
- /** Inline source (≤ 1 MB). Mutually exclusive with `file_id`. */
1202
- script?: string;
1203
- /** An existing Drive file id to execute. Mutually exclusive with `script`. */
1204
- file_id?: string;
1205
- /** Language for inline `script` — drives the entrypoint extension. */
1206
- language?: "node" | "python" | "bash";
1207
- /** Hard wall-clock bound (1–300s). Default 30s server-side. */
1208
- timeout_seconds?: number;
1209
- /** Environment variables injected into the run. */
1210
- env?: Record<string, string>;
1211
- /** Workspace secret names to inject as env vars (resolved server-side). */
1212
- secrets?: string[];
1213
- }
1214
- /**
1215
- * `GET /functions/runs` query params. Cursor-paginated (opaque `cursor`);
1216
- * `backend` / `status` narrow the one-off run history.
1217
- */
1218
- interface ListFunctionRunsQuery {
1219
- limit?: number;
1220
- /** Opaque pagination cursor — echo `pagination.next_cursor`. */
1221
- cursor?: string;
1222
- backend?: ExecutionBackend;
1223
- status?: ExecutionRunStatus;
1224
- /** Scope the listing to a single workspace. */
1225
- workspace_id?: string;
1226
- }
1227
- /** `GET /functions` query params — list deployed functions. */
1228
- interface ListFunctionsQuery {
1229
- limit?: number;
1230
- }
1231
- /** One declared permission grant on a function. */
1232
- interface FunctionPermissionInput {
1233
- resource: string;
1234
- access: "read" | "write" | "admin";
1235
- scope?: string;
1236
- }
1237
- /** `POST /functions` body — create a deployed function (config only). */
1238
- interface CreateFunctionInput {
1239
- name: string;
1240
- description?: string;
1241
- runtime?: "node" | "python";
1242
- entrypoint?: string;
1243
- auth_mode?: "bearer" | "secret" | "public";
1244
- timeout_seconds?: number;
1245
- permissions?: FunctionPermissionInput[];
1246
- /** Workspace secret names to expose to the function at runtime. */
1247
- secrets?: string[];
1248
- source_repo_id?: string;
1249
- branch?: string;
1250
- browser_app_id?: string;
1251
- }
1252
- /** `PATCH /functions/:id` body — update a function's config (all optional). */
1253
- interface UpdateFunctionInput {
1254
- description?: string | null;
1255
- auth_mode?: "bearer" | "secret" | "public";
1256
- timeout_seconds?: number;
1257
- permissions?: FunctionPermissionInput[] | null;
1258
- secrets?: string[] | null;
1259
- branch?: string | null;
1260
- }
1261
- /** One file of a deploy bundle — base64-encoded content at a bundle path. */
1262
- interface DeployFunctionFile {
1263
- path: string;
1264
- content_b64: string;
1265
- }
1266
- /**
1267
- * `POST /functions/:id/deploy` body — an inline base64 bundle. Promotes the
1268
- * new deployment to live immediately unless `promote: false`.
1269
- */
1270
- interface DeployFunctionInput {
1271
- files: DeployFunctionFile[];
1272
- entrypoint?: string;
1273
- runtime?: "node" | "python";
1274
- /** Promote the new deployment to live immediately (default true). */
1275
- promote?: boolean;
1276
- }
1277
- /** `POST /functions/:id/invoke` body — the request handed to the handler. */
1278
- interface InvokeFunctionInput {
1279
- method?: string;
1280
- path?: string;
1281
- query?: Record<string, string>;
1282
- headers?: Record<string, string>;
1283
- body?: unknown;
1284
- }
1285
- /** `client.functions.runs` — browse + interrupt one-off runs. */
1286
- declare class FunctionRunsApi {
1287
- private readonly ctx;
1288
- constructor(ctx: HttpContext);
1289
- /** List one-off function runs (cursor-paginated). */
1290
- list(query?: ListFunctionRunsQuery, opts?: CallOptions): Promise<FunctionRun[]>;
1291
- /** Get a single one-off run by id. */
1292
- get(id: string, opts?: CallOptions): Promise<FunctionRun>;
1293
- /**
1294
- * Interrupt a running run. Only computer-backed runs can be interrupted;
1295
- * Lambda-backed runs return 409 (`ConflictError`).
1296
- */
1297
- interrupt(id: string, opts?: CallOptions): Promise<FunctionRun>;
1298
- }
1299
- declare class FunctionsApi {
1300
- private readonly ctx;
1301
- /** One-off run history — list / get / interrupt. */
1302
- readonly runs: FunctionRunsApi;
1303
- constructor(ctx: HttpContext);
1304
- /**
1305
- * Run a script ONCE in the sandbox. Pass EITHER inline `script` (+ optional
1306
- * `language`) OR an existing Drive `file_id`. Returns the full `FunctionRun`
1307
- * row — `id`, `status`, `stdout`, `stderr`, `exit_code`, the run timestamps,
1308
- * and any `output_files` the script wrote under `/tmp/output/`.
1309
- */
1310
- run(input: RunFunctionInput, opts?: CallOptions): Promise<FunctionRun>;
1311
- /** List deployed functions in the workspace. */
1312
- list(query?: ListFunctionsQuery, opts?: CallOptions): Promise<FunctionResource[]>;
1313
- /** Get a deployed function by its resourceId. */
1314
- get(id: string, opts?: CallOptions): Promise<FunctionResource>;
1315
- /** Create a deployed function (config only — `deploy` adds a bundle). */
1316
- create(input: CreateFunctionInput, opts?: CallOptions): Promise<FunctionResource>;
1317
- /** Update a deployed function's config. */
1318
- update(id: string, patch: UpdateFunctionInput, opts?: CallOptions): Promise<FunctionResource>;
1319
- /** Delete a deployed function + all its deployments. */
1320
- delete(id: string, opts?: CallOptions): Promise<DeletedResponse>;
1321
- /**
1322
- * Deploy a new bundle (inline base64 files). Promotes the new deployment to
1323
- * live immediately unless `promote: false`. Returns the new deployment.
1324
- */
1325
- deploy(id: string, input: DeployFunctionInput, opts?: CallOptions): Promise<FunctionDeployment>;
1326
- /** List a function's deployments (newest-first). */
1327
- deployments(id: string, opts?: CallOptions): Promise<FunctionDeployment[]>;
1328
- /** Promote (or roll back to) a deployment — flips the active one. */
1329
- promote(id: string, input: {
1330
- deployment_id: string;
1331
- }, opts?: CallOptions): Promise<FunctionResource>;
1332
- /** Invoke a deployed function synchronously; returns its response. */
1333
- invoke(id: string, input?: InvokeFunctionInput, opts?: CallOptions): Promise<FunctionInvokeResult>;
1041
+ createFolder(input: CreateFolderInput, opts?: CallOptions): Promise<File>;
1042
+ move(id: string, parentId: string | null, opts?: CallOptions): Promise<File>;
1334
1043
  }
1335
1044
 
1336
1045
  /**
@@ -1341,7 +1050,7 @@ declare class FunctionsApi {
1341
1050
  * a JSON envelope (`{ data: { content, format } }`).
1342
1051
  */
1343
1052
 
1344
- /** Payload of `GET /v1/skill` — the SKILL.md body plus its format tag. */
1053
+ /** Payload of `GET /v1/guide` — the API guide body plus its format tag. */
1345
1054
  interface GuideContent {
1346
1055
  /** The SKILL.md document body. */
1347
1056
  content: string;
@@ -1359,36 +1068,19 @@ declare class GuideApi {
1359
1068
  }
1360
1069
 
1361
1070
  /**
1362
- * ImagesApi — `/api/v1/images/*`.
1071
+ * ImagesApi — image-model DISCOVERY (`GET /api/v1/images/models`).
1363
1072
  *
1364
- * Two endpoints:
1365
- * - `GET /images/models` → catalogue of image models. Each item is
1366
- * `{id, display_name, provider, modality}`
1367
- * plus image-specific fields.
1368
- * - `POST /images/generations` → generate an image, returns a file ref.
1369
- * Responds HTTP 201 (resource created).
1370
- *
1371
- * `generate()` writes the output into the caller's workspace (required) at
1372
- * an optional path; the response includes a `file_id` you can turn around
1373
- * and pass to `files.get(id)` for the bytes, or use `url` for a signed
1374
- * download link.
1073
+ * Image GENERATION moved to the unified inference surface — use
1074
+ * `client.inference.image({ prompt, workspace_id, })`. This namespace now
1075
+ * exposes only the model catalog (`image models`); model discovery stays
1076
+ * per-modality by design.
1375
1077
  */
1376
1078
 
1377
- interface GenerateImageInput {
1378
- prompt: string;
1379
- workspace_id: string;
1380
- model?: string;
1381
- output_path?: string;
1382
- reference_image_ids?: string[];
1383
- reference_image_paths?: string[];
1384
- aspect_ratio?: string;
1385
- }
1386
1079
  declare class ImagesApi {
1387
1080
  private readonly ctx;
1388
1081
  constructor(ctx: HttpContext);
1082
+ /** List the available image-generation models. */
1389
1083
  listModels(opts?: CallOptions): Promise<ImageModel[]>;
1390
- /** Generate an image. Responds HTTP 201 with the written file ref under `data`. */
1391
- generate(input: GenerateImageInput, opts?: CallOptions): Promise<ImageGenerationResult>;
1392
1084
  }
1393
1085
 
1394
1086
  /**
@@ -1604,6 +1296,10 @@ interface ProviderEndpointModelMappingInput {
1604
1296
  model_id: string;
1605
1297
  /** Upstream provider model id. Defaults server-side to `model_id`. */
1606
1298
  api_model_id: string;
1299
+ /** Explicit serving context window for this endpoint/model pair. */
1300
+ context_length?: number;
1301
+ /** Explicit maximum completion tokens for this endpoint/model pair. */
1302
+ max_completion_tokens?: number;
1607
1303
  }
1608
1304
  interface CreateProviderEndpointInput {
1609
1305
  kind?: ProviderEndpointKind;
@@ -1930,51 +1626,6 @@ declare class SharingApi {
1930
1626
  listSharedWithMe(query?: ListSharedWithMeQuery, opts?: CallOptions): Promise<SharedWithMeItem[]>;
1931
1627
  }
1932
1628
 
1933
- /**
1934
- * StoreApi — `/api/v1/store/*`.
1935
- *
1936
- * Hub / store surface for browsing and installing community items: skills,
1937
- * agent templates, computer images, workspace templates.
1938
- *
1939
- * Both verbs are feature-gated by FF42 (Hub) server-side. With the flag
1940
- * OFF the routes 404; the SDK relays that as a `NotFoundError`. The CLI's
1941
- * `idapt store` tree gates on the same flag client-side, so visibility of
1942
- * the verbs in `idapt help` matches what the server actually accepts.
1943
- */
1944
-
1945
- interface SearchStoreQuery {
1946
- q?: string;
1947
- type?: "all" | StoreItemType;
1948
- sort?: "popular" | "recent" | "updated";
1949
- limit?: number;
1950
- /** Opaque pagination cursor — echo `pagination.next_cursor`. */
1951
- cursor?: string;
1952
- }
1953
- interface InstallStoreItemInput {
1954
- /** Destination workspace resourceId. */
1955
- workspace_id: string;
1956
- folder_name?: string;
1957
- /** Parent file resourceId to land the installed folder under. */
1958
- target_parent_id?: string | null;
1959
- }
1960
- declare class StoreApi {
1961
- private readonly ctx;
1962
- constructor(ctx: HttpContext);
1963
- /**
1964
- * Search the hub. Open envelope — items are heterogeneous (skills carry
1965
- * version/license, agents carry icons/prompts, computer templates carry
1966
- * sizing) so we surface them as `StoreItem` with an open index signature.
1967
- */
1968
- search(query?: SearchStoreQuery, opts?: CallOptions): Promise<StoreItem[]>;
1969
- /**
1970
- * Install a hub item into one of the caller's workspaces. Returns whatever
1971
- * the per-template installer produces (folder ids, agent ids, ...) —
1972
- * `StoreInstallResult` carries the common fields and leaves the rest
1973
- * open.
1974
- */
1975
- install(resourceId: string, input: InstallStoreItemInput, opts?: CallOptions): Promise<StoreInstallResult>;
1976
- }
1977
-
1978
1629
  /**
1979
1630
  * SubscriptionApi — `/api/v1/subscription`.
1980
1631
  *
@@ -1997,72 +1648,6 @@ declare class SubscriptionApi {
1997
1648
  get(opts?: CallOptions): Promise<Subscription>;
1998
1649
  }
1999
1650
 
2000
- /**
2001
- * TablesApi — `/api/v1/tables` (Idapt Tables, structured documents).
2002
- *
2003
- * Collections hold a field schema; records are JSON documents queried via the
2004
- * safe DSL. Surfaced as `client.tables.*` on `IdaptClient`.
2005
- */
2006
-
2007
- interface TableField {
2008
- key: string;
2009
- name: string;
2010
- type: string;
2011
- options?: unknown[];
2012
- required?: boolean;
2013
- default?: unknown;
2014
- }
2015
- interface CollectionSchemaInput {
2016
- fields: TableField[];
2017
- }
2018
- interface CreateCollectionInput {
2019
- name: string;
2020
- description?: string | null;
2021
- icon?: string | null;
2022
- schema?: CollectionSchemaInput;
2023
- workspace_id?: string;
2024
- }
2025
- interface UpdateCollectionInput {
2026
- name?: string;
2027
- description?: string | null;
2028
- icon?: string | null;
2029
- schema?: CollectionSchemaInput;
2030
- }
2031
- interface TableQuery {
2032
- where?: unknown;
2033
- sort?: {
2034
- field: string;
2035
- dir?: "asc" | "desc";
2036
- }[];
2037
- limit?: number;
2038
- cursor?: string;
2039
- }
2040
- declare class TablesApi {
2041
- private readonly ctx;
2042
- constructor(ctx: HttpContext);
2043
- list(opts?: CallOptions & {
2044
- workspaceId?: string;
2045
- cursor?: string;
2046
- limit?: number;
2047
- }): Promise<TableCollection[]>;
2048
- get(id: string, opts?: CallOptions): Promise<TableCollection>;
2049
- create(input: CreateCollectionInput, opts?: CallOptions): Promise<TableCollection>;
2050
- update(id: string, input: UpdateCollectionInput, opts?: CallOptions): Promise<TableCollection>;
2051
- delete(id: string, opts?: CallOptions): Promise<DeletedResponse>;
2052
- /** Query a collection's records with the filter/sort/paginate DSL. */
2053
- query(id: string, query?: TableQuery, opts?: CallOptions): Promise<TableRecord[]>;
2054
- createRecord(id: string, values: Record<string, unknown>, opts?: CallOptions): Promise<TableRecord>;
2055
- getRecord(id: string, recordId: string, opts?: CallOptions): Promise<TableRecord>;
2056
- updateRecord(id: string, recordId: string, values: Record<string, unknown>, opts?: CallOptions): Promise<TableRecord>;
2057
- deleteRecord(id: string, recordId: string, opts?: CallOptions): Promise<DeletedResponse>;
2058
- /** Export a collection's records as a CSV string (header row = field keys). */
2059
- exportCsv(id: string, opts?: CallOptions): Promise<string>;
2060
- /** Import records into a collection from a CSV string. Returns the count. */
2061
- importCsv(id: string, csv: string, opts?: CallOptions): Promise<{
2062
- imported: number;
2063
- }>;
2064
- }
2065
-
2066
1651
  /**
2067
1652
  * UserApi — identity + usage.
2068
1653
  *
@@ -2239,16 +1824,10 @@ declare class IdaptClient {
2239
1824
  readonly workspaces: WorkspacesApi;
2240
1825
  /** Automations CRUD + fire, rotate-secret, runs. */
2241
1826
  readonly automations: AutomationsApi;
2242
- /** Computers CRUD + lifecycle + exec/tmux/sftp + ports + users + env + pair. */
1827
+ /** Computers CRUD + lifecycle + exec/terminal/fs + ports + users + env + pair. */
2243
1828
  readonly computers: ComputersApi;
2244
1829
  /** Workspace secrets CRUD. */
2245
1830
  readonly secrets: SecretsApi;
2246
- /** Datastore (KV) — workspace key/value store for app + agent state. */
2247
- readonly kv: DatastoreApi;
2248
- /** Blobs — workspace object store for large / binary data. */
2249
- readonly blobs: BlobsApi;
2250
- /** Idapt Tables — structured document collections + records + query. */
2251
- readonly tables: TablesApi;
2252
1831
  /** Realtime — broadcast + presence + live SSE subscribe over channels. */
2253
1832
  readonly realtime: RealtimeApi;
2254
1833
  /** User-API-key CRUD (`uk_` keys). Header-auth (API-key transport) is rejected. */
@@ -2261,8 +1840,6 @@ declare class IdaptClient {
2261
1840
  readonly subscription: SubscriptionApi;
2262
1841
  /** Resource shares + the inverse `/shared-with-me` list. */
2263
1842
  readonly sharing: SharingApi;
2264
- /** Hub / store: search community items + install into a workspace. */
2265
- readonly store: StoreApi;
2266
1843
  /** LLM model catalogue. */
2267
1844
  readonly models: ModelsApi;
2268
1845
  /** User-owned BYOK and daemon-local model provider endpoints. */
@@ -2271,8 +1848,6 @@ declare class IdaptClient {
2271
1848
  readonly images: ImagesApi;
2272
1849
  /** Text-to-speech + transcription. */
2273
1850
  readonly audio: AudioApi;
2274
- /** Run + invoke serverless functions. */
2275
- readonly functions: FunctionsApi;
2276
1851
  /** Full-text search across user content. */
2277
1852
  readonly search: SearchApi;
2278
1853
  /** External web search. */
@@ -2349,4 +1924,4 @@ declare class IdaptClient {
2349
1924
  private navigate;
2350
1925
  }
2351
1926
 
2352
- export { type ListChatsQuery as $, type AddMemberInput as A, type BlobMeta as B, COMMAND_BINDINGS as C, DatastoreApi as D, type DatastoreSetOptions as E, type DeleteInvitationResult as F, type DeletedResult as G, type DeployFunctionFile as H, IdaptClient as I, type DeployFunctionInput as J, DocsApi as K, type ExecCommandInput as L, type ExecuteCommandOptions as M, FilesApi as N, type FireAutomationInput as O, type FunctionPermissionInput as P, FunctionsApi as Q, type GenerateImageInput as R, GuideApi as S, type GuideContent as T, type IdaptClientDeps as U, ImagesApi as V, type InstallStoreItemInput as W, type InvokeFunctionInput as X, type ListAgentsQuery as Y, type ListApiKeysQuery as Z, type ListAutomationRunsQuery as _, AgentsApi as a, type UpdateProviderEndpointInput as a$, type ListComputersQuery as a0, type ListFilesQuery as a1, type ListFunctionRunsQuery as a2, type ListFunctionsQuery as a3, type ListMessagesQuery as a4, type ListNotificationsQuery as a5, type ListResult as a6, type ListRunsQuery as a7, type ListSharedWithMeQuery as a8, type ListSharesQuery as a9, type SendNotificationInput as aA, type SendNotificationResult as aB, SettingsApi as aC, type SftpInput as aD, type SftpListResult as aE, type SftpOp as aF, type SftpUploadInput as aG, SharingApi as aH, type SpeakInput as aI, type SseEvent as aJ, StoreApi as aK, type SubscribeOptions as aL, SubscriptionApi as aM, type TableQuery as aN, TablesApi as aO, type TmuxInput as aP, type TmuxOp as aQ, type TranscribeInput as aR, type UpdateAgentInput as aS, type UpdateApiKeyInput as aT, type UpdateChatInput as aU, type UpdateCollectionInput as aV, type UpdateComputerInput as aW, type UpdateComputerUserInput as aX, type UpdateFunctionInput as aY, type UpdateMemberInput as aZ, type UpdateNotificationInput as a_, type ListUsageHistoryQuery as aa, ModelsApi as ab, type NotificationAudience as ac, type NotificationPreferenceUpdate as ad, NotificationsApi as ae, type PairComputerInput as af, type PairComputerResult as ag, type PatchFileInput as ah, type PatchPortInput as ai, type PresenceEntry as aj, type PresenceHeartbeatOptions as ak, type ProviderEndpointModelMappingInput as al, ProviderEndpointsApi as am, RealtimeApi as an, type RealtimeEvent as ao, type RemoveShareInput as ap, type RepromptMessageInput as aq, type RotateApiKeyInput as ar, type RotateApiKeyResult as as, type RunFileInput as at, type RunFunctionInput as au, SearchApi as av, type SearchInput as aw, type SearchStoreQuery as ax, SecretsApi as ay, type SendMessageInput as az, ApiKeysApi as b, type UpdateSecretInput as b0, type UpdateSettingsInput as b1, type UpdateShareInput as b2, type UpdateWorkspaceInput as b3, type UploadInput as b4, UserApi as b5, type V1CommandName as b6, WebSearchApi as b7, type WebSearchInput as b8, WorkspacesApi as b9, type WritableMemberRole as ba, awaitOperation as bb, executeCommand as bc, getFileBlob as bd, getFileText as be, listFiles as bf, AudioApi as c, AutomationsApi as d, BlobsApi as e, type BlobsListOptions as f, type ChannelHandle as g, ChatsApi as h, type CommandBinding as i, ComputersApi as j, type CreateAgentInput as k, type CreateApiKeyInput as l, type CreateChatInput as m, type CreateCollectionInput as n, type CreateComputerInput as o, type CreateComputerUserInput as p, type CreateFolderInput as q, type CreateFunctionInput as r, type CreateInvitationInput as s, type CreateInvitationResult as t, type CreateProviderEndpointInput as u, type CreateSecretInput as v, type CreateShareInput as w, type CreateUserEnvVarInput as x, type CreateWorkspaceInput as y, type DatastoreListOptions as z };
1927
+ export { ModelsApi as $, type AddMemberInput as A, type FsListResult as B, COMMAND_BINDINGS as C, type DeleteInvitationResult as D, type ExecuteCommandOptions as E, FilesApi as F, type FsOp as G, type FsUploadInput as H, IdaptClient as I, GuideApi as J, type GuideContent as K, type IdaptClientDeps as L, ImagesApi as M, type ListAgentsQuery as N, type ListApiKeysQuery as O, type ListAutomationRunsQuery as P, type ListChatsQuery as Q, type ListComputersQuery as R, type ListFilesQuery as S, type ListMessagesQuery as T, type ListNotificationsQuery as U, type ListResult as V, type ListRunsQuery as W, type ListSharedWithMeQuery as X, type ListSharesQuery as Y, type ListUsageHistoryQuery as Z, type ListVoicesInput as _, AgentsApi as a, type NotificationAudience as a0, type NotificationPreferenceUpdate as a1, NotificationsApi as a2, type PairComputerInput as a3, type PairComputerResult as a4, type PatchFileInput as a5, type PatchPortInput as a6, type PresenceEntry as a7, type PresenceHeartbeatOptions as a8, type ProviderEndpointModelMappingInput as a9, type UpdateNotificationInput as aA, type UpdateProviderEndpointInput as aB, type UpdateSecretInput as aC, type UpdateSettingsInput as aD, type UpdateShareInput as aE, type UpdateWorkspaceInput as aF, type UploadInput as aG, UserApi as aH, type V1CommandName as aI, WebSearchApi as aJ, type WebSearchInput as aK, WorkspacesApi as aL, type WritableMemberRole as aM, awaitOperation as aN, executeCommand as aO, getFileBlob as aP, getFileText as aQ, listFiles as aR, ProviderEndpointsApi as aa, RealtimeApi as ab, type RealtimeEvent as ac, type RemoveShareInput as ad, type RepromptMessageInput as ae, type RotateApiKeyInput as af, type RotateApiKeyResult as ag, SearchApi as ah, type SearchInput as ai, SecretsApi as aj, type SendMessageInput as ak, type SendNotificationInput as al, type SendNotificationResult as am, SettingsApi as an, SharingApi as ao, type SseEvent as ap, type SubscribeOptions as aq, SubscriptionApi as ar, type TerminalInput as as, type TerminalOp as at, type UpdateAgentInput as au, type UpdateApiKeyInput as av, type UpdateChatInput as aw, type UpdateComputerInput as ax, type UpdateComputerUserInput as ay, type UpdateMemberInput as az, ApiKeysApi as b, AudioApi as c, AutomationsApi as d, type ChannelHandle as e, ChatsApi as f, type CommandBinding as g, ComputersApi as h, type CreateAgentInput as i, type CreateApiKeyInput as j, type CreateChatInput as k, type CreateComputerInput as l, type CreateComputerUserInput as m, type CreateFolderInput as n, type CreateInvitationInput as o, type CreateInvitationResult as p, type CreateProviderEndpointInput as q, type CreateSecretInput as r, type CreateShareInput as s, type CreateUserEnvVarInput as t, type CreateWorkspaceInput as u, type DeletedResult as v, DocsApi as w, type ExecCommandInput as x, type FireAutomationInput as y, type FsInput as z };