@naturali/cli 0.39.0 → 0.40.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 +41 -41
- 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.40.0";
|
|
18
18
|
//#endregion
|
|
19
19
|
//#region ../sdk/src/generated/core/bodySerializer.gen.ts
|
|
20
20
|
const jsonBodySerializer = { bodySerializer: (body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value) };
|
|
@@ -651,7 +651,7 @@ var Agents = class {
|
|
|
651
651
|
/**
|
|
652
652
|
* Delete an agent
|
|
653
653
|
*
|
|
654
|
-
* Deletes the backing
|
|
654
|
+
* Deletes the backing runtime agent. Returns 409 if the agent still has dependent generations or traces — pass `force=true` to delete those along with the agent (destructive and irreversible).
|
|
655
655
|
*
|
|
656
656
|
*/
|
|
657
657
|
static deleteAgent(options) {
|
|
@@ -1024,7 +1024,7 @@ var Channels = class {
|
|
|
1024
1024
|
/**
|
|
1025
1025
|
* List the channel's conversations
|
|
1026
1026
|
*
|
|
1027
|
-
* A cursor page of the channel's conversations, newest first. A conversation is one contact's dialogue on the channel — the continuity anchor that resumes the same
|
|
1027
|
+
* A cursor page of the channel's conversations, newest first. A conversation is one contact's dialogue on the channel — the continuity anchor that resumes the same runtime session instead of starting fresh per message — so this is the read path for who has talked to the channel and which actor/session their dialogue resolved to.
|
|
1028
1028
|
* Conversations are created by the inbound path (the WhatsApp webhook, the Discord gateway worker) when a real message arrives; there is no way to create one directly.
|
|
1029
1029
|
*
|
|
1030
1030
|
*/
|
|
@@ -1046,7 +1046,7 @@ var Channels = class {
|
|
|
1046
1046
|
/**
|
|
1047
1047
|
* Read a conversation's transcript
|
|
1048
1048
|
*
|
|
1049
|
-
* The conversation's messages, oldest first. naturali stores no message bodies — the dialogue lives in the
|
|
1049
|
+
* The conversation's messages, oldest first. naturali stores no message bodies — the dialogue lives in the runtime session the conversation maps to, so this reads through to the runtime. Pagination is `limit`/`offset` rather than an opaque cursor because the upstream is offset-based over a stable `position` ordering.
|
|
1050
1050
|
*
|
|
1051
1051
|
*/
|
|
1052
1052
|
static listChannelConversationMessages(options) {
|
|
@@ -1074,7 +1074,7 @@ var Contacts = class {
|
|
|
1074
1074
|
* Create a contact
|
|
1075
1075
|
*
|
|
1076
1076
|
* Record a contact the customer already knows about, optionally with the identifiers it is expected to arrive at.
|
|
1077
|
-
* Optional by design — the inbound path creates contacts on its own. This is for the embedder who has a user in their own system and wants naturali to agree about who that is before the first message, which is what makes `external_id` (and, through it, a session's `tool_context`) useful. No
|
|
1077
|
+
* Optional by design — the inbound path creates contacts on its own. This is for the embedder who has a user in their own system and wants naturali to agree about who that is before the first message, which is what makes `external_id` (and, through it, a session's `tool_context`) useful. No runtime actor is created here; the contact gets one on first need.
|
|
1078
1078
|
*
|
|
1079
1079
|
*/
|
|
1080
1080
|
static createContact(options) {
|
|
@@ -1090,7 +1090,7 @@ var Contacts = class {
|
|
|
1090
1090
|
/**
|
|
1091
1091
|
* Erase a contact
|
|
1092
1092
|
*
|
|
1093
|
-
* **Erasure (C4/LGPD).** Not a soft delete and not reversible: the contact's sessions — with their messages and media — its
|
|
1093
|
+
* **Erasure (C4/LGPD).** Not a soft delete and not reversible: the contact's sessions — with their messages and media — its runtime actor, its memory container and every identifier it was reachable at are removed, along with the merge records that reference it.
|
|
1094
1094
|
* The upstream deletes happen first, so a failure there aborts before the local pointers are dropped and a retry can still find what is left. A contact that was merged into another cannot be erased directly: its data lives with the survivor, so erase that one.
|
|
1095
1095
|
*
|
|
1096
1096
|
*/
|
|
@@ -1169,7 +1169,7 @@ var Contacts = class {
|
|
|
1169
1169
|
* Merge another contact into this one
|
|
1170
1170
|
*
|
|
1171
1171
|
* Fold `source_contact_id` into this contact — "same human, two identifiers" (C4).
|
|
1172
|
-
* What moves: every identity and every conversation, so the survivor's history is the union of both. What is *shared* rather than moved: agent memory —
|
|
1172
|
+
* What moves: every identity and every conversation, so the survivor's history is the union of both. What is *shared* rather than moved: agent memory — the runtime hangs it off the actor, so the source's actor is re-pointed at the survivor's memory container and both keep answering with one recollection. Existing sessions keep working, which is the point of not rewriting them.
|
|
1173
1173
|
* The source is not deleted: it stays as a tombstone pointing at the survivor, and the returned merge record lists exactly what moved, so the merge can be audited and reverted.
|
|
1174
1174
|
*
|
|
1175
1175
|
*/
|
|
@@ -1225,7 +1225,7 @@ var Generations = class {
|
|
|
1225
1225
|
/**
|
|
1226
1226
|
* Run an agent generation
|
|
1227
1227
|
*
|
|
1228
|
-
* Sends messages to the agent, resolves its tools, and runs the model loop. Returns the final text when `status` is `completed` (plus `object` when the agent has an output schema), or the pending `tool_calls` when `status` is `requires_action`. With `stream: true` the response is a Server-Sent Events stream (Content-Type text/event-stream) proxied from
|
|
1228
|
+
* Sends messages to the agent, resolves its tools, and runs the model loop. Returns the final text when `status` is `completed` (plus `object` when the agent has an output schema), or the pending `tool_calls` when `status` is `requires_action`. With `stream: true` the response is a Server-Sent Events stream (Content-Type text/event-stream) proxied from the runtime instead of a single JSON body.
|
|
1229
1229
|
*
|
|
1230
1230
|
*/
|
|
1231
1231
|
static createGeneration(options) {
|
|
@@ -1254,7 +1254,7 @@ var Generations = class {
|
|
|
1254
1254
|
/**
|
|
1255
1255
|
* Get a generation's cost
|
|
1256
1256
|
*
|
|
1257
|
-
* What this one generation cost, and the tokens it was charged on — the billing-grade receipt
|
|
1257
|
+
* What this one generation cost, and the tokens it was charged on — the billing-grade receipt the runtime froze at write time, per model line item.
|
|
1258
1258
|
* This is the per-generation grain that `GET /v1/projects/{project_id}/usage` cannot express: that meter buckets a whole project by model, agent, run, day or meter type, and a run can hold more than one generation. Use this to price a single turn, and the project meter to roll spend up.
|
|
1259
1259
|
* `cost_usd` is `null` when nothing was priced — never that the work was free. Only naturali-managed providers are priced; a BYOK generation runs on your own provider account, so it carries no LLM cost here (its tokens are still reported).
|
|
1260
1260
|
* A generation belonging to another project responds `404`, not `403`.
|
|
@@ -1460,7 +1460,7 @@ var Projects = class {
|
|
|
1460
1460
|
/**
|
|
1461
1461
|
* Delete a project
|
|
1462
1462
|
*
|
|
1463
|
-
* Permanently deletes the project and its backing
|
|
1463
|
+
* Permanently deletes the project and its backing runtime project. Fails with 409 if the runtime project still has dependent resources — remove them first, or pass `force=true` to delete the project and all its dependents (agents, providers, tools, sessions, generations, traces). Forcing is destructive and irreversible.
|
|
1464
1464
|
*
|
|
1465
1465
|
*/
|
|
1466
1466
|
static deleteProject(options) {
|
|
@@ -1496,7 +1496,7 @@ var Projects = class {
|
|
|
1496
1496
|
/**
|
|
1497
1497
|
* Get per-project usage
|
|
1498
1498
|
*
|
|
1499
|
-
* The per-project meter — the re-billing view (A11/C12/P3). Aggregates the project's usage over an optional [from, to] window, bucketed by a single dimension. Costs are the billing-grade cost_usd
|
|
1499
|
+
* The per-project meter — the re-billing view (A11/C12/P3). Aggregates the project's usage over an optional [from, to] window, bucketed by a single dimension. Costs are the billing-grade cost_usd the runtime freezes at write time; null means nothing in the bucket was priced (never that it was free). Only managed providers are priced (on the runtime), so cost reflects managed usage; BYOK usage carries no LLM cost.
|
|
1500
1500
|
*
|
|
1501
1501
|
*/
|
|
1502
1502
|
static getProjectUsage(options) {
|
|
@@ -1521,7 +1521,7 @@ var Providers = class {
|
|
|
1521
1521
|
/**
|
|
1522
1522
|
* Register a provider (managed or BYOK)
|
|
1523
1523
|
*
|
|
1524
|
-
* Register a managed provider (naturali-keyed, priced on
|
|
1524
|
+
* Register a managed provider (naturali-keyed, priced on the runtime) or a BYOK provider (your credentials, stored write-only and never priced). See ProviderCreate for the fields each mode takes.
|
|
1525
1525
|
*
|
|
1526
1526
|
*/
|
|
1527
1527
|
static createProvider(options) {
|
|
@@ -1537,7 +1537,7 @@ var Providers = class {
|
|
|
1537
1537
|
/**
|
|
1538
1538
|
* Delete a provider
|
|
1539
1539
|
*
|
|
1540
|
-
* Deletes the backing
|
|
1540
|
+
* Deletes the backing provider record on the runtime and its secret. Returns 409 if the provider is still referenced by live resources (agents) — detach those first. `force=true` clears only soft dependents (price overrides, usage history); live references always block deletion.
|
|
1541
1541
|
*
|
|
1542
1542
|
*/
|
|
1543
1543
|
static deleteProvider(options) {
|
|
@@ -1576,7 +1576,7 @@ var Sessions = class {
|
|
|
1576
1576
|
/**
|
|
1577
1577
|
* Open a session
|
|
1578
1578
|
*
|
|
1579
|
-
* Opens a durable session against the agent. The session accumulates messages and is resumable by id; its lifecycle (open / closed / expired) and configuration live in the backing
|
|
1579
|
+
* Opens a durable session against the agent. The session accumulates messages and is resumable by id; its lifecycle (open / closed / expired) and configuration live in the backing runtime session.
|
|
1580
1580
|
*
|
|
1581
1581
|
*/
|
|
1582
1582
|
static createSession(options) {
|
|
@@ -1592,7 +1592,7 @@ var Sessions = class {
|
|
|
1592
1592
|
/**
|
|
1593
1593
|
* Get a session
|
|
1594
1594
|
*
|
|
1595
|
-
* Returns the session's current state — status, activity timestamps and configuration — read live from the backing
|
|
1595
|
+
* Returns the session's current state — status, activity timestamps and configuration — read live from the backing runtime session, so a resumed session reflects everything that has happened since it was opened.
|
|
1596
1596
|
*
|
|
1597
1597
|
*/
|
|
1598
1598
|
static getSession(options) {
|
|
@@ -1765,7 +1765,7 @@ var Tools = class {
|
|
|
1765
1765
|
/**
|
|
1766
1766
|
* Delete a tool
|
|
1767
1767
|
*
|
|
1768
|
-
* Deletes the backing
|
|
1768
|
+
* Deletes the backing runtime tool. Returns 409 if the tool is still attached to an agent (detach it first).
|
|
1769
1769
|
*
|
|
1770
1770
|
*/
|
|
1771
1771
|
static deleteTool(options) {
|
|
@@ -2387,7 +2387,7 @@ const routes = {
|
|
|
2387
2387
|
},
|
|
2388
2388
|
{
|
|
2389
2389
|
"name": "model",
|
|
2390
|
-
"description": "Model string
|
|
2390
|
+
"description": "Model string the runtime sends (see /v1/models provider_model). Defaults to the provider's default model.",
|
|
2391
2391
|
"required": false,
|
|
2392
2392
|
"type": "string",
|
|
2393
2393
|
"in": "body"
|
|
@@ -2570,7 +2570,7 @@ const routes = {
|
|
|
2570
2570
|
"delete-agent": {
|
|
2571
2571
|
serviceClass: "Agents",
|
|
2572
2572
|
operationId: "deleteAgent",
|
|
2573
|
-
description: "Deletes the backing
|
|
2573
|
+
description: "Deletes the backing runtime agent. Returns 409 if the agent still has dependent generations or traces — pass `force=true` to delete those along with the agent (destructive and irreversible).",
|
|
2574
2574
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/agents",
|
|
2575
2575
|
httpMethod: "delete",
|
|
2576
2576
|
pathParams: ["project_id", "agent_id"],
|
|
@@ -3339,7 +3339,7 @@ const routes = {
|
|
|
3339
3339
|
"list-channel-conversations": {
|
|
3340
3340
|
serviceClass: "Channels",
|
|
3341
3341
|
operationId: "listChannelConversations",
|
|
3342
|
-
description: "A cursor page of the channel's conversations, newest first. A conversation is one contact's dialogue on the channel — the continuity anchor that resumes the same
|
|
3342
|
+
description: "A cursor page of the channel's conversations, newest first. A conversation is one contact's dialogue on the channel — the continuity anchor that resumes the same runtime session instead of starting fresh per message — so this is the read path for who has talked to the channel and which actor/session their dialogue resolved to. Conversations are created by the inbound path (the WhatsApp webhook, the Discord gateway worker) when a real message arrives; there is no way to create one directly.",
|
|
3343
3343
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/channels",
|
|
3344
3344
|
httpMethod: "get",
|
|
3345
3345
|
pathParams: ["project_id", "channel_id"],
|
|
@@ -3433,7 +3433,7 @@ const routes = {
|
|
|
3433
3433
|
"list-channel-conversation-messages": {
|
|
3434
3434
|
serviceClass: "Channels",
|
|
3435
3435
|
operationId: "listChannelConversationMessages",
|
|
3436
|
-
description: "The conversation's messages, oldest first. naturali stores no message bodies — the dialogue lives in the
|
|
3436
|
+
description: "The conversation's messages, oldest first. naturali stores no message bodies — the dialogue lives in the runtime session the conversation maps to, so this reads through to the runtime. Pagination is `limit`/`offset` rather than an opaque cursor because the upstream is offset-based over a stable `position` ordering.",
|
|
3437
3437
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/channels",
|
|
3438
3438
|
httpMethod: "get",
|
|
3439
3439
|
pathParams: [
|
|
@@ -3550,7 +3550,7 @@ const routes = {
|
|
|
3550
3550
|
"create-contact": {
|
|
3551
3551
|
serviceClass: "Contacts",
|
|
3552
3552
|
operationId: "createContact",
|
|
3553
|
-
description: "Record a contact the customer already knows about, optionally with the identifiers it is expected to arrive at. Optional by design — the inbound path creates contacts on its own. This is for the embedder who has a user in their own system and wants naturali to agree about who that is before the first message, which is what makes `external_id` (and, through it, a session's `tool_context`) useful. No
|
|
3553
|
+
description: "Record a contact the customer already knows about, optionally with the identifiers it is expected to arrive at. Optional by design — the inbound path creates contacts on its own. This is for the embedder who has a user in their own system and wants naturali to agree about who that is before the first message, which is what makes `external_id` (and, through it, a session's `tool_context`) useful. No runtime actor is created here; the contact gets one on first need.",
|
|
3554
3554
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/contacts",
|
|
3555
3555
|
httpMethod: "post",
|
|
3556
3556
|
pathParams: ["project_id"],
|
|
@@ -3664,7 +3664,7 @@ const routes = {
|
|
|
3664
3664
|
"delete-contact": {
|
|
3665
3665
|
serviceClass: "Contacts",
|
|
3666
3666
|
operationId: "deleteContact",
|
|
3667
|
-
description: "**Erasure (C4/LGPD).** Not a soft delete and not reversible: the contact's sessions — with their messages and media — its
|
|
3667
|
+
description: "**Erasure (C4/LGPD).** Not a soft delete and not reversible: the contact's sessions — with their messages and media — its runtime actor, its memory container and every identifier it was reachable at are removed, along with the merge records that reference it. The upstream deletes happen first, so a failure there aborts before the local pointers are dropped and a retry can still find what is left. A contact that was merged into another cannot be erased directly: its data lives with the survivor, so erase that one.",
|
|
3668
3668
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/contacts",
|
|
3669
3669
|
httpMethod: "delete",
|
|
3670
3670
|
pathParams: ["project_id", "contact_id"],
|
|
@@ -3790,7 +3790,7 @@ const routes = {
|
|
|
3790
3790
|
"merge-contact": {
|
|
3791
3791
|
serviceClass: "Contacts",
|
|
3792
3792
|
operationId: "mergeContact",
|
|
3793
|
-
description: "Fold `source_contact_id` into this contact — \"same human, two identifiers\" (C4). What moves: every identity and every conversation, so the survivor's history is the union of both. What is *shared* rather than moved: agent memory —
|
|
3793
|
+
description: "Fold `source_contact_id` into this contact — \"same human, two identifiers\" (C4). What moves: every identity and every conversation, so the survivor's history is the union of both. What is *shared* rather than moved: agent memory — the runtime hangs it off the actor, so the source's actor is re-pointed at the survivor's memory container and both keep answering with one recollection. Existing sessions keep working, which is the point of not rewriting them. The source is not deleted: it stays as a tombstone pointing at the survivor, and the returned merge record lists exactly what moved, so the merge can be audited and reverted.",
|
|
3794
3794
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/contacts",
|
|
3795
3795
|
httpMethod: "post",
|
|
3796
3796
|
pathParams: ["project_id", "contact_id"],
|
|
@@ -3930,7 +3930,7 @@ const routes = {
|
|
|
3930
3930
|
"create-generation": {
|
|
3931
3931
|
serviceClass: "Generations",
|
|
3932
3932
|
operationId: "createGeneration",
|
|
3933
|
-
description: "Sends messages to the agent, resolves its tools, and runs the model loop. Returns the final text when `status` is `completed` (plus `object` when the agent has an output schema), or the pending `tool_calls` when `status` is `requires_action`. With `stream: true` the response is a Server-Sent Events stream (Content-Type text/event-stream) proxied from
|
|
3933
|
+
description: "Sends messages to the agent, resolves its tools, and runs the model loop. Returns the final text when `status` is `completed` (plus `object` when the agent has an output schema), or the pending `tool_calls` when `status` is `requires_action`. With `stream: true` the response is a Server-Sent Events stream (Content-Type text/event-stream) proxied from the runtime instead of a single JSON body.",
|
|
3934
3934
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/generations",
|
|
3935
3935
|
httpMethod: "post",
|
|
3936
3936
|
pathParams: ["project_id", "agent_id"],
|
|
@@ -4012,7 +4012,7 @@ const routes = {
|
|
|
4012
4012
|
"get-generation-usage": {
|
|
4013
4013
|
serviceClass: "Generations",
|
|
4014
4014
|
operationId: "getGenerationUsage",
|
|
4015
|
-
description: "What this one generation cost, and the tokens it was charged on — the billing-grade receipt
|
|
4015
|
+
description: "What this one generation cost, and the tokens it was charged on — the billing-grade receipt the runtime froze at write time, per model line item. This is the per-generation grain that `GET /v1/projects/{project_id}/usage` cannot express: that meter buckets a whole project by model, agent, run, day or meter type, and a run can hold more than one generation. Use this to price a single turn, and the project meter to roll spend up. `cost_usd` is `null` when nothing was priced — never that the work was free. Only naturali-managed providers are priced; a BYOK generation runs on your own provider account, so it carries no LLM cost here (its tokens are still reported). A generation belonging to another project responds `404`, not `403`.",
|
|
4016
4016
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/generations",
|
|
4017
4017
|
httpMethod: "get",
|
|
4018
4018
|
pathParams: ["project_id", "generation_id"],
|
|
@@ -4338,7 +4338,7 @@ const routes = {
|
|
|
4338
4338
|
},
|
|
4339
4339
|
{
|
|
4340
4340
|
"name": "document_id",
|
|
4341
|
-
"description": "Knowledge document public ID (doc_ prefix) — the
|
|
4341
|
+
"description": "Knowledge document public ID (doc_ prefix) — the runtime document id.",
|
|
4342
4342
|
"required": true,
|
|
4343
4343
|
"type": "string",
|
|
4344
4344
|
"in": "path"
|
|
@@ -4374,7 +4374,7 @@ const routes = {
|
|
|
4374
4374
|
},
|
|
4375
4375
|
{
|
|
4376
4376
|
"name": "document_id",
|
|
4377
|
-
"description": "Knowledge document public ID (doc_ prefix) — the
|
|
4377
|
+
"description": "Knowledge document public ID (doc_ prefix) — the runtime document id.",
|
|
4378
4378
|
"required": true,
|
|
4379
4379
|
"type": "string",
|
|
4380
4380
|
"in": "path"
|
|
@@ -4410,7 +4410,7 @@ const routes = {
|
|
|
4410
4410
|
},
|
|
4411
4411
|
{
|
|
4412
4412
|
"name": "document_id",
|
|
4413
|
-
"description": "Knowledge document public ID (doc_ prefix) — the
|
|
4413
|
+
"description": "Knowledge document public ID (doc_ prefix) — the runtime document id.",
|
|
4414
4414
|
"required": true,
|
|
4415
4415
|
"type": "string",
|
|
4416
4416
|
"in": "path"
|
|
@@ -4457,7 +4457,7 @@ const routes = {
|
|
|
4457
4457
|
},
|
|
4458
4458
|
{
|
|
4459
4459
|
"name": "provider",
|
|
4460
|
-
"description": "Filter by the
|
|
4460
|
+
"description": "Filter by the provider slug that serves the model.",
|
|
4461
4461
|
"required": false,
|
|
4462
4462
|
"type": "string",
|
|
4463
4463
|
"in": "query"
|
|
@@ -4590,7 +4590,7 @@ const routes = {
|
|
|
4590
4590
|
"delete-project": {
|
|
4591
4591
|
serviceClass: "Projects",
|
|
4592
4592
|
operationId: "deleteProject",
|
|
4593
|
-
description: "Permanently deletes the project and its backing
|
|
4593
|
+
description: "Permanently deletes the project and its backing runtime project. Fails with 409 if the runtime project still has dependent resources — remove them first, or pass `force=true` to delete the project and all its dependents (agents, providers, tools, sessions, generations, traces). Forcing is destructive and irreversible.",
|
|
4594
4594
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/projects",
|
|
4595
4595
|
httpMethod: "delete",
|
|
4596
4596
|
pathParams: ["project_id"],
|
|
@@ -4612,7 +4612,7 @@ const routes = {
|
|
|
4612
4612
|
"get-project-usage": {
|
|
4613
4613
|
serviceClass: "Projects",
|
|
4614
4614
|
operationId: "getProjectUsage",
|
|
4615
|
-
description: "The per-project meter — the re-billing view (A11/C12/P3). Aggregates the project's usage over an optional [from, to] window, bucketed by a single dimension. Costs are the billing-grade cost_usd
|
|
4615
|
+
description: "The per-project meter — the re-billing view (A11/C12/P3). Aggregates the project's usage over an optional [from, to] window, bucketed by a single dimension. Costs are the billing-grade cost_usd the runtime freezes at write time; null means nothing in the bucket was priced (never that it was free). Only managed providers are priced (on the runtime), so cost reflects managed usage; BYOK usage carries no LLM cost.",
|
|
4616
4616
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/projects",
|
|
4617
4617
|
httpMethod: "get",
|
|
4618
4618
|
pathParams: ["project_id"],
|
|
@@ -4687,7 +4687,7 @@ const routes = {
|
|
|
4687
4687
|
"create-provider": {
|
|
4688
4688
|
serviceClass: "Providers",
|
|
4689
4689
|
operationId: "createProvider",
|
|
4690
|
-
description: "Register a managed provider (naturali-keyed, priced on
|
|
4690
|
+
description: "Register a managed provider (naturali-keyed, priced on the runtime) or a BYOK provider (your credentials, stored write-only and never priced). See ProviderCreate for the fields each mode takes.",
|
|
4691
4691
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/providers",
|
|
4692
4692
|
httpMethod: "post",
|
|
4693
4693
|
pathParams: ["project_id"],
|
|
@@ -4716,14 +4716,14 @@ const routes = {
|
|
|
4716
4716
|
},
|
|
4717
4717
|
{
|
|
4718
4718
|
"name": "provider",
|
|
4719
|
-
"description": "BYOK only — the
|
|
4719
|
+
"description": "BYOK only — the provider slug.",
|
|
4720
4720
|
"required": false,
|
|
4721
4721
|
"type": "string",
|
|
4722
4722
|
"in": "body"
|
|
4723
4723
|
},
|
|
4724
4724
|
{
|
|
4725
4725
|
"name": "default_model",
|
|
4726
|
-
"description": "BYOK only — model string
|
|
4726
|
+
"description": "BYOK only — model string the runtime sends (see /v1/models provider_model).",
|
|
4727
4727
|
"required": false,
|
|
4728
4728
|
"type": "string",
|
|
4729
4729
|
"in": "body"
|
|
@@ -4836,7 +4836,7 @@ const routes = {
|
|
|
4836
4836
|
"delete-provider": {
|
|
4837
4837
|
serviceClass: "Providers",
|
|
4838
4838
|
operationId: "deleteProvider",
|
|
4839
|
-
description: "Deletes the backing
|
|
4839
|
+
description: "Deletes the backing provider record on the runtime and its secret. Returns 409 if the provider is still referenced by live resources (agents) — detach those first. `force=true` clears only soft dependents (price overrides, usage history); live references always block deletion.",
|
|
4840
4840
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/providers",
|
|
4841
4841
|
httpMethod: "delete",
|
|
4842
4842
|
pathParams: ["project_id", "provider_id"],
|
|
@@ -4858,7 +4858,7 @@ const routes = {
|
|
|
4858
4858
|
},
|
|
4859
4859
|
{
|
|
4860
4860
|
"name": "force",
|
|
4861
|
-
"description": "When true, also clear the provider's soft dependents (price overrides, usage history)
|
|
4861
|
+
"description": "When true, also clear the provider's soft dependents (price overrides, usage history) on the runtime. Live references (agents) always block deletion.\n",
|
|
4862
4862
|
"required": false,
|
|
4863
4863
|
"type": "boolean",
|
|
4864
4864
|
"in": "query"
|
|
@@ -4868,7 +4868,7 @@ const routes = {
|
|
|
4868
4868
|
"create-session": {
|
|
4869
4869
|
serviceClass: "Sessions",
|
|
4870
4870
|
operationId: "createSession",
|
|
4871
|
-
description: "Opens a durable session against the agent. The session accumulates messages and is resumable by id; its lifecycle (open / closed / expired) and configuration live in the backing
|
|
4871
|
+
description: "Opens a durable session against the agent. The session accumulates messages and is resumable by id; its lifecycle (open / closed / expired) and configuration live in the backing runtime session.",
|
|
4872
4872
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/sessions",
|
|
4873
4873
|
httpMethod: "post",
|
|
4874
4874
|
pathParams: ["project_id", "agent_id"],
|
|
@@ -4897,14 +4897,14 @@ const routes = {
|
|
|
4897
4897
|
},
|
|
4898
4898
|
{
|
|
4899
4899
|
"name": "contact_id",
|
|
4900
|
-
"description": "The contact the session is for (Contacts API, §6). naturali resolves it to the contact's
|
|
4900
|
+
"description": "The contact the session is for (Contacts API, §6). naturali resolves it to the contact's runtime actor — minting one on first need — so a web or in-app session gets the same continuity, memory and history a channel conversation gets, instead of a throwaway identity per session. When the contact has an `external_id` it rides along in `tool_context` as `actor_external_id`, so the customer's own HTTP tools receive the user reference they already key on; an explicit `tool_context` entry still wins. Mutually exclusive with `actor_id`.\n",
|
|
4901
4901
|
"required": false,
|
|
4902
4902
|
"type": "string",
|
|
4903
4903
|
"in": "body"
|
|
4904
4904
|
},
|
|
4905
4905
|
{
|
|
4906
4906
|
"name": "actor_id",
|
|
4907
|
-
"description": "Public ID of an existing actor to attach as the user actor. A
|
|
4907
|
+
"description": "Public ID of an existing actor to attach as the user actor. A runtime id showing through the public contract; prefer `contact_id`. Mutually exclusive with it.\n",
|
|
4908
4908
|
"required": false,
|
|
4909
4909
|
"type": "string",
|
|
4910
4910
|
"in": "body"
|
|
@@ -4942,7 +4942,7 @@ const routes = {
|
|
|
4942
4942
|
"get-session": {
|
|
4943
4943
|
serviceClass: "Sessions",
|
|
4944
4944
|
operationId: "getSession",
|
|
4945
|
-
description: "Returns the session's current state — status, activity timestamps and configuration — read live from the backing
|
|
4945
|
+
description: "Returns the session's current state — status, activity timestamps and configuration — read live from the backing runtime session, so a resumed session reflects everything that has happened since it was opened.",
|
|
4946
4946
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/sessions",
|
|
4947
4947
|
httpMethod: "get",
|
|
4948
4948
|
pathParams: [
|
|
@@ -5593,7 +5593,7 @@ const routes = {
|
|
|
5593
5593
|
"delete-tool": {
|
|
5594
5594
|
serviceClass: "Tools",
|
|
5595
5595
|
operationId: "deleteTool",
|
|
5596
|
-
description: "Deletes the backing
|
|
5596
|
+
description: "Deletes the backing runtime tool. Returns 409 if the tool is still attached to an agent (detach it first).",
|
|
5597
5597
|
moduleDocsUrl: "https://docs.naturali.ai/docs/modules/tools",
|
|
5598
5598
|
httpMethod: "delete",
|
|
5599
5599
|
pathParams: ["project_id", "tool_id"],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@naturali/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.0",
|
|
4
4
|
"description": "Command-line interface for the naturali.ai API, generated from its OpenAPI specs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"tsx": "^4.23.1",
|
|
31
31
|
"typescript": "~6.0.3",
|
|
32
32
|
"vitest": "^4.1.10",
|
|
33
|
-
"@naturali/sdk": "0.
|
|
33
|
+
"@naturali/sdk": "0.40.0"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
|
36
36
|
"generate": "tsx scripts/generate.ts",
|