@cubos/agent-sdk 0.0.1154312 → 0.0.1154804

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.
@@ -208,6 +208,7 @@ export declare function agentsApi(t: Transport, tenantSlug: string): {
208
208
  listAutoCallTools: (agentSlug: string, signal?: AbortSignal) => Promise<{
209
209
  available: import("../generated/schema.js").components["schemas"]["AutoCallableTool"][];
210
210
  enabled_mcp_count: number;
211
+ gated?: import("../generated/schema.js").components["schemas"]["GatedAutoCallTool"][];
211
212
  }>;
212
213
  putAutoCallTools: (agentSlug: string, tools: Schemas["AutoCallToolRef"][]) => Promise<void>;
213
214
  };
@@ -1545,7 +1545,7 @@ export interface paths {
1545
1545
  };
1546
1546
  /**
1547
1547
  * List auto-call tools
1548
- * @description Lists every eligible auto-call candidate for the agent, each flagged with whether it is currently selected, plus the count of attached MCPs. A tool is eligible when its MCP is attached, the tool is enabled, present upstream, within the agent's allowlist, and accepts `{}` as input.
1548
+ * @description Lists every eligible auto-call candidate for the agent, each flagged with whether it is currently selected, plus the count of attached MCPs. A tool is eligible when its MCP is attached, the tool is enabled, present upstream, within the agent's allowlist, accepts `{}` as input, and no skill gates it — an auto-call runs before the model can read a skill. A selected tool that a skill gated afterwards is listed under `gated` instead: the harness skips it.
1549
1549
  */
1550
1550
  get: {
1551
1551
  parameters: {
@@ -1591,7 +1591,7 @@ export interface paths {
1591
1591
  };
1592
1592
  /**
1593
1593
  * Replace auto-call tools
1594
- * @description Replaces the agent's entire auto-call selection with the request body, in one transaction. Each entry is checked against the same eligibility rules as the list endpoint; one ineligible entry rejects the whole request with `422`.
1594
+ * @description Replaces the agent's entire auto-call selection with the request body, in one transaction. Each entry is checked against the same eligibility rules as the list endpoint — a tool a skill gates included; one ineligible entry rejects the whole request with `422`, whose body names every refused tool and the first rule it fails.
1595
1595
  */
1596
1596
  put: {
1597
1597
  parameters: {
@@ -1635,12 +1635,14 @@ export interface paths {
1635
1635
  };
1636
1636
  content?: never;
1637
1637
  };
1638
- /** @description One of the tools is not eligible */
1638
+ /** @description One or more tools are not eligible; the body names each and why */
1639
1639
  422: {
1640
1640
  headers: {
1641
1641
  [name: string]: unknown;
1642
1642
  };
1643
- content?: never;
1643
+ content: {
1644
+ "application/json": components["schemas"]["AutoCallToolsRefused"];
1645
+ };
1644
1646
  };
1645
1647
  };
1646
1648
  };
@@ -5041,7 +5043,7 @@ export interface paths {
5041
5043
  put?: never;
5042
5044
  /**
5043
5045
  * Archive conversation
5044
- * @description Soft-archives the conversation by setting `archived_at` and bumping `last_activity_at` so list subscribers see the change. Idempotent: re-archiving keeps the original timestamp and emits no SSE delta.
5046
+ * @description Soft-archives the conversation by setting `archived_at` and bumping `last_activity_at` so list subscribers see the change. Idempotent: re-archiving keeps the original timestamp and emits no SSE delta. An archived conversation takes no new event: a turn running on it is aborted, and what was pending is settled — open client tool calls are closed unanswered, a parent conversation waiting on it gets what it had already said of its reply, marked as cut short, and a knowledge-base curation run it carried is abandoned.
5045
5047
  */
5046
5048
  post: {
5047
5049
  parameters: {
@@ -12510,6 +12512,12 @@ export interface components {
12510
12512
  selected: boolean;
12511
12513
  tool_name: string;
12512
12514
  };
12515
+ /**
12516
+ * @description Why a tool cannot be auto-called. Checked in this order; a refused tool
12517
+ * carries the first that applies.
12518
+ * @enum {string}
12519
+ */
12520
+ AutoCallRefusal: "unknown_mcp" | "unknown_tool" | "mcp_not_attached" | "disabled" | "disappeared" | "not_in_allowlist" | "required_arguments" | "gated";
12513
12521
  AutoCallToolRef: {
12514
12522
  mcp_slug: string;
12515
12523
  tool_name: string;
@@ -12517,7 +12525,8 @@ export interface components {
12517
12525
  AutoCallToolsConfig: {
12518
12526
  /**
12519
12527
  * @description Tools the operator can pick from: enabled MCPs for the agent, in
12520
- * the allowlist if any, present upstream, and accept `{}` as input.
12528
+ * the allowlist if any, present upstream, accept `{}` as input, and
12529
+ * no skill gates them.
12521
12530
  */
12522
12531
  available: components["schemas"]["AutoCallableTool"][];
12523
12532
  /**
@@ -12527,6 +12536,22 @@ export interface components {
12527
12536
  * `available = []` because every tool has required arguments.
12528
12537
  */
12529
12538
  enabled_mcp_count: number;
12539
+ /**
12540
+ * @description Tools in the agent's selection that a skill gated after they were
12541
+ * picked. The harness never calls them: an auto-call runs before the
12542
+ * model can read any skill. They are not in `available`, so the next
12543
+ * save of the selection drops them.
12544
+ */
12545
+ gated?: components["schemas"]["GatedAutoCallTool"][];
12546
+ };
12547
+ /**
12548
+ * @description Body of the `422` that refuses an auto-call selection: every refused tool
12549
+ * and why, plus all of it in one sentence under `error` — the shape the
12550
+ * MCP routes' errors already have.
12551
+ */
12552
+ AutoCallToolsRefused: {
12553
+ error: string;
12554
+ rejected: components["schemas"]["RejectedAutoCallTool"][];
12530
12555
  };
12531
12556
  /**
12532
12557
  * @description One segment of an agent message.
@@ -13853,6 +13878,16 @@ export interface components {
13853
13878
  * @enum {string}
13854
13879
  */
13855
13880
  FinishError: "length" | "content_filter";
13881
+ /**
13882
+ * @description A tool still in the agent's auto-call selection that the harness skips
13883
+ * because a skill gates it.
13884
+ */
13885
+ GatedAutoCallTool: {
13886
+ /** @description Slugs of the MCP's skills that unlock the tool. */
13887
+ gating_skills: string[];
13888
+ mcp_slug: string;
13889
+ tool_name: string;
13890
+ };
13856
13891
  /**
13857
13892
  * @description Returned by the generate/rotate-secret route: the new plaintext, shown
13858
13893
  * only here.
@@ -14711,6 +14746,18 @@ export interface components {
14711
14746
  default: string;
14712
14747
  options: string[];
14713
14748
  };
14749
+ /** @description One tool the `PUT` refused. */
14750
+ RejectedAutoCallTool: {
14751
+ /** @description Slugs of the MCP's skills that unlock the tool, for `gated`. */
14752
+ gating_skills?: string[];
14753
+ mcp_slug: string;
14754
+ /** @description `mcp/tool: why`, in prose, ready to show an operator. */
14755
+ message: string;
14756
+ reason: components["schemas"]["AutoCallRefusal"];
14757
+ /** @description The arguments the tool requires, for `required_arguments`. */
14758
+ required_arguments?: string[];
14759
+ tool_name: string;
14760
+ };
14714
14761
  ReplaceAgentMcpRolesInput: {
14715
14762
  role_slugs: string[];
14716
14763
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cubos/agent-sdk",
3
- "version": "0.0.1154312",
3
+ "version": "0.0.1154804",
4
4
  "type": "module",
5
5
  "description": "Client for the Cubos Agent conversation API. Runs anywhere fetch does.",
6
6
  "license": "SEE LICENSE IN LICENSE",