@mastra/client-js 1.30.0 → 1.30.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # @mastra/client-js
2
2
 
3
+ ## 1.30.1-alpha.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`3ffb8b7`](https://github.com/mastra-ai/mastra/commit/3ffb8b720e90f5e6977129ec1f6707d43c2bebe0), [`5ea76a7`](https://github.com/mastra-ai/mastra/commit/5ea76a723d966c72da9aa3ab30ae20276e049765), [`6445560`](https://github.com/mastra-ai/mastra/commit/6445560327045d20b239585fc63fed72e9ce36ec), [`a2ba369`](https://github.com/mastra-ai/mastra/commit/a2ba369e796dfab610f41c6875965b488272fa55), [`ae51e81`](https://github.com/mastra-ai/mastra/commit/ae51e818825582d42500338dfc1929a082eff0ba), [`6f304ef`](https://github.com/mastra-ai/mastra/commit/6f304ef319e99725e884bdb8d3193c001b6e5964)]:
8
+ - @mastra/core@1.50.0-alpha.1
9
+
10
+ ## 1.30.1-alpha.0
11
+
12
+ ### Patch Changes
13
+
14
+ - Added workspace-level provider registry to MastraEditor. You can now register WorkspaceProvider factories that build complete Workspace instances as a single unit, instead of composing from separate filesystem and sandbox providers. Stored agents can reference a workspace provider via `{ type: 'provider', provider: 'my-cloud', config: { ... } }` and the editor will call the registered factory during agent hydration. ([#18781](https://github.com/mastra-ai/mastra/pull/18781))
15
+
16
+ ```ts
17
+ import { MastraEditor } from '@mastra/editor';
18
+ import { Workspace } from '@mastra/core/workspace';
19
+
20
+ const editor = new MastraEditor({
21
+ workspaces: {
22
+ 'my-cloud': {
23
+ id: 'my-cloud',
24
+ name: 'My Cloud Workspace',
25
+ createWorkspace: config =>
26
+ new Workspace({
27
+ id: 'cloud-ws',
28
+ name: 'Cloud WS',
29
+ filesystem: new MyCloudFilesystem(config),
30
+ sandbox: new MyCloudSandbox(config),
31
+ }),
32
+ },
33
+ },
34
+ });
35
+
36
+ // Stored agent workspace reference using the provider:
37
+ // { type: 'provider', provider: 'my-cloud', config: { region: 'us-east-1' } }
38
+ ```
39
+
40
+ - Updated dependencies [[`6ef59fe`](https://github.com/mastra-ai/mastra/commit/6ef59fef1da52ed8da5fbb2a892c71cf4fb6c739), [`e2b9f33`](https://github.com/mastra-ai/mastra/commit/e2b9f33456fd638eca555f9466c6519d8d049666)]:
41
+ - @mastra/core@1.50.0-alpha.0
42
+
3
43
  ## 1.30.0
4
44
 
5
45
  ### Minor Changes
@@ -3,7 +3,7 @@ name: mastra-client-js
3
3
  description: Documentation for @mastra/client-js. Use when working with @mastra/client-js APIs, configuration, or implementation.
4
4
  metadata:
5
5
  package: "@mastra/client-js"
6
- version: "1.30.0"
6
+ version: "1.30.1-alpha.1"
7
7
  ---
8
8
 
9
9
  ## When to use
@@ -17,9 +17,9 @@ Read the individual reference documents for detailed explanations and code examp
17
17
  ### Docs
18
18
 
19
19
  - [A2A](references/docs-agents-a2a.md) - Expose and call remote Mastra agents over the Agent-to-Agent protocol.
20
- - [Heartbeats](references/docs-agents-heartbeats.md) - Run an agent on a cron schedule to deliver a recurring prompt, with optional thread delivery and lifecycle hooks.
21
- - [Signals](references/docs-agents-signals.md) - Learn how to send real-time messages and context into a Mastra agent thread.
22
20
  - [Editor overview](references/docs-editor-overview.md) - Let non-technical team members iterate on agents, version every change, and run experiments without redeploying.
21
+ - [Heartbeats](references/docs-long-running-agents-heartbeats.md) - Run an agent on a cron schedule to deliver a recurring prompt, with optional thread delivery and lifecycle hooks.
22
+ - [Signals](references/docs-long-running-agents-signals.md) - Learn how to send real-time messages and context into a Mastra agent thread.
23
23
  - [Auth0](references/docs-server-auth-auth0.md) - Documentation for the @mastra/auth-auth0 package, which authenticates Mastra applications using Auth0 authentication.
24
24
  - [Clerk](references/docs-server-auth-clerk.md) - Documentation for the `@mastra/auth-clerk` package, which authenticates Mastra applications using Clerk authentication.
25
25
  - [Firebase](references/docs-server-auth-firebase.md) - Documentation for the `@mastra/auth-firebase` package, which authenticates Mastra applications using Firebase Authentication.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.30.0",
2
+ "version": "1.30.1-alpha.1",
3
3
  "package": "@mastra/client-js",
4
4
  "exports": {
5
5
  "RequestContext": {
@@ -6,7 +6,7 @@
6
6
 
7
7
  > **Beta:** This feature is in beta. Breaking changes may occur without a major version bump until the API is stable.
8
8
 
9
- A heartbeat runs an agent on a cron schedule. On each fire, Mastra sends a prompt to the agent, either as a [signal](https://mastra.ai/docs/agents/signals) into a thread or as a threadless `agent.generate()` run. Use heartbeats for recurring agent work such as daily summaries, periodic checks, or scheduled nudges into a conversation.
9
+ A heartbeat runs an agent on a cron schedule. On each fire, Mastra sends a prompt to the agent, either as a [signal](https://mastra.ai/docs/long-running-agents/signals) into a thread or as a threadless `agent.generate()` run. Use heartbeats for recurring agent work such as daily summaries, periodic checks, or scheduled nudges into a conversation.
10
10
 
11
11
  Heartbeats are persisted, so they survive restarts and redeploys. Manage them at runtime through `mastra.heartbeats`, the canonical create, read, update, and delete (CRUD) surface.
12
12
 
@@ -73,7 +73,7 @@ Without a `threadId`, each fire is an isolated `agent.generate()` run. Nothing i
73
73
 
74
74
  ### Threaded
75
75
 
76
- With a `threadId`, the heartbeat sends a [signal](https://mastra.ai/docs/agents/signals) into that thread, so the prompt joins the agent's conversation. Threaded heartbeats require a `resourceId` alongside the `threadId`.
76
+ With a `threadId`, the heartbeat sends a [signal](https://mastra.ai/docs/long-running-agents/signals) into that thread, so the prompt joins the agent's conversation. Threaded heartbeats require a `resourceId` alongside the `threadId`.
77
77
 
78
78
  ```typescript
79
79
  await mastra.heartbeats.create({
@@ -85,9 +85,9 @@ await mastra.heartbeats.create({
85
85
  })
86
86
  ```
87
87
 
88
- Threaded heartbeats accept extra fields that control how the signal behaves. They mirror the options [`agent.sendSignal`](https://mastra.ai/docs/agents/signals) accepts and stay JSON-serializable so they persist with the schedule.
88
+ Threaded heartbeats accept extra fields that control how the signal behaves. They mirror the options [`agent.sendSignal`](https://mastra.ai/docs/long-running-agents/signals) accepts and stay JSON-serializable so they persist with the schedule.
89
89
 
90
- - `signalType`: the [signal type](https://mastra.ai/docs/agents/signals) to send, for example `notification` or `system-reminder`. Defaults to `notification`.
90
+ - `signalType`: the [signal type](https://mastra.ai/docs/long-running-agents/signals) to send, for example `notification` or `system-reminder`. Defaults to `notification`.
91
91
  - `tagName`: the XML tag the signal renders as. Defaults to `heartbeat`, so a fire surfaces to the agent as `<heartbeat>…</heartbeat>`.
92
92
  - `attributes`: values rendered onto the signal's XML tag.
93
93
  - `ifActive`: behavior when the thread is already streaming, as `{ behavior, attributes }`. `behavior` is one of `deliver`, `persist`, or `discard`.
@@ -209,5 +209,5 @@ Hook exceptions are caught and logged. They never re-route the worker or trigger
209
209
 
210
210
  ## Related
211
211
 
212
- - [Signals](https://mastra.ai/docs/agents/signals): the delivery mechanism behind threaded heartbeats.
212
+ - [Signals](https://mastra.ai/docs/long-running-agents/signals): the delivery mechanism behind threaded heartbeats.
213
213
  - [Scheduled workflows](https://mastra.ai/docs/workflows/scheduled-workflows): run a workflow, rather than an agent, on a cron schedule.
@@ -44,7 +44,7 @@ export default function Chat() {
44
44
 
45
45
  **messages** (`MessageListInput`): Messages to convert. Can be a string, array of strings, a single message object, or an array of message objects in any supported format.
46
46
 
47
- **options.version** (`'v5' | 'v6'`): Selects the AI SDK message type to return. Omit it or pass \`'v5'\` for the existing default behavior. Pass \`'v6'\` when your app is typed against AI SDK v6 \`useChat()\` message types.
47
+ **options.version** (`'v5' | 'v6'`): Selects the AI SDK message type to return. Omit it or pass 'v5' for the existing default behavior. Pass 'v6' when your app is typed against AI SDK v6 useChat() message types.
48
48
 
49
49
  ## Returns
50
50
 
@@ -64,7 +64,7 @@ The first parameter is the Mastra stream to convert. It can be one of:
64
64
 
65
65
  The second parameter is an options object:
66
66
 
67
- **version** (`'v5' | 'v6'`): Selects the AI SDK stream contract to emit. Omit it or pass \`'v5'\` for the existing default behavior. Pass \`'v6'\` when your app is typed against AI SDK v6 response helpers. (Default: `'v5'`)
67
+ **version** (`'v5' | 'v6'`): Selects the AI SDK stream contract to emit. Omit it or pass 'v5' for the existing default behavior. Pass 'v6' when your app is typed against AI SDK v6 response helpers. (Default: `'v5'`)
68
68
 
69
69
  **from** (`'agent' | 'network' | 'workflow'`): The type of Mastra stream being converted. (Default: `'agent'`)
70
70
 
@@ -237,21 +237,21 @@ await agent.sendSignal({
237
237
 
238
238
  Returns `{ accepted: true, runId: string }`.
239
239
 
240
- **signal** (`{ type: 'user' | 'reactive' | 'notification' | string; tagName?: string; contents: string | Array<TextPart | FilePart>; attributes?: Record<string, JSONValue>; metadata?: Record<string, unknown>; providerOptions?: ProviderMetadata }`): Lower-level signal payload. Use \`type\` for the semantic signal category and \`tagName\` for the XML tag shown to the model. \`providerOptions\` is attached to the resulting prompt turn and persisted on the stored signal message.
240
+ **signal** (`{ type: 'user' | 'reactive' | 'notification' | string; tagName?: string; contents: string | Array<TextPart | FilePart>; attributes?: Record<string, JSONValue>; metadata?: Record<string, unknown>; providerOptions?: ProviderMetadata }`): Lower-level signal payload. Use type for the semantic signal category and tagName for the XML tag shown to the model. providerOptions is attached to the resulting prompt turn and persisted on the stored signal message.
241
241
 
242
242
  **runId** (`string`): Run ID to target directly.
243
243
 
244
- **resourceId** (`string`): Resource ID for the memory thread. Use with \`threadId\` for thread-targeted signals.
244
+ **resourceId** (`string`): Resource ID for the memory thread. Use with threadId for thread-targeted signals.
245
245
 
246
- **threadId** (`string`): Thread ID to target. Use with \`resourceId\` for thread-targeted signals.
246
+ **threadId** (`string`): Thread ID to target. Use with resourceId for thread-targeted signals.
247
247
 
248
- **ifActive.behavior** (`'deliver' | 'persist' | 'discard'`): Controls what happens when the target thread is active. Defaults to \`deliver\`.
248
+ **ifActive.behavior** (`'deliver' | 'persist' | 'discard'`): Controls what happens when the target thread is active. Defaults to deliver.
249
249
 
250
250
  **ifActive.attributes** (`Record<string, string | number | boolean>`): Attributes merged into the signal when Mastra accepts it while the target thread is active.
251
251
 
252
- **ifIdle.behavior** (`'wake' | 'persist' | 'discard'`): Controls what happens when the target thread is idle. Defaults to \`wake\`.
252
+ **ifIdle.behavior** (`'wake' | 'persist' | 'discard'`): Controls what happens when the target thread is idle. Defaults to wake.
253
253
 
254
- **ifIdle.streamOptions** (`Omit<AgentExecutionOptions, 'messages'>`): Options for the stream that starts when \`ifIdle.behavior\` is \`wake\`.
254
+ **ifIdle.streamOptions** (`Omit<AgentExecutionOptions, 'messages'>`): Options for the stream that starts when ifIdle.behavior is wake.
255
255
 
256
256
  **ifIdle.attributes** (`Record<string, string | number | boolean>`): Attributes merged into the signal when Mastra accepts it while the target thread is idle.
257
257
 
@@ -281,11 +281,11 @@ await subscription.processDataStream({
281
281
 
282
282
  **threadId** (`string`): Thread ID to subscribe to.
283
283
 
284
- **processDataStream().reconnect** (`boolean | { maxRetries?: number; delayMs?: number }`): Reconnects the subscription stream after it closes or a reconnect request fails. \`true\` retries indefinitely with a one-second delay.
284
+ **processDataStream().reconnect** (`boolean | { maxRetries?: number; delayMs?: number }`): Reconnects the subscription stream after it closes or a reconnect request fails. true retries indefinitely with a one-second delay.
285
285
 
286
286
  ### `streamUntilIdle()`
287
287
 
288
- Stream a response and keep the stream open until every [background task](https://mastra.ai/docs/agents/background-tasks) dispatched during the run completes. The server re-enters the agentic loop on each task completion so the LLM can react to results in the same call. Requires background tasks to be [enabled on the Mastra instance](https://mastra.ai/reference/configuration) and a memory thread; otherwise the call falls through to a plain `stream()`.
288
+ Stream a response and keep the stream open until every [background task](https://mastra.ai/docs/long-running-agents/background-tasks) dispatched during the run completes. The server re-enters the agentic loop on each task completion so the LLM can react to results in the same call. Requires background tasks to be [enabled on the Mastra instance](https://mastra.ai/reference/configuration) and a memory thread; otherwise the call falls through to a plain `stream()`.
289
289
 
290
290
  ```typescript
291
291
  const response = await agent.streamUntilIdle('Research solana for me', {
@@ -307,7 +307,7 @@ response.processDataStream({
307
307
 
308
308
  ### `resumeStreamUntilIdle()`
309
309
 
310
- Resume a suspended agent stream with custom data and keep the stream open until every [background task](https://mastra.ai/docs/agents/background-tasks) dispatched during the run completes. Use this to continue execution after a suspension point, such as a workflow suspend within an agent. Requires background tasks to be [enabled on the Mastra instance](https://mastra.ai/reference/configuration) and a memory thread; otherwise the call falls through to a plain `resumeStream()`:
310
+ Resume a suspended agent stream with custom data and keep the stream open until every [background task](https://mastra.ai/docs/long-running-agents/background-tasks) dispatched during the run completes. Use this to continue execution after a suspension point, such as a workflow suspend within an agent. Requires background tasks to be [enabled on the Mastra instance](https://mastra.ai/reference/configuration) and a memory thread; otherwise the call falls through to a plain `resumeStream()`:
311
311
 
312
312
  ```typescript
313
313
  const response = await agent.resumeStreamUntilIdle(
@@ -57,7 +57,7 @@ You can also pass `requestContext` as a `Record<string, any>`.
57
57
 
58
58
  **getAgent(agentId)** (`Agent`): Retrieves a specific agent instance by ID.
59
59
 
60
- **listMemoryThreads(params)** (`Promise<StorageThreadType[]>`): Retrieves memory threads for the specified resource and agent. Requires a \`resourceId\` and an \`agentId\`.
60
+ **listMemoryThreads(params)** (`Promise<StorageThreadType[]>`): Retrieves memory threads for the specified resource and agent. Requires a resourceId and an agentId.
61
61
 
62
62
  **createMemoryThread(params)** (`Promise<MemoryThread>`): Creates a new memory thread with the given parameters.
63
63
 
@@ -75,13 +75,13 @@ You can also pass `requestContext` as a `Record<string, any>`.
75
75
 
76
76
  **getWorkflow(workflowId)** (`Workflow`): Retrieves a specific workflow instance by ID.
77
77
 
78
- **getAgentBuilderActions()** (`Promise<Record<string, WorkflowInfo>>`): Returns all available Agent Builder actions. See \[Agent Builder API]\(/reference/client-js/agent-builder).
78
+ **getAgentBuilderActions()** (`Promise<Record<string, WorkflowInfo>>`): Returns all available Agent Builder actions. See Agent Builder API.
79
79
 
80
- **getAgentBuilderAction(actionId)** (`AgentBuilder`): Retrieves an Agent Builder action by ID. See \[Agent Builder API]\(/reference/client-js/agent-builder).
80
+ **getAgentBuilderAction(actionId)** (`AgentBuilder`): Retrieves an Agent Builder action by ID. See Agent Builder API.
81
81
 
82
- **responses** (`Responses`): Provides OpenAI-style Responses API helpers with \`create()\`, \`retrieve()\`, \`stream()\`, and \`delete()\`.
82
+ **responses** (`Responses`): Provides OpenAI-style Responses API helpers with create(), retrieve(), stream(), and delete().
83
83
 
84
- **conversations** (`Conversations`): Provides conversation helpers with \`create()\`, \`retrieve()\`, \`delete()\`, and \`items.list()\`.
84
+ **conversations** (`Conversations`): Provides conversation helpers with create(), retrieve(), delete(), and items.list().
85
85
 
86
86
  **getVector(vectorName)** (`MastraVector`): Returns a vector store instance by name.
87
87
 
@@ -196,15 +196,15 @@ The returned response object includes:
196
196
 
197
197
  ## Parameters
198
198
 
199
- **agent\_id** (`string`): Required on initial requests. Selects the Mastra agent that executes the request. Stored follow-up turns can omit it when continuing with \`previous\_response\_id\`.
199
+ **agent\_id** (`string`): Required on initial requests. Selects the Mastra agent that executes the request. Stored follow-up turns can omit it when continuing with previous\_response\_id.
200
200
 
201
- **model** (`string`): Optional model override for this request, such as \`openai/gpt-5\`. If omitted, Mastra uses the model configured on the selected agent.
201
+ **model** (`string`): Optional model override for this request, such as openai/gpt-5. If omitted, Mastra uses the model configured on the selected agent.
202
202
 
203
203
  **input** (`string | Array<{ role: 'system' | 'developer' | 'user' | 'assistant'; content: string | Array<{ type: 'input_text' | 'text' | 'output_text'; text: string }> }>`): Required. Input text or message array for the response.
204
204
 
205
205
  **instructions** (`string`): Optional instruction override for this request.
206
206
 
207
- **text** (`{ format: { type: 'json_object' } | { type: 'json_schema'; name: string; schema: Record<string, unknown>; description?: string; strict?: boolean } }`): Optional text output format. Use \`json\_object\` for JSON mode or \`json\_schema\` for schema-constrained structured output.
207
+ **text** (`{ format: { type: 'json_object' } | { type: 'json_schema'; name: string; schema: Record<string, unknown>; description?: string; strict?: boolean } }`): Optional text output format. Use json\_object for JSON mode or json\_schema for schema-constrained structured output.
208
208
 
209
209
  **providerOptions** (`Record<string, Record<string, unknown> | undefined>`): Optional provider-specific options passed through to the underlying model call.
210
210
 
@@ -2223,6 +2223,14 @@ export type PostAgentsAgentIdClone_Response = {
2223
2223
  /** Operation timeout in milliseconds */
2224
2224
  operationTimeout?: number | undefined;
2225
2225
  };
2226
+ } | {
2227
+ type: 'provider';
2228
+ /** Workspace provider identifier */
2229
+ provider: string;
2230
+ /** Provider-specific configuration */
2231
+ config: {
2232
+ [key: string]: unknown;
2233
+ };
2226
2234
  }) | {
2227
2235
  value: {
2228
2236
  type: 'id';
@@ -2314,6 +2322,14 @@ export type PostAgentsAgentIdClone_Response = {
2314
2322
  /** Operation timeout in milliseconds */
2315
2323
  operationTimeout?: number | undefined;
2316
2324
  };
2325
+ } | {
2326
+ type: 'provider';
2327
+ /** Workspace provider identifier */
2328
+ provider: string;
2329
+ /** Provider-specific configuration */
2330
+ config: {
2331
+ [key: string]: unknown;
2332
+ };
2317
2333
  };
2318
2334
  rules?: {
2319
2335
  operator: 'AND' | 'OR';
@@ -16283,6 +16299,14 @@ export type GetStoredAgents_Response = {
16283
16299
  /** Operation timeout in milliseconds */
16284
16300
  operationTimeout?: number | undefined;
16285
16301
  };
16302
+ } | {
16303
+ type: 'provider';
16304
+ /** Workspace provider identifier */
16305
+ provider: string;
16306
+ /** Provider-specific configuration */
16307
+ config: {
16308
+ [key: string]: unknown;
16309
+ };
16286
16310
  }) | {
16287
16311
  value: {
16288
16312
  type: 'id';
@@ -16374,6 +16398,14 @@ export type GetStoredAgents_Response = {
16374
16398
  /** Operation timeout in milliseconds */
16375
16399
  operationTimeout?: number | undefined;
16376
16400
  };
16401
+ } | {
16402
+ type: 'provider';
16403
+ /** Workspace provider identifier */
16404
+ provider: string;
16405
+ /** Provider-specific configuration */
16406
+ config: {
16407
+ [key: string]: unknown;
16408
+ };
16377
16409
  };
16378
16410
  rules?: {
16379
16411
  operator: 'AND' | 'OR';
@@ -18489,6 +18521,14 @@ export type PostStoredAgentsStoredAgentIdExport_Body = {
18489
18521
  /** Operation timeout in milliseconds */
18490
18522
  operationTimeout?: number | undefined;
18491
18523
  };
18524
+ } | {
18525
+ type: 'provider';
18526
+ /** Workspace provider identifier */
18527
+ provider: string;
18528
+ /** Provider-specific configuration */
18529
+ config: {
18530
+ [key: string]: unknown;
18531
+ };
18492
18532
  }) | {
18493
18533
  value: {
18494
18534
  type: 'id';
@@ -18580,6 +18620,14 @@ export type PostStoredAgentsStoredAgentIdExport_Body = {
18580
18620
  /** Operation timeout in milliseconds */
18581
18621
  operationTimeout?: number | undefined;
18582
18622
  };
18623
+ } | {
18624
+ type: 'provider';
18625
+ /** Workspace provider identifier */
18626
+ provider: string;
18627
+ /** Provider-specific configuration */
18628
+ config: {
18629
+ [key: string]: unknown;
18630
+ };
18583
18631
  };
18584
18632
  rules?: {
18585
18633
  operator: 'AND' | 'OR';
@@ -20610,6 +20658,14 @@ export type PostStoredAgentsStoredAgentIdChangeRequest_Body = {
20610
20658
  /** Operation timeout in milliseconds */
20611
20659
  operationTimeout?: number | undefined;
20612
20660
  };
20661
+ } | {
20662
+ type: 'provider';
20663
+ /** Workspace provider identifier */
20664
+ provider: string;
20665
+ /** Provider-specific configuration */
20666
+ config: {
20667
+ [key: string]: unknown;
20668
+ };
20613
20669
  }) | {
20614
20670
  value: {
20615
20671
  type: 'id';
@@ -20701,6 +20757,14 @@ export type PostStoredAgentsStoredAgentIdChangeRequest_Body = {
20701
20757
  /** Operation timeout in milliseconds */
20702
20758
  operationTimeout?: number | undefined;
20703
20759
  };
20760
+ } | {
20761
+ type: 'provider';
20762
+ /** Workspace provider identifier */
20763
+ provider: string;
20764
+ /** Provider-specific configuration */
20765
+ config: {
20766
+ [key: string]: unknown;
20767
+ };
20704
20768
  };
20705
20769
  rules?: {
20706
20770
  operator: 'AND' | 'OR';
@@ -22757,6 +22821,14 @@ export type GetStoredAgentsStoredAgentId_Response = {
22757
22821
  /** Operation timeout in milliseconds */
22758
22822
  operationTimeout?: number | undefined;
22759
22823
  };
22824
+ } | {
22825
+ type: 'provider';
22826
+ /** Workspace provider identifier */
22827
+ provider: string;
22828
+ /** Provider-specific configuration */
22829
+ config: {
22830
+ [key: string]: unknown;
22831
+ };
22760
22832
  }) | {
22761
22833
  value: {
22762
22834
  type: 'id';
@@ -22848,6 +22920,14 @@ export type GetStoredAgentsStoredAgentId_Response = {
22848
22920
  /** Operation timeout in milliseconds */
22849
22921
  operationTimeout?: number | undefined;
22850
22922
  };
22923
+ } | {
22924
+ type: 'provider';
22925
+ /** Workspace provider identifier */
22926
+ provider: string;
22927
+ /** Provider-specific configuration */
22928
+ config: {
22929
+ [key: string]: unknown;
22930
+ };
22851
22931
  };
22852
22932
  rules?: {
22853
22933
  operator: 'AND' | 'OR';
@@ -24876,6 +24956,14 @@ export type PostStoredAgents_Body = {
24876
24956
  /** Operation timeout in milliseconds */
24877
24957
  operationTimeout?: number | undefined;
24878
24958
  };
24959
+ } | {
24960
+ type: 'provider';
24961
+ /** Workspace provider identifier */
24962
+ provider: string;
24963
+ /** Provider-specific configuration */
24964
+ config: {
24965
+ [key: string]: unknown;
24966
+ };
24879
24967
  }) | {
24880
24968
  value: {
24881
24969
  type: 'id';
@@ -24967,6 +25055,14 @@ export type PostStoredAgents_Body = {
24967
25055
  /** Operation timeout in milliseconds */
24968
25056
  operationTimeout?: number | undefined;
24969
25057
  };
25058
+ } | {
25059
+ type: 'provider';
25060
+ /** Workspace provider identifier */
25061
+ provider: string;
25062
+ /** Provider-specific configuration */
25063
+ config: {
25064
+ [key: string]: unknown;
25065
+ };
24970
25066
  };
24971
25067
  rules?: {
24972
25068
  operator: 'AND' | 'OR';
@@ -26988,6 +27084,14 @@ export type PostStoredAgents_Response = {
26988
27084
  /** Operation timeout in milliseconds */
26989
27085
  operationTimeout?: number | undefined;
26990
27086
  };
27087
+ } | {
27088
+ type: 'provider';
27089
+ /** Workspace provider identifier */
27090
+ provider: string;
27091
+ /** Provider-specific configuration */
27092
+ config: {
27093
+ [key: string]: unknown;
27094
+ };
26991
27095
  }) | {
26992
27096
  value: {
26993
27097
  type: 'id';
@@ -27079,6 +27183,14 @@ export type PostStoredAgents_Response = {
27079
27183
  /** Operation timeout in milliseconds */
27080
27184
  operationTimeout?: number | undefined;
27081
27185
  };
27186
+ } | {
27187
+ type: 'provider';
27188
+ /** Workspace provider identifier */
27189
+ provider: string;
27190
+ /** Provider-specific configuration */
27191
+ config: {
27192
+ [key: string]: unknown;
27193
+ };
27082
27194
  };
27083
27195
  rules?: {
27084
27196
  operator: 'AND' | 'OR';
@@ -29109,6 +29221,14 @@ export type PatchStoredAgentsStoredAgentId_Body = {
29109
29221
  /** Operation timeout in milliseconds */
29110
29222
  operationTimeout?: number | undefined;
29111
29223
  };
29224
+ } | {
29225
+ type: 'provider';
29226
+ /** Workspace provider identifier */
29227
+ provider: string;
29228
+ /** Provider-specific configuration */
29229
+ config: {
29230
+ [key: string]: unknown;
29231
+ };
29112
29232
  }) | {
29113
29233
  value: {
29114
29234
  type: 'id';
@@ -29200,6 +29320,14 @@ export type PatchStoredAgentsStoredAgentId_Body = {
29200
29320
  /** Operation timeout in milliseconds */
29201
29321
  operationTimeout?: number | undefined;
29202
29322
  };
29323
+ } | {
29324
+ type: 'provider';
29325
+ /** Workspace provider identifier */
29326
+ provider: string;
29327
+ /** Provider-specific configuration */
29328
+ config: {
29329
+ [key: string]: unknown;
29330
+ };
29203
29331
  };
29204
29332
  rules?: {
29205
29333
  operator: 'AND' | 'OR';
@@ -31234,6 +31362,14 @@ export type PatchStoredAgentsStoredAgentId_Response = {
31234
31362
  /** Operation timeout in milliseconds */
31235
31363
  operationTimeout?: number | undefined;
31236
31364
  };
31365
+ } | {
31366
+ type: 'provider';
31367
+ /** Workspace provider identifier */
31368
+ provider: string;
31369
+ /** Provider-specific configuration */
31370
+ config: {
31371
+ [key: string]: unknown;
31372
+ };
31237
31373
  }) | {
31238
31374
  value: {
31239
31375
  type: 'id';
@@ -31325,6 +31461,14 @@ export type PatchStoredAgentsStoredAgentId_Response = {
31325
31461
  /** Operation timeout in milliseconds */
31326
31462
  operationTimeout?: number | undefined;
31327
31463
  };
31464
+ } | {
31465
+ type: 'provider';
31466
+ /** Workspace provider identifier */
31467
+ provider: string;
31468
+ /** Provider-specific configuration */
31469
+ config: {
31470
+ [key: string]: unknown;
31471
+ };
31328
31472
  };
31329
31473
  rules?: {
31330
31474
  operator: 'AND' | 'OR';