@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
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `set-routing` for boards and projects (ASP-25, plan §C / migration 062).
|
|
3
|
+
*
|
|
4
|
+
* The routing chain, highest wins:
|
|
5
|
+
*
|
|
6
|
+
* card pin > board default > project default > box default
|
|
7
|
+
*
|
|
8
|
+
* A board default is consulted only when the card is silent on that axis; a
|
|
9
|
+
* project default only when the card AND the board are silent, and only for a
|
|
10
|
+
* board claimed by exactly ONE active project — a board in two projects
|
|
11
|
+
* resolves no project default at all (`ClaimService`, and the `ambiguous`
|
|
12
|
+
* resolution `opvs boards projects` reports).
|
|
13
|
+
*
|
|
14
|
+
* One helper for both, because the two PATCH bodies are the same four keys and
|
|
15
|
+
* a copy is where the fourth one gets forgotten (the server says the same about
|
|
16
|
+
* its own validator).
|
|
17
|
+
*/
|
|
18
|
+
import { CLEAR } from "./options.js";
|
|
19
|
+
/**
|
|
20
|
+
* Build the PATCH body. Only flags given become keys — both routes are
|
|
21
|
+
* `exclude_unset`, so an omitted flag leaves that default alone, and `none`
|
|
22
|
+
* sends `""`, which `_blank_routing_default_clears` normalises to NULL.
|
|
23
|
+
*/
|
|
24
|
+
export function buildRoutingBody(opts) {
|
|
25
|
+
const body = {};
|
|
26
|
+
const put = (key, raw) => {
|
|
27
|
+
if (raw === undefined)
|
|
28
|
+
return;
|
|
29
|
+
body[key] = raw === CLEAR ? "" : raw;
|
|
30
|
+
};
|
|
31
|
+
put("default_model", opts.model);
|
|
32
|
+
put("default_provider", opts.provider);
|
|
33
|
+
put("default_harness", opts.harness);
|
|
34
|
+
put("default_claimable_by", opts.claimableBy);
|
|
35
|
+
return body;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Attach the four routing flags. `scope` is "board" or "project", and the help
|
|
39
|
+
* says which rung of the chain the value lands on.
|
|
40
|
+
*
|
|
41
|
+
* Values are server-side enums (`BuildProvider` / `BuildHarness` /
|
|
42
|
+
* `TaskActorClass`) and are quoted here as examples, not re-validated — a
|
|
43
|
+
* second copy of an enum is a second thing to drift, and a bad value is a 422
|
|
44
|
+
* that names the accepted set.
|
|
45
|
+
*/
|
|
46
|
+
export function withRoutingOptions(cmd, scope) {
|
|
47
|
+
const where = scope === "board"
|
|
48
|
+
? "for every card on this board that names none itself (card pin > BOARD > project > box)"
|
|
49
|
+
: "for every card on this project's boards when neither the card nor its board names one " +
|
|
50
|
+
"(card pin > board > PROJECT > box) — and to no board claimed by two active projects";
|
|
51
|
+
return cmd
|
|
52
|
+
.option("--model <model>", `Default model, e.g. claude-opus-5. Applies ${where}. Pass 'none' to clear.`)
|
|
53
|
+
.option("--provider <lane>", "Default credential LANE: anthropic-claude-code | openai-codex | gemini-cli (hyphens) — NOT the model vendor. " +
|
|
54
|
+
`Applies ${where}. Pass 'none' to clear.`)
|
|
55
|
+
.option("--harness <executor>", `Default executor: claude_code | openhands | codex (underscores). Applies ${where}. Pass 'none' to clear.`)
|
|
56
|
+
.option("--claimable-by <class>", `Default actor gate: worker | agent | human. Applies ${where}. GATES: cards become invisible to callers of any ` +
|
|
57
|
+
"other class — a claim returns task_id null exactly as an empty board does; only its actor_gated count tells " +
|
|
58
|
+
"them apart. Pass 'none' to clear.");
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/lib/routing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAWrC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAiB;IAChD,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,GAAuB,EAAE,EAAE;QACnD,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,CAAC,CAAC;IACF,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAM,EACN,KAA0B;IAE1B,MAAM,KAAK,GACT,KAAK,KAAK,OAAO;QACf,CAAC,CAAC,wFAAwF;QAC1F,CAAC,CAAC,wFAAwF;YACxF,qFAAqF,CAAC;IAC5F,OAAO,GAAG;SACP,MAAM,CACL,iBAAiB,EACjB,8CAA8C,KAAK,yBAAyB,CAC7E;SACA,MAAM,CACL,mBAAmB,EACnB,+GAA+G;QAC7G,WAAW,KAAK,yBAAyB,CAC5C;SACA,MAAM,CACL,sBAAsB,EACtB,4EAA4E,KAAK,yBAAyB,CAC3G;SACA,MAAM,CACL,wBAAwB,EACxB,uDAAuD,KAAK,oDAAoD;QAC9G,8GAA8G;QAC9G,mCAAmC,CACtC,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opvs-ai/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.1",
|
|
4
4
|
"description": "OPVS CLI \u2014 Terminal access to AgentBoard + AgentDocs for AI coding agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"test:watch": "vitest"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@opvs-ai/core": "^0.4.
|
|
17
|
+
"@opvs-ai/core": "^0.4.8",
|
|
18
18
|
"commander": "^12.1.0"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|