@idapt/browser-app-sdk 0.2.0 → 0.3.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, ak as Permission, aN as SpeechResult, aY as TranscriptionResult, aO as SpeechStreamEvent, aZ as TranscriptionStreamEvent, B as BlobObject, s as Chat, t as ChatCost, ac as MessageCosts, v as ChatStopResult, aa as Message, aE as SendMessageResult, k as AgentRunState, j as AgentRun, ay as RepromptResult, x as Computer, I as ComputerServerInfo, z as ComputerExecResult, aX as TmuxWindow, aG as SftpEntry, G as ComputerPort, L as ComputerUser, a8 as ListEnvelope, y as ComputerEnvVar, R as DatastoreEntry, f as FileUploadResult, W as WriteOptions, U as ExecutionRun, T as ExecutionBackend, X as ExecutionRunStatus, a0 as FunctionRun, $ as FunctionResource, Z as FunctionDeployment, _ as FunctionInvokeResult, a3 as ImageModel, a2 as ImageGenerationResult, a5 as LLMModel, af as Notification, ag as NotificationConfig, ah as NotificationPreference, an as ProviderEndpointKind, ar as ProviderEndpointProviderKey, am as ProviderEndpointConnectionType, au as ProviderEndpointTransport, as as ProviderEndpointRuntime, aq as ProviderEndpointProtocol, av as ProviderEndpointVisibility, ao as ProviderEndpointModality, al as ProviderEndpoint, a9 as ManagedProviderPreset, at as ProviderEndpointTestResult, aB as SearchResult, aC as Secret, aD as SecretWithValue, aF as Settings, aK as ShareResourceType, aJ as SharePermission, aH as Share, aI as ShareDeletedResult, aL as SharedWithMeItem, aR as StoreItemType, aQ as StoreItem, aP as StoreInstallResult, aT as Subscription, aV as TableCollection, aW as TableRecord, a_ as Trigger, M as CreateTriggerInput, b3 as TriggerWithSecret, b6 as UpdateTriggerInput, b1 as TriggerRun, b0 as TriggerCostStats, 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, P as DataFolder, w as ClientMeta, aA as RuntimeMode, aS as StoredCredential, S as EscalateRequest } from './data-BuXXki1D.cjs';
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.js';
2
2
 
3
3
  /**
4
4
  * Stateless low-level file operations against `/api/v1/drive/files/*`.
@@ -259,6 +259,83 @@ declare class AudioApi {
259
259
  streamTranscribe(input: TranscribeInput, opts?: CallOptions): AsyncIterable<TranscriptionStreamEvent>;
260
260
  }
261
261
 
262
+ /**
263
+ * AutomationsApi — `/api/v1/automations`.
264
+ *
265
+ * Automations fire actions on events (webhook or cron). The `fire` endpoint is
266
+ * unauthenticated — it validates the
267
+ * per-automation webhook secret instead of the bearer token. This SDK handles
268
+ * both modes: regular calls use `this.ctx.key`; `fire` can be called with
269
+ * an explicit secret override.
270
+ */
271
+
272
+ interface FireAutomationInput {
273
+ /**
274
+ * Webhook secret for this automation. Overrides the client's `ap_` key.
275
+ * Required when calling `fire` outside the creating user's session.
276
+ */
277
+ secret: string;
278
+ /** Optional context overrides forwarded to the action. */
279
+ body?: Record<string, unknown>;
280
+ }
281
+ interface ListAutomationRunsQuery {
282
+ limit?: number;
283
+ /** Opaque pagination cursor — echo `pagination.next_cursor`. */
284
+ cursor?: string;
285
+ }
286
+ interface ListAutomationsQuery {
287
+ workspace_id?: string;
288
+ include_archived?: boolean;
289
+ archived_only?: boolean;
290
+ }
291
+ interface BulkAutomationCostStatsQuery {
292
+ workspace_id?: string;
293
+ }
294
+ declare class AutomationsApi {
295
+ private readonly ctx;
296
+ constructor(ctx: HttpContext);
297
+ list(query?: ListAutomationsQuery, opts?: CallOptions): Promise<Automation[]>;
298
+ /**
299
+ * Create an automation. `workspace_id` is passed in the request BODY
300
+ * 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.
305
+ *
306
+ * For a webhook automation the response additionally carries a one-time
307
+ * plaintext `secret` (use `AutomationWithSecret`); other automation types
308
+ * resolve to a plain `Automation`.
309
+ */
310
+ create(workspaceId: string, input: CreateAutomationInput, opts?: CallOptions): Promise<AutomationWithSecret | Automation>;
311
+ get(id: string, opts?: CallOptions): Promise<Automation>;
312
+ update(id: string, input: UpdateAutomationInput, opts?: CallOptions): Promise<Automation>;
313
+ delete(id: string, opts?: CallOptions): Promise<DeletedResponse>;
314
+ archive(id: string, opts?: CallOptions): Promise<Automation>;
315
+ unarchive(id: string, opts?: CallOptions): Promise<Automation>;
316
+ /**
317
+ * Fire an automation via its webhook secret. This endpoint does NOT use the
318
+ * client's `ap_` key — the bearer is the automation's secret — so we build a
319
+ * one-off HttpContext for it rather than mutating the shared one.
320
+ *
321
+ * Responds HTTP 202. The response identifies the fired automation via `id`
322
+ * only.
323
+ */
324
+ fire(id: string, input: FireAutomationInput, opts?: CallOptions): Promise<{
325
+ id: string;
326
+ }>;
327
+ /**
328
+ * Rotate the webhook secret. Returns the automation with a fresh one-time
329
+ * plaintext `secret` populated (`AutomationWithSecret`). The old secret
330
+ * immediately stops working.
331
+ */
332
+ rotateSecret(id: string, opts?: CallOptions): Promise<AutomationWithSecret>;
333
+ /** Recent fires + their success/error outcome. */
334
+ listRuns(id: string, query?: ListAutomationRunsQuery, opts?: CallOptions): Promise<AutomationRun[]>;
335
+ getCostStats(id: string, opts?: CallOptions): Promise<AutomationCostStats>;
336
+ getCostStatsMap(query?: BulkAutomationCostStatsQuery, opts?: CallOptions): Promise<Record<string, AutomationCostStats>>;
337
+ }
338
+
262
339
  /**
263
340
  * BlobsApi — `/api/v1/blobs` (the object-storage data plane).
264
341
  *
@@ -366,7 +443,7 @@ declare const COMMAND_BINDINGS: Record<string, CommandBinding>;
366
443
  * {@link COMMAND_BINDINGS}). Used to type `client.call(action, args)` so a
367
444
  * known action autocompletes and a typo is caught at compile time.
368
445
  */
