@momentiq/dark-factory-cli 1.0.0 → 1.1.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.
Files changed (85) hide show
  1. package/README.md +35 -38
  2. package/dist/adapters/codex-sdk.d.ts +66 -0
  3. package/dist/adapters/codex-sdk.d.ts.map +1 -1
  4. package/dist/adapters/codex-sdk.js +321 -4
  5. package/dist/adapters/codex-sdk.js.map +1 -1
  6. package/dist/adapters/critic-result-schema.d.ts +5 -0
  7. package/dist/adapters/critic-result-schema.d.ts.map +1 -1
  8. package/dist/adapters/critic-result-schema.js +10 -0
  9. package/dist/adapters/critic-result-schema.js.map +1 -1
  10. package/dist/adapters/cursor-cli.d.ts +19 -1
  11. package/dist/adapters/cursor-cli.d.ts.map +1 -1
  12. package/dist/adapters/cursor-cli.js +96 -14
  13. package/dist/adapters/cursor-cli.js.map +1 -1
  14. package/dist/branch-protection/spec-default.yaml +2 -2
  15. package/dist/cli.js +127 -81
  16. package/dist/cli.js.map +1 -1
  17. package/dist/commands/show.d.ts +11 -0
  18. package/dist/commands/show.d.ts.map +1 -0
  19. package/dist/commands/show.js +78 -0
  20. package/dist/commands/show.js.map +1 -0
  21. package/dist/commands/status.d.ts +6 -0
  22. package/dist/commands/status.d.ts.map +1 -0
  23. package/dist/commands/status.js +85 -0
  24. package/dist/commands/status.js.map +1 -0
  25. package/dist/compact/index.d.ts +2 -0
  26. package/dist/compact/index.d.ts.map +1 -0
  27. package/dist/compact/index.js +3 -0
  28. package/dist/compact/index.js.map +1 -0
  29. package/dist/compact/lockfile.d.ts +53 -0
  30. package/dist/compact/lockfile.d.ts.map +1 -0
  31. package/dist/compact/lockfile.js +626 -0
  32. package/dist/compact/lockfile.js.map +1 -0
  33. package/dist/cycle-doc-validator/validate_cycle_doc.py +39 -9
  34. package/dist/doctor.d.ts +34 -1
  35. package/dist/doctor.d.ts.map +1 -1
  36. package/dist/doctor.js +390 -1
  37. package/dist/doctor.js.map +1 -1
  38. package/dist/handoff/handoff-verb.d.ts.map +1 -1
  39. package/dist/handoff/handoff-verb.js +6 -3
  40. package/dist/handoff/handoff-verb.js.map +1 -1
  41. package/dist/handoff/ports.d.ts +8 -0
  42. package/dist/handoff/ports.d.ts.map +1 -1
  43. package/dist/handoff/real-clients.js +1 -1
  44. package/dist/handoff/real-clients.js.map +1 -1
  45. package/dist/index.d.ts +1 -0
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +4 -0
  48. package/dist/index.js.map +1 -1
  49. package/dist/lib/show-status-core.d.ts +63 -0
  50. package/dist/lib/show-status-core.d.ts.map +1 -0
  51. package/dist/lib/show-status-core.js +156 -0
  52. package/dist/lib/show-status-core.js.map +1 -0
  53. package/dist/mcp/prompts.d.ts.map +1 -1
  54. package/dist/mcp/prompts.js +113 -78
  55. package/dist/mcp/prompts.js.map +1 -1
  56. package/dist/mcp/resources.js +1 -1
  57. package/dist/mcp/resources.js.map +1 -1
  58. package/dist/mcp/tools/findings.d.ts +0 -22
  59. package/dist/mcp/tools/findings.d.ts.map +1 -1
  60. package/dist/mcp/tools/findings.js +5 -73
  61. package/dist/mcp/tools/findings.js.map +1 -1
  62. package/dist/mcp/tools/handoff.d.ts.map +1 -1
  63. package/dist/mcp/tools/handoff.js +10 -17
  64. package/dist/mcp/tools/handoff.js.map +1 -1
  65. package/dist/mcp/tools/review-bypass.d.ts.map +1 -1
  66. package/dist/mcp/tools/review-bypass.js +1 -1
  67. package/dist/mcp/tools/review-bypass.js.map +1 -1
  68. package/dist/policy/baseline.d.ts.map +1 -1
  69. package/dist/policy/baseline.js +11 -3
  70. package/dist/policy/baseline.js.map +1 -1
  71. package/dist/prompt.d.ts.map +1 -1
  72. package/dist/prompt.js +18 -3
  73. package/dist/prompt.js.map +1 -1
  74. package/dist/report.d.ts +24 -0
  75. package/dist/report.d.ts.map +1 -1
  76. package/dist/report.js +85 -0
  77. package/dist/report.js.map +1 -1
  78. package/dist/runner.d.ts +4 -0
  79. package/dist/runner.d.ts.map +1 -1
  80. package/dist/runner.js +127 -2
  81. package/dist/runner.js.map +1 -1
  82. package/dist/trusted-surface/rebind.d.ts.map +1 -1
  83. package/dist/trusted-surface/rebind.js +185 -1
  84. package/dist/trusted-surface/rebind.js.map +1 -1
  85. package/package.json +6 -2
