@naturali/cli 0.127.11 → 0.129.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 +342 -165
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -14,7 +14,7 @@ var __exportAll = (all, no_symbols) => {
|
|
|
14
14
|
};
|
|
15
15
|
//#endregion
|
|
16
16
|
//#region package.json
|
|
17
|
-
var version = "0.
|
|
17
|
+
var version = "0.129.0";
|
|
18
18
|
//#endregion
|
|
19
19
|
//#region ../sdk/src/generated/core/bodySerializer.gen.ts
|
|
20
20
|
const serializeFormDataPair = (data, key, value) => {
|
|
@@ -3041,7 +3041,7 @@ var Knowledge = class {
|
|
|
3041
3041
|
/**
|
|
3042
3042
|
* Search knowledge
|
|
3043
3043
|
*
|
|
3044
|
-
* Searches across documents and
|
|
3044
|
+
* 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.
|
|
3045
3045
|
*/
|
|
3046
3046
|
static searchKnowledge(options) {
|
|
3047
3047
|
return (options.client ?? client).post({
|
|
@@ -3058,7 +3058,7 @@ var Memories = class {
|
|
|
3058
3058
|
/**
|
|
3059
3059
|
* List memories
|
|
3060
3060
|
*
|
|
3061
|
-
* Returns
|
|
3061
|
+
* Returns all memories in a memory store
|
|
3062
3062
|
*/
|
|
3063
3063
|
static listMemories(options) {
|
|
3064
3064
|
return (options.client ?? client).get({
|
|
@@ -3069,7 +3069,7 @@ var Memories = class {
|
|
|
3069
3069
|
/**
|
|
3070
3070
|
* Create a memory
|
|
3071
3071
|
*
|
|
3072
|
-
*
|
|
3072
|
+
* 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.
|
|
3073
3073
|
*/
|
|
3074
3074
|
static createMemory(options) {
|
|
3075
3075
|
return (options.client ?? client).post({
|
|
@@ -3084,7 +3084,7 @@ var Memories = class {
|
|
|
3084
3084
|
/**
|
|
3085
3085
|
* Delete a memory
|
|
3086
3086
|
*
|
|
3087
|
-
* Deletes a memory
|
|
3087
|
+
* Deletes a memory
|
|
3088
3088
|
*/
|
|
3089
3089
|
static deleteMemory(options) {
|
|
3090
3090
|
return (options.client ?? client).delete({
|
|
@@ -3095,7 +3095,7 @@ var Memories = class {
|
|
|
3095
3095
|
/**
|
|
3096
3096
|
* Get a memory
|
|
3097
3097
|
*
|
|
3098
|
-
* Returns a single memory
|
|
3098
|
+
* Returns a single memory by ID
|
|
3099
3099
|
*/
|
|
3100
3100
|
static getMemory(options) {
|
|
3101
3101
|
return (options.client ?? client).get({
|
|
@@ -3106,7 +3106,7 @@ var Memories = class {
|
|
|
3106
3106
|
/**
|
|
3107
3107
|
* Update a memory
|
|
3108
3108
|
*
|
|
3109
|
-
* Updates an existing memory
|
|
3109
|
+
* Updates an existing memory. Regenerates the embedding if content changes.
|
|
3110
3110
|
*/
|
|
3111
3111
|
static updateMemory(options) {
|
|
3112
3112
|
return (options.client ?? client).put({
|
|
@@ -3119,6 +3119,17 @@ var Memories = class {
|
|
|
3119
3119
|
});
|
|
3120
3120
|
}
|
|
3121
3121
|
/**
|
|
3122
|
+
* List a memory's assertions
|
|
3123
|
+
*
|
|
3124
|
+
* 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.
|
|
3125
|
+
*/
|
|
3126
|
+
static listMemoryAssertions(options) {
|
|
3127
|
+
return (options.client ?? client).get({
|
|
3128
|
+
url: "/v1/projects/{project_id}/memories/{memory_id}/assertions",
|
|
3129
|
+
...options
|
|
3130
|
+
});
|
|
3131
|
+
}
|
|
3132
|
+
/**
|
|
3122
3133
|
* Get memory tags
|
|
3123
3134
|
*
|
|
3124
3135
|
* Returns all tags attached to the memory
|
|
@@ -3160,26 +3171,26 @@ var Memories = class {
|
|
|
3160
3171
|
});
|
|
3161
3172
|
}
|
|
3162
3173
|
};
|
|
3163
|
-
var
|
|
3174
|
+
var MemoryStores = class {
|
|
3164
3175
|
/**
|
|
3165
|
-
* List memory
|
|
3176
|
+
* List memory stores
|
|
3166
3177
|
*
|
|
3167
|
-
* Returns
|
|
3178
|
+
* Returns a list of memory store configurations for a project
|
|
3168
3179
|
*/
|
|
3169
|
-
static
|
|
3180
|
+
static listMemoryStores(options) {
|
|
3170
3181
|
return (options.client ?? client).get({
|
|
3171
|
-
url: "/v1/projects/{project_id}/memory-
|
|
3182
|
+
url: "/v1/projects/{project_id}/memory-stores",
|
|
3172
3183
|
...options
|
|
3173
3184
|
});
|
|
3174
3185
|
}
|
|
3175
3186
|
/**
|
|
3176
|
-
* Create a memory
|
|
3187
|
+
* Create a memory store
|
|
3177
3188
|
*
|
|
3178
|
-
* Creates a new
|
|
3189
|
+
* Creates a new memory store configuration in a project
|
|
3179
3190
|
*/
|
|
3180
|
-
static
|
|
3191
|
+
static createMemoryStore(options) {
|
|
3181
3192
|
return (options.client ?? client).post({
|
|
3182
|
-
url: "/v1/projects/{project_id}/memory-
|
|
3193
|
+
url: "/v1/projects/{project_id}/memory-stores",
|
|
3183
3194
|
...options,
|
|
3184
3195
|
headers: {
|
|
3185
3196
|
"Content-Type": "application/json",
|
|
@@ -3188,35 +3199,35 @@ var MemoryEntries = class {
|
|
|
3188
3199
|
});
|
|
3189
3200
|
}
|
|
3190
3201
|
/**
|
|
3191
|
-
* Delete a memory
|
|
3202
|
+
* Delete a memory store
|
|
3192
3203
|
*
|
|
3193
|
-
* Deletes a memory
|
|
3204
|
+
* Deletes a memory store configuration
|
|
3194
3205
|
*/
|
|
3195
|
-
static
|
|
3206
|
+
static deleteMemoryStore(options) {
|
|
3196
3207
|
return (options.client ?? client).delete({
|
|
3197
|
-
url: "/v1/projects/{project_id}/memory-
|
|
3208
|
+
url: "/v1/projects/{project_id}/memory-stores/{memory_store_id}",
|
|
3198
3209
|
...options
|
|
3199
3210
|
});
|
|
3200
3211
|
}
|
|
3201
3212
|
/**
|
|
3202
|
-
* Get a memory
|
|
3213
|
+
* Get a memory store
|
|
3203
3214
|
*
|
|
3204
|
-
* Returns a single memory
|
|
3215
|
+
* Returns a single memory store configuration by ID
|
|
3205
3216
|
*/
|
|
3206
|
-
static
|
|
3217
|
+
static getMemoryStore(options) {
|
|
3207
3218
|
return (options.client ?? client).get({
|
|
3208
|
-
url: "/v1/projects/{project_id}/memory-
|
|
3219
|
+
url: "/v1/projects/{project_id}/memory-stores/{memory_store_id}",
|
|
3209
3220
|
...options
|
|
3210
3221
|
});
|
|
3211
3222
|
}
|
|
3212
3223
|
/**
|
|
3213
|
-
* Update a memory
|
|
3224
|
+
* Update a memory store
|
|
3214
3225
|
*
|
|
3215
|
-
* Updates an existing memory
|
|
3226
|
+
* Updates an existing memory store configuration
|
|
3216
3227
|
*/
|
|
3217
|
-
static
|
|
3228
|
+
static updateMemoryStore(options) {
|
|
3218
3229
|
return (options.client ?? client).put({
|
|
3219
|
-
url: "/v1/projects/{project_id}/memory-
|
|
3230
|
+
url: "/v1/projects/{project_id}/memory-stores/{memory_store_id}",
|
|
3220
3231
|
...options,
|
|
3221
3232
|
headers: {
|
|
3222
3233
|
"Content-Type": "application/json",
|
|
@@ -3225,24 +3236,35 @@ var MemoryEntries = class {
|
|
|
3225
3236
|
});
|
|
3226
3237
|
}
|
|
3227
3238
|
/**
|
|
3228
|
-
*
|
|
3239
|
+
* List a memory store's write assertions
|
|
3229
3240
|
*
|
|
3230
|
-
* Returns
|
|
3241
|
+
* 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.
|
|
3231
3242
|
*/
|
|
3232
|
-
static
|
|
3243
|
+
static listMemoryStoreAssertions(options) {
|
|
3233
3244
|
return (options.client ?? client).get({
|
|
3234
|
-
url: "/v1/projects/{project_id}/memory-
|
|
3245
|
+
url: "/v1/projects/{project_id}/memory-stores/{memory_store_id}/assertions",
|
|
3235
3246
|
...options
|
|
3236
3247
|
});
|
|
3237
3248
|
}
|
|
3238
3249
|
/**
|
|
3239
|
-
*
|
|
3250
|
+
* Get memory store tags
|
|
3240
3251
|
*
|
|
3241
|
-
*
|
|
3252
|
+
* Returns all tags attached to the memory store
|
|
3242
3253
|
*/
|
|
3243
|
-
static
|
|
3254
|
+
static getMemoryStoreTags(options) {
|
|
3255
|
+
return (options.client ?? client).get({
|
|
3256
|
+
url: "/v1/projects/{project_id}/memory-stores/{memory_store_id}/tags",
|
|
3257
|
+
...options
|
|
3258
|
+
});
|
|
3259
|
+
}
|
|
3260
|
+
/**
|
|
3261
|
+
* Merge memory store tags
|
|
3262
|
+
*
|
|
3263
|
+
* Merges provided tags into the memory store's existing tags (existing tags are preserved unless overridden)
|
|
3264
|
+
*/
|
|
3265
|
+
static mergeMemoryStoreTags(options) {
|
|
3244
3266
|
return (options.client ?? client).patch({
|
|
3245
|
-
url: "/v1/projects/{project_id}/memory-
|
|
3267
|
+
url: "/v1/projects/{project_id}/memory-stores/{memory_store_id}/tags",
|
|
3246
3268
|
...options,
|
|
3247
3269
|
headers: {
|
|
3248
3270
|
"Content-Type": "application/json",
|
|
@@ -3251,13 +3273,13 @@ var MemoryEntries = class {
|
|
|
3251
3273
|
});
|
|
3252
3274
|
}
|
|
3253
3275
|
/**
|
|
3254
|
-
* Replace memory
|
|
3276
|
+
* Replace memory store tags
|
|
3255
3277
|
*
|
|
3256
|
-
* Replaces all tags on the memory
|
|
3278
|
+
* Replaces all tags on the memory store with the provided tags (not merged)
|
|
3257
3279
|
*/
|
|
3258
|
-
static
|
|
3280
|
+
static replaceMemoryStoreTags(options) {
|
|
3259
3281
|
return (options.client ?? client).put({
|
|
3260
|
-
url: "/v1/projects/{project_id}/memory-
|
|
3282
|
+
url: "/v1/projects/{project_id}/memory-stores/{memory_store_id}/tags",
|
|
3261
3283
|
...options,
|
|
3262
3284
|
headers: {
|
|
3263
3285
|
"Content-Type": "application/json",
|
|
@@ -3844,7 +3866,7 @@ var Quotas = class {
|
|
|
3844
3866
|
*
|
|
3845
3867
|
* 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.
|
|
3846
3868
|
*
|
|
3847
|
-
* `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
|
|
3869
|
+
* `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.
|
|
3848
3870
|
*/
|
|
3849
3871
|
static createQuota(options) {
|
|
3850
3872
|
return (options.client ?? client).post({
|
|
@@ -4900,7 +4922,7 @@ var NaturaliClient = class {
|
|
|
4900
4922
|
ingestionRules;
|
|
4901
4923
|
knowledge;
|
|
4902
4924
|
memories;
|
|
4903
|
-
|
|
4925
|
+
memoryStores;
|
|
4904
4926
|
modelRoutes;
|
|
4905
4927
|
quotas;
|
|
4906
4928
|
models;
|
|
@@ -4950,7 +4972,7 @@ var NaturaliClient = class {
|
|
|
4950
4972
|
this.ingestionRules = bindResource(IngestionRules, this.http);
|
|
4951
4973
|
this.knowledge = bindResource(Knowledge, this.http);
|
|
4952
4974
|
this.memories = bindResource(Memories, this.http);
|
|
4953
|
-
this.
|
|
4975
|
+
this.memoryStores = bindResource(MemoryStores, this.http);
|
|
4954
4976
|
this.modelRoutes = bindResource(ModelRoutes, this.http);
|
|
4955
4977
|
this.quotas = bindResource(Quotas, this.http);
|
|
4956
4978
|
this.models = bindResource(Models, this.http);
|
|
@@ -4995,7 +5017,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
4995
5017
|
IngestionRules: () => IngestionRules,
|
|
4996
5018
|
Knowledge: () => Knowledge,
|
|
4997
5019
|
Memories: () => Memories,
|
|
4998
|
-
|
|
5020
|
+
MemoryStores: () => MemoryStores,
|
|
4999
5021
|
ModelRoutes: () => ModelRoutes,
|
|
5000
5022
|
Models: () => Models,
|
|
5001
5023
|
NaturaliClient: () => NaturaliClient,
|
|
@@ -6916,14 +6938,14 @@ const routes = {
|
|
|
6916
6938
|
},
|
|
6917
6939
|
{
|
|
6918
6940
|
"name": "extract",
|
|
6919
|
-
"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 `
|
|
6941
|
+
"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.",
|
|
6920
6942
|
"required": false,
|
|
6921
6943
|
"type": "boolean",
|
|
6922
6944
|
"in": "body"
|
|
6923
6945
|
},
|
|
6924
6946
|
{
|
|
6925
6947
|
"name": "knowledge_config",
|
|
6926
|
-
"description": "Per-generation knowledge retrieval override. Array filters (
|
|
6948
|
+
"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.",
|
|
6927
6949
|
"required": false,
|
|
6928
6950
|
"type": "object",
|
|
6929
6951
|
"in": "body"
|
|
@@ -12286,7 +12308,7 @@ const routes = {
|
|
|
12286
12308
|
"search-knowledge": {
|
|
12287
12309
|
serviceClass: "Knowledge",
|
|
12288
12310
|
operationId: "searchKnowledge",
|
|
12289
|
-
description: "Searches across documents and
|
|
12311
|
+
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.",
|
|
12290
12312
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/knowledge",
|
|
12291
12313
|
httpMethod: "post",
|
|
12292
12314
|
pathParams: ["project_id"],
|
|
@@ -12329,7 +12351,7 @@ const routes = {
|
|
|
12329
12351
|
},
|
|
12330
12352
|
{
|
|
12331
12353
|
"name": "recency_half_life_days",
|
|
12332
|
-
"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.",
|
|
12354
|
+
"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.",
|
|
12333
12355
|
"required": false,
|
|
12334
12356
|
"type": "number",
|
|
12335
12357
|
"in": "body"
|
|
@@ -12342,8 +12364,8 @@ const routes = {
|
|
|
12342
12364
|
"in": "body"
|
|
12343
12365
|
},
|
|
12344
12366
|
{
|
|
12345
|
-
"name": "
|
|
12346
|
-
"description": "Search
|
|
12367
|
+
"name": "memory_store_ids",
|
|
12368
|
+
"description": "Search memories within these specific memory stores",
|
|
12347
12369
|
"required": false,
|
|
12348
12370
|
"type": "array",
|
|
12349
12371
|
"in": "body"
|
|
@@ -12364,7 +12386,7 @@ const routes = {
|
|
|
12364
12386
|
},
|
|
12365
12387
|
{
|
|
12366
12388
|
"name": "tags",
|
|
12367
|
-
"description": "Filter results to documents and
|
|
12389
|
+
"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.",
|
|
12368
12390
|
"required": false,
|
|
12369
12391
|
"type": "string",
|
|
12370
12392
|
"in": "body"
|
|
@@ -12374,14 +12396,16 @@ const routes = {
|
|
|
12374
12396
|
"list-memories": {
|
|
12375
12397
|
serviceClass: "Memories",
|
|
12376
12398
|
operationId: "listMemories",
|
|
12377
|
-
description: "Returns
|
|
12399
|
+
description: "Returns all memories in a memory store",
|
|
12378
12400
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memories",
|
|
12379
12401
|
httpMethod: "get",
|
|
12380
12402
|
pathParams: ["project_id"],
|
|
12381
12403
|
queryParams: [
|
|
12404
|
+
"memory_store_id",
|
|
12382
12405
|
"tags",
|
|
12383
12406
|
"limit",
|
|
12384
|
-
"offset"
|
|
12407
|
+
"offset",
|
|
12408
|
+
"include_invalidated"
|
|
12385
12409
|
],
|
|
12386
12410
|
flags: [
|
|
12387
12411
|
{
|
|
@@ -12391,6 +12415,13 @@ const routes = {
|
|
|
12391
12415
|
"type": "string",
|
|
12392
12416
|
"in": "path"
|
|
12393
12417
|
},
|
|
12418
|
+
{
|
|
12419
|
+
"name": "memory_store_id",
|
|
12420
|
+
"description": "Memory store to list memories from (mstore_...)",
|
|
12421
|
+
"required": true,
|
|
12422
|
+
"type": "string",
|
|
12423
|
+
"in": "query"
|
|
12424
|
+
},
|
|
12394
12425
|
{
|
|
12395
12426
|
"name": "tags",
|
|
12396
12427
|
"description": "Filter by tag pairs, written `key:value` (split on the first colon, so a value may contain colons). Repeat the parameter for several pairs; **all** must be present with exactly that value.\n",
|
|
@@ -12411,13 +12442,20 @@ const routes = {
|
|
|
12411
12442
|
"required": false,
|
|
12412
12443
|
"type": "integer",
|
|
12413
12444
|
"in": "query"
|
|
12445
|
+
},
|
|
12446
|
+
{
|
|
12447
|
+
"name": "include_invalidated",
|
|
12448
|
+
"description": "Include invalidated (superseded) memories. They are excluded by default; set this to audit the supersede history.",
|
|
12449
|
+
"required": false,
|
|
12450
|
+
"type": "boolean",
|
|
12451
|
+
"in": "query"
|
|
12414
12452
|
}
|
|
12415
12453
|
]
|
|
12416
12454
|
},
|
|
12417
12455
|
"create-memory": {
|
|
12418
12456
|
serviceClass: "Memories",
|
|
12419
12457
|
operationId: "createMemory",
|
|
12420
|
-
description: "
|
|
12458
|
+
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.",
|
|
12421
12459
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memories",
|
|
12422
12460
|
httpMethod: "post",
|
|
12423
12461
|
pathParams: ["project_id"],
|
|
@@ -12431,32 +12469,67 @@ const routes = {
|
|
|
12431
12469
|
"in": "path"
|
|
12432
12470
|
},
|
|
12433
12471
|
{
|
|
12434
|
-
"name": "
|
|
12435
|
-
"description": "Memory
|
|
12472
|
+
"name": "memory_store_id",
|
|
12473
|
+
"description": "Memory store to add the memory to (mstore_...)",
|
|
12436
12474
|
"required": true,
|
|
12437
12475
|
"type": "string",
|
|
12438
12476
|
"in": "body"
|
|
12439
12477
|
},
|
|
12440
12478
|
{
|
|
12441
|
-
"name": "
|
|
12442
|
-
"description": "
|
|
12479
|
+
"name": "content",
|
|
12480
|
+
"description": "The text content of the memory",
|
|
12481
|
+
"required": true,
|
|
12482
|
+
"type": "string",
|
|
12483
|
+
"in": "body"
|
|
12484
|
+
},
|
|
12485
|
+
{
|
|
12486
|
+
"name": "source_type",
|
|
12487
|
+
"description": "Whether there is a source to point at. `conversation` requires `source_id`; `manual` rejects it.",
|
|
12488
|
+
"required": false,
|
|
12489
|
+
"type": "string",
|
|
12490
|
+
"in": "body"
|
|
12491
|
+
},
|
|
12492
|
+
{
|
|
12493
|
+
"name": "source_id",
|
|
12494
|
+
"description": "The conversation this fact was learned in. Required when `source_type` is `conversation`, and rejected otherwise.",
|
|
12443
12495
|
"required": false,
|
|
12444
12496
|
"type": "string",
|
|
12445
12497
|
"in": "body"
|
|
12446
12498
|
},
|
|
12447
12499
|
{
|
|
12448
12500
|
"name": "tags",
|
|
12449
|
-
"description": "
|
|
12501
|
+
"description": "Per-memory key-value tags, used for memory-granularity filtering by `tags` in search-knowledge.",
|
|
12450
12502
|
"required": false,
|
|
12451
12503
|
"type": "string",
|
|
12452
12504
|
"in": "body"
|
|
12505
|
+
},
|
|
12506
|
+
{
|
|
12507
|
+
"name": "metadata",
|
|
12508
|
+
"description": "Arbitrary structured metadata attached to the memory",
|
|
12509
|
+
"required": false,
|
|
12510
|
+
"type": "object",
|
|
12511
|
+
"in": "body"
|
|
12512
|
+
},
|
|
12513
|
+
{
|
|
12514
|
+
"name": "duplicate_threshold",
|
|
12515
|
+
"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`.",
|
|
12516
|
+
"required": false,
|
|
12517
|
+
"type": "number",
|
|
12518
|
+
"in": "body"
|
|
12519
|
+
},
|
|
12520
|
+
{
|
|
12521
|
+
"name": "supersede_threshold",
|
|
12522
|
+
"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.",
|
|
12523
|
+
"required": false,
|
|
12524
|
+
"type": "number",
|
|
12525
|
+
"in": "body"
|
|
12453
12526
|
}
|
|
12454
12527
|
]
|
|
12455
12528
|
},
|
|
12456
12529
|
"get-memory": {
|
|
12457
12530
|
serviceClass: "Memories",
|
|
12458
12531
|
operationId: "getMemory",
|
|
12459
|
-
description: "Returns a single memory
|
|
12532
|
+
description: "Returns a single memory by ID",
|
|
12460
12533
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memories",
|
|
12461
12534
|
httpMethod: "get",
|
|
12462
12535
|
pathParams: ["project_id", "memory_id"],
|
|
@@ -12478,7 +12551,7 @@ const routes = {
|
|
|
12478
12551
|
"update-memory": {
|
|
12479
12552
|
serviceClass: "Memories",
|
|
12480
12553
|
operationId: "updateMemory",
|
|
12481
|
-
description: "Updates an existing memory
|
|
12554
|
+
description: "Updates an existing memory. Regenerates the embedding if content changes.",
|
|
12482
12555
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memories",
|
|
12483
12556
|
httpMethod: "put",
|
|
12484
12557
|
pathParams: ["project_id", "memory_id"],
|
|
@@ -12499,24 +12572,24 @@ const routes = {
|
|
|
12499
12572
|
"in": "path"
|
|
12500
12573
|
},
|
|
12501
12574
|
{
|
|
12502
|
-
"name": "
|
|
12503
|
-
"description": "
|
|
12575
|
+
"name": "content",
|
|
12576
|
+
"description": "Updated text content",
|
|
12504
12577
|
"required": false,
|
|
12505
12578
|
"type": "string",
|
|
12506
12579
|
"in": "body"
|
|
12507
12580
|
},
|
|
12508
12581
|
{
|
|
12509
|
-
"name": "
|
|
12510
|
-
"description": "
|
|
12582
|
+
"name": "tags",
|
|
12583
|
+
"description": "Replaces the memory's tags. Pass null or an empty object to clear.",
|
|
12511
12584
|
"required": false,
|
|
12512
12585
|
"type": "string",
|
|
12513
12586
|
"in": "body"
|
|
12514
12587
|
},
|
|
12515
12588
|
{
|
|
12516
|
-
"name": "
|
|
12517
|
-
"description": "
|
|
12589
|
+
"name": "metadata",
|
|
12590
|
+
"description": "Replaces the memory's metadata. Pass null to clear.",
|
|
12518
12591
|
"required": false,
|
|
12519
|
-
"type": "
|
|
12592
|
+
"type": "object",
|
|
12520
12593
|
"in": "body"
|
|
12521
12594
|
}
|
|
12522
12595
|
]
|
|
@@ -12524,7 +12597,7 @@ const routes = {
|
|
|
12524
12597
|
"delete-memory": {
|
|
12525
12598
|
serviceClass: "Memories",
|
|
12526
12599
|
operationId: "deleteMemory",
|
|
12527
|
-
description: "Deletes a memory
|
|
12600
|
+
description: "Deletes a memory",
|
|
12528
12601
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memories",
|
|
12529
12602
|
httpMethod: "delete",
|
|
12530
12603
|
pathParams: ["project_id", "memory_id"],
|
|
@@ -12543,6 +12616,45 @@ const routes = {
|
|
|
12543
12616
|
"in": "path"
|
|
12544
12617
|
}]
|
|
12545
12618
|
},
|
|
12619
|
+
"list-memory-assertions": {
|
|
12620
|
+
serviceClass: "Memories",
|
|
12621
|
+
operationId: "listMemoryAssertions",
|
|
12622
|
+
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.",
|
|
12623
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memories",
|
|
12624
|
+
httpMethod: "get",
|
|
12625
|
+
pathParams: ["project_id", "memory_id"],
|
|
12626
|
+
queryParams: ["limit", "offset"],
|
|
12627
|
+
flags: [
|
|
12628
|
+
{
|
|
12629
|
+
"name": "project_id",
|
|
12630
|
+
"description": "Project public ID (proj_ prefix).",
|
|
12631
|
+
"required": true,
|
|
12632
|
+
"type": "string",
|
|
12633
|
+
"in": "path"
|
|
12634
|
+
},
|
|
12635
|
+
{
|
|
12636
|
+
"name": "memory_id",
|
|
12637
|
+
"description": "",
|
|
12638
|
+
"required": true,
|
|
12639
|
+
"type": "string",
|
|
12640
|
+
"in": "path"
|
|
12641
|
+
},
|
|
12642
|
+
{
|
|
12643
|
+
"name": "limit",
|
|
12644
|
+
"description": "Maximum number of results to return",
|
|
12645
|
+
"required": false,
|
|
12646
|
+
"type": "integer",
|
|
12647
|
+
"in": "query"
|
|
12648
|
+
},
|
|
12649
|
+
{
|
|
12650
|
+
"name": "offset",
|
|
12651
|
+
"description": "Number of results to skip",
|
|
12652
|
+
"required": false,
|
|
12653
|
+
"type": "integer",
|
|
12654
|
+
"in": "query"
|
|
12655
|
+
}
|
|
12656
|
+
]
|
|
12657
|
+
},
|
|
12546
12658
|
"get-memory-tags": {
|
|
12547
12659
|
serviceClass: "Memories",
|
|
12548
12660
|
operationId: "getMemoryTags",
|
|
@@ -12609,19 +12721,17 @@ const routes = {
|
|
|
12609
12721
|
"in": "path"
|
|
12610
12722
|
}]
|
|
12611
12723
|
},
|
|
12612
|
-
"list-memory-
|
|
12613
|
-
serviceClass: "
|
|
12614
|
-
operationId: "
|
|
12615
|
-
description: "Returns
|
|
12616
|
-
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-
|
|
12724
|
+
"list-memory-stores": {
|
|
12725
|
+
serviceClass: "MemoryStores",
|
|
12726
|
+
operationId: "listMemoryStores",
|
|
12727
|
+
description: "Returns a list of memory store configurations for a project",
|
|
12728
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-stores",
|
|
12617
12729
|
httpMethod: "get",
|
|
12618
12730
|
pathParams: ["project_id"],
|
|
12619
12731
|
queryParams: [
|
|
12620
|
-
"memory_id",
|
|
12621
12732
|
"tags",
|
|
12622
12733
|
"limit",
|
|
12623
|
-
"offset"
|
|
12624
|
-
"include_invalidated"
|
|
12734
|
+
"offset"
|
|
12625
12735
|
],
|
|
12626
12736
|
flags: [
|
|
12627
12737
|
{
|
|
@@ -12631,13 +12741,6 @@ const routes = {
|
|
|
12631
12741
|
"type": "string",
|
|
12632
12742
|
"in": "path"
|
|
12633
12743
|
},
|
|
12634
|
-
{
|
|
12635
|
-
"name": "memory_id",
|
|
12636
|
-
"description": "Memory container to list entries from (mem_...)",
|
|
12637
|
-
"required": true,
|
|
12638
|
-
"type": "string",
|
|
12639
|
-
"in": "query"
|
|
12640
|
-
},
|
|
12641
12744
|
{
|
|
12642
12745
|
"name": "tags",
|
|
12643
12746
|
"description": "Filter by tag pairs, written `key:value` (split on the first colon, so a value may contain colons). Repeat the parameter for several pairs; **all** must be present with exactly that value.\n",
|
|
@@ -12658,21 +12761,14 @@ const routes = {
|
|
|
12658
12761
|
"required": false,
|
|
12659
12762
|
"type": "integer",
|
|
12660
12763
|
"in": "query"
|
|
12661
|
-
},
|
|
12662
|
-
{
|
|
12663
|
-
"name": "include_invalidated",
|
|
12664
|
-
"description": "Include invalidated (superseded) entries. They are excluded by default; set this to audit the supersede history.",
|
|
12665
|
-
"required": false,
|
|
12666
|
-
"type": "boolean",
|
|
12667
|
-
"in": "query"
|
|
12668
12764
|
}
|
|
12669
12765
|
]
|
|
12670
12766
|
},
|
|
12671
|
-
"create-memory-
|
|
12672
|
-
serviceClass: "
|
|
12673
|
-
operationId: "
|
|
12674
|
-
description: "Creates a new
|
|
12675
|
-
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-
|
|
12767
|
+
"create-memory-store": {
|
|
12768
|
+
serviceClass: "MemoryStores",
|
|
12769
|
+
operationId: "createMemoryStore",
|
|
12770
|
+
description: "Creates a new memory store configuration in a project",
|
|
12771
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-stores",
|
|
12676
12772
|
httpMethod: "post",
|
|
12677
12773
|
pathParams: ["project_id"],
|
|
12678
12774
|
queryParams: [],
|
|
@@ -12685,56 +12781,49 @@ const routes = {
|
|
|
12685
12781
|
"in": "path"
|
|
12686
12782
|
},
|
|
12687
12783
|
{
|
|
12688
|
-
"name": "
|
|
12689
|
-
"description": "Memory
|
|
12690
|
-
"required": true,
|
|
12691
|
-
"type": "string",
|
|
12692
|
-
"in": "body"
|
|
12693
|
-
},
|
|
12694
|
-
{
|
|
12695
|
-
"name": "content",
|
|
12696
|
-
"description": "The text content of the memory entry",
|
|
12784
|
+
"name": "name",
|
|
12785
|
+
"description": "Memory store name",
|
|
12697
12786
|
"required": true,
|
|
12698
12787
|
"type": "string",
|
|
12699
12788
|
"in": "body"
|
|
12700
12789
|
},
|
|
12701
12790
|
{
|
|
12702
|
-
"name": "
|
|
12703
|
-
"description": "
|
|
12791
|
+
"name": "description",
|
|
12792
|
+
"description": "Optional description",
|
|
12704
12793
|
"required": false,
|
|
12705
12794
|
"type": "string",
|
|
12706
12795
|
"in": "body"
|
|
12707
12796
|
},
|
|
12708
12797
|
{
|
|
12709
12798
|
"name": "tags",
|
|
12710
|
-
"description": "
|
|
12799
|
+
"description": "Optional key-value tags. Scopes the memory store in knowledge search, where every requested pair must match exactly.",
|
|
12711
12800
|
"required": false,
|
|
12712
12801
|
"type": "string",
|
|
12713
12802
|
"in": "body"
|
|
12714
12803
|
},
|
|
12715
12804
|
{
|
|
12716
|
-
"name": "
|
|
12717
|
-
"description": "
|
|
12805
|
+
"name": "duplicate_threshold",
|
|
12806
|
+
"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 /v1/projects/{project_id}/memories` call may override it; the agent tool and the post-turn rule never can.",
|
|
12718
12807
|
"required": false,
|
|
12719
|
-
"type": "
|
|
12808
|
+
"type": "number",
|
|
12720
12809
|
"in": "body"
|
|
12721
12810
|
},
|
|
12722
12811
|
{
|
|
12723
|
-
"name": "
|
|
12724
|
-
"description": "Cosine similarity
|
|
12812
|
+
"name": "supersede_threshold",
|
|
12813
|
+
"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`.",
|
|
12725
12814
|
"required": false,
|
|
12726
12815
|
"type": "number",
|
|
12727
12816
|
"in": "body"
|
|
12728
12817
|
}
|
|
12729
12818
|
]
|
|
12730
12819
|
},
|
|
12731
|
-
"get-memory-
|
|
12732
|
-
serviceClass: "
|
|
12733
|
-
operationId: "
|
|
12734
|
-
description: "Returns a single memory
|
|
12735
|
-
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-
|
|
12820
|
+
"get-memory-store": {
|
|
12821
|
+
serviceClass: "MemoryStores",
|
|
12822
|
+
operationId: "getMemoryStore",
|
|
12823
|
+
description: "Returns a single memory store configuration by ID",
|
|
12824
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-stores",
|
|
12736
12825
|
httpMethod: "get",
|
|
12737
|
-
pathParams: ["project_id", "
|
|
12826
|
+
pathParams: ["project_id", "memory_store_id"],
|
|
12738
12827
|
queryParams: [],
|
|
12739
12828
|
flags: [{
|
|
12740
12829
|
"name": "project_id",
|
|
@@ -12743,20 +12832,20 @@ const routes = {
|
|
|
12743
12832
|
"type": "string",
|
|
12744
12833
|
"in": "path"
|
|
12745
12834
|
}, {
|
|
12746
|
-
"name": "
|
|
12835
|
+
"name": "memory_store_id",
|
|
12747
12836
|
"description": "",
|
|
12748
12837
|
"required": true,
|
|
12749
12838
|
"type": "string",
|
|
12750
12839
|
"in": "path"
|
|
12751
12840
|
}]
|
|
12752
12841
|
},
|
|
12753
|
-
"update-memory-
|
|
12754
|
-
serviceClass: "
|
|
12755
|
-
operationId: "
|
|
12756
|
-
description: "Updates an existing memory
|
|
12757
|
-
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-
|
|
12842
|
+
"update-memory-store": {
|
|
12843
|
+
serviceClass: "MemoryStores",
|
|
12844
|
+
operationId: "updateMemoryStore",
|
|
12845
|
+
description: "Updates an existing memory store configuration",
|
|
12846
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-stores",
|
|
12758
12847
|
httpMethod: "put",
|
|
12759
|
-
pathParams: ["project_id", "
|
|
12848
|
+
pathParams: ["project_id", "memory_store_id"],
|
|
12760
12849
|
queryParams: [],
|
|
12761
12850
|
flags: [
|
|
12762
12851
|
{
|
|
@@ -12767,42 +12856,56 @@ const routes = {
|
|
|
12767
12856
|
"in": "path"
|
|
12768
12857
|
},
|
|
12769
12858
|
{
|
|
12770
|
-
"name": "
|
|
12859
|
+
"name": "memory_store_id",
|
|
12771
12860
|
"description": "",
|
|
12772
12861
|
"required": true,
|
|
12773
12862
|
"type": "string",
|
|
12774
12863
|
"in": "path"
|
|
12775
12864
|
},
|
|
12776
12865
|
{
|
|
12777
|
-
"name": "
|
|
12778
|
-
"description": "
|
|
12866
|
+
"name": "name",
|
|
12867
|
+
"description": "Memory store name",
|
|
12868
|
+
"required": false,
|
|
12869
|
+
"type": "string",
|
|
12870
|
+
"in": "body"
|
|
12871
|
+
},
|
|
12872
|
+
{
|
|
12873
|
+
"name": "description",
|
|
12874
|
+
"description": "Optional description",
|
|
12779
12875
|
"required": false,
|
|
12780
12876
|
"type": "string",
|
|
12781
12877
|
"in": "body"
|
|
12782
12878
|
},
|
|
12783
12879
|
{
|
|
12784
12880
|
"name": "tags",
|
|
12785
|
-
"description": "
|
|
12881
|
+
"description": "Optional key-value tags. Replaces the stored bag; `null` clears it.",
|
|
12786
12882
|
"required": false,
|
|
12787
12883
|
"type": "string",
|
|
12788
12884
|
"in": "body"
|
|
12789
12885
|
},
|
|
12790
12886
|
{
|
|
12791
|
-
"name": "
|
|
12792
|
-
"description": "
|
|
12887
|
+
"name": "duplicate_threshold",
|
|
12888
|
+
"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 /v1/projects/{project_id}/memories` call may override it; the agent tool and the post-turn rule never can.",
|
|
12793
12889
|
"required": false,
|
|
12794
|
-
"type": "
|
|
12890
|
+
"type": "number",
|
|
12891
|
+
"in": "body"
|
|
12892
|
+
},
|
|
12893
|
+
{
|
|
12894
|
+
"name": "supersede_threshold",
|
|
12895
|
+
"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`.",
|
|
12896
|
+
"required": false,
|
|
12897
|
+
"type": "number",
|
|
12795
12898
|
"in": "body"
|
|
12796
12899
|
}
|
|
12797
12900
|
]
|
|
12798
12901
|
},
|
|
12799
|
-
"delete-memory-
|
|
12800
|
-
serviceClass: "
|
|
12801
|
-
operationId: "
|
|
12802
|
-
description: "Deletes a memory
|
|
12803
|
-
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-
|
|
12902
|
+
"delete-memory-store": {
|
|
12903
|
+
serviceClass: "MemoryStores",
|
|
12904
|
+
operationId: "deleteMemoryStore",
|
|
12905
|
+
description: "Deletes a memory store configuration",
|
|
12906
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-stores",
|
|
12804
12907
|
httpMethod: "delete",
|
|
12805
|
-
pathParams: ["project_id", "
|
|
12908
|
+
pathParams: ["project_id", "memory_store_id"],
|
|
12806
12909
|
queryParams: [],
|
|
12807
12910
|
flags: [{
|
|
12808
12911
|
"name": "project_id",
|
|
@@ -12811,20 +12914,94 @@ const routes = {
|
|
|
12811
12914
|
"type": "string",
|
|
12812
12915
|
"in": "path"
|
|
12813
12916
|
}, {
|
|
12814
|
-
"name": "
|
|
12917
|
+
"name": "memory_store_id",
|
|
12815
12918
|
"description": "",
|
|
12816
12919
|
"required": true,
|
|
12817
12920
|
"type": "string",
|
|
12818
12921
|
"in": "path"
|
|
12819
12922
|
}]
|
|
12820
12923
|
},
|
|
12821
|
-
"
|
|
12822
|
-
serviceClass: "
|
|
12823
|
-
operationId: "
|
|
12824
|
-
description: "Returns
|
|
12825
|
-
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-
|
|
12924
|
+
"list-memory-store-assertions": {
|
|
12925
|
+
serviceClass: "MemoryStores",
|
|
12926
|
+
operationId: "listMemoryStoreAssertions",
|
|
12927
|
+
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.",
|
|
12928
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-stores",
|
|
12826
12929
|
httpMethod: "get",
|
|
12827
|
-
pathParams: ["project_id", "
|
|
12930
|
+
pathParams: ["project_id", "memory_store_id"],
|
|
12931
|
+
queryParams: [
|
|
12932
|
+
"mechanism",
|
|
12933
|
+
"outcome",
|
|
12934
|
+
"generation_id",
|
|
12935
|
+
"since",
|
|
12936
|
+
"limit",
|
|
12937
|
+
"offset"
|
|
12938
|
+
],
|
|
12939
|
+
flags: [
|
|
12940
|
+
{
|
|
12941
|
+
"name": "project_id",
|
|
12942
|
+
"description": "Project public ID (proj_ prefix).",
|
|
12943
|
+
"required": true,
|
|
12944
|
+
"type": "string",
|
|
12945
|
+
"in": "path"
|
|
12946
|
+
},
|
|
12947
|
+
{
|
|
12948
|
+
"name": "memory_store_id",
|
|
12949
|
+
"description": "",
|
|
12950
|
+
"required": true,
|
|
12951
|
+
"type": "string",
|
|
12952
|
+
"in": "path"
|
|
12953
|
+
},
|
|
12954
|
+
{
|
|
12955
|
+
"name": "mechanism",
|
|
12956
|
+
"description": "Only assertions that came through this door.",
|
|
12957
|
+
"required": false,
|
|
12958
|
+
"type": "string",
|
|
12959
|
+
"in": "query"
|
|
12960
|
+
},
|
|
12961
|
+
{
|
|
12962
|
+
"name": "outcome",
|
|
12963
|
+
"description": "Only assertions that resolved this way.",
|
|
12964
|
+
"required": false,
|
|
12965
|
+
"type": "string",
|
|
12966
|
+
"in": "query"
|
|
12967
|
+
},
|
|
12968
|
+
{
|
|
12969
|
+
"name": "generation_id",
|
|
12970
|
+
"description": "Only assertions made during this generation. A generation that does not exist matches nothing rather than widening to the whole store.",
|
|
12971
|
+
"required": false,
|
|
12972
|
+
"type": "string",
|
|
12973
|
+
"in": "query"
|
|
12974
|
+
},
|
|
12975
|
+
{
|
|
12976
|
+
"name": "since",
|
|
12977
|
+
"description": "Only assertions recorded at or after this instant.",
|
|
12978
|
+
"required": false,
|
|
12979
|
+
"type": "string",
|
|
12980
|
+
"in": "query"
|
|
12981
|
+
},
|
|
12982
|
+
{
|
|
12983
|
+
"name": "limit",
|
|
12984
|
+
"description": "Maximum number of results to return",
|
|
12985
|
+
"required": false,
|
|
12986
|
+
"type": "integer",
|
|
12987
|
+
"in": "query"
|
|
12988
|
+
},
|
|
12989
|
+
{
|
|
12990
|
+
"name": "offset",
|
|
12991
|
+
"description": "Number of results to skip",
|
|
12992
|
+
"required": false,
|
|
12993
|
+
"type": "integer",
|
|
12994
|
+
"in": "query"
|
|
12995
|
+
}
|
|
12996
|
+
]
|
|
12997
|
+
},
|
|
12998
|
+
"get-memory-store-tags": {
|
|
12999
|
+
serviceClass: "MemoryStores",
|
|
13000
|
+
operationId: "getMemoryStoreTags",
|
|
13001
|
+
description: "Returns all tags attached to the memory store",
|
|
13002
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-stores",
|
|
13003
|
+
httpMethod: "get",
|
|
13004
|
+
pathParams: ["project_id", "memory_store_id"],
|
|
12828
13005
|
queryParams: [],
|
|
12829
13006
|
flags: [{
|
|
12830
13007
|
"name": "project_id",
|
|
@@ -12833,20 +13010,20 @@ const routes = {
|
|
|
12833
13010
|
"type": "string",
|
|
12834
13011
|
"in": "path"
|
|
12835
13012
|
}, {
|
|
12836
|
-
"name": "
|
|
12837
|
-
"description": "Memory
|
|
13013
|
+
"name": "memory_store_id",
|
|
13014
|
+
"description": "Memory store ID",
|
|
12838
13015
|
"required": true,
|
|
12839
13016
|
"type": "string",
|
|
12840
13017
|
"in": "path"
|
|
12841
13018
|
}]
|
|
12842
13019
|
},
|
|
12843
|
-
"replace-memory-
|
|
12844
|
-
serviceClass: "
|
|
12845
|
-
operationId: "
|
|
12846
|
-
description: "Replaces all tags on the memory
|
|
12847
|
-
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-
|
|
13020
|
+
"replace-memory-store-tags": {
|
|
13021
|
+
serviceClass: "MemoryStores",
|
|
13022
|
+
operationId: "replaceMemoryStoreTags",
|
|
13023
|
+
description: "Replaces all tags on the memory store with the provided tags (not merged)",
|
|
13024
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-stores",
|
|
12848
13025
|
httpMethod: "put",
|
|
12849
|
-
pathParams: ["project_id", "
|
|
13026
|
+
pathParams: ["project_id", "memory_store_id"],
|
|
12850
13027
|
queryParams: [],
|
|
12851
13028
|
flags: [{
|
|
12852
13029
|
"name": "project_id",
|
|
@@ -12855,20 +13032,20 @@ const routes = {
|
|
|
12855
13032
|
"type": "string",
|
|
12856
13033
|
"in": "path"
|
|
12857
13034
|
}, {
|
|
12858
|
-
"name": "
|
|
12859
|
-
"description": "Memory
|
|
13035
|
+
"name": "memory_store_id",
|
|
13036
|
+
"description": "Memory store ID",
|
|
12860
13037
|
"required": true,
|
|
12861
13038
|
"type": "string",
|
|
12862
13039
|
"in": "path"
|
|
12863
13040
|
}]
|
|
12864
13041
|
},
|
|
12865
|
-
"merge-memory-
|
|
12866
|
-
serviceClass: "
|
|
12867
|
-
operationId: "
|
|
12868
|
-
description: "Merges provided tags into the memory
|
|
12869
|
-
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-
|
|
13042
|
+
"merge-memory-store-tags": {
|
|
13043
|
+
serviceClass: "MemoryStores",
|
|
13044
|
+
operationId: "mergeMemoryStoreTags",
|
|
13045
|
+
description: "Merges provided tags into the memory store's existing tags (existing tags are preserved unless overridden)",
|
|
13046
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-stores",
|
|
12870
13047
|
httpMethod: "patch",
|
|
12871
|
-
pathParams: ["project_id", "
|
|
13048
|
+
pathParams: ["project_id", "memory_store_id"],
|
|
12872
13049
|
queryParams: [],
|
|
12873
13050
|
flags: [{
|
|
12874
13051
|
"name": "project_id",
|
|
@@ -12877,8 +13054,8 @@ const routes = {
|
|
|
12877
13054
|
"type": "string",
|
|
12878
13055
|
"in": "path"
|
|
12879
13056
|
}, {
|
|
12880
|
-
"name": "
|
|
12881
|
-
"description": "Memory
|
|
13057
|
+
"name": "memory_store_id",
|
|
13058
|
+
"description": "Memory store ID",
|
|
12882
13059
|
"required": true,
|
|
12883
13060
|
"type": "string",
|
|
12884
13061
|
"in": "path"
|
|
@@ -14466,7 +14643,7 @@ const routes = {
|
|
|
14466
14643
|
"create-quota": {
|
|
14467
14644
|
serviceClass: "Quotas",
|
|
14468
14645
|
operationId: "createQuota",
|
|
14469
|
-
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
|
|
14646
|
+
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.",
|
|
14470
14647
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/quotas",
|
|
14471
14648
|
httpMethod: "post",
|
|
14472
14649
|
pathParams: ["project_id"],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@naturali/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.129.0",
|
|
4
4
|
"description": "Command-line interface for the naturali.ai API, generated from its OpenAPI specs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"commander": "^15.0.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@naturali/sdk": "0.
|
|
27
|
+
"@naturali/sdk": "0.129.0",
|
|
28
28
|
"@ttoss/openapi-codegen": "^0.3.0",
|
|
29
29
|
"@types/node": "^26.5.1",
|
|
30
30
|
"tsdown": "^0.23.0",
|