gennady 0.8.4-draft.2 → 0.8.4-draft.3
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/ai/directives/sdd-v2/root.directive.xml +36 -3
- package/ai/directives/sdd-v2/router.directive.xml +22 -1
- package/ai/kit/templates/sdd-v2/root.directive.hbs +11 -3
- package/ai/kit/templates/sdd-v2/router.directive.hbs +22 -1
- package/ai/skills/agent-inbox/SKILL.md +1 -1
- package/ai/skills/sdd/SKILL.md +5 -3
- package/ai/skills/sdd-audit/SKILL.md +5 -2
- package/ai/skills/sdd-check/SKILL.md +2 -2
- package/ai/skills/sdd-code-review/SKILL.md +4 -1
- package/ai/skills/sdd-critic/SKILL.md +5 -2
- package/ai/skills/sdd-execute/SKILL.md +5 -2
- package/ai/skills/sdd-reconcile/SKILL.md +5 -2
- package/ai/skills/sdd-scaffold/SKILL.md +5 -2
- package/dist/ai/directives/sdd-v2/root.directive.xml +36 -3
- package/dist/ai/directives/sdd-v2/router.directive.xml +22 -1
- package/dist/ai/kit/templates/sdd-v2/root.directive.hbs +11 -3
- package/dist/ai/kit/templates/sdd-v2/router.directive.hbs +22 -1
- package/dist/ai/skills/agent-inbox/SKILL.md +1 -1
- package/dist/ai/skills/sdd/SKILL.md +5 -3
- package/dist/ai/skills/sdd-audit/SKILL.md +5 -2
- package/dist/ai/skills/sdd-check/SKILL.md +2 -2
- package/dist/ai/skills/sdd-code-review/SKILL.md +4 -1
- package/dist/ai/skills/sdd-critic/SKILL.md +5 -2
- package/dist/ai/skills/sdd-execute/SKILL.md +5 -2
- package/dist/ai/skills/sdd-reconcile/SKILL.md +5 -2
- package/dist/ai/skills/sdd-scaffold/SKILL.md +5 -2
- package/dist/chunks/{classify-mr-stage.logic-BiCHTmPp.js → classify-mr-stage.logic-CazmQDwZ.js} +2 -2
- package/dist/chunks/{config-index-9VHWSDQD.js → config-index-DU8-FEjq.js} +1 -1
- package/dist/chunks/{devtools-b0DwO1x_.js → devtools-1JmXJjUG.js} +1 -1
- package/dist/chunks/{eval.cmd-CwNPaNJd.js → eval.cmd-CBANnOFG.js} +1 -1
- package/dist/chunks/{help-D5cXtdMI.js → help-DVloaFF5.js} +1 -1
- package/dist/chunks/{index-BVnJEutp.js → index-2xhpqJtd.js} +2 -2
- package/dist/chunks/{index-RR5OUxje.js → index-AxsLBUAx.js} +14 -14
- package/dist/chunks/{index-CUkeTGqM.js → index-B7sydB0W.js} +2 -2
- package/dist/chunks/{index-CMCn9ErF.js → index-BKxk4zOz.js} +2 -2
- package/dist/chunks/{index-Db13NlHh.js → index-BNMmX_Mv.js} +21 -21
- package/dist/chunks/{index-CmQO-RmM.js → index-BPzldG3a.js} +2 -2
- package/dist/chunks/{index-BOQl7F_Z.js → index-BQlFDvKW.js} +2 -2
- package/dist/chunks/{index-RzkvIfJQ.js → index-Baq7RL1L.js} +3 -3
- package/dist/chunks/index-BbPiwvY9.js +2 -0
- package/dist/chunks/{index-ClJLPEUB.js → index-BreGNLJ_.js} +1 -1
- package/dist/chunks/{index-DjSafAkN.js → index-BslPwGtM.js} +2 -2
- package/dist/chunks/{index-DiMFxS0z.js → index-BtCUN2fZ.js} +16 -16
- package/dist/chunks/{index-CS0VbiLD.js → index-C10-EOdB.js} +1 -1
- package/dist/chunks/{index-2BOEcJIa.js → index-C4JmZLaj.js} +2 -2
- package/dist/chunks/index-CA-JKLr4.js +2 -0
- package/dist/chunks/{index-43GiH--T.js → index-CG_jJZVu.js} +2 -2
- package/dist/chunks/{index-BdkFKsMm.js → index-CGyP2uDE.js} +3 -3
- package/dist/chunks/{index-BOKv0b01.js → index-CPl1s9XJ.js} +2 -2
- package/dist/chunks/{index-DIPrBH-4.js → index-CSxE4cEm.js} +9 -9
- package/dist/chunks/{index-Cm7U1-fU.js → index-CWR5EzXx.js} +2 -2
- package/dist/chunks/{index-BwN5llCR.js → index-Camql5kL.js} +2 -2
- package/dist/chunks/{index-Drh-J9O7.js → index-CdUiTipO.js} +7 -7
- package/dist/chunks/{index-Cn029KTN.js → index-Crg61pK5.js} +2 -2
- package/dist/chunks/{index-Dja2O-hV.js → index-Cv9ZYXso.js} +1 -1
- package/dist/chunks/{index-Ck8v_Gv7.js → index-D7ADMlG3.js} +1 -1
- package/dist/chunks/index-DNl2gC8l.js +158 -0
- package/dist/chunks/{index-BYIzl-Ut.js → index-DVJA0qVm.js} +36 -36
- package/dist/chunks/{index-BAEIZVx0.js → index-DcFJhkY1.js} +2 -2
- package/dist/chunks/{index-Dx5_CB2E.js → index-DdEd-L3x.js} +2 -2
- package/dist/chunks/{index-DVmqMmgb.js → index-DkGA1eW_.js} +32 -32
- package/dist/chunks/{index-3k7mPX1e.js → index-Dnwxlti3.js} +1 -1
- package/dist/chunks/{index-CrizvxOJ.js → index-DqdEJDi2.js} +2 -2
- package/dist/chunks/{index-BIPebtDl.js → index-DqiwmBt4.js} +1 -1
- package/dist/chunks/{index-DS4MhAw-.js → index-PfuqBWjY.js} +2 -2
- package/dist/chunks/{index-BmFT1Kx2.js → index-SVP6RfVl.js} +2 -2
- package/dist/chunks/{index-CDxV4b81.js → index-Y8wu48Q0.js} +1 -1
- package/dist/chunks/index-_ewSKppm.js +2 -0
- package/dist/chunks/{index-Ctcr_Qeu.js → index-aBVtCLIJ.js} +2 -2
- package/dist/chunks/index-dNdz9j6d.js +2 -0
- package/dist/chunks/{index-BFUkVkSo.js → index-gskOpu3H.js} +16 -16
- package/dist/chunks/{index-CXpkT25O.js → index-pBSLMn5Q.js} +3 -3
- package/dist/chunks/index-sqPhX5Io.js +2 -0
- package/dist/chunks/{index-BzmR4Es2.js → index-vfrjhUD1.js} +39 -39
- package/dist/chunks/{index-J2NvjjDV.js → index-xGF5XC_i.js} +2 -2
- package/dist/chunks/{run-review-command.logic-CA2Rjymb.js → run-review-command.logic-B9GoCxh-.js} +24 -24
- package/dist/chunks/{serve.cmd-RxYS6WoN.js → serve.cmd-UXkaeaPI.js} +2 -2
- package/dist/chunks/{services-Csd556Tv.js → services-BYCeGBlO.js} +4 -4
- package/dist/chunks/{shared-B5CTGvpG.js → shared-B3cXL2Np.js} +1178 -1117
- package/dist/chunks/{stats-index-BLztvK69.js → stats-index-AIAnnp9S.js} +2 -2
- package/dist/gennady.js +46 -46
- package/dist/index.js +4 -4
- package/dist/shared/sdd/ladder.d.ts +42 -0
- package/dist/shared/sdd/module-specs.d.ts +7 -0
- package/dist/shared/sdd/tracker.d.ts +9 -0
- package/package.json +1 -1
- package/dist/chunks/classify-mr-stage.logic-ClmhzQPQ.js +0 -53
- package/dist/chunks/config-index-RFeqlDWs.js +0 -104
- package/dist/chunks/devtools-p8tmPuLn.js +0 -79
- package/dist/chunks/eval.cmd-ewU5lcUY.js +0 -34
- package/dist/chunks/help-DzGnMNi2.js +0 -7
- package/dist/chunks/index--AXFi0ty.js +0 -89
- package/dist/chunks/index-64TSesTc.js +0 -186
- package/dist/chunks/index-9Gv5trS_.js +0 -125
- package/dist/chunks/index-B1DQIryA.js +0 -2
- package/dist/chunks/index-B1PiBeQ3.js +0 -2
- package/dist/chunks/index-B4rzuhkt.js +0 -183
- package/dist/chunks/index-B97HJjkg.js +0 -159
- package/dist/chunks/index-BF6qypm0.js +0 -131
- package/dist/chunks/index-BK84ZQsh.js +0 -128
- package/dist/chunks/index-BRVIirjj.js +0 -141
- package/dist/chunks/index-BXnryCGW.js +0 -96
- package/dist/chunks/index-BaZm7Otb.js +0 -2
- package/dist/chunks/index-Bhk746A2.js +0 -129
- package/dist/chunks/index-Bi-eY_dY.js +0 -164
- package/dist/chunks/index-BjumU69g.js +0 -2
- package/dist/chunks/index-BkWXcpXU.js +0 -16979
- package/dist/chunks/index-BlY4jQIA.js +0 -168
- package/dist/chunks/index-C0iy7GxD.js +0 -140
- package/dist/chunks/index-CCBTXczb.js +0 -56
- package/dist/chunks/index-CDAfkSrr.js +0 -2
- package/dist/chunks/index-CDHymWzC.js +0 -102
- package/dist/chunks/index-CNfXJAao.js +0 -2
- package/dist/chunks/index-CQsae1nq.js +0 -207
- package/dist/chunks/index-CVmd0prf.js +0 -2
- package/dist/chunks/index-CZuTNeNm.js +0 -2
- package/dist/chunks/index-CasNhhrL.js +0 -96
- package/dist/chunks/index-Ce7GWENF.js +0 -377
- package/dist/chunks/index-Cf-02TAg.js +0 -265
- package/dist/chunks/index-CfjQWSrh.js +0 -52
- package/dist/chunks/index-Chr7gBBz.js +0 -443
- package/dist/chunks/index-Ci875Zlg.js +0 -346
- package/dist/chunks/index-CwA6RzIB.js +0 -3793
- package/dist/chunks/index-D1dI63ej.js +0 -46
- package/dist/chunks/index-DCS32A2i.js +0 -663
- package/dist/chunks/index-DOFoNxvb.js +0 -131
- package/dist/chunks/index-DVkCEuws.js +0 -136
- package/dist/chunks/index-DkadaaXq.js +0 -658
- package/dist/chunks/index-Dn11CLtk.js +0 -7
- package/dist/chunks/index-Do3spFJT.js +0 -340
- package/dist/chunks/index-DrFRZ0Yg.js +0 -2
- package/dist/chunks/index-DvEQhXi2.js +0 -1054
- package/dist/chunks/index-GiS0x6jg.js +0 -90
- package/dist/chunks/index-NacvqeQ5.js +0 -69
- package/dist/chunks/index-RNJhFzdr.js +0 -227
- package/dist/chunks/index-R_vUB6CL.js +0 -2
- package/dist/chunks/index-TQft1s5H.js +0 -20
- package/dist/chunks/index-ZmQRP38W.js +0 -26969
- package/dist/chunks/index-jdOZ4AkD.js +0 -143
- package/dist/chunks/index-kNa21kUI.js +0 -279
- package/dist/chunks/index-v4AV9kAc.js +0 -108
- package/dist/chunks/run-review-command.logic-CU1Slmc_.js +0 -331
- package/dist/chunks/serve.cmd-dWu_k_G_.js +0 -162
- package/dist/chunks/services-CwvXl2MB.js +0 -46832
- package/dist/chunks/shared-DSZTUx5b.js +0 -4509
- package/dist/chunks/stats-index-H6ALcjxy.js +0 -66
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { execSync as je } from "node:child_process";
|
|
2
2
|
import { existsSync as S, readFileSync as I, lstatSync as ne, readdirSync as A } from "node:fs";
|
|
3
3
|
import { resolve as me, join as m, basename as V, relative as Z, extname as M } from "node:path";
|
|
4
|
-
import { p as xe } from "./shared-
|
|
4
|
+
import { p as xe } from "./shared-B3cXL2Np.js";
|
|
5
5
|
function He(e) {
|
|
6
6
|
let t = 0, n = 0;
|
|
7
7
|
for (const o of e)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { fileURLToPath as g } from "node:url";
|
|
2
|
-
import { l as i, n as h, ab as b } from "./services-
|
|
2
|
+
import { l as i, n as h, ab as b } from "./services-BYCeGBlO.js";
|
|
3
3
|
function l(t, r) {
|
|
4
4
|
const s = t.find((o) => o.startsWith(`${r}=`));
|
|
5
5
|
if (s) return s.slice(r.length + 1);
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { statSync as R, readFileSync as d } from "node:fs";
|
|
2
|
+
import { resolve as k, join as r } from "node:path";
|
|
3
|
+
import { l as C } from "./services-BYCeGBlO.js";
|
|
4
|
+
import { p as O, e as j, h as T, i as I, j as N, k as v, l as w, m as x } from "./shared-B3cXL2Np.js";
|
|
5
|
+
const y = "ERR_CLI_SDD_STATE_BAD_INVOCATION", b = "ERR_CLI_SDD_STATE_BAD_ROOT";
|
|
6
|
+
function F(e) {
|
|
7
|
+
const t = [
|
|
8
|
+
"# sdd-state v1",
|
|
9
|
+
`ROOT=${e.root}`,
|
|
10
|
+
`FLOW_VERSION=${e.flowVersion}`,
|
|
11
|
+
`PORTAL=${e.portalPresent ? "present" : "absent"} ${e.portalPath}`,
|
|
12
|
+
"",
|
|
13
|
+
"[READINESS]",
|
|
14
|
+
`package.json ${e.readiness.packageJsonPresent ? "✔" : "✘"}`,
|
|
15
|
+
"# required-script declared"
|
|
16
|
+
];
|
|
17
|
+
for (const o of e.readiness.required) t.push(`${o.name} ${o.present ? "✔" : "✘"}`);
|
|
18
|
+
if (t.push(`lint→gennady ${e.readiness.lintHasGennady ? "✔" : "✘"}`), t.push(`gennady-installed ${e.readiness.gennadyAvailable ? "✔" : "✘"}`), t.push(
|
|
19
|
+
e.readiness.ready ? "READINESS=ready" : `READINESS=not-ready (missing: ${e.readiness.missing.join(", ")})`
|
|
20
|
+
), t.push("", "[SCOPES]", "# name type status description spec"), !e.portalPresent)
|
|
21
|
+
t.push("# (portal absent — route to project-setup / root flow)");
|
|
22
|
+
else if (e.scopes.length === 0)
|
|
23
|
+
t.push("# (portal present, no scopes listed yet)");
|
|
24
|
+
else
|
|
25
|
+
for (const o of e.scopes)
|
|
26
|
+
t.push(
|
|
27
|
+
`${o.name} ${o.type} ${o.status} ${o.description || "—"} ${o.specPath ?? "-"}`
|
|
28
|
+
);
|
|
29
|
+
return t.push("", "[SESSION]", "# specs/.sdd-session.md"), t.push(e.sessionContent ? e.sessionContent : "# (no active session)"), e.probe && (t.push("", "[PROBE]"), t.push(
|
|
30
|
+
`CODE=${e.probe.codePresent ? "present" : "absent"} ${e.probe.codeFileCount} file(s)`
|
|
31
|
+
), e.probe.codeDirs.length > 0 && t.push(`code-dirs ${e.probe.codeDirs.join(", ")}`), t.push(`INFRA=${e.probe.infraPresent ? "present" : "absent"}`), e.probe.configFiles.length > 0 && t.push(`configs ${e.probe.configFiles.join(", ")}`)), t.push(
|
|
32
|
+
"",
|
|
33
|
+
"[SUMMARY]",
|
|
34
|
+
`flow=${e.flowVersion}`,
|
|
35
|
+
`portal=${e.portalPresent ? "present" : "absent"}`,
|
|
36
|
+
`readiness=${e.readiness.ready ? "ready" : "not-ready"}`,
|
|
37
|
+
`scopes=${e.scopes.length}`,
|
|
38
|
+
`session=${e.sessionContent ? "present" : "absent"}`
|
|
39
|
+
), e.probe && t.push(
|
|
40
|
+
`code=${e.probe.codePresent ? "present" : "absent"}`,
|
|
41
|
+
`infra=${e.probe.infraPresent ? "present" : "absent"}`
|
|
42
|
+
), t.join(`
|
|
43
|
+
`);
|
|
44
|
+
}
|
|
45
|
+
function L(e) {
|
|
46
|
+
return {
|
|
47
|
+
ok: !1,
|
|
48
|
+
code: y,
|
|
49
|
+
exitCode: 4,
|
|
50
|
+
message: [
|
|
51
|
+
`[sdd-state] ${y}`,
|
|
52
|
+
" expected: gennady sdd-state [project-root] (zero or one positional argument)",
|
|
53
|
+
` got: ${e || "(extra arguments)"}`
|
|
54
|
+
].join(`
|
|
55
|
+
`)
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function S(e) {
|
|
59
|
+
return {
|
|
60
|
+
ok: !1,
|
|
61
|
+
code: b,
|
|
62
|
+
exitCode: 2,
|
|
63
|
+
message: [
|
|
64
|
+
`[sdd-state] ${b}: ${e}`,
|
|
65
|
+
" Pass an existing project root, or run with no argument from inside the project."
|
|
66
|
+
].join(`
|
|
67
|
+
`)
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function V(e) {
|
|
71
|
+
return e.match(/^#\s+(.+)$/m)?.[1]?.trim() || null;
|
|
72
|
+
}
|
|
73
|
+
function B(e) {
|
|
74
|
+
try {
|
|
75
|
+
return R(r(e, "node_modules", ".bin", "gennady")), !0;
|
|
76
|
+
} catch {
|
|
77
|
+
return !1;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
async function M(e) {
|
|
81
|
+
const t = O(e, { probe: ["probe"] }), o = t._.filter(
|
|
82
|
+
(s) => typeof s == "string" && s !== "sdd-state"
|
|
83
|
+
);
|
|
84
|
+
if (o.length > 1) return L(o.join(" "));
|
|
85
|
+
const n = k(o[0] ?? ".");
|
|
86
|
+
try {
|
|
87
|
+
if (!R(n).isDirectory()) return S(n);
|
|
88
|
+
} catch {
|
|
89
|
+
return S(n);
|
|
90
|
+
}
|
|
91
|
+
const g = j(n), D = "specs/README.md";
|
|
92
|
+
let a = !1, i = [], m = null;
|
|
93
|
+
try {
|
|
94
|
+
const s = d(r(n, "specs", "README.md"), "utf-8");
|
|
95
|
+
a = !0, i = T(s), m = V(s);
|
|
96
|
+
} catch {
|
|
97
|
+
a = !1;
|
|
98
|
+
}
|
|
99
|
+
let p = {}, l = !1;
|
|
100
|
+
try {
|
|
101
|
+
const s = JSON.parse(d(r(n, "package.json"), "utf-8"));
|
|
102
|
+
l = !0, p = s.scripts ?? {};
|
|
103
|
+
} catch {
|
|
104
|
+
l = !1;
|
|
105
|
+
}
|
|
106
|
+
const $ = I({
|
|
107
|
+
packageJsonPresent: l,
|
|
108
|
+
scripts: p,
|
|
109
|
+
gennadyAvailable: B(n)
|
|
110
|
+
});
|
|
111
|
+
let u = null;
|
|
112
|
+
try {
|
|
113
|
+
u = d(r(n, "specs", ".sdd-session.md"), "utf-8").trim() || null;
|
|
114
|
+
} catch {
|
|
115
|
+
u = null;
|
|
116
|
+
}
|
|
117
|
+
C.debug(
|
|
118
|
+
`[SddStateCommand#run] flow=${g} portal=${a} ready=${$.ready} scopes=${i.length}`
|
|
119
|
+
);
|
|
120
|
+
const E = t.probe === !0 ? N(n) : void 0, _ = {
|
|
121
|
+
root: n,
|
|
122
|
+
flowVersion: g,
|
|
123
|
+
portalPresent: a,
|
|
124
|
+
portalPath: D,
|
|
125
|
+
scopes: i,
|
|
126
|
+
readiness: $,
|
|
127
|
+
sessionContent: u,
|
|
128
|
+
probe: E
|
|
129
|
+
}, A = v(r(n, "specs"));
|
|
130
|
+
let f = null, h = null;
|
|
131
|
+
try {
|
|
132
|
+
const s = w(d(r(n, "specs", "3-tasks.md"), "utf-8"));
|
|
133
|
+
s && (f = s.totalTasks, h = s.totalDone);
|
|
134
|
+
} catch {
|
|
135
|
+
f = null, h = null;
|
|
136
|
+
}
|
|
137
|
+
const P = x({
|
|
138
|
+
projectName: m,
|
|
139
|
+
portalPresent: a,
|
|
140
|
+
scopesTotal: i.length,
|
|
141
|
+
scopesApproved: i.filter((s) => s.status === "done").length,
|
|
142
|
+
moduleSpecCount: A,
|
|
143
|
+
packageJsonPresent: l,
|
|
144
|
+
gates: {
|
|
145
|
+
typecheck: p.typecheck !== void 0,
|
|
146
|
+
test: p.test !== void 0,
|
|
147
|
+
lint: p.lint !== void 0
|
|
148
|
+
},
|
|
149
|
+
tasksTotal: f,
|
|
150
|
+
tasksDone: h
|
|
151
|
+
});
|
|
152
|
+
return { ok: !0, text: `${F(_)}
|
|
153
|
+
|
|
154
|
+
${P}` };
|
|
155
|
+
}
|
|
156
|
+
const c = await M(process.argv);
|
|
157
|
+
console.log(c.ok ? c.text : c.message);
|
|
158
|
+
process.exit(c.ok ? 0 : c.exitCode);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { readFileSync as S, existsSync as k, readdirSync as A } from "node:fs";
|
|
2
2
|
import { resolve as f, join as m, sep as _, dirname as v } from "node:path";
|
|
3
|
-
import { l as te } from "./services-
|
|
4
|
-
import { p as ne,
|
|
3
|
+
import { l as te } from "./services-BYCeGBlO.js";
|
|
4
|
+
import { p as ne, n as H, o as V, q as I, t as ce, v as oe, w as re, y as P, z as ae, h as ie, B as ue, C as le, D as pe, E as de, F as q, H as fe, I as he, J as me, K as ge, L as ke, M as Ce, N as ye, O as Se, P as _e, Q as x, R as we, S as Re, U as Ee, W as xe, X as ve, Y as Fe, Z as De, _ as Te, $ as $e, a0 as Ie, e as Q, a1 as X, a2 as Oe, a3 as Le, a4 as Ae, a5 as Ne, a6 as Me, a7 as Be } from "./shared-B3cXL2Np.js";
|
|
5
5
|
const Ke = "ERR_CLI_SDD_CHECK_BAD_INVOCATION", be = "ERR_CLI_SDD_CHECK_FILE";
|
|
6
6
|
function je(t, n) {
|
|
7
7
|
if (t.length === 0)
|
|
@@ -106,10 +106,10 @@ function G(t, n, e) {
|
|
|
106
106
|
for (const a of we(s.content)) {
|
|
107
107
|
const c = x(n, `PHASE_${a.id}`);
|
|
108
108
|
if (c.status !== "ok") continue;
|
|
109
|
-
const
|
|
110
|
-
if (
|
|
111
|
-
const i = Ge(e,
|
|
112
|
-
r.push(...xe(t, a.id,
|
|
109
|
+
const u = Re(c.content).rules.filter((l) => l.endsWith(".xml")).map((l) => Ee(t, e, l));
|
|
110
|
+
if (u.length === 0) continue;
|
|
111
|
+
const i = Ge(e, u);
|
|
112
|
+
r.push(...xe(t, a.id, u, i));
|
|
113
113
|
}
|
|
114
114
|
return r;
|
|
115
115
|
}
|
|
@@ -124,11 +124,11 @@ function Je(t) {
|
|
|
124
124
|
} catch {
|
|
125
125
|
return;
|
|
126
126
|
}
|
|
127
|
-
for (const
|
|
128
|
-
if (
|
|
127
|
+
for (const u of c) {
|
|
128
|
+
if (u.name.startsWith(".") || N.has(u.name) && u.name !== "__tests__" || u.isSymbolicLink())
|
|
129
129
|
continue;
|
|
130
|
-
const i = m(a,
|
|
131
|
-
|
|
130
|
+
const i = m(a, u.name);
|
|
131
|
+
u.isDirectory() ? s(i) : u.isFile() && /\.(test|spec)\.(ts|tsx|js)$/.test(u.name) && e.push(i);
|
|
132
132
|
}
|
|
133
133
|
};
|
|
134
134
|
s(t);
|
|
@@ -151,23 +151,23 @@ function z(t, n, e) {
|
|
|
151
151
|
if (s.status !== "ok") return [];
|
|
152
152
|
const r = ve(t, s.content), a = Fe(s.content);
|
|
153
153
|
if (a.length === 0) return r;
|
|
154
|
-
const c = Je(e),
|
|
154
|
+
const c = Je(e), u = /* @__PURE__ */ new Map();
|
|
155
155
|
for (const d of a) {
|
|
156
|
-
if (d.deferred !== null ||
|
|
156
|
+
if (d.deferred !== null || u.has(d.testFile)) continue;
|
|
157
157
|
const h = De(c, d.testFile);
|
|
158
|
-
r.push(...Te(t, d.testFile, h)),
|
|
158
|
+
r.push(...Te(t, d.testFile, h)), u.set(
|
|
159
159
|
d.testFile,
|
|
160
160
|
h.flatMap((g) => Ue(g))
|
|
161
161
|
);
|
|
162
162
|
}
|
|
163
|
-
const i = x(n, "META"),
|
|
163
|
+
const i = x(n, "META"), l = i.status === "ok" ? $e(i.content).taskId : null;
|
|
164
164
|
return r.push(
|
|
165
165
|
...Ie(
|
|
166
166
|
t,
|
|
167
167
|
a,
|
|
168
|
-
|
|
168
|
+
u,
|
|
169
169
|
E(t, e),
|
|
170
|
-
|
|
170
|
+
l
|
|
171
171
|
)
|
|
172
172
|
), r;
|
|
173
173
|
}
|
|
@@ -181,7 +181,7 @@ function ze(t, n, e, s) {
|
|
|
181
181
|
`grep -rlF --include='*.ts' --include='*.tsx' --include='*.js' --exclude-dir=node_modules --exclude-dir=dist --exclude-dir=.git -- ${JSON.stringify(c.name)} ${JSON.stringify(e)} 2>/dev/null`,
|
|
182
182
|
{ expectedExitCodes: [1] }
|
|
183
183
|
).split(`
|
|
184
|
-
`).map((
|
|
184
|
+
`).map((l) => l.trim()).filter(Boolean).some((l) => f(l) !== s) && a.add(c.name);
|
|
185
185
|
}
|
|
186
186
|
return Ne(t, r, a);
|
|
187
187
|
}
|
|
@@ -202,8 +202,8 @@ function Z(t, n) {
|
|
|
202
202
|
for (const r of n.matchAll(/\]\(([^)`#]+\.spec\.md)#([^)\s]+)\)/g)) {
|
|
203
203
|
const a = r[1], c = r[2];
|
|
204
204
|
if (!a || !c) continue;
|
|
205
|
-
const
|
|
206
|
-
if (!k(
|
|
205
|
+
const u = f(s, a);
|
|
206
|
+
if (!k(u)) {
|
|
207
207
|
e.push({
|
|
208
208
|
severity: "error",
|
|
209
209
|
code: "SDD_BROKEN_SPEC_REF",
|
|
@@ -214,14 +214,14 @@ function Z(t, n) {
|
|
|
214
214
|
}
|
|
215
215
|
let i;
|
|
216
216
|
try {
|
|
217
|
-
i = S(
|
|
217
|
+
i = S(u, "utf-8");
|
|
218
218
|
} catch {
|
|
219
219
|
continue;
|
|
220
220
|
}
|
|
221
|
-
const
|
|
221
|
+
const l = c.toLowerCase(), d = [...i.matchAll(/^#{1,6}\s+(.+?)\s*$/gm)].map((g) => qe(g[1] ?? "")), h = [...i.matchAll(/<!--SECTION:([A-Z0-9_]+)-->/g)].map(
|
|
222
222
|
(g) => (g[1] ?? "").toLowerCase()
|
|
223
223
|
);
|
|
224
|
-
!d.includes(
|
|
224
|
+
!d.includes(l) && !h.includes(l) && e.push({
|
|
225
225
|
severity: "warn",
|
|
226
226
|
code: "SDD_BROKEN_SPEC_ANCHOR",
|
|
227
227
|
file: t,
|
|
@@ -261,7 +261,7 @@ async function Ye(t) {
|
|
|
261
261
|
const r = n.all === !0 || n.all === "true", a = n.changed === !0 || n.changed === "true";
|
|
262
262
|
if (!s && !r && !a) return He();
|
|
263
263
|
const c = [];
|
|
264
|
-
let
|
|
264
|
+
let u = 0;
|
|
265
265
|
if (s) {
|
|
266
266
|
let i;
|
|
267
267
|
try {
|
|
@@ -269,22 +269,22 @@ async function Ye(t) {
|
|
|
269
269
|
} catch {
|
|
270
270
|
return Ve(s);
|
|
271
271
|
}
|
|
272
|
-
const
|
|
273
|
-
c.push(...H(s, i)), c.push(...W(s, i)), c.push(...Z(s, i)), c.push(...await V(s, i)), c.push(...G(s, i,
|
|
272
|
+
const l = process.cwd();
|
|
273
|
+
c.push(...H(s, i)), c.push(...W(s, i)), c.push(...Z(s, i)), c.push(...await V(s, i)), c.push(...G(s, i, l)), c.push(...z(s, i, l)), L(f(s)) === "v2" && c.push(...I(s, i)), u = 1;
|
|
274
274
|
} else if (a) {
|
|
275
275
|
const i = f(e[0] ?? ".");
|
|
276
|
-
for (const
|
|
277
|
-
const d = m(i,
|
|
276
|
+
for (const l of ce(i)) {
|
|
277
|
+
const d = m(i, l);
|
|
278
278
|
let h;
|
|
279
279
|
try {
|
|
280
280
|
h = S(d, "utf-8");
|
|
281
281
|
} catch {
|
|
282
282
|
continue;
|
|
283
283
|
}
|
|
284
|
-
c.push(...oe(
|
|
284
|
+
c.push(...oe(l, h, re(i, l))), c.push(...ze(l, h, i, f(d))), u++;
|
|
285
285
|
}
|
|
286
286
|
} else {
|
|
287
|
-
const i = f(e[0] ?? "."),
|
|
287
|
+
const i = f(e[0] ?? "."), l = Ze(i), d = m(i, "specs"), h = m(i, "tasks"), g = [d, h].filter((o) => k(o));
|
|
288
288
|
g.length === 0 && g.push(i);
|
|
289
289
|
const F = m(d, "README.md"), M = [];
|
|
290
290
|
for (const o of g) Y(o, M);
|
|
@@ -310,19 +310,19 @@ async function Ye(t) {
|
|
|
310
310
|
edges: P(p),
|
|
311
311
|
specDirs: Xe(d)
|
|
312
312
|
})
|
|
313
|
-
),
|
|
313
|
+
), u++;
|
|
314
314
|
else if (o.endsWith(".spec.md") || o.endsWith(".1-spec.md")) {
|
|
315
315
|
c.push(...Pe(o, p));
|
|
316
316
|
const C = L(o);
|
|
317
|
-
c.push(...
|
|
317
|
+
c.push(...ue(o, p, C)), C === "v2" && c.push(...I(o, p)), c.push(...le(o, p)), c.push(...pe(o, p, D)), K.push({ file: o, content: p, flowVersion: C });
|
|
318
318
|
const y = o.split(_), R = y.lastIndexOf("specs");
|
|
319
319
|
if (R >= 0 && y.length - R >= 4) {
|
|
320
320
|
const $ = y[R + 1], se = m(y.slice(0, R + 2).join(_), `${$}.spec.md`), j = T.get($) ?? { edges: [], scopeFile: se };
|
|
321
321
|
j.edges.push(...de(p)), T.set($, j);
|
|
322
322
|
}
|
|
323
|
-
|
|
323
|
+
u++;
|
|
324
324
|
} else if (Qe(p)) {
|
|
325
|
-
const C = E(o,
|
|
325
|
+
const C = E(o, l);
|
|
326
326
|
for (const y of q(p))
|
|
327
327
|
B.push({
|
|
328
328
|
file: o,
|
|
@@ -330,8 +330,8 @@ async function Ye(t) {
|
|
|
330
330
|
status: y.status,
|
|
331
331
|
flowVersion: C
|
|
332
332
|
});
|
|
333
|
-
|
|
334
|
-
} else fe(p) ? (c.push(...H(o, p)), c.push(...W(o, p)), c.push(...Z(o, p)), c.push(...G(o, p,
|
|
333
|
+
u++;
|
|
334
|
+
} else fe(p) ? (c.push(...H(o, p)), c.push(...W(o, p)), c.push(...Z(o, p)), c.push(...G(o, p, l)), c.push(...z(o, p, l)), L(o) === "v2" && c.push(...I(o, p)), w.push(he(o, p, E(o, l))), u++) : me(p) && (c.push(...ge(o)), w.push(ke(o, p, E(o, l))), u++);
|
|
335
335
|
}
|
|
336
336
|
c.push(...Ce(w)), c.push(...ye(w, B)), c.push(...Se(K));
|
|
337
337
|
for (const [o, { edges: p, scopeFile: C }] of T)
|
|
@@ -339,7 +339,7 @@ async function Ye(t) {
|
|
|
339
339
|
for (const o of b)
|
|
340
340
|
c.push(...await V(o.file, o.content));
|
|
341
341
|
}
|
|
342
|
-
return te.debug(`[SddCheckCommand#run] ${c.length} finding(s) across ${
|
|
342
|
+
return te.debug(`[SddCheckCommand#run] ${c.length} finding(s) across ${u} file(s)`), je(c, u);
|
|
343
343
|
}
|
|
344
344
|
const ee = await Ye(process.argv);
|
|
345
345
|
console.log(ee.text);
|
|
@@ -7,8 +7,8 @@ import { promisify as h } from "node:util";
|
|
|
7
7
|
import z from "node:os";
|
|
8
8
|
import g from "node:fs";
|
|
9
9
|
import { Buffer as X } from "node:buffer";
|
|
10
|
-
import { p as G } from "./shared-
|
|
11
|
-
import { ao as K } from "./services-
|
|
10
|
+
import { p as G } from "./shared-B3cXL2Np.js";
|
|
11
|
+
import { ao as K } from "./services-BYCeGBlO.js";
|
|
12
12
|
let F;
|
|
13
13
|
function q() {
|
|
14
14
|
try {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { p as j, s as e, g as x } from "./shared-
|
|
2
|
-
import { p as T, A as E } from "./index-
|
|
1
|
+
import { p as j, s as e, g as x } from "./shared-B3cXL2Np.js";
|
|
2
|
+
import { p as T, A as E } from "./index-C4JmZLaj.js";
|
|
3
3
|
import { readdirSync as G, readFileSync as P } from "node:fs";
|
|
4
4
|
import { join as h, dirname as k } from "node:path";
|
|
5
5
|
import { fileURLToPath as N } from "node:url";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { execSync as pe } from "node:child_process";
|
|
2
2
|
import { existsSync as ie, readFileSync as H, readdirSync as B, statSync as re, lstatSync as Re } from "node:fs";
|
|
3
3
|
import { resolve as A, relative as Y, extname as G, join as Ne } from "node:path";
|
|
4
|
-
import { l as
|
|
5
|
-
import { p as Ce,
|
|
4
|
+
import { l as I, ap as Ie, aq as Ee, ar as j, as as Te } from "./services-BYCeGBlO.js";
|
|
5
|
+
import { p as Ce, aI as Le } from "./shared-B3cXL2Np.js";
|
|
6
6
|
class O {
|
|
7
7
|
/** @purpose Collected lint errors — empty array when clean. */
|
|
8
8
|
errors;
|
|
@@ -241,17 +241,17 @@ function Je(n) {
|
|
|
241
241
|
return !(t === "" || t.startsWith("//") || t.startsWith("/*") && t.endsWith("*/"));
|
|
242
242
|
}
|
|
243
243
|
async function Xe(n, t, e) {
|
|
244
|
-
|
|
245
|
-
const s = new
|
|
244
|
+
I.debug(`[DbcContractCheck#check] [idle → creating] ${t}`);
|
|
245
|
+
const s = new Ee(), o = new j(), i = new Ie(s, o);
|
|
246
246
|
try {
|
|
247
247
|
if (!e) {
|
|
248
248
|
const c = await i.lint(t, { content: n });
|
|
249
|
-
return
|
|
249
|
+
return I.info(
|
|
250
250
|
`[DbcContractCheck#check] [creating → linted] ${t} (${c.errors.length} errors)`
|
|
251
251
|
), { errors: c.errors.map(Q), autoFixed: 0 };
|
|
252
252
|
}
|
|
253
253
|
const r = await i.lintAndFix(t, { content: n });
|
|
254
|
-
return
|
|
254
|
+
return I.info(
|
|
255
255
|
`[DbcContractCheck#check] [creating → fixed] ${t} (autoFixed=${r.autoFixed}, remaining=${r.errors.length})`
|
|
256
256
|
), {
|
|
257
257
|
errors: r.errors.map(Q),
|
|
@@ -259,7 +259,7 @@ async function Xe(n, t, e) {
|
|
|
259
259
|
};
|
|
260
260
|
} catch (r) {
|
|
261
261
|
const c = new Error(`[DbcContractCheck#check] Lint failed for ${t}`, { cause: r });
|
|
262
|
-
throw
|
|
262
|
+
throw I.error(`[DbcContractCheck#check] [creating → failed] ${t}`, { error: c }), c;
|
|
263
263
|
}
|
|
264
264
|
}
|
|
265
265
|
function Q(n) {
|
|
@@ -688,7 +688,7 @@ function Nt(n, t) {
|
|
|
688
688
|
if (t(n[e])) return e;
|
|
689
689
|
return -1;
|
|
690
690
|
}
|
|
691
|
-
async function
|
|
691
|
+
async function It(n, t, e) {
|
|
692
692
|
const s = await new j().parseFile(t, n);
|
|
693
693
|
if (!s.ok) return [];
|
|
694
694
|
const o = new Set(e);
|
|
@@ -701,7 +701,7 @@ async function Et(n, t, e) {
|
|
|
701
701
|
message: `Exported \`${i.name}\` is not in the module's closed-world Entity Inventory (AX_CLOSED_WORLD_INVENTORY). Fix: remove it, or — if genuinely needed — log an \`intro <name> ← <reason>\` line (AX_INTRODUCED_DISCIPLINE) and backflow it into the spec inventory; never silently keep an undeclared export. If you added it under drift / context loss, re-read the module spec ## 3 Entity Inventory and AX_INTRODUCED_DISCIPLINE.`
|
|
702
702
|
}));
|
|
703
703
|
}
|
|
704
|
-
async function
|
|
704
|
+
async function Et(n, t) {
|
|
705
705
|
const e = await new j().parseFile(t, n);
|
|
706
706
|
return e.ok ? e.exported.map((s) => s.name) : [];
|
|
707
707
|
}
|
|
@@ -858,7 +858,7 @@ async function kt(n) {
|
|
|
858
858
|
);
|
|
859
859
|
} catch (h) {
|
|
860
860
|
const T = h instanceof Error ? h.message : String(h);
|
|
861
|
-
return
|
|
861
|
+
return I.warn(`[LintCommand#run] [idle → failed] ${T}`), new O([
|
|
862
862
|
{
|
|
863
863
|
file: "",
|
|
864
864
|
line: 0,
|
|
@@ -881,7 +881,7 @@ async function kt(n) {
|
|
|
881
881
|
code: Ue,
|
|
882
882
|
message: "--inventory-reverse requires --spec=<module-spec> — the reverse sweep checks that spec’s Entity Inventory against the code."
|
|
883
883
|
};
|
|
884
|
-
return
|
|
884
|
+
return I.warn("[LintCommand#run] --inventory-reverse given without --spec"), new O([h]);
|
|
885
885
|
}
|
|
886
886
|
let f = null;
|
|
887
887
|
const g = [];
|
|
@@ -897,7 +897,7 @@ async function kt(n) {
|
|
|
897
897
|
severity: "error",
|
|
898
898
|
code: We,
|
|
899
899
|
message: `Cannot read --spec target: ${T}`
|
|
900
|
-
}),
|
|
900
|
+
}), I.warn(`[LintCommand#run] --spec unreadable: ${l}`);
|
|
901
901
|
}
|
|
902
902
|
const m = f !== null && f.length === 0;
|
|
903
903
|
m && console.log(
|
|
@@ -926,9 +926,9 @@ async function kt(n) {
|
|
|
926
926
|
code: xe,
|
|
927
927
|
message: "--staged and positional targets are mutually exclusive. Use either --staged or provide file/directory paths, not both."
|
|
928
928
|
};
|
|
929
|
-
return
|
|
929
|
+
return I.warn("[LintCommand#run] --staged and positional targets are mutually exclusive"), new O([h]);
|
|
930
930
|
}
|
|
931
|
-
|
|
931
|
+
I.debug("[LintCommand#run] [idle → collecting] staged mode");
|
|
932
932
|
try {
|
|
933
933
|
_ = pe("git diff --staged --name-only", { encoding: "utf-8" }).trim().split(`
|
|
934
934
|
`).filter(Boolean).filter((T) => T.endsWith(".ts")), _ = [...new Set(_)];
|
|
@@ -936,46 +936,46 @@ async function kt(n) {
|
|
|
936
936
|
const T = new Error("[LintCommand#run] Git scan failed — not a git repository?", {
|
|
937
937
|
cause: h
|
|
938
938
|
});
|
|
939
|
-
throw
|
|
939
|
+
throw I.error("[LintCommand#run] [collecting → failed]", { error: T }), T;
|
|
940
940
|
}
|
|
941
941
|
} else if (e.length > 0) {
|
|
942
|
-
|
|
942
|
+
I.debug(`[LintCommand#run] [idle → resolving] ${e.length} target(s)`);
|
|
943
943
|
const h = $t(e);
|
|
944
944
|
_ = h.files, S.push(...h.errors);
|
|
945
945
|
for (const T of h.errors)
|
|
946
|
-
|
|
946
|
+
I.warn(`[LintCommand#run] [resolving → failed] ${T.file}: ${T.message}`);
|
|
947
947
|
} else
|
|
948
948
|
_ = [];
|
|
949
949
|
if (_.length > 0 && L.length > 0) {
|
|
950
950
|
const h = _.length, T = A(".");
|
|
951
|
-
_ = _.filter((
|
|
952
|
-
const W =
|
|
951
|
+
_ = _.filter((E) => {
|
|
952
|
+
const W = E.startsWith("/") ? Y(T, E) : E;
|
|
953
953
|
return !L.some(($) => $.test(W));
|
|
954
|
-
}),
|
|
954
|
+
}), I.debug(`[LintCommand#run] [filtering → filtered] ${h} → ${_.length} file(s)`);
|
|
955
955
|
}
|
|
956
956
|
if (_.length === 0)
|
|
957
|
-
return
|
|
958
|
-
|
|
957
|
+
return I.debug("[LintCommand#run] [collecting → done] no files to lint"), new O([...S, ...g]);
|
|
958
|
+
I.debug(`[LintCommand#run] [collecting → linting] ${_.length} file(s)`);
|
|
959
959
|
const R = [...S, ...g];
|
|
960
960
|
let k = 0;
|
|
961
961
|
const D = /* @__PURE__ */ new Set(), v = A("."), y = Ct(v), X = /* @__PURE__ */ new Set();
|
|
962
962
|
for (const h of _) {
|
|
963
963
|
const T = A(h);
|
|
964
|
-
let
|
|
964
|
+
let E;
|
|
965
965
|
try {
|
|
966
|
-
|
|
966
|
+
I.debug(`[LintCommand#run] [linting → reading] ${h}`), E = H(T, "utf-8");
|
|
967
967
|
} catch (x) {
|
|
968
968
|
const U = new Error(`[LintCommand#run] Cannot read file: ${h}`, { cause: x });
|
|
969
|
-
|
|
969
|
+
I.error(`[LintCommand#run] [reading → failed] ${h}`, { error: U });
|
|
970
970
|
continue;
|
|
971
971
|
}
|
|
972
972
|
const W = R.length;
|
|
973
|
-
R.push(...Pe(
|
|
974
|
-
const $ = await Xe(
|
|
975
|
-
if (R.push(...$.errors), k += $.autoFixed, f !== null && !m && (R.push(...await
|
|
976
|
-
for (const x of await
|
|
973
|
+
R.push(...Pe(E, h)), R.push(...Ve(E, h)), R.push(...et(E, h)), R.push(...ze(E, h)), R.push(...ct(E, h)), R.push(...at(E, h)), R.push(...it(E, h, r)), R.push(...mt(E, h, c)), R.push(...Rt(E, h, a));
|
|
974
|
+
const $ = await Xe(E, h, s);
|
|
975
|
+
if (R.push(...$.errors), k += $.autoFixed, f !== null && !m && (R.push(...await It(E, h, f)), u))
|
|
976
|
+
for (const x of await Et(E, h)) D.add(x);
|
|
977
977
|
if (R.length > W) {
|
|
978
|
-
const x = vt(
|
|
978
|
+
const x = vt(E);
|
|
979
979
|
for (const U of x)
|
|
980
980
|
X.add(U);
|
|
981
981
|
}
|
|
@@ -986,7 +986,7 @@ async function kt(n) {
|
|
|
986
986
|
}
|
|
987
987
|
const V = [".ts", ".tsx"], Dt = /* @__PURE__ */ new Set(["node_modules", "dist", "coverage", "build", "out", "__tests__"]);
|
|
988
988
|
function $t(n) {
|
|
989
|
-
|
|
989
|
+
I.debug(`[resolveTargets] [idle → resolving] ${n.length} target(s)`);
|
|
990
990
|
const t = /* @__PURE__ */ new Set(), e = [];
|
|
991
991
|
for (const o of n) {
|
|
992
992
|
const i = G(o).toLowerCase();
|
|
@@ -1018,7 +1018,7 @@ function $t(n) {
|
|
|
1018
1018
|
}
|
|
1019
1019
|
}
|
|
1020
1020
|
const s = [...t].sort();
|
|
1021
|
-
return
|
|
1021
|
+
return I.debug(
|
|
1022
1022
|
`[resolveTargets] [resolving → resolved] ${s.length} file(s), ${e.length} error(s)`
|
|
1023
1023
|
), { files: s, errors: e };
|
|
1024
1024
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readdirSync as T, lstatSync as P, existsSync as z, readFileSync as D, statSync as K } from "node:fs";
|
|
2
2
|
import { resolve as w, join as R, extname as H, basename as N, relative as x, sep as E } from "node:path";
|
|
3
|
-
import { l as S, aq as G } from "./services-
|
|
3
|
+
import { l as S, aq as G } from "./services-BYCeGBlO.js";
|
|
4
4
|
const U = [".ts", ".tsx"], J = /* @__PURE__ */ new Set([
|
|
5
5
|
"node_modules",
|
|
6
6
|
".git",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { p as v, c as h, d as x, V as j, r as p } from "./shared-
|
|
1
|
+
import { p as v, c as h, d as x, V as j, r as p } from "./shared-B3cXL2Np.js";
|
|
2
2
|
import { mkdtempSync as C, writeFileSync as V } from "node:fs";
|
|
3
3
|
import { tmpdir as y } from "node:os";
|
|
4
4
|
import { join as w } from "node:path";
|
|
5
|
-
import { l as t } from "./services-
|
|
5
|
+
import { l as t } from "./services-BYCeGBlO.js";
|
|
6
6
|
function F() {
|
|
7
7
|
return {
|
|
8
8
|
resolveVcsContext: p,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { readFileSync as As } from "node:fs";
|
|
2
2
|
import { fileURLToPath as Wu } from "node:url";
|
|
3
3
|
import { performance as It } from "node:perf_hooks";
|
|
4
|
-
import { l as ze } from "./services-
|
|
4
|
+
import { l as ze } from "./services-BYCeGBlO.js";
|
|
5
5
|
var $s = "vercel.ai.error", Hu = Symbol.for($s), br, wr, J = class Rs extends (wr = Error, br = Hu, wr) {
|
|
6
6
|
/**
|
|
7
7
|
* Creates an AI SDK Error.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { performance as _ } from "node:perf_hooks";
|
|
2
2
|
import { execFileSync as F } from "node:child_process";
|
|
3
|
-
import { l as r, Y as z, Z as J, _ as Z, $ as K, a0 as Q, a1 as T, a2 as X, a3 as ee, a4 as G, a5 as N, a6 as te, a7 as se, a8 as ae, a9 as re, aa as oe } from "./services-
|
|
4
|
-
import { c as ie } from "./shared-
|
|
3
|
+
import { l as r, Y as z, Z as J, _ as Z, $ as K, a0 as Q, a1 as T, a2 as X, a3 as ee, a4 as G, a5 as N, a6 as te, a7 as se, a8 as ae, a9 as re, aa as oe } from "./services-BYCeGBlO.js";
|
|
4
|
+
import { c as ie } from "./shared-B3cXL2Np.js";
|
|
5
5
|
async function ne(j) {
|
|
6
6
|
const B = j.slice(3), q = /* @__PURE__ */ new Set(["--help", "-h"]), O = B.some((t) => q.has(t)), g = B.find((t) => !t.startsWith("-")) ?? "";
|
|
7
7
|
if (r.debug(`[mr-stats#run] [idle → parsing] hasHelp=${O} url=${g || "<none>"}`), O)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { p as J, V as q, c as I, r as E } from "./shared-
|
|
2
|
-
import { l as M } from "./services-
|
|
1
|
+
import { p as J, V as q, c as I, r as E } from "./shared-B3cXL2Np.js";
|
|
2
|
+
import { l as M } from "./services-BYCeGBlO.js";
|
|
3
3
|
function P() {
|
|
4
4
|
return {
|
|
5
5
|
resolveVcsContext: E,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { readFileSync as l } from "node:fs";
|
|
2
2
|
import { resolve as m } from "node:path";
|
|
3
|
-
import { l as s } from "./services-
|
|
4
|
-
import {
|
|
3
|
+
import { l as s } from "./services-BYCeGBlO.js";
|
|
4
|
+
import { a8 as h, p as g, a9 as O, Q as S } from "./shared-B3cXL2Np.js";
|
|
5
5
|
const E = "ERR_CLI_SDD_EXTRACT_BAD_INVOCATION", C = "ERR_CLI_SDD_EXTRACT_INVALID_NAME", R = "ERR_CLI_SDD_EXTRACT_FILE_NOT_FOUND", A = "ERR_CLI_SDD_EXTRACT_FILE_NOT_READABLE", T = "ERR_CLI_SDD_EXTRACT_ANCHOR_NOT_FOUND", D = "ERR_CLI_SDD_EXTRACT_ANCHOR_EMPTY", u = "ERR_CLI_SDD_EXTRACT_ANCHOR_UNBALANCED", N = "ERR_CLI_SDD_EXTRACT_ANCHOR_DUPLICATED", $ = "META, PHASES_OVERVIEW, PHASE_P<N>, PHASE_P<N>_FIX, BDD, VERIFICATION, TEST_COVERAGE, EXECUTION_LOG";
|
|
6
6
|
function p() {
|
|
7
7
|
return {
|