369
- 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" | "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-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 link" | "computer links" | "computer list" | "computer local-inference" | "computer local-models" | "computer manage" | "computer pair" | "computer ports" | "computer remove-local-model" | "computer set-ports" | "computer set-user-env" | "computer sftp" | "computer start" | "computer stop" | "computer test-connection" | "computer tmux" | "computer tunnels" | "computer unarchive" | "computer unexpose" | "computer unlink" | "computer update" | "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 run" | "functions run-get" | "functions run-interrupt" | "functions run-list" | "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" | "trigger archive" | "trigger cost-stats" | "trigger cost-stats-all" | "trigger create" | "trigger delete" | "trigger fire" | "trigger get" | "trigger list" | "trigger rotate-secret" | "trigger runs" | "trigger test-fire" | "trigger unarchive" | "trigger 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";
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";
370
447
 
371
448
  /**
372
449
  * Generic, spec-driven command executor — the SDK twin of the CLI's `runSpec`.
@@ -657,19 +734,25 @@ declare class ChatsApi {
657
734
  * - User env vars — listUserEnvVars / createUserEnvVar /
658
735
  * deleteUserEnvVar / setupUserEnv /
659
736
  * checkUserEnvSetup / syncUserEnv / checkUserEnvSync
660
- * - Workspace links listWorkspaceLinks / linkWorkspace / unlinkWorkspace
661
- * (share a computer's LOCAL INFERENCE into other
662
- * workspaces; never shell / files / tunnels)
737
+ * - Exposures expose / updateExposure / unexpose (expose an
738
+ * actor-owned machine into a workspace with a
739
+ * per-capability grant) + transfer (move ownership)
663
740
  * - Pair — pair (daemon token bootstrap; bearer-overridden,
664
741
  * mirrors the trigger-fire pattern)
665
742
  *
666
- * Permissions on every authenticated verb default to the caller's
667
- * `computers:read` / `computers:write` scope. See `lib/computers/Computers.md`
743
+ * Authenticated verbs are split by surface: generic computer read/write covers
744
+ * metadata, while lifecycle, exec, files, tunnels, terminal, desktop, local
745
+ * inference, apps, and admin operations require their explicit computer action
746
+ * grants. See `backend/packages/computers/src/internal/computers/Computers.md`
668
747
  * for the end-to-end computer model.
669
748
  */
670
749
 
