@naturali/cli 0.73.1 → 0.74.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 +1617 -161
- 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.74.0";
|
|
18
18
|
//#endregion
|
|
19
19
|
//#region ../sdk/src/generated/core/bodySerializer.gen.ts
|
|
20
20
|
const serializeFormDataPair = (data, key, value) => {
|
|
@@ -1402,6 +1402,71 @@ var ApiKeys = class {
|
|
|
1402
1402
|
});
|
|
1403
1403
|
}
|
|
1404
1404
|
};
|
|
1405
|
+
var Approvals = class {
|
|
1406
|
+
/**
|
|
1407
|
+
* List approval items
|
|
1408
|
+
*
|
|
1409
|
+
* Returns approval items for a project, filterable by status, origin, and expiry.
|
|
1410
|
+
*/
|
|
1411
|
+
static listApprovals(options) {
|
|
1412
|
+
return (options.client ?? client).get({
|
|
1413
|
+
url: "/v1/projects/{project_id}/approvals",
|
|
1414
|
+
...options
|
|
1415
|
+
});
|
|
1416
|
+
}
|
|
1417
|
+
/**
|
|
1418
|
+
* List recurring approval groups
|
|
1419
|
+
*
|
|
1420
|
+
* Read-only rollup answering "what keeps coming back?" — groups items by `dedup_key` and returns those recurring at least `min_count` times, most-recurrent first. Each group carries the ordered item chain (via `previous_item_id`) and the resolution reasons in order, so a human can read recurring rejections side by side and graduate the pattern into a guardrail `deny`. Exact-key grouping only; no cluster state is stored.
|
|
1421
|
+
*/
|
|
1422
|
+
static listApprovalRecurrences(options) {
|
|
1423
|
+
return (options.client ?? client).get({
|
|
1424
|
+
url: "/v1/projects/{project_id}/approvals/recurrences",
|
|
1425
|
+
...options
|
|
1426
|
+
});
|
|
1427
|
+
}
|
|
1428
|
+
/**
|
|
1429
|
+
* Get an approval item
|
|
1430
|
+
*
|
|
1431
|
+
* Returns a single approval item with its full evidence.
|
|
1432
|
+
*/
|
|
1433
|
+
static getApproval(options) {
|
|
1434
|
+
return (options.client ?? client).get({
|
|
1435
|
+
url: "/v1/projects/{project_id}/approvals/{approval_id}",
|
|
1436
|
+
...options
|
|
1437
|
+
});
|
|
1438
|
+
}
|
|
1439
|
+
/**
|
|
1440
|
+
* Approve an approval item
|
|
1441
|
+
*
|
|
1442
|
+
* Approves the item. Optionally supply edited `arguments` to replace the proposed arguments (edit-then-approve); the original is preserved on the item. Expiry is re-checked at decision time — an expired item can never be approved.
|
|
1443
|
+
*/
|
|
1444
|
+
static approveApproval(options) {
|
|
1445
|
+
return (options.client ?? client).post({
|
|
1446
|
+
url: "/v1/projects/{project_id}/approvals/{approval_id}/approve",
|
|
1447
|
+
...options,
|
|
1448
|
+
headers: {
|
|
1449
|
+
"Content-Type": "application/json",
|
|
1450
|
+
...options.headers
|
|
1451
|
+
}
|
|
1452
|
+
});
|
|
1453
|
+
}
|
|
1454
|
+
/**
|
|
1455
|
+
* Reject an approval item
|
|
1456
|
+
*
|
|
1457
|
+
* Rejects the item. A reason is required and preserved on the item.
|
|
1458
|
+
*/
|
|
1459
|
+
static rejectApproval(options) {
|
|
1460
|
+
return (options.client ?? client).post({
|
|
1461
|
+
url: "/v1/projects/{project_id}/approvals/{approval_id}/reject",
|
|
1462
|
+
...options,
|
|
1463
|
+
headers: {
|
|
1464
|
+
"Content-Type": "application/json",
|
|
1465
|
+
...options.headers
|
|
1466
|
+
}
|
|
1467
|
+
});
|
|
1468
|
+
}
|
|
1469
|
+
};
|
|
1405
1470
|
var Assistant = class {
|
|
1406
1471
|
/**
|
|
1407
1472
|
* List linked identities
|
|
@@ -2157,6 +2222,56 @@ var Evaluations = class {
|
|
|
2157
2222
|
});
|
|
2158
2223
|
}
|
|
2159
2224
|
};
|
|
2225
|
+
var Exceptions = class {
|
|
2226
|
+
/**
|
|
2227
|
+
* List exception items
|
|
2228
|
+
*
|
|
2229
|
+
* Returns exception items for a project, filterable by status, severity, and kind.
|
|
2230
|
+
*/
|
|
2231
|
+
static listExceptions(options) {
|
|
2232
|
+
return (options.client ?? client).get({
|
|
2233
|
+
url: "/v1/projects/{project_id}/exceptions",
|
|
2234
|
+
...options
|
|
2235
|
+
});
|
|
2236
|
+
}
|
|
2237
|
+
/**
|
|
2238
|
+
* Get an exception item
|
|
2239
|
+
*
|
|
2240
|
+
* Returns a single exception item with its full detail.
|
|
2241
|
+
*/
|
|
2242
|
+
static getException(options) {
|
|
2243
|
+
return (options.client ?? client).get({
|
|
2244
|
+
url: "/v1/projects/{project_id}/exceptions/{exception_id}",
|
|
2245
|
+
...options
|
|
2246
|
+
});
|
|
2247
|
+
}
|
|
2248
|
+
/**
|
|
2249
|
+
* Acknowledge an exception item
|
|
2250
|
+
*
|
|
2251
|
+
* Moves the item to `acknowledged` ("someone is on it"), recording who. A no-op that returns the item unchanged when already acknowledged; rejected when already resolved.
|
|
2252
|
+
*/
|
|
2253
|
+
static acknowledgeException(options) {
|
|
2254
|
+
return (options.client ?? client).post({
|
|
2255
|
+
url: "/v1/projects/{project_id}/exceptions/{exception_id}/acknowledge",
|
|
2256
|
+
...options
|
|
2257
|
+
});
|
|
2258
|
+
}
|
|
2259
|
+
/**
|
|
2260
|
+
* Resolve an exception item
|
|
2261
|
+
*
|
|
2262
|
+
* Moves the item to `resolved` ("fixed"), recording who and an optional note.
|
|
2263
|
+
*/
|
|
2264
|
+
static resolveException(options) {
|
|
2265
|
+
return (options.client ?? client).post({
|
|
2266
|
+
url: "/v1/projects/{project_id}/exceptions/{exception_id}/resolve",
|
|
2267
|
+
...options,
|
|
2268
|
+
headers: {
|
|
2269
|
+
"Content-Type": "application/json",
|
|
2270
|
+
...options.headers
|
|
2271
|
+
}
|
|
2272
|
+
});
|
|
2273
|
+
}
|
|
2274
|
+
};
|
|
2160
2275
|
var Files = class {
|
|
2161
2276
|
/**
|
|
2162
2277
|
* List all files
|
|
@@ -2392,6 +2507,131 @@ var Generations = class {
|
|
|
2392
2507
|
});
|
|
2393
2508
|
}
|
|
2394
2509
|
};
|
|
2510
|
+
var Guardrails = class {
|
|
2511
|
+
/**
|
|
2512
|
+
* List guardrails
|
|
2513
|
+
*
|
|
2514
|
+
* Returns all guardrails in the project.
|
|
2515
|
+
*/
|
|
2516
|
+
static listGuardrails(options) {
|
|
2517
|
+
return (options.client ?? client).get({
|
|
2518
|
+
url: "/v1/projects/{project_id}/guardrails",
|
|
2519
|
+
...options
|
|
2520
|
+
});
|
|
2521
|
+
}
|
|
2522
|
+
/**
|
|
2523
|
+
* Create a guardrail
|
|
2524
|
+
*
|
|
2525
|
+
* Creates a new guardrail in the project, archiving its document as version 1. The `document` is validated on write: `class` must be a literal (A/B/C/D) or a JSON Logic expression, and every variable it (and `guard`) reference must resolve to the `args.*` / `context.*` / `runtime.*` namespaces — an out-of-catalog `runtime.*` key is rejected with 400.
|
|
2526
|
+
*
|
|
2527
|
+
*/
|
|
2528
|
+
static createGuardrail(options) {
|
|
2529
|
+
return (options.client ?? client).post({
|
|
2530
|
+
url: "/v1/projects/{project_id}/guardrails",
|
|
2531
|
+
...options,
|
|
2532
|
+
headers: {
|
|
2533
|
+
"Content-Type": "application/json",
|
|
2534
|
+
...options.headers
|
|
2535
|
+
}
|
|
2536
|
+
});
|
|
2537
|
+
}
|
|
2538
|
+
/**
|
|
2539
|
+
* Delete a guardrail
|
|
2540
|
+
*
|
|
2541
|
+
* Deletes a guardrail and its archived versions by ID.
|
|
2542
|
+
*/
|
|
2543
|
+
static deleteGuardrail(options) {
|
|
2544
|
+
return (options.client ?? client).delete({
|
|
2545
|
+
url: "/v1/projects/{project_id}/guardrails/{guardrail_id}",
|
|
2546
|
+
...options
|
|
2547
|
+
});
|
|
2548
|
+
}
|
|
2549
|
+
/**
|
|
2550
|
+
* Get a guardrail
|
|
2551
|
+
*
|
|
2552
|
+
* Returns a single guardrail by ID.
|
|
2553
|
+
*/
|
|
2554
|
+
static getGuardrail(options) {
|
|
2555
|
+
return (options.client ?? client).get({
|
|
2556
|
+
url: "/v1/projects/{project_id}/guardrails/{guardrail_id}",
|
|
2557
|
+
...options
|
|
2558
|
+
});
|
|
2559
|
+
}
|
|
2560
|
+
/**
|
|
2561
|
+
* Update a guardrail
|
|
2562
|
+
*
|
|
2563
|
+
* Updates an existing guardrail. A `document` write that actually changes the policy increments `version` and archives the new document as a GuardrailVersion; metadata-only edits (name / description / context), and re-writing the document the guardrail already holds, leave the version untouched.
|
|
2564
|
+
*
|
|
2565
|
+
*/
|
|
2566
|
+
static updateGuardrail(options) {
|
|
2567
|
+
return (options.client ?? client).patch({
|
|
2568
|
+
url: "/v1/projects/{project_id}/guardrails/{guardrail_id}",
|
|
2569
|
+
...options,
|
|
2570
|
+
headers: {
|
|
2571
|
+
"Content-Type": "application/json",
|
|
2572
|
+
...options.headers
|
|
2573
|
+
}
|
|
2574
|
+
});
|
|
2575
|
+
}
|
|
2576
|
+
/**
|
|
2577
|
+
* List a guardrail's config versions
|
|
2578
|
+
*
|
|
2579
|
+
* Returns the guardrail's archived configurations, newest first. A version is written on create and on every subsequent write that changes the policy `document` — through the REST API or a formation apply alike. Metadata-only edits (name, description, context binding) do not archive a version. See [Versioning](/docs/modules/guardrails#versioning).
|
|
2580
|
+
*
|
|
2581
|
+
*/
|
|
2582
|
+
static listGuardrailVersions(options) {
|
|
2583
|
+
return (options.client ?? client).get({
|
|
2584
|
+
url: "/v1/projects/{project_id}/guardrails/{guardrail_id}/versions",
|
|
2585
|
+
...options
|
|
2586
|
+
});
|
|
2587
|
+
}
|
|
2588
|
+
/**
|
|
2589
|
+
* Fetch an archived guardrail version
|
|
2590
|
+
*
|
|
2591
|
+
* Returns the exact configuration — and so the exact `document` — that governed at a given version. Approval items, activity entries, and exceptions record the version that governed them, so the audit chain survives edits.
|
|
2592
|
+
*
|
|
2593
|
+
*/
|
|
2594
|
+
static getGuardrailVersion(options) {
|
|
2595
|
+
return (options.client ?? client).get({
|
|
2596
|
+
url: "/v1/projects/{project_id}/guardrails/{guardrail_id}/versions/{version}",
|
|
2597
|
+
...options
|
|
2598
|
+
});
|
|
2599
|
+
}
|
|
2600
|
+
/**
|
|
2601
|
+
* Restore an archived guardrail config
|
|
2602
|
+
*
|
|
2603
|
+
* Writes an archived version's `document` back as the guardrail's live policy, which archives it again as a **new** version rather than rewinding the counter — so an approval item or exception citing any version in between still resolves.
|
|
2604
|
+
*
|
|
2605
|
+
* The restore runs through the ordinary update path, so the archived document is re-validated; restoring the policy the guardrail already holds is a no-op and archives nothing.
|
|
2606
|
+
*
|
|
2607
|
+
*/
|
|
2608
|
+
static restoreGuardrailVersion(options) {
|
|
2609
|
+
return (options.client ?? client).post({
|
|
2610
|
+
url: "/v1/projects/{project_id}/guardrails/{guardrail_id}/versions/{version}/restore",
|
|
2611
|
+
...options,
|
|
2612
|
+
headers: {
|
|
2613
|
+
"Content-Type": "application/json",
|
|
2614
|
+
...options.headers
|
|
2615
|
+
}
|
|
2616
|
+
});
|
|
2617
|
+
}
|
|
2618
|
+
/**
|
|
2619
|
+
* Dry-run evaluate a guardrail
|
|
2620
|
+
*
|
|
2621
|
+
* Runs the full evaluation pipeline — the `class` expression, the guard, the context tool per `context_mode`, live `runtime.*` resolution — against caller-supplied `args` and `guardrail_context`, and returns the exact `guardrail_evaluation` record a real call would produce. Nothing executes, no approval item is filed, and no activity entry is written. This is the adoption path: preview a document's decisions against production-shaped calls before attaching it — or before editing a widely-attached one. Pass an optional `tool_id` to resolve `runtime.tool.*`.
|
|
2622
|
+
*
|
|
2623
|
+
*/
|
|
2624
|
+
static evaluateGuardrail(options) {
|
|
2625
|
+
return (options.client ?? client).post({
|
|
2626
|
+
url: "/v1/projects/{project_id}/guardrails/{guardrail_id}/evaluate",
|
|
2627
|
+
...options,
|
|
2628
|
+
headers: {
|
|
2629
|
+
"Content-Type": "application/json",
|
|
2630
|
+
...options.headers
|
|
2631
|
+
}
|
|
2632
|
+
});
|
|
2633
|
+
}
|
|
2634
|
+
};
|
|
2395
2635
|
var IngestionRules = class {
|
|
2396
2636
|
/**
|
|
2397
2637
|
* List ingestion rules
|
|
@@ -2474,6 +2714,136 @@ var Knowledge = class {
|
|
|
2474
2714
|
});
|
|
2475
2715
|
}
|
|
2476
2716
|
};
|
|
2717
|
+
var Memories = class {
|
|
2718
|
+
/**
|
|
2719
|
+
* List memories
|
|
2720
|
+
*
|
|
2721
|
+
* Returns a list of memory configurations for a project
|
|
2722
|
+
*/
|
|
2723
|
+
static listMemories(options) {
|
|
2724
|
+
return (options.client ?? client).get({
|
|
2725
|
+
url: "/v1/projects/{project_id}/memories",
|
|
2726
|
+
...options
|
|
2727
|
+
});
|
|
2728
|
+
}
|
|
2729
|
+
/**
|
|
2730
|
+
* Create a memory
|
|
2731
|
+
*
|
|
2732
|
+
* Creates a new memory configuration in a project
|
|
2733
|
+
*/
|
|
2734
|
+
static createMemory(options) {
|
|
2735
|
+
return (options.client ?? client).post({
|
|
2736
|
+
url: "/v1/projects/{project_id}/memories",
|
|
2737
|
+
...options,
|
|
2738
|
+
headers: {
|
|
2739
|
+
"Content-Type": "application/json",
|
|
2740
|
+
...options.headers
|
|
2741
|
+
}
|
|
2742
|
+
});
|
|
2743
|
+
}
|
|
2744
|
+
/**
|
|
2745
|
+
* Delete a memory
|
|
2746
|
+
*
|
|
2747
|
+
* Deletes a memory configuration
|
|
2748
|
+
*/
|
|
2749
|
+
static deleteMemory(options) {
|
|
2750
|
+
return (options.client ?? client).delete({
|
|
2751
|
+
url: "/v1/projects/{project_id}/memories/{memory_id}",
|
|
2752
|
+
...options
|
|
2753
|
+
});
|
|
2754
|
+
}
|
|
2755
|
+
/**
|
|
2756
|
+
* Get a memory
|
|
2757
|
+
*
|
|
2758
|
+
* Returns a single memory configuration by ID
|
|
2759
|
+
*/
|
|
2760
|
+
static getMemory(options) {
|
|
2761
|
+
return (options.client ?? client).get({
|
|
2762
|
+
url: "/v1/projects/{project_id}/memories/{memory_id}",
|
|
2763
|
+
...options
|
|
2764
|
+
});
|
|
2765
|
+
}
|
|
2766
|
+
/**
|
|
2767
|
+
* Update a memory
|
|
2768
|
+
*
|
|
2769
|
+
* Updates an existing memory configuration
|
|
2770
|
+
*/
|
|
2771
|
+
static updateMemory(options) {
|
|
2772
|
+
return (options.client ?? client).put({
|
|
2773
|
+
url: "/v1/projects/{project_id}/memories/{memory_id}",
|
|
2774
|
+
...options,
|
|
2775
|
+
headers: {
|
|
2776
|
+
"Content-Type": "application/json",
|
|
2777
|
+
...options.headers
|
|
2778
|
+
}
|
|
2779
|
+
});
|
|
2780
|
+
}
|
|
2781
|
+
};
|
|
2782
|
+
var MemoryEntries = class {
|
|
2783
|
+
/**
|
|
2784
|
+
* List memory entries
|
|
2785
|
+
*
|
|
2786
|
+
* Returns all entries in a memory container
|
|
2787
|
+
*/
|
|
2788
|
+
static listMemoryEntries(options) {
|
|
2789
|
+
return (options.client ?? client).get({
|
|
2790
|
+
url: "/v1/projects/{project_id}/memory-entries",
|
|
2791
|
+
...options
|
|
2792
|
+
});
|
|
2793
|
+
}
|
|
2794
|
+
/**
|
|
2795
|
+
* Create a memory entry
|
|
2796
|
+
*
|
|
2797
|
+
* Creates a new entry in the specified memory container. Automatically generates an embedding for semantic search, and skips the write when an existing entry is a near-duplicate (see `duplicate_threshold`). A merely similar fact is stored as its own entry: this path has no agent context and therefore no model to consolidate two facts into one.
|
|
2798
|
+
*/
|
|
2799
|
+
static createMemoryEntry(options) {
|
|
2800
|
+
return (options.client ?? client).post({
|
|
2801
|
+
url: "/v1/projects/{project_id}/memory-entries",
|
|
2802
|
+
...options,
|
|
2803
|
+
headers: {
|
|
2804
|
+
"Content-Type": "application/json",
|
|
2805
|
+
...options.headers
|
|
2806
|
+
}
|
|
2807
|
+
});
|
|
2808
|
+
}
|
|
2809
|
+
/**
|
|
2810
|
+
* Delete a memory entry
|
|
2811
|
+
*
|
|
2812
|
+
* Deletes a memory entry
|
|
2813
|
+
*/
|
|
2814
|
+
static deleteMemoryEntry(options) {
|
|
2815
|
+
return (options.client ?? client).delete({
|
|
2816
|
+
url: "/v1/projects/{project_id}/memory-entries/{entry_id}",
|
|
2817
|
+
...options
|
|
2818
|
+
});
|
|
2819
|
+
}
|
|
2820
|
+
/**
|
|
2821
|
+
* Get a memory entry
|
|
2822
|
+
*
|
|
2823
|
+
* Returns a single memory entry by ID
|
|
2824
|
+
*/
|
|
2825
|
+
static getMemoryEntry(options) {
|
|
2826
|
+
return (options.client ?? client).get({
|
|
2827
|
+
url: "/v1/projects/{project_id}/memory-entries/{entry_id}",
|
|
2828
|
+
...options
|
|
2829
|
+
});
|
|
2830
|
+
}
|
|
2831
|
+
/**
|
|
2832
|
+
* Update a memory entry
|
|
2833
|
+
*
|
|
2834
|
+
* Updates an existing memory entry. Regenerates the embedding if content changes.
|
|
2835
|
+
*/
|
|
2836
|
+
static updateMemoryEntry(options) {
|
|
2837
|
+
return (options.client ?? client).put({
|
|
2838
|
+
url: "/v1/projects/{project_id}/memory-entries/{entry_id}",
|
|
2839
|
+
...options,
|
|
2840
|
+
headers: {
|
|
2841
|
+
"Content-Type": "application/json",
|
|
2842
|
+
...options.headers
|
|
2843
|
+
}
|
|
2844
|
+
});
|
|
2845
|
+
}
|
|
2846
|
+
};
|
|
2477
2847
|
var ModelRoutes = class {
|
|
2478
2848
|
/**
|
|
2479
2849
|
* List model routes
|
|
@@ -3802,6 +4172,7 @@ var NaturaliClient = class {
|
|
|
3802
4172
|
agentVersions;
|
|
3803
4173
|
aiProviders;
|
|
3804
4174
|
apiKeys;
|
|
4175
|
+
approvals;
|
|
3805
4176
|
assistant;
|
|
3806
4177
|
channels;
|
|
3807
4178
|
auth;
|
|
@@ -3809,10 +4180,14 @@ var NaturaliClient = class {
|
|
|
3809
4180
|
documents;
|
|
3810
4181
|
embeddings;
|
|
3811
4182
|
evaluations;
|
|
4183
|
+
exceptions;
|
|
3812
4184
|
files;
|
|
3813
4185
|
generations;
|
|
4186
|
+
guardrails;
|
|
3814
4187
|
ingestionRules;
|
|
3815
4188
|
knowledge;
|
|
4189
|
+
memories;
|
|
4190
|
+
memoryEntries;
|
|
3816
4191
|
modelRoutes;
|
|
3817
4192
|
models;
|
|
3818
4193
|
orchestrations;
|
|
@@ -3841,6 +4216,7 @@ var NaturaliClient = class {
|
|
|
3841
4216
|
this.agentVersions = bindResource(AgentVersions, this.http);
|
|
3842
4217
|
this.aiProviders = bindResource(AiProviders, this.http);
|
|
3843
4218
|
this.apiKeys = bindResource(ApiKeys, this.http);
|
|
4219
|
+
this.approvals = bindResource(Approvals, this.http);
|
|
3844
4220
|
this.assistant = bindResource(Assistant, this.http);
|
|
3845
4221
|
this.channels = bindResource(Channels, this.http);
|
|
3846
4222
|
this.auth = bindResource(Auth, this.http);
|
|
@@ -3848,10 +4224,14 @@ var NaturaliClient = class {
|
|
|
3848
4224
|
this.documents = bindResource(Documents, this.http);
|
|
3849
4225
|
this.embeddings = bindResource(Embeddings, this.http);
|
|
3850
4226
|
this.evaluations = bindResource(Evaluations, this.http);
|
|
4227
|
+
this.exceptions = bindResource(Exceptions, this.http);
|
|
3851
4228
|
this.files = bindResource(Files, this.http);
|
|
3852
4229
|
this.generations = bindResource(Generations, this.http);
|
|
4230
|
+
this.guardrails = bindResource(Guardrails, this.http);
|
|
3853
4231
|
this.ingestionRules = bindResource(IngestionRules, this.http);
|
|
3854
4232
|
this.knowledge = bindResource(Knowledge, this.http);
|
|
4233
|
+
this.memories = bindResource(Memories, this.http);
|
|
4234
|
+
this.memoryEntries = bindResource(MemoryEntries, this.http);
|
|
3855
4235
|
this.modelRoutes = bindResource(ModelRoutes, this.http);
|
|
3856
4236
|
this.models = bindResource(Models, this.http);
|
|
3857
4237
|
this.orchestrations = bindResource(Orchestrations, this.http);
|
|
@@ -3875,6 +4255,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
3875
4255
|
Agents: () => Agents,
|
|
3876
4256
|
AiProviders: () => AiProviders,
|
|
3877
4257
|
ApiKeys: () => ApiKeys,
|
|
4258
|
+
Approvals: () => Approvals,
|
|
3878
4259
|
Assistant: () => Assistant,
|
|
3879
4260
|
Auth: () => Auth,
|
|
3880
4261
|
Channels: () => Channels,
|
|
@@ -3882,10 +4263,14 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
3882
4263
|
Documents: () => Documents,
|
|
3883
4264
|
Embeddings: () => Embeddings,
|
|
3884
4265
|
Evaluations: () => Evaluations,
|
|
4266
|
+
Exceptions: () => Exceptions,
|
|
3885
4267
|
Files: () => Files,
|
|
3886
4268
|
Generations: () => Generations,
|
|
4269
|
+
Guardrails: () => Guardrails,
|
|
3887
4270
|
IngestionRules: () => IngestionRules,
|
|
3888
4271
|
Knowledge: () => Knowledge,
|
|
4272
|
+
Memories: () => Memories,
|
|
4273
|
+
MemoryEntries: () => MemoryEntries,
|
|
3889
4274
|
ModelRoutes: () => ModelRoutes,
|
|
3890
4275
|
Models: () => Models,
|
|
3891
4276
|
NaturaliClient: () => NaturaliClient,
|
|
@@ -6125,10 +6510,206 @@ const routes = {
|
|
|
6125
6510
|
"in": "path"
|
|
6126
6511
|
}]
|
|
6127
6512
|
},
|
|
6128
|
-
"list-
|
|
6129
|
-
serviceClass: "
|
|
6130
|
-
operationId: "
|
|
6131
|
-
description: "
|
|
6513
|
+
"list-approvals": {
|
|
6514
|
+
serviceClass: "Approvals",
|
|
6515
|
+
operationId: "listApprovals",
|
|
6516
|
+
description: "Returns approval items for a project, filterable by status, origin, and expiry.",
|
|
6517
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/approvals",
|
|
6518
|
+
httpMethod: "get",
|
|
6519
|
+
pathParams: ["project_id"],
|
|
6520
|
+
queryParams: [
|
|
6521
|
+
"status",
|
|
6522
|
+
"origin",
|
|
6523
|
+
"expires_before",
|
|
6524
|
+
"limit",
|
|
6525
|
+
"offset"
|
|
6526
|
+
],
|
|
6527
|
+
flags: [
|
|
6528
|
+
{
|
|
6529
|
+
"name": "project_id",
|
|
6530
|
+
"description": "Project public ID (proj_ prefix).",
|
|
6531
|
+
"required": true,
|
|
6532
|
+
"type": "string",
|
|
6533
|
+
"in": "path"
|
|
6534
|
+
},
|
|
6535
|
+
{
|
|
6536
|
+
"name": "status",
|
|
6537
|
+
"description": "Filter by lifecycle status",
|
|
6538
|
+
"required": false,
|
|
6539
|
+
"type": "string",
|
|
6540
|
+
"in": "query"
|
|
6541
|
+
},
|
|
6542
|
+
{
|
|
6543
|
+
"name": "origin",
|
|
6544
|
+
"description": "Filter by producer origin",
|
|
6545
|
+
"required": false,
|
|
6546
|
+
"type": "string",
|
|
6547
|
+
"in": "query"
|
|
6548
|
+
},
|
|
6549
|
+
{
|
|
6550
|
+
"name": "expires_before",
|
|
6551
|
+
"description": "Return only items expiring at or before this timestamp",
|
|
6552
|
+
"required": false,
|
|
6553
|
+
"type": "string",
|
|
6554
|
+
"in": "query"
|
|
6555
|
+
},
|
|
6556
|
+
{
|
|
6557
|
+
"name": "limit",
|
|
6558
|
+
"description": "Maximum number of results to return",
|
|
6559
|
+
"required": false,
|
|
6560
|
+
"type": "integer",
|
|
6561
|
+
"in": "query"
|
|
6562
|
+
},
|
|
6563
|
+
{
|
|
6564
|
+
"name": "offset",
|
|
6565
|
+
"description": "Number of results to skip",
|
|
6566
|
+
"required": false,
|
|
6567
|
+
"type": "integer",
|
|
6568
|
+
"in": "query"
|
|
6569
|
+
}
|
|
6570
|
+
]
|
|
6571
|
+
},
|
|
6572
|
+
"list-approval-recurrences": {
|
|
6573
|
+
serviceClass: "Approvals",
|
|
6574
|
+
operationId: "listApprovalRecurrences",
|
|
6575
|
+
description: "Read-only rollup answering \"what keeps coming back?\" — groups items by `dedup_key` and returns those recurring at least `min_count` times, most-recurrent first. Each group carries the ordered item chain (via `previous_item_id`) and the resolution reasons in order, so a human can read recurring rejections side by side and graduate the pattern into a guardrail `deny`. Exact-key grouping only; no cluster state is stored.",
|
|
6576
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/approvals",
|
|
6577
|
+
httpMethod: "get",
|
|
6578
|
+
pathParams: ["project_id"],
|
|
6579
|
+
queryParams: [
|
|
6580
|
+
"status",
|
|
6581
|
+
"min_count",
|
|
6582
|
+
"limit",
|
|
6583
|
+
"offset"
|
|
6584
|
+
],
|
|
6585
|
+
flags: [
|
|
6586
|
+
{
|
|
6587
|
+
"name": "project_id",
|
|
6588
|
+
"description": "Project public ID (proj_ prefix).",
|
|
6589
|
+
"required": true,
|
|
6590
|
+
"type": "string",
|
|
6591
|
+
"in": "path"
|
|
6592
|
+
},
|
|
6593
|
+
{
|
|
6594
|
+
"name": "status",
|
|
6595
|
+
"description": "Lifecycle status the groups are built from (default `rejected`)",
|
|
6596
|
+
"required": false,
|
|
6597
|
+
"type": "string",
|
|
6598
|
+
"in": "query"
|
|
6599
|
+
},
|
|
6600
|
+
{
|
|
6601
|
+
"name": "min_count",
|
|
6602
|
+
"description": "Minimum items in a group for it to be returned",
|
|
6603
|
+
"required": false,
|
|
6604
|
+
"type": "integer",
|
|
6605
|
+
"in": "query"
|
|
6606
|
+
},
|
|
6607
|
+
{
|
|
6608
|
+
"name": "limit",
|
|
6609
|
+
"description": "Maximum number of groups to return",
|
|
6610
|
+
"required": false,
|
|
6611
|
+
"type": "integer",
|
|
6612
|
+
"in": "query"
|
|
6613
|
+
},
|
|
6614
|
+
{
|
|
6615
|
+
"name": "offset",
|
|
6616
|
+
"description": "Number of groups to skip",
|
|
6617
|
+
"required": false,
|
|
6618
|
+
"type": "integer",
|
|
6619
|
+
"in": "query"
|
|
6620
|
+
}
|
|
6621
|
+
]
|
|
6622
|
+
},
|
|
6623
|
+
"get-approval": {
|
|
6624
|
+
serviceClass: "Approvals",
|
|
6625
|
+
operationId: "getApproval",
|
|
6626
|
+
description: "Returns a single approval item with its full evidence.",
|
|
6627
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/approvals",
|
|
6628
|
+
httpMethod: "get",
|
|
6629
|
+
pathParams: ["project_id", "approval_id"],
|
|
6630
|
+
queryParams: [],
|
|
6631
|
+
flags: [{
|
|
6632
|
+
"name": "project_id",
|
|
6633
|
+
"description": "Project public ID (proj_ prefix).",
|
|
6634
|
+
"required": true,
|
|
6635
|
+
"type": "string",
|
|
6636
|
+
"in": "path"
|
|
6637
|
+
}, {
|
|
6638
|
+
"name": "approval_id",
|
|
6639
|
+
"description": "Approval item ID",
|
|
6640
|
+
"required": true,
|
|
6641
|
+
"type": "string",
|
|
6642
|
+
"in": "path"
|
|
6643
|
+
}]
|
|
6644
|
+
},
|
|
6645
|
+
"approve-approval": {
|
|
6646
|
+
serviceClass: "Approvals",
|
|
6647
|
+
operationId: "approveApproval",
|
|
6648
|
+
description: "Approves the item. Optionally supply edited `arguments` to replace the proposed arguments (edit-then-approve); the original is preserved on the item. Expiry is re-checked at decision time — an expired item can never be approved.",
|
|
6649
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/approvals",
|
|
6650
|
+
httpMethod: "post",
|
|
6651
|
+
pathParams: ["project_id", "approval_id"],
|
|
6652
|
+
queryParams: [],
|
|
6653
|
+
flags: [
|
|
6654
|
+
{
|
|
6655
|
+
"name": "project_id",
|
|
6656
|
+
"description": "Project public ID (proj_ prefix).",
|
|
6657
|
+
"required": true,
|
|
6658
|
+
"type": "string",
|
|
6659
|
+
"in": "path"
|
|
6660
|
+
},
|
|
6661
|
+
{
|
|
6662
|
+
"name": "approval_id",
|
|
6663
|
+
"description": "Approval item ID",
|
|
6664
|
+
"required": true,
|
|
6665
|
+
"type": "string",
|
|
6666
|
+
"in": "path"
|
|
6667
|
+
},
|
|
6668
|
+
{
|
|
6669
|
+
"name": "arguments",
|
|
6670
|
+
"description": "Edited arguments to execute instead of the proposed ones",
|
|
6671
|
+
"required": false,
|
|
6672
|
+
"type": "object",
|
|
6673
|
+
"in": "body"
|
|
6674
|
+
}
|
|
6675
|
+
]
|
|
6676
|
+
},
|
|
6677
|
+
"reject-approval": {
|
|
6678
|
+
serviceClass: "Approvals",
|
|
6679
|
+
operationId: "rejectApproval",
|
|
6680
|
+
description: "Rejects the item. A reason is required and preserved on the item.",
|
|
6681
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/approvals",
|
|
6682
|
+
httpMethod: "post",
|
|
6683
|
+
pathParams: ["project_id", "approval_id"],
|
|
6684
|
+
queryParams: [],
|
|
6685
|
+
flags: [
|
|
6686
|
+
{
|
|
6687
|
+
"name": "project_id",
|
|
6688
|
+
"description": "Project public ID (proj_ prefix).",
|
|
6689
|
+
"required": true,
|
|
6690
|
+
"type": "string",
|
|
6691
|
+
"in": "path"
|
|
6692
|
+
},
|
|
6693
|
+
{
|
|
6694
|
+
"name": "approval_id",
|
|
6695
|
+
"description": "Approval item ID",
|
|
6696
|
+
"required": true,
|
|
6697
|
+
"type": "string",
|
|
6698
|
+
"in": "path"
|
|
6699
|
+
},
|
|
6700
|
+
{
|
|
6701
|
+
"name": "reason",
|
|
6702
|
+
"description": "Why the item is being rejected (required)",
|
|
6703
|
+
"required": true,
|
|
6704
|
+
"type": "string",
|
|
6705
|
+
"in": "body"
|
|
6706
|
+
}
|
|
6707
|
+
]
|
|
6708
|
+
},
|
|
6709
|
+
"list-assistant-grants": {
|
|
6710
|
+
serviceClass: "Assistant",
|
|
6711
|
+
operationId: "listAssistantGrants",
|
|
6712
|
+
description: "Lists the caller's assistant grants — one per channel identity that may operate their account. Grants belong to the account, so this is the caller's own set regardless of which projects they own.",
|
|
6132
6713
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/assistant",
|
|
6133
6714
|
httpMethod: "get",
|
|
6134
6715
|
pathParams: [],
|
|
@@ -8683,6 +9264,141 @@ const routes = {
|
|
|
8683
9264
|
}
|
|
8684
9265
|
]
|
|
8685
9266
|
},
|
|
9267
|
+
"list-exceptions": {
|
|
9268
|
+
serviceClass: "Exceptions",
|
|
9269
|
+
operationId: "listExceptions",
|
|
9270
|
+
description: "Returns exception items for a project, filterable by status, severity, and kind.",
|
|
9271
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/exceptions",
|
|
9272
|
+
httpMethod: "get",
|
|
9273
|
+
pathParams: ["project_id"],
|
|
9274
|
+
queryParams: [
|
|
9275
|
+
"status",
|
|
9276
|
+
"severity",
|
|
9277
|
+
"kind",
|
|
9278
|
+
"limit",
|
|
9279
|
+
"offset"
|
|
9280
|
+
],
|
|
9281
|
+
flags: [
|
|
9282
|
+
{
|
|
9283
|
+
"name": "project_id",
|
|
9284
|
+
"description": "Project public ID (proj_ prefix).",
|
|
9285
|
+
"required": true,
|
|
9286
|
+
"type": "string",
|
|
9287
|
+
"in": "path"
|
|
9288
|
+
},
|
|
9289
|
+
{
|
|
9290
|
+
"name": "status",
|
|
9291
|
+
"description": "Filter by triage status",
|
|
9292
|
+
"required": false,
|
|
9293
|
+
"type": "string",
|
|
9294
|
+
"in": "query"
|
|
9295
|
+
},
|
|
9296
|
+
{
|
|
9297
|
+
"name": "severity",
|
|
9298
|
+
"description": "Filter by severity",
|
|
9299
|
+
"required": false,
|
|
9300
|
+
"type": "string",
|
|
9301
|
+
"in": "query"
|
|
9302
|
+
},
|
|
9303
|
+
{
|
|
9304
|
+
"name": "kind",
|
|
9305
|
+
"description": "Filter by how the exception was filed",
|
|
9306
|
+
"required": false,
|
|
9307
|
+
"type": "string",
|
|
9308
|
+
"in": "query"
|
|
9309
|
+
},
|
|
9310
|
+
{
|
|
9311
|
+
"name": "limit",
|
|
9312
|
+
"description": "Maximum number of results to return",
|
|
9313
|
+
"required": false,
|
|
9314
|
+
"type": "integer",
|
|
9315
|
+
"in": "query"
|
|
9316
|
+
},
|
|
9317
|
+
{
|
|
9318
|
+
"name": "offset",
|
|
9319
|
+
"description": "Number of results to skip",
|
|
9320
|
+
"required": false,
|
|
9321
|
+
"type": "integer",
|
|
9322
|
+
"in": "query"
|
|
9323
|
+
}
|
|
9324
|
+
]
|
|
9325
|
+
},
|
|
9326
|
+
"get-exception": {
|
|
9327
|
+
serviceClass: "Exceptions",
|
|
9328
|
+
operationId: "getException",
|
|
9329
|
+
description: "Returns a single exception item with its full detail.",
|
|
9330
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/exceptions",
|
|
9331
|
+
httpMethod: "get",
|
|
9332
|
+
pathParams: ["project_id", "exception_id"],
|
|
9333
|
+
queryParams: [],
|
|
9334
|
+
flags: [{
|
|
9335
|
+
"name": "project_id",
|
|
9336
|
+
"description": "Project public ID (proj_ prefix).",
|
|
9337
|
+
"required": true,
|
|
9338
|
+
"type": "string",
|
|
9339
|
+
"in": "path"
|
|
9340
|
+
}, {
|
|
9341
|
+
"name": "exception_id",
|
|
9342
|
+
"description": "Exception item ID",
|
|
9343
|
+
"required": true,
|
|
9344
|
+
"type": "string",
|
|
9345
|
+
"in": "path"
|
|
9346
|
+
}]
|
|
9347
|
+
},
|
|
9348
|
+
"acknowledge-exception": {
|
|
9349
|
+
serviceClass: "Exceptions",
|
|
9350
|
+
operationId: "acknowledgeException",
|
|
9351
|
+
description: "Moves the item to `acknowledged` (\"someone is on it\"), recording who. A no-op that returns the item unchanged when already acknowledged; rejected when already resolved.",
|
|
9352
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/exceptions",
|
|
9353
|
+
httpMethod: "post",
|
|
9354
|
+
pathParams: ["project_id", "exception_id"],
|
|
9355
|
+
queryParams: [],
|
|
9356
|
+
flags: [{
|
|
9357
|
+
"name": "project_id",
|
|
9358
|
+
"description": "Project public ID (proj_ prefix).",
|
|
9359
|
+
"required": true,
|
|
9360
|
+
"type": "string",
|
|
9361
|
+
"in": "path"
|
|
9362
|
+
}, {
|
|
9363
|
+
"name": "exception_id",
|
|
9364
|
+
"description": "Exception item ID",
|
|
9365
|
+
"required": true,
|
|
9366
|
+
"type": "string",
|
|
9367
|
+
"in": "path"
|
|
9368
|
+
}]
|
|
9369
|
+
},
|
|
9370
|
+
"resolve-exception": {
|
|
9371
|
+
serviceClass: "Exceptions",
|
|
9372
|
+
operationId: "resolveException",
|
|
9373
|
+
description: "Moves the item to `resolved` (\"fixed\"), recording who and an optional note.",
|
|
9374
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/exceptions",
|
|
9375
|
+
httpMethod: "post",
|
|
9376
|
+
pathParams: ["project_id", "exception_id"],
|
|
9377
|
+
queryParams: [],
|
|
9378
|
+
flags: [
|
|
9379
|
+
{
|
|
9380
|
+
"name": "project_id",
|
|
9381
|
+
"description": "Project public ID (proj_ prefix).",
|
|
9382
|
+
"required": true,
|
|
9383
|
+
"type": "string",
|
|
9384
|
+
"in": "path"
|
|
9385
|
+
},
|
|
9386
|
+
{
|
|
9387
|
+
"name": "exception_id",
|
|
9388
|
+
"description": "Exception item ID",
|
|
9389
|
+
"required": true,
|
|
9390
|
+
"type": "string",
|
|
9391
|
+
"in": "path"
|
|
9392
|
+
},
|
|
9393
|
+
{
|
|
9394
|
+
"name": "note",
|
|
9395
|
+
"description": "Optional resolution note",
|
|
9396
|
+
"required": false,
|
|
9397
|
+
"type": "string",
|
|
9398
|
+
"in": "body"
|
|
9399
|
+
}
|
|
9400
|
+
]
|
|
9401
|
+
},
|
|
8686
9402
|
"list-files": {
|
|
8687
9403
|
serviceClass: "Files",
|
|
8688
9404
|
operationId: "listFiles",
|
|
@@ -9202,11 +9918,11 @@ const routes = {
|
|
|
9202
9918
|
"in": "path"
|
|
9203
9919
|
}]
|
|
9204
9920
|
},
|
|
9205
|
-
"list-
|
|
9206
|
-
serviceClass: "
|
|
9207
|
-
operationId: "
|
|
9208
|
-
description: "Returns
|
|
9209
|
-
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/
|
|
9921
|
+
"list-guardrails": {
|
|
9922
|
+
serviceClass: "Guardrails",
|
|
9923
|
+
operationId: "listGuardrails",
|
|
9924
|
+
description: "Returns all guardrails in the project.",
|
|
9925
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/guardrails",
|
|
9210
9926
|
httpMethod: "get",
|
|
9211
9927
|
pathParams: ["project_id"],
|
|
9212
9928
|
queryParams: ["limit", "offset"],
|
|
@@ -9220,7 +9936,7 @@ const routes = {
|
|
|
9220
9936
|
},
|
|
9221
9937
|
{
|
|
9222
9938
|
"name": "limit",
|
|
9223
|
-
"description": "
|
|
9939
|
+
"description": "Maximum number of results to return",
|
|
9224
9940
|
"required": false,
|
|
9225
9941
|
"type": "integer",
|
|
9226
9942
|
"in": "query"
|
|
@@ -9234,11 +9950,11 @@ const routes = {
|
|
|
9234
9950
|
}
|
|
9235
9951
|
]
|
|
9236
9952
|
},
|
|
9237
|
-
"create-
|
|
9238
|
-
serviceClass: "
|
|
9239
|
-
operationId: "
|
|
9240
|
-
description: "Creates a
|
|
9241
|
-
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/
|
|
9953
|
+
"create-guardrail": {
|
|
9954
|
+
serviceClass: "Guardrails",
|
|
9955
|
+
operationId: "createGuardrail",
|
|
9956
|
+
description: "Creates a new guardrail in the project, archiving its document as version 1. The `document` is validated on write: `class` must be a literal (A/B/C/D) or a JSON Logic expression, and every variable it (and `guard`) reference must resolve to the `args.*` / `context.*` / `runtime.*` namespaces — an out-of-catalog `runtime.*` key is rejected with 400.",
|
|
9957
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/guardrails",
|
|
9242
9958
|
httpMethod: "post",
|
|
9243
9959
|
pathParams: ["project_id"],
|
|
9244
9960
|
queryParams: [],
|
|
@@ -9251,91 +9967,56 @@ const routes = {
|
|
|
9251
9967
|
"in": "path"
|
|
9252
9968
|
},
|
|
9253
9969
|
{
|
|
9254
|
-
"name": "
|
|
9255
|
-
"description": "
|
|
9970
|
+
"name": "name",
|
|
9971
|
+
"description": "Human-readable name",
|
|
9256
9972
|
"required": true,
|
|
9257
9973
|
"type": "string",
|
|
9258
9974
|
"in": "body"
|
|
9259
9975
|
},
|
|
9260
9976
|
{
|
|
9261
|
-
"name": "
|
|
9262
|
-
"description": "
|
|
9263
|
-
"required": false,
|
|
9264
|
-
"type": "string",
|
|
9265
|
-
"in": "body"
|
|
9266
|
-
},
|
|
9267
|
-
{
|
|
9268
|
-
"name": "agent_id",
|
|
9269
|
-
"description": "Converter agent id (mutually exclusive with tool_id)",
|
|
9270
|
-
"required": false,
|
|
9271
|
-
"type": "string",
|
|
9272
|
-
"in": "body"
|
|
9273
|
-
},
|
|
9274
|
-
{
|
|
9275
|
-
"name": "action",
|
|
9276
|
-
"description": "Operation id, required for mcp tool converters",
|
|
9977
|
+
"name": "description",
|
|
9978
|
+
"description": "",
|
|
9277
9979
|
"required": false,
|
|
9278
9980
|
"type": "string",
|
|
9279
9981
|
"in": "body"
|
|
9280
9982
|
},
|
|
9281
9983
|
{
|
|
9282
|
-
"name": "
|
|
9283
|
-
"description": "
|
|
9284
|
-
"required":
|
|
9984
|
+
"name": "document",
|
|
9985
|
+
"description": "The action-class document. `class` maps a call to an action class; `guard` gates class-B autonomy. Both are single JSON Logic expressions over the `args.*` / `context.*` / `runtime.*` namespaces.\n",
|
|
9986
|
+
"required": true,
|
|
9285
9987
|
"type": "object",
|
|
9286
9988
|
"in": "body"
|
|
9287
9989
|
},
|
|
9288
9990
|
{
|
|
9289
|
-
"name": "
|
|
9290
|
-
"description": "
|
|
9991
|
+
"name": "context_tool_id",
|
|
9992
|
+
"description": "",
|
|
9291
9993
|
"required": false,
|
|
9292
9994
|
"type": "string",
|
|
9293
9995
|
"in": "body"
|
|
9294
9996
|
},
|
|
9295
9997
|
{
|
|
9296
|
-
"name": "
|
|
9297
|
-
"description": "
|
|
9998
|
+
"name": "context_mode",
|
|
9999
|
+
"description": "",
|
|
9298
10000
|
"required": false,
|
|
9299
10001
|
"type": "string",
|
|
9300
10002
|
"in": "body"
|
|
9301
10003
|
},
|
|
9302
10004
|
{
|
|
9303
|
-
"name": "
|
|
9304
|
-
"description": "
|
|
10005
|
+
"name": "version_label",
|
|
10006
|
+
"description": "Optional tag for the config version this write archives (e.g. `initial`). Annotates the version only — it is not stored on the guardrail and is not part of the config, so labelling a change is never itself a change.",
|
|
9305
10007
|
"required": false,
|
|
9306
10008
|
"type": "string",
|
|
9307
10009
|
"in": "body"
|
|
9308
|
-
},
|
|
9309
|
-
{
|
|
9310
|
-
"name": "chunk_size",
|
|
9311
|
-
"description": "Default window size in characters for the size strategy",
|
|
9312
|
-
"required": false,
|
|
9313
|
-
"type": "integer",
|
|
9314
|
-
"in": "body"
|
|
9315
|
-
},
|
|
9316
|
-
{
|
|
9317
|
-
"name": "chunk_overlap",
|
|
9318
|
-
"description": "Default overlap in characters for the size strategy",
|
|
9319
|
-
"required": false,
|
|
9320
|
-
"type": "integer",
|
|
9321
|
-
"in": "body"
|
|
9322
|
-
},
|
|
9323
|
-
{
|
|
9324
|
-
"name": "metadata",
|
|
9325
|
-
"description": "Arbitrary JSON metadata",
|
|
9326
|
-
"required": false,
|
|
9327
|
-
"type": "object",
|
|
9328
|
-
"in": "body"
|
|
9329
10010
|
}
|
|
9330
10011
|
]
|
|
9331
10012
|
},
|
|
9332
|
-
"get-
|
|
9333
|
-
serviceClass: "
|
|
9334
|
-
operationId: "
|
|
9335
|
-
description: "Returns a
|
|
9336
|
-
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/
|
|
10013
|
+
"get-guardrail": {
|
|
10014
|
+
serviceClass: "Guardrails",
|
|
10015
|
+
operationId: "getGuardrail",
|
|
10016
|
+
description: "Returns a single guardrail by ID.",
|
|
10017
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/guardrails",
|
|
9337
10018
|
httpMethod: "get",
|
|
9338
|
-
pathParams: ["project_id", "
|
|
10019
|
+
pathParams: ["project_id", "guardrail_id"],
|
|
9339
10020
|
queryParams: [],
|
|
9340
10021
|
flags: [{
|
|
9341
10022
|
"name": "project_id",
|
|
@@ -9344,20 +10025,20 @@ const routes = {
|
|
|
9344
10025
|
"type": "string",
|
|
9345
10026
|
"in": "path"
|
|
9346
10027
|
}, {
|
|
9347
|
-
"name": "
|
|
9348
|
-
"description": "
|
|
10028
|
+
"name": "guardrail_id",
|
|
10029
|
+
"description": "",
|
|
9349
10030
|
"required": true,
|
|
9350
10031
|
"type": "string",
|
|
9351
10032
|
"in": "path"
|
|
9352
10033
|
}]
|
|
9353
10034
|
},
|
|
9354
|
-
"update-
|
|
9355
|
-
serviceClass: "
|
|
9356
|
-
operationId: "
|
|
9357
|
-
description: "Updates
|
|
9358
|
-
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/
|
|
10035
|
+
"update-guardrail": {
|
|
10036
|
+
serviceClass: "Guardrails",
|
|
10037
|
+
operationId: "updateGuardrail",
|
|
10038
|
+
description: "Updates an existing guardrail. A `document` write that actually changes the policy increments `version` and archives the new document as a GuardrailVersion; metadata-only edits (name / description / context), and re-writing the document the guardrail already holds, leave the version untouched.",
|
|
10039
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/guardrails",
|
|
9359
10040
|
httpMethod: "patch",
|
|
9360
|
-
pathParams: ["project_id", "
|
|
10041
|
+
pathParams: ["project_id", "guardrail_id"],
|
|
9361
10042
|
queryParams: [],
|
|
9362
10043
|
flags: [
|
|
9363
10044
|
{
|
|
@@ -9368,98 +10049,63 @@ const routes = {
|
|
|
9368
10049
|
"in": "path"
|
|
9369
10050
|
},
|
|
9370
10051
|
{
|
|
9371
|
-
"name": "
|
|
9372
|
-
"description": "
|
|
10052
|
+
"name": "guardrail_id",
|
|
10053
|
+
"description": "",
|
|
9373
10054
|
"required": true,
|
|
9374
10055
|
"type": "string",
|
|
9375
10056
|
"in": "path"
|
|
9376
10057
|
},
|
|
9377
10058
|
{
|
|
9378
|
-
"name": "
|
|
9379
|
-
"description": "",
|
|
9380
|
-
"required": false,
|
|
9381
|
-
"type": "string",
|
|
9382
|
-
"in": "body"
|
|
9383
|
-
},
|
|
9384
|
-
{
|
|
9385
|
-
"name": "tool_id",
|
|
9386
|
-
"description": "",
|
|
9387
|
-
"required": false,
|
|
9388
|
-
"type": "string",
|
|
9389
|
-
"in": "body"
|
|
9390
|
-
},
|
|
9391
|
-
{
|
|
9392
|
-
"name": "agent_id",
|
|
10059
|
+
"name": "name",
|
|
9393
10060
|
"description": "",
|
|
9394
10061
|
"required": false,
|
|
9395
10062
|
"type": "string",
|
|
9396
10063
|
"in": "body"
|
|
9397
10064
|
},
|
|
9398
10065
|
{
|
|
9399
|
-
"name": "
|
|
10066
|
+
"name": "description",
|
|
9400
10067
|
"description": "",
|
|
9401
10068
|
"required": false,
|
|
9402
10069
|
"type": "string",
|
|
9403
10070
|
"in": "body"
|
|
9404
10071
|
},
|
|
9405
10072
|
{
|
|
9406
|
-
"name": "
|
|
9407
|
-
"description": "",
|
|
10073
|
+
"name": "document",
|
|
10074
|
+
"description": "The action-class document. `class` maps a call to an action class; `guard` gates class-B autonomy. Both are single JSON Logic expressions over the `args.*` / `context.*` / `runtime.*` namespaces.\n",
|
|
9408
10075
|
"required": false,
|
|
9409
10076
|
"type": "object",
|
|
9410
10077
|
"in": "body"
|
|
9411
10078
|
},
|
|
9412
10079
|
{
|
|
9413
|
-
"name": "
|
|
10080
|
+
"name": "context_tool_id",
|
|
9414
10081
|
"description": "",
|
|
9415
10082
|
"required": false,
|
|
9416
10083
|
"type": "string",
|
|
9417
10084
|
"in": "body"
|
|
9418
10085
|
},
|
|
9419
10086
|
{
|
|
9420
|
-
"name": "
|
|
10087
|
+
"name": "context_mode",
|
|
9421
10088
|
"description": "",
|
|
9422
10089
|
"required": false,
|
|
9423
10090
|
"type": "string",
|
|
9424
10091
|
"in": "body"
|
|
9425
10092
|
},
|
|
9426
10093
|
{
|
|
9427
|
-
"name": "
|
|
9428
|
-
"description": "
|
|
10094
|
+
"name": "version_label",
|
|
10095
|
+
"description": "Optional tag for the config version this write archives (e.g. `pre-tightening`). Annotates the version only — it is not stored on the guardrail and is not part of the config, so labelling a change is never itself a change. Ignored when the write changes no policy, since no version is created.",
|
|
9429
10096
|
"required": false,
|
|
9430
10097
|
"type": "string",
|
|
9431
10098
|
"in": "body"
|
|
9432
|
-
},
|
|
9433
|
-
{
|
|
9434
|
-
"name": "chunk_size",
|
|
9435
|
-
"description": "",
|
|
9436
|
-
"required": false,
|
|
9437
|
-
"type": "integer",
|
|
9438
|
-
"in": "body"
|
|
9439
|
-
},
|
|
9440
|
-
{
|
|
9441
|
-
"name": "chunk_overlap",
|
|
9442
|
-
"description": "",
|
|
9443
|
-
"required": false,
|
|
9444
|
-
"type": "integer",
|
|
9445
|
-
"in": "body"
|
|
9446
|
-
},
|
|
9447
|
-
{
|
|
9448
|
-
"name": "metadata",
|
|
9449
|
-
"description": "",
|
|
9450
|
-
"required": false,
|
|
9451
|
-
"type": "object",
|
|
9452
|
-
"in": "body"
|
|
9453
10099
|
}
|
|
9454
10100
|
]
|
|
9455
10101
|
},
|
|
9456
|
-
"delete-
|
|
9457
|
-
serviceClass: "
|
|
9458
|
-
operationId: "
|
|
9459
|
-
description: "Deletes
|
|
9460
|
-
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/
|
|
10102
|
+
"delete-guardrail": {
|
|
10103
|
+
serviceClass: "Guardrails",
|
|
10104
|
+
operationId: "deleteGuardrail",
|
|
10105
|
+
description: "Deletes a guardrail and its archived versions by ID.",
|
|
10106
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/guardrails",
|
|
9461
10107
|
httpMethod: "delete",
|
|
9462
|
-
pathParams: ["project_id", "
|
|
10108
|
+
pathParams: ["project_id", "guardrail_id"],
|
|
9463
10109
|
queryParams: [],
|
|
9464
10110
|
flags: [{
|
|
9465
10111
|
"name": "project_id",
|
|
@@ -9468,21 +10114,21 @@ const routes = {
|
|
|
9468
10114
|
"type": "string",
|
|
9469
10115
|
"in": "path"
|
|
9470
10116
|
}, {
|
|
9471
|
-
"name": "
|
|
9472
|
-
"description": "
|
|
10117
|
+
"name": "guardrail_id",
|
|
10118
|
+
"description": "",
|
|
9473
10119
|
"required": true,
|
|
9474
10120
|
"type": "string",
|
|
9475
10121
|
"in": "path"
|
|
9476
10122
|
}]
|
|
9477
10123
|
},
|
|
9478
|
-
"
|
|
9479
|
-
serviceClass: "
|
|
9480
|
-
operationId: "
|
|
9481
|
-
description: "
|
|
9482
|
-
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/
|
|
9483
|
-
httpMethod: "
|
|
9484
|
-
pathParams: ["project_id"],
|
|
9485
|
-
queryParams: [],
|
|
10124
|
+
"list-guardrail-versions": {
|
|
10125
|
+
serviceClass: "Guardrails",
|
|
10126
|
+
operationId: "listGuardrailVersions",
|
|
10127
|
+
description: "Returns the guardrail's archived configurations, newest first. A version is written on create and on every subsequent write that changes the policy `document` — through the REST API or a formation apply alike. Metadata-only edits (name, description, context binding) do not archive a version. See [Versioning](/docs/modules/guardrails#versioning).",
|
|
10128
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/guardrails",
|
|
10129
|
+
httpMethod: "get",
|
|
10130
|
+
pathParams: ["project_id", "guardrail_id"],
|
|
10131
|
+
queryParams: ["limit", "offset"],
|
|
9486
10132
|
flags: [
|
|
9487
10133
|
{
|
|
9488
10134
|
"name": "project_id",
|
|
@@ -9492,56 +10138,866 @@ const routes = {
|
|
|
9492
10138
|
"in": "path"
|
|
9493
10139
|
},
|
|
9494
10140
|
{
|
|
9495
|
-
"name": "
|
|
9496
|
-
"description": "
|
|
9497
|
-
"required":
|
|
10141
|
+
"name": "guardrail_id",
|
|
10142
|
+
"description": "",
|
|
10143
|
+
"required": true,
|
|
9498
10144
|
"type": "string",
|
|
9499
|
-
"in": "
|
|
10145
|
+
"in": "path"
|
|
9500
10146
|
},
|
|
9501
10147
|
{
|
|
9502
|
-
"name": "
|
|
9503
|
-
"description": "
|
|
10148
|
+
"name": "limit",
|
|
10149
|
+
"description": "Maximum number of results to return",
|
|
9504
10150
|
"required": false,
|
|
9505
|
-
"type": "
|
|
9506
|
-
"in": "
|
|
10151
|
+
"type": "integer",
|
|
10152
|
+
"in": "query"
|
|
9507
10153
|
},
|
|
9508
10154
|
{
|
|
9509
|
-
"name": "
|
|
9510
|
-
"description": "
|
|
10155
|
+
"name": "offset",
|
|
10156
|
+
"description": "Number of results to skip",
|
|
9511
10157
|
"required": false,
|
|
9512
10158
|
"type": "integer",
|
|
9513
|
-
"in": "
|
|
10159
|
+
"in": "query"
|
|
10160
|
+
}
|
|
10161
|
+
]
|
|
10162
|
+
},
|
|
10163
|
+
"get-guardrail-version": {
|
|
10164
|
+
serviceClass: "Guardrails",
|
|
10165
|
+
operationId: "getGuardrailVersion",
|
|
10166
|
+
description: "Returns the exact configuration — and so the exact `document` — that governed at a given version. Approval items, activity entries, and exceptions record the version that governed them, so the audit chain survives edits.",
|
|
10167
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/guardrails",
|
|
10168
|
+
httpMethod: "get",
|
|
10169
|
+
pathParams: [
|
|
10170
|
+
"project_id",
|
|
10171
|
+
"guardrail_id",
|
|
10172
|
+
"version"
|
|
10173
|
+
],
|
|
10174
|
+
queryParams: [],
|
|
10175
|
+
flags: [
|
|
10176
|
+
{
|
|
10177
|
+
"name": "project_id",
|
|
10178
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10179
|
+
"required": true,
|
|
10180
|
+
"type": "string",
|
|
10181
|
+
"in": "path"
|
|
9514
10182
|
},
|
|
9515
10183
|
{
|
|
9516
|
-
"name": "
|
|
9517
|
-
"description": "
|
|
10184
|
+
"name": "guardrail_id",
|
|
10185
|
+
"description": "",
|
|
10186
|
+
"required": true,
|
|
10187
|
+
"type": "string",
|
|
10188
|
+
"in": "path"
|
|
10189
|
+
},
|
|
10190
|
+
{
|
|
10191
|
+
"name": "version",
|
|
10192
|
+
"description": "",
|
|
10193
|
+
"required": true,
|
|
10194
|
+
"type": "integer",
|
|
10195
|
+
"in": "path"
|
|
10196
|
+
}
|
|
10197
|
+
]
|
|
10198
|
+
},
|
|
10199
|
+
"restore-guardrail-version": {
|
|
10200
|
+
serviceClass: "Guardrails",
|
|
10201
|
+
operationId: "restoreGuardrailVersion",
|
|
10202
|
+
description: "Writes an archived version's `document` back as the guardrail's live policy, which archives it again as a **new** version rather than rewinding the counter — so an approval item or exception citing any version in between still resolves. The restore runs through the ordinary update path, so the archived document is re-validated; restoring the policy the guardrail already holds is a no-op and archives nothing.",
|
|
10203
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/guardrails",
|
|
10204
|
+
httpMethod: "post",
|
|
10205
|
+
pathParams: [
|
|
10206
|
+
"project_id",
|
|
10207
|
+
"guardrail_id",
|
|
10208
|
+
"version"
|
|
10209
|
+
],
|
|
10210
|
+
queryParams: [],
|
|
10211
|
+
flags: [
|
|
10212
|
+
{
|
|
10213
|
+
"name": "project_id",
|
|
10214
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10215
|
+
"required": true,
|
|
10216
|
+
"type": "string",
|
|
10217
|
+
"in": "path"
|
|
10218
|
+
},
|
|
10219
|
+
{
|
|
10220
|
+
"name": "guardrail_id",
|
|
10221
|
+
"description": "",
|
|
10222
|
+
"required": true,
|
|
10223
|
+
"type": "string",
|
|
10224
|
+
"in": "path"
|
|
10225
|
+
},
|
|
10226
|
+
{
|
|
10227
|
+
"name": "version",
|
|
10228
|
+
"description": "",
|
|
10229
|
+
"required": true,
|
|
10230
|
+
"type": "integer",
|
|
10231
|
+
"in": "path"
|
|
10232
|
+
},
|
|
10233
|
+
{
|
|
10234
|
+
"name": "label",
|
|
10235
|
+
"description": "Optional tag for the version the restore creates. Defaults to `restored from v<version>`.",
|
|
9518
10236
|
"required": false,
|
|
9519
|
-
"type": "
|
|
10237
|
+
"type": "string",
|
|
9520
10238
|
"in": "body"
|
|
10239
|
+
}
|
|
10240
|
+
]
|
|
10241
|
+
},
|
|
10242
|
+
"evaluate-guardrail": {
|
|
10243
|
+
serviceClass: "Guardrails",
|
|
10244
|
+
operationId: "evaluateGuardrail",
|
|
10245
|
+
description: "Runs the full evaluation pipeline — the `class` expression, the guard, the context tool per `context_mode`, live `runtime.*` resolution — against caller-supplied `args` and `guardrail_context`, and returns the exact `guardrail_evaluation` record a real call would produce. Nothing executes, no approval item is filed, and no activity entry is written. This is the adoption path: preview a document's decisions against production-shaped calls before attaching it — or before editing a widely-attached one. Pass an optional `tool_id` to resolve `runtime.tool.*`.",
|
|
10246
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/guardrails",
|
|
10247
|
+
httpMethod: "post",
|
|
10248
|
+
pathParams: ["project_id", "guardrail_id"],
|
|
10249
|
+
queryParams: [],
|
|
10250
|
+
flags: [
|
|
10251
|
+
{
|
|
10252
|
+
"name": "project_id",
|
|
10253
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10254
|
+
"required": true,
|
|
10255
|
+
"type": "string",
|
|
10256
|
+
"in": "path"
|
|
9521
10257
|
},
|
|
9522
10258
|
{
|
|
9523
|
-
"name": "
|
|
9524
|
-
"description": "
|
|
10259
|
+
"name": "guardrail_id",
|
|
10260
|
+
"description": "",
|
|
10261
|
+
"required": true,
|
|
10262
|
+
"type": "string",
|
|
10263
|
+
"in": "path"
|
|
10264
|
+
},
|
|
10265
|
+
{
|
|
10266
|
+
"name": "args",
|
|
10267
|
+
"description": "The proposed call's arguments (the `args.*` namespace).",
|
|
9525
10268
|
"required": false,
|
|
9526
|
-
"type": "
|
|
10269
|
+
"type": "object",
|
|
9527
10270
|
"in": "body"
|
|
9528
10271
|
},
|
|
9529
10272
|
{
|
|
9530
|
-
"name": "
|
|
9531
|
-
"description": "
|
|
10273
|
+
"name": "guardrail_context",
|
|
10274
|
+
"description": "The caller-supplied guardrail context (the `context.*` namespace), combined with the context tool per `context_mode`.\n",
|
|
9532
10275
|
"required": false,
|
|
9533
|
-
"type": "
|
|
10276
|
+
"type": "object",
|
|
9534
10277
|
"in": "body"
|
|
9535
10278
|
},
|
|
9536
10279
|
{
|
|
9537
|
-
"name": "
|
|
9538
|
-
"description": "
|
|
10280
|
+
"name": "tool_id",
|
|
10281
|
+
"description": "Optional tool to resolve `runtime.tool.*` against.",
|
|
10282
|
+
"required": false,
|
|
10283
|
+
"type": "string",
|
|
10284
|
+
"in": "body"
|
|
10285
|
+
}
|
|
10286
|
+
]
|
|
10287
|
+
},
|
|
10288
|
+
"list-ingestion-rules": {
|
|
10289
|
+
serviceClass: "IngestionRules",
|
|
10290
|
+
operationId: "listIngestionRules",
|
|
10291
|
+
description: "Returns the ingestion rules for a project",
|
|
10292
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/ingestion-rules",
|
|
10293
|
+
httpMethod: "get",
|
|
10294
|
+
pathParams: ["project_id"],
|
|
10295
|
+
queryParams: ["limit", "offset"],
|
|
10296
|
+
flags: [
|
|
10297
|
+
{
|
|
10298
|
+
"name": "project_id",
|
|
10299
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10300
|
+
"required": true,
|
|
10301
|
+
"type": "string",
|
|
10302
|
+
"in": "path"
|
|
10303
|
+
},
|
|
10304
|
+
{
|
|
10305
|
+
"name": "limit",
|
|
10306
|
+
"description": "Number of results per page",
|
|
10307
|
+
"required": false,
|
|
10308
|
+
"type": "integer",
|
|
10309
|
+
"in": "query"
|
|
10310
|
+
},
|
|
10311
|
+
{
|
|
10312
|
+
"name": "offset",
|
|
10313
|
+
"description": "Number of results to skip",
|
|
10314
|
+
"required": false,
|
|
10315
|
+
"type": "integer",
|
|
10316
|
+
"in": "query"
|
|
10317
|
+
}
|
|
10318
|
+
]
|
|
10319
|
+
},
|
|
10320
|
+
"create-ingestion-rule": {
|
|
10321
|
+
serviceClass: "IngestionRules",
|
|
10322
|
+
operationId: "createIngestionRule",
|
|
10323
|
+
description: "Creates a rule mapping a content_type glob to a converter. Exactly one of tool_id or agent_id must be set.",
|
|
10324
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/ingestion-rules",
|
|
10325
|
+
httpMethod: "post",
|
|
10326
|
+
pathParams: ["project_id"],
|
|
10327
|
+
queryParams: [],
|
|
10328
|
+
flags: [
|
|
10329
|
+
{
|
|
10330
|
+
"name": "project_id",
|
|
10331
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10332
|
+
"required": true,
|
|
10333
|
+
"type": "string",
|
|
10334
|
+
"in": "path"
|
|
10335
|
+
},
|
|
10336
|
+
{
|
|
10337
|
+
"name": "content_type_glob",
|
|
10338
|
+
"description": "MIME type glob matched against a file's content_type",
|
|
10339
|
+
"required": true,
|
|
10340
|
+
"type": "string",
|
|
10341
|
+
"in": "body"
|
|
10342
|
+
},
|
|
10343
|
+
{
|
|
10344
|
+
"name": "tool_id",
|
|
10345
|
+
"description": "Converter tool id (mutually exclusive with agent_id)",
|
|
10346
|
+
"required": false,
|
|
10347
|
+
"type": "string",
|
|
10348
|
+
"in": "body"
|
|
10349
|
+
},
|
|
10350
|
+
{
|
|
10351
|
+
"name": "agent_id",
|
|
10352
|
+
"description": "Converter agent id (mutually exclusive with tool_id)",
|
|
10353
|
+
"required": false,
|
|
10354
|
+
"type": "string",
|
|
10355
|
+
"in": "body"
|
|
10356
|
+
},
|
|
10357
|
+
{
|
|
10358
|
+
"name": "action",
|
|
10359
|
+
"description": "Operation id, required for mcp tool converters",
|
|
10360
|
+
"required": false,
|
|
10361
|
+
"type": "string",
|
|
10362
|
+
"in": "body"
|
|
10363
|
+
},
|
|
10364
|
+
{
|
|
10365
|
+
"name": "preset_parameters",
|
|
10366
|
+
"description": "Merged into the tool input before invocation (tool converters only)",
|
|
10367
|
+
"required": false,
|
|
10368
|
+
"type": "object",
|
|
10369
|
+
"in": "body"
|
|
10370
|
+
},
|
|
10371
|
+
{
|
|
10372
|
+
"name": "native_extraction",
|
|
10373
|
+
"description": "For native types (PDF/text): `first` (default) converts only when native extraction yields no text; `skip` always converts.",
|
|
10374
|
+
"required": false,
|
|
10375
|
+
"type": "string",
|
|
10376
|
+
"in": "body"
|
|
10377
|
+
},
|
|
10378
|
+
{
|
|
10379
|
+
"name": "file_delivery",
|
|
10380
|
+
"description": "How the file reaches a tool converter (default base64)",
|
|
10381
|
+
"required": false,
|
|
10382
|
+
"type": "string",
|
|
10383
|
+
"in": "body"
|
|
10384
|
+
},
|
|
10385
|
+
{
|
|
10386
|
+
"name": "chunk_strategy",
|
|
10387
|
+
"description": "Default chunk strategy, overridable per ingest request",
|
|
10388
|
+
"required": false,
|
|
10389
|
+
"type": "string",
|
|
10390
|
+
"in": "body"
|
|
10391
|
+
},
|
|
10392
|
+
{
|
|
10393
|
+
"name": "chunk_size",
|
|
10394
|
+
"description": "Default window size in characters for the size strategy",
|
|
10395
|
+
"required": false,
|
|
10396
|
+
"type": "integer",
|
|
10397
|
+
"in": "body"
|
|
10398
|
+
},
|
|
10399
|
+
{
|
|
10400
|
+
"name": "chunk_overlap",
|
|
10401
|
+
"description": "Default overlap in characters for the size strategy",
|
|
10402
|
+
"required": false,
|
|
10403
|
+
"type": "integer",
|
|
10404
|
+
"in": "body"
|
|
10405
|
+
},
|
|
10406
|
+
{
|
|
10407
|
+
"name": "metadata",
|
|
10408
|
+
"description": "Arbitrary JSON metadata",
|
|
10409
|
+
"required": false,
|
|
10410
|
+
"type": "object",
|
|
10411
|
+
"in": "body"
|
|
10412
|
+
}
|
|
10413
|
+
]
|
|
10414
|
+
},
|
|
10415
|
+
"get-ingestion-rule": {
|
|
10416
|
+
serviceClass: "IngestionRules",
|
|
10417
|
+
operationId: "getIngestionRule",
|
|
10418
|
+
description: "Returns a specific ingestion rule",
|
|
10419
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/ingestion-rules",
|
|
10420
|
+
httpMethod: "get",
|
|
10421
|
+
pathParams: ["project_id", "ingestion_rule_id"],
|
|
10422
|
+
queryParams: [],
|
|
10423
|
+
flags: [{
|
|
10424
|
+
"name": "project_id",
|
|
10425
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10426
|
+
"required": true,
|
|
10427
|
+
"type": "string",
|
|
10428
|
+
"in": "path"
|
|
10429
|
+
}, {
|
|
10430
|
+
"name": "ingestion_rule_id",
|
|
10431
|
+
"description": "Ingestion rule ID",
|
|
10432
|
+
"required": true,
|
|
10433
|
+
"type": "string",
|
|
10434
|
+
"in": "path"
|
|
10435
|
+
}]
|
|
10436
|
+
},
|
|
10437
|
+
"update-ingestion-rule": {
|
|
10438
|
+
serviceClass: "IngestionRules",
|
|
10439
|
+
operationId: "updateIngestionRule",
|
|
10440
|
+
description: "Updates fields of an ingestion rule",
|
|
10441
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/ingestion-rules",
|
|
10442
|
+
httpMethod: "patch",
|
|
10443
|
+
pathParams: ["project_id", "ingestion_rule_id"],
|
|
10444
|
+
queryParams: [],
|
|
10445
|
+
flags: [
|
|
10446
|
+
{
|
|
10447
|
+
"name": "project_id",
|
|
10448
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10449
|
+
"required": true,
|
|
10450
|
+
"type": "string",
|
|
10451
|
+
"in": "path"
|
|
10452
|
+
},
|
|
10453
|
+
{
|
|
10454
|
+
"name": "ingestion_rule_id",
|
|
10455
|
+
"description": "Ingestion rule ID",
|
|
10456
|
+
"required": true,
|
|
10457
|
+
"type": "string",
|
|
10458
|
+
"in": "path"
|
|
10459
|
+
},
|
|
10460
|
+
{
|
|
10461
|
+
"name": "content_type_glob",
|
|
10462
|
+
"description": "",
|
|
10463
|
+
"required": false,
|
|
10464
|
+
"type": "string",
|
|
10465
|
+
"in": "body"
|
|
10466
|
+
},
|
|
10467
|
+
{
|
|
10468
|
+
"name": "tool_id",
|
|
10469
|
+
"description": "",
|
|
10470
|
+
"required": false,
|
|
10471
|
+
"type": "string",
|
|
10472
|
+
"in": "body"
|
|
10473
|
+
},
|
|
10474
|
+
{
|
|
10475
|
+
"name": "agent_id",
|
|
10476
|
+
"description": "",
|
|
10477
|
+
"required": false,
|
|
10478
|
+
"type": "string",
|
|
10479
|
+
"in": "body"
|
|
10480
|
+
},
|
|
10481
|
+
{
|
|
10482
|
+
"name": "action",
|
|
10483
|
+
"description": "",
|
|
10484
|
+
"required": false,
|
|
10485
|
+
"type": "string",
|
|
10486
|
+
"in": "body"
|
|
10487
|
+
},
|
|
10488
|
+
{
|
|
10489
|
+
"name": "preset_parameters",
|
|
10490
|
+
"description": "",
|
|
10491
|
+
"required": false,
|
|
10492
|
+
"type": "object",
|
|
10493
|
+
"in": "body"
|
|
10494
|
+
},
|
|
10495
|
+
{
|
|
10496
|
+
"name": "native_extraction",
|
|
10497
|
+
"description": "",
|
|
10498
|
+
"required": false,
|
|
10499
|
+
"type": "string",
|
|
10500
|
+
"in": "body"
|
|
10501
|
+
},
|
|
10502
|
+
{
|
|
10503
|
+
"name": "file_delivery",
|
|
10504
|
+
"description": "",
|
|
10505
|
+
"required": false,
|
|
10506
|
+
"type": "string",
|
|
10507
|
+
"in": "body"
|
|
10508
|
+
},
|
|
10509
|
+
{
|
|
10510
|
+
"name": "chunk_strategy",
|
|
10511
|
+
"description": "Send `null` to clear the rule's override and fall back to the per-request default.",
|
|
10512
|
+
"required": false,
|
|
10513
|
+
"type": "string",
|
|
10514
|
+
"in": "body"
|
|
10515
|
+
},
|
|
10516
|
+
{
|
|
10517
|
+
"name": "chunk_size",
|
|
10518
|
+
"description": "",
|
|
10519
|
+
"required": false,
|
|
10520
|
+
"type": "integer",
|
|
10521
|
+
"in": "body"
|
|
10522
|
+
},
|
|
10523
|
+
{
|
|
10524
|
+
"name": "chunk_overlap",
|
|
10525
|
+
"description": "",
|
|
10526
|
+
"required": false,
|
|
10527
|
+
"type": "integer",
|
|
10528
|
+
"in": "body"
|
|
10529
|
+
},
|
|
10530
|
+
{
|
|
10531
|
+
"name": "metadata",
|
|
10532
|
+
"description": "",
|
|
10533
|
+
"required": false,
|
|
10534
|
+
"type": "object",
|
|
10535
|
+
"in": "body"
|
|
10536
|
+
}
|
|
10537
|
+
]
|
|
10538
|
+
},
|
|
10539
|
+
"delete-ingestion-rule": {
|
|
10540
|
+
serviceClass: "IngestionRules",
|
|
10541
|
+
operationId: "deleteIngestionRule",
|
|
10542
|
+
description: "Deletes an ingestion rule",
|
|
10543
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/ingestion-rules",
|
|
10544
|
+
httpMethod: "delete",
|
|
10545
|
+
pathParams: ["project_id", "ingestion_rule_id"],
|
|
10546
|
+
queryParams: [],
|
|
10547
|
+
flags: [{
|
|
10548
|
+
"name": "project_id",
|
|
10549
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10550
|
+
"required": true,
|
|
10551
|
+
"type": "string",
|
|
10552
|
+
"in": "path"
|
|
10553
|
+
}, {
|
|
10554
|
+
"name": "ingestion_rule_id",
|
|
10555
|
+
"description": "Ingestion rule ID",
|
|
10556
|
+
"required": true,
|
|
10557
|
+
"type": "string",
|
|
10558
|
+
"in": "path"
|
|
10559
|
+
}]
|
|
10560
|
+
},
|
|
10561
|
+
"search-knowledge": {
|
|
10562
|
+
serviceClass: "Knowledge",
|
|
10563
|
+
operationId: "searchKnowledge",
|
|
10564
|
+
description: "Searches across documents and memory entries using semantic search, file paths, document IDs, or memory IDs/tags. At least one of `query`, `document_paths`, `document_ids`, `memory_ids`, or `memory_tags` must be provided.",
|
|
10565
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/knowledge",
|
|
10566
|
+
httpMethod: "post",
|
|
10567
|
+
pathParams: ["project_id"],
|
|
10568
|
+
queryParams: [],
|
|
10569
|
+
flags: [
|
|
10570
|
+
{
|
|
10571
|
+
"name": "project_id",
|
|
10572
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10573
|
+
"required": true,
|
|
10574
|
+
"type": "string",
|
|
10575
|
+
"in": "path"
|
|
10576
|
+
},
|
|
10577
|
+
{
|
|
10578
|
+
"name": "query",
|
|
10579
|
+
"description": "Semantic search query text",
|
|
10580
|
+
"required": false,
|
|
10581
|
+
"type": "string",
|
|
10582
|
+
"in": "body"
|
|
10583
|
+
},
|
|
10584
|
+
{
|
|
10585
|
+
"name": "min_score",
|
|
10586
|
+
"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.",
|
|
10587
|
+
"required": false,
|
|
10588
|
+
"type": "number",
|
|
10589
|
+
"in": "body"
|
|
10590
|
+
},
|
|
10591
|
+
{
|
|
10592
|
+
"name": "limit",
|
|
10593
|
+
"description": "Maximum number of results to return (default 10)",
|
|
10594
|
+
"required": false,
|
|
10595
|
+
"type": "integer",
|
|
10596
|
+
"in": "body"
|
|
10597
|
+
},
|
|
10598
|
+
{
|
|
10599
|
+
"name": "memory_ids",
|
|
10600
|
+
"description": "Search entries within these specific memories",
|
|
10601
|
+
"required": false,
|
|
10602
|
+
"type": "array",
|
|
10603
|
+
"in": "body"
|
|
10604
|
+
},
|
|
10605
|
+
{
|
|
10606
|
+
"name": "memory_tags",
|
|
10607
|
+
"description": "Search entries in memories whose tags match any of these patterns (glob supported)",
|
|
10608
|
+
"required": false,
|
|
10609
|
+
"type": "array",
|
|
10610
|
+
"in": "body"
|
|
10611
|
+
},
|
|
10612
|
+
{
|
|
10613
|
+
"name": "document_paths",
|
|
10614
|
+
"description": "Filter results to documents whose file path starts with one of these prefixes",
|
|
10615
|
+
"required": false,
|
|
10616
|
+
"type": "array",
|
|
10617
|
+
"in": "body"
|
|
10618
|
+
},
|
|
10619
|
+
{
|
|
10620
|
+
"name": "document_ids",
|
|
10621
|
+
"description": "Filter results to specific document IDs",
|
|
10622
|
+
"required": false,
|
|
10623
|
+
"type": "array",
|
|
10624
|
+
"in": "body"
|
|
10625
|
+
}
|
|
10626
|
+
]
|
|
10627
|
+
},
|
|
10628
|
+
"list-memories": {
|
|
10629
|
+
serviceClass: "Memories",
|
|
10630
|
+
operationId: "listMemories",
|
|
10631
|
+
description: "Returns a list of memory configurations for a project",
|
|
10632
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memories",
|
|
10633
|
+
httpMethod: "get",
|
|
10634
|
+
pathParams: ["project_id"],
|
|
10635
|
+
queryParams: [
|
|
10636
|
+
"tags",
|
|
10637
|
+
"limit",
|
|
10638
|
+
"offset"
|
|
10639
|
+
],
|
|
10640
|
+
flags: [
|
|
10641
|
+
{
|
|
10642
|
+
"name": "project_id",
|
|
10643
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10644
|
+
"required": true,
|
|
10645
|
+
"type": "string",
|
|
10646
|
+
"in": "path"
|
|
10647
|
+
},
|
|
10648
|
+
{
|
|
10649
|
+
"name": "tags",
|
|
10650
|
+
"description": "Filter memories by tag patterns. Supports glob syntax (`*` matches any substring, `?` matches any single character). Multiple values are ORed — a memory is returned if any of its tags match any of the provided patterns. Omit to return all memories.\n",
|
|
10651
|
+
"required": false,
|
|
10652
|
+
"type": "array",
|
|
10653
|
+
"in": "query"
|
|
10654
|
+
},
|
|
10655
|
+
{
|
|
10656
|
+
"name": "limit",
|
|
10657
|
+
"description": "Maximum number of results to return",
|
|
10658
|
+
"required": false,
|
|
10659
|
+
"type": "integer",
|
|
10660
|
+
"in": "query"
|
|
10661
|
+
},
|
|
10662
|
+
{
|
|
10663
|
+
"name": "offset",
|
|
10664
|
+
"description": "Number of results to skip",
|
|
10665
|
+
"required": false,
|
|
10666
|
+
"type": "integer",
|
|
10667
|
+
"in": "query"
|
|
10668
|
+
}
|
|
10669
|
+
]
|
|
10670
|
+
},
|
|
10671
|
+
"create-memory": {
|
|
10672
|
+
serviceClass: "Memories",
|
|
10673
|
+
operationId: "createMemory",
|
|
10674
|
+
description: "Creates a new memory configuration in a project",
|
|
10675
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memories",
|
|
10676
|
+
httpMethod: "post",
|
|
10677
|
+
pathParams: ["project_id"],
|
|
10678
|
+
queryParams: [],
|
|
10679
|
+
flags: [
|
|
10680
|
+
{
|
|
10681
|
+
"name": "project_id",
|
|
10682
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10683
|
+
"required": true,
|
|
10684
|
+
"type": "string",
|
|
10685
|
+
"in": "path"
|
|
10686
|
+
},
|
|
10687
|
+
{
|
|
10688
|
+
"name": "name",
|
|
10689
|
+
"description": "Memory name",
|
|
10690
|
+
"required": true,
|
|
10691
|
+
"type": "string",
|
|
10692
|
+
"in": "body"
|
|
10693
|
+
},
|
|
10694
|
+
{
|
|
10695
|
+
"name": "description",
|
|
10696
|
+
"description": "Optional description",
|
|
10697
|
+
"required": false,
|
|
10698
|
+
"type": "string",
|
|
10699
|
+
"in": "body"
|
|
10700
|
+
},
|
|
10701
|
+
{
|
|
10702
|
+
"name": "tags",
|
|
10703
|
+
"description": "Optional list of tags for filtering in knowledge search",
|
|
10704
|
+
"required": false,
|
|
10705
|
+
"type": "array",
|
|
10706
|
+
"in": "body"
|
|
10707
|
+
}
|
|
10708
|
+
]
|
|
10709
|
+
},
|
|
10710
|
+
"get-memory": {
|
|
10711
|
+
serviceClass: "Memories",
|
|
10712
|
+
operationId: "getMemory",
|
|
10713
|
+
description: "Returns a single memory configuration by ID",
|
|
10714
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memories",
|
|
10715
|
+
httpMethod: "get",
|
|
10716
|
+
pathParams: ["project_id", "memory_id"],
|
|
10717
|
+
queryParams: [],
|
|
10718
|
+
flags: [{
|
|
10719
|
+
"name": "project_id",
|
|
10720
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10721
|
+
"required": true,
|
|
10722
|
+
"type": "string",
|
|
10723
|
+
"in": "path"
|
|
10724
|
+
}, {
|
|
10725
|
+
"name": "memory_id",
|
|
10726
|
+
"description": "",
|
|
10727
|
+
"required": true,
|
|
10728
|
+
"type": "string",
|
|
10729
|
+
"in": "path"
|
|
10730
|
+
}]
|
|
10731
|
+
},
|
|
10732
|
+
"update-memory": {
|
|
10733
|
+
serviceClass: "Memories",
|
|
10734
|
+
operationId: "updateMemory",
|
|
10735
|
+
description: "Updates an existing memory configuration",
|
|
10736
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memories",
|
|
10737
|
+
httpMethod: "put",
|
|
10738
|
+
pathParams: ["project_id", "memory_id"],
|
|
10739
|
+
queryParams: [],
|
|
10740
|
+
flags: [
|
|
10741
|
+
{
|
|
10742
|
+
"name": "project_id",
|
|
10743
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10744
|
+
"required": true,
|
|
10745
|
+
"type": "string",
|
|
10746
|
+
"in": "path"
|
|
10747
|
+
},
|
|
10748
|
+
{
|
|
10749
|
+
"name": "memory_id",
|
|
10750
|
+
"description": "",
|
|
10751
|
+
"required": true,
|
|
10752
|
+
"type": "string",
|
|
10753
|
+
"in": "path"
|
|
10754
|
+
},
|
|
10755
|
+
{
|
|
10756
|
+
"name": "name",
|
|
10757
|
+
"description": "Memory name",
|
|
10758
|
+
"required": false,
|
|
10759
|
+
"type": "string",
|
|
10760
|
+
"in": "body"
|
|
10761
|
+
},
|
|
10762
|
+
{
|
|
10763
|
+
"name": "description",
|
|
10764
|
+
"description": "Optional description",
|
|
10765
|
+
"required": false,
|
|
10766
|
+
"type": "string",
|
|
10767
|
+
"in": "body"
|
|
10768
|
+
},
|
|
10769
|
+
{
|
|
10770
|
+
"name": "tags",
|
|
10771
|
+
"description": "Optional list of tags for filtering in knowledge search",
|
|
10772
|
+
"required": false,
|
|
10773
|
+
"type": "array",
|
|
10774
|
+
"in": "body"
|
|
10775
|
+
}
|
|
10776
|
+
]
|
|
10777
|
+
},
|
|
10778
|
+
"delete-memory": {
|
|
10779
|
+
serviceClass: "Memories",
|
|
10780
|
+
operationId: "deleteMemory",
|
|
10781
|
+
description: "Deletes a memory configuration",
|
|
10782
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memories",
|
|
10783
|
+
httpMethod: "delete",
|
|
10784
|
+
pathParams: ["project_id", "memory_id"],
|
|
10785
|
+
queryParams: [],
|
|
10786
|
+
flags: [{
|
|
10787
|
+
"name": "project_id",
|
|
10788
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10789
|
+
"required": true,
|
|
10790
|
+
"type": "string",
|
|
10791
|
+
"in": "path"
|
|
10792
|
+
}, {
|
|
10793
|
+
"name": "memory_id",
|
|
10794
|
+
"description": "",
|
|
10795
|
+
"required": true,
|
|
10796
|
+
"type": "string",
|
|
10797
|
+
"in": "path"
|
|
10798
|
+
}]
|
|
10799
|
+
},
|
|
10800
|
+
"list-memory-entries": {
|
|
10801
|
+
serviceClass: "MemoryEntries",
|
|
10802
|
+
operationId: "listMemoryEntries",
|
|
10803
|
+
description: "Returns all entries in a memory container",
|
|
10804
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-entries",
|
|
10805
|
+
httpMethod: "get",
|
|
10806
|
+
pathParams: ["project_id"],
|
|
10807
|
+
queryParams: [
|
|
10808
|
+
"memory_id",
|
|
10809
|
+
"limit",
|
|
10810
|
+
"offset",
|
|
10811
|
+
"include_invalidated"
|
|
10812
|
+
],
|
|
10813
|
+
flags: [
|
|
10814
|
+
{
|
|
10815
|
+
"name": "project_id",
|
|
10816
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10817
|
+
"required": true,
|
|
10818
|
+
"type": "string",
|
|
10819
|
+
"in": "path"
|
|
10820
|
+
},
|
|
10821
|
+
{
|
|
10822
|
+
"name": "memory_id",
|
|
10823
|
+
"description": "Memory container to list entries from (mem_...)",
|
|
10824
|
+
"required": true,
|
|
10825
|
+
"type": "string",
|
|
10826
|
+
"in": "query"
|
|
10827
|
+
},
|
|
10828
|
+
{
|
|
10829
|
+
"name": "limit",
|
|
10830
|
+
"description": "Maximum number of results to return",
|
|
10831
|
+
"required": false,
|
|
10832
|
+
"type": "integer",
|
|
10833
|
+
"in": "query"
|
|
10834
|
+
},
|
|
10835
|
+
{
|
|
10836
|
+
"name": "offset",
|
|
10837
|
+
"description": "Number of results to skip",
|
|
10838
|
+
"required": false,
|
|
10839
|
+
"type": "integer",
|
|
10840
|
+
"in": "query"
|
|
10841
|
+
},
|
|
10842
|
+
{
|
|
10843
|
+
"name": "include_invalidated",
|
|
10844
|
+
"description": "Include invalidated (superseded) entries. They are excluded by default; set this to audit the supersede history.",
|
|
10845
|
+
"required": false,
|
|
10846
|
+
"type": "boolean",
|
|
10847
|
+
"in": "query"
|
|
10848
|
+
}
|
|
10849
|
+
]
|
|
10850
|
+
},
|
|
10851
|
+
"create-memory-entry": {
|
|
10852
|
+
serviceClass: "MemoryEntries",
|
|
10853
|
+
operationId: "createMemoryEntry",
|
|
10854
|
+
description: "Creates a new entry in the specified memory container. Automatically generates an embedding for semantic search, and skips the write when an existing entry is a near-duplicate (see `duplicate_threshold`). A merely similar fact is stored as its own entry: this path has no agent context and therefore no model to consolidate two facts into one.",
|
|
10855
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-entries",
|
|
10856
|
+
httpMethod: "post",
|
|
10857
|
+
pathParams: ["project_id"],
|
|
10858
|
+
queryParams: [],
|
|
10859
|
+
flags: [
|
|
10860
|
+
{
|
|
10861
|
+
"name": "project_id",
|
|
10862
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10863
|
+
"required": true,
|
|
10864
|
+
"type": "string",
|
|
10865
|
+
"in": "path"
|
|
10866
|
+
},
|
|
10867
|
+
{
|
|
10868
|
+
"name": "memory_id",
|
|
10869
|
+
"description": "Memory container to add the entry to (mem_...)",
|
|
10870
|
+
"required": true,
|
|
10871
|
+
"type": "string",
|
|
10872
|
+
"in": "body"
|
|
10873
|
+
},
|
|
10874
|
+
{
|
|
10875
|
+
"name": "content",
|
|
10876
|
+
"description": "The text content of the memory entry",
|
|
10877
|
+
"required": true,
|
|
10878
|
+
"type": "string",
|
|
10879
|
+
"in": "body"
|
|
10880
|
+
},
|
|
10881
|
+
{
|
|
10882
|
+
"name": "source_type",
|
|
10883
|
+
"description": "How this entry was created",
|
|
10884
|
+
"required": false,
|
|
10885
|
+
"type": "string",
|
|
10886
|
+
"in": "body"
|
|
10887
|
+
},
|
|
10888
|
+
{
|
|
10889
|
+
"name": "tags",
|
|
10890
|
+
"description": "Per-entry tag strings, used for entry-granularity filtering in search-knowledge (memory_tags)",
|
|
10891
|
+
"required": false,
|
|
10892
|
+
"type": "array",
|
|
10893
|
+
"in": "body"
|
|
10894
|
+
},
|
|
10895
|
+
{
|
|
10896
|
+
"name": "metadata",
|
|
10897
|
+
"description": "Arbitrary structured metadata attached to the entry",
|
|
10898
|
+
"required": false,
|
|
10899
|
+
"type": "object",
|
|
10900
|
+
"in": "body"
|
|
10901
|
+
},
|
|
10902
|
+
{
|
|
10903
|
+
"name": "duplicate_threshold",
|
|
10904
|
+
"description": "Cosine similarity score at or above which the incoming content is considered a duplicate of an existing entry and skipped (default 0.95). Below it the entry is always created.",
|
|
10905
|
+
"required": false,
|
|
10906
|
+
"type": "number",
|
|
10907
|
+
"in": "body"
|
|
10908
|
+
}
|
|
10909
|
+
]
|
|
10910
|
+
},
|
|
10911
|
+
"get-memory-entry": {
|
|
10912
|
+
serviceClass: "MemoryEntries",
|
|
10913
|
+
operationId: "getMemoryEntry",
|
|
10914
|
+
description: "Returns a single memory entry by ID",
|
|
10915
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-entries",
|
|
10916
|
+
httpMethod: "get",
|
|
10917
|
+
pathParams: ["project_id", "entry_id"],
|
|
10918
|
+
queryParams: [],
|
|
10919
|
+
flags: [{
|
|
10920
|
+
"name": "project_id",
|
|
10921
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10922
|
+
"required": true,
|
|
10923
|
+
"type": "string",
|
|
10924
|
+
"in": "path"
|
|
10925
|
+
}, {
|
|
10926
|
+
"name": "entry_id",
|
|
10927
|
+
"description": "",
|
|
10928
|
+
"required": true,
|
|
10929
|
+
"type": "string",
|
|
10930
|
+
"in": "path"
|
|
10931
|
+
}]
|
|
10932
|
+
},
|
|
10933
|
+
"update-memory-entry": {
|
|
10934
|
+
serviceClass: "MemoryEntries",
|
|
10935
|
+
operationId: "updateMemoryEntry",
|
|
10936
|
+
description: "Updates an existing memory entry. Regenerates the embedding if content changes.",
|
|
10937
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-entries",
|
|
10938
|
+
httpMethod: "put",
|
|
10939
|
+
pathParams: ["project_id", "entry_id"],
|
|
10940
|
+
queryParams: [],
|
|
10941
|
+
flags: [
|
|
10942
|
+
{
|
|
10943
|
+
"name": "project_id",
|
|
10944
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10945
|
+
"required": true,
|
|
10946
|
+
"type": "string",
|
|
10947
|
+
"in": "path"
|
|
10948
|
+
},
|
|
10949
|
+
{
|
|
10950
|
+
"name": "entry_id",
|
|
10951
|
+
"description": "",
|
|
10952
|
+
"required": true,
|
|
10953
|
+
"type": "string",
|
|
10954
|
+
"in": "path"
|
|
10955
|
+
},
|
|
10956
|
+
{
|
|
10957
|
+
"name": "content",
|
|
10958
|
+
"description": "Updated text content",
|
|
10959
|
+
"required": false,
|
|
10960
|
+
"type": "string",
|
|
10961
|
+
"in": "body"
|
|
10962
|
+
},
|
|
10963
|
+
{
|
|
10964
|
+
"name": "tags",
|
|
10965
|
+
"description": "Replaces the entry's tags. Pass null or an empty array to clear.",
|
|
9539
10966
|
"required": false,
|
|
9540
10967
|
"type": "array",
|
|
9541
10968
|
"in": "body"
|
|
10969
|
+
},
|
|
10970
|
+
{
|
|
10971
|
+
"name": "metadata",
|
|
10972
|
+
"description": "Replaces the entry's metadata. Pass null to clear.",
|
|
10973
|
+
"required": false,
|
|
10974
|
+
"type": "object",
|
|
10975
|
+
"in": "body"
|
|
9542
10976
|
}
|
|
9543
10977
|
]
|
|
9544
10978
|
},
|
|
10979
|
+
"delete-memory-entry": {
|
|
10980
|
+
serviceClass: "MemoryEntries",
|
|
10981
|
+
operationId: "deleteMemoryEntry",
|
|
10982
|
+
description: "Deletes a memory entry",
|
|
10983
|
+
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/memory-entries",
|
|
10984
|
+
httpMethod: "delete",
|
|
10985
|
+
pathParams: ["project_id", "entry_id"],
|
|
10986
|
+
queryParams: [],
|
|
10987
|
+
flags: [{
|
|
10988
|
+
"name": "project_id",
|
|
10989
|
+
"description": "Project public ID (proj_ prefix).",
|
|
10990
|
+
"required": true,
|
|
10991
|
+
"type": "string",
|
|
10992
|
+
"in": "path"
|
|
10993
|
+
}, {
|
|
10994
|
+
"name": "entry_id",
|
|
10995
|
+
"description": "",
|
|
10996
|
+
"required": true,
|
|
10997
|
+
"type": "string",
|
|
10998
|
+
"in": "path"
|
|
10999
|
+
}]
|
|
11000
|
+
},
|
|
9545
11001
|
"list-model-routes": {
|
|
9546
11002
|
serviceClass: "ModelRoutes",
|
|
9547
11003
|
operationId: "listModelRoutes",
|