@@ -0,0 +1,78 @@
1
+ // `df show` — render the per-commit review artifact.
2
+ //
3
+ // CLI mirror of the `df_show_run` MCP tool. Both surfaces read the
4
+ // same `.git/agent-reviews/<sha>.json` artifact via the shared
5
+ // `loadForCommit` loader; with `--json`, this prints the exact same
6
+ // `{ artifact: <ReviewArtifact> }` envelope the MCP tool returns as
7
+ // `structuredContent` (cycle 5 spec byte-equivalence requirement).
8
+ //
9
+ // Default output is human-readable; `--json` is the structured form.
10
+ import { loadForCommit, renderStatusText, showRunStructured, } from "../lib/show-status-core.js";
11
+ const HELP = [
12
+ "df show — render the per-commit review artifact (CLI mirror of df_show_run).",
13
+ "",
14
+ "Usage:",
15
+ " df show [--commit <ref>] [--json]",
16
+ "",
17
+ "Flags:",
18
+ " --commit <ref> Commit ref (anything `git rev-parse` accepts; default HEAD)",
19
+ " --json Print the structured artifact JSON instead of the text view.",
20
+ " Output shape is { artifact: <ReviewArtifact> } — byte-",
21
+ " equivalent with the df_show_run MCP tool's structuredContent.",
22
+ " --help, -h Show this message.",
23
+ "",
24
+ "Exit codes:",
25
+ " 0 success",
26
+ " 1 no artifact found / config load failed / git rev-parse failed",
27
+ " 2 usage error",
28
+ "",
29
+ ].join("\n");
30
+ function parseShowArgs(rest) {
31
+ let commit = "HEAD";
32
+ let json = false;
33
+ for (let i = 0; i < rest.length; i++) {
34
+ const a = rest[i] ?? "";
35
+ if (a === "--json") {
36
+ json = true;
37
+ continue;
38
+ }
39
+ if (a === "--commit") {
40
+ const next = rest[i + 1];
41
+ if (next === undefined || next.startsWith("--")) {
42
+ return { error: "--commit requires a value (e.g. --commit HEAD)." };
43
+ }
44
+ commit = next;
45
+ i++;
46
+ continue;
47
+ }
48
+ if (a.startsWith("--commit=")) {
49
+ commit = a.slice("--commit=".length);
50
+ continue;
51
+ }
52
+ return { error: `unknown flag or positional arg: ${a}` };
53
+ }
54
+ return { commit, json, cwd: process.cwd() };
55
+ }
56
+ export async function cmdShow(rest, io) {
57
+ if (rest.includes("--help") || rest.includes("-h")) {
58
+ io.stdout(HELP);
59
+ return 0;
60
+ }
61
+ const parsed = parseShowArgs(rest);
62
+ if ("error" in parsed) {
63
+ io.stderr(`df show: ${parsed.error}\nRun \`df show --help\` for usage.\n`);
64
+ return 2;
65
+ }
66
+ const outcome = await loadForCommit(parsed.cwd, parsed.commit);
67
+ if (!outcome.artifact) {
68
+ io.stderr(`df show: ${outcome.error ?? "no artifact"}\n`);
69
+ return 1;
70
+ }
71
+ if (parsed.json) {
72
+ io.stdout(`${JSON.stringify(showRunStructured(outcome.artifact), null, 2)}\n`);
73
+ return 0;
74
+ }
75
+ io.stdout(`${renderStatusText(outcome.artifact)}\n`);
76
+ return 0;
77
+ }
78
+ //# sourceMappingURL=show.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show.js","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface StatusIo {
2
+ stdout: (s: string) => void;
3
+ stderr: (s: string) => void;
4
+ }
5
+ export declare function cmdStatus(rest: string[], io: StatusIo): Promise<number>;
6
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAyDD,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAsB7E"}
@@ -0,0 +1,85 @@
1
+ // `df status` — terse verdict + per-critic line for a commit.
2
+ //
3
+ // Sibling of `df show`. Same shared backend (`loadForCommit`); narrower
4
+ // output:
5
+ // - `--json` returns the `df_findings` narrowed shape — `{ commit,
6
+ // critics: [{ id, status, verdict?, findings: [{ severity, file?,
7
+ // line?, rule, message }] }] }`. Byte-equivalent with the
8
+ // `df_findings.structuredContent` envelope the MCP tool returns
9
+ // (cycle 5 spec requirement; both routes call
10
+ // `mapArtifactForFindings()` on the SAME `LoadOutcome.artifact`).
11
+ // - non-JSON renders a terse text block (short commit + verdict + one
12
+ // line per critic) — distinct from `df show`'s rich block so the
13
+ // operator UX split between the two subcommands is real.
14
+ import { loadForCommit, mapArtifactForFindings, renderTerseStatusText, } from "../lib/show-status-core.js";
15
+ const HELP = [
16
+ "df status — terse verdict + per-critic status for a commit.",
17
+ "",
18
+ "Usage:",
19
+ " df status [--commit <ref>] [--json]",
20
+ "",
21
+ "Flags:",
22
+ " --commit <ref> Commit ref (default HEAD).",
23
+ " --json Print the df_findings narrowed JSON shape:",
24
+ " { commit, critics: [{ id, status, verdict?,",
25
+ " findings: [{ severity, file?, line?, rule,",
26
+ " message }] }] }. Byte-equivalent with the",
27
+ " df_findings MCP tool's structuredContent.",
28
+ " --help, -h Show this message.",
29
+ "",
30
+ "Exit codes:",
31
+ " 0 success",
32
+ " 1 no artifact found / config load failed / git rev-parse failed",
33
+ " 2 usage error",
34
+ "",
35
+ ].join("\n");
36
+ function parseStatusArgs(rest) {
37
+ let commit = "HEAD";
38
+ let json = false;
39
+ for (let i = 0; i < rest.length; i++) {
40
+ const a = rest[i] ?? "";
41
+ if (a === "--json") {
42
+ json = true;
43
+ continue;
44
+ }
45
+ if (a === "--commit") {
46
+ const next = rest[i + 1];
47
+ if (next === undefined || next.startsWith("--")) {
48
+ return { error: "--commit requires a value (e.g. --commit HEAD)." };
49
+ }
50
+ commit = next;
51
+ i++;
52
+ continue;
53
+ }
54
+ if (a.startsWith("--commit=")) {
55
+ commit = a.slice("--commit=".length);
56
+ continue;
57
+ }
58
+ return { error: `unknown flag or positional arg: ${a}` };
59
+ }
60
+ return { commit, json, cwd: process.cwd() };
61
+ }
62
+ export async function cmdStatus(rest, io) {
63
+ if (rest.includes("--help") || rest.includes("-h")) {
64
+ io.stdout(HELP);
65
+ return 0;
66
+ }
67
+ const parsed = parseStatusArgs(rest);
68
+ if ("error" in parsed) {
69
+ io.stderr(`df status: ${parsed.error}\nRun \`df status --help\` for usage.\n`);
70
+ return 2;
71
+ }
72
+ const outcome = await loadForCommit(parsed.cwd, parsed.commit);
73
+ if (!outcome.artifact) {
74
+ io.stderr(`df status: ${outcome.error ?? "no artifact"}\n`);
75
+ return 1;
76
+ }
77
+ if (parsed.json) {
78
+ const findings = mapArtifactForFindings(outcome.artifact);
79
+ io.stdout(`${JSON.stringify(findings, null, 2)}\n`);
80
+ return 0;
81
+ }
82
+ io.stdout(`${renderTerseStatusText(outcome.artifact)}\n`);
83
+ return 0;
84
+ }
85
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { identifyLockfileKind, extractFromUnifiedDiff, renderDiffStub, renderContentStub, effectiveMode, compactDiff, splitDiffByFile, DEFAULT_GENERATED_LOCKFILE_GLOBS, MAX_COMPACTED_DIFF_BYTES, MAX_COMPACTED_CONTENT_BYTES, type LockfileKind, type CompactedPackageDelta, type CompactedLockfileDelta, type CompactedContentInput, type CompactDiffOutput, } from "./lockfile.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compact/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,eAAe,EACf,gCAAgC,EAChC,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ // ADR 0001 — bounded lockfile strategy. Barrel for the compact module.
2
+ export { identifyLockfileKind, extractFromUnifiedDiff, renderDiffStub, renderContentStub, effectiveMode, compactDiff, splitDiffByFile, DEFAULT_GENERATED_LOCKFILE_GLOBS, MAX_COMPACTED_DIFF_BYTES, MAX_COMPACTED_CONTENT_BYTES, } from "./lockfile.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compact/index.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,eAAe,EACf,gCAAgC,EAChC,wBAAwB,EACxB,2BAA2B,GAM5B,MAAM,eAAe,CAAC"}
@@ -0,0 +1,53 @@
1
+ import type { GeneratedFilePolicy } from "@momentiq/dark-factory-schemas";
2
+ export declare const MAX_COMPACTED_DIFF_BYTES = 250000;
3
+ export declare const MAX_COMPACTED_CONTENT_BYTES = 50000;
4
+ export declare const DEFAULT_GENERATED_LOCKFILE_GLOBS: readonly string[];
5
+ export type LockfileKind = "npm" | "pnpm" | "yarn";
6
+ export interface CompactedPackageDelta {
7
+ kind: "add" | "remove" | "upgrade";
8
+ name: string;
9
+ version?: string;
10
+ oldVersion?: string;
11
+ newVersion?: string;
12
+ integrity?: string;
13
+ oldIntegrity?: string;
14
+ }
15
+ export interface CompactedLockfileDelta {
16
+ path: string;
17
+ lockfileKind: LockfileKind;
18
+ addedLines: number;
19
+ removedLines: number;
20
+ patchSha256: string;
21
+ packages: CompactedPackageDelta[];
22
+ parseError?: string;
23
+ notes?: string[];
24
+ }
25
+ export interface CompactedContentInput {
26
+ path: string;
27
+ lockfileKind: LockfileKind;
28
+ bytesBefore: number;
29
+ contentSha256: string;
30
+ packagesAfter: {
31
+ name: string;
32
+ version: string;
33
+ integrity?: string;
34
+ }[];
35
+ }
36
+ export interface CompactDiffOutput {
37
+ compactedDiff: string;
38
+ matchedFiles: Map<string, LockfileKind>;
39
+ parseErrorPaths: string[];
40
+ }
41
+ export declare function identifyLockfileKind(path: string): LockfileKind | undefined;
42
+ export declare function effectiveMode(path: string, policy: GeneratedFilePolicy): "full" | "compact" | "omit";
43
+ export declare function extractFromUnifiedDiff(perFileDiff: string, path: string): CompactedLockfileDelta;
44
+ export declare function renderDiffStub(delta: CompactedLockfileDelta): string;
45
+ export declare function renderContentStub(input: CompactedContentInput): string;
46
+ export declare function compactDiff(fullDiff: string, policy: GeneratedFilePolicy): CompactDiffOutput;
47
+ interface DiffSection {
48
+ path: string | null;
49
+ text: string;
50
+ }
51
+ export declare function splitDiffByFile(diff: string): DiffSection[];
52
+ export {};
53
+ //# sourceMappingURL=lockfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../src/compact/lockfile.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAe1E,eAAO,MAAM,wBAAwB,SAAU,CAAC;AAChD,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAOlD,eAAO,MAAM,gCAAgC,EAAE,SAAS,MAAM,EAK7D,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACxE;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAMD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAM3E;AAKD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,mBAAmB,GAC1B,MAAM,GAAG,SAAS,GAAG,MAAM,CAO7B;AAMD,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,sBAAsB,CAoDxB;AAkTD,wBAAgB,cAAc,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CA8BpE;AAgCD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAqCtE;AASD,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,mBAAmB,GAC1B,iBAAiB,CAsEnB;AAWD,UAAU,WAAW;IAEnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAKD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAyB3D"}