@soat/sdk 0.71.0 → 0.71.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -4149,7 +4149,7 @@ type Generation = {
4149
4149
  */
4150
4150
  trace_id?: string;
4151
4151
  /**
4152
- * Public ID of the generation that triggered this one. Set for sub-agent invocations. Null for top-level generations.
4152
+ * Public ID of the generation that started this one: a sub-agent invocation, an approval continuation, a client-tool re-handoff or a memory-rule handler turn. Null for top-level generations.
4153
4153
  *
4154
4154
  */
4155
4155
  initiator_generation_id?: string | null;
@@ -5495,7 +5495,7 @@ type OrchestrationEdge = {
5495
5495
  */
5496
5496
  activation_group?: string;
5497
5497
  /**
5498
- * Whether all or any edges in the activation group must fire.
5498
+ * Whether all or any edges in the activation group must come from a completed node before the target runs. Omitted, `all`.
5499
5499
  */
5500
5500
  activation_condition?: 'all' | 'any';
5501
5501
  };
@@ -5555,7 +5555,13 @@ type CreateOrchestrationRequest = {
5555
5555
  */
5556
5556
  name: string;
5557
5557
  description?: string | null;
5558
+ /**
5559
+ * The graph's nodes. Each `id` is unique and is what edges and `nodes.<id>` state references name; a node with no incoming edge starts the run.
5560
+ */
5558
5561
  nodes: Array<OrchestrationNode>;
5562
+ /**
5563
+ * Directed edges between node `id`s. Every `from`/`to` must name a node in `nodes`, and the graph must be acyclic unless it contains a `loop` node. A node with several outgoing edges activates every target in parallel. `[]` for a graph of independent nodes.
5564
+ */
5559
5565
  edges: Array<OrchestrationEdge>;
5560
5566
  state_schema?: {
5561
5567
  [key: string]: unknown;
@@ -5572,7 +5578,13 @@ type CreateOrchestrationRequest = {
5572
5578
  type UpdateOrchestrationRequest = {
5573
5579
  name?: string;
5574
5580
  description?: string | null;
5581
+ /**
5582
+ * The graph's nodes. Each `id` is unique and is what edges and `nodes.<id>` state references name; a node with no incoming edge starts the run. Replaces the stored list; omitted, the stored nodes are kept and validated against the new `edges`.
5583
+ */
5575
5584
  nodes?: Array<OrchestrationNode>;
5585
+ /**
5586
+ * Directed edges between node `id`s. Every `from`/`to` must name a node in `nodes`, and the graph must be acyclic unless it contains a `loop` node. A node with several outgoing edges activates every target in parallel. Replaces the stored list; omitted, the stored edges are kept and validated against the new `nodes`.
5587
+ */
5576
5588
  edges?: Array<OrchestrationEdge>;
5577
5589
  state_schema?: {
5578
5590
  [key: string]: unknown;
@@ -5723,13 +5735,13 @@ type OrchestrationRun = {
5723
5735
  */
5724
5736
  node_executions?: Array<NodeExecution>;
5725
5737
  /**
5726
- * What the run cost: token counts and `cost_usd` summed across every metered generation it produced **and every run it started** through `loop` / `sub_orchestration` nodes, at any depth. Present on the single-run read; omitted from run list responses.
5738
+ * What the run cost: token counts and `cost_usd` summed across every metered generation it produced **and every run it started** through `loop` / `sub_orchestration` nodes, at any depth. Present only on the single-run read (`GET /api/v1/orchestration-runs/{orchestration_run_id}`); omitted from run lists and from every write's response, including a start with `wait: true`.
5727
5739
  *
5728
5740
  * A nested child is a run record of its own, so this figure spans several of them. Two consequences: summing `usage` across a list that mixes parents and children double-counts (filter with `nested=false`), and the per-event receipt at `/api/v1/usage/receipt` stays scoped to one run — its line items carry a `node_id` from one graph only.
5729
5741
  */
5730
5742
  usage?: UsageTotals;
5731
5743
  /**
5732
- * The same roll-up restricted to **this run's own nodes**, excluding every nested run it started. Equal to `usage` for a run with no children; below it for a run that delegates. Present on the single-run read; omitted from run list responses.
5744
+ * The same roll-up restricted to **this run's own nodes**, excluding every nested run it started. Equal to `usage` for a run with no children; below it for a run that delegates. Present only on the single-run read, like `usage`.
5733
5745
  *
5734
5746
  * This is the field to read to see where cost sits in a run tree — own versus subtree — without walking the children.
5735
5747
  */
@@ -5893,7 +5905,13 @@ type StartOrchestrationRunRequest = {
5893
5905
  wait?: boolean;
5894
5906
  };
5895
5907
  type ValidateOrchestrationRequest = {
5908
+ /**
5909
+ * The graph's nodes. Each `id` is unique and is what edges and `nodes.<id>` state references name; a node with no incoming edge starts the run. Checked exactly as create checks them, without persisting.
5910
+ */
5896
5911
  nodes?: Array<OrchestrationNode>;
5912
+ /**
5913
+ * Directed edges between node `id`s. Every `from`/`to` must name a node in `nodes`, and the graph must be acyclic unless it contains a `loop` node. A node with several outgoing edges activates every target in parallel. Checked exactly as create checks them, without persisting.
5914
+ */
5897
5915
  edges?: Array<OrchestrationEdge>;
5898
5916
  /**
5899
5917
  * Optional JSON Schema for run inputs; its top-level properties seed state.
@@ -8850,7 +8868,7 @@ type CreateAgentGenerationErrors = {
8850
8868
  */
8851
8869
  409: ErrorResponse;
8852
8870
  /**
8853
- * `SHARE_CAP_EXCEEDED`: the agent is another project's, reached through a share whose `cap` is spent for the window. Carries a `Retry-After` header and `error.meta.retry_after`.
8871
+ * `QUOTA_EXCEEDED`: an `enforce`-mode generation quota is exhausted; `error.meta` carries `quota_id`, `metric`, `limit`, `window` and `resets_at`. `SHARE_CAP_EXCEEDED`: the agent is another project's, reached through a share whose `cap` is spent for the window; `error.meta.retry_after` says when. Both carry a `Retry-After` header.
8854
8872
  */
8855
8873
  429: ErrorResponse;
8856
8874
  /**
@@ -8903,6 +8921,11 @@ type SubmitAgentToolOutputsErrors = {
8903
8921
  * Agent or generation not found
8904
8922
  */
8905
8923
  404: ErrorResponse;
8924
+ /**
8925
+ * The generation is not paused on client tool calls (GENERATION_NOT_AWAITING_TOOL_OUTPUTS): it never paused, or its outputs were already submitted. Each pause accepts outputs once.
8926
+ *
8927
+ */
8928
+ 409: ErrorResponse;
8906
8929
  /**
8907
8930
  * Upstream AI provider error (AI_PROVIDER_ERROR); model output that does not satisfy the agent's `output_schema` (OUTPUT_SCHEMA_VALIDATION_FAILED); or a model that wrote a tool invocation out as plain assistant text instead of calling the tool (TEXT_ENCODED_TOOL_CALL — `meta.tool_name` names the tool). The resumed generation is recorded `failed`.
8908
8931
  *
@@ -10754,6 +10777,10 @@ type GenerateConversationMessageErrors = {
10754
10777
  * Conversation or actor not found
10755
10778
  */
10756
10779
  404: ErrorResponse;
10780
+ /**
10781
+ * `QUOTA_EXCEEDED`: an `enforce`-mode generation quota is exhausted. `error.meta` carries `quota_id`, `metric`, `limit`, `window` and `resets_at`, with a `Retry-After` header. Only with `?wait=true`: a background call is answered `202` before the quota is read.
10782
+ */
10783
+ 429: ErrorResponse;
10757
10784
  /**
10758
10785
  * Streaming not implemented
10759
10786
  */
@@ -14225,7 +14252,7 @@ type ListGenerationsData = {
14225
14252
  */
14226
14253
  actor_id?: string;
14227
14254
  /**
14228
- * Filter by the public ID of the parent generation. Returns all generations triggered by that generation — sub-agent invocations. Null-initiated (top-level) generations are not returned.
14255
+ * Filter by the public ID of the parent generation. Returns every generation started by that generation: sub-agent invocations, approval continuations, client-tool re-handoffs and memory-rule handler turns. Top-level generations are not returned.
14229
14256
  *
14230
14257
  */
14231
14258
  initiator_generation_id?: string;
@@ -18572,6 +18599,10 @@ type AddSessionMessageErrors = {
18572
18599
  * Not found
18573
18600
  */
18574
18601
  404: ErrorResponse;
18602
+ /**
18603
+ * `QUOTA_EXCEEDED`: the session auto-generates and an `enforce`-mode generation quota is exhausted. `error.meta` carries `quota_id`, `metric`, `limit`, `window` and `resets_at`, with a `Retry-After` header. The message is saved. A session with `message_delay_seconds` answers `201` before the quota is read.
18604
+ */
18605
+ 429: ErrorResponse;
18575
18606
  };
18576
18607
  type AddSessionMessageError = AddSessionMessageErrors[keyof AddSessionMessageErrors];
18577
18608
  type AddSessionMessageResponses = {
@@ -18622,6 +18653,10 @@ type GenerateSessionResponseErrors = {
18622
18653
  * Session has expired due to inactivity
18623
18654
  */
18624
18655
  410: ErrorResponse;
18656
+ /**
18657
+ * `QUOTA_EXCEEDED`: an `enforce`-mode generation quota is exhausted. `error.meta` carries `quota_id`, `metric`, `limit`, `window` and `resets_at`, with a `Retry-After` header. Only with `?wait=true`: a background call is answered `202` before the quota is read.
18658
+ */
18659
+ 429: ErrorResponse;
18625
18660
  /**
18626
18661
  * Upstream AI provider error (AI_PROVIDER_ERROR). The error `meta` includes the `generation_id` and `trace_id` of the failed generation for post-mortem debugging via GET /api/v1/generations/{generation_id}.
18627
18662
  *
@@ -18667,6 +18702,11 @@ type SubmitSessionToolOutputsErrors = {
18667
18702
  * Not found
18668
18703
  */
18669
18704
  404: ErrorResponse;
18705
+ /**
18706
+ * The generation is not paused on client tool calls (GENERATION_NOT_AWAITING_TOOL_OUTPUTS): it never paused, or its outputs were already submitted. Each pause accepts outputs once.
18707
+ *
18708
+ */
18709
+ 409: ErrorResponse;
18670
18710
  };
18671
18711
  type SubmitSessionToolOutputsError = SubmitSessionToolOutputsErrors[keyof SubmitSessionToolOutputsErrors];
18672
18712
  type SubmitSessionToolOutputsResponses = {
package/dist/index.d.mts CHANGED
@@ -4149,7 +4149,7 @@ type Generation = {
4149
4149
  */
4150
4150
  trace_id?: string;
4151
4151
  /**
4152
- * Public ID of the generation that triggered this one. Set for sub-agent invocations. Null for top-level generations.
4152
+ * Public ID of the generation that started this one: a sub-agent invocation, an approval continuation, a client-tool re-handoff or a memory-rule handler turn. Null for top-level generations.
4153
4153
  *
4154
4154
  */
4155
4155
  initiator_generation_id?: string | null;
@@ -5495,7 +5495,7 @@ type OrchestrationEdge = {
5495
5495
  */
5496
5496
  activation_group?: string;
5497
5497
  /**
5498
- * Whether all or any edges in the activation group must fire.
5498
+ * Whether all or any edges in the activation group must come from a completed node before the target runs. Omitted, `all`.
5499
5499
  */
5500
5500
  activation_condition?: 'all' | 'any';
5501
5501
  };
@@ -5555,7 +5555,13 @@ type CreateOrchestrationRequest = {
5555
5555
  */
5556
5556
  name: string;
5557
5557
  description?: string | null;
5558
+ /**
5559
+ * The graph's nodes. Each `id` is unique and is what edges and `nodes.<id>` state references name; a node with no incoming edge starts the run.
5560
+ */
5558
5561
  nodes: Array<OrchestrationNode>;
5562
+ /**
5563
+ * Directed edges between node `id`s. Every `from`/`to` must name a node in `nodes`, and the graph must be acyclic unless it contains a `loop` node. A node with several outgoing edges activates every target in parallel. `[]` for a graph of independent nodes.
5564
+ */
5559
5565
  edges: Array<OrchestrationEdge>;
5560
5566
  state_schema?: {
5561
5567
  [key: string]: unknown;
@@ -5572,7 +5578,13 @@ type CreateOrchestrationRequest = {
5572
5578
  type UpdateOrchestrationRequest = {
5573
5579
  name?: string;
5574
5580
  description?: string | null;
5581
+ /**
5582
+ * The graph's nodes. Each `id` is unique and is what edges and `nodes.<id>` state references name; a node with no incoming edge starts the run. Replaces the stored list; omitted, the stored nodes are kept and validated against the new `edges`.
5583
+ */
5575
5584
  nodes?: Array<OrchestrationNode>;
5585
+ /**
5586
+ * Directed edges between node `id`s. Every `from`/`to` must name a node in `nodes`, and the graph must be acyclic unless it contains a `loop` node. A node with several outgoing edges activates every target in parallel. Replaces the stored list; omitted, the stored edges are kept and validated against the new `nodes`.
5587
+ */
5576
5588
  edges?: Array<OrchestrationEdge>;
5577
5589
  state_schema?: {
5578
5590
  [key: string]: unknown;
@@ -5723,13 +5735,13 @@ type OrchestrationRun = {
5723
5735
  */
5724
5736
  node_executions?: Array<NodeExecution>;
5725
5737
  /**
5726
- * What the run cost: token counts and `cost_usd` summed across every metered generation it produced **and every run it started** through `loop` / `sub_orchestration` nodes, at any depth. Present on the single-run read; omitted from run list responses.
5738
+ * What the run cost: token counts and `cost_usd` summed across every metered generation it produced **and every run it started** through `loop` / `sub_orchestration` nodes, at any depth. Present only on the single-run read (`GET /api/v1/orchestration-runs/{orchestration_run_id}`); omitted from run lists and from every write's response, including a start with `wait: true`.
5727
5739
  *
5728
5740
  * A nested child is a run record of its own, so this figure spans several of them. Two consequences: summing `usage` across a list that mixes parents and children double-counts (filter with `nested=false`), and the per-event receipt at `/api/v1/usage/receipt` stays scoped to one run — its line items carry a `node_id` from one graph only.
5729
5741
  */
5730
5742
  usage?: UsageTotals;
5731
5743
  /**
5732
- * The same roll-up restricted to **this run's own nodes**, excluding every nested run it started. Equal to `usage` for a run with no children; below it for a run that delegates. Present on the single-run read; omitted from run list responses.
5744
+ * The same roll-up restricted to **this run's own nodes**, excluding every nested run it started. Equal to `usage` for a run with no children; below it for a run that delegates. Present only on the single-run read, like `usage`.
5733
5745
  *
5734
5746
  * This is the field to read to see where cost sits in a run tree — own versus subtree — without walking the children.
5735
5747
  */
@@ -5893,7 +5905,13 @@ type StartOrchestrationRunRequest = {
5893
5905
  wait?: boolean;
5894
5906
  };
5895
5907
  type ValidateOrchestrationRequest = {
5908
+ /**
5909
+ * The graph's nodes. Each `id` is unique and is what edges and `nodes.<id>` state references name; a node with no incoming edge starts the run. Checked exactly as create checks them, without persisting.
5910
+ */
5896
5911
  nodes?: Array<OrchestrationNode>;
5912
+ /**
5913
+ * Directed edges between node `id`s. Every `from`/`to` must name a node in `nodes`, and the graph must be acyclic unless it contains a `loop` node. A node with several outgoing edges activates every target in parallel. Checked exactly as create checks them, without persisting.
5914
+ */
5897
5915
  edges?: Array<OrchestrationEdge>;
5898
5916
  /**
5899
5917
  * Optional JSON Schema for run inputs; its top-level properties seed state.
@@ -8850,7 +8868,7 @@ type CreateAgentGenerationErrors = {
8850
8868
  */
8851
8869
  409: ErrorResponse;
8852
8870
  /**
8853
- * `SHARE_CAP_EXCEEDED`: the agent is another project's, reached through a share whose `cap` is spent for the window. Carries a `Retry-After` header and `error.meta.retry_after`.
8871
+ * `QUOTA_EXCEEDED`: an `enforce`-mode generation quota is exhausted; `error.meta` carries `quota_id`, `metric`, `limit`, `window` and `resets_at`. `SHARE_CAP_EXCEEDED`: the agent is another project's, reached through a share whose `cap` is spent for the window; `error.meta.retry_after` says when. Both carry a `Retry-After` header.
8854
8872
  */
8855
8873
  429: ErrorResponse;
8856
8874
  /**
@@ -8903,6 +8921,11 @@ type SubmitAgentToolOutputsErrors = {
8903
8921
  * Agent or generation not found
8904
8922
  */
8905
8923
  404: ErrorResponse;
8924
+ /**
8925
+ * The generation is not paused on client tool calls (GENERATION_NOT_AWAITING_TOOL_OUTPUTS): it never paused, or its outputs were already submitted. Each pause accepts outputs once.
8926
+ *
8927
+ */
8928
+ 409: ErrorResponse;
8906
8929
  /**
8907
8930
  * Upstream AI provider error (AI_PROVIDER_ERROR); model output that does not satisfy the agent's `output_schema` (OUTPUT_SCHEMA_VALIDATION_FAILED); or a model that wrote a tool invocation out as plain assistant text instead of calling the tool (TEXT_ENCODED_TOOL_CALL — `meta.tool_name` names the tool). The resumed generation is recorded `failed`.
8908
8931
  *
@@ -10754,6 +10777,10 @@ type GenerateConversationMessageErrors = {
10754
10777
  * Conversation or actor not found
10755
10778
  */
10756
10779
  404: ErrorResponse;
10780
+ /**
10781
+ * `QUOTA_EXCEEDED`: an `enforce`-mode generation quota is exhausted. `error.meta` carries `quota_id`, `metric`, `limit`, `window` and `resets_at`, with a `Retry-After` header. Only with `?wait=true`: a background call is answered `202` before the quota is read.
10782
+ */
10783
+ 429: ErrorResponse;
10757
10784
  /**
10758
10785
  * Streaming not implemented
10759
10786
  */
@@ -14225,7 +14252,7 @@ type ListGenerationsData = {
14225
14252
  */
14226
14253
  actor_id?: string;
14227
14254
  /**
14228
- * Filter by the public ID of the parent generation. Returns all generations triggered by that generation — sub-agent invocations. Null-initiated (top-level) generations are not returned.
14255
+ * Filter by the public ID of the parent generation. Returns every generation started by that generation: sub-agent invocations, approval continuations, client-tool re-handoffs and memory-rule handler turns. Top-level generations are not returned.
14229
14256
  *
14230
14257
  */
14231
14258
  initiator_generation_id?: string;
@@ -18572,6 +18599,10 @@ type AddSessionMessageErrors = {
18572
18599
  * Not found
18573
18600
  */
18574
18601
  404: ErrorResponse;
18602
+ /**
18603
+ * `QUOTA_EXCEEDED`: the session auto-generates and an `enforce`-mode generation quota is exhausted. `error.meta` carries `quota_id`, `metric`, `limit`, `window` and `resets_at`, with a `Retry-After` header. The message is saved. A session with `message_delay_seconds` answers `201` before the quota is read.
18604
+ */
18605
+ 429: ErrorResponse;
18575
18606
  };
18576
18607
  type AddSessionMessageError = AddSessionMessageErrors[keyof AddSessionMessageErrors];
18577
18608
  type AddSessionMessageResponses = {
@@ -18622,6 +18653,10 @@ type GenerateSessionResponseErrors = {
18622
18653
  * Session has expired due to inactivity
18623
18654
  */
18624
18655
  410: ErrorResponse;
18656
+ /**
18657
+ * `QUOTA_EXCEEDED`: an `enforce`-mode generation quota is exhausted. `error.meta` carries `quota_id`, `metric`, `limit`, `window` and `resets_at`, with a `Retry-After` header. Only with `?wait=true`: a background call is answered `202` before the quota is read.
18658
+ */
18659
+ 429: ErrorResponse;
18625
18660
  /**
18626
18661
  * Upstream AI provider error (AI_PROVIDER_ERROR). The error `meta` includes the `generation_id` and `trace_id` of the failed generation for post-mortem debugging via GET /api/v1/generations/{generation_id}.
18627
18662
  *
@@ -18667,6 +18702,11 @@ type SubmitSessionToolOutputsErrors = {
18667
18702
  * Not found
18668
18703
  */
18669
18704
  404: ErrorResponse;
18705
+ /**
18706
+ * The generation is not paused on client tool calls (GENERATION_NOT_AWAITING_TOOL_OUTPUTS): it never paused, or its outputs were already submitted. Each pause accepts outputs once.
18707
+ *
18708
+ */
18709
+ 409: ErrorResponse;
18670
18710
  };
18671
18711
  type SubmitSessionToolOutputsError = SubmitSessionToolOutputsErrors[keyof SubmitSessionToolOutputsErrors];
18672
18712
  type SubmitSessionToolOutputsResponses = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soat/sdk",
3
- "version": "0.71.0",
3
+ "version": "0.71.2",
4
4
  "description": "TypeScript SDK for SOAT — open-source infrastructure for production-ready AI agents.",
5
5
  "keywords": [
6
6
  "ai-agents",