671
750
  interface ListComputersQuery {
672
- workspace_id: string;
751
+ /**
752
+ * Narrow the list to one organization the actor belongs to (its resourceId).
753
+ * Machines are actor-owned; omit for the actor's own machines + all its orgs'.
754
+ */
755
+ organization?: string;
673
756
  limit?: number;
674
757
  /** Opaque pagination cursor — echo `pagination.next_cursor`. */
675
758
  cursor?: string;
@@ -802,20 +885,29 @@ interface PairComputerResult {
802
885
  domain: string;
803
886
  }
804
887
  /**
805
- * One `computer_workspace` linka computer shared INTO an additional
806
- * workspace, granting LOCAL INFERENCE ONLY (never shell / files / tunnels).
807
- * `workspace_resource_id` is the target workspace's public `ws_…` id.
888
+ * One `computer_workspace` EXPOSUREan actor-owned machine exposed INTO a
889
+ * workspace (Layer 2) with a per-capability grant. `workspace_resource_id` is
890
+ * the target workspace's public `ws_…` id; `capabilities` is the granted
891
+ * capability-slug subset.
808
892
  */
809
- interface ComputerWorkspaceLink {
893
+ interface ComputerExposure {
810
894
  id: string;
811
895
  computer_id: string;
812
896
  workspace_id: string;
813
897
  workspace_resource_id: string | null;
814
- permissions: unknown[] | null;
815
- created_by_actor_id: string;
898
+ capabilities: string[];
899
+ label: string | null;
900
+ created_by_actor_id: string | null;
816
901
  created_at: number;
817
902
  updated_at: number;
818
903
  }
904
+ /** `POST /v1/computers/{id}/expose` body. */
905
+ interface ExposeComputerInput {
906
+ /** Target workspace — public `ws_…` resourceId or slug. */
907
+ workspace_id: string;
908
+ /** Capability-slug subset to grant {local-inference, terminal, files, computer-use, tunnels, apps}. */
909
+ capabilities: string[];
910
+ }
819
911
  declare class ComputersApi {
820
912
  private readonly ctx;
821
913
  constructor(ctx: HttpContext);
@@ -918,30 +1010,37 @@ declare class ComputersApi {
918
1010
  syncUserEnv(id: string, username: string, opts?: CallOptions): Promise<Record<string, unknown>>;
919
1011
  checkUserEnvSync(id: string, username: string, opts?: CallOptions): Promise<Record<string, unknown>>;
920
1012
  /**
921
- * List the workspaces a computer's LOCAL INFERENCE is shared into. The home
922
- * workspace is never listed (it already has full access). The route returns
923
- * the links under a `links` key (not a standard list envelope).
1013
+ * Expose an actor-owned machine INTO a workspace (Layer 2) with a
1014
+ * per-capability grant, so that workspace's members can use it. Requires
1015
+ * machine-admin and membership of the target workspace. Rejects a duplicate
1016
+ * exposure. (CLI verb: `computer add-exposure` — the bare `expose`/`unexpose`
1017
+ * verbs are the tunnel port commands.)
924
1018
  */
925
- listWorkspaceLinks(id: string, opts?: CallOptions): Promise<ComputerWorkspaceLink[]>;
1019
+ expose(id: string, input: ExposeComputerInput, opts?: CallOptions): Promise<ComputerExposure>;
926
1020
  /**
927
- * Share a computer's LOCAL INFERENCE into another workspace (never shell /
928
- * files / tunnels). `workspaceId` is the target workspace's `ws_…`
929
- * resourceId or slug. Requires EDIT on the computer's home workspace and
930
- * membership of the target. Rejects the home workspace and duplicates.
1021
+ * Replace the capability grant on an existing exposure. `workspaceId` is the
1022
+ * exposed workspace's `ws_…` resourceId. Requires machine-admin.
1023
+ * (CLI verb: `computer update-exposure`.)
931
1024
  */
932
- linkWorkspace(id: string, workspaceId: string, opts?: CallOptions): Promise<ComputerWorkspaceLink>;
1025
+ updateExposure(id: string, workspaceId: string, capabilities: string[], opts?: CallOptions): Promise<ComputerExposure>;
933
1026
  /**
934
- * Stop sharing a computer's local inference into a workspace. `workspaceId`
935
- * is the target workspace's `ws_…` resourceId. Idempotent unlinking a
936
- * non-existent link still succeeds.
1027
+ * Stop exposing a machine into a workspace. `workspaceId` is the exposed
1028
+ * workspace's `ws_…` resourceId. Allowed for machine-admin OR an admin of the
1029
+ * exposed workspace. Idempotent. (CLI verb: `computer remove-exposure`.)
937
1030
  */
938
- unlinkWorkspace(id: string, workspaceId: string, opts?: CallOptions): Promise<{
939
- unlinked: boolean;
1031
+ unexpose(id: string, workspaceId: string, opts?: CallOptions): Promise<{
1032
+ unexposed: boolean;
940
1033
  }>;
1034
+ /**
1035
+ * Transfer an actor-owned machine to a new owner (self, or an org the caller
1036
+ * administers). `owner` is the target profile's resourceId; existing workspace
1037
+ * exposures are kept. Requires machine-admin. (CLI verb: `computer transfer`.)
1038
+ */
1039
+ transfer(id: string, owner: string, opts?: CallOptions): Promise<Computer>;
941
1040
  /**
942
1041
  * Redeem a one-time pair token for a long-lived computer identity. The
943
1042
  * token itself is the auth — we swap the bearer for the token on this
944
- * call only (same pattern as `triggers.fire`).
1043
+ * call only (same pattern as `automations.fire`).
945
1044
  *
946
1045
  * Used by `idapt up --token` to bootstrap a daemon. The request body is
947
1046
  * snake_case; the response is wrapped in the standard `{data:{…}}`
@@ -1964,83 +2063,6 @@ declare class TablesApi {
1964
2063
  }>;
1965
2064
  }
1966
2065
 
1967
- /**
1968
- * TriggersApi — `/api/v1/triggers`.
1969
- *
1970
- * Triggers fire actions (run code, run chat) on events (webhook, schedule,
1971
- * manual). The `fire` endpoint is unauthenticated — it validates the
1972
- * per-trigger webhook secret instead of the bearer token. This SDK handles
1973
- * both modes: regular calls use `this.ctx.key`; `fire` can be called with
1974
- * an explicit secret override.
1975
- */
1976
-
1977
- interface FireTriggerInput {
1978
- /**
1979
- * Webhook secret for this trigger. Overrides the client's `ap_` key.
1980
- * Required when calling `fire` outside the creating user's session.
1981
- */
1982
- secret: string;
1983
- /** Optional context overrides forwarded to the action. */
1984
- body?: Record<string, unknown>;
1985
- }
1986
- interface ListTriggerRunsQuery {
1987
- limit?: number;
1988
- /** Opaque pagination cursor — echo `pagination.next_cursor`. */
1989
- cursor?: string;
1990
- }
1991
- interface ListTriggersQuery {
1992
- workspace_id?: string;
1993
- include_archived?: boolean;
1994
- archived_only?: boolean;
1995
- }
1996
- interface BulkTriggerCostStatsQuery {
1997
- workspace_id?: string;
1998
- }
1999
- declare class TriggersApi {
2000
- private readonly ctx;
2001
- constructor(ctx: HttpContext);
2002
- list(query?: ListTriggersQuery, opts?: CallOptions): Promise<Trigger[]>;
2003
- /**
2004
- * Create a trigger. `workspace_id` is passed in the request BODY (alongside
2005
- * the flat trigger definition) — it is not a query param. The request
2006
- * body is flat: every scheduling field (`cron_expression`, …) and every
2007
- * action field (`agent_id`, `prompt_template`, `file_id`, …) sits at the
2008
- * top level — there are no nested `trigger_config` / `action_config`
2009
- * objects any more.
2010
- *
2011
- * For a `webhook` trigger the response additionally carries a one-time
2012
- * plaintext `secret` (use `TriggerWithSecret`); other trigger types
2013
- * resolve to a plain `Trigger`.
2014
- */
2015
- create(workspaceId: string, input: CreateTriggerInput, opts?: CallOptions): Promise<TriggerWithSecret | Trigger>;
2016
- get(id: string, opts?: CallOptions): Promise<Trigger>;
2017
- update(id: string, input: UpdateTriggerInput, opts?: CallOptions): Promise<Trigger>;
2018
- delete(id: string, opts?: CallOptions): Promise<DeletedResponse>;
2019
- archive(id: string, opts?: CallOptions): Promise<Trigger>;
2020
- unarchive(id: string, opts?: CallOptions): Promise<Trigger>;
2021
- /**
2022
- * Fire a trigger via its webhook secret. This endpoint does NOT use the
2023
- * client's `ap_` key — the bearer is the trigger's secret — so we build a
2024
- * one-off HttpContext for it rather than mutating the shared one.
2025
- *
2026
- * Responds HTTP 202. The response identifies the fired trigger via `id`
2027
- * only.
2028
- */
2029
- fire(id: string, input: FireTriggerInput, opts?: CallOptions): Promise<{
2030
- id: string;
2031
- }>;
2032
- /**
2033
- * Rotate the webhook secret. Returns the trigger with a fresh one-time
2034
- * plaintext `secret` populated (`TriggerWithSecret`). The old secret
2035
- * immediately stops working.
2036
- */
2037
- rotateSecret(id: string, opts?: CallOptions): Promise<TriggerWithSecret>;
2038
- /** Recent fires + their success/error outcome. */
2039
- listRuns(id: string, query?: ListTriggerRunsQuery, opts?: CallOptions): Promise<TriggerRun[]>;
2040
- getCostStats(id: string, opts?: CallOptions): Promise<TriggerCostStats>;
2041
- getCostStatsMap(query?: BulkTriggerCostStatsQuery, opts?: CallOptions): Promise<Record<string, TriggerCostStats>>;
2042
- }
2043
-
2044
2066
  /**
2045
2067
  * UserApi — identity + usage.
2046
2068
  *
@@ -2215,8 +2237,8 @@ declare class IdaptClient {
2215
2237
  readonly chats: ChatsApi;
2216
2238
  /** Workspaces CRUD + members + invitations + fork. */
2217
2239
  readonly workspaces: WorkspacesApi;
2218
- /** Triggers CRUD + fire, rotate-secret, runs. */
2219
- readonly triggers: TriggersApi;
2240
+ /** Automations CRUD + fire, rotate-secret, runs. */
2241
+ readonly automations: AutomationsApi;
2220
2242
  /** Computers CRUD + lifecycle + exec/tmux/sftp + ports + users + env + pair. */
2221
2243
  readonly computers: ComputersApi;
2222
2244
  /** Workspace secrets CRUD. */
@@ -2327,4 +2349,4 @@ declare class IdaptClient {
2327
2349
  private navigate;
2328
2350
  }
2329
2351
 
2330
- export { type ListFilesQuery as $, type AddMemberInput as A, type BlobMeta as B, COMMAND_BINDINGS as C, DatastoreApi as D, type DeleteInvitationResult as E, type DeletedResult as F, type DeployFunctionFile as G, type DeployFunctionInput as H, IdaptClient as I, DocsApi as J, type ExecCommandInput as K, type ExecuteCommandOptions as L, FilesApi as M, type FireTriggerInput as N, type FunctionPermissionInput as O, FunctionsApi as P, type GenerateImageInput as Q, GuideApi as R, type GuideContent as S, type IdaptClientDeps as T, ImagesApi as U, type InstallStoreItemInput as V, type InvokeFunctionInput as W, type ListAgentsQuery as X, type ListApiKeysQuery as Y, type ListChatsQuery as Z, type ListComputersQuery as _, AgentsApi as a, type UpdateProviderEndpointInput as a$, type ListFunctionRunsQuery as a0, type ListFunctionsQuery as a1, type ListMessagesQuery as a2, type ListNotificationsQuery as a3, type ListResult as a4, type ListRunsQuery as a5, type ListSharedWithMeQuery as a6, type ListSharesQuery as a7, type ListTriggerRunsQuery as a8, type ListUsageHistoryQuery as a9, type SendNotificationResult as aA, SettingsApi as aB, type SftpInput as aC, type SftpListResult as aD, type SftpOp as aE, type SftpUploadInput as aF, SharingApi as aG, type SpeakInput as aH, type SseEvent as aI, StoreApi as aJ, type SubscribeOptions as aK, SubscriptionApi as aL, type TableQuery as aM, TablesApi as aN, type TmuxInput as aO, type TmuxOp as aP, type TranscribeInput as aQ, TriggersApi 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_, ModelsApi as aa, type NotificationAudience as ab, type NotificationPreferenceUpdate as ac, NotificationsApi as ad, type PairComputerInput as ae, type PairComputerResult as af, type PatchFileInput as ag, type PatchPortInput as ah, type PresenceEntry as ai, type PresenceHeartbeatOptions as aj, type ProviderEndpointModelMappingInput as ak, ProviderEndpointsApi as al, RealtimeApi as am, type RealtimeEvent as an, type RemoveShareInput as ao, type RepromptMessageInput as ap, type RotateApiKeyInput as aq, type RotateApiKeyResult as ar, type RunFileInput as as, type RunFunctionInput as at, SearchApi as au, type SearchInput as av, type SearchStoreQuery as aw, SecretsApi as ax, type SendMessageInput as ay, type SendNotificationInput 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, BlobsApi as d, type BlobsListOptions as e, type ChannelHandle as f, ChatsApi as g, type CommandBinding as h, ComputersApi as i, type CreateAgentInput as j, type CreateApiKeyInput as k, type CreateChatInput as l, type CreateCollectionInput as m, type CreateComputerInput as n, type CreateComputerUserInput as o, type CreateFolderInput as p, type CreateFunctionInput as q, type CreateInvitationInput as r, type CreateInvitationResult as s, type CreateProviderEndpointInput as t, type CreateSecretInput as u, type CreateShareInput as v, type CreateUserEnvVarInput as w, type CreateWorkspaceInput as x, type DatastoreListOptions as y, type DatastoreSetOptions as z };
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 };
@@ -189,7 +189,8 @@ declare const computerResponseSchema: z.ZodObject<{
189
189
  full: "full";
190
190
  minimal: "minimal";
191
191
  }>>>;
192
- workspace_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
192
+ owner: z.ZodString;
193
+ billing_account: z.ZodNullable<z.ZodString>;
193
194
  state: z.ZodNullable<z.ZodEnum<{
194
195
  unprovisioned: "unprovisioned";
195
196
  provisioning: "provisioning";
@@ -202,9 +203,15 @@ declare const computerResponseSchema: z.ZodObject<{
202
203
  terminating: "terminating";
203
204
  terminated: "terminated";
204
205
  }>>;
206
+ online: z.ZodBoolean;
207
+ last_heartbeat_at: z.ZodNullable<z.ZodNumber>;
205
208
  archived_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
206
209
  created_at: z.ZodString;
207
210
  updated_at: z.ZodString;
211
+ exposures: z.ZodArray<z.ZodObject<{
212
+ workspace: z.ZodString;
213
+ capabilities: z.ZodArray<z.ZodString>;
214
+ }, z.core.$strip>>;
208
215
  }, z.core.$strip>;
209
216
  type ComputerResponse = z.infer<typeof computerResponseSchema>;
210
217
  declare const computerUserResponseSchema: z.ZodObject<{
@@ -261,6 +268,7 @@ declare const agentResponseSchema: z.ZodObject<{
261
268
  compaction_trigger_value: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
262
269
  source_template_resource_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
263
270
  memory_folder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
271
+ memory_resource_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
264
272
  default_model_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
265
273
  default_reasoning_effort: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
266
274
  default_auto_cost_level: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -326,7 +334,7 @@ declare const workspaceMemberResponseSchema: z.ZodObject<{
326
334
  created_at: z.ZodString;
327
335
  }, z.core.$strip>;
328
336
  type WorkspaceMemberResponse = z.infer<typeof workspaceMemberResponseSchema>;
329
- declare const triggerResponseSchema: z.ZodObject<{
337
+ declare const automationResponseSchema: z.ZodObject<{
330
338
  id: z.ZodString;
331
339
  name: z.ZodString;
332
340
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -351,20 +359,19 @@ declare const triggerResponseSchema: z.ZodObject<{
351
359
  compaction_preset: z.ZodOptional<z.ZodNullable<z.ZodString>>;
352
360
  pasted_texts: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodUnknown>>>;
353
361
  active_skills: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
354
- file_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
355
- runtime: z.ZodOptional<z.ZodNullable<z.ZodString>>;
356
- timeout_seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
357
- env: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
358
- working_dir_folder_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
362
+ function_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
363
+ method: z.ZodOptional<z.ZodNullable<z.ZodString>>;
364
+ path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
365
+ body: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
359
366
  next_run_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
360
367
  last_fired_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
361
368
  archived_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
362
369
  created_at: z.ZodString;
363
370
  updated_at: z.ZodString;
364
371
  }, z.core.$strip>;
365
- type TriggerResponse = z.infer<typeof triggerResponseSchema>;
366
- /** Trigger + its one-time plaintext webhook secret (create / rotate-secret). */
367
- declare const triggerWithSecretResponseSchema: z.ZodObject<{
372
+ type AutomationResponse = z.infer<typeof automationResponseSchema>;
373
+ /** Automation + its one-time plaintext webhook secret (create / rotate-secret). */
374
+ declare const automationWithSecretResponseSchema: z.ZodObject<{
368
375
  id: z.ZodString;
369
376
  name: z.ZodString;
370
377
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -389,11 +396,10 @@ declare const triggerWithSecretResponseSchema: z.ZodObject<{
389
396
  compaction_preset: z.ZodOptional<z.ZodNullable<z.ZodString>>;
390
397
  pasted_texts: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodUnknown>>>;
391
398
  active_skills: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
392
- file_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
393
- runtime: z.ZodOptional<z.ZodNullable<z.ZodString>>;
394
- timeout_seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
395
- env: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
396
- working_dir_folder_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
399
+ function_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
400
+ method: z.ZodOptional<z.ZodNullable<z.ZodString>>;
401
+ path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
402
+ body: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
397
403
  next_run_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
398
404
  last_fired_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
399
405
  archived_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -401,18 +407,19 @@ declare const triggerWithSecretResponseSchema: z.ZodObject<{
401
407
  updated_at: z.ZodString;
402
408
  secret: z.ZodString;
403
409
  }, z.core.$strip>;
404
- type TriggerWithSecretResponse = z.infer<typeof triggerWithSecretResponseSchema>;
405
- declare const triggerRunResponseSchema: z.ZodObject<{
410
+ type AutomationWithSecretResponse = z.infer<typeof automationWithSecretResponseSchema>;
411
+ declare const automationRunResponseSchema: z.ZodObject<{
406
412
  id: z.ZodString;
407
- trigger_id: z.ZodString;
413
+ automation_id: z.ZodNullable<z.ZodString>;
414
+ automation_name: z.ZodString;
408
415
  success: z.ZodBoolean;
409
416
  error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
410
417
  chat_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
411
418
  execution_run_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
412
419
  fired_at: z.ZodString;
413
420
  }, z.core.$strip>;
414
- type TriggerRunResponse = z.infer<typeof triggerRunResponseSchema>;
415
- declare const triggerCostStatsResponseSchema: z.ZodObject<{
421
+ type AutomationRunResponse = z.infer<typeof automationRunResponseSchema>;
422
+ declare const automationCostStatsResponseSchema: z.ZodObject<{
416
423
  runs_with_cost: z.ZodNumber;
417
424
  total_cost_usd: z.ZodNumber;
418
425
  today_cost_usd: z.ZodNumber;
@@ -421,7 +428,7 @@ declare const triggerCostStatsResponseSchema: z.ZodObject<{
421
428
  last7d_cost_usd: z.ZodNumber;
422
429
  first_fired_at: z.ZodNullable<z.ZodString>;
423
430
  }, z.core.$strip>;
424
- type TriggerCostStatsResponse = z.infer<typeof triggerCostStatsResponseSchema>;
431
+ type AutomationCostStatsResponse = z.infer<typeof automationCostStatsResponseSchema>;
425
432
  declare const notificationResponseSchema: z.ZodObject<{
426
433
  id: z.ZodString;
427
434
  type: z.ZodString;
@@ -920,41 +927,42 @@ interface FunctionInvokeResult {
920
927
  body: unknown;
921
928
  headers?: Record<string, string>;
922
929
  }
923
- type TriggerType = "webhook" | "schedule" | "manual" | string;
924
- type TriggerActionType = "run_code" | "run_chat" | string;
930
+ type TriggerType = "cron" | "webhook";
931
+ type AutomationActionType = "agent-run" | "function-invoke" | "computer-run";
925
932
  /**
926
- * A trigger resource. This is a flat object — every scheduling field
933
+ * An automation resource. This is a flat object — every scheduling field
927
934
  * and every action field lives directly on the row, with no nested
928
935
  * `trigger_config` / `action_config` objects.
929
936
  *
930
- * `agent_id`, `file_id` and `working_dir_folder_id` are resourceIds.
937
+ * `agent_id` and `function_id` are resourceIds.
931
938
  */
932
- /** A trigger resource (flat). Sourced from the crud v1 contract. */
933
- type Trigger = TriggerResponse;
939
+ /** An automation resource (flat). Sourced from the crud v1 contract. */
940
+ type Automation = AutomationResponse;
934
941
  /**
935
- * A trigger plus its one-time webhook `secret`. Returned by
936
- * `POST /v1/triggers` (webhook creation) and `POST /v1/triggers/:id/rotate-secret`.
942
+ * An automation plus its one-time webhook `secret`. Returned by
943
+ * `POST /v1/automations` (webhook creation) and `POST /v1/automations/:id/rotate-secret`.
937
944
  * The plaintext `secret` is only ever echoed on these two responses.
938
945
  */
939
- /** Trigger + one-time webhook secret. Sourced from the crud v1 contract. */
940
- type TriggerWithSecret = TriggerWithSecretResponse;
941
- /** A trigger run record. Sourced from the crud v1 contract. */
942
- type TriggerRun = TriggerRunResponse;
943
- /** Trigger cost aggregates. Sourced from the crud v1 contract. */
944
- type TriggerCostStats = TriggerCostStatsResponse;
946
+ /** Automation + one-time webhook secret. Sourced from the crud v1 contract. */
947
+ type AutomationWithSecret = AutomationWithSecretResponse;
948
+ /** An automation run record. Sourced from the crud v1 contract. */
949
+ type AutomationRun = AutomationRunResponse;
950
+ /** Automation cost aggregates. Sourced from the crud v1 contract. */
951
+ type AutomationCostStats = AutomationCostStatsResponse;
945
952
  /**
946
- * Create-trigger request body — flat, mirrors the `Trigger` shape. The
953
+ * Create-automation request body — flat, mirrors the `Automation` shape. The
947
954
  * required fields depend on `trigger_type` / `action_type` (a schedule
948
- * trigger needs `cron_expression`; a `run_code` action needs `file_id`;
949
- * a `run_chat` action needs `prompt_template` or `agent_id`). The server
955
+ * automation needs `cron_expression`; an `agent-run` action needs
956
+ * `prompt_template` and `agent_id`; a `function-invoke` action needs
957
+ * `function_id`). The server
950
958
  * validates the combination.
951
959
  */
952
- interface CreateTriggerInput {
960
+ interface CreateAutomationInput {
953
961
  name: string;
954
962
  description?: string;
955
963
  enabled?: boolean;
956
964
  trigger_type: TriggerType;
957
- action_type: TriggerActionType;
965
+ action_type: AutomationActionType;
958
966
  cron_expression?: string;
959
967
  cron_timezone?: string;
960
968
  agent_id?: string;
@@ -972,14 +980,13 @@ interface CreateTriggerInput {
972
980
  compaction_preset?: string;
973
981
  pasted_texts?: unknown[];
974
982
  active_skills?: string[];
975
- file_id?: string;
976
- runtime?: string;
977
- timeout_seconds?: number;
978
- env?: Record<string, string>;
979
- working_dir_folder_id?: string;
980
- }
981
- /** Update-trigger request body — every create field plus `agent_id` is patchable. */
982
- type UpdateTriggerInput = Partial<CreateTriggerInput>;
983
+ function_id?: string;
984
+ method?: string;
985
+ path?: string;
986
+ body?: unknown;
987
+ }
988
+ /** Update-automation request body — every create field plus `agent_id` is patchable. */
989
+ type UpdateAutomationInput = Partial<CreateAutomationInput>;
983
990
  /**
984
991
  * Modality bucket a model belongs to. Every model row across `/v1/models`,
985
992
  * `/v1/audio/models`, `/v1/images/models` and `/v1/videos/models` carries
@@ -1853,4 +1860,4 @@ declare class DataFolder {
1853
1860
  private rebuildNameCache;
1854
1861
  }
1855
1862
 
1856
- export { type FunctionResource as $, type AiGatewayProvider as A, type BlobObject as B, type CallOptions as C, type DataStore as D, type ComputerLoggingLevel as E, type File as F, type ComputerPort as G, type HttpContext as H, type ComputerServerInfo as I, type ComputerState as J, type ComputerType as K, type ComputerUser as L, type CreateTriggerInput as M, type DataCreateFolderInput as N, type OperationHandle as O, DataFolder as P, type DataUploadInput as Q, type DatastoreEntry as R, type EscalateRequest as S, type ExecutionBackend as T, type ExecutionRun as U, type VideoModel as V, type WriteOptions as W, type ExecutionRunStatus as X, type FileList as Y, type FunctionDeployment as Z, type FunctionInvokeResult as _, type AiGatewayUsageRow as a, type TriggerActionType as a$, type FunctionRun as a0, type HttpRequest as a1, type ImageGenerationResult as a2, type ImageModel as a3, type ImageModelPricing as a4, type LLMModel as a5, type LLMModelCapabilities as a6, type LLMModelPricing as a7, type ListEnvelope as a8, type ManagedProviderPreset as a9, type RuntimeMode as aA, type SearchResult as aB, type Secret as aC, type SecretWithValue as aD, type SendMessageResult as aE, type Settings as aF, type SftpEntry as aG, type Share as aH, type ShareDeletedResult as aI, type SharePermission as aJ, type ShareResourceType as aK, type SharedWithMeItem as aL, type SingleEnvelope as aM, type SpeechResult as aN, type SpeechStreamEvent as aO, type StoreInstallResult as aP, type StoreItem as aQ, type StoreItemType as aR, type StoredCredential as aS, type Subscription as aT, type SubscriptionPlan as aU, type TableCollection as aV, type TableRecord as aW, type TmuxWindow as aX, type TranscriptionResult as aY, type TranscriptionStreamEvent as aZ, type Trigger as a_, type Message as aa, type MessageCostEntry as ab, type MessageCosts as ac, type ModelBase as ad, type ModelModality as ae, type Notification as af, type NotificationConfig as ag, type NotificationPreference as ah, type NotificationSenderKind as ai, type Pagination as aj, type Permission as ak, type ProviderEndpoint as al, type ProviderEndpointConnectionType as am, type ProviderEndpointKind as an, type ProviderEndpointModality as ao, type ProviderEndpointModelMapping as ap, type ProviderEndpointProtocol as aq, type ProviderEndpointProviderKey as ar, type ProviderEndpointRuntime as as, type ProviderEndpointTestResult as at, type ProviderEndpointTransport as au, type ProviderEndpointVisibility as av, type QueryInput as aw, RemoteBundleReader as ax, type RepromptResult as ay, type RunCostMetrics as az, type VideoModelSearchResult as b, type TriggerCostStats as b0, type TriggerRun as b1, type TriggerType as b2, type TriggerWithSecret as b3, type TtsVoice as b4, type TtsVoiceGender as b5, type UpdateTriggerInput as b6, type UsageRecord as b7, type UsageSummary as b8, type User as b9, type VideoModelCapabilities as ba, type VideoModelPricing as bb, type VideoModelRate as bc, type VideoModelSearchItem as bd, type WebSearchHit as be, type WebSearchResponse as bf, type Workspace as bg, type WorkspaceInvitation as bh, type WorkspaceMember as bi, type WorkspaceMemberRole as bj, buildUrl as bk, request as bl, requestRaw as bm, type VideoGenerationResult as c, type DeletedResponse as d, type DataStoreUploadInput as e, type FileUploadResult as f, type DataStoreCreateFolderInput as g, type ConnectOptions as h, type Agent as i, type AgentRun as j, type AgentRunState as k, type ApiKey as l, AppFolder as m, type AudioModel as n, type AudioModelCapabilities as o, type AudioModelPricing as p, type AuthMode as q, type BundleReader as r, type Chat as s, type ChatCost as t, type ChatCostByCallType as u, type ChatStopResult as v, type ClientMeta as w, type Computer as x, type ComputerEnvVar as y, type ComputerExecResult as z };
1863
+ export { type ExecutionRun as $, type AiGatewayProvider as A, type BlobObject as B, type CallOptions as C, type DataStore as D, type ChatStopResult as E, type File as F, type ClientMeta as G, type HttpContext as H, type Computer as I, type ComputerEnvVar as J, type ComputerExecResult as K, type ComputerLoggingLevel as L, type ComputerPort as M, type ComputerServerInfo as N, type OperationHandle as O, type ComputerState as P, type ComputerType as Q, type ComputerUser as R, type CreateAutomationInput as S, type DataCreateFolderInput as T, DataFolder as U, type VideoModel as V, type WriteOptions as W, type DataUploadInput as X, type DatastoreEntry as Y, type EscalateRequest as Z, type ExecutionBackend as _, type AiGatewayUsageRow as a, type TableRecord as a$, type ExecutionRunStatus as a0, type FileList as a1, type FunctionDeployment as a2, type FunctionInvokeResult as a3, type FunctionResource as a4, type FunctionRun as a5, type HttpRequest as a6, type ImageGenerationResult as a7, type ImageModel as a8, type ImageModelPricing as a9, type ProviderEndpointVisibility as aA, type QueryInput as aB, RemoteBundleReader as aC, type RepromptResult as aD, type RunCostMetrics as aE, type RuntimeMode as aF, type SearchResult as aG, type Secret as aH, type SecretWithValue as aI, type SendMessageResult as aJ, type Settings as aK, type SftpEntry as aL, type Share as aM, type ShareDeletedResult as aN, type SharePermission as aO, type ShareResourceType as aP, type SharedWithMeItem as aQ, type SingleEnvelope as aR, type SpeechResult as aS, type SpeechStreamEvent as aT, type StoreInstallResult as aU, type StoreItem as aV, type StoreItemType as aW, type StoredCredential as aX, type Subscription as aY, type SubscriptionPlan as aZ, type TableCollection as a_, type LLMModel as aa, type LLMModelCapabilities as ab, type LLMModelPricing as ac, type ListEnvelope as ad, type ManagedProviderPreset as ae, type Message as af, type MessageCostEntry as ag, type MessageCosts as ah, type ModelBase as ai, type ModelModality as aj, type Notification as ak, type NotificationConfig as al, type NotificationPreference as am, type NotificationSenderKind as an, type Pagination as ao, type Permission as ap, type ProviderEndpoint as aq, type ProviderEndpointConnectionType as ar, type ProviderEndpointKind as as, type ProviderEndpointModality as at, type ProviderEndpointModelMapping as au, type ProviderEndpointProtocol as av, type ProviderEndpointProviderKey as aw, type ProviderEndpointRuntime as ax, type ProviderEndpointTestResult as ay, type ProviderEndpointTransport as az, type VideoModelSearchResult as b, type TmuxWindow as b0, type TranscriptionResult as b1, type TranscriptionStreamEvent as b2, type TriggerType as b3, type TtsVoice as b4, type TtsVoiceGender as b5, type UpdateAutomationInput as b6, type UsageRecord as b7, type UsageSummary as b8, type User as b9, type VideoModelCapabilities as ba, type VideoModelPricing as bb, type VideoModelRate as bc, type VideoModelSearchItem as bd, type WebSearchHit as be, type WebSearchResponse as bf, type Workspace as bg, type WorkspaceInvitation as bh, type WorkspaceMember as bi, type WorkspaceMemberRole as bj, buildUrl as bk, request as bl, requestRaw as bm, type VideoGenerationResult as c, type DeletedResponse as d, type DataStoreUploadInput as e, type FileUploadResult as f, type DataStoreCreateFolderInput as g, type ConnectOptions as h, type Agent as i, type AgentRun as j, type AgentRunState as k, type ApiKey as l, AppFolder as m, type AudioModel as n, type AudioModelCapabilities as o, type AudioModelPricing as p, type AuthMode as q, type Automation as r, type AutomationActionType as s, type AutomationCostStats as t, type AutomationRun as u, type AutomationWithSecret as v, type BundleReader as w, type Chat as x, type ChatCost as y, type ChatCostByCallType as z };