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.
Files changed (146) hide show
  1. package/ai/directives/sdd-v2/root.directive.xml +36 -3
  2. package/ai/directives/sdd-v2/router.directive.xml +22 -1
  3. package/ai/kit/templates/sdd-v2/root.directive.hbs +11 -3
  4. package/ai/kit/templates/sdd-v2/router.directive.hbs +22 -1
  5. package/ai/skills/agent-inbox/SKILL.md +1 -1
  6. package/ai/skills/sdd/SKILL.md +5 -3
  7. package/ai/skills/sdd-audit/SKILL.md +5 -2
  8. package/ai/skills/sdd-check/SKILL.md +2 -2
  9. package/ai/skills/sdd-code-review/SKILL.md +4 -1
  10. package/ai/skills/sdd-critic/SKILL.md +5 -2
  11. package/ai/skills/sdd-execute/SKILL.md +5 -2
  12. package/ai/skills/sdd-reconcile/SKILL.md +5 -2
  13. package/ai/skills/sdd-scaffold/SKILL.md +5 -2
  14. package/dist/ai/directives/sdd-v2/root.directive.xml +36 -3
  15. package/dist/ai/directives/sdd-v2/router.directive.xml +22 -1
  16. package/dist/ai/kit/templates/sdd-v2/root.directive.hbs +11 -3
  17. package/dist/ai/kit/templates/sdd-v2/router.directive.hbs +22 -1
  18. package/dist/ai/skills/agent-inbox/SKILL.md +1 -1
  19. package/dist/ai/skills/sdd/SKILL.md +5 -3
  20. package/dist/ai/skills/sdd-audit/SKILL.md +5 -2
  21. package/dist/ai/skills/sdd-check/SKILL.md +2 -2
  22. package/dist/ai/skills/sdd-code-review/SKILL.md +4 -1
  23. package/dist/ai/skills/sdd-critic/SKILL.md +5 -2
  24. package/dist/ai/skills/sdd-execute/SKILL.md +5 -2
  25. package/dist/ai/skills/sdd-reconcile/SKILL.md +5 -2
  26. package/dist/ai/skills/sdd-scaffold/SKILL.md +5 -2
  27. package/dist/chunks/{classify-mr-stage.logic-BiCHTmPp.js → classify-mr-stage.logic-CazmQDwZ.js} +2 -2
  28. package/dist/chunks/{config-index-9VHWSDQD.js → config-index-DU8-FEjq.js} +1 -1
  29. package/dist/chunks/{devtools-b0DwO1x_.js → devtools-1JmXJjUG.js} +1 -1
  30. package/dist/chunks/{eval.cmd-CwNPaNJd.js → eval.cmd-CBANnOFG.js} +1 -1
  31. package/dist/chunks/{help-D5cXtdMI.js → help-DVloaFF5.js} +1 -1
  32. package/dist/chunks/{index-BVnJEutp.js → index-2xhpqJtd.js} +2 -2
  33. package/dist/chunks/{index-RR5OUxje.js → index-AxsLBUAx.js} +14 -14
  34. package/dist/chunks/{index-CUkeTGqM.js → index-B7sydB0W.js} +2 -2
  35. package/dist/chunks/{index-CMCn9ErF.js → index-BKxk4zOz.js} +2 -2
  36. package/dist/chunks/{index-Db13NlHh.js → index-BNMmX_Mv.js} +21 -21
  37. package/dist/chunks/{index-CmQO-RmM.js → index-BPzldG3a.js} +2 -2
  38. package/dist/chunks/{index-BOQl7F_Z.js → index-BQlFDvKW.js} +2 -2
  39. package/dist/chunks/{index-RzkvIfJQ.js → index-Baq7RL1L.js} +3 -3
  40. package/dist/chunks/index-BbPiwvY9.js +2 -0
  41. package/dist/chunks/{index-ClJLPEUB.js → index-BreGNLJ_.js} +1 -1
  42. package/dist/chunks/{index-DjSafAkN.js → index-BslPwGtM.js} +2 -2
  43. package/dist/chunks/{index-DiMFxS0z.js → index-BtCUN2fZ.js} +16 -16
  44. package/dist/chunks/{index-CS0VbiLD.js → index-C10-EOdB.js} +1 -1
  45. package/dist/chunks/{index-2BOEcJIa.js → index-C4JmZLaj.js} +2 -2
  46. package/dist/chunks/index-CA-JKLr4.js +2 -0
  47. package/dist/chunks/{index-43GiH--T.js → index-CG_jJZVu.js} +2 -2
  48. package/dist/chunks/{index-BdkFKsMm.js → index-CGyP2uDE.js} +3 -3
  49. package/dist/chunks/{index-BOKv0b01.js → index-CPl1s9XJ.js} +2 -2
  50. package/dist/chunks/{index-DIPrBH-4.js → index-CSxE4cEm.js} +9 -9
  51. package/dist/chunks/{index-Cm7U1-fU.js → index-CWR5EzXx.js} +2 -2
  52. package/dist/chunks/{index-BwN5llCR.js → index-Camql5kL.js} +2 -2
  53. package/dist/chunks/{index-Drh-J9O7.js → index-CdUiTipO.js} +7 -7
  54. package/dist/chunks/{index-Cn029KTN.js → index-Crg61pK5.js} +2 -2
  55. package/dist/chunks/{index-Dja2O-hV.js → index-Cv9ZYXso.js} +1 -1
  56. package/dist/chunks/{index-Ck8v_Gv7.js → index-D7ADMlG3.js} +1 -1
  57. package/dist/chunks/index-DNl2gC8l.js +158 -0
  58. package/dist/chunks/{index-BYIzl-Ut.js → index-DVJA0qVm.js} +36 -36
  59. package/dist/chunks/{index-BAEIZVx0.js → index-DcFJhkY1.js} +2 -2
  60. package/dist/chunks/{index-Dx5_CB2E.js → index-DdEd-L3x.js} +2 -2
  61. package/dist/chunks/{index-DVmqMmgb.js → index-DkGA1eW_.js} +32 -32
  62. package/dist/chunks/{index-3k7mPX1e.js → index-Dnwxlti3.js} +1 -1
  63. package/dist/chunks/{index-CrizvxOJ.js → index-DqdEJDi2.js} +2 -2
  64. package/dist/chunks/{index-BIPebtDl.js → index-DqiwmBt4.js} +1 -1
  65. package/dist/chunks/{index-DS4MhAw-.js → index-PfuqBWjY.js} +2 -2
  66. package/dist/chunks/{index-BmFT1Kx2.js → index-SVP6RfVl.js} +2 -2
  67. package/dist/chunks/{index-CDxV4b81.js → index-Y8wu48Q0.js} +1 -1
  68. package/dist/chunks/index-_ewSKppm.js +2 -0
  69. package/dist/chunks/{index-Ctcr_Qeu.js → index-aBVtCLIJ.js} +2 -2
  70. package/dist/chunks/index-dNdz9j6d.js +2 -0
  71. package/dist/chunks/{index-BFUkVkSo.js → index-gskOpu3H.js} +16 -16
  72. package/dist/chunks/{index-CXpkT25O.js → index-pBSLMn5Q.js} +3 -3
  73. package/dist/chunks/index-sqPhX5Io.js +2 -0
  74. package/dist/chunks/{index-BzmR4Es2.js → index-vfrjhUD1.js} +39 -39
  75. package/dist/chunks/{index-J2NvjjDV.js → index-xGF5XC_i.js} +2 -2
  76. package/dist/chunks/{run-review-command.logic-CA2Rjymb.js → run-review-command.logic-B9GoCxh-.js} +24 -24
  77. package/dist/chunks/{serve.cmd-RxYS6WoN.js → serve.cmd-UXkaeaPI.js} +2 -2
  78. package/dist/chunks/{services-Csd556Tv.js → services-BYCeGBlO.js} +4 -4
  79. package/dist/chunks/{shared-B5CTGvpG.js → shared-B3cXL2Np.js} +1178 -1117
  80. package/dist/chunks/{stats-index-BLztvK69.js → stats-index-AIAnnp9S.js} +2 -2
  81. package/dist/gennady.js +46 -46
  82. package/dist/index.js +4 -4
  83. package/dist/shared/sdd/ladder.d.ts +42 -0
  84. package/dist/shared/sdd/module-specs.d.ts +7 -0
  85. package/dist/shared/sdd/tracker.d.ts +9 -0
  86. package/package.json +1 -1
  87. package/dist/chunks/classify-mr-stage.logic-ClmhzQPQ.js +0 -53
  88. package/dist/chunks/config-index-RFeqlDWs.js +0 -104
  89. package/dist/chunks/devtools-p8tmPuLn.js +0 -79
  90. package/dist/chunks/eval.cmd-ewU5lcUY.js +0 -34
  91. package/dist/chunks/help-DzGnMNi2.js +0 -7
  92. package/dist/chunks/index--AXFi0ty.js +0 -89
  93. package/dist/chunks/index-64TSesTc.js +0 -186
  94. package/dist/chunks/index-9Gv5trS_.js +0 -125
  95. package/dist/chunks/index-B1DQIryA.js +0 -2
  96. package/dist/chunks/index-B1PiBeQ3.js +0 -2
  97. package/dist/chunks/index-B4rzuhkt.js +0 -183
  98. package/dist/chunks/index-B97HJjkg.js +0 -159
  99. package/dist/chunks/index-BF6qypm0.js +0 -131
  100. package/dist/chunks/index-BK84ZQsh.js +0 -128
  101. package/dist/chunks/index-BRVIirjj.js +0 -141
  102. package/dist/chunks/index-BXnryCGW.js +0 -96
  103. package/dist/chunks/index-BaZm7Otb.js +0 -2
  104. package/dist/chunks/index-Bhk746A2.js +0 -129
  105. package/dist/chunks/index-Bi-eY_dY.js +0 -164
  106. package/dist/chunks/index-BjumU69g.js +0 -2
  107. package/dist/chunks/index-BkWXcpXU.js +0 -16979
  108. package/dist/chunks/index-BlY4jQIA.js +0 -168
  109. package/dist/chunks/index-C0iy7GxD.js +0 -140
  110. package/dist/chunks/index-CCBTXczb.js +0 -56
  111. package/dist/chunks/index-CDAfkSrr.js +0 -2
  112. package/dist/chunks/index-CDHymWzC.js +0 -102
  113. package/dist/chunks/index-CNfXJAao.js +0 -2
  114. package/dist/chunks/index-CQsae1nq.js +0 -207
  115. package/dist/chunks/index-CVmd0prf.js +0 -2
  116. package/dist/chunks/index-CZuTNeNm.js +0 -2
  117. package/dist/chunks/index-CasNhhrL.js +0 -96
  118. package/dist/chunks/index-Ce7GWENF.js +0 -377
  119. package/dist/chunks/index-Cf-02TAg.js +0 -265
  120. package/dist/chunks/index-CfjQWSrh.js +0 -52
  121. package/dist/chunks/index-Chr7gBBz.js +0 -443
  122. package/dist/chunks/index-Ci875Zlg.js +0 -346
  123. package/dist/chunks/index-CwA6RzIB.js +0 -3793
  124. package/dist/chunks/index-D1dI63ej.js +0 -46
  125. package/dist/chunks/index-DCS32A2i.js +0 -663
  126. package/dist/chunks/index-DOFoNxvb.js +0 -131
  127. package/dist/chunks/index-DVkCEuws.js +0 -136
  128. package/dist/chunks/index-DkadaaXq.js +0 -658
  129. package/dist/chunks/index-Dn11CLtk.js +0 -7
  130. package/dist/chunks/index-Do3spFJT.js +0 -340
  131. package/dist/chunks/index-DrFRZ0Yg.js +0 -2
  132. package/dist/chunks/index-DvEQhXi2.js +0 -1054
  133. package/dist/chunks/index-GiS0x6jg.js +0 -90
  134. package/dist/chunks/index-NacvqeQ5.js +0 -69
  135. package/dist/chunks/index-RNJhFzdr.js +0 -227
  136. package/dist/chunks/index-R_vUB6CL.js +0 -2
  137. package/dist/chunks/index-TQft1s5H.js +0 -20
  138. package/dist/chunks/index-ZmQRP38W.js +0 -26969
  139. package/dist/chunks/index-jdOZ4AkD.js +0 -143
  140. package/dist/chunks/index-kNa21kUI.js +0 -279
  141. package/dist/chunks/index-v4AV9kAc.js +0 -108
  142. package/dist/chunks/run-review-command.logic-CU1Slmc_.js +0 -331
  143. package/dist/chunks/serve.cmd-dWu_k_G_.js +0 -162
  144. package/dist/chunks/services-CwvXl2MB.js +0 -46832
  145. package/dist/chunks/shared-DSZTUx5b.js +0 -4509
  146. 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-DSZTUx5b.js";
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-Csd556Tv.js";
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-CwvXl2MB.js";
4
- import { p as ne, k as H, l as V, m as I, n as ce, o as oe, q as re, t as P, v as ae, h as ie, w as le, y as ue, z as pe, B as de, C as q, D as fe, E as he, F as me, H as ge, I as ke, J as Ce, K as ye, L as Se, M as _e, N as x, O as we, P as Re, Q as Ee, R as xe, S as ve, U as Fe, W as De, X as Te, Y as $e, Z as Ie, e as Q, _ as X, $ as Oe, a0 as Le, a1 as Ae, a2 as Ne, a3 as Me, a4 as Be } from "./shared-DSZTUx5b.js";
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 l = Re(c.content).rules.filter((u) => u.endsWith(".xml")).map((u) => Ee(t, e, u));
110
- if (l.length === 0) continue;
111
- const i = Ge(e, l);
112
- r.push(...xe(t, a.id, l, i));
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 l of c) {
128
- if (l.name.startsWith(".") || N.has(l.name) && l.name !== "__tests__" || l.isSymbolicLink())
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, l.name);
131
- l.isDirectory() ? s(i) : l.isFile() && /\.(test|spec)\.(ts|tsx|js)$/.test(l.name) && e.push(i);
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), l = /* @__PURE__ */ new Map();
154
+ const c = Je(e), u = /* @__PURE__ */ new Map();
155
155
  for (const d of a) {
156
- if (d.deferred !== null || l.has(d.testFile)) continue;
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)), l.set(
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"), u = i.status === "ok" ? $e(i.content).taskId : null;
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
- l,
168
+ u,
169
169
  E(t, e),
170
- u
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((u) => u.trim()).filter(Boolean).some((u) => f(u) !== s) && a.add(c.name);
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 l = f(s, a);
206
- if (!k(l)) {
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(l, "utf-8");
217
+ i = S(u, "utf-8");
218
218
  } catch {
219
219
  continue;
220
220
  }
221
- const u = c.toLowerCase(), d = [...i.matchAll(/^#{1,6}\s+(.+?)\s*$/gm)].map((g) => qe(g[1] ?? "")), h = [...i.matchAll(/<!--SECTION:([A-Z0-9_]+)-->/g)].map(
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(u) && !h.includes(u) && e.push({
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 l = 0;
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 u = 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, u)), c.push(...z(s, i, u)), L(f(s)) === "v2" && c.push(...I(s, i)), l = 1;
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 u of ce(i)) {
277
- const d = m(i, u);
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(u, h, re(i, u))), c.push(...ze(u, h, i, f(d))), l++;
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] ?? "."), u = Ze(i), d = m(i, "specs"), h = m(i, "tasks"), g = [d, h].filter((o) => k(o));
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
- ), l++;
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(...le(o, p, C)), C === "v2" && c.push(...I(o, p)), c.push(...ue(o, p)), c.push(...pe(o, p, D)), K.push({ file: o, content: p, flowVersion: C });
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
- l++;
323
+ u++;
324
324
  } else if (Qe(p)) {
325
- const C = E(o, u);
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
- l++;
334
- } else fe(p) ? (c.push(...H(o, p)), c.push(...W(o, p)), c.push(...Z(o, p)), c.push(...G(o, p, u)), c.push(...z(o, p, u)), L(o) === "v2" && c.push(...I(o, p)), w.push(he(o, p, E(o, u))), l++) : me(p) && (c.push(...ge(o)), w.push(ke(o, p, E(o, u))), l++);
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 ${l} file(s)`), je(c, l);
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-B5CTGvpG.js";
11
- import { ao as K } from "./services-Csd556Tv.js";
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-B5CTGvpG.js";
2
- import { p as T, A as E } from "./index-9Gv5trS_.js";
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 E, ap as Ee, aq as Ie, ar as j, as as Te } from "./services-Csd556Tv.js";
5
- import { p as Ce, aF as Le } from "./shared-B5CTGvpG.js";
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
- E.debug(`[DbcContractCheck#check] [idle → creating] ${t}`);
245
- const s = new Ie(), o = new j(), i = new Ee(s, o);
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 E.info(
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 E.info(
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 E.error(`[DbcContractCheck#check] [creating → failed] ${t}`, { error: c }), c;
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 Et(n, t, e) {
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 It(n, t) {
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 E.warn(`[LintCommand#run] [idle → failed] ${T}`), new O([
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 E.warn("[LintCommand#run] --inventory-reverse given without --spec"), new O([h]);
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
- }), E.warn(`[LintCommand#run] --spec unreadable: ${l}`);
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 E.warn("[LintCommand#run] --staged and positional targets are mutually exclusive"), new O([h]);
929
+ return I.warn("[LintCommand#run] --staged and positional targets are mutually exclusive"), new O([h]);
930
930
  }
931
- E.debug("[LintCommand#run] [idle → collecting] staged mode");
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 E.error("[LintCommand#run] [collecting → failed]", { error: T }), T;
939
+ throw I.error("[LintCommand#run] [collecting → failed]", { error: T }), T;
940
940
  }
941
941
  } else if (e.length > 0) {
942
- E.debug(`[LintCommand#run] [idle → resolving] ${e.length} target(s)`);
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
- E.warn(`[LintCommand#run] [resolving → failed] ${T.file}: ${T.message}`);
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((I) => {
952
- const W = I.startsWith("/") ? Y(T, I) : I;
951
+ _ = _.filter((E) => {
952
+ const W = E.startsWith("/") ? Y(T, E) : E;
953
953
  return !L.some(($) => $.test(W));
954
- }), E.debug(`[LintCommand#run] [filtering → filtered] ${h} → ${_.length} file(s)`);
954
+ }), I.debug(`[LintCommand#run] [filtering → filtered] ${h} → ${_.length} file(s)`);
955
955
  }
956
956
  if (_.length === 0)
957
- return E.debug("[LintCommand#run] [collecting → done] no files to lint"), new O([...S, ...g]);
958
- E.debug(`[LintCommand#run] [collecting → linting] ${_.length} file(s)`);
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 I;
964
+ let E;
965
965
  try {
966
- E.debug(`[LintCommand#run] [linting → reading] ${h}`), I = H(T, "utf-8");
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
- E.error(`[LintCommand#run] [reading → failed] ${h}`, { error: U });
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(I, h)), R.push(...Ve(I, h)), R.push(...et(I, h)), R.push(...ze(I, h)), R.push(...ct(I, h)), R.push(...at(I, h)), R.push(...it(I, h, r)), R.push(...mt(I, h, c)), R.push(...Rt(I, h, a));
974
- const $ = await Xe(I, h, s);
975
- if (R.push(...$.errors), k += $.autoFixed, f !== null && !m && (R.push(...await Et(I, h, f)), u))
976
- for (const x of await It(I, h)) D.add(x);
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(I);
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
- E.debug(`[resolveTargets] [idle → resolving] ${n.length} target(s)`);
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 E.debug(
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-Csd556Tv.js";
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-DSZTUx5b.js";
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-CwvXl2MB.js";
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-CwvXl2MB.js";
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-CwvXl2MB.js";
4
- import { c as ie } from "./shared-DSZTUx5b.js";
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-DSZTUx5b.js";
2
- import { l as M } from "./services-CwvXl2MB.js";
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,5 +1,5 @@
1
1
  import { spawnSync as l } from "node:child_process";
2
- import { l as d } from "./services-Csd556Tv.js";
2
+ import { l as d } from "./services-BYCeGBlO.js";
3
3
  const m = [
4
4
  { name: "format", mutates: !0 },
5
5
  { name: "lint", mutates: !0 },
@@ -0,0 +1,2 @@
1
+ import { X as r } from "./services-BYCeGBlO.js";
2
+ r(process.argv);
@@ -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-CwvXl2MB.js";
4
- import { a5 as h, p as g, a6 as O, N as S } from "./shared-DSZTUx5b.js";
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 {
@@ -0,0 +1,2 @@
1
+ import { U as r } from "./services-BYCeGBlO.js";
2
+ await r(process.argv);