@naturali/cli 0.206.7 → 0.206.9

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 +85 -4
  2. package/package.json +2 -2
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.206.7";
20
+ var version = "0.206.9";
21
21
  //#endregion
22
22
  //#region ../sdk/src/generated/core/bodySerializer.gen.ts
23
23
  const serializeFormDataPair = (data, key, value) => {
@@ -5543,7 +5543,7 @@ var Tasks = class {
5543
5543
  /**
5544
5544
  * List tasks
5545
5545
  *
5546
- * Lists tasks (the board query). Filter by workflow, state, status, automation status, or assignee — `GET /tasks?workflow_id=...&state=...` is one board column.
5546
+ * Lists tasks (the board query). Filter by workflow, state, status, automation status, assignee, or `metadata` — `GET /tasks?workflow_id=...&state=...` is one board column.
5547
5547
  */
5548
5548
  static listTasks(options) {
5549
5549
  return (options.client ?? client).get({
@@ -5604,6 +5604,17 @@ var Tasks = class {
5604
5604
  });
5605
5605
  }
5606
5606
  /**
5607
+ * List a task's transitions
5608
+ *
5609
+ * Lists every transition of the workflow version the task is pinned to, with whether firing it now as the caller would be accepted and, when not, the error code firing it would answer. The guard runs with the caller as `principal`. A `requires_approval` transition is allowed before its guard passes: the guard runs when the approval resolves. Advisory: firing re-validates under the task's lock.
5610
+ */
5611
+ static listTaskTransitions(options) {
5612
+ return (options.client ?? client).get({
5613
+ url: "/v1/projects/{project_id}/tasks/{task_id}/transitions",
5614
+ ...options
5615
+ });
5616
+ }
5617
+ /**
5607
5618
  * Transition a task
5608
5619
  *
5609
5620
  * Fires a named transition on a task. The transition must exist in the workflow and be valid from the task's current state; its guard must pass. This is the single path every state change routes through. A transition declaring `requires_approval` does not move the task — it parks a pending ApprovalItem and returns the task with `pending_transition` set; the move applies only when the approval is approved.
@@ -22052,7 +22063,7 @@ const routes = {
22052
22063
  "list-tasks": {
22053
22064
  serviceClass: "Tasks",
22054
22065
  operationId: "listTasks",
22055
- description: "Lists tasks (the board query). Filter by workflow, state, status, automation status, or assignee — `GET /tasks?workflow_id=...&state=...` is one board column.",
22066
+ description: "Lists tasks (the board query). Filter by workflow, state, status, automation status, assignee, or `metadata` — `GET /tasks?workflow_id=...&state=...` is one board column.",
22056
22067
  moduleDocsUrl: "https://naturali.ai/docs/modules/tasks",
22057
22068
  httpMethod: "get",
22058
22069
  pathParams: ["project_id"],
@@ -22062,6 +22073,7 @@ const routes = {
22062
22073
  "status",
22063
22074
  "automation_status",
22064
22075
  "assignee",
22076
+ "metadata",
22065
22077
  "limit",
22066
22078
  "offset"
22067
22079
  ],
@@ -22110,6 +22122,13 @@ const routes = {
22110
22122
  "type": "string",
22111
22123
  "in": "query"
22112
22124
  },
22125
+ {
22126
+ "name": "metadata",
22127
+ "description": "A `MetadataFilter` as JSON, url-encoded. It travels as JSON rather than as `key:value` pairs because the match is exact and a query string cannot otherwise say whether `3` is the number or the string.",
22128
+ "required": false,
22129
+ "type": "string",
22130
+ "in": "query"
22131
+ },
22113
22132
  {
22114
22133
  "name": "limit",
22115
22134
  "description": "Results per page, 1 to 100 (default 50). Above 100 it is clamped; below 1 or not an integer it is `400`.",
@@ -22291,6 +22310,47 @@ const routes = {
22291
22310
  "in": "path"
22292
22311
  }]
22293
22312
  },
22313
+ "list-task-transitions": {
22314
+ serviceClass: "Tasks",
22315
+ operationId: "listTaskTransitions",
22316
+ description: "Lists every transition of the workflow version the task is pinned to, with whether firing it now as the caller would be accepted and, when not, the error code firing it would answer. The guard runs with the caller as `principal`. A `requires_approval` transition is allowed before its guard passes: the guard runs when the approval resolves. Advisory: firing re-validates under the task's lock.",
22317
+ moduleDocsUrl: "https://naturali.ai/docs/modules/tasks",
22318
+ httpMethod: "get",
22319
+ pathParams: ["project_id", "task_id"],
22320
+ queryParams: ["limit", "offset"],
22321
+ headerParams: [],
22322
+ cookieParams: [],
22323
+ flags: [
22324
+ {
22325
+ "name": "project_id",
22326
+ "description": "Project public ID (proj_ prefix).",
22327
+ "required": true,
22328
+ "type": "string",
22329
+ "in": "path"
22330
+ },
22331
+ {
22332
+ "name": "task_id",
22333
+ "description": "The task whose transitions are listed.",
22334
+ "required": true,
22335
+ "type": "string",
22336
+ "in": "path"
22337
+ },
22338
+ {
22339
+ "name": "limit",
22340
+ "description": "Results per page, 1 to 100 (default 50). Above 100 it is clamped; below 1 or not an integer it is `400`.",
22341
+ "required": false,
22342
+ "type": "integer",
22343
+ "in": "query"
22344
+ },
22345
+ {
22346
+ "name": "offset",
22347
+ "description": "Results to skip. Negative or not an integer it is `400`.",
22348
+ "required": false,
22349
+ "type": "integer",
22350
+ "in": "query"
22351
+ }
22352
+ ]
22353
+ },
22294
22354
  "transition-task": {
22295
22355
  serviceClass: "Tasks",
22296
22356
  operationId: "transitionTask",
@@ -22299,7 +22359,7 @@ const routes = {
22299
22359
  httpMethod: "post",
22300
22360
  pathParams: ["project_id", "task_id"],
22301
22361
  queryParams: [],
22302
- headerParams: [],
22362
+ headerParams: ["Idempotency-Key"],
22303
22363
  cookieParams: [],
22304
22364
  flags: [
22305
22365
  {
@@ -22316,6 +22376,13 @@ const routes = {
22316
22376
  "type": "string",
22317
22377
  "in": "path"
22318
22378
  },
22379
+ {
22380
+ "name": "Idempotency-Key",
22381
+ "description": "The request's deduplication key. Equivalent to `idempotency_key` in the request body; sending both with different values is `400 VALIDATION_FAILED`. A non-empty string of at most 255 characters.",
22382
+ "required": false,
22383
+ "type": "string",
22384
+ "in": "header"
22385
+ },
22319
22386
  {
22320
22387
  "name": "transition",
22321
22388
  "description": "",
@@ -22330,6 +22397,20 @@ const routes = {
22330
22397
  "type": "string",
22331
22398
  "in": "body"
22332
22399
  },
22400
+ {
22401
+ "name": "payload",
22402
+ "description": "Keys shallow-merged over the task's payload under the transition's lock, before the guard reads it, exactly as `PATCH` merges them; the result must satisfy the payload schema of the version the task is pinned to (`TASK_PAYLOAD_INVALID`). A refused move writes none of it. On a `requires_approval` transition the payload is held with the gate and merged when the approval fires the move, so a rejected or expired gate writes nothing.",
22403
+ "required": false,
22404
+ "type": "object",
22405
+ "in": "body"
22406
+ },
22407
+ {
22408
+ "name": "idempotency_key",
22409
+ "description": "The move's deduplication key, unique within the task and claimed for as long as the task exists. The same key with the same body replays the task as it is now instead of moving it again, whether the move applied or parked an approval; with a different body it is `409 IDEMPOTENCY_KEY_REUSED`. Equivalent to the `Idempotency-Key` header.",
22410
+ "required": false,
22411
+ "type": "string",
22412
+ "in": "body"
22413
+ },
22333
22414
  {
22334
22415
  "name": "tool_context",
22335
22416
  "description": "Caller context for the automation dispatches the task makes from here on, forwarded as `X-Naturali-Context-<key>` headers on their tool calls.\nSupplying it **replaces** the task's stored bag wholesale; omitting it keeps the current one, so the context follows whoever last moved the task and survives every move that does not speak about it — including an approval gate, a retry, and an automation hop. Send an empty object to clear it without closing the task.\nThe reserved identity keys (`session_id`, `actor_id`, `actor_external_id`) are stripped in any casing and re-derived server-side. A key outside the HTTP header-name grammar is rejected with `INVALID_TOOL_CONTEXT_KEY` (400).\nWrite-only: never returned by a task read, and cleared when the transition closes the task.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naturali/cli",
3
- "version": "0.206.7",
3
+ "version": "0.206.9",
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.206.7",
34
+ "@naturali/sdk": "0.206.9",
35
35
  "@ttoss/openapi-codegen": "^0.5.0",
36
36
  "@types/node": "^26.5.1",
37
37
  "tsdown": "^0.23.0",