@naturali/cli 0.201.1 → 0.203.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/README.md +1 -1
- package/dist/index.mjs +107 -69
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ the environment:
|
|
|
17
17
|
| Variable | Purpose |
|
|
18
18
|
| --- | --- |
|
|
19
19
|
| `NATURALI_TOKEN` | Bearer credential (`nat_sk_…` or a session JWT). Required. |
|
|
20
|
-
| `
|
|
20
|
+
| `NATURALI_PROJECT_ID` | Default `--project-id` for commands that take one. An explicit `--project-id` still wins. |
|
|
21
21
|
|
|
22
22
|
## Commands
|
|
23
23
|
|
package/dist/index.mjs
CHANGED
|
@@ -17,7 +17,7 @@ var __exportAll = (all, no_symbols) => {
|
|
|
17
17
|
};
|
|
18
18
|
//#endregion
|
|
19
19
|
//#region package.json
|
|
20
|
-
var version = "0.
|
|
20
|
+
var version = "0.203.0";
|
|
21
21
|
//#endregion
|
|
22
22
|
//#region ../sdk/src/generated/core/bodySerializer.gen.ts
|
|
23
23
|
const serializeFormDataPair = (data, key, value) => {
|
|
@@ -2925,7 +2925,7 @@ var Evaluations = class {
|
|
|
2925
2925
|
/**
|
|
2926
2926
|
* Cancel an eval run
|
|
2927
2927
|
*
|
|
2928
|
-
* Cancels a queued or running run: its outstanding item tasks are dropped so it stops consuming provider budget, and the run settles as `
|
|
2928
|
+
* Cancels a queued or running run: its outstanding item tasks are dropped so it stops consuming provider budget, and the run settles as `cancelled`.
|
|
2929
2929
|
*
|
|
2930
2930
|
* Results already written are kept — they are real measurements of generations that were really paid for — and `completed_count` / `errored_count` report what ran. `aggregate_scores` is deliberately left null: a partial roll-up in the same field a completed run uses would read as a whole-dataset verdict.
|
|
2931
2931
|
*
|
|
@@ -4287,7 +4287,7 @@ var Orchestrations = class {
|
|
|
4287
4287
|
/**
|
|
4288
4288
|
* Validate an orchestration graph
|
|
4289
4289
|
*
|
|
4290
|
-
* Statically validates an orchestration graph without persisting anything. Checks that every node has its required field, node ids are unique, edges reference existing nodes, the graph is acyclic (unless it contains a loop node), and every `input_mapping` `{"var": "..."}` reference resolves to a state key written by an upstream node or seeded by `input_schema`. Returns blocking `
|
|
4290
|
+
* Statically validates an orchestration graph without persisting anything. Checks that every node has its required field, node ids are unique, edges reference existing nodes, the graph is acyclic (unless it contains a loop node), and every `input_mapping` `{"var": "..."}` reference resolves to a state key written by an upstream node or seeded by `input_schema`. Returns blocking `problems` and non-blocking `warnings` (e.g. a state key only written on a conditional branch). The same checks are enforced on create and update, which fail with `400 ORCHESTRATION_VALIDATION_FAILED` listing the same items under `meta.problems` and `meta.warnings`.
|
|
4291
4291
|
*
|
|
4292
4292
|
*/
|
|
4293
4293
|
static validateOrchestration(options) {
|
|
@@ -4438,7 +4438,7 @@ var Orchestrations = class {
|
|
|
4438
4438
|
/**
|
|
4439
4439
|
* Start an orchestration run
|
|
4440
4440
|
*
|
|
4441
|
-
* Creates a new run for the orchestration named by orchestration_id. By default the run executes durably in the background: the response returns immediately with status "queued" (a worker then claims it and moves it to "running") and progress is observed via get-orchestration-run or run lifecycle webhook events (orchestration_runs.started/awaiting_input/
|
|
4441
|
+
* Creates a new run for the orchestration named by orchestration_id. By default the run executes durably in the background: the response returns immediately with status "queued" (a worker then claims it and moves it to "running") and progress is observed via get-orchestration-run or run lifecycle webhook events (orchestration_runs.started/awaiting_input/completed/failed). Delay and poll waits park the run as "sleeping" and are woken by a background scheduler, surviving restarts. Pass wait=true to block until the run reaches a terminal or awaiting_input state.
|
|
4442
4442
|
*/
|
|
4443
4443
|
static startOrchestrationRun(options) {
|
|
4444
4444
|
return (options.client ?? client).post({
|
|
@@ -4700,7 +4700,7 @@ var Playbooks = class {
|
|
|
4700
4700
|
/**
|
|
4701
4701
|
* Write a case's inputs
|
|
4702
4702
|
*
|
|
4703
|
-
* Writes a batch of manual inputs, all or none. Each write names the revision it read in `expected_revision`, `null` for a field still unset; when any field has moved on the whole batch is refused with `409 PLAYBOOK_INPUT_CONFLICT` and `meta.conflicts` names each field. An input the case's version does not declare, one that reads another node, or a value its schema refuses is `400 PLAYBOOK_INPUT_INVALID`. A value equal to the field's current one writes no revision. Once written, every node the write makes runnable is queued to run, unless the case is paused. A write made with a credential the case's own work runs as — the case, one of its executions in flight, or the task or run one started — is `403 PLAYBOOK_SELF_WRITE`.
|
|
4703
|
+
* Writes a batch of manual inputs, all or none. Each write names the revision it read in `expected_revision`, `null` for a field still unset; when any field has moved on the whole batch is refused with `409 PLAYBOOK_INPUT_CONFLICT` and `meta.conflicts` names each field. An input the case's version does not declare, one that reads another node, or a value its schema refuses is `400 PLAYBOOK_INPUT_INVALID`. A value equal to the field's current one writes no revision. Once written, every node the write makes runnable is queued to run, unless the case is paused. With `wait: true` it answers once every execution queued, and every one those queue, has settled or parked. A write made with a credential the case's own work runs as — the case, one of its executions in flight, or the task or run one started — is `403 PLAYBOOK_SELF_WRITE`.
|
|
4704
4704
|
*/
|
|
4705
4705
|
static writePlaybookCaseInputs(options) {
|
|
4706
4706
|
return (options.client ?? client).post({
|
|
@@ -4715,7 +4715,7 @@ var Playbooks = class {
|
|
|
4715
4715
|
/**
|
|
4716
4716
|
* List what a node still needs
|
|
4717
4717
|
*
|
|
4718
|
-
* Returns the manual inputs still unset, or refused by their schema, before `
|
|
4718
|
+
* Returns the manual inputs still unset, or refused by their schema, before `node_id` can be reached, grouped in waves: nothing in a later wave can run before the earlier ones are filled.
|
|
4719
4719
|
*/
|
|
4720
4720
|
static getPlaybookCaseMissing(options) {
|
|
4721
4721
|
return (options.client ?? client).get({
|
|
@@ -4737,7 +4737,7 @@ var Playbooks = class {
|
|
|
4737
4737
|
/**
|
|
4738
4738
|
* Run a node of a case
|
|
4739
4739
|
*
|
|
4740
|
-
* Runs one node now. The cascade already runs every node whose inputs are set once a write, a settle or a resume makes it runnable, and never reruns a `failed` one: this is how a failed node is retried. A `collect` node takes its own input values as its output, any other node starts its executor with the node's input values mapped through the executor's `input`. The executor runs as the author of the case's playbook version, whose permission to start it is checked again here (`403 PLAYBOOK_EXECUTOR_FORBIDDEN`); an author that no longer exists is `409 PLAYBOOK_AUTHOR_UNAVAILABLE`. Only a `ready`, `stale` or `
|
|
4740
|
+
* Runs one node now. The cascade already runs every node whose inputs are set once a write, a settle or a resume makes it runnable, and never reruns a `failed` or `done` one: this is how a failed node is retried, and how a `done` node is recomputed after an upgrade changed its executor. A `collect` node takes its own input values as its output, any other node starts its executor with the node's input values mapped through the executor's `input`. The executor runs as the author of the case's playbook version, whose permission to start it is checked again here (`403 PLAYBOOK_EXECUTOR_FORBIDDEN`); an author that no longer exists is `409 PLAYBOOK_AUTHOR_UNAVAILABLE`. Only a `ready`, `stale`, `failed` or `done` node with every required input set runs; anything else is `409 PLAYBOOK_NODE_NOT_RUNNABLE`. A paused case is `409 PLAYBOOK_CASE_PAUSED`, and a case in a paused project `409 PROJECT_PAUSED`.
|
|
4741
4741
|
*
|
|
4742
4742
|
* The output is written as an entry when the execution settles. A value equal to the node's current output writes no revision. If the node's inputs change while it runs, the execution settles as `superseded` and writes nothing.
|
|
4743
4743
|
*
|
|
@@ -4778,7 +4778,7 @@ var Playbooks = class {
|
|
|
4778
4778
|
/**
|
|
4779
4779
|
* Export a final node
|
|
4780
4780
|
*
|
|
4781
|
-
* Renders one revision of a final node as files, one export per transformation: each transformation's tool is called with the case's `case_id` and `subject`, the `
|
|
4781
|
+
* Renders one revision of a final node as files, one export per transformation: each transformation's tool is called with the case's `case_id` and `subject`, the `node_id`, the `revision` and that revision's `output`, and must answer a file (`execute.response_mode: base64`) of its `format`'s content type. The file is kept in the project's files under `/.system/playbooks/`. An export never feeds a node.
|
|
4782
4782
|
*
|
|
4783
4783
|
* Without `revision` the node's current output is exported, which needs the node `done` (`409 PLAYBOOK_NODE_NOT_EXPORTABLE`); a `revision` names an earlier output or confirmation of the node. Each tool runs as the author of the case's playbook version, whose permission to call it is checked here (`403 PLAYBOOK_EXECUTOR_FORBIDDEN`). A paused case is `409 PLAYBOOK_CASE_PAUSED`, and a case in a paused project `409 PROJECT_PAUSED`.
|
|
4784
4784
|
*
|
|
@@ -4819,7 +4819,7 @@ var Playbooks = class {
|
|
|
4819
4819
|
/**
|
|
4820
4820
|
* Upgrade a case
|
|
4821
4821
|
*
|
|
4822
|
-
* Moves a case to another version of its playbook: the playbook's current version, or the `version` named, an earlier one included. Values carry over by node
|
|
4822
|
+
* Moves a case to another version of its playbook: the playbook's current version, or the `version` named, an earlier one included. Values carry over by node ID, and every node's state is read against the new version: a node added is open, a node removed leaves the structure while its entries stay, a node whose input reads another field is `stale`, and a value its input's new schema refuses is missing again. The cascade then runs what became runnable. With `wait: true` it answers once every execution queued, and every one those queue, has settled or parked. Each upgrade is recorded with what moved; the version the case is already on records nothing.
|
|
4823
4823
|
*
|
|
4824
4824
|
* An execution running is `409 PLAYBOOK_CASE_BUSY`; one queued but not started settles `superseded`. An upgrade made with a credential the case's own work runs as is `403 PLAYBOOK_SELF_WRITE`.
|
|
4825
4825
|
*/
|
|
@@ -4871,7 +4871,7 @@ var Playbooks = class {
|
|
|
4871
4871
|
*
|
|
4872
4872
|
* Approves or rejects a `confirm` node on the inputs the confirmer read. `expected_revisions` names the revision of each of the node's inputs as read (`nodes[].inputs[].revision` on the case); an input that moved since is `409 PLAYBOOK_INPUT_CONFLICT`, `meta.conflicts` naming each, and nothing is written.
|
|
4873
4873
|
*
|
|
4874
|
-
* An approval writes a `confirmation` entry whose value is the node's input values: it is the node's output, and the nodes reading it run next. A rejection writes a `rejection` entry with the `reason`: the node is `rejected`, and every node reading it is blocked, until its inputs change or it is approved. Another node, or a `confirm` node with a required input unset or reading a node that is not `done`, is `409 PLAYBOOK_NODE_NOT_CONFIRMABLE`. A confirmation made with a credential the case's own work runs as is `403 PLAYBOOK_SELF_WRITE`.
|
|
4874
|
+
* An approval writes a `confirmation` entry whose value is the node's input values: it is the node's output, and the nodes reading it run next. With `wait: true` it answers once every execution queued, and every one those queue, has settled or parked. A rejection writes a `rejection` entry with the `reason`: the node is `rejected`, and every node reading it is blocked, until its inputs change or it is approved. Another node, or a `confirm` node with a required input unset or reading a node that is not `done`, is `409 PLAYBOOK_NODE_NOT_CONFIRMABLE`. A confirmation made with a credential the case's own work runs as is `403 PLAYBOOK_SELF_WRITE`.
|
|
4875
4875
|
*/
|
|
4876
4876
|
static confirmPlaybookCaseNode(options) {
|
|
4877
4877
|
return (options.client ?? client).post({
|
|
@@ -5419,7 +5419,7 @@ var Sessions = class {
|
|
|
5419
5419
|
/**
|
|
5420
5420
|
* Add a user message
|
|
5421
5421
|
*
|
|
5422
|
-
* Saves a user message to the session. When
|
|
5422
|
+
* Saves a user message to the session. When `auto_generate` is enabled on the session and no generation is currently in progress, generation is triggered automatically and the response is the generated turn, the same body `?wait=true` generate answers. Otherwise returns the saved user message.
|
|
5423
5423
|
*
|
|
5424
5424
|
*/
|
|
5425
5425
|
static addSessionMessage(options) {
|
|
@@ -7018,13 +7018,14 @@ const placeFlags = (args) => {
|
|
|
7018
7018
|
};
|
|
7019
7019
|
const PROJECT_ID_PARAM = "project_id";
|
|
7020
7020
|
/**
|
|
7021
|
-
* Falls back to `
|
|
7021
|
+
* Falls back to `NATURALI_PROJECT_ID` for the `project_id` path or query
|
|
7022
7022
|
* parameter when a command doesn't pass `--project-id` explicitly, so a user
|
|
7023
7023
|
* working within one project doesn't have to repeat it on every command.
|
|
7024
|
+
* `NATURALI_PROJECT` is read after it so shells that still export it work.
|
|
7024
7025
|
*/
|
|
7025
7026
|
const applyProjectIdEnvDefault = (args) => {
|
|
7026
7027
|
const { route, call } = args;
|
|
7027
|
-
const envProjectId = process.env["NATURALI_PROJECT"];
|
|
7028
|
+
const envProjectId = process.env["NATURALI_PROJECT_ID"] || process.env["NATURALI_PROJECT"];
|
|
7028
7029
|
if (!envProjectId) return;
|
|
7029
7030
|
if (route.pathParams.includes(PROJECT_ID_PARAM) && !(PROJECT_ID_PARAM in call.path)) call.path[PROJECT_ID_PARAM] = envProjectId;
|
|
7030
7031
|
else if (route.queryParams.includes(PROJECT_ID_PARAM) && !(PROJECT_ID_PARAM in call.query)) call.query[PROJECT_ID_PARAM] = envProjectId;
|
|
@@ -9883,7 +9884,8 @@ const routes = {
|
|
|
9883
9884
|
queryParams: [
|
|
9884
9885
|
"status",
|
|
9885
9886
|
"origin",
|
|
9886
|
-
"
|
|
9887
|
+
"expires_from",
|
|
9888
|
+
"expires_to",
|
|
9887
9889
|
"limit",
|
|
9888
9890
|
"offset"
|
|
9889
9891
|
],
|
|
@@ -9899,9 +9901,9 @@ const routes = {
|
|
|
9899
9901
|
},
|
|
9900
9902
|
{
|
|
9901
9903
|
"name": "status",
|
|
9902
|
-
"description": "Filter by lifecycle status",
|
|
9904
|
+
"description": "Filter by lifecycle status. Repeat the parameter to OR values. A value outside the enum, empty string included, is a `400`.",
|
|
9903
9905
|
"required": false,
|
|
9904
|
-
"type": "
|
|
9906
|
+
"type": "array",
|
|
9905
9907
|
"in": "query"
|
|
9906
9908
|
},
|
|
9907
9909
|
{
|
|
@@ -9912,8 +9914,15 @@ const routes = {
|
|
|
9912
9914
|
"in": "query"
|
|
9913
9915
|
},
|
|
9914
9916
|
{
|
|
9915
|
-
"name": "
|
|
9916
|
-
"description": "
|
|
9917
|
+
"name": "expires_from",
|
|
9918
|
+
"description": "Only items whose `expires_at` is at or after this timestamp (ISO 8601)",
|
|
9919
|
+
"required": false,
|
|
9920
|
+
"type": "string",
|
|
9921
|
+
"in": "query"
|
|
9922
|
+
},
|
|
9923
|
+
{
|
|
9924
|
+
"name": "expires_to",
|
|
9925
|
+
"description": "Only items whose `expires_at` is at or before this timestamp (ISO 8601)",
|
|
9917
9926
|
"required": false,
|
|
9918
9927
|
"type": "string",
|
|
9919
9928
|
"in": "query"
|
|
@@ -9959,9 +9968,9 @@ const routes = {
|
|
|
9959
9968
|
},
|
|
9960
9969
|
{
|
|
9961
9970
|
"name": "status",
|
|
9962
|
-
"description": "Lifecycle
|
|
9971
|
+
"description": "Lifecycle statuses the groups are built from (default `rejected`). Repeat the parameter to OR values. A value outside the enum, empty string included, is a `400`.",
|
|
9963
9972
|
"required": false,
|
|
9964
|
-
"type": "
|
|
9973
|
+
"type": "array",
|
|
9965
9974
|
"in": "query"
|
|
9966
9975
|
},
|
|
9967
9976
|
{
|
|
@@ -10589,9 +10598,9 @@ const routes = {
|
|
|
10589
10598
|
},
|
|
10590
10599
|
{
|
|
10591
10600
|
"name": "status",
|
|
10592
|
-
"description": "Filter by chain status",
|
|
10601
|
+
"description": "Filter by chain status. Repeat the parameter to OR values. A value outside the enum, empty string included, is a `400`.",
|
|
10593
10602
|
"required": false,
|
|
10594
|
-
"type": "
|
|
10603
|
+
"type": "array",
|
|
10595
10604
|
"in": "query"
|
|
10596
10605
|
},
|
|
10597
10606
|
{
|
|
@@ -12448,9 +12457,9 @@ const routes = {
|
|
|
12448
12457
|
},
|
|
12449
12458
|
{
|
|
12450
12459
|
"name": "status",
|
|
12451
|
-
"description": "Only decisions in
|
|
12460
|
+
"description": "Only decisions in these statuses. Repeat the parameter to OR values. A value outside the enum, empty string included, is a `400`.",
|
|
12452
12461
|
"required": false,
|
|
12453
|
-
"type": "
|
|
12462
|
+
"type": "array",
|
|
12454
12463
|
"in": "query"
|
|
12455
12464
|
},
|
|
12456
12465
|
{
|
|
@@ -14229,7 +14238,7 @@ const routes = {
|
|
|
14229
14238
|
"cancel-eval-run": {
|
|
14230
14239
|
serviceClass: "Evaluations",
|
|
14231
14240
|
operationId: "cancelEvalRun",
|
|
14232
|
-
description: "Cancels a queued or running run: its outstanding item tasks are dropped so it stops consuming provider budget, and the run settles as `
|
|
14241
|
+
description: "Cancels a queued or running run: its outstanding item tasks are dropped so it stops consuming provider budget, and the run settles as `cancelled`. Results already written are kept — they are real measurements of generations that were really paid for — and `completed_count` / `errored_count` report what ran. `aggregate_scores` is deliberately left null: a partial roll-up in the same field a completed run uses would read as a whole-dataset verdict. A run that has already finished is rejected with 400.",
|
|
14233
14242
|
moduleDocsUrl: "https://naturali.ai/docs/modules/evaluations",
|
|
14234
14243
|
httpMethod: "post",
|
|
14235
14244
|
pathParams: [
|
|
@@ -14290,9 +14299,9 @@ const routes = {
|
|
|
14290
14299
|
},
|
|
14291
14300
|
{
|
|
14292
14301
|
"name": "status",
|
|
14293
|
-
"description": "Filter by triage status",
|
|
14302
|
+
"description": "Filter by triage status. Repeat the parameter to OR values. A value outside the enum, empty string included, is a `400`.",
|
|
14294
14303
|
"required": false,
|
|
14295
|
-
"type": "
|
|
14304
|
+
"type": "array",
|
|
14296
14305
|
"in": "query"
|
|
14297
14306
|
},
|
|
14298
14307
|
{
|
|
@@ -15226,9 +15235,9 @@ const routes = {
|
|
|
15226
15235
|
},
|
|
15227
15236
|
{
|
|
15228
15237
|
"name": "status",
|
|
15229
|
-
"description": "Filter by lifecycle status",
|
|
15238
|
+
"description": "Filter by lifecycle status. Repeat the parameter to OR values. A value outside the enum, empty string included, is a `400`.",
|
|
15230
15239
|
"required": false,
|
|
15231
|
-
"type": "
|
|
15240
|
+
"type": "array",
|
|
15232
15241
|
"in": "query"
|
|
15233
15242
|
},
|
|
15234
15243
|
{
|
|
@@ -16045,7 +16054,7 @@ const routes = {
|
|
|
16045
16054
|
},
|
|
16046
16055
|
{
|
|
16047
16056
|
"name": "metadata",
|
|
16048
|
-
"description": "A `MetadataBag` on a field where `null` is meaningful
|
|
16057
|
+
"description": "A `MetadataBag` on a request field where `null` is meaningful: a full-replacement update that clears the bag. A record whose bag is unset leaves the field out.",
|
|
16049
16058
|
"required": false,
|
|
16050
16059
|
"type": "object",
|
|
16051
16060
|
"in": "body"
|
|
@@ -17133,7 +17142,7 @@ const routes = {
|
|
|
17133
17142
|
},
|
|
17134
17143
|
{
|
|
17135
17144
|
"name": "on",
|
|
17136
|
-
"description": "The event a firing reads. `
|
|
17145
|
+
"description": "The event a firing reads. `generations.completed` fires once per completed turn whatever the transport, and is the only event the built-in extractor may bind to. `conversation_messages.generated` fires per persisted assistant reply and is conversation-backed, so it is for custom handlers.",
|
|
17137
17146
|
"required": true,
|
|
17138
17147
|
"type": "string",
|
|
17139
17148
|
"in": "body"
|
|
@@ -17254,7 +17263,7 @@ const routes = {
|
|
|
17254
17263
|
},
|
|
17255
17264
|
{
|
|
17256
17265
|
"name": "on",
|
|
17257
|
-
"description": "The event a firing reads. `
|
|
17266
|
+
"description": "The event a firing reads. `generations.completed` fires once per completed turn whatever the transport, and is the only event the built-in extractor may bind to. `conversation_messages.generated` fires per persisted assistant reply and is conversation-backed, so it is for custom handlers.",
|
|
17258
17267
|
"required": false,
|
|
17259
17268
|
"type": "string",
|
|
17260
17269
|
"in": "body"
|
|
@@ -17569,7 +17578,8 @@ const routes = {
|
|
|
17569
17578
|
"mechanism",
|
|
17570
17579
|
"outcome",
|
|
17571
17580
|
"generation_id",
|
|
17572
|
-
"
|
|
17581
|
+
"from",
|
|
17582
|
+
"to",
|
|
17573
17583
|
"limit",
|
|
17574
17584
|
"offset"
|
|
17575
17585
|
],
|
|
@@ -17612,8 +17622,15 @@ const routes = {
|
|
|
17612
17622
|
"in": "query"
|
|
17613
17623
|
},
|
|
17614
17624
|
{
|
|
17615
|
-
"name": "
|
|
17616
|
-
"description": "Only assertions recorded at or after this instant.",
|
|
17625
|
+
"name": "from",
|
|
17626
|
+
"description": "Only assertions recorded at or after this instant (ISO 8601).",
|
|
17627
|
+
"required": false,
|
|
17628
|
+
"type": "string",
|
|
17629
|
+
"in": "query"
|
|
17630
|
+
},
|
|
17631
|
+
{
|
|
17632
|
+
"name": "to",
|
|
17633
|
+
"description": "Only assertions recorded at or before this instant (ISO 8601).",
|
|
17617
17634
|
"required": false,
|
|
17618
17635
|
"type": "string",
|
|
17619
17636
|
"in": "query"
|
|
@@ -18343,7 +18360,7 @@ const routes = {
|
|
|
18343
18360
|
},
|
|
18344
18361
|
{
|
|
18345
18362
|
"name": "output_mapping",
|
|
18346
|
-
"description": "The shape of a
|
|
18363
|
+
"description": "The shape of a completed run's `output`, owned by the orchestration rather than by its terminal node ids. Each key is an output field (a dotted key such as `summary.title` builds a nested object); each value is JSON Logic (https://jsonlogic.com) evaluated against `{ \"state\": <final run state> }`, which includes `state.input` and `state.nodes.<id>`. A missing path maps to `null`; a mapping that throws fails the run. Null (or omitted) keys `output` by terminal node id. Versioned with the graph; `null` on update clears it.",
|
|
18347
18364
|
"required": false,
|
|
18348
18365
|
"type": "object",
|
|
18349
18366
|
"in": "body"
|
|
@@ -18360,7 +18377,7 @@ const routes = {
|
|
|
18360
18377
|
"validate-orchestration": {
|
|
18361
18378
|
serviceClass: "Orchestrations",
|
|
18362
18379
|
operationId: "validateOrchestration",
|
|
18363
|
-
description: "Statically validates an orchestration graph without persisting anything. Checks that every node has its required field, node ids are unique, edges reference existing nodes, the graph is acyclic (unless it contains a loop node), and every `input_mapping` `{\"var\": \"...\"}` reference resolves to a state key written by an upstream node or seeded by `input_schema`. Returns blocking `
|
|
18380
|
+
description: "Statically validates an orchestration graph without persisting anything. Checks that every node has its required field, node ids are unique, edges reference existing nodes, the graph is acyclic (unless it contains a loop node), and every `input_mapping` `{\"var\": \"...\"}` reference resolves to a state key written by an upstream node or seeded by `input_schema`. Returns blocking `problems` and non-blocking `warnings` (e.g. a state key only written on a conditional branch). The same checks are enforced on create and update, which fail with `400 ORCHESTRATION_VALIDATION_FAILED` listing the same items under `meta.problems` and `meta.warnings`.",
|
|
18364
18381
|
moduleDocsUrl: "https://naturali.ai/docs/modules/orchestrations",
|
|
18365
18382
|
httpMethod: "post",
|
|
18366
18383
|
pathParams: ["project_id"],
|
|
@@ -18550,7 +18567,7 @@ const routes = {
|
|
|
18550
18567
|
},
|
|
18551
18568
|
{
|
|
18552
18569
|
"name": "output_mapping",
|
|
18553
|
-
"description": "The shape of a
|
|
18570
|
+
"description": "The shape of a completed run's `output`, owned by the orchestration rather than by its terminal node ids. Each key is an output field (a dotted key such as `summary.title` builds a nested object); each value is JSON Logic (https://jsonlogic.com) evaluated against `{ \"state\": <final run state> }`, which includes `state.input` and `state.nodes.<id>`. A missing path maps to `null`; a mapping that throws fails the run. Null (or omitted) keys `output` by terminal node id. Versioned with the graph; `null` on update clears it.",
|
|
18554
18571
|
"required": false,
|
|
18555
18572
|
"type": "object",
|
|
18556
18573
|
"in": "body"
|
|
@@ -18791,7 +18808,7 @@ const routes = {
|
|
|
18791
18808
|
"start-orchestration-run": {
|
|
18792
18809
|
serviceClass: "Orchestrations",
|
|
18793
18810
|
operationId: "startOrchestrationRun",
|
|
18794
|
-
description: "Creates a new run for the orchestration named by orchestration_id. By default the run executes durably in the background: the response returns immediately with status \"queued\" (a worker then claims it and moves it to \"running\") and progress is observed via get-orchestration-run or run lifecycle webhook events (orchestration_runs.started/awaiting_input/
|
|
18811
|
+
description: "Creates a new run for the orchestration named by orchestration_id. By default the run executes durably in the background: the response returns immediately with status \"queued\" (a worker then claims it and moves it to \"running\") and progress is observed via get-orchestration-run or run lifecycle webhook events (orchestration_runs.started/awaiting_input/completed/failed). Delay and poll waits park the run as \"sleeping\" and are woken by a background scheduler, surviving restarts. Pass wait=true to block until the run reaches a terminal or awaiting_input state.",
|
|
18795
18812
|
moduleDocsUrl: "https://naturali.ai/docs/modules/orchestrations",
|
|
18796
18813
|
httpMethod: "post",
|
|
18797
18814
|
pathParams: ["project_id"],
|
|
@@ -18829,7 +18846,7 @@ const routes = {
|
|
|
18829
18846
|
},
|
|
18830
18847
|
{
|
|
18831
18848
|
"name": "tool_context",
|
|
18832
|
-
"description": "Key-value pairs forwarded as `X-Naturali-Context-<key>` headers on every `http` and `mcp` tool call made by an agent node of this run — including the agents of any child run a `loop` or `sub_orchestration` node starts. The header name is `X-Naturali-Context-` plus the key verbatim; no character is re-cased.\n\nThe bag is stored on the run and re-read on every step, so it survives an `awaiting_input` pause, a `sleeping` wait, a background worker drive and a crash redrive. It is **write-only**: a run is a record every principal who may read runs can read, and a credential in it is not theirs to see, so it is never returned on one. It also does not outlive the run: reaching a terminal status (`
|
|
18849
|
+
"description": "Key-value pairs forwarded as `X-Naturali-Context-<key>` headers on every `http` and `mcp` tool call made by an agent node of this run — including the agents of any child run a `loop` or `sub_orchestration` node starts. The header name is `X-Naturali-Context-` plus the key verbatim; no character is re-cased.\n\nThe bag is stored on the run and re-read on every step, so it survives an `awaiting_input` pause, a `sleeping` wait, a background worker drive and a crash redrive. It is **write-only**: a run is a record every principal who may read runs can read, and a credential in it is not theirs to see, so it is never returned on one. It also does not outlive the run: reaching a terminal status (`completed`, `failed`, `cancelled` or `expired`) clears it. A key that is not a valid HTTP header name, or two keys that map to the same header, are rejected with `400 INVALID_TOOL_CONTEXT_KEY` and no run is created.\n\nThe reserved identity keys (`session_id`, `actor_id`, `actor_external_id`) are stripped at generation time — a caller cannot address them from here.",
|
|
18833
18850
|
"required": false,
|
|
18834
18851
|
"type": "object",
|
|
18835
18852
|
"in": "body"
|
|
@@ -18850,7 +18867,7 @@ const routes = {
|
|
|
18850
18867
|
},
|
|
18851
18868
|
{
|
|
18852
18869
|
"name": "wait",
|
|
18853
|
-
"description": "When true, block until the run reaches a terminal (
|
|
18870
|
+
"description": "When true, block until the run reaches a terminal (completed/failed) or awaiting_input state and return the settled run. When false (default), return immediately with status \"queued\" and execute the run in the background.",
|
|
18854
18871
|
"required": false,
|
|
18855
18872
|
"type": "boolean",
|
|
18856
18873
|
"in": "body"
|
|
@@ -19458,9 +19475,9 @@ const routes = {
|
|
|
19458
19475
|
},
|
|
19459
19476
|
{
|
|
19460
19477
|
"name": "automation_status",
|
|
19461
|
-
"description": "Only the cases in
|
|
19478
|
+
"description": "Only the cases in these automation statuses. Repeat the parameter to OR values. A value outside the enum, empty string included, is a `400`.",
|
|
19462
19479
|
"required": false,
|
|
19463
|
-
"type": "
|
|
19480
|
+
"type": "array",
|
|
19464
19481
|
"in": "query"
|
|
19465
19482
|
},
|
|
19466
19483
|
{
|
|
@@ -19530,7 +19547,7 @@ const routes = {
|
|
|
19530
19547
|
"write-playbook-case-inputs": {
|
|
19531
19548
|
serviceClass: "Playbooks",
|
|
19532
19549
|
operationId: "writePlaybookCaseInputs",
|
|
19533
|
-
description: "Writes a batch of manual inputs, all or none. Each write names the revision it read in `expected_revision`, `null` for a field still unset; when any field has moved on the whole batch is refused with `409 PLAYBOOK_INPUT_CONFLICT` and `meta.conflicts` names each field. An input the case's version does not declare, one that reads another node, or a value its schema refuses is `400 PLAYBOOK_INPUT_INVALID`. A value equal to the field's current one writes no revision. Once written, every node the write makes runnable is queued to run, unless the case is paused. A write made with a credential the case's own work runs as — the case, one of its executions in flight, or the task or run one started — is `403 PLAYBOOK_SELF_WRITE`.",
|
|
19550
|
+
description: "Writes a batch of manual inputs, all or none. Each write names the revision it read in `expected_revision`, `null` for a field still unset; when any field has moved on the whole batch is refused with `409 PLAYBOOK_INPUT_CONFLICT` and `meta.conflicts` names each field. An input the case's version does not declare, one that reads another node, or a value its schema refuses is `400 PLAYBOOK_INPUT_INVALID`. A value equal to the field's current one writes no revision. Once written, every node the write makes runnable is queued to run, unless the case is paused. With `wait: true` it answers once every execution queued, and every one those queue, has settled or parked. A write made with a credential the case's own work runs as — the case, one of its executions in flight, or the task or run one started — is `403 PLAYBOOK_SELF_WRITE`.",
|
|
19534
19551
|
moduleDocsUrl: "https://naturali.ai/docs/modules/playbooks",
|
|
19535
19552
|
httpMethod: "post",
|
|
19536
19553
|
pathParams: ["project_id", "case_id"],
|
|
@@ -19558,17 +19575,24 @@ const routes = {
|
|
|
19558
19575
|
"required": true,
|
|
19559
19576
|
"type": "array",
|
|
19560
19577
|
"in": "body"
|
|
19578
|
+
},
|
|
19579
|
+
{
|
|
19580
|
+
"name": "wait",
|
|
19581
|
+
"description": "Answer once every execution the write queued, and every one those queue in turn, has settled or parked, instead of right away",
|
|
19582
|
+
"required": false,
|
|
19583
|
+
"type": "boolean",
|
|
19584
|
+
"in": "body"
|
|
19561
19585
|
}
|
|
19562
19586
|
]
|
|
19563
19587
|
},
|
|
19564
19588
|
"get-playbook-case-missing": {
|
|
19565
19589
|
serviceClass: "Playbooks",
|
|
19566
19590
|
operationId: "getPlaybookCaseMissing",
|
|
19567
|
-
description: "Returns the manual inputs still unset, or refused by their schema, before `
|
|
19591
|
+
description: "Returns the manual inputs still unset, or refused by their schema, before `node_id` can be reached, grouped in waves: nothing in a later wave can run before the earlier ones are filled.",
|
|
19568
19592
|
moduleDocsUrl: "https://naturali.ai/docs/modules/playbooks",
|
|
19569
19593
|
httpMethod: "get",
|
|
19570
19594
|
pathParams: ["project_id", "case_id"],
|
|
19571
|
-
queryParams: ["
|
|
19595
|
+
queryParams: ["node_id"],
|
|
19572
19596
|
headerParams: [],
|
|
19573
19597
|
cookieParams: [],
|
|
19574
19598
|
flags: [
|
|
@@ -19587,8 +19611,8 @@ const routes = {
|
|
|
19587
19611
|
"in": "path"
|
|
19588
19612
|
},
|
|
19589
19613
|
{
|
|
19590
|
-
"name": "
|
|
19591
|
-
"description": "The
|
|
19614
|
+
"name": "node_id",
|
|
19615
|
+
"description": "The ID of the node to reach, usually a final node",
|
|
19592
19616
|
"required": true,
|
|
19593
19617
|
"type": "string",
|
|
19594
19618
|
"in": "query"
|
|
@@ -19603,7 +19627,7 @@ const routes = {
|
|
|
19603
19627
|
httpMethod: "get",
|
|
19604
19628
|
pathParams: ["project_id", "case_id"],
|
|
19605
19629
|
queryParams: [
|
|
19606
|
-
"
|
|
19630
|
+
"node_id",
|
|
19607
19631
|
"limit",
|
|
19608
19632
|
"offset"
|
|
19609
19633
|
],
|
|
@@ -19625,7 +19649,7 @@ const routes = {
|
|
|
19625
19649
|
"in": "path"
|
|
19626
19650
|
},
|
|
19627
19651
|
{
|
|
19628
|
-
"name": "
|
|
19652
|
+
"name": "node_id",
|
|
19629
19653
|
"description": "Only the entries of this node",
|
|
19630
19654
|
"required": false,
|
|
19631
19655
|
"type": "string",
|
|
@@ -19650,7 +19674,7 @@ const routes = {
|
|
|
19650
19674
|
"run-playbook-case-node": {
|
|
19651
19675
|
serviceClass: "Playbooks",
|
|
19652
19676
|
operationId: "runPlaybookCaseNode",
|
|
19653
|
-
description: "Runs one node now. The cascade already runs every node whose inputs are set once a write, a settle or a resume makes it runnable, and never reruns a `failed` one: this is how a failed node is retried. A `collect` node takes its own input values as its output, any other node starts its executor with the node's input values mapped through the executor's `input`. The executor runs as the author of the case's playbook version, whose permission to start it is checked again here (`403 PLAYBOOK_EXECUTOR_FORBIDDEN`); an author that no longer exists is `409 PLAYBOOK_AUTHOR_UNAVAILABLE`. Only a `ready`, `stale` or `
|
|
19677
|
+
description: "Runs one node now. The cascade already runs every node whose inputs are set once a write, a settle or a resume makes it runnable, and never reruns a `failed` or `done` one: this is how a failed node is retried, and how a `done` node is recomputed after an upgrade changed its executor. A `collect` node takes its own input values as its output, any other node starts its executor with the node's input values mapped through the executor's `input`. The executor runs as the author of the case's playbook version, whose permission to start it is checked again here (`403 PLAYBOOK_EXECUTOR_FORBIDDEN`); an author that no longer exists is `409 PLAYBOOK_AUTHOR_UNAVAILABLE`. Only a `ready`, `stale`, `failed` or `done` node with every required input set runs; anything else is `409 PLAYBOOK_NODE_NOT_RUNNABLE`. A paused case is `409 PLAYBOOK_CASE_PAUSED`, and a case in a paused project `409 PROJECT_PAUSED`. The output is written as an entry when the execution settles. A value equal to the node's current output writes no revision. If the node's inputs change while it runs, the execution settles as `superseded` and writes nothing. Without `wait` the execution answers `running` and settles in the background. With `wait: true` it answers once the executor settles, or once it parks: a workflow task still open, or an orchestration run waiting on a person or a timer, settles the node when it closes or ends.",
|
|
19654
19678
|
moduleDocsUrl: "https://naturali.ai/docs/modules/playbooks",
|
|
19655
19679
|
httpMethod: "post",
|
|
19656
19680
|
pathParams: [
|
|
@@ -19678,7 +19702,7 @@ const routes = {
|
|
|
19678
19702
|
},
|
|
19679
19703
|
{
|
|
19680
19704
|
"name": "node",
|
|
19681
|
-
"description": "The
|
|
19705
|
+
"description": "The ID of a node of the case's playbook version",
|
|
19682
19706
|
"required": true,
|
|
19683
19707
|
"type": "string",
|
|
19684
19708
|
"in": "path"
|
|
@@ -19700,7 +19724,7 @@ const routes = {
|
|
|
19700
19724
|
httpMethod: "get",
|
|
19701
19725
|
pathParams: ["project_id", "case_id"],
|
|
19702
19726
|
queryParams: [
|
|
19703
|
-
"
|
|
19727
|
+
"node_id",
|
|
19704
19728
|
"limit",
|
|
19705
19729
|
"offset"
|
|
19706
19730
|
],
|
|
@@ -19722,7 +19746,7 @@ const routes = {
|
|
|
19722
19746
|
"in": "path"
|
|
19723
19747
|
},
|
|
19724
19748
|
{
|
|
19725
|
-
"name": "
|
|
19749
|
+
"name": "node_id",
|
|
19726
19750
|
"description": "Only the executions of this node",
|
|
19727
19751
|
"required": false,
|
|
19728
19752
|
"type": "string",
|
|
@@ -19785,7 +19809,7 @@ const routes = {
|
|
|
19785
19809
|
"export-playbook-case-node": {
|
|
19786
19810
|
serviceClass: "Playbooks",
|
|
19787
19811
|
operationId: "exportPlaybookCaseNode",
|
|
19788
|
-
description: "Renders one revision of a final node as files, one export per transformation: each transformation's tool is called with the case's `case_id` and `subject`, the `
|
|
19812
|
+
description: "Renders one revision of a final node as files, one export per transformation: each transformation's tool is called with the case's `case_id` and `subject`, the `node_id`, the `revision` and that revision's `output`, and must answer a file (`execute.response_mode: base64`) of its `format`'s content type. The file is kept in the project's files under `/.system/playbooks/`. An export never feeds a node. Without `revision` the node's current output is exported, which needs the node `done` (`409 PLAYBOOK_NODE_NOT_EXPORTABLE`); a `revision` names an earlier output or confirmation of the node. Each tool runs as the author of the case's playbook version, whose permission to call it is checked here (`403 PLAYBOOK_EXECUTOR_FORBIDDEN`). A paused case is `409 PLAYBOOK_CASE_PAUSED`, and a case in a paused project `409 PROJECT_PAUSED`. Without `wait` every export answers `running` and settles in the background; with `wait: true` it answers once each has its file or its error.",
|
|
19789
19813
|
moduleDocsUrl: "https://naturali.ai/docs/modules/playbooks",
|
|
19790
19814
|
httpMethod: "post",
|
|
19791
19815
|
pathParams: [
|
|
@@ -19813,7 +19837,7 @@ const routes = {
|
|
|
19813
19837
|
},
|
|
19814
19838
|
{
|
|
19815
19839
|
"name": "node",
|
|
19816
|
-
"description": "The
|
|
19840
|
+
"description": "The ID of a node of the case's playbook version",
|
|
19817
19841
|
"required": true,
|
|
19818
19842
|
"type": "string",
|
|
19819
19843
|
"in": "path"
|
|
@@ -19849,7 +19873,7 @@ const routes = {
|
|
|
19849
19873
|
httpMethod: "get",
|
|
19850
19874
|
pathParams: ["project_id", "case_id"],
|
|
19851
19875
|
queryParams: [
|
|
19852
|
-
"
|
|
19876
|
+
"node_id",
|
|
19853
19877
|
"transformation",
|
|
19854
19878
|
"limit",
|
|
19855
19879
|
"offset"
|
|
@@ -19872,7 +19896,7 @@ const routes = {
|
|
|
19872
19896
|
"in": "path"
|
|
19873
19897
|
},
|
|
19874
19898
|
{
|
|
19875
|
-
"name": "
|
|
19899
|
+
"name": "node_id",
|
|
19876
19900
|
"description": "Only the exports of this node",
|
|
19877
19901
|
"required": false,
|
|
19878
19902
|
"type": "string",
|
|
@@ -19942,7 +19966,7 @@ const routes = {
|
|
|
19942
19966
|
"upgrade-playbook-case": {
|
|
19943
19967
|
serviceClass: "Playbooks",
|
|
19944
19968
|
operationId: "upgradePlaybookCase",
|
|
19945
|
-
description: "Moves a case to another version of its playbook: the playbook's current version, or the `version` named, an earlier one included. Values carry over by node
|
|
19969
|
+
description: "Moves a case to another version of its playbook: the playbook's current version, or the `version` named, an earlier one included. Values carry over by node ID, and every node's state is read against the new version: a node added is open, a node removed leaves the structure while its entries stay, a node whose input reads another field is `stale`, and a value its input's new schema refuses is missing again. The cascade then runs what became runnable. With `wait: true` it answers once every execution queued, and every one those queue, has settled or parked. Each upgrade is recorded with what moved; the version the case is already on records nothing. An execution running is `409 PLAYBOOK_CASE_BUSY`; one queued but not started settles `superseded`. An upgrade made with a credential the case's own work runs as is `403 PLAYBOOK_SELF_WRITE`.",
|
|
19946
19970
|
moduleDocsUrl: "https://naturali.ai/docs/modules/playbooks",
|
|
19947
19971
|
httpMethod: "post",
|
|
19948
19972
|
pathParams: ["project_id", "case_id"],
|
|
@@ -19970,6 +19994,13 @@ const routes = {
|
|
|
19970
19994
|
"required": false,
|
|
19971
19995
|
"type": "integer",
|
|
19972
19996
|
"in": "body"
|
|
19997
|
+
},
|
|
19998
|
+
{
|
|
19999
|
+
"name": "wait",
|
|
20000
|
+
"description": "Answer once every execution the write queued, and every one those queue in turn, has settled or parked, instead of right away",
|
|
20001
|
+
"required": false,
|
|
20002
|
+
"type": "boolean",
|
|
20003
|
+
"in": "body"
|
|
19973
20004
|
}
|
|
19974
20005
|
]
|
|
19975
20006
|
},
|
|
@@ -20065,7 +20096,7 @@ const routes = {
|
|
|
20065
20096
|
"confirm-playbook-case-node": {
|
|
20066
20097
|
serviceClass: "Playbooks",
|
|
20067
20098
|
operationId: "confirmPlaybookCaseNode",
|
|
20068
|
-
description: "Approves or rejects a `confirm` node on the inputs the confirmer read. `expected_revisions` names the revision of each of the node's inputs as read (`nodes[].inputs[].revision` on the case); an input that moved since is `409 PLAYBOOK_INPUT_CONFLICT`, `meta.conflicts` naming each, and nothing is written. An approval writes a `confirmation` entry whose value is the node's input values: it is the node's output, and the nodes reading it run next. A rejection writes a `rejection` entry with the `reason`: the node is `rejected`, and every node reading it is blocked, until its inputs change or it is approved. Another node, or a `confirm` node with a required input unset or reading a node that is not `done`, is `409 PLAYBOOK_NODE_NOT_CONFIRMABLE`. A confirmation made with a credential the case's own work runs as is `403 PLAYBOOK_SELF_WRITE`.",
|
|
20099
|
+
description: "Approves or rejects a `confirm` node on the inputs the confirmer read. `expected_revisions` names the revision of each of the node's inputs as read (`nodes[].inputs[].revision` on the case); an input that moved since is `409 PLAYBOOK_INPUT_CONFLICT`, `meta.conflicts` naming each, and nothing is written. An approval writes a `confirmation` entry whose value is the node's input values: it is the node's output, and the nodes reading it run next. With `wait: true` it answers once every execution queued, and every one those queue, has settled or parked. A rejection writes a `rejection` entry with the `reason`: the node is `rejected`, and every node reading it is blocked, until its inputs change or it is approved. Another node, or a `confirm` node with a required input unset or reading a node that is not `done`, is `409 PLAYBOOK_NODE_NOT_CONFIRMABLE`. A confirmation made with a credential the case's own work runs as is `403 PLAYBOOK_SELF_WRITE`.",
|
|
20069
20100
|
moduleDocsUrl: "https://naturali.ai/docs/modules/playbooks",
|
|
20070
20101
|
httpMethod: "post",
|
|
20071
20102
|
pathParams: [
|
|
@@ -20093,7 +20124,7 @@ const routes = {
|
|
|
20093
20124
|
},
|
|
20094
20125
|
{
|
|
20095
20126
|
"name": "node",
|
|
20096
|
-
"description": "The
|
|
20127
|
+
"description": "The ID of a node of the case's playbook version",
|
|
20097
20128
|
"required": true,
|
|
20098
20129
|
"type": "string",
|
|
20099
20130
|
"in": "path"
|
|
@@ -20118,6 +20149,13 @@ const routes = {
|
|
|
20118
20149
|
"required": true,
|
|
20119
20150
|
"type": "object",
|
|
20120
20151
|
"in": "body"
|
|
20152
|
+
},
|
|
20153
|
+
{
|
|
20154
|
+
"name": "wait",
|
|
20155
|
+
"description": "Answer once every execution the write queued, and every one those queue in turn, has settled or parked, instead of right away",
|
|
20156
|
+
"required": false,
|
|
20157
|
+
"type": "boolean",
|
|
20158
|
+
"in": "body"
|
|
20121
20159
|
}
|
|
20122
20160
|
]
|
|
20123
20161
|
},
|
|
@@ -21051,7 +21089,7 @@ const routes = {
|
|
|
21051
21089
|
},
|
|
21052
21090
|
{
|
|
21053
21091
|
"name": "mode",
|
|
21054
|
-
"description": "enforce blocks with 429 (requests at the middleware, tokens/cost_usd at the pre-generation check); monitor observes without blocking — a breach fires the
|
|
21092
|
+
"description": "enforce blocks with 429 (requests at the middleware, tokens/cost_usd at the pre-generation check); monitor observes without blocking — a breach fires the quotas.exceeded webhook and writes a quotas:MonitorBreach audit entry, but the request is let through.",
|
|
21055
21093
|
"required": false,
|
|
21056
21094
|
"type": "string",
|
|
21057
21095
|
"in": "body"
|
|
@@ -21376,9 +21414,9 @@ const routes = {
|
|
|
21376
21414
|
},
|
|
21377
21415
|
{
|
|
21378
21416
|
"name": "status",
|
|
21379
|
-
"description": "Filter by session status
|
|
21417
|
+
"description": "Filter by session status. Repeat the parameter to OR values. A value outside the enum, empty string included, is a `400`.",
|
|
21380
21418
|
"required": false,
|
|
21381
|
-
"type": "
|
|
21419
|
+
"type": "array",
|
|
21382
21420
|
"in": "query"
|
|
21383
21421
|
},
|
|
21384
21422
|
{
|
|
@@ -21614,7 +21652,7 @@ const routes = {
|
|
|
21614
21652
|
"add-session-message": {
|
|
21615
21653
|
serviceClass: "Sessions",
|
|
21616
21654
|
operationId: "addSessionMessage",
|
|
21617
|
-
description: "Saves a user message to the session. When
|
|
21655
|
+
description: "Saves a user message to the session. When `auto_generate` is enabled on the session and no generation is currently in progress, generation is triggered automatically and the response is the generated turn, the same body `?wait=true` generate answers. Otherwise returns the saved user message.",
|
|
21618
21656
|
moduleDocsUrl: "https://naturali.ai/docs/modules/sessions",
|
|
21619
21657
|
httpMethod: "post",
|
|
21620
21658
|
pathParams: ["project_id", "session_id"],
|
|
@@ -21999,9 +22037,9 @@ const routes = {
|
|
|
21999
22037
|
},
|
|
22000
22038
|
{
|
|
22001
22039
|
"name": "status",
|
|
22002
|
-
"description": "",
|
|
22040
|
+
"description": "Filter by whether the task is open or closed. Repeat the parameter to OR values. A value outside the enum, empty string included, is a `400`.",
|
|
22003
22041
|
"required": false,
|
|
22004
|
-
"type": "
|
|
22042
|
+
"type": "array",
|
|
22005
22043
|
"in": "query"
|
|
22006
22044
|
},
|
|
22007
22045
|
{
|
|
@@ -22463,7 +22501,7 @@ const routes = {
|
|
|
22463
22501
|
},
|
|
22464
22502
|
{
|
|
22465
22503
|
"name": "preset_parameters",
|
|
22466
|
-
"description": "Fixed parameters pinned on every call this tool makes, whatever its type. Keys matching fields in the input schema are removed from the schema shown to the model, and a pinned value wins over one the model or a direct caller supplies for the same key.\n\nValues accept `{{context:<key>}}` references, resolved per call from the caller's `tool_context`, so a pin can be the run's own value — the one account this run may act on — rather than one fixed when the tool was created. A resolved value is retyped to the parameter's declared schema type; a key missing from the call's `tool_context` fails the call with `MISSING_TOOL_CONTEXT_KEY` rather than sending the literal placeholder. `{{secret:...}}` is not resolved here. See the Tool Context reference.",
|
|
22504
|
+
"description": "Fixed parameters pinned on every call this tool makes, whatever its type. Keys matching fields in the input schema are removed from the schema shown to the model, and a pinned value wins over one the model or a direct caller supplies for the same key. On an `mcp` tool a preset reaches each action whose input schema declares it; an action whose schema declares no properties receives every one.\n\nValues accept `{{context:<key>}}` references, resolved per call from the caller's `tool_context`, so a pin can be the run's own value — the one account this run may act on — rather than one fixed when the tool was created. A resolved value is retyped to the parameter's declared schema type; a key missing from the call's `tool_context` fails the call with `MISSING_TOOL_CONTEXT_KEY` rather than sending the literal placeholder. `{{secret:...}}` is not resolved here. See the Tool Context reference.",
|
|
22467
22505
|
"required": false,
|
|
22468
22506
|
"type": "object",
|
|
22469
22507
|
"in": "body"
|
|
@@ -22605,7 +22643,7 @@ const routes = {
|
|
|
22605
22643
|
},
|
|
22606
22644
|
{
|
|
22607
22645
|
"name": "preset_parameters",
|
|
22608
|
-
"description": "Fixed parameters pinned on every call this tool makes, whatever its type. Keys matching fields in the input schema are removed from the schema shown to the model, and a pinned value wins over one the model or a direct caller supplies for the same key.\n\nValues accept `{{context:<key>}}` references, resolved per call from the caller's `tool_context`, so a pin can be the run's own value — the one account this run may act on — rather than one fixed when the tool was created. A resolved value is retyped to the parameter's declared schema type; a key missing from the call's `tool_context` fails the call with `MISSING_TOOL_CONTEXT_KEY` rather than sending the literal placeholder. `{{secret:...}}` is not resolved here. See the Tool Context reference.",
|
|
22646
|
+
"description": "Fixed parameters pinned on every call this tool makes, whatever its type. Keys matching fields in the input schema are removed from the schema shown to the model, and a pinned value wins over one the model or a direct caller supplies for the same key. On an `mcp` tool a preset reaches each action whose input schema declares it; an action whose schema declares no properties receives every one.\n\nValues accept `{{context:<key>}}` references, resolved per call from the caller's `tool_context`, so a pin can be the run's own value — the one account this run may act on — rather than one fixed when the tool was created. A resolved value is retyped to the parameter's declared schema type; a key missing from the call's `tool_context` fails the call with `MISSING_TOOL_CONTEXT_KEY` rather than sending the literal placeholder. `{{secret:...}}` is not resolved here. See the Tool Context reference.",
|
|
22609
22647
|
"required": false,
|
|
22610
22648
|
"type": "object",
|
|
22611
22649
|
"in": "body"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@naturali/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.203.0",
|
|
4
4
|
"description": "Command-line interface for the naturali.ai API, generated from its OpenAPI specs",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"naturali",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"yaml": "^2.9.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@naturali/sdk": "0.
|
|
34
|
+
"@naturali/sdk": "0.203.0",
|
|
35
35
|
"@ttoss/openapi-codegen": "^0.5.0",
|
|
36
36
|
"@types/node": "^26.5.1",
|
|
37
37
|
"tsdown": "^0.23.0",
|