@soat/cli 0.15.4 → 0.15.6

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.
Files changed (2) hide show
  1. package/dist/index.mjs +78 -12
  2. package/package.json +2 -2
package/dist/index.mjs CHANGED
@@ -3,6 +3,8 @@ import { createHmac, timingSafeEqual } from "node:crypto";
3
3
  import { createServer } from "node:http";
4
4
  import * as path from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
+ import input from "@inquirer/input";
7
+ import password from "@inquirer/password";
6
8
  import * as sdk from "@soat/sdk";
7
9
  import { createClient, createConfig } from "@soat/sdk";
8
10
  import { program } from "commander";
@@ -11,7 +13,7 @@ import { load } from "js-yaml";
11
13
  import * as os from "node:os";
12
14
 
13
15
  //#region package.json
14
- var version = "0.15.4";
16
+ var version = "0.15.6";
15
17
 
16
18
  //#endregion
17
19
  //#region src/cli-wrappers/wrappers/formations.ts
@@ -628,15 +630,21 @@ var routes = {
628
630
  "required": false,
629
631
  "type": "string",
630
632
  "in": "body"
633
+ }, {
634
+ "name": "tool_bindings",
635
+ "description": "Tools to attach, one binding object per tool — the canonical attachment field. Cannot be combined with the deprecated `tool_ids`/`tools` shorthands (400). See [Tool Bindings](/docs/modules/agents#tool-bindings).",
636
+ "required": false,
637
+ "type": "array",
638
+ "in": "body"
631
639
  }, {
632
640
  "name": "tool_ids",
633
- "description": "",
641
+ "description": "Deprecated shorthand — each entry becomes a bare `{ \"tool_id\": … }` binding. Use `tool_bindings` instead.",
634
642
  "required": false,
635
643
  "type": "array",
636
644
  "in": "body"
637
645
  }, {
638
646
  "name": "tools",
639
- "description": "Ephemeral tool definitions available only to this agent's generations no separate Tool resource is created (any `project_id` on an entry is ignored), so they never appear in `GET /tools` and cannot be targeted by `active_tool_ids`/ `step_rules` (which reference `tool_ids`). Cannot be of type `pipeline`; nest a persisted pipeline tool via `tool_ids` instead. Use `tool_ids` to reference existing tools and `tools` for ones scoped to just this agent.",
647
+ "description": "Deprecated shorthand each entry becomes a bare `{ \"tool\": … }` binding (an ephemeral definition: no separate Tool resource is created, any `project_id` on an entry is ignored, entries never appear in `GET /tools`, cannot be targeted by `active_tool_ids`/`step_rules`, and cannot be of type `pipeline`). Use `tool_bindings` instead.",
640
648
  "required": false,
641
649
  "type": "array",
642
650
  "in": "body"
@@ -760,15 +768,21 @@ var routes = {
760
768
  "required": false,
761
769
  "type": "string",
762
770
  "in": "body"
771
+ }, {
772
+ "name": "tool_bindings",
773
+ "description": "Tools attached to the agent — the canonical attachment field. Replaces the whole binding list; set to `null` to clear. Cannot be combined with the deprecated `tool_ids`/`tools` shorthands (400). See [Tool Bindings](/docs/modules/agents#tool-bindings).",
774
+ "required": false,
775
+ "type": "array",
776
+ "in": "body"
763
777
  }, {
764
778
  "name": "tool_ids",
765
- "description": "",
779
+ "description": "Deprecated shorthand — replaces only the reference (`tool_id`) bindings, rewriting them bare (any `approval_policy` on them is dropped). Use `tool_bindings` instead.",
766
780
  "required": false,
767
781
  "type": "array",
768
782
  "in": "body"
769
783
  }, {
770
784
  "name": "tools",
771
- "description": "Ephemeral tool definitions available only to this agent's generations no separate Tool resource is created (any `project_id` on an entry is ignored), so they never appear in `GET /tools` and cannot be targeted by `active_tool_ids`/ `step_rules` (which reference `tool_ids`). Cannot be of type `pipeline`; nest a persisted pipeline tool via `tool_ids` instead. Replaces the agent's entire `tools` array; set to `null` to clear.",
785
+ "description": "Deprecated shorthand replaces only the inline (`tool`) bindings (ephemeral definitions: no separate Tool resource is created, any `project_id` on an entry is ignored, entries never appear in `GET /tools`, cannot be targeted by `active_tool_ids`/`step_rules`, and cannot be of type `pipeline`). Set to `null` to clear the inline bindings. Use `tool_bindings` instead.",
772
786
  "required": false,
773
787
  "type": "array",
774
788
  "in": "body"
@@ -877,15 +891,21 @@ var routes = {
877
891
  "required": false,
878
892
  "type": "string",
879
893
  "in": "body"
894
+ }, {
895
+ "name": "tool_bindings",
896
+ "description": "Tools attached to the agent — the canonical attachment field. Replaces the whole binding list; set to `null` to clear. Cannot be combined with the deprecated `tool_ids`/`tools` shorthands (400). See [Tool Bindings](/docs/modules/agents#tool-bindings).",
897
+ "required": false,
898
+ "type": "array",
899
+ "in": "body"
880
900
  }, {
881
901
  "name": "tool_ids",
882
- "description": "",
902
+ "description": "Deprecated shorthand — replaces only the reference (`tool_id`) bindings, rewriting them bare (any `approval_policy` on them is dropped). Use `tool_bindings` instead.",
883
903
  "required": false,
884
904
  "type": "array",
885
905
  "in": "body"
886
906
  }, {
887
907
  "name": "tools",
888
- "description": "Ephemeral tool definitions available only to this agent's generations no separate Tool resource is created (any `project_id` on an entry is ignored), so they never appear in `GET /tools` and cannot be targeted by `active_tool_ids`/ `step_rules` (which reference `tool_ids`). Cannot be of type `pipeline`; nest a persisted pipeline tool via `tool_ids` instead. Replaces the agent's entire `tools` array; set to `null` to clear.",
908
+ "description": "Deprecated shorthand replaces only the inline (`tool`) bindings (ephemeral definitions: no separate Tool resource is created, any `project_id` on an entry is ignored, entries never appear in `GET /tools`, cannot be targeted by `active_tool_ids`/`step_rules`, and cannot be of type `pipeline`). Set to `null` to clear the inline bindings. Use `tool_bindings` instead.",
889
909
  "required": false,
890
910
  "type": "array",
891
911
  "in": "body"
@@ -1039,6 +1059,12 @@ var routes = {
1039
1059
  "required": false,
1040
1060
  "type": "string",
1041
1061
  "in": "body"
1062
+ }, {
1063
+ "name": "metadata",
1064
+ "description": "Caller-supplied key/value metadata attached to the generation record for per-run audit attribution (e.g. the knowledge-corpus version that produced this action). Round-trips when the generation is fetched via the generations API. Reserved server-owned keys (`action_id`, `trigger_id`, `run_id`, `node_id`, `extraction`, and internal recovery state) cannot be set here and are rejected with 400.",
1065
+ "required": false,
1066
+ "type": "object",
1067
+ "in": "body"
1042
1068
  }, {
1043
1069
  "name": "extract",
1044
1070
  "description": "Per-turn override of the agent's `knowledge_config.extraction` default. Omit to follow the agent's stored config. Set `false` to suppress automatic memory extraction for this turn (e.g. an operational or tool-listing turn that would only add noise to a curated memory). Set `true` to force extraction on for this turn even when the agent does not enable it by default, provided the agent has a `write_memory_id`. Has no effect on streaming or `requires_action` turns, which never extract.",
@@ -3123,6 +3149,27 @@ var routes = {
3123
3149
  "in": "path"
3124
3150
  }]
3125
3151
  },
3152
+ "update-generation": {
3153
+ serviceClass: "Generations",
3154
+ operationId: "updateGeneration",
3155
+ description: "Attaches caller-supplied key/value metadata to a generation record for per-run audit attribution (e.g. recording which knowledge-corpus version produced an AI action). The provided keys are shallow-merged over the existing metadata, so repeated patches accumulate and system-owned keys are preserved. Reserved keys (`action_id`, `trigger_id`, `run_id`, `node_id`, `extraction`, and internal recovery state) cannot be set and are rejected with 400.",
3156
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/generations",
3157
+ pathParams: ["generation_id"],
3158
+ queryParams: [],
3159
+ flags: [{
3160
+ "name": "generation_id",
3161
+ "description": "Public ID of the generation",
3162
+ "required": true,
3163
+ "type": "string",
3164
+ "in": "path"
3165
+ }, {
3166
+ "name": "metadata",
3167
+ "description": "Caller-supplied key/value metadata to shallow-merge into the generation record. Reserved server-owned keys (`action_id`, `trigger_id`, `run_id`, `node_id`, `extraction`, and internal recovery state) are rejected with 400.\n",
3168
+ "required": true,
3169
+ "type": "object",
3170
+ "in": "body"
3171
+ }]
3172
+ },
3126
3173
  "list-ingestion-rules": {
3127
3174
  serviceClass: "IngestionRules",
3128
3175
  operationId: "listIngestionRules",
@@ -3556,6 +3603,18 @@ var routes = {
3556
3603
  "required": false,
3557
3604
  "type": "string",
3558
3605
  "in": "body"
3606
+ }, {
3607
+ "name": "tags",
3608
+ "description": "Per-entry tag strings, used for entry-granularity filtering in search-knowledge (memory_tags)",
3609
+ "required": false,
3610
+ "type": "array",
3611
+ "in": "body"
3612
+ }, {
3613
+ "name": "metadata",
3614
+ "description": "Arbitrary structured metadata attached to the entry",
3615
+ "required": false,
3616
+ "type": "object",
3617
+ "in": "body"
3559
3618
  }, {
3560
3619
  "name": "duplicate_threshold",
3561
3620
  "description": "Cosine similarity score at or above which the incoming content is considered a duplicate and skipped (default 0.95)",
@@ -3604,6 +3663,18 @@ var routes = {
3604
3663
  "required": false,
3605
3664
  "type": "string",
3606
3665
  "in": "body"
3666
+ }, {
3667
+ "name": "tags",
3668
+ "description": "Replaces the entry's tags. Pass null or an empty array to clear.",
3669
+ "required": false,
3670
+ "type": "array",
3671
+ "in": "body"
3672
+ }, {
3673
+ "name": "metadata",
3674
+ "description": "Replaces the entry's metadata. Pass null to clear.",
3675
+ "required": false,
3676
+ "type": "object",
3677
+ "in": "body"
3607
3678
  }]
3608
3679
  },
3609
3680
  "delete-memory-entry": {
@@ -5768,11 +5839,6 @@ var resolveServiceClass = serviceClassName => {
5768
5839
  program.name("soat").description("SOAT CLI").version(version).option("-p, --profile <name>", "config profile to use");
5769
5840
  program.addHelpText("after", "\nTip: Run `soat <command> --help` to see command-specific flags and docs.");
5770
5841
  program.command("configure").description("Save credentials to a named profile (~/.soat/config.json)").option("-p, --profile <name>", "profile name", "default").action(async opts => {
5771
- const [{
5772
- default: input
5773
- }, {
5774
- default: password
5775
- }] = await Promise.all([import("@inquirer/input"), import("@inquirer/password")]);
5776
5842
  const baseUrl = await input({
5777
5843
  message: "Base URL:"
5778
5844
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soat/cli",
3
- "version": "0.15.4",
3
+ "version": "0.15.6",
4
4
  "type": "module",
5
5
  "dependencies": {
6
6
  "@inquirer/input": "^5.1.2",
@@ -8,7 +8,7 @@
8
8
  "@ttoss/logger": "^0.8.19",
9
9
  "commander": "^15.0.0",
10
10
  "js-yaml": "^5.2.1",
11
- "@soat/sdk": "0.15.4"
11
+ "@soat/sdk": "0.15.6"
12
12
  },
13
13
  "devDependencies": {
14
14
  "@ttoss/config": "^1.37.17",