@soat/cli 0.48.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 +22 -4
  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.48.0";
16
+ var version = "0.49.0";
17
17
 
18
18
  //#endregion
19
19
  //#region src/cli-wrappers/wrappers/formations.ts
@@ -4967,7 +4967,7 @@ var routes = {
4967
4967
  "search-knowledge": {
4968
4968
  serviceClass: "Knowledge",
4969
4969
  operationId: "searchKnowledge",
4970
- 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.",
4971
4971
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/knowledge",
4972
4972
  httpMethod: "post",
4973
4973
  pathParams: [],
@@ -4980,13 +4980,31 @@ var routes = {
4980
4980
  "in": "body"
4981
4981
  }, {
4982
4982
  "name": "query",
4983
- "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.",
4984
4984
  "required": false,
4985
4985
  "type": "string",
4986
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"
4987
4993
  }, {
4988
4994
  "name": "min_score",
4989
- "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.",
4990
5008
  "required": false,
4991
5009
  "type": "number",
4992
5010
  "in": "body"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soat/cli",
3
- "version": "0.48.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.48.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"