@soat/cli 0.48.0 → 0.49.1
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.mjs +28 -8
- package/package.json +13 -13
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.
|
|
16
|
+
var version = "0.49.1";
|
|
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
|
|
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": "
|
|
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": "
|
|
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"
|
|
@@ -9345,12 +9363,13 @@ program.argument("[command]", "API command in kebab-case (e.g. list-actors)").ar
|
|
|
9345
9363
|
}
|
|
9346
9364
|
process.exit(0);
|
|
9347
9365
|
}
|
|
9366
|
+
const parsedFlags = parseUnknownWithRepeats({
|
|
9367
|
+
cliArgs: rawArgs
|
|
9368
|
+
});
|
|
9348
9369
|
const wrapped = applyWrapperForCommand({
|
|
9349
9370
|
commandName,
|
|
9350
9371
|
route,
|
|
9351
|
-
parsedFlags
|
|
9352
|
-
cliArgs: rawArgs
|
|
9353
|
-
})
|
|
9372
|
+
parsedFlags
|
|
9354
9373
|
});
|
|
9355
9374
|
const flags = wrapped.flags.single;
|
|
9356
9375
|
const repeatedFlags = wrapped.flags.repeated;
|
|
@@ -9395,7 +9414,8 @@ program.argument("[command]", "API command in kebab-case (e.g. list-actors)").ar
|
|
|
9395
9414
|
console.error(`Missing required path parameter(s): ${missingPathParams.join(", ")}.\nProvide with --${missingPathParams[0]} <value>, --id <value>, or a positional argument: soat ${commandName} <id>`);
|
|
9396
9415
|
process.exit(1);
|
|
9397
9416
|
}
|
|
9398
|
-
const
|
|
9417
|
+
const profileOpt = flags["profile"] ?? program.opts().profile;
|
|
9418
|
+
const client = resolveClient(profileOpt);
|
|
9399
9419
|
const serviceClass = resolveServiceClass(route.serviceClass);
|
|
9400
9420
|
if (!serviceClass) {
|
|
9401
9421
|
console.error(`SDK class "${route.serviceClass}" not found.`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soat/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.49.1",
|
|
4
4
|
"description": "CLI for SOAT — open-source infrastructure for production-ready AI agents.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-agents",
|
|
@@ -20,22 +20,22 @@
|
|
|
20
20
|
"license": "Apache-2.0",
|
|
21
21
|
"type": "module",
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@inquirer/input": "^5.1.
|
|
24
|
-
"@inquirer/password": "^5.
|
|
25
|
-
"@soat/sdk": "0.
|
|
26
|
-
"@ttoss/logger": "^0.8.
|
|
23
|
+
"@inquirer/input": "^5.1.6",
|
|
24
|
+
"@inquirer/password": "^5.2.2",
|
|
25
|
+
"@soat/sdk": "0.49.1",
|
|
26
|
+
"@ttoss/logger": "^0.8.20",
|
|
27
27
|
"commander": "^15.0.0",
|
|
28
|
-
"js-yaml": "^5.2
|
|
28
|
+
"js-yaml": "^5.4.2"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@ttoss/config": "^1.
|
|
32
|
-
"@ttoss/openapi-codegen": "^0.
|
|
33
|
-
"@ttoss/test-utils": "^4.2.
|
|
31
|
+
"@ttoss/config": "^1.38.0",
|
|
32
|
+
"@ttoss/openapi-codegen": "^0.3.0",
|
|
33
|
+
"@ttoss/test-utils": "^4.2.19",
|
|
34
34
|
"@types/jest": "^30.0.0",
|
|
35
|
-
"@types/node": "^26.
|
|
36
|
-
"jest": "^30.
|
|
37
|
-
"tsdown": "^0.
|
|
38
|
-
"tsx": "^4.23.
|
|
35
|
+
"@types/node": "^26.5.1",
|
|
36
|
+
"jest": "^30.5.1",
|
|
37
|
+
"tsdown": "^0.23.0",
|
|
38
|
+
"tsx": "^4.23.13",
|
|
39
39
|
"typescript": "~6.0.3"
|
|
40
40
|
},
|
|
41
41
|
"files": [
|