@soat/cli 0.47.0 → 0.49.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.
Files changed (2) hide show
  1. package/dist/index.mjs +46 -10
  2. package/package.json +2 -2
package/dist/index.mjs CHANGED
@@ -13,7 +13,7 @@ import * as os from "node:os";
13
13
  import { createHmac, timingSafeEqual } from "node:crypto";
14
14
 
15
15
  //#region package.json
16
- var version = "0.47.0";
16
+ var version = "0.49.0";
17
17
 
18
18
  //#endregion
19
19
  //#region src/cli-wrappers/wrappers/formations.ts
@@ -703,7 +703,7 @@ var routes = {
703
703
  "merge-actor-tags": {
704
704
  serviceClass: "Actors",
705
705
  operationId: "mergeActorTags",
706
- description: "Merges provided tags with existing tags (existing tags are preserved unless overridden)",
706
+ description: "Merges provided tags into the actor's existing tags (existing tags are preserved unless overridden)",
707
707
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/actors",
708
708
  httpMethod: "patch",
709
709
  pathParams: ["actor_id"],
@@ -854,6 +854,12 @@ var routes = {
854
854
  "required": false,
855
855
  "type": "object",
856
856
  "in": "body"
857
+ }, {
858
+ "name": "prompt_caching",
859
+ "description": "Prompt caching for this agent's turns. `{\"enabled\": true}` marks a cache breakpoint at the end of the turn's static prefix — the tool definitions and the instructions together — so a provider that caches by explicit breakpoint reads that prefix back on every later step of the turn and every later turn of the session instead of being charged for it again. Null or omitted is off: a cache write costs more than an uncached token, so an agent whose prefix is never re-read would pay for the privilege. An agent with no `instructions` has no block to mark and caches nothing. Cache reads are reported as `cached_tokens` and cache writes as `cache_write_tokens` on usage.",
860
+ "required": false,
861
+ "type": "object",
862
+ "in": "body"
857
863
  }, {
858
864
  "name": "max_context_messages",
859
865
  "description": "Maximum number of recent messages included in the context window. Null means no limit.",
@@ -1012,6 +1018,12 @@ var routes = {
1012
1018
  "required": false,
1013
1019
  "type": "object",
1014
1020
  "in": "body"
1021
+ }, {
1022
+ "name": "prompt_caching",
1023
+ "description": "Prompt caching for this agent's turns. `{\"enabled\": true}` marks a cache breakpoint at the end of the turn's static prefix — the tool definitions and the instructions together — so a provider that caches by explicit breakpoint reads that prefix back on every later step of the turn and every later turn of the session instead of being charged for it again. Null or omitted is off: a cache write costs more than an uncached token, so an agent whose prefix is never re-read would pay for the privilege. An agent with no `instructions` has no block to mark and caches nothing. Cache reads are reported as `cached_tokens` and cache writes as `cache_write_tokens` on usage.",
1024
+ "required": false,
1025
+ "type": "object",
1026
+ "in": "body"
1015
1027
  }, {
1016
1028
  "name": "max_context_messages",
1017
1029
  "description": "Maximum number of recent messages included in the context window. Null means no limit.",
@@ -1154,6 +1166,12 @@ var routes = {
1154
1166
  "required": false,
1155
1167
  "type": "object",
1156
1168
  "in": "body"
1169
+ }, {
1170
+ "name": "prompt_caching",
1171
+ "description": "Prompt caching for this agent's turns. `{\"enabled\": true}` marks a cache breakpoint at the end of the turn's static prefix — the tool definitions and the instructions together — so a provider that caches by explicit breakpoint reads that prefix back on every later step of the turn and every later turn of the session instead of being charged for it again. Null or omitted is off: a cache write costs more than an uncached token, so an agent whose prefix is never re-read would pay for the privilege. An agent with no `instructions` has no block to mark and caches nothing. Cache reads are reported as `cached_tokens` and cache writes as `cache_write_tokens` on usage.",
1172
+ "required": false,
1173
+ "type": "object",
1174
+ "in": "body"
1157
1175
  }, {
1158
1176
  "name": "max_context_messages",
1159
1177
  "description": "Maximum number of recent messages included in the context window. Null means no limit.",
@@ -2611,7 +2629,7 @@ var routes = {
2611
2629
  "merge-conversation-tags": {
2612
2630
  serviceClass: "Conversations",
2613
2631
  operationId: "mergeConversationTags",
2614
- description: "Merges provided tags with existing tags",
2632
+ description: "Merges provided tags into the conversation's existing tags (existing tags are preserved unless overridden)",
2615
2633
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/conversations",
2616
2634
  httpMethod: "patch",
2617
2635
  pathParams: ["conversation_id"],
@@ -2995,7 +3013,7 @@ var routes = {
2995
3013
  "merge-document-tags": {
2996
3014
  serviceClass: "Documents",
2997
3015
  operationId: "mergeDocumentTags",
2998
- description: "Merges provided tags with existing tags (existing tags are preserved unless overridden)",
3016
+ description: "Merges provided tags into the document's existing tags (existing tags are preserved unless overridden)",
2999
3017
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/documents",
3000
3018
  httpMethod: "patch",
3001
3019
  pathParams: ["document_id"],
@@ -4069,7 +4087,7 @@ var routes = {
4069
4087
  "merge-file-tags": {
4070
4088
  serviceClass: "Files",
4071
4089
  operationId: "mergeFileTags",
4072
- description: "Merges provided tags with existing tags",
4090
+ description: "Merges provided tags into the file's existing tags (existing tags are preserved unless overridden)",
4073
4091
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
4074
4092
  httpMethod: "patch",
4075
4093
  pathParams: ["file_id"],
@@ -4949,7 +4967,7 @@ var routes = {
4949
4967
  "search-knowledge": {
4950
4968
  serviceClass: "Knowledge",
4951
4969
  operationId: "searchKnowledge",
4952
- description: "Searches across documents and memory entries using semantic search, file paths, document IDs, memory IDs, or tags. At least one of `query`, `tags`, `document_paths`, `document_ids`, or `memory_ids` must be provided.",
4970
+ description: "Searches across documents and memory entries using hybrid retrieval — a vector query and a full-text query per source, fused by reciprocal rank — or by file paths, document IDs, memory IDs, or tags. At least one of `query`, `tags`, `document_paths`, `document_ids`, or `memory_ids` must be provided.",
4953
4971
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/knowledge",
4954
4972
  httpMethod: "post",
4955
4973
  pathParams: [],
@@ -4962,13 +4980,31 @@ var routes = {
4962
4980
  "in": "body"
4963
4981
  }, {
4964
4982
  "name": "query",
4965
- "description": "Semantic search query text",
4983
+ "description": "Search query text. Runs a vector query and a full-text query over each store and fuses the rankings; the full-text channel matches exact tokens and phrases, the vector channel everything else.",
4966
4984
  "required": false,
4967
4985
  "type": "string",
4968
4986
  "in": "body"
4987
+ }, {
4988
+ "name": "min_similarity",
4989
+ "description": "Minimum raw cosine `similarity_score` a **vector** candidate must reach to take part in ranking, applied before fusion. Only applies when `query` is provided. Lexical candidates are deliberately exempt: a result that literally contains the searched token is the evidence, and dropping it for a low cosine is the failure hybrid search exists to prevent. Not a floor on `score`, whose fused value encodes rank position rather than similarity.",
4990
+ "required": false,
4991
+ "type": "number",
4992
+ "in": "body"
4969
4993
  }, {
4970
4994
  "name": "min_score",
4971
- "description": "Minimum `score` a result must reach to be returned. Filters on the implementation-defined `score`, not on `similarity_score`, so the cutoff follows the ranking. Only applies when `query` is provided. Because the scale behind `score` is not part of the contract, treat a tuned value as tied to the deployment rather than portable.",
4995
+ "description": "Deprecated alias for `min_similarity`, with identical behavior. While ranking was single-signal `score` equaled `similarity_score`, so this has only ever filtered cosine and an existing value keeps returning the same results. `min_similarity` wins when both are sent. Removed in v2.",
4996
+ "required": false,
4997
+ "type": "number",
4998
+ "in": "body"
4999
+ }, {
5000
+ "name": "rrf_k",
5001
+ "description": "The `k` in the reciprocal rank fusion term `1 / (k + rank)`, which sets how steeply a result's contribution decays with its position in each ranked list. A smaller value weights the very top of each list more heavily. Defaults to the deployment's `KNOWLEDGE_RRF_K`, itself 60 by default. Only applies when `query` is provided.",
5002
+ "required": false,
5003
+ "type": "integer",
5004
+ "in": "body"
5005
+ }, {
5006
+ "name": "recency_half_life_days",
5007
+ "description": "Half-life, in days, of a recency decay applied to **memory** results after fusion: a result's `score` is multiplied by `2 ^ (-age_in_days / recency_half_life_days)`, where age is measured from its `updated_at`. Document results are never decayed. `0` — the default, and the default of the deployment's `KNOWLEDGE_RECENCY_HALF_LIFE_DAYS` — disables the blend entirely; it is a switch, not a lower bound, and sending `0` turns off a deployment-wide decay for this one request. Accepts fractions (`0.5` is twelve hours). How many ranks a given half-life costs depends on `rrf_k`. Only applies when `query` is provided.",
4972
5008
  "required": false,
4973
5009
  "type": "number",
4974
5010
  "in": "body"
@@ -5173,7 +5209,7 @@ var routes = {
5173
5209
  "merge-memory-tags": {
5174
5210
  serviceClass: "Memories",
5175
5211
  operationId: "mergeMemoryTags",
5176
- description: "Merges provided tags with existing tags (existing tags are preserved unless overridden)",
5212
+ description: "Merges provided tags into the memory's existing tags (existing tags are preserved unless overridden)",
5177
5213
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
5178
5214
  httpMethod: "patch",
5179
5215
  pathParams: ["memory_id"],
@@ -5373,7 +5409,7 @@ var routes = {
5373
5409
  "merge-memory-entry-tags": {
5374
5410
  serviceClass: "MemoryEntries",
5375
5411
  operationId: "mergeMemoryEntryTags",
5376
- description: "Merges provided tags with existing tags (existing tags are preserved unless overridden)",
5412
+ description: "Merges provided tags into the memory entry's existing tags (existing tags are preserved unless overridden)",
5377
5413
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-entries",
5378
5414
  httpMethod: "patch",
5379
5415
  pathParams: ["entry_id"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soat/cli",
3
- "version": "0.47.0",
3
+ "version": "0.49.0",
4
4
  "description": "CLI for SOAT — open-source infrastructure for production-ready AI agents.",
5
5
  "keywords": [
6
6
  "ai-agents",
@@ -22,7 +22,7 @@
22
22
  "dependencies": {
23
23
  "@inquirer/input": "^5.1.2",
24
24
  "@inquirer/password": "^5.1.1",
25
- "@soat/sdk": "0.47.0",
25
+ "@soat/sdk": "0.49.0",
26
26
  "@ttoss/logger": "^0.8.19",
27
27
  "commander": "^15.0.0",
28
28
  "js-yaml": "^5.2.1"