@soat/cli 0.41.0 → 0.42.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 +62 -2
  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.41.0";
16
+ var version = "0.42.0";
17
17
 
18
18
  //#endregion
19
19
  //#region src/cli-wrappers/wrappers/formations.ts
@@ -5770,6 +5770,28 @@ var routes = {
5770
5770
  "in": "path"
5771
5771
  }]
5772
5772
  },
5773
+ "pause-orchestration-run": {
5774
+ serviceClass: "Orchestrations",
5775
+ operationId: "pauseOrchestrationRun",
5776
+ description: "Parks a run in flight as `awaiting_input` at its next checkpoint, with a `required_action` of type `paused` naming the pause as operator-initiated rather than a node's. Unlike cancel, the run keeps its last checkpoint and resume-orchestration-run re-drives it from there — so work already done is deferred rather than discarded. A `queued` or `sleeping` run is parked immediately (a sleeping run keeps the wake it was due, and resuming hands it back to the scheduler at that instant). A `running` run keeps running until the round in flight reaches its checkpoint, so the response may still read `running` while `pause_requested_at` is set. A run already parked on a human, webhook or approval node keeps that node's `required_action`; the pause is still recorded, which is what makes submit-human-input refuse until the run is resumed. The pause fans out to the run's `loop` / `sub_orchestration` descendants — each parks at its own next checkpoint — because otherwise a parent's pause would bound nothing. Resuming does not fan out: each parked descendant is resumed by its own id. Idempotent: pausing an already-paused run answers with it unchanged.",
5777
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
5778
+ httpMethod: "post",
5779
+ pathParams: ["orchestration_run_id"],
5780
+ queryParams: [],
5781
+ flags: [{
5782
+ "name": "orchestration_run_id",
5783
+ "description": "Public ID of the run (run_...)",
5784
+ "required": true,
5785
+ "type": "string",
5786
+ "in": "path"
5787
+ }, {
5788
+ "name": "reason",
5789
+ "description": "Why the run is being paused, surfaced on the parked run's `required_action.reason` and on `pause_reason`.",
5790
+ "required": false,
5791
+ "type": "string",
5792
+ "in": "body"
5793
+ }]
5794
+ },
5773
5795
  "submit-human-input": {
5774
5796
  serviceClass: "Orchestrations",
5775
5797
  operationId: "submitHumanInput",
@@ -5801,7 +5823,7 @@ var routes = {
5801
5823
  "resume-orchestration-run": {
5802
5824
  serviceClass: "Orchestrations",
5803
5825
  operationId: "resumeOrchestrationRun",
5804
- description: "Re-drives an awaiting_input orchestration run from its last checkpoint. This does not satisfy the pause itself — it carries no node_id or payload, so a run parked on a human or webhook-receive node re-parks on the same node. Use submit-human-input to supply the awaited payload and advance the run.",
5826
+ description: "Re-drives an awaiting_input orchestration run from its last checkpoint. This does not satisfy the pause itself — it carries no node_id or payload, so a run parked on a human or webhook-receive node re-parks on the same node. Use submit-human-input to supply the awaited payload and advance the run. It is also the only thing that lifts an operator pause (pause-orchestration-run): a run parked with `required_action.type` of `paused` re-drives the frontier that had not run yet, and one paused mid-timer goes back to `sleeping` for the wake it was already due.",
5805
5827
  moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/orchestrations",
5806
5828
  httpMethod: "post",
5807
5829
  pathParams: ["orchestration_run_id"],
@@ -7014,6 +7036,44 @@ var routes = {
7014
7036
  "in": "body"
7015
7037
  }]
7016
7038
  },
7039
+ "pause-task": {
7040
+ serviceClass: "Tasks",
7041
+ operationId: "pauseTask",
7042
+ description: "Pauses a task's automation. While a pause is in force no state's `on_enter` dispatches and no retry chain continues — an agent generation, a tool call and a sub-orchestration alike — so the task stops spending without losing its place. A workflow has no run object, so this is the workflow half of pause-orchestration-run: the pause lands on the instance, which is the task. Transitions are deliberately still allowed — a move costs nothing while every dispatch it would start is suppressed — so a board stays usable under a pause. Entering a state whose dispatch is suppressed records `automation_status: paused`, which resume-task reads to know that state still owes its work. A dispatch already in flight is left to finish, and its outcome still routes; only what would start after it is suppressed. Idempotent: pausing an already-paused task answers with it unchanged.",
7043
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
7044
+ httpMethod: "post",
7045
+ pathParams: ["task_id"],
7046
+ queryParams: [],
7047
+ flags: [{
7048
+ "name": "task_id",
7049
+ "description": "",
7050
+ "required": true,
7051
+ "type": "string",
7052
+ "in": "path"
7053
+ }, {
7054
+ "name": "reason",
7055
+ "description": "Why the task is being paused, surfaced on `pause_reason`.",
7056
+ "required": false,
7057
+ "type": "string",
7058
+ "in": "body"
7059
+ }]
7060
+ },
7061
+ "resume-task": {
7062
+ serviceClass: "Tasks",
7063
+ operationId: "resumeTask",
7064
+ description: "Lifts a task's pause. When the pause suppressed the current state's `on_enter` — `automation_status: paused` — that dispatch is started now, as the caller resuming rather than as whoever last moved the task. A state whose dispatch had already completed, or that declares none, is left alone, so a resume never re-spends work the pause did not stop. This is the only way a pause is lifted; a task that is merely idle is advanced by firing a transition instead.",
7065
+ moduleDocsUrl: "https://soat.ttoss.dev/docs/modules/tasks",
7066
+ httpMethod: "post",
7067
+ pathParams: ["task_id"],
7068
+ queryParams: [],
7069
+ flags: [{
7070
+ "name": "task_id",
7071
+ "description": "",
7072
+ "required": true,
7073
+ "type": "string",
7074
+ "in": "path"
7075
+ }]
7076
+ },
7017
7077
  "get-task-history": {
7018
7078
  serviceClass: "Tasks",
7019
7079
  operationId: "getTaskHistory",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soat/cli",
3
- "version": "0.41.0",
3
+ "version": "0.42.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.41.0",
25
+ "@soat/sdk": "0.42.0",
26
26
  "@ttoss/logger": "^0.8.19",
27
27
  "commander": "^15.0.0",
28
28
  "js-yaml": "^5.2.1"