@opvs-ai/cli 0.15.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.
@@ -45,4 +45,41 @@ export function csv(raw) {
45
45
  .filter((s) => s.length > 0);
46
46
  return out.length ? out : undefined;
47
47
  }
48
+ /**
49
+ * The CLEAR verb for a nullable scalar flag — a shell cannot write JSON null,
50
+ * and an omitted flag has to keep meaning "leave it alone". One definition:
51
+ * `columns`, `routing` and `tasks` used to each spell it (ASP-119 F15).
52
+ */
53
+ export const CLEAR = "none";
54
+ /**
55
+ * Strict integer flag. `parseInt("12abc")` is 12 and `parseInt("ten")` is NaN,
56
+ * which `JSON.stringify` sends as `null` — on a PATCH that CLEARS the field with
57
+ * a 200 (ASP-119: `columns update --wip-limit ten` wiped the WIP limit). So a
58
+ * value that is not all digits, or is below `min`, exits before anything is sent.
59
+ *
60
+ * @returns the number, or `undefined` when the flag was not given.
61
+ */
62
+ export function intFlag(flag, raw, min) {
63
+ if (raw === undefined)
64
+ return undefined;
65
+ const s = String(raw).trim();
66
+ if (!/^[0-9]+$/.test(s) || Number(s) < min || !Number.isSafeInteger(Number(s))) {
67
+ const shape = min === 0 ? "a non-negative integer" : min === 1 ? "a positive integer" : `an integer >= ${min}`;
68
+ console.error(`Error: ${flag} must be ${shape} (got '${raw}')`);
69
+ process.exit(1);
70
+ }
71
+ return Number(s);
72
+ }
73
+ /** Strict `true` / `false` flag. `undefined` when not given; exits on anything else. */
74
+ export function boolFlag(flag, raw) {
75
+ if (raw === undefined)
76
+ return undefined;
77
+ const v = String(raw).trim().toLowerCase();
78
+ if (v === "true")
79
+ return true;
80
+ if (v === "false")
81
+ return false;
82
+ console.error(`Error: ${flag} must be true or false (got '${raw}')`);
83
+ process.exit(1);
84
+ }
48
85
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/lib/options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,KAAK,CACnB,IAAY,EACZ,GAAuB,EACvB,OAAqB;IAErB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,CAAE,OAA6B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,GAAG,CAAC,GAAuB;IACzC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,GAAG,GAAG,GAAG;SACZ,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/lib/options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,KAAK,CACnB,IAAY,EACZ,GAAuB,EACvB,OAAqB;IAErB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,CAAE,OAA6B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,GAAG,CAAC,GAAuB;IACzC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,GAAG,GAAG,GAAG;SACZ,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC;AAE5B;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,GAAuB,EAAE,GAAW;IACxE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC/G,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,YAAY,KAAK,UAAU,GAAG,IAAI,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,GAAuB;IAC5D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,gCAAgC,GAAG,IAAI,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -15,8 +15,7 @@
15
15
  * a copy is where the fourth one gets forgotten (the server says the same about
16
16
  * its own validator).
17
17
  */
18
- /** The CLEAR verb. The server reads a blank string as "no opinion" (062). */
19
- const CLEAR = "none";
18
+ import { CLEAR } from "./options.js";
20
19
  /**
21
20
  * Build the PATCH body. Only flags given become keys — both routes are
22
21
  * `exclude_unset`, so an omitted flag leaves that default alone, and `none`
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/lib/routing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,6EAA6E;AAC7E,MAAM,KAAK,GAAG,MAAM,CAAC;AASrB;;;;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"}
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.15.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.7",
17
+ "@opvs-ai/core": "^0.4.8",
18
18
  "commander": "^12.1.0"
19
19
  },
20
20
  "devDependencies": {