@soat/cli 0.53.0 → 0.55.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.
Files changed (2) hide show
  1. package/dist/index.mjs +58 -10
  2. 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.53.0";
16
+ var version = "0.55.0";
17
17
 
18
18
  //#endregion
19
19
  //#region src/cli-wrappers/wrappers/formations.ts
@@ -437,11 +437,11 @@ var routes = {
437
437
  "list-activity": {
438
438
  serviceClass: "Activity",
439
439
  operationId: "listActivity",
440
- description: "Returns activity entries for a project, newest first, filterable by kind and severity. Paginated with an opaque cursor rather than offset/limit — pass the previous page's `next_cursor` to fetch the next one; a `null` `next_cursor` means there is no more data.",
440
+ description: "Returns activity entries for a project, newest first, filterable by kind, severity, agent, generation and orchestration run — every filter composable with the rest. Paginated with an opaque cursor rather than offset/limit — pass the previous page's `next_cursor` to fetch the next one; a `null` `next_cursor` means there is no more data.",
441
441
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/activity",
442
442
  httpMethod: "get",
443
443
  pathParams: [],
444
- queryParams: ["project_id", "kind", "severity", "cursor", "limit"],
444
+ queryParams: ["project_id", "kind", "severity", "agent_id", "generation_id", "orchestration_run_id", "cursor", "limit"],
445
445
  flags: [{
446
446
  "name": "project_id",
447
447
  "description": "Project ID (required if not using project key auth)",
@@ -460,6 +460,24 @@ var routes = {
460
460
  "required": false,
461
461
  "type": "string",
462
462
  "in": "query"
463
+ }, {
464
+ "name": "agent_id",
465
+ "description": "Filter to entries produced by one agent. Composable with every other filter — entries carry one agent, one generation and one run, so naming two narrows to the rows where both hold.",
466
+ "required": false,
467
+ "type": "string",
468
+ "in": "query"
469
+ }, {
470
+ "name": "generation_id",
471
+ "description": "Filter to entries produced during one agent generation. This is what turns `tool_resolution_failed` from alertable into usable: the warning for a suspect turn is one query rather than a scan of the project's feed.",
472
+ "required": false,
473
+ "type": "string",
474
+ "in": "query"
475
+ }, {
476
+ "name": "orchestration_run_id",
477
+ "description": "Filter to entries produced during one orchestration run.",
478
+ "required": false,
479
+ "type": "string",
480
+ "in": "query"
463
481
  }, {
464
482
  "name": "cursor",
465
483
  "description": "Opaque cursor from a previous page's `next_cursor`",
@@ -646,7 +664,7 @@ var routes = {
646
664
  "in": "body"
647
665
  }, {
648
666
  "name": "tags",
649
- "description": "Key-value labels on a resource. A flat object of string values — an array, a nested object or a number is rejected with `400 VALIDATION_FAILED`, never coerced. Keys are opaque and stored verbatim, so `cost_center` and `costCenter` are two different tags. Matched by JSONB containment wherever tags are read: the `?tags=` filter, knowledge search, and the IAM `soat:ResourceTag/<key>` condition.",
667
+ "description": "Key-value labels on a resource. A flat object of string values — an array, a nested object or a number is rejected with `400 VALIDATION_FAILED`, never coerced. Keys are opaque and stored verbatim, so `cost_center` and `costCenter` are two different tags. Matched by JSONB containment wherever tags are read: the `?tags=` filter, knowledge search, and the IAM `soat:ResourceTag/<key>` condition.\n\nKeys beginning `system.` are reserved: the platform writes them to record which conversation, actor, agent and role a row came from, and a write naming one is refused with `400 RESERVED_TAG_KEY`. They are read and filtered like any other tag.",
650
668
  "required": false,
651
669
  "type": "object",
652
670
  "in": "body"
@@ -2384,6 +2402,12 @@ var routes = {
2384
2402
  "required": false,
2385
2403
  "type": "string",
2386
2404
  "in": "body"
2405
+ }, {
2406
+ "name": "retrieval",
2407
+ "description": "Whether this conversation's turns are embedded for vector retrieval. Turns are stored and chunked either way, so `none` leaves them readable and reachable by full-text search without paying for an embedding. `null` (the default) inherits the project's `default_conversation_retrieval`.",
2408
+ "required": false,
2409
+ "type": "string",
2410
+ "in": "body"
2387
2411
  }]
2388
2412
  },
2389
2413
  "get-conversation": {
@@ -2428,6 +2452,12 @@ var routes = {
2428
2452
  "required": false,
2429
2453
  "type": "string",
2430
2454
  "in": "body"
2455
+ }, {
2456
+ "name": "retrieval",
2457
+ "description": "Whether this conversation's turns are embedded for vector retrieval. Turns are stored and chunked either way, so `none` leaves them readable and reachable by full-text search without paying for an embedding. `null` (the default) inherits the project's `default_conversation_retrieval`. Switching it on embeds the turns already in the conversation, so the whole conversation becomes retrievable rather than only what is said next.",
2458
+ "required": false,
2459
+ "type": "string",
2460
+ "in": "body"
2431
2461
  }]
2432
2462
  },
2433
2463
  "delete-conversation": {
@@ -2698,7 +2728,7 @@ var routes = {
2698
2728
  "in": "body"
2699
2729
  }, {
2700
2730
  "name": "path",
2701
- "description": "Logical path within the project (e.g. /reports/q1.txt). Defaults to /filename if omitted.",
2731
+ "description": "Logical path within the project (e.g. /reports/q1.txt). Defaults to `/<filename>`, or to `/<document_id>.txt` when neither is given — a document with no path is reachable only by its id, since a prefix filter never matches null.",
2702
2732
  "required": false,
2703
2733
  "type": "string",
2704
2734
  "in": "body"
@@ -2722,7 +2752,7 @@ var routes = {
2722
2752
  "in": "body"
2723
2753
  }, {
2724
2754
  "name": "tags",
2725
- "description": "Key-value labels on a resource. A flat object of string values — an array, a nested object or a number is rejected with `400 VALIDATION_FAILED`, never coerced. Keys are opaque and stored verbatim, so `cost_center` and `costCenter` are two different tags. Matched by JSONB containment wherever tags are read: the `?tags=` filter, knowledge search, and the IAM `soat:ResourceTag/<key>` condition.",
2755
+ "description": "Key-value labels on a resource. A flat object of string values — an array, a nested object or a number is rejected with `400 VALIDATION_FAILED`, never coerced. Keys are opaque and stored verbatim, so `cost_center` and `costCenter` are two different tags. Matched by JSONB containment wherever tags are read: the `?tags=` filter, knowledge search, and the IAM `soat:ResourceTag/<key>` condition.\n\nKeys beginning `system.` are reserved: the platform writes them to record which conversation, actor, agent and role a row came from, and a write naming one is refused with `400 RESERVED_TAG_KEY`. They are read and filtered like any other tag.",
2726
2756
  "required": false,
2727
2757
  "type": "object",
2728
2758
  "in": "body"
@@ -2780,7 +2810,7 @@ var routes = {
2780
2810
  "in": "body"
2781
2811
  }, {
2782
2812
  "name": "tags",
2783
- "description": "Key-value labels on a resource. A flat object of string values — an array, a nested object or a number is rejected with `400 VALIDATION_FAILED`, never coerced. Keys are opaque and stored verbatim, so `cost_center` and `costCenter` are two different tags. Matched by JSONB containment wherever tags are read: the `?tags=` filter, knowledge search, and the IAM `soat:ResourceTag/<key>` condition.",
2813
+ "description": "Key-value labels on a resource. A flat object of string values — an array, a nested object or a number is rejected with `400 VALIDATION_FAILED`, never coerced. Keys are opaque and stored verbatim, so `cost_center` and `costCenter` are two different tags. Matched by JSONB containment wherever tags are read: the `?tags=` filter, knowledge search, and the IAM `soat:ResourceTag/<key>` condition.\n\nKeys beginning `system.` are reserved: the platform writes them to record which conversation, actor, agent and role a row came from, and a write naming one is refused with `400 RESERVED_TAG_KEY`. They are read and filtered like any other tag.",
2784
2814
  "required": false,
2785
2815
  "type": "object",
2786
2816
  "in": "body"
@@ -2860,7 +2890,7 @@ var routes = {
2860
2890
  "in": "body"
2861
2891
  }, {
2862
2892
  "name": "tags",
2863
- "description": "Key-value labels on a resource. A flat object of string values — an array, a nested object or a number is rejected with `400 VALIDATION_FAILED`, never coerced. Keys are opaque and stored verbatim, so `cost_center` and `costCenter` are two different tags. Matched by JSONB containment wherever tags are read: the `?tags=` filter, knowledge search, and the IAM `soat:ResourceTag/<key>` condition.",
2893
+ "description": "Key-value labels on a resource. A flat object of string values — an array, a nested object or a number is rejected with `400 VALIDATION_FAILED`, never coerced. Keys are opaque and stored verbatim, so `cost_center` and `costCenter` are two different tags. Matched by JSONB containment wherever tags are read: the `?tags=` filter, knowledge search, and the IAM `soat:ResourceTag/<key>` condition.\n\nKeys beginning `system.` are reserved: the platform writes them to record which conversation, actor, agent and role a row came from, and a write naming one is refused with `400 RESERVED_TAG_KEY`. They are read and filtered like any other tag.",
2864
2894
  "required": false,
2865
2895
  "type": "object",
2866
2896
  "in": "body"
@@ -3733,13 +3763,19 @@ var routes = {
3733
3763
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/files",
3734
3764
  httpMethod: "get",
3735
3765
  pathParams: [],
3736
- queryParams: ["project_id", "tags", "limit", "offset"],
3766
+ queryParams: ["project_id", "path_prefix", "tags", "limit", "offset"],
3737
3767
  flags: [{
3738
3768
  "name": "project_id",
3739
3769
  "description": "Filter files by project ID",
3740
3770
  "required": false,
3741
3771
  "type": "string",
3742
3772
  "in": "query"
3773
+ }, {
3774
+ "name": "path_prefix",
3775
+ "description": "Only files under this directory. The prefix is a path boundary, not a substring: `/reports` returns `/reports/q1.txt` and never `/reports-archive/q1.txt`, and `/` selects the whole project. A leading slash is optional and a trailing one is ignored, so `reports`, `/reports` and `/reports/` are the same filter. `%` and `_` are literal characters, not wildcards. Naming a directory under `/.system/` is what includes platform-written files, which a list without this parameter leaves out.",
3776
+ "required": false,
3777
+ "type": "string",
3778
+ "in": "query"
3743
3779
  }, {
3744
3780
  "name": "tags",
3745
3781
  "description": "Filter by tag pairs, written `key:value` (split on the first colon, so a value may contain colons). Repeat the parameter for several pairs; **all** must be present with exactly that value.\n",
@@ -6284,6 +6320,12 @@ var routes = {
6284
6320
  "required": false,
6285
6321
  "type": "object",
6286
6322
  "in": "body"
6323
+ }, {
6324
+ "name": "idempotency_key",
6325
+ "description": "Deduplication key, unique within the project, that makes a retry of an ambiguous failure safe. The first request under a key starts the run and answers `201`; any later request carrying the same key answers `200` with that same run, whatever state it has reached — including a retry that arrives while the original is still running.\n\nThe key is claimed by the run record and stays claimed for as long as the record exists, so it never silently expires and lets a second run through.\n\n`orchestration_id`, `input`, `tool_context` and `metadata` are the request the key names: reusing a key with any of them changed is `409 IDEMPOTENCY_KEY_REUSED` rather than a replay of a run that does something else. `wait` is not part of that comparison — it says how the caller waits, not what the run is — so a retry may flip it.",
6326
+ "required": false,
6327
+ "type": "string",
6328
+ "in": "body"
6287
6329
  }, {
6288
6330
  "name": "wait",
6289
6331
  "description": "When true, block until the run reaches a terminal (succeeded/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.",
@@ -6622,6 +6664,12 @@ var routes = {
6622
6664
  "required": false,
6623
6665
  "type": "boolean",
6624
6666
  "in": "body"
6667
+ }, {
6668
+ "name": "default_conversation_retrieval",
6669
+ "description": "What a conversation that names no `retrieval` of its own does. `none` by default: a turn is embedded because someone asked for the conversation to be retrievable, never merely because it was said. Turns are stored and chunked on both settings.",
6670
+ "required": false,
6671
+ "type": "string",
6672
+ "in": "body"
6625
6673
  }, {
6626
6674
  "name": "trace_content_retention_days",
6627
6675
  "description": "How long trace and generation content is kept before the daily retention sweep content-purges it. `null` (the default) disables retention; otherwise an integer >= 1. The sweep uses the same purge path as `DELETE /traces/{trace_id}/content`, so the row survives as an auditable skeleton with `content_redacted_at` set.",
@@ -7300,7 +7348,7 @@ var routes = {
7300
7348
  "in": "body"
7301
7349
  }, {
7302
7350
  "name": "tags",
7303
- "description": "Key-value labels on a resource. A flat object of string values — an array, a nested object or a number is rejected with `400 VALIDATION_FAILED`, never coerced. Keys are opaque and stored verbatim, so `cost_center` and `costCenter` are two different tags. Matched by JSONB containment wherever tags are read: the `?tags=` filter, knowledge search, and the IAM `soat:ResourceTag/<key>` condition.",
7351
+ "description": "Key-value labels on a resource. A flat object of string values — an array, a nested object or a number is rejected with `400 VALIDATION_FAILED`, never coerced. Keys are opaque and stored verbatim, so `cost_center` and `costCenter` are two different tags. Matched by JSONB containment wherever tags are read: the `?tags=` filter, knowledge search, and the IAM `soat:ResourceTag/<key>` condition.\n\nKeys beginning `system.` are reserved: the platform writes them to record which conversation, actor, agent and role a row came from, and a write naming one is refused with `400 RESERVED_TAG_KEY`. They are read and filtered like any other tag.",
7304
7352
  "required": false,
7305
7353
  "type": "object",
7306
7354
  "in": "body"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soat/cli",
3
- "version": "0.53.0",
3
+ "version": "0.55.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.6",
24
24
  "@inquirer/password": "^5.2.2",
25
- "@soat/sdk": "0.53.0",
25
+ "@soat/sdk": "0.55.0",
26
26
  "@ttoss/logger": "^0.8.20",
27
27
  "commander": "^15.0.0",
28
28
  "js-yaml": "^5.4.2"