@deftai/directive 0.61.1 → 0.62.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.
@@ -10,7 +10,7 @@ export interface DispatchIo {
10
10
  writeErr: (text: string) => void;
11
11
  }
12
12
  /** CLI modules in packages/cli/src (excluding parity harnesses and bin/index). */
13
- export declare const CLI_MODULE_VERBS: readonly ["agents-refresh", "cache", "check", "capacity-backfill", "capacity-show", "codebase-default-extractor", "codebase-map", "codebase-map-fresh", "codebase-projection-registry", "codebase-provider", "doctor", "install-upgrade", "install-uninstall", "migrate-preflight", "changelog-check", "change-init", "commit-lint", "parity", "policy", "pr-closing-keywords", "pr-merge-readiness", "pr-monitor", "pr-protected-issues", "pr-wait-mergeable", "preflight-cache", "preflight-gh", "probe-session", "release", "release-e2e", "release-publish", "release-rollback", "scope-lifecycle", "session-start", "slice", "subagent-monitor", "toolchain-check", "triage-actions", "triage-bootstrap", "triage-bulk", "triage-classify", "triage-help", "triage-queue", "triage-reconcile", "triage-refresh", "triage-scope", "triage-scope-drift", "triage-smoketest", "triage-subscribe", "triage-summary", "triage-welcome", "ts-check-lane", "vbrief-activate", "vbrief-build", "vbrief-preflight", "vbrief-reconcile", "vbrief-validate", "vbrief-validation", "verify-branch", "verify-encoding", "verify-hooks-installed", "verify-investigation", "verify-judgment-gates", "verify-no-task-runtime", "validate-links", "validate-strategy-output", "verify-bridge-drift", "verify-capacity", "verify-content-manifest", "verify-go-freeze", "verify-scm-boundary", "verify-session-ritual", "verify-stubs", "rule-ownership-lint", "verify-story-ready", "verify-tools", "verify-wip-cap"];
13
+ export declare const CLI_MODULE_VERBS: readonly ["agents-refresh", "cache", "check", "capacity-backfill", "capacity-show", "codebase-default-extractor", "codebase-map", "codebase-map-fresh", "codebase-projection-registry", "codebase-provider", "doctor", "install-upgrade", "install-uninstall", "migrate-preflight", "framework-check-updates", "umbrella-current-shape", "changelog-check", "change-init", "commit-lint", "parity", "policy", "pr-closing-keywords", "pr-merge-readiness", "pr-monitor", "pr-protected-issues", "pr-wait-mergeable", "preflight-cache", "preflight-gh", "probe-session", "release", "release-e2e", "release-publish", "release-rollback", "scope-lifecycle", "session-start", "slice", "subagent-monitor", "toolchain-check", "triage-actions", "triage-bootstrap", "triage-bulk", "triage-classify", "triage-help", "triage-queue", "triage-reconcile", "triage-refresh", "triage-scope", "triage-scope-drift", "triage-smoketest", "triage-subscribe", "triage-summary", "triage-welcome", "ts-check-lane", "vbrief-activate", "vbrief-build", "vbrief-preflight", "vbrief-reconcile", "vbrief-validate", "vbrief-validation", "verify-branch", "verify-encoding", "verify-hooks-installed", "verify-investigation", "verify-judgment-gates", "verify-no-task-runtime", "validate-links", "validate-strategy-output", "verify-bridge-drift", "verify-capacity", "verify-content-manifest", "verify-go-freeze", "verify-scm-boundary", "verify-session-ritual", "verify-stubs", "rule-ownership-lint", "verify-story-ready", "verify-tools", "verify-wip-cap"];
14
14
  /** Core-only CLI entrypoints without a packages/cli wrapper. */
15
15
  export declare const CORE_MODULE_VERBS: readonly ["scm", "github-auth-modes", "github-body", "issue-emit", "issue-ingest", "reconcile-issues", "swarm-launch", "swarm-complete-cohort", "swarm-readiness", "swarm-routing-verify", "swarm-routing-set", "swarm-verify-review-clean", "swarm-worktrees", "framework-commands", "pack-render", "packs-slice", "prd-render", "export-spec", "project-render", "roadmap-render", "spec-render", "spec-validate", "code-structure-validate", "pack-migrate-skills", "pack-migrate-rules", "pack-migrate-strategies", "pack-migrate-patterns", "pack-migrate-swarm-spec", "policy-set", "setup-ghx", "scope-undo", "scope-demote", "scope-decompose", "changelog-resolve-unreleased", "architecture-preflight-sor"];
16
16
  /** Task-style aliases (framework_commands / Taskfile names). */
package/dist/dispatch.js CHANGED
@@ -37,6 +37,8 @@ export const CLI_MODULE_VERBS = [
37
37
  "install-upgrade",
38
38
  "install-uninstall",
39
39
  "migrate-preflight",
40
+ "framework-check-updates",
41
+ "umbrella-current-shape",
40
42
  "changelog-check",
41
43
  "change-init",
42
44
  "commit-lint",
@@ -177,6 +179,8 @@ export const VERB_ALIASES = {
177
179
  "triage:status": "triage-actions",
178
180
  "agents:refresh": "agents-refresh",
179
181
  "migrate:preflight": "migrate-preflight",
182
+ "framework:check-updates": "framework-check-updates",
183
+ "umbrella:current-shape": "umbrella-current-shape",
180
184
  upgrade: "install-upgrade",
181
185
  "session:start": "session-start",
182
186
  "toolchain:check": "toolchain-check",
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ export interface ParsedCheckUpdatesArgs {
3
+ projectRoot: string;
4
+ deftRoot: string;
5
+ passthrough: string[];
6
+ error?: string;
7
+ }
8
+ export declare function parseArgs(argv: readonly string[]): ParsedCheckUpdatesArgs;
9
+ export declare function run(argv: readonly string[]): number;
10
+ //# sourceMappingURL=framework-check-updates.d.ts.map
@@ -0,0 +1,68 @@
1
+ #!/usr/bin/env node
2
+ import { resolve } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { runCheckUpdates } from "@deftai/directive-core/check-updates";
5
+ export function parseArgs(argv) {
6
+ let projectRoot = process.cwd();
7
+ let deftRoot = resolve(import.meta.dirname, "..", "..", "..");
8
+ const passthrough = [];
9
+ for (let i = 0; i < argv.length; i += 1) {
10
+ const arg = argv[i] ?? "";
11
+ if (arg === "--project-root") {
12
+ const value = argv[i + 1];
13
+ if (value === undefined) {
14
+ return {
15
+ projectRoot,
16
+ deftRoot,
17
+ passthrough,
18
+ error: "argument --project-root: expected one argument",
19
+ };
20
+ }
21
+ projectRoot = value;
22
+ i += 1;
23
+ }
24
+ else if (arg.startsWith("--project-root=")) {
25
+ projectRoot = arg.slice("--project-root=".length);
26
+ }
27
+ else if (arg === "--deft-root") {
28
+ const value = argv[i + 1];
29
+ if (value === undefined) {
30
+ return {
31
+ projectRoot,
32
+ deftRoot,
33
+ passthrough,
34
+ error: "argument --deft-root: expected one argument",
35
+ };
36
+ }
37
+ deftRoot = value;
38
+ i += 1;
39
+ }
40
+ else if (arg.startsWith("--deft-root=")) {
41
+ deftRoot = arg.slice("--deft-root=".length);
42
+ }
43
+ else {
44
+ passthrough.push(arg);
45
+ }
46
+ }
47
+ if (process.env.DEFT_ROOT &&
48
+ process.env.DEFT_ROOT.length > 0 &&
49
+ !argv.some((a) => a.startsWith("--deft-root"))) {
50
+ deftRoot = process.env.DEFT_ROOT;
51
+ }
52
+ return { projectRoot, deftRoot, passthrough };
53
+ }
54
+ export function run(argv) {
55
+ const args = parseArgs(argv);
56
+ if (args.error !== undefined) {
57
+ process.stderr.write(`framework:check-updates: ${args.error}\n`);
58
+ return 2;
59
+ }
60
+ return runCheckUpdates(args.passthrough, {
61
+ projectRoot: args.projectRoot,
62
+ frameworkRoot: args.deftRoot,
63
+ });
64
+ }
65
+ if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
66
+ process.exit(run(process.argv.slice(2)));
67
+ }
68
+ //# sourceMappingURL=framework-check-updates.js.map
@@ -38,8 +38,9 @@ export const INSTALL_CLI_TAIL_COVERAGE_MAP = [
38
38
  },
39
39
  {
40
40
  pythonTest: "tests/cli/test_cmd_check_updates.py",
41
- classification: "retire-at-Wave-9",
42
- rationale: "Python run cmd_check_updates remote version probe — no TS port; retires with legacy run module.",
41
+ classification: "retarget",
42
+ rationale: "Python run cmd_check_updates remote version probe — retargeted to deft-ts framework-check-updates on consumer task path (#2069).",
43
+ vitestSpec: "packages/core/src/check-updates/index.test.ts, packages/cli/src/framework-check-updates-task-surface.test.ts",
43
44
  },
44
45
  {
45
46
  pythonTest: "tests/cli/test_cmd_doctor.py",
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ export interface ParsedUmbrellaCurrentShapeArgs {
3
+ projectRoot: string;
4
+ passthrough: string[];
5
+ error?: string;
6
+ }
7
+ export declare function parseArgs(argv: readonly string[]): ParsedUmbrellaCurrentShapeArgs;
8
+ export declare function run(argv: readonly string[]): number;
9
+ //# sourceMappingURL=umbrella-current-shape.d.ts.map
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env node
2
+ import { fileURLToPath } from "node:url";
3
+ import { parseCurrentShapeArgv, runCurrentShape, } from "@deftai/directive-core/umbrella-current-shape";
4
+ export function parseArgs(argv) {
5
+ let projectRoot = process.cwd();
6
+ const passthrough = [];
7
+ for (let i = 0; i < argv.length; i += 1) {
8
+ const arg = argv[i] ?? "";
9
+ if (arg === "--project-root") {
10
+ const value = argv[i + 1];
11
+ if (value === undefined) {
12
+ return {
13
+ projectRoot,
14
+ passthrough,
15
+ error: "argument --project-root: expected one argument",
16
+ };
17
+ }
18
+ projectRoot = value;
19
+ i += 1;
20
+ }
21
+ else if (arg.startsWith("--project-root=")) {
22
+ projectRoot = arg.slice("--project-root=".length);
23
+ }
24
+ else {
25
+ passthrough.push(arg);
26
+ }
27
+ }
28
+ return { projectRoot, passthrough };
29
+ }
30
+ export function run(argv) {
31
+ const args = parseArgs(argv);
32
+ if (args.error !== undefined) {
33
+ process.stderr.write(`umbrella:current-shape: ${args.error}\n`);
34
+ return 2;
35
+ }
36
+ const parsed = parseCurrentShapeArgv(args.passthrough);
37
+ if (parsed.passthroughError !== undefined) {
38
+ process.stderr.write(`umbrella:current-shape: ${parsed.passthroughError}\n`);
39
+ return 2;
40
+ }
41
+ if (parsed.issueNumber === null) {
42
+ process.stderr.write("umbrella:current-shape: issue number required\n");
43
+ return 2;
44
+ }
45
+ return runCurrentShape({
46
+ issueNumber: parsed.issueNumber,
47
+ projectRoot: args.projectRoot,
48
+ repo: parsed.repo,
49
+ jsonMode: parsed.jsonMode,
50
+ strict: parsed.strict,
51
+ });
52
+ }
53
+ if (process.argv[1] !== undefined && fileURLToPath(import.meta.url) === process.argv[1]) {
54
+ process.exit(run(process.argv.slice(2)));
55
+ }
56
+ //# sourceMappingURL=umbrella-current-shape.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deftai/directive",
3
- "version": "0.61.1",
3
+ "version": "0.62.0",
4
4
  "description": "Directive CLI — npm install path for the Deft Directive framework.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -42,8 +42,8 @@
42
42
  "provenance": true
43
43
  },
44
44
  "dependencies": {
45
- "@deftai/directive-core": "^0.61.1",
46
- "@deftai/directive-content": "^0.61.1"
45
+ "@deftai/directive-core": "^0.62.0",
46
+ "@deftai/directive-content": "^0.62.0"
47
47
  },
48
48
  "scripts": {
49
49
  "build": "tsc -b"