@opvs-ai/cli 0.14.0 → 0.15.1
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/README.md +60 -0
- package/dist/.build-stamp.json +4 -4
- package/dist/commands/boards.d.ts +57 -0
- package/dist/commands/boards.js +546 -4
- package/dist/commands/boards.js.map +1 -1
- package/dist/commands/columns.d.ts +51 -0
- package/dist/commands/columns.js +274 -16
- package/dist/commands/columns.js.map +1 -1
- package/dist/commands/comments.js +48 -14
- package/dist/commands/comments.js.map +1 -1
- package/dist/commands/files.js +34 -0
- package/dist/commands/files.js.map +1 -1
- package/dist/commands/markers.js +53 -1
- package/dist/commands/markers.js.map +1 -1
- package/dist/commands/members.d.ts +33 -0
- package/dist/commands/members.js +96 -11
- package/dist/commands/members.js.map +1 -1
- package/dist/commands/projects.d.ts +8 -0
- package/dist/commands/projects.js +138 -6
- package/dist/commands/projects.js.map +1 -1
- package/dist/commands/stages.js +14 -3
- package/dist/commands/stages.js.map +1 -1
- package/dist/commands/tasks.js +288 -18
- package/dist/commands/tasks.js.map +1 -1
- package/dist/lib/factory-gate.d.ts +38 -0
- package/dist/lib/factory-gate.js +65 -0
- package/dist/lib/factory-gate.js.map +1 -0
- package/dist/lib/health.d.ts +54 -0
- package/dist/lib/health.js +126 -0
- package/dist/lib/health.js.map +1 -0
- package/dist/lib/options.d.ts +17 -0
- package/dist/lib/options.js +37 -0
- package/dist/lib/options.js.map +1 -1
- package/dist/lib/routing.d.ts +41 -0
- package/dist/lib/routing.js +60 -0
- package/dist/lib/routing.js.map +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/commands/projects.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/commands/projects.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/stages.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { getEffectiveConfig, createClient } from "@opvs-ai/core";
|
|
5
5
|
import { buildUrl, printResponse, printJson } from "../lib/format.js";
|
|
6
|
+
import { intFlag } from "../lib/options.js";
|
|
6
7
|
export function registerStageCommands(program) {
|
|
7
8
|
const stages = program
|
|
8
9
|
.command("stages")
|
|
@@ -34,9 +35,15 @@ export function registerStageCommands(program) {
|
|
|
34
35
|
.option("--assign-agent <agentId>", "Agent UUID to assign")
|
|
35
36
|
.option("--instructions <text>", "Agent instructions for this stage")
|
|
36
37
|
.option("--context <json>", "Agent context JSON (key-value pairs)")
|
|
37
|
-
.option("--position <n>", "Position in stage order")
|
|
38
|
+
.option("--position <n>", "Position in stage order, 0-based. Omit to append.")
|
|
39
|
+
// `locked_until_stage_id` is written by `StageService.create` and read by
|
|
40
|
+
// nothing — no activation, claim or move checks it (ASP-85, re-measured).
|
|
41
|
+
.option("--locked-until <stageId>", "UUID of the stage this one waits for. RECORDED ONLY: nothing enforces it today — the stage is not held back.")
|
|
42
|
+
.option("--estimate <minutes>", "Estimated minutes for this stage, a positive integer. Informational: nothing schedules or alerts by it.")
|
|
38
43
|
.action(async (taskId, opts) => {
|
|
39
44
|
const wsSlug = program.opts().workspace;
|
|
45
|
+
const position = intFlag("--position", opts.position, 0);
|
|
46
|
+
const estimate = intFlag("--estimate", opts.estimate, 1);
|
|
40
47
|
try {
|
|
41
48
|
const client = createClient(wsSlug);
|
|
42
49
|
const body = { title: opts.title };
|
|
@@ -50,8 +57,12 @@ export function registerStageCommands(program) {
|
|
|
50
57
|
body.agent_instructions = opts.instructions;
|
|
51
58
|
if (opts.context)
|
|
52
59
|
body.agent_context = JSON.parse(opts.context);
|
|
53
|
-
if (
|
|
54
|
-
body.position =
|
|
60
|
+
if (position !== undefined)
|
|
61
|
+
body.position = position;
|
|
62
|
+
if (opts.lockedUntil)
|
|
63
|
+
body.locked_until_stage_id = opts.lockedUntil;
|
|
64
|
+
if (estimate !== undefined)
|
|
65
|
+
body.estimated_minutes = estimate;
|
|
55
66
|
const res = await client.post(`/api/v1/board/tasks/${taskId}/stages`, body);
|
|
56
67
|
const data = await res.json();
|
|
57
68
|
printJson(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stages.js","sourceRoot":"","sources":["../../src/commands/stages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"stages.js","sourceRoot":"","sources":["../../src/commands/stages.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/tasks.js
CHANGED
|
@@ -5,8 +5,14 @@ import { readFileSync } from "node:fs";
|
|
|
5
5
|
import { getEffectiveConfig, createClient } from "@opvs-ai/core";
|
|
6
6
|
import { buildUrl, printResponse, printJson, printWriteSummary } from "../lib/format.js";
|
|
7
7
|
import { clampLimit } from "../lib/pagination.js";
|
|
8
|
-
import { oneOf } from "../lib/options.js";
|
|
8
|
+
import { CLEAR, csv, intFlag, oneOf } from "../lib/options.js";
|
|
9
9
|
import { confirm } from "../lib/confirm.js";
|
|
10
|
+
import { isUuid } from "../lib/board-refs.js";
|
|
11
|
+
import { TASK_STATUSES } from "./columns.js";
|
|
12
|
+
/** `TaskStatus` values `tasks search --status` accepts (agentboard `models/task.py`). */
|
|
13
|
+
const SEARCH_STATUSES = TASK_STATUSES;
|
|
14
|
+
/** `TaskPriority` values (agentboard `models/task.py`). */
|
|
15
|
+
const SEARCH_PRIORITIES = ["critical", "high", "medium", "low"];
|
|
10
16
|
/** Formats `GET /boards/{id}/runnable` implements (OSB-196). */
|
|
11
17
|
const RUNNABLE_FORMATS = ["json", "yaml", "md"];
|
|
12
18
|
/** Collect a repeatable `--field key=value` option into an array. */
|
|
@@ -73,6 +79,128 @@ const MODEL_HELP = "Model the build should run, e.g. claude-opus-5 or minimax/mi
|
|
|
73
79
|
"Resolve what a brand may serve via GET /api/v1/factory/subscriptions/servable on the MAIN API (agentboard 404s that path).";
|
|
74
80
|
const PIN_ENV_HELP = "Restrict WHICH BOX may claim this card (repeatable). Takes a box NAME (llm16) or an environments.id UUID — " +
|
|
75
81
|
"names resolve at the gateway against your brand's environments. Omit for any box. On update, --pin-env none clears every pin.";
|
|
82
|
+
/**
|
|
83
|
+
* Collect a repeatable workflow / deploy flag into an array (ASP-85).
|
|
84
|
+
*
|
|
85
|
+
* A third copy of the accumulator on purpose, for the reason
|
|
86
|
+
* {@link collectPinEnv} gives: each one collects a different vocabulary.
|
|
87
|
+
*/
|
|
88
|
+
function collectList(val, prev) {
|
|
89
|
+
return prev.concat([val]);
|
|
90
|
+
}
|
|
91
|
+
// ── Fields ASP-85 found no flag for ────────────────────────────────────────
|
|
92
|
+
// Every string says what the field does AND what it costs, and each claim
|
|
93
|
+
// about the server names the code that makes it true beside it.
|
|
94
|
+
// `skill_guidance.py` emits `$audit.info:no_estimate` when this is empty; no
|
|
95
|
+
// scheduler or SLA reads it.
|
|
96
|
+
const ESTIMATE_HELP = "Estimated minutes, a positive integer. Informational: shown on the card and silences the no_estimate audit hint — nothing schedules or alerts by it.";
|
|
97
|
+
// `opvs_sidecar/brief.py` renders all three into the build brief. Names are
|
|
98
|
+
// pointers the desk must already hold; rules are inlined verbatim.
|
|
99
|
+
const WORKFLOW_DOC_HELP = "Slash-command playbook the build should be worked with, e.g. ship (repeatable; max 50, 200 chars each). " +
|
|
100
|
+
"The brief names it; a playbook the desk has not installed is reported missing, not fetched.";
|
|
101
|
+
const WORKFLOW_SKILL_HELP = "Skill NAME the build should use (repeatable; max 50, 200 chars each). The brief names it; a skill the desk lacks is reported missing.";
|
|
102
|
+
const WORKFLOW_RULE_HELP = "Standing constraint inlined VERBATIM into the build brief (repeatable; max 20, 500 chars each). " +
|
|
103
|
+
"Every rule is prompt text on every build of this card.";
|
|
104
|
+
// Delivery header, migration 054. `schemas/task.py` D2: pointers only, nothing
|
|
105
|
+
// subscribes to GitHub. `master_service` filters `has_pr` on `pr_number`.
|
|
106
|
+
const PR_HELP = "PR number the card shipped as. A POINTER: nothing watches GitHub, so it never reads merged or closed. `opvs master tasks --has-pr` filters on it.";
|
|
107
|
+
const PR_URL_HELP = "The same PR as an http(s) URL (a non-URL is a 422).";
|
|
108
|
+
const BRANCH_HELP = "Branch the work was done on (one line).";
|
|
109
|
+
const WORKTREE_HELP = "Where the work was done, as host:path, e.g. llm16:/root/OPVS-x. A bare path is a 422.";
|
|
110
|
+
const DEPLOY_NEEDS_HELP = "Comma-separated services that must be redeployed for the change to be live, e.g. agentboard,api-gateway. A checklist for whoever deploys — nothing deploys from it.";
|
|
111
|
+
const ASSIGN_USER_HELP = "Human user UUID to assign. Separate from --assign (an agent): a card can hold both, and setting one does not clear the other.";
|
|
112
|
+
/** "Replaces the list; `none` alone clears it", added to a list flag's help on update. */
|
|
113
|
+
const REPLACES = " On update this REPLACES the card's whole list; pass 'none' alone to clear it.";
|
|
114
|
+
/**
|
|
115
|
+
* A repeatable list flag → the body value. `undefined` when not given; on
|
|
116
|
+
* update a lone `none` is `[]` (the columns are NOT NULL — `[]` is the clear,
|
|
117
|
+
* same as `--pin-env none`). `none` mixed with values is refused: it is either
|
|
118
|
+
* a clear or a name, and guessing which is how a card loses its pins.
|
|
119
|
+
*/
|
|
120
|
+
function listFlag(flag, values, clearable) {
|
|
121
|
+
if (!values || values.length === 0)
|
|
122
|
+
return undefined;
|
|
123
|
+
if (values.includes(CLEAR)) {
|
|
124
|
+
if (values.length === 1 && clearable)
|
|
125
|
+
return [];
|
|
126
|
+
console.error(`Error: ${flag} '${CLEAR}' clears the list and cannot be combined with values${clearable ? "" : " (nothing to clear on create)"}`);
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
return values;
|
|
130
|
+
}
|
|
131
|
+
/** The delivery / workflow / estimate half of a task body, shared by create and update. */
|
|
132
|
+
function buildDeliveryFields(opts, clearable) {
|
|
133
|
+
const body = {};
|
|
134
|
+
const scalar = (key, raw) => {
|
|
135
|
+
if (raw === undefined)
|
|
136
|
+
return;
|
|
137
|
+
if (raw === CLEAR && clearable)
|
|
138
|
+
body[key] = null;
|
|
139
|
+
else
|
|
140
|
+
body[key] = raw;
|
|
141
|
+
};
|
|
142
|
+
if (opts.estimate !== undefined) {
|
|
143
|
+
body.estimated_minutes =
|
|
144
|
+
clearable && opts.estimate === CLEAR ? null : intFlag("--estimate", opts.estimate, 1);
|
|
145
|
+
}
|
|
146
|
+
const docs = listFlag("--workflow-doc", opts.workflowDoc, clearable);
|
|
147
|
+
if (docs)
|
|
148
|
+
body.workflow_docs = docs;
|
|
149
|
+
const skills = listFlag("--workflow-skill", opts.workflowSkill, clearable);
|
|
150
|
+
if (skills)
|
|
151
|
+
body.workflow_skills = skills;
|
|
152
|
+
const rules = listFlag("--workflow-rule", opts.workflowRule, clearable);
|
|
153
|
+
if (rules)
|
|
154
|
+
body.workflow_rules = rules;
|
|
155
|
+
if (opts.pr !== undefined) {
|
|
156
|
+
body.pr_number = clearable && opts.pr === CLEAR ? null : intFlag("--pr", opts.pr, 1);
|
|
157
|
+
}
|
|
158
|
+
scalar("pr_url", opts.prUrl);
|
|
159
|
+
scalar("branch", opts.branch);
|
|
160
|
+
scalar("worktree", opts.worktree);
|
|
161
|
+
if (opts.deployNeeds !== undefined) {
|
|
162
|
+
const raw = String(opts.deployNeeds).trim();
|
|
163
|
+
if (raw === "" || raw === CLEAR) {
|
|
164
|
+
if (clearable)
|
|
165
|
+
body.deploy_needs = [];
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
const services = csv(raw);
|
|
169
|
+
if (!services) {
|
|
170
|
+
console.error(`Error: --deploy-needs '${opts.deployNeeds}' names no service`);
|
|
171
|
+
process.exit(1);
|
|
172
|
+
}
|
|
173
|
+
body.deploy_needs = services;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (opts.assignUser !== undefined) {
|
|
177
|
+
if (clearable && opts.assignUser === CLEAR)
|
|
178
|
+
body.assigned_to_user_id = null;
|
|
179
|
+
else if (!isUuid(opts.assignUser)) {
|
|
180
|
+
console.error(`Error: --assign-user must be a user UUID${clearable ? " or 'none'" : ""} (got '${opts.assignUser}')`);
|
|
181
|
+
process.exit(1);
|
|
182
|
+
}
|
|
183
|
+
else
|
|
184
|
+
body.assigned_to_user_id = opts.assignUser;
|
|
185
|
+
}
|
|
186
|
+
return body;
|
|
187
|
+
}
|
|
188
|
+
/** Attach the ASP-85 delivery / workflow flags shared by create and update. */
|
|
189
|
+
function withDeliveryOptions(cmd, clearable) {
|
|
190
|
+
const clear = (help) => (clearable ? `${help} Pass 'none' to clear it.` : help);
|
|
191
|
+
const list = (help) => (clearable ? `${help}${REPLACES}` : help);
|
|
192
|
+
return cmd
|
|
193
|
+
.option("--estimate <minutes>", clear(ESTIMATE_HELP))
|
|
194
|
+
.option("--workflow-doc <name>", list(WORKFLOW_DOC_HELP), collectList, [])
|
|
195
|
+
.option("--workflow-skill <name>", list(WORKFLOW_SKILL_HELP), collectList, [])
|
|
196
|
+
.option("--workflow-rule <text>", list(WORKFLOW_RULE_HELP), collectList, [])
|
|
197
|
+
.option("--pr <number>", clear(PR_HELP))
|
|
198
|
+
.option("--pr-url <url>", clear(PR_URL_HELP))
|
|
199
|
+
.option("--branch <name>", clear(BRANCH_HELP))
|
|
200
|
+
.option("--worktree <host:path>", clear(WORKTREE_HELP))
|
|
201
|
+
.option("--deploy-needs <services>", clear(DEPLOY_NEEDS_HELP).replace("'none'", "'' or 'none'"))
|
|
202
|
+
.option("--assign-user <uuid>", clear(ASSIGN_USER_HELP));
|
|
203
|
+
}
|
|
76
204
|
/**
|
|
77
205
|
* Build the `custom_fields` object from `--custom-fields <json>` (typed base)
|
|
78
206
|
* plus repeatable `--field key=value` string pairs (applied on top, so an
|
|
@@ -200,7 +328,7 @@ export function registerTaskCommands(program) {
|
|
|
200
328
|
process.exit(1);
|
|
201
329
|
}
|
|
202
330
|
});
|
|
203
|
-
tasks
|
|
331
|
+
withDeliveryOptions(tasks
|
|
204
332
|
.command("create")
|
|
205
333
|
.description("Create a new task")
|
|
206
334
|
.requiredOption("--board <id>", "Board ID")
|
|
@@ -230,24 +358,34 @@ export function registerTaskCommands(program) {
|
|
|
230
358
|
.option("--parent <taskId>", "Parent task — short ref or UUID (makes this a subtask)")
|
|
231
359
|
.option("--mutex-group <lane>", "DAG lane. Two cards sharing a lane on one board never run concurrently — use it for cards that touch the same files.")
|
|
232
360
|
.option("--context <json>", "Agent context as a JSON object string")
|
|
233
|
-
.option("--claimable-by <class>",
|
|
361
|
+
.option("--claimable-by <class>",
|
|
362
|
+
// ASP-25: "Omit for anyone" stopped being true at migration 062 — an
|
|
363
|
+
// omitted gate now inherits the board's, then the project's,
|
|
364
|
+
// default_claimable_by (`ClaimService`, `_coalesce(t.claimable_by) or
|
|
365
|
+
// default_claimable_by`). It is "anyone" only when neither sets one.
|
|
366
|
+
"Actor gate: worker | agent | human. Restricts WHO may claim this card via the claim engine. Omit to inherit the board's, then the project's, default (opvs boards set-routing --claimable-by) — anyone, when neither sets one. Not the same as a column's claimable_by_roles, which holds a role.")
|
|
234
367
|
// ── Build routing pins (OSB-198 item 8) ────────────────────────────────
|
|
235
368
|
// `TaskCreate` has declared all six of these since migrations 052/056/060.
|
|
236
369
|
// The BULK path could set them (`tasks bulk --items` takes them inside the
|
|
237
370
|
// JSON blob); the single-card path could not — so they were reachable if
|
|
238
371
|
// you hand-wrote JSON for a batch and unreachable when you created one
|
|
239
|
-
// card, which is the normal case.
|
|
240
|
-
//
|
|
241
|
-
//
|
|
242
|
-
//
|
|
243
|
-
|
|
372
|
+
// card, which is the normal case.
|
|
373
|
+
//
|
|
374
|
+
// ASP-25: this help used to say the board WARNS
|
|
375
|
+
// (`$audit.warn:missing_task_type`) when a factory card has no task_type.
|
|
376
|
+
// Migration 062 (ASP-5/ASP-6) retired that ask on both surfaces, so the
|
|
377
|
+
// line described a warning that can no longer fire. The FLAG stays — plan
|
|
378
|
+
// §C retires the ask, not the field: task_type still routes the model where
|
|
379
|
+
// the worker router is on and still keys the run ledger.
|
|
380
|
+
.option("--task-type <type>", "Factory card type — routes the model where the worker router is enabled and keys the run ledger. " +
|
|
381
|
+
"Optional: a card that names none inherits the board's, then the project's, routing defaults (opvs boards set-routing).")
|
|
244
382
|
.option("--model <model>", MODEL_HELP)
|
|
245
383
|
.option("--provider <lane>", PROVIDER_HELP)
|
|
246
384
|
.option("--harness <executor>", HARNESS_HELP)
|
|
247
385
|
.option("--subscription <id>", "SpiderGate integration_id of the subscription that PAYS for this build. The ACCOUNT axis — distinct from --provider, which is the lane: one brand can hold two subscriptions on one provider with opposite entitlement.")
|
|
248
386
|
.option("--pin-env <box>", PIN_ENV_HELP, collectPinEnv, [])
|
|
249
387
|
.option("--field <key=value>", "Type-specific custom field (repeatable), e.g. --field platform=bluesky. Values are strings; use --custom-fields for typed values.", collectField, [])
|
|
250
|
-
.option("--custom-fields <json>", 'Custom fields as a JSON object (typed base for booleans/numbers), e.g. \'{"yt_notify_subscribers":true}\'. --field pairs override matching keys.')
|
|
388
|
+
.option("--custom-fields <json>", 'Custom fields as a JSON object (typed base for booleans/numbers), e.g. \'{"yt_notify_subscribers":true}\'. --field pairs override matching keys.'), false)
|
|
251
389
|
.action(async (opts) => {
|
|
252
390
|
const wsSlug = program.opts().workspace;
|
|
253
391
|
try {
|
|
@@ -317,6 +455,7 @@ export function registerTaskCommands(program) {
|
|
|
317
455
|
const customFields = buildCustomFields(opts);
|
|
318
456
|
if (customFields)
|
|
319
457
|
body.custom_fields = customFields;
|
|
458
|
+
Object.assign(body, buildDeliveryFields(opts, false));
|
|
320
459
|
const res = await client.post(`/api/v1/board/boards/${opts.board}/tasks`, body);
|
|
321
460
|
const data = await res.json();
|
|
322
461
|
printJson(data);
|
|
@@ -327,7 +466,7 @@ export function registerTaskCommands(program) {
|
|
|
327
466
|
process.exit(1);
|
|
328
467
|
}
|
|
329
468
|
});
|
|
330
|
-
tasks
|
|
469
|
+
withDeliveryOptions(tasks
|
|
331
470
|
.command("update <id>")
|
|
332
471
|
.description("Update a task (status, priority, result)")
|
|
333
472
|
.option("--status <status>", "Status: pending, assigned, in_progress, blocked, review, done, cancelled, failed (pending can only go to assigned/in_progress/cancelled)")
|
|
@@ -336,6 +475,14 @@ export function registerTaskCommands(program) {
|
|
|
336
475
|
.option("-d, --description <desc>", "New description (markdown)")
|
|
337
476
|
.option("--result <text>", "Result text (inline)")
|
|
338
477
|
.option("--result-file <path>", "Result text from file")
|
|
478
|
+
// `agent_result` is a plain `dict | None` on TaskUpdate and
|
|
479
|
+
// `TaskService.update` setattrs it — there is no merge for it (the RFC 7386
|
|
480
|
+
// merge is `custom_fields_merge`, custom fields only).
|
|
481
|
+
.option("--agent-result <json>", "Structured result as a JSON object. REPLACES the whole stored object — no merge. --result sets the text summary beside it.")
|
|
482
|
+
// `blocked_reason` (OSB-134) is a column only: nothing transitions status
|
|
483
|
+
// when it is written.
|
|
484
|
+
.option("--blocked-reason <text>", "Why the card stopped (max 2000 chars). A note only — it does NOT change status; pair it with --status blocked or failed. " +
|
|
485
|
+
"Pass '' to clear it, e.g. when re-driving a card, or the old cause travels with the next attempt.")
|
|
339
486
|
.option("--assign <agentId>", "Agent UUID to assign, or 'self' to assign to yourself")
|
|
340
487
|
.option("--labels <tags>", "Comma-separated labels (e.g. 'done,v2')")
|
|
341
488
|
.option("--due <date>", "Due date (YYYY-MM-DD)")
|
|
@@ -349,7 +496,7 @@ export function registerTaskCommands(program) {
|
|
|
349
496
|
// an existing capability read as missing, and callers built workarounds.
|
|
350
497
|
.option("--depends-on <refs>", "Comma-separated tasks this card waits on, REPLACING the current set — short refs (OSB-108), 8+ hex UUID prefixes, or full UUIDs. Pass '' to clear every edge.")
|
|
351
498
|
.option("--mutex-group <lane>", "DAG lane, or 'none' to clear it. Two cards sharing a lane on one board never run concurrently.")
|
|
352
|
-
.option("--claimable-by <class>", "Actor gate: worker | agent | human, or 'none' to CLEAR it
|
|
499
|
+
.option("--claimable-by <class>", "Actor gate: worker | agent | human, or 'none' to CLEAR the card's own gate — it then inherits the board's, then the project's, default, and is claimable by anyone only when neither sets one.")
|
|
353
500
|
// ── Build routing pins (OSB-198 item 8) ────────────────────────────────
|
|
354
501
|
// Each takes 'none' as its CLEAR verb, matching --mutex-group and
|
|
355
502
|
// --claimable-by above. Omitting a flag leaves that pin ALONE: the body is
|
|
@@ -368,7 +515,7 @@ export function registerTaskCommands(program) {
|
|
|
368
515
|
// Printing, not fetching. The request still asks for the full body because
|
|
369
516
|
// the main-API proxy parses it to drive board_doc_sync and the IDAP flag
|
|
370
517
|
// write — see printWriteSummary's header and the --receipt note below.
|
|
371
|
-
.option("--json", "Print the whole task object instead of the one-line confirmation")
|
|
518
|
+
.option("--json", "Print the whole task object instead of the one-line confirmation"), true)
|
|
372
519
|
.action(async (id, opts) => {
|
|
373
520
|
const wsSlug = program.opts().workspace;
|
|
374
521
|
try {
|
|
@@ -387,6 +534,24 @@ export function registerTaskCommands(program) {
|
|
|
387
534
|
if (opts.resultFile) {
|
|
388
535
|
body.agent_result_summary = readFileSync(opts.resultFile, "utf-8");
|
|
389
536
|
}
|
|
537
|
+
if (opts.agentResult !== undefined) {
|
|
538
|
+
let parsed;
|
|
539
|
+
try {
|
|
540
|
+
parsed = JSON.parse(opts.agentResult);
|
|
541
|
+
}
|
|
542
|
+
catch {
|
|
543
|
+
console.error("Error: --agent-result must be a valid JSON object string");
|
|
544
|
+
process.exit(1);
|
|
545
|
+
}
|
|
546
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
547
|
+
console.error("Error: --agent-result must be a JSON object (e.g. '{\"tests\":\"green\"}')");
|
|
548
|
+
process.exit(1);
|
|
549
|
+
}
|
|
550
|
+
body.agent_result = parsed;
|
|
551
|
+
}
|
|
552
|
+
if (opts.blockedReason !== undefined) {
|
|
553
|
+
body.blocked_reason = opts.blockedReason === "" ? null : opts.blockedReason;
|
|
554
|
+
}
|
|
390
555
|
if (opts.assign)
|
|
391
556
|
body.assigned_to_agent_id = opts.assign;
|
|
392
557
|
if (opts.labels)
|
|
@@ -469,8 +634,9 @@ export function registerTaskCommands(program) {
|
|
|
469
634
|
}
|
|
470
635
|
body.custom_fields_merge = true;
|
|
471
636
|
}
|
|
637
|
+
Object.assign(body, buildDeliveryFields(opts, true));
|
|
472
638
|
if (Object.keys(body).length === 0) {
|
|
473
|
-
console.error("Nothing to update. Provide --status, --priority, --title, --description, --result, --result-file, --assign, --labels, --due, --instructions, --instructions-file, --context, --parent, --depends-on, --mutex-group, --claimable-by, --task-type, --model, --provider, --harness, --subscription, --pin-env, --field, or --custom-fields");
|
|
639
|
+
console.error("Nothing to update. Provide --status, --priority, --title, --description, --result, --result-file, --agent-result, --blocked-reason, --assign, --assign-user, --labels, --due, --instructions, --instructions-file, --context, --parent, --depends-on, --mutex-group, --claimable-by, --task-type, --model, --provider, --harness, --subscription, --pin-env, --estimate, --workflow-doc, --workflow-skill, --workflow-rule, --pr, --pr-url, --branch, --worktree, --deploy-needs, --field, or --custom-fields");
|
|
474
640
|
process.exit(1);
|
|
475
641
|
}
|
|
476
642
|
const res = await client.patch(`/api/v1/board/tasks/${id}`, body);
|
|
@@ -631,22 +797,75 @@ export function registerTaskCommands(program) {
|
|
|
631
797
|
});
|
|
632
798
|
tasks
|
|
633
799
|
.command("search")
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
800
|
+
// ASP-25 / plan §G: the route now matches a card REF (OSB-78) and a PR
|
|
801
|
+
// number (1256 or #1256) as well as title and description, ranked by
|
|
802
|
+
// relevance then recency. Every filter below is a DECLARED query param on
|
|
803
|
+
// `GET /cards/search` (agentboard `relationships.py`) — the old `--board`
|
|
804
|
+
// sent `board_id` for months while FastAPI dropped it undeclared.
|
|
805
|
+
.description("Search cards across boards by ref (OSB-78), PR number (1256 or #1256), title, then description — best match first. Comments are not searched.")
|
|
806
|
+
.requiredOption("-q, --query <text>", "Search text: a card ref, a PR number, or words from the title/description")
|
|
807
|
+
.option("--board <boards>", "Scope to boards: a board UUID, or one or more board KEYS comma-separated (e.g. OSB,ASP — case-insensitive)")
|
|
808
|
+
.option("--board-type <type>", "Only boards of this type, e.g. factory")
|
|
809
|
+
.option("--status <statuses>", `Comma-separated task statuses: ${SEARCH_STATUSES.join(" | ")}`)
|
|
810
|
+
.option("--priority <priorities>", `Comma-separated priorities: ${SEARCH_PRIORITIES.join(" | ")}`)
|
|
811
|
+
.option("--assignee <ids>", "Comma-separated assignee ids — matches a user OR an agent assignment")
|
|
812
|
+
.option("--column <names>", "Comma-separated column NAMES, case-insensitive, matched across boards (e.g. Review,Done)")
|
|
637
813
|
.option("--limit <n>", "Max results (1-100, default 20)")
|
|
814
|
+
.option("--offset <n>", "Rows to skip, for paging (0-10000)")
|
|
638
815
|
.action(async (opts) => {
|
|
639
816
|
const wsSlug = program.opts().workspace;
|
|
640
817
|
const cfg = getEffectiveConfig(wsSlug);
|
|
641
818
|
try {
|
|
642
819
|
const client = createClient(wsSlug);
|
|
643
820
|
const params = { q: opts.query };
|
|
644
|
-
if (opts.board)
|
|
645
|
-
|
|
821
|
+
if (opts.board) {
|
|
822
|
+
// A UUID is one board by id; anything else is a key list. The route
|
|
823
|
+
// takes both, as different params — sending a key as board_id is a
|
|
824
|
+
// 422, and sending a UUID as board_key matches nothing.
|
|
825
|
+
const boards = csv(opts.board) ?? [];
|
|
826
|
+
if (boards.length === 1 && isUuid(boards[0]))
|
|
827
|
+
params.board_id = boards[0];
|
|
828
|
+
else if (boards.some(isUuid)) {
|
|
829
|
+
console.error("Error: --board takes ONE board UUID, or board KEYS (e.g. OSB,ASP) — not a mix.");
|
|
830
|
+
process.exit(1);
|
|
831
|
+
}
|
|
832
|
+
else if (boards.length)
|
|
833
|
+
params.board_key = boards.join(",");
|
|
834
|
+
}
|
|
835
|
+
if (opts.boardType)
|
|
836
|
+
params.board_type = opts.boardType;
|
|
837
|
+
const statuses = csv(opts.status);
|
|
838
|
+
if (statuses) {
|
|
839
|
+
// The route does not validate these — a typo is a silent zero-result
|
|
840
|
+
// search, indistinguishable from "no such card". Refuse it here.
|
|
841
|
+
for (const st of statuses)
|
|
842
|
+
oneOf("--status", st, SEARCH_STATUSES);
|
|
843
|
+
params.status = statuses.join(",");
|
|
844
|
+
}
|
|
845
|
+
const priorities = csv(opts.priority);
|
|
846
|
+
if (priorities) {
|
|
847
|
+
for (const pr of priorities)
|
|
848
|
+
oneOf("--priority", pr, SEARCH_PRIORITIES);
|
|
849
|
+
params.priority = priorities.join(",");
|
|
850
|
+
}
|
|
851
|
+
const assignees = csv(opts.assignee);
|
|
852
|
+
if (assignees)
|
|
853
|
+
params.assignee = assignees.join(",");
|
|
854
|
+
const columns = csv(opts.column);
|
|
855
|
+
if (columns)
|
|
856
|
+
params.column = columns.join(",");
|
|
646
857
|
// /cards/search reads `limit` directly (ge=1, le=100).
|
|
647
858
|
const limit = clampLimit(opts.limit, 100);
|
|
648
859
|
if (limit)
|
|
649
860
|
params.limit = limit;
|
|
861
|
+
if (opts.offset !== undefined) {
|
|
862
|
+
const off = String(opts.offset).trim();
|
|
863
|
+
if (!/^[0-9]+$/.test(off) || Number(off) > 10000) {
|
|
864
|
+
console.error(`Error: --offset must be an integer from 0 to 10000 (got '${opts.offset}')`);
|
|
865
|
+
process.exit(1);
|
|
866
|
+
}
|
|
867
|
+
params.offset = off;
|
|
868
|
+
}
|
|
650
869
|
const url = buildUrl("/api/v1/board/cards/search", params, cfg.format);
|
|
651
870
|
const res = await client.get(url);
|
|
652
871
|
await printResponse(res);
|
|
@@ -819,6 +1038,57 @@ export function registerTaskCommands(program) {
|
|
|
819
1038
|
process.exit(1);
|
|
820
1039
|
}
|
|
821
1040
|
});
|
|
1041
|
+
// ── Claim (ASP-85: `claimTask` had an MCP method and no CLI command) ──
|
|
1042
|
+
// Every claim in this help names the code that makes it true:
|
|
1043
|
+
// - moves + status: `ClaimService` moves the card to `on_claim_move_to`,
|
|
1044
|
+
// else the board's in_progress column, and stamps `claimed_at`;
|
|
1045
|
+
// - no lease: nothing in claim_service releases a claimed card;
|
|
1046
|
+
// - the actor class and box are derived from the CREDENTIAL at the gateway
|
|
1047
|
+
// (`_claim_gate_headers`), so there is deliberately no flag for either.
|
|
1048
|
+
tasks
|
|
1049
|
+
.command("claim <boardId>")
|
|
1050
|
+
.description("Take ONE runnable card from a board and start it: it moves to its stage's in-progress column at once, and " +
|
|
1051
|
+
"--agent-id is assigned to it. There is NO lease — nothing hands the card back if you stop, so move it back " +
|
|
1052
|
+
"yourself (`opvs tasks move`) if you will not work it. Prints task_id null when nothing is yours to take.")
|
|
1053
|
+
.option("--role <role>", "Worker role: claim only from columns whose claimable_by_roles lists it. Omit to claim from the board's declared " +
|
|
1054
|
+
"claimable columns (every column when none declares a role — Backlog included).")
|
|
1055
|
+
.option("--columns <list>", "Comma-separated source columns (slug, name or UUID); takes precedence over --role. One that names no column " +
|
|
1056
|
+
"fails the whole claim (reason unresolved_column_identifier).")
|
|
1057
|
+
.option("--agent-id <id>", "Worker identity (agent UUID or slug) recorded on the claim and assigned to the card.")
|
|
1058
|
+
.option("--json", "Print the raw response only, without the stderr explanation of a null claim.")
|
|
1059
|
+
.action(async (boardId, opts) => {
|
|
1060
|
+
const wsSlug = program.opts().workspace;
|
|
1061
|
+
try {
|
|
1062
|
+
const client = createClient(wsSlug);
|
|
1063
|
+
const body = {};
|
|
1064
|
+
if (opts.agentId)
|
|
1065
|
+
body.agent_id = opts.agentId;
|
|
1066
|
+
if (opts.role)
|
|
1067
|
+
body.role = opts.role;
|
|
1068
|
+
const columns = csv(opts.columns);
|
|
1069
|
+
if (opts.columns !== undefined && !columns) {
|
|
1070
|
+
console.error(`Error: --columns '${opts.columns}' names no column`);
|
|
1071
|
+
process.exit(1);
|
|
1072
|
+
}
|
|
1073
|
+
if (columns)
|
|
1074
|
+
body.columns = columns;
|
|
1075
|
+
const res = await client.post(`/api/v1/board/boards/${boardId}/tasks/claim`, body);
|
|
1076
|
+
const data = (await res.json());
|
|
1077
|
+
printJson(data);
|
|
1078
|
+
// A null WITH a reason is not an empty board: it is a misconfiguration
|
|
1079
|
+
// (a role or column that matches nothing, a factory board in no single
|
|
1080
|
+
// project) or a gate working (actor / box). Said on stderr so stdout
|
|
1081
|
+
// stays one JSON document.
|
|
1082
|
+
if (!opts.json && data && data.task_id == null && data.reason) {
|
|
1083
|
+
console.error(`No card claimed — reason: ${data.reason}.${data.detail ? ` ${data.detail}` : ""}`);
|
|
1084
|
+
}
|
|
1085
|
+
}
|
|
1086
|
+
catch (err) {
|
|
1087
|
+
const e = err;
|
|
1088
|
+
console.error(`Error: ${e.detail || "Failed to claim a task"}`);
|
|
1089
|
+
process.exit(1);
|
|
1090
|
+
}
|
|
1091
|
+
});
|
|
822
1092
|
// ── Why is this blocked? (OSB-198 item c) ──────────────────────
|
|
823
1093
|
// `deps` below already answered this ONE CARD AT A TIME. The gap was that
|
|
824
1094
|
// "show me the blocked cards and what each waits on" meant walking every
|