@soat/cli 0.38.1 → 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 +18 -12
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -13,7 +13,7 @@ import * as os from "node:os";
|
|
|
13
13
|
import { createHmac, timingSafeEqual } from "node:crypto";
|
|
14
14
|
|
|
15
15
|
//#region package.json
|
|
16
|
-
var version = "0.
|
|
16
|
+
var version = "0.40.0";
|
|
17
17
|
|
|
18
18
|
//#endregion
|
|
19
19
|
//#region src/cli-wrappers/wrappers/formations.ts
|
|
@@ -6009,7 +6009,7 @@ var routes = {
|
|
|
6009
6009
|
"update-project": {
|
|
6010
6010
|
serviceClass: "Projects",
|
|
6011
6011
|
operationId: "updateProject",
|
|
6012
|
-
description: "Updates a project's name, its attached guardrails (`guardrail_ids` — the project-scope baseline governing every tool call by every agent in the project), its orchestration concurrency limit (`max_concurrent_runs`), its continuation-chain ceiling (`max_chain_generations`), its orchestration nesting bound (`
|
|
6012
|
+
description: "Updates a project's name, its attached guardrails (`guardrail_ids` — the project-scope baseline governing every tool call by every agent in the project), its orchestration concurrency limit (`max_concurrent_runs`), its continuation-chain ceiling (`max_chain_generations`), its orchestration nesting bound (`max_orchestration_run_depth`), its inherited model route (`default_model_route_id`), its read-auditing opt-in (`audit_reads_enabled`), its trace-content retention window (`trace_content_retention_days`), and/or its zero-retention setting (`trace_content_mode`). At least one field is required. Requires admin role. Detaching a guardrail (removing an id) additionally requires guardrails:DetachGuardrail.",
|
|
6013
6013
|
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/projects",
|
|
6014
6014
|
httpMethod: "patch",
|
|
6015
6015
|
pathParams: ["project_id"],
|
|
@@ -6045,7 +6045,7 @@ var routes = {
|
|
|
6045
6045
|
"type": "integer",
|
|
6046
6046
|
"in": "body"
|
|
6047
6047
|
}, {
|
|
6048
|
-
"name": "
|
|
6048
|
+
"name": "max_orchestration_run_depth",
|
|
6049
6049
|
"description": "`loop` / `sub_orchestration` nesting levels a run tree in this project may reach before the engine refuses to start the next child. `null` clears the project's bound, leaving the deployment-wide `MAX_ORCHESTRATION_RUN_DEPTH` (default 10); otherwise an integer >= 1. The effective bound is the smaller of the two, so this can only be stricter than the deployment's — which is what makes it a bound a graph author cannot opt out of. A refused child fails its parent run with `ORCHESTRATION_RUN_DEPTH_LIMIT`.",
|
|
6050
6050
|
"required": false,
|
|
6051
6051
|
"type": "integer",
|
|
@@ -7722,10 +7722,10 @@ var routes = {
|
|
|
7722
7722
|
"in": "path"
|
|
7723
7723
|
}]
|
|
7724
7724
|
},
|
|
7725
|
-
"list-usage-
|
|
7725
|
+
"list-usage-events": {
|
|
7726
7726
|
serviceClass: "Usage",
|
|
7727
|
-
operationId: "
|
|
7728
|
-
description: "Returns the raw usage
|
|
7727
|
+
operationId: "listUsageEvents",
|
|
7728
|
+
description: "Returns the raw usage events the caller can access, most recent first, optionally filtered by agent, generation, trace, actor, session, or `source`. Each event is the per-generation token usage as reported by the provider, for audit and reconciliation.",
|
|
7729
7729
|
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
|
|
7730
7730
|
httpMethod: "get",
|
|
7731
7731
|
pathParams: [],
|
|
@@ -7798,14 +7798,14 @@ var routes = {
|
|
|
7798
7798
|
"in": "query"
|
|
7799
7799
|
}]
|
|
7800
7800
|
},
|
|
7801
|
-
"get-usage": {
|
|
7801
|
+
"get-usage-aggregate": {
|
|
7802
7802
|
serviceClass: "Usage",
|
|
7803
|
-
operationId: "
|
|
7804
|
-
description: "Returns a project's usage rolled up over an optional `[from, to]` time window, bucketed by a single dimension and optionally narrowed to one `meter_type`. Each group and the grand total carry an `event_count`, summed token counts, a measured `quantity` per component (so infra meters report their real amount, not zeros), and `cost_usd` (null when no event in the bucket was priced). This is the per-project cost-by-range/by-category query — a monthly figure without scanning raw
|
|
7803
|
+
operationId: "getUsageAggregate",
|
|
7804
|
+
description: "Returns a project's usage rolled up over an optional `[from, to]` time window, bucketed by a single dimension and optionally narrowed to one `meter_type`. Each group and the grand total carry an `event_count`, summed token counts, a measured `quantity` per component (so infra meters report their real amount, not zeros), and `cost_usd` (null when no event in the bucket was priced). This is the per-project cost-by-range/by-category query — a monthly figure without scanning raw usage events client-side. `groups` is paginated. Its `total` is the number of distinct buckets in the window — bucket cardinality, including a null bucket for the events the dimension does not apply to, and never a count of entities. To count entities, send `include=distinct` and read `totals.distinct`. `totals` always describes the whole window — never the page above it.",
|
|
7805
7805
|
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
|
|
7806
7806
|
httpMethod: "get",
|
|
7807
7807
|
pathParams: [],
|
|
7808
|
-
queryParams: ["project_id", "group_by", "from", "to", "meter_type", "limit", "offset"],
|
|
7808
|
+
queryParams: ["project_id", "group_by", "include", "from", "to", "meter_type", "limit", "offset"],
|
|
7809
7809
|
flags: [{
|
|
7810
7810
|
"name": "project_id",
|
|
7811
7811
|
"description": "Project public ID to aggregate usage for",
|
|
@@ -7814,10 +7814,16 @@ var routes = {
|
|
|
7814
7814
|
"in": "query"
|
|
7815
7815
|
}, {
|
|
7816
7816
|
"name": "group_by",
|
|
7817
|
-
"description": "Dimension to bucket by. `day` buckets on the event's UTC calendar day; the others bucket on the matching column. `ai_provider` buckets on the provider the spend was billed against — a routed generation's serving target, or the agent's pinned provider. `model` buckets on the model id *and* the provider that served it, so one model name served by two providers is two groups (see `ai_provider_id`). `source` buckets by what the spend was incurred for (`eval`, `eval_judge`), which is how verification spend is priced apart from the traffic serving real users; unlabelled traffic collapses into the single `null` bucket.\n",
|
|
7817
|
+
"description": "Dimension to bucket by. `day` buckets on the event's UTC calendar day; the others bucket on the matching column. `ai_provider` buckets on the provider the spend was billed against — a routed generation's serving target, or the agent's pinned provider. `model` buckets on the model id *and* the provider that served it, so one model name served by two providers is two groups (see `ai_provider_id`). `source` buckets by what the spend was incurred for (`eval`, `eval_judge`), which is how verification spend is priced apart from the traffic serving real users; unlabelled traffic collapses into the single `null` bucket. `orchestration_run` buckets on the orchestration run the event belongs to — a standalone generation runs no orchestration and collapses into the single `null` bucket, so the bucket count under this dimension is not a count of runs.\n",
|
|
7818
7818
|
"required": true,
|
|
7819
7819
|
"type": "string",
|
|
7820
7820
|
"in": "query"
|
|
7821
|
+
}, {
|
|
7822
|
+
"name": "include",
|
|
7823
|
+
"description": "Optional extras to compute. The only value is `distinct`, which adds `totals.distinct` — one distinct-entity count per attribution column. It is opt-in because each key costs the database one extra sort of the window, so the default response keeps its cost whatever the event table grows to carry; a caller counting entities sends one request at `limit=1&include=distinct`. Any other value is a `400`.\n",
|
|
7824
|
+
"required": false,
|
|
7825
|
+
"type": "string",
|
|
7826
|
+
"in": "query"
|
|
7821
7827
|
}, {
|
|
7822
7828
|
"name": "from",
|
|
7823
7829
|
"description": "Inclusive lower bound (ISO-8601 timestamp) on the event created_at. Omit for no lower bound.\n",
|
|
@@ -7931,7 +7937,7 @@ var routes = {
|
|
|
7931
7937
|
"get-usage-receipt": {
|
|
7932
7938
|
serviceClass: "Usage",
|
|
7933
7939
|
operationId: "getUsageReceipt",
|
|
7934
|
-
description: "Returns a billing receipt. Pass generation_id for a per-generation receipt, or orchestration_run_id for a
|
|
7940
|
+
description: "Returns a billing receipt. Pass generation_id for a per-generation receipt, or orchestration_run_id for a receipt summed across the orchestration run's events — both share the same shape (per-model line items with tokens, the price-book version that priced them, and cost, plus totals). Exactly one of generation_id or orchestration_run_id must be supplied.",
|
|
7935
7941
|
moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/usage",
|
|
7936
7942
|
httpMethod: "get",
|
|
7937
7943
|
pathParams: [],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soat/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.0",
|
|
4
4
|
"description": "CLI for SOAT — open-source infrastructure for production-ready AI agents.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-agents",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@inquirer/input": "^5.1.2",
|
|
24
24
|
"@inquirer/password": "^5.1.1",
|
|
25
|
-
"@soat/sdk": "0.
|
|
25
|
+
"@soat/sdk": "0.40.0",
|
|
26
26
|
"@ttoss/logger": "^0.8.19",
|
|
27
27
|
"commander": "^15.0.0",
|
|
28
28
|
"js-yaml": "^5.2.1"
|