@soat/cli 0.49.1 → 0.51.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.
- package/dist/index.mjs +234 -118
- 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.
|
|
16
|
+
var version = "0.51.0";
|
|
17
17
|
|
|
18
18
|
//#endregion
|
|
19
19
|
//#region src/cli-wrappers/wrappers/formations.ts
|
|
@@ -1308,13 +1308,13 @@ var routes = {
|
|
|
1308
1308
|
"in": "body"
|
|
1309
1309
|
}, {
|
|
1310
1310
|
"name": "extract",
|
|
1311
|
-
"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 `
|
|
1311
|
+
"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 store extraction for this turn (e.g. an operational or tool-listing turn that would only add noise to a curated memory store). 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_store_id`. Has no effect on streaming or `requires_action` turns, which never extract.",
|
|
1312
1312
|
"required": false,
|
|
1313
1313
|
"type": "boolean",
|
|
1314
1314
|
"in": "body"
|
|
1315
1315
|
}, {
|
|
1316
1316
|
"name": "knowledge_config",
|
|
1317
|
-
"description": "Per-generation knowledge retrieval override. Array filters (
|
|
1317
|
+
"description": "Per-generation knowledge retrieval override. Array filters (memory_store_ids, document_ids, document_paths) are unioned with the agent's stored knowledge_config; `tags` pairs are merged with the override winning per key; scalar fields (min_score, limit) use the per-generation value when present.",
|
|
1318
1318
|
"required": false,
|
|
1319
1319
|
"type": "object",
|
|
1320
1320
|
"in": "body"
|
|
@@ -4967,7 +4967,7 @@ var routes = {
|
|
|
4967
4967
|
"search-knowledge": {
|
|
4968
4968
|
serviceClass: "Knowledge",
|
|
4969
4969
|
operationId: "searchKnowledge",
|
|
4970
|
-
description: "Searches across documents and
|
|
4970
|
+
description: "Searches across documents and memories using hybrid retrieval — a vector query and a full-text query per source, fused by reciprocal rank — or by file paths, document IDs, memory store IDs, or tags. At least one of `query`, `tags`, `document_paths`, `document_ids`, or `memory_store_ids` must be provided.",
|
|
4971
4971
|
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/knowledge",
|
|
4972
4972
|
httpMethod: "post",
|
|
4973
4973
|
pathParams: [],
|
|
@@ -5004,7 +5004,7 @@ var routes = {
|
|
|
5004
5004
|
"in": "body"
|
|
5005
5005
|
}, {
|
|
5006
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.",
|
|
5007
|
+
"description": "Half-life, in days, of a recency decay applied to **memory store** 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.",
|
|
5008
5008
|
"required": false,
|
|
5009
5009
|
"type": "number",
|
|
5010
5010
|
"in": "body"
|
|
@@ -5015,8 +5015,8 @@ var routes = {
|
|
|
5015
5015
|
"type": "integer",
|
|
5016
5016
|
"in": "body"
|
|
5017
5017
|
}, {
|
|
5018
|
-
"name": "
|
|
5019
|
-
"description": "Search
|
|
5018
|
+
"name": "memory_store_ids",
|
|
5019
|
+
"description": "Search memories within these specific memory stores",
|
|
5020
5020
|
"required": false,
|
|
5021
5021
|
"type": "array",
|
|
5022
5022
|
"in": "body"
|
|
@@ -5034,7 +5034,7 @@ var routes = {
|
|
|
5034
5034
|
"in": "body"
|
|
5035
5035
|
}, {
|
|
5036
5036
|
"name": "tags",
|
|
5037
|
-
"description": "Filter results to documents and
|
|
5037
|
+
"description": "Filter results to documents and memories whose `tags` contain every one of these key-value pairs (exact, case-sensitive match). The only filter that scopes both stores, so passing it alone searches both. For memories it matches at memory granularity: a memory is returned when its parent memory store's tags match or its own do.",
|
|
5038
5038
|
"required": false,
|
|
5039
5039
|
"type": "object",
|
|
5040
5040
|
"in": "body"
|
|
@@ -5043,15 +5043,15 @@ var routes = {
|
|
|
5043
5043
|
"list-memories": {
|
|
5044
5044
|
serviceClass: "Memories",
|
|
5045
5045
|
operationId: "listMemories",
|
|
5046
|
-
description: "Returns
|
|
5046
|
+
description: "Returns all memories in a memory store",
|
|
5047
5047
|
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
|
|
5048
5048
|
httpMethod: "get",
|
|
5049
5049
|
pathParams: [],
|
|
5050
|
-
queryParams: ["
|
|
5050
|
+
queryParams: ["memory_store_id", "tags", "limit", "offset", "include_invalidated"],
|
|
5051
5051
|
flags: [{
|
|
5052
|
-
"name": "
|
|
5053
|
-
"description": "
|
|
5054
|
-
"required":
|
|
5052
|
+
"name": "memory_store_id",
|
|
5053
|
+
"description": "Memory store to list memories from (mstore_...)",
|
|
5054
|
+
"required": true,
|
|
5055
5055
|
"type": "string",
|
|
5056
5056
|
"in": "query"
|
|
5057
5057
|
}, {
|
|
@@ -5072,46 +5072,76 @@ var routes = {
|
|
|
5072
5072
|
"required": false,
|
|
5073
5073
|
"type": "integer",
|
|
5074
5074
|
"in": "query"
|
|
5075
|
+
}, {
|
|
5076
|
+
"name": "include_invalidated",
|
|
5077
|
+
"description": "Include invalidated (superseded) memories. They are excluded by default; set this to audit the supersede history.",
|
|
5078
|
+
"required": false,
|
|
5079
|
+
"type": "boolean",
|
|
5080
|
+
"in": "query"
|
|
5075
5081
|
}]
|
|
5076
5082
|
},
|
|
5077
5083
|
"create-memory": {
|
|
5078
5084
|
serviceClass: "Memories",
|
|
5079
5085
|
operationId: "createMemory",
|
|
5080
|
-
description: "
|
|
5086
|
+
description: "Writes a fact to the specified memory store through the standard write algorithm: the content is embedded (or matched to text the store already holds), compared against the most similar currently-valid memory, and resolved to exactly one of three outcomes — `skipped` at or above `duplicate_threshold`, `superseded` at or above `supersede_threshold`, `created` below it. Every call records one assertion, whatever the outcome.",
|
|
5081
5087
|
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
|
|
5082
5088
|
httpMethod: "post",
|
|
5083
5089
|
pathParams: [],
|
|
5084
5090
|
queryParams: [],
|
|
5085
5091
|
flags: [{
|
|
5086
|
-
"name": "
|
|
5087
|
-
"description": "
|
|
5088
|
-
"required":
|
|
5092
|
+
"name": "memory_store_id",
|
|
5093
|
+
"description": "Memory store to add the memory to (mstore_...)",
|
|
5094
|
+
"required": true,
|
|
5089
5095
|
"type": "string",
|
|
5090
5096
|
"in": "body"
|
|
5091
5097
|
}, {
|
|
5092
|
-
"name": "
|
|
5093
|
-
"description": "
|
|
5098
|
+
"name": "content",
|
|
5099
|
+
"description": "The text content of the memory",
|
|
5094
5100
|
"required": true,
|
|
5095
5101
|
"type": "string",
|
|
5096
5102
|
"in": "body"
|
|
5097
5103
|
}, {
|
|
5098
|
-
"name": "
|
|
5099
|
-
"description": "
|
|
5104
|
+
"name": "source_type",
|
|
5105
|
+
"description": "Whether there is a source to point at. `conversation` requires `source_id`; `manual` rejects it.",
|
|
5106
|
+
"required": false,
|
|
5107
|
+
"type": "string",
|
|
5108
|
+
"in": "body"
|
|
5109
|
+
}, {
|
|
5110
|
+
"name": "source_id",
|
|
5111
|
+
"description": "The conversation this fact was learned in. Required when `source_type` is `conversation`, and rejected otherwise.",
|
|
5100
5112
|
"required": false,
|
|
5101
5113
|
"type": "string",
|
|
5102
5114
|
"in": "body"
|
|
5103
5115
|
}, {
|
|
5104
5116
|
"name": "tags",
|
|
5105
|
-
"description": "
|
|
5117
|
+
"description": "Per-memory key-value tags, used for memory-granularity filtering by `tags` in search-knowledge.",
|
|
5106
5118
|
"required": false,
|
|
5107
5119
|
"type": "object",
|
|
5108
5120
|
"in": "body"
|
|
5121
|
+
}, {
|
|
5122
|
+
"name": "metadata",
|
|
5123
|
+
"description": "Arbitrary structured metadata attached to the memory",
|
|
5124
|
+
"required": false,
|
|
5125
|
+
"type": "object",
|
|
5126
|
+
"in": "body"
|
|
5127
|
+
}, {
|
|
5128
|
+
"name": "duplicate_threshold",
|
|
5129
|
+
"description": "Cosine similarity at or above which the incoming content is a duplicate of an existing memory and the write is skipped. Overrides the store's `duplicate_threshold` for this call; falls back to the store's value, then to `0.95`.",
|
|
5130
|
+
"required": false,
|
|
5131
|
+
"type": "number",
|
|
5132
|
+
"in": "body"
|
|
5133
|
+
}, {
|
|
5134
|
+
"name": "supersede_threshold",
|
|
5135
|
+
"description": "Cosine similarity at or above which the incoming content restates a fact that has changed: the top match is invalidated and a new memory replaces it. Overrides the store's `supersede_threshold` for this call; falls back to the store's value, then to `0.90`. The effective pair must satisfy `supersede_threshold < duplicate_threshold`, and the check runs against the effective pair — so overriding only one value cannot invert it against the store's other one.",
|
|
5136
|
+
"required": false,
|
|
5137
|
+
"type": "number",
|
|
5138
|
+
"in": "body"
|
|
5109
5139
|
}]
|
|
5110
5140
|
},
|
|
5111
5141
|
"get-memory": {
|
|
5112
5142
|
serviceClass: "Memories",
|
|
5113
5143
|
operationId: "getMemory",
|
|
5114
|
-
description: "Returns a single memory
|
|
5144
|
+
description: "Returns a single memory by ID",
|
|
5115
5145
|
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
|
|
5116
5146
|
httpMethod: "get",
|
|
5117
5147
|
pathParams: ["memory_id"],
|
|
@@ -5127,7 +5157,7 @@ var routes = {
|
|
|
5127
5157
|
"update-memory": {
|
|
5128
5158
|
serviceClass: "Memories",
|
|
5129
5159
|
operationId: "updateMemory",
|
|
5130
|
-
description: "Updates an existing memory
|
|
5160
|
+
description: "Updates an existing memory. Regenerates the embedding if content changes.",
|
|
5131
5161
|
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
|
|
5132
5162
|
httpMethod: "put",
|
|
5133
5163
|
pathParams: ["memory_id"],
|
|
@@ -5139,20 +5169,20 @@ var routes = {
|
|
|
5139
5169
|
"type": "string",
|
|
5140
5170
|
"in": "path"
|
|
5141
5171
|
}, {
|
|
5142
|
-
"name": "
|
|
5143
|
-
"description": "
|
|
5172
|
+
"name": "content",
|
|
5173
|
+
"description": "Updated text content",
|
|
5144
5174
|
"required": false,
|
|
5145
5175
|
"type": "string",
|
|
5146
5176
|
"in": "body"
|
|
5147
5177
|
}, {
|
|
5148
|
-
"name": "
|
|
5149
|
-
"description": "
|
|
5178
|
+
"name": "tags",
|
|
5179
|
+
"description": "Replaces the memory's tags. Pass null or an empty object to clear.",
|
|
5150
5180
|
"required": false,
|
|
5151
|
-
"type": "
|
|
5181
|
+
"type": "object",
|
|
5152
5182
|
"in": "body"
|
|
5153
5183
|
}, {
|
|
5154
|
-
"name": "
|
|
5155
|
-
"description": "
|
|
5184
|
+
"name": "metadata",
|
|
5185
|
+
"description": "Replaces the memory's metadata. Pass null to clear.",
|
|
5156
5186
|
"required": false,
|
|
5157
5187
|
"type": "object",
|
|
5158
5188
|
"in": "body"
|
|
@@ -5161,7 +5191,7 @@ var routes = {
|
|
|
5161
5191
|
"delete-memory": {
|
|
5162
5192
|
serviceClass: "Memories",
|
|
5163
5193
|
operationId: "deleteMemory",
|
|
5164
|
-
description: "Deletes a memory
|
|
5194
|
+
description: "Deletes a memory",
|
|
5165
5195
|
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
|
|
5166
5196
|
httpMethod: "delete",
|
|
5167
5197
|
pathParams: ["memory_id"],
|
|
@@ -5174,6 +5204,34 @@ var routes = {
|
|
|
5174
5204
|
"in": "path"
|
|
5175
5205
|
}]
|
|
5176
5206
|
},
|
|
5207
|
+
"list-memory-assertions": {
|
|
5208
|
+
serviceClass: "Memories",
|
|
5209
|
+
operationId: "listMemoryAssertions",
|
|
5210
|
+
description: "Returns every write that resolved into this memory, oldest first: the one that created it, the duplicates it absorbed, and the assertion that superseded another memory in its favour. A superseded memory keeps its own assertions, so the chain can be walked in both directions.",
|
|
5211
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memories",
|
|
5212
|
+
httpMethod: "get",
|
|
5213
|
+
pathParams: ["memory_id"],
|
|
5214
|
+
queryParams: ["limit", "offset"],
|
|
5215
|
+
flags: [{
|
|
5216
|
+
"name": "memory_id",
|
|
5217
|
+
"description": "",
|
|
5218
|
+
"required": true,
|
|
5219
|
+
"type": "string",
|
|
5220
|
+
"in": "path"
|
|
5221
|
+
}, {
|
|
5222
|
+
"name": "limit",
|
|
5223
|
+
"description": "Maximum number of results to return",
|
|
5224
|
+
"required": false,
|
|
5225
|
+
"type": "integer",
|
|
5226
|
+
"in": "query"
|
|
5227
|
+
}, {
|
|
5228
|
+
"name": "offset",
|
|
5229
|
+
"description": "Number of results to skip",
|
|
5230
|
+
"required": false,
|
|
5231
|
+
"type": "integer",
|
|
5232
|
+
"in": "query"
|
|
5233
|
+
}]
|
|
5234
|
+
},
|
|
5177
5235
|
"get-memory-tags": {
|
|
5178
5236
|
serviceClass: "Memories",
|
|
5179
5237
|
operationId: "getMemoryTags",
|
|
@@ -5222,18 +5280,18 @@ var routes = {
|
|
|
5222
5280
|
"in": "path"
|
|
5223
5281
|
}]
|
|
5224
5282
|
},
|
|
5225
|
-
"list-memory-
|
|
5226
|
-
serviceClass: "
|
|
5227
|
-
operationId: "
|
|
5228
|
-
description: "Returns
|
|
5229
|
-
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-
|
|
5283
|
+
"list-memory-stores": {
|
|
5284
|
+
serviceClass: "MemoryStores",
|
|
5285
|
+
operationId: "listMemoryStores",
|
|
5286
|
+
description: "Returns a list of memory store configurations for a project",
|
|
5287
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-stores",
|
|
5230
5288
|
httpMethod: "get",
|
|
5231
5289
|
pathParams: [],
|
|
5232
|
-
queryParams: ["
|
|
5290
|
+
queryParams: ["project_id", "tags", "limit", "offset"],
|
|
5233
5291
|
flags: [{
|
|
5234
|
-
"name": "
|
|
5235
|
-
"description": "
|
|
5236
|
-
"required":
|
|
5292
|
+
"name": "project_id",
|
|
5293
|
+
"description": "Project ID (required if not using project key auth)",
|
|
5294
|
+
"required": false,
|
|
5237
5295
|
"type": "string",
|
|
5238
5296
|
"in": "query"
|
|
5239
5297
|
}, {
|
|
@@ -5254,169 +5312,227 @@ var routes = {
|
|
|
5254
5312
|
"required": false,
|
|
5255
5313
|
"type": "integer",
|
|
5256
5314
|
"in": "query"
|
|
5257
|
-
}, {
|
|
5258
|
-
"name": "include_invalidated",
|
|
5259
|
-
"description": "Include invalidated (superseded) entries. They are excluded by default; set this to audit the supersede history.",
|
|
5260
|
-
"required": false,
|
|
5261
|
-
"type": "boolean",
|
|
5262
|
-
"in": "query"
|
|
5263
5315
|
}]
|
|
5264
5316
|
},
|
|
5265
|
-
"create-memory-
|
|
5266
|
-
serviceClass: "
|
|
5267
|
-
operationId: "
|
|
5268
|
-
description: "Creates a new
|
|
5269
|
-
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-
|
|
5317
|
+
"create-memory-store": {
|
|
5318
|
+
serviceClass: "MemoryStores",
|
|
5319
|
+
operationId: "createMemoryStore",
|
|
5320
|
+
description: "Creates a new memory store configuration in a project",
|
|
5321
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-stores",
|
|
5270
5322
|
httpMethod: "post",
|
|
5271
5323
|
pathParams: [],
|
|
5272
5324
|
queryParams: [],
|
|
5273
5325
|
flags: [{
|
|
5274
|
-
"name": "
|
|
5275
|
-
"description": "
|
|
5276
|
-
"required":
|
|
5326
|
+
"name": "project_id",
|
|
5327
|
+
"description": "Project ID (required if not using project key auth)",
|
|
5328
|
+
"required": false,
|
|
5277
5329
|
"type": "string",
|
|
5278
5330
|
"in": "body"
|
|
5279
5331
|
}, {
|
|
5280
|
-
"name": "
|
|
5281
|
-
"description": "
|
|
5332
|
+
"name": "name",
|
|
5333
|
+
"description": "Memory store name",
|
|
5282
5334
|
"required": true,
|
|
5283
5335
|
"type": "string",
|
|
5284
5336
|
"in": "body"
|
|
5285
5337
|
}, {
|
|
5286
|
-
"name": "
|
|
5287
|
-
"description": "
|
|
5338
|
+
"name": "description",
|
|
5339
|
+
"description": "Optional description",
|
|
5288
5340
|
"required": false,
|
|
5289
5341
|
"type": "string",
|
|
5290
5342
|
"in": "body"
|
|
5291
5343
|
}, {
|
|
5292
5344
|
"name": "tags",
|
|
5293
|
-
"description": "
|
|
5345
|
+
"description": "Optional key-value tags. Scopes the memory store in knowledge search, where every requested pair must match exactly.",
|
|
5294
5346
|
"required": false,
|
|
5295
5347
|
"type": "object",
|
|
5296
5348
|
"in": "body"
|
|
5297
5349
|
}, {
|
|
5298
|
-
"name": "
|
|
5299
|
-
"description": "
|
|
5350
|
+
"name": "duplicate_threshold",
|
|
5351
|
+
"description": "The store's dedup policy: cosine similarity at or above which an incoming fact is already known and the write is skipped. `null` (the default) uses the algorithm constant `0.95`. A single `POST /api/v1/memories` call may override it; the agent tool and the post-turn rule never can.",
|
|
5300
5352
|
"required": false,
|
|
5301
|
-
"type": "
|
|
5353
|
+
"type": "number",
|
|
5302
5354
|
"in": "body"
|
|
5303
5355
|
}, {
|
|
5304
|
-
"name": "
|
|
5305
|
-
"description": "Cosine similarity
|
|
5356
|
+
"name": "supersede_threshold",
|
|
5357
|
+
"description": "Cosine similarity at or above which an incoming fact restates a known one that has changed: the matched memory is invalidated and replaced. `null` (the default) uses the algorithm constant `0.90`. Must be lower than the effective `duplicate_threshold`, or the write is rejected with `400 VALIDATION_FAILED` — equal makes `superseded` unreachable and inverted swallows `skipped`.",
|
|
5306
5358
|
"required": false,
|
|
5307
5359
|
"type": "number",
|
|
5308
5360
|
"in": "body"
|
|
5309
5361
|
}]
|
|
5310
5362
|
},
|
|
5311
|
-
"get-memory-
|
|
5312
|
-
serviceClass: "
|
|
5313
|
-
operationId: "
|
|
5314
|
-
description: "Returns a single memory
|
|
5315
|
-
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-
|
|
5363
|
+
"get-memory-store": {
|
|
5364
|
+
serviceClass: "MemoryStores",
|
|
5365
|
+
operationId: "getMemoryStore",
|
|
5366
|
+
description: "Returns a single memory store configuration by ID",
|
|
5367
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-stores",
|
|
5316
5368
|
httpMethod: "get",
|
|
5317
|
-
pathParams: ["
|
|
5369
|
+
pathParams: ["memory_store_id"],
|
|
5318
5370
|
queryParams: [],
|
|
5319
5371
|
flags: [{
|
|
5320
|
-
"name": "
|
|
5372
|
+
"name": "memory_store_id",
|
|
5321
5373
|
"description": "",
|
|
5322
5374
|
"required": true,
|
|
5323
5375
|
"type": "string",
|
|
5324
5376
|
"in": "path"
|
|
5325
5377
|
}]
|
|
5326
5378
|
},
|
|
5327
|
-
"update-memory-
|
|
5328
|
-
serviceClass: "
|
|
5329
|
-
operationId: "
|
|
5330
|
-
description: "Updates an existing memory
|
|
5331
|
-
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-
|
|
5379
|
+
"update-memory-store": {
|
|
5380
|
+
serviceClass: "MemoryStores",
|
|
5381
|
+
operationId: "updateMemoryStore",
|
|
5382
|
+
description: "Updates an existing memory store configuration",
|
|
5383
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-stores",
|
|
5332
5384
|
httpMethod: "put",
|
|
5333
|
-
pathParams: ["
|
|
5385
|
+
pathParams: ["memory_store_id"],
|
|
5334
5386
|
queryParams: [],
|
|
5335
5387
|
flags: [{
|
|
5336
|
-
"name": "
|
|
5388
|
+
"name": "memory_store_id",
|
|
5337
5389
|
"description": "",
|
|
5338
5390
|
"required": true,
|
|
5339
5391
|
"type": "string",
|
|
5340
5392
|
"in": "path"
|
|
5341
5393
|
}, {
|
|
5342
|
-
"name": "
|
|
5343
|
-
"description": "
|
|
5394
|
+
"name": "name",
|
|
5395
|
+
"description": "Memory store name",
|
|
5396
|
+
"required": false,
|
|
5397
|
+
"type": "string",
|
|
5398
|
+
"in": "body"
|
|
5399
|
+
}, {
|
|
5400
|
+
"name": "description",
|
|
5401
|
+
"description": "Optional description",
|
|
5344
5402
|
"required": false,
|
|
5345
5403
|
"type": "string",
|
|
5346
5404
|
"in": "body"
|
|
5347
5405
|
}, {
|
|
5348
5406
|
"name": "tags",
|
|
5349
|
-
"description": "
|
|
5407
|
+
"description": "Optional key-value tags. Replaces the stored bag; `null` clears it.",
|
|
5350
5408
|
"required": false,
|
|
5351
5409
|
"type": "object",
|
|
5352
5410
|
"in": "body"
|
|
5353
5411
|
}, {
|
|
5354
|
-
"name": "
|
|
5355
|
-
"description": "
|
|
5412
|
+
"name": "duplicate_threshold",
|
|
5413
|
+
"description": "The store's dedup policy: cosine similarity at or above which an incoming fact is already known and the write is skipped. `null` (the default) uses the algorithm constant `0.95`. A single `POST /api/v1/memories` call may override it; the agent tool and the post-turn rule never can.",
|
|
5356
5414
|
"required": false,
|
|
5357
|
-
"type": "
|
|
5415
|
+
"type": "number",
|
|
5416
|
+
"in": "body"
|
|
5417
|
+
}, {
|
|
5418
|
+
"name": "supersede_threshold",
|
|
5419
|
+
"description": "Cosine similarity at or above which an incoming fact restates a known one that has changed: the matched memory is invalidated and replaced. `null` (the default) uses the algorithm constant `0.90`. Must be lower than the effective `duplicate_threshold`, or the write is rejected with `400 VALIDATION_FAILED` — equal makes `superseded` unreachable and inverted swallows `skipped`.",
|
|
5420
|
+
"required": false,
|
|
5421
|
+
"type": "number",
|
|
5358
5422
|
"in": "body"
|
|
5359
5423
|
}]
|
|
5360
5424
|
},
|
|
5361
|
-
"delete-memory-
|
|
5362
|
-
serviceClass: "
|
|
5363
|
-
operationId: "
|
|
5364
|
-
description: "Deletes a memory
|
|
5365
|
-
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-
|
|
5425
|
+
"delete-memory-store": {
|
|
5426
|
+
serviceClass: "MemoryStores",
|
|
5427
|
+
operationId: "deleteMemoryStore",
|
|
5428
|
+
description: "Deletes a memory store configuration",
|
|
5429
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-stores",
|
|
5366
5430
|
httpMethod: "delete",
|
|
5367
|
-
pathParams: ["
|
|
5431
|
+
pathParams: ["memory_store_id"],
|
|
5368
5432
|
queryParams: [],
|
|
5369
5433
|
flags: [{
|
|
5370
|
-
"name": "
|
|
5434
|
+
"name": "memory_store_id",
|
|
5371
5435
|
"description": "",
|
|
5372
5436
|
"required": true,
|
|
5373
5437
|
"type": "string",
|
|
5374
5438
|
"in": "path"
|
|
5375
5439
|
}]
|
|
5376
5440
|
},
|
|
5377
|
-
"
|
|
5378
|
-
serviceClass: "
|
|
5379
|
-
operationId: "
|
|
5380
|
-
description: "Returns
|
|
5381
|
-
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-
|
|
5441
|
+
"list-memory-store-assertions": {
|
|
5442
|
+
serviceClass: "MemoryStores",
|
|
5443
|
+
operationId: "listMemoryStoreAssertions",
|
|
5444
|
+
description: "Returns the store's write ledger, newest first: one row per write attempt, skips included. This is how \"which write path is filling this store?\" is asked — a question no column on a memory row could answer, because a skipped write produced no memory at all.",
|
|
5445
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-stores",
|
|
5382
5446
|
httpMethod: "get",
|
|
5383
|
-
pathParams: ["
|
|
5447
|
+
pathParams: ["memory_store_id"],
|
|
5448
|
+
queryParams: ["mechanism", "outcome", "generation_id", "since", "limit", "offset"],
|
|
5449
|
+
flags: [{
|
|
5450
|
+
"name": "memory_store_id",
|
|
5451
|
+
"description": "",
|
|
5452
|
+
"required": true,
|
|
5453
|
+
"type": "string",
|
|
5454
|
+
"in": "path"
|
|
5455
|
+
}, {
|
|
5456
|
+
"name": "mechanism",
|
|
5457
|
+
"description": "Only assertions that came through this door.",
|
|
5458
|
+
"required": false,
|
|
5459
|
+
"type": "string",
|
|
5460
|
+
"in": "query"
|
|
5461
|
+
}, {
|
|
5462
|
+
"name": "outcome",
|
|
5463
|
+
"description": "Only assertions that resolved this way.",
|
|
5464
|
+
"required": false,
|
|
5465
|
+
"type": "string",
|
|
5466
|
+
"in": "query"
|
|
5467
|
+
}, {
|
|
5468
|
+
"name": "generation_id",
|
|
5469
|
+
"description": "Only assertions made during this generation. A generation that does not exist matches nothing rather than widening to the whole store.",
|
|
5470
|
+
"required": false,
|
|
5471
|
+
"type": "string",
|
|
5472
|
+
"in": "query"
|
|
5473
|
+
}, {
|
|
5474
|
+
"name": "since",
|
|
5475
|
+
"description": "Only assertions recorded at or after this instant.",
|
|
5476
|
+
"required": false,
|
|
5477
|
+
"type": "string",
|
|
5478
|
+
"in": "query"
|
|
5479
|
+
}, {
|
|
5480
|
+
"name": "limit",
|
|
5481
|
+
"description": "Maximum number of results to return",
|
|
5482
|
+
"required": false,
|
|
5483
|
+
"type": "integer",
|
|
5484
|
+
"in": "query"
|
|
5485
|
+
}, {
|
|
5486
|
+
"name": "offset",
|
|
5487
|
+
"description": "Number of results to skip",
|
|
5488
|
+
"required": false,
|
|
5489
|
+
"type": "integer",
|
|
5490
|
+
"in": "query"
|
|
5491
|
+
}]
|
|
5492
|
+
},
|
|
5493
|
+
"get-memory-store-tags": {
|
|
5494
|
+
serviceClass: "MemoryStores",
|
|
5495
|
+
operationId: "getMemoryStoreTags",
|
|
5496
|
+
description: "Returns all tags attached to the memory store",
|
|
5497
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-stores",
|
|
5498
|
+
httpMethod: "get",
|
|
5499
|
+
pathParams: ["memory_store_id"],
|
|
5384
5500
|
queryParams: [],
|
|
5385
5501
|
flags: [{
|
|
5386
|
-
"name": "
|
|
5387
|
-
"description": "Memory
|
|
5502
|
+
"name": "memory_store_id",
|
|
5503
|
+
"description": "Memory store ID",
|
|
5388
5504
|
"required": true,
|
|
5389
5505
|
"type": "string",
|
|
5390
5506
|
"in": "path"
|
|
5391
5507
|
}]
|
|
5392
5508
|
},
|
|
5393
|
-
"replace-memory-
|
|
5394
|
-
serviceClass: "
|
|
5395
|
-
operationId: "
|
|
5396
|
-
description: "Replaces all tags on the memory
|
|
5397
|
-
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-
|
|
5509
|
+
"replace-memory-store-tags": {
|
|
5510
|
+
serviceClass: "MemoryStores",
|
|
5511
|
+
operationId: "replaceMemoryStoreTags",
|
|
5512
|
+
description: "Replaces all tags on the memory store with the provided tags (not merged)",
|
|
5513
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-stores",
|
|
5398
5514
|
httpMethod: "put",
|
|
5399
|
-
pathParams: ["
|
|
5515
|
+
pathParams: ["memory_store_id"],
|
|
5400
5516
|
queryParams: [],
|
|
5401
5517
|
flags: [{
|
|
5402
|
-
"name": "
|
|
5403
|
-
"description": "Memory
|
|
5518
|
+
"name": "memory_store_id",
|
|
5519
|
+
"description": "Memory store ID",
|
|
5404
5520
|
"required": true,
|
|
5405
5521
|
"type": "string",
|
|
5406
5522
|
"in": "path"
|
|
5407
5523
|
}]
|
|
5408
5524
|
},
|
|
5409
|
-
"merge-memory-
|
|
5410
|
-
serviceClass: "
|
|
5411
|
-
operationId: "
|
|
5412
|
-
description: "Merges provided tags into the memory
|
|
5413
|
-
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-
|
|
5525
|
+
"merge-memory-store-tags": {
|
|
5526
|
+
serviceClass: "MemoryStores",
|
|
5527
|
+
operationId: "mergeMemoryStoreTags",
|
|
5528
|
+
description: "Merges provided tags into the memory store's existing tags (existing tags are preserved unless overridden)",
|
|
5529
|
+
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/memory-stores",
|
|
5414
5530
|
httpMethod: "patch",
|
|
5415
|
-
pathParams: ["
|
|
5531
|
+
pathParams: ["memory_store_id"],
|
|
5416
5532
|
queryParams: [],
|
|
5417
5533
|
flags: [{
|
|
5418
|
-
"name": "
|
|
5419
|
-
"description": "Memory
|
|
5534
|
+
"name": "memory_store_id",
|
|
5535
|
+
"description": "Memory store ID",
|
|
5420
5536
|
"required": true,
|
|
5421
5537
|
"type": "string",
|
|
5422
5538
|
"in": "path"
|
|
@@ -6299,7 +6415,7 @@ var routes = {
|
|
|
6299
6415
|
"delete-project": {
|
|
6300
6416
|
serviceClass: "Projects",
|
|
6301
6417
|
operationId: "deleteProject",
|
|
6302
|
-
description: "Deletes a project. Requires admin role. Fails with `409` if the project has any dependent resource, unless `force=true` is passed, in which case those resources are deleted along with the project. Every project-scoped resource counts: agents, ai providers, model routes, tools, ingestion rules, actors, chats, conversations, sessions, generations, traces, datasets, evals, workflows, tasks, triggers, orchestrations and their runs, formations,
|
|
6418
|
+
description: "Deletes a project. Requires admin role. Fails with `409` if the project has any dependent resource, unless `force=true` is passed, in which case those resources are deleted along with the project. Every project-scoped resource counts: agents, ai providers, model routes, tools, ingestion rules, actors, chats, conversations, sessions, generations, traces, datasets, evals, workflows, tasks, triggers, orchestrations and their runs, formations, memory stores, secrets, files, guardrails, quotas, usage history — and the activity, approval, exception and guardrail-evaluation records a project accumulates while it runs. Audit log entries are the one exception: they outlive the project, keeping their record with `project_id` cleared.",
|
|
6303
6419
|
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
|
|
6304
6420
|
httpMethod: "delete",
|
|
6305
6421
|
pathParams: ["project_id"],
|
|
@@ -6387,7 +6503,7 @@ var routes = {
|
|
|
6387
6503
|
"create-quota": {
|
|
6388
6504
|
serviceClass: "Quotas",
|
|
6389
6505
|
operationId: "createQuota",
|
|
6390
|
-
description: "Creates a project-scoped quota. `requests` is valid for `scope: project`/`api_key`; `tokens` and `cost_usd` are valid for `scope: project`/`agent`/`actor`; `storage_bytes` is valid for `scope: project` only. Any other scope/metric pair is rejected with 400 (no attribution exists to enforce it). An `actor` quota caps one end user's spend, matched from the generation's session; a null `scope_ref` means one budget *per* actor rather than a pooled project total. A `cost_usd` quota may name one `meter_type` to cap; omitting it caps every priced meter. A duplicate quota (same project, scope, scope_ref, metric, window, meter_type) is rejected with 409. `storage_bytes` caps a stored total rather than a windowed one, so it takes `window: current` and every other metric refuses that value (400 either way). It is enforced at the corpus write paths — file upload and create, document create, document ingest and re-ingest, memory
|
|
6506
|
+
description: "Creates a project-scoped quota. `requests` is valid for `scope: project`/`api_key`; `tokens` and `cost_usd` are valid for `scope: project`/`agent`/`actor`; `storage_bytes` is valid for `scope: project` only. Any other scope/metric pair is rejected with 400 (no attribution exists to enforce it). An `actor` quota caps one end user's spend, matched from the generation's session; a null `scope_ref` means one budget *per* actor rather than a pooled project total. A `cost_usd` quota may name one `meter_type` to cap; omitting it caps every priced meter. A duplicate quota (same project, scope, scope_ref, metric, window, meter_type) is rejected with 409. `storage_bytes` caps a stored total rather than a windowed one, so it takes `window: current` and every other metric refuses that value (400 either way). It is enforced at the corpus write paths — file upload and create, document create, document ingest and re-ingest, memory create — with `409 QUOTA_STORAGE_EXCEEDED` and no `Retry-After`, since no window reset clears a footprint.",
|
|
6391
6507
|
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/quotas",
|
|
6392
6508
|
httpMethod: "post",
|
|
6393
6509
|
pathParams: [],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soat/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.51.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.6",
|
|
24
24
|
"@inquirer/password": "^5.2.2",
|
|
25
|
-
"@soat/sdk": "0.
|
|
25
|
+
"@soat/sdk": "0.51.0",
|
|
26
26
|
"@ttoss/logger": "^0.8.20",
|
|
27
27
|
"commander": "^15.0.0",
|
|
28
28
|
"js-yaml": "^5.4.2"
|