@opensip-cli/yagni 0.1.11 → 0.1.13

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 (118) hide show
  1. package/README.md +3 -3
  2. package/dist/__tests__/apply-advisory-exit.test.js +2 -1
  3. package/dist/__tests__/apply-advisory-exit.test.js.map +1 -1
  4. package/dist/__tests__/architecture-invariants.test.d.ts +6 -0
  5. package/dist/__tests__/architecture-invariants.test.d.ts.map +1 -0
  6. package/dist/__tests__/architecture-invariants.test.js +37 -0
  7. package/dist/__tests__/architecture-invariants.test.js.map +1 -0
  8. package/dist/__tests__/detector-progress.test.d.ts +2 -0
  9. package/dist/__tests__/detector-progress.test.d.ts.map +1 -0
  10. package/dist/__tests__/detector-progress.test.js +77 -0
  11. package/dist/__tests__/detector-progress.test.js.map +1 -0
  12. package/dist/__tests__/duplicate-parity.test.d.ts +15 -0
  13. package/dist/__tests__/duplicate-parity.test.d.ts.map +1 -0
  14. package/dist/__tests__/duplicate-parity.test.js +304 -0
  15. package/dist/__tests__/duplicate-parity.test.js.map +1 -0
  16. package/dist/__tests__/hardening.test.d.ts +2 -0
  17. package/dist/__tests__/hardening.test.d.ts.map +1 -0
  18. package/dist/__tests__/hardening.test.js +102 -0
  19. package/dist/__tests__/hardening.test.js.map +1 -0
  20. package/dist/__tests__/session-payload.test.d.ts +2 -0
  21. package/dist/__tests__/session-payload.test.d.ts.map +1 -0
  22. package/dist/__tests__/session-payload.test.js +61 -0
  23. package/dist/__tests__/session-payload.test.js.map +1 -0
  24. package/dist/__tests__/walk-typescript-files.test.js +15 -1
  25. package/dist/__tests__/walk-typescript-files.test.js.map +1 -1
  26. package/dist/__tests__/yagni-coverage.test.js +49 -202
  27. package/dist/__tests__/yagni-coverage.test.js.map +1 -1
  28. package/dist/__tests__/yagni-golden.test.js +8 -24
  29. package/dist/__tests__/yagni-golden.test.js.map +1 -1
  30. package/dist/__tests__/yagni-presentation.test.js +5 -5
  31. package/dist/__tests__/yagni-presentation.test.js.map +1 -1
  32. package/dist/baseline-strategy.d.ts +1 -2
  33. package/dist/baseline-strategy.d.ts.map +1 -1
  34. package/dist/baseline-strategy.js +21 -16
  35. package/dist/baseline-strategy.js.map +1 -1
  36. package/dist/cli/__tests__/yagni-runner.test.js +10 -7
  37. package/dist/cli/__tests__/yagni-runner.test.js.map +1 -1
  38. package/dist/cli/execute-yagni.d.ts +15 -4
  39. package/dist/cli/execute-yagni.d.ts.map +1 -1
  40. package/dist/cli/execute-yagni.js +68 -30
  41. package/dist/cli/execute-yagni.js.map +1 -1
  42. package/dist/cli/report-data.d.ts +0 -2
  43. package/dist/cli/report-data.d.ts.map +1 -1
  44. package/dist/cli/report-data.js +0 -2
  45. package/dist/cli/report-data.js.map +1 -1
  46. package/dist/cli/yagni-command-spec.d.ts.map +1 -1
  47. package/dist/cli/yagni-command-spec.js +4 -19
  48. package/dist/cli/yagni-command-spec.js.map +1 -1
  49. package/dist/cli/yagni-config-schema.d.ts +1 -7
  50. package/dist/cli/yagni-config-schema.d.ts.map +1 -1
  51. package/dist/cli/yagni-config-schema.js +4 -6
  52. package/dist/cli/yagni-config-schema.js.map +1 -1
  53. package/dist/cli/yagni-config.d.ts.map +1 -1
  54. package/dist/cli/yagni-config.js +3 -7
  55. package/dist/cli/yagni-config.js.map +1 -1
  56. package/dist/cli/yagni-presentation.d.ts +1 -2
  57. package/dist/cli/yagni-presentation.d.ts.map +1 -1
  58. package/dist/cli/yagni-presentation.js +4 -4
  59. package/dist/cli/yagni-presentation.js.map +1 -1
  60. package/dist/cli/yagni-runner.d.ts +0 -2
  61. package/dist/cli/yagni-runner.d.ts.map +1 -1
  62. package/dist/cli/yagni-runner.js +40 -8
  63. package/dist/cli/yagni-runner.js.map +1 -1
  64. package/dist/detectors/duplicate-body-candidate.d.ts +9 -2
  65. package/dist/detectors/duplicate-body-candidate.d.ts.map +1 -1
  66. package/dist/detectors/duplicate-body-candidate.js +123 -120
  67. package/dist/detectors/duplicate-body-candidate.js.map +1 -1
  68. package/dist/detectors/registry.d.ts +9 -1
  69. package/dist/detectors/registry.d.ts.map +1 -1
  70. package/dist/detectors/registry.js +9 -1
  71. package/dist/detectors/registry.js.map +1 -1
  72. package/dist/detectors/types.d.ts +1 -2
  73. package/dist/detectors/types.d.ts.map +1 -1
  74. package/dist/detectors/unused-config-surface.d.ts.map +1 -1
  75. package/dist/detectors/unused-config-surface.js +0 -2
  76. package/dist/detectors/unused-config-surface.js.map +1 -1
  77. package/dist/index.d.ts +1 -1
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/lib/build-ts-inventory.d.ts +33 -0
  80. package/dist/lib/build-ts-inventory.d.ts.map +1 -0
  81. package/dist/lib/build-ts-inventory.js +252 -0
  82. package/dist/lib/build-ts-inventory.js.map +1 -0
  83. package/dist/persistence/session-payload.d.ts +7 -10
  84. package/dist/persistence/session-payload.d.ts.map +1 -1
  85. package/dist/persistence/session-payload.js +64 -6
  86. package/dist/persistence/session-payload.js.map +1 -1
  87. package/dist/scoring/__tests__/confidence.test.js +3 -4
  88. package/dist/scoring/__tests__/confidence.test.js.map +1 -1
  89. package/dist/scoring/confidence.d.ts +1 -1
  90. package/dist/scoring/confidence.d.ts.map +1 -1
  91. package/dist/scoring/confidence.js +1 -2
  92. package/dist/scoring/confidence.js.map +1 -1
  93. package/dist/tool.d.ts.map +1 -1
  94. package/dist/tool.js +3 -1
  95. package/dist/tool.js.map +1 -1
  96. package/dist/types/yagni-config.d.ts +1 -4
  97. package/dist/types/yagni-config.d.ts.map +1 -1
  98. package/dist/types/yagni-config.js +0 -1
  99. package/dist/types/yagni-config.js.map +1 -1
  100. package/dist/types/yagni-metadata.d.ts +0 -1
  101. package/dist/types/yagni-metadata.d.ts.map +1 -1
  102. package/package.json +10 -10
  103. package/dist/__tests__/graph-evidence.test.d.ts +0 -2
  104. package/dist/__tests__/graph-evidence.test.d.ts.map +0 -1
  105. package/dist/__tests__/graph-evidence.test.js +0 -159
  106. package/dist/__tests__/graph-evidence.test.js.map +0 -1
  107. package/dist/evidence/graph-evidence.d.ts +0 -15
  108. package/dist/evidence/graph-evidence.d.ts.map +0 -1
  109. package/dist/evidence/graph-evidence.js +0 -89
  110. package/dist/evidence/graph-evidence.js.map +0 -1
  111. package/dist/evidence/load-graph-adapters.d.ts +0 -13
  112. package/dist/evidence/load-graph-adapters.d.ts.map +0 -1
  113. package/dist/evidence/load-graph-adapters.js +0 -67
  114. package/dist/evidence/load-graph-adapters.js.map +0 -1
  115. package/dist/lib/isolate-exit-code.d.ts +0 -8
  116. package/dist/lib/isolate-exit-code.d.ts.map +0 -1
  117. package/dist/lib/isolate-exit-code.js +0 -27
  118. package/dist/lib/isolate-exit-code.js.map +0 -1
@@ -0,0 +1,252 @@
1
+ /**
2
+ * build-ts-inventory — yagni's OWN TypeScript function-body inventory, the input to its
3
+ * duplicate detector. yagni builds this in-process (no `@opensip-cli/graph` dependency,
4
+ * ADR-0064) by walking the TS AST exactly as graph-typescript's inventory does, so the
5
+ * two tools produce byte-identical `CloneCandidate`s and cannot diverge (the cross-tool
6
+ * parity test is the standing guard).
7
+ *
8
+ * Byte-identity contract (must match `graph-typescript/inventory-helpers/hash-body.ts`
9
+ * + the inventory visitors):
10
+ * - bodyHash/bodySize = `digestCanonicalBody(normalizeWhitespace(stripComments(
11
+ * sourceFile.text.slice(node.getStart(sf), node.getEnd()))))` — same span, same
12
+ * `stripComments` (lang-typescript), same digest (clone-detection).
13
+ * - line = getStart line + 1 (1-based); column = getStart character (0-based);
14
+ * endLine = getEnd line + 1. bodyLines fallback (`endLine − line + 1`) equals graph's
15
+ * feature column (features.ts:132).
16
+ * - inTestFile via the shared `isTestFilePath` (Phase 1 Task 1.3a) — the single predicate.
17
+ * - kind ∈ the eligible set only (function-declaration/method/constructor/getter/setter,
18
+ * with class static blocks emitted as graph's synthetic '<static-init>' function).
19
+ * Arrows / function-expressions / module-init are excluded by policy on both tools, so
20
+ * emitting only the eligible kinds yields the same post-filter groups as graph.
21
+ *
22
+ * Body source text NEVER leaves this parse — only the hash/size/location enter a
23
+ * `CloneCandidate` (H4).
24
+ */
25
+ import { readFileSync, statSync } from 'node:fs';
26
+ import { dirname, join, relative } from 'node:path';
27
+ import { digestCanonicalBody, isTestFilePath, normalizeWhitespace, } from '@opensip-cli/clone-detection';
28
+ import { getMeter, logger, withSpan } from '@opensip-cli/core';
29
+ import { getSharedSourceFile, stripComments } from '@opensip-cli/lang-typescript';
30
+ import ts from 'typescript';
31
+ import { walkTypeScriptFiles } from './walk-typescript-files.js';
32
+ const UNKNOWN_PACKAGE = '<unknown>';
33
+ /** A source file larger than this is skipped (resource bound, H3). Mirrors graph/fitness. */
34
+ const MAX_SOURCE_FILE_BYTES = 10_000_000;
35
+ /**
36
+ * Build the function-body inventory for `cwd` (optionally scoped to `pathRoots`).
37
+ * Walks ALL TS files (including test files) so `inTestFile` stamping is complete and
38
+ * cross-file duplicates are seen; the policy (`findDuplicateBodies`) excludes test-file
39
+ * candidates, exactly as graph does.
40
+ */
41
+ export function buildTsInventory(cwd, pathRoots) {
42
+ return withSpan('opensip-cli-yagni', 'yagni.build_ts_inventory', () => {
43
+ const start = Date.now();
44
+ const filePaths = walkTypeScriptFiles(cwd, true, pathRoots).filter(isGraphTsSourceFile);
45
+ const candidates = [];
46
+ const packageByDir = new Map();
47
+ for (const filePath of filePaths) {
48
+ const content = readBoundedSource(filePath);
49
+ if (content === undefined)
50
+ continue;
51
+ const sourceFile = getSharedSourceFile(filePath, content);
52
+ if (!sourceFile)
53
+ continue;
54
+ const projectRel = relative(cwd, filePath).split('\\').join('/');
55
+ const packageName = resolvePackage(dirname(filePath), cwd, packageByDir) ?? packageFallback(projectRel);
56
+ const ctx = {
57
+ sourceFile,
58
+ projectRel,
59
+ inTestFile: isTestFilePath(projectRel),
60
+ pkg: packageName,
61
+ };
62
+ collectFunctions(sourceFile, ctx, undefined, candidates);
63
+ }
64
+ recordParseDuration(Date.now() - start, candidates.length);
65
+ return candidates;
66
+ });
67
+ }
68
+ /**
69
+ * Recursively collect eligible function-like declarations, tracking the enclosing class
70
+ * name for the qualified name (mirrors graph-typescript's visitors).
71
+ */
72
+ function collectFunctions(node, ctx, enclosingClass, out) {
73
+ const candidate = candidateFor(node, ctx, enclosingClass);
74
+ if (candidate)
75
+ out.push(candidate);
76
+ const nextClass = ts.isClassDeclaration(node) || ts.isClassExpression(node)
77
+ ? (node.name?.text ?? '<anon-class>')
78
+ : enclosingClass;
79
+ ts.forEachChild(node, (child) => collectFunctions(child, ctx, nextClass, out));
80
+ }
81
+ function candidateFor(node, ctx, enclosingClass) {
82
+ const shape = classify(node, enclosingClass, ctx.projectRel);
83
+ if (shape === undefined)
84
+ return undefined;
85
+ const sf = ctx.sourceFile;
86
+ const startLC = sf.getLineAndCharacterOfPosition(node.getStart(sf));
87
+ const endLC = sf.getLineAndCharacterOfPosition(node.getEnd());
88
+ const canonical = normalizeWhitespace(stripComments(sf.text.slice(node.getStart(sf), node.getEnd())));
89
+ const digest = digestCanonicalBody(canonical);
90
+ return {
91
+ bodyHash: digest.hash,
92
+ bodySize: digest.size,
93
+ kind: shape.kind,
94
+ inTestFile: ctx.inTestFile,
95
+ filePath: ctx.projectRel,
96
+ line: startLC.line + 1,
97
+ column: startLC.character,
98
+ endLine: endLC.line + 1,
99
+ simpleName: shape.simpleName,
100
+ qualifiedName: shape.qualifiedName,
101
+ ...(digest.signature === undefined ? {} : { bodySignature: digest.signature }),
102
+ ...(ctx.pkg === undefined ? {} : { package: ctx.pkg }),
103
+ };
104
+ }
105
+ /**
106
+ * Classify a node as one of the ELIGIBLE function kinds (the kinds duplicate detection
107
+ * considers — arrows / function-expressions / module-init are excluded by policy, so they
108
+ * are not emitted). Returns undefined for everything else and for body-less declarations
109
+ * (overload signatures / ambient `declare`) for the declarations graph drops too.
110
+ */
111
+ function classify(node, enclosingClass, projectRel) {
112
+ const base = projectRel.replace(/\.tsx?$/, '');
113
+ const inClass = (name) => enclosingClass ? `${base}.${enclosingClass}.${name}` : `${base}.${name}`;
114
+ if (ts.isFunctionDeclaration(node)) {
115
+ const name = functionDeclName(node);
116
+ return name === undefined
117
+ ? undefined
118
+ : { kind: 'function-declaration', simpleName: name, qualifiedName: `${base}.${name}` };
119
+ }
120
+ if (ts.isConstructorDeclaration(node)) {
121
+ const className = enclosingClass ?? '<anon-class>';
122
+ return {
123
+ kind: 'constructor',
124
+ simpleName: className,
125
+ qualifiedName: `${base}.${className}.constructor`,
126
+ };
127
+ }
128
+ if (ts.isMethodDeclaration(node) && node.body) {
129
+ const name = methodName(node, ctxSourceFile(node));
130
+ if (name === undefined)
131
+ return undefined;
132
+ return { kind: 'method', simpleName: name, qualifiedName: inClass(name) };
133
+ }
134
+ if (ts.isGetAccessor(node))
135
+ return accessorShape(node, 'getter', inClass);
136
+ if (ts.isSetAccessor(node))
137
+ return accessorShape(node, 'setter', inClass);
138
+ if (ts.isClassStaticBlockDeclaration(node)) {
139
+ return {
140
+ kind: 'function-declaration',
141
+ simpleName: '<static-init>',
142
+ qualifiedName: inClass('<static-init>'),
143
+ };
144
+ }
145
+ return undefined;
146
+ }
147
+ /** Function-declaration name, or undefined for body-less (overload/ambient) and unnamed non-default. */
148
+ function functionDeclName(node) {
149
+ if (!node.body)
150
+ return undefined;
151
+ if (node.name)
152
+ return node.name.text;
153
+ const isDefault = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.DefaultKeyword) === true;
154
+ return isDefault ? '<default>' : undefined;
155
+ }
156
+ /** Method name exactly as graph-typescript records it. */
157
+ function methodName(node, sf) {
158
+ const name = node.name;
159
+ if (ts.isIdentifier(name) || ts.isStringLiteral(name))
160
+ return name.text;
161
+ if (ts.isComputedPropertyName(name))
162
+ return name.expression.getText(sf);
163
+ if (ts.isPrivateIdentifier(name))
164
+ return name.text;
165
+ return undefined;
166
+ }
167
+ /** Accessor name exactly as graph-typescript records it; computed/private accessors are skipped. */
168
+ function accessorName(node) {
169
+ const name = node.name;
170
+ return ts.isIdentifier(name) || ts.isStringLiteral(name) ? name.text : undefined;
171
+ }
172
+ function accessorShape(node, kind, inClass) {
173
+ const name = accessorName(node);
174
+ if (name === undefined)
175
+ return undefined;
176
+ return { kind, simpleName: name, qualifiedName: inClass(name) };
177
+ }
178
+ function ctxSourceFile(node) {
179
+ return node.getSourceFile();
180
+ }
181
+ function isGraphTsSourceFile(filePath) {
182
+ return (filePath.endsWith('.ts') || filePath.endsWith('.tsx')) && !filePath.endsWith('.d.ts');
183
+ }
184
+ /** Read a source file, skipping anything over the byte bound (H3). */
185
+ function readBoundedSource(filePath) {
186
+ try {
187
+ if (statSync(filePath).size > MAX_SOURCE_FILE_BYTES)
188
+ return undefined;
189
+ return readFileSync(filePath, 'utf8');
190
+ }
191
+ catch (error) {
192
+ logger.debug({
193
+ evt: 'yagni.inventory.source_unreadable',
194
+ module: 'yagni:build-ts-inventory',
195
+ path: filePath,
196
+ err: error instanceof Error ? error.message : String(error),
197
+ });
198
+ return undefined;
199
+ }
200
+ }
201
+ /**
202
+ * Nearest-`package.json` name for a directory, walking UP to (and not past) the project
203
+ * root — mirrors graph's `pkgOf`/`assignPackages` so cross-package aggregation matches.
204
+ * Memoized per directory.
205
+ */
206
+ function resolvePackage(dir, cwd, cache) {
207
+ const cached = cache.get(dir);
208
+ if (cached !== undefined || cache.has(dir))
209
+ return cached;
210
+ let resolved;
211
+ try {
212
+ const pkg = readFileSync(join(dir, 'package.json'), 'utf8');
213
+ const name = JSON.parse(pkg).name;
214
+ resolved =
215
+ typeof name === 'string' && name.length > 0 ? name : resolveParentPackage(dir, cwd, cache);
216
+ }
217
+ catch {
218
+ resolved = resolveParentPackage(dir, cwd, cache);
219
+ }
220
+ cache.set(dir, resolved);
221
+ return resolved;
222
+ }
223
+ function resolveParentPackage(dir, cwd, cache) {
224
+ const parent = dirname(dir);
225
+ return dir !== cwd && parent !== dir && dir.startsWith(cwd)
226
+ ? resolvePackage(parent, cwd, cache)
227
+ : undefined;
228
+ }
229
+ function packageFallback(projectRel) {
230
+ const segment = projectRel.split('/')[0];
231
+ return segment && segment !== projectRel ? segment : UNKNOWN_PACKAGE;
232
+ }
233
+ /**
234
+ * O1 — record the inventory parse duration on the opt-in OTel histogram. Fire-and-forget;
235
+ * a no-op when no telemetry backend is configured (ADR-0004). Bounded-cardinality labels
236
+ * only — never paths/symbols/counts as label values. Body text never reaches a label.
237
+ */
238
+ function recordParseDuration(durationMs, candidateCount) {
239
+ try {
240
+ getMeter('opensip-cli')
241
+ .createHistogram('opensip_cli.yagni.inventory.parse_duration_ms')
242
+ .record(durationMs, { tool: 'yagni', outcome: candidateCount > 0 ? 'ok' : 'empty' });
243
+ }
244
+ catch (error) {
245
+ logger.debug({
246
+ evt: 'yagni.inventory.telemetry_record_failed',
247
+ module: 'yagni:build-ts-inventory',
248
+ err: error instanceof Error ? error.message : String(error),
249
+ });
250
+ }
251
+ }
252
+ //# sourceMappingURL=build-ts-inventory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-ts-inventory.js","sourceRoot":"","sources":["../../src/lib/build-ts-inventory.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import type { SkippedDetector } from '../detectors/types.js';
2
- import type { YagniGraphMode } from '../types/yagni-config.js';
3
2
  import type { YagniRunSummary } from '../types/yagni-metadata.js';
4
3
  import type { SignalEnvelope } from '@opensip-cli/contracts';
5
4
  export interface YagniSessionFinding {
@@ -38,17 +37,15 @@ export interface YagniSessionPayload {
38
37
  readonly errors: number;
39
38
  readonly warnings: number;
40
39
  readonly skippedDetectors: readonly SkippedDetector[];
41
- readonly graphMode?: YagniGraphMode;
42
- readonly graphBuilt?: boolean;
43
- readonly graphDetail?: string;
44
40
  readonly yagni: YagniRunSummary;
45
41
  };
46
42
  readonly checks: readonly YagniSessionCheck[];
47
43
  }
48
- export declare function buildYagniSessionPayload(envelope: SignalEnvelope, skippedDetectors: readonly SkippedDetector[], graph: {
49
- readonly graphMode: YagniGraphMode;
50
- readonly graphBuilt: boolean;
51
- readonly graphDetail?: string;
52
- readonly yagniSummary: YagniRunSummary;
53
- }): YagniSessionPayload;
44
+ /**
45
+ * Forward-compatible loader for persisted yagni session payloads.
46
+ * Pre-feature rows may still carry removed `graphMode`/`graphBuilt`/`graphDetail`
47
+ * fields — they are ignored rather than rejected.
48
+ */
49
+ export declare function readYagniSessionPayload(raw: unknown): YagniSessionPayload | undefined;
50
+ export declare function buildYagniSessionPayload(envelope: SignalEnvelope, skippedDetectors: readonly SkippedDetector[], yagniSummary: YagniRunSummary): YagniSessionPayload;
54
51
  //# sourceMappingURL=session-payload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-payload.d.ts","sourceRoot":"","sources":["../../src/persistence/session-payload.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,eAAe,EAAE,CAAC;QACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;QACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;KACjC,CAAC;IAGF,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC/C;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,cAAc,EACxB,gBAAgB,EAAE,SAAS,eAAe,EAAE,EAC5C,KAAK,EAAE;IACL,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;CACxC,GACA,mBAAmB,CA6CrB"}
1
+ {"version":3,"file":"session-payload.d.ts","sourceRoot":"","sources":["../../src/persistence/session-payload.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,eAAe,EAAE,CAAC;QACtD,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;KACjC,CAAC;IAGF,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC/C;AAqCD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAqBrF;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,cAAc,EACxB,gBAAgB,EAAE,SAAS,eAAe,EAAE,EAC5C,YAAY,EAAE,eAAe,GAC5B,mBAAmB,CA0CrB"}
@@ -1,5 +1,66 @@
1
- import { isErrorSignal } from '@opensip-cli/core';
2
- export function buildYagniSessionPayload(envelope, skippedDetectors, graph) {
1
+ import { isErrorSignal, isPlainRecord } from '@opensip-cli/core';
2
+ function readNumber(raw, key) {
3
+ const value = raw[key];
4
+ return typeof value === 'number' ? value : 0;
5
+ }
6
+ function parseYagniRunSummary(yagniRaw) {
7
+ const byConfidence = isPlainRecord(yagniRaw.byConfidence) ? yagniRaw.byConfidence : {};
8
+ return {
9
+ totalCandidates: readNumber(yagniRaw, 'totalCandidates'),
10
+ byConfidence: {
11
+ high: readNumber(byConfidence, 'high'),
12
+ medium: readNumber(byConfidence, 'medium'),
13
+ low: readNumber(byConfidence, 'low'),
14
+ },
15
+ estimatedTotalLocReduction: readNumber(yagniRaw, 'estimatedTotalLocReduction'),
16
+ skippedDetectors: Array.isArray(yagniRaw.skippedDetectors)
17
+ ? yagniRaw.skippedDetectors.filter(isPlainRecord).map((s) => ({
18
+ slug: typeof s.slug === 'string' ? s.slug : '',
19
+ reason: typeof s.reason === 'string' ? s.reason : 'disabled',
20
+ ...(typeof s.detail === 'string' ? { detail: s.detail } : {}),
21
+ }))
22
+ : [],
23
+ };
24
+ }
25
+ function parseSkippedDetectors(summaryRaw) {
26
+ if (!Array.isArray(summaryRaw.skippedDetectors))
27
+ return [];
28
+ return summaryRaw.skippedDetectors.filter(isPlainRecord).map((s) => ({
29
+ id: typeof s.id === 'string' ? s.id : '',
30
+ slug: typeof s.slug === 'string' ? s.slug : '',
31
+ reason: 'disabled',
32
+ ...(typeof s.detail === 'string' ? { detail: s.detail } : {}),
33
+ }));
34
+ }
35
+ /**
36
+ * Forward-compatible loader for persisted yagni session payloads.
37
+ * Pre-feature rows may still carry removed `graphMode`/`graphBuilt`/`graphDetail`
38
+ * fields — they are ignored rather than rejected.
39
+ */
40
+ export function readYagniSessionPayload(raw) {
41
+ if (!isPlainRecord(raw) || raw.__version !== 1)
42
+ return undefined;
43
+ if (!isPlainRecord(raw.summary) || !Array.isArray(raw.checks))
44
+ return undefined;
45
+ const summaryRaw = raw.summary;
46
+ const yagniRaw = summaryRaw.yagni;
47
+ if (!isPlainRecord(yagniRaw))
48
+ return undefined;
49
+ return {
50
+ __version: 1,
51
+ summary: {
52
+ total: readNumber(summaryRaw, 'total'),
53
+ passed: readNumber(summaryRaw, 'passed'),
54
+ failed: readNumber(summaryRaw, 'failed'),
55
+ errors: readNumber(summaryRaw, 'errors'),
56
+ warnings: readNumber(summaryRaw, 'warnings'),
57
+ skippedDetectors: parseSkippedDetectors(summaryRaw),
58
+ yagni: parseYagniRunSummary(yagniRaw),
59
+ },
60
+ checks: raw.checks,
61
+ };
62
+ }
63
+ export function buildYagniSessionPayload(envelope, skippedDetectors, yagniSummary) {
3
64
  const bySource = new Map();
4
65
  for (const signal of envelope.signals) {
5
66
  const bucket = bySource.get(signal.source);
@@ -37,10 +98,7 @@ export function buildYagniSessionPayload(envelope, skippedDetectors, graph) {
37
98
  errors: summary.errors,
38
99
  warnings: summary.warnings,
39
100
  skippedDetectors,
40
- graphMode: graph.graphMode,
41
- graphBuilt: graph.graphBuilt,
42
- ...(graph.graphDetail === undefined ? {} : { graphDetail: graph.graphDetail }),
43
- yagni: graph.yagniSummary,
101
+ yagni: yagniSummary,
44
102
  },
45
103
  checks,
46
104
  };
@@ -1 +1 @@
1
- {"version":3,"file":"session-payload.js","sourceRoot":"","sources":["../../src/persistence/session-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAwDlD,MAAM,UAAU,wBAAwB,CACtC,QAAwB,EACxB,gBAA4C,EAC5C,KAKC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;YAC3B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzC,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,OAAiB,CAAC,CAAC,CAAE,SAAmB;YAC3E,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChE,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YACjE,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7E,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC,CAAC;QACJ,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,QAAQ,CAAC,MAAM;YACtD,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;IACrC,OAAO;QACL,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE;YACP,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,gBAAgB;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;YAC9E,KAAK,EAAE,KAAK,CAAC,YAAY;SAC1B;QACD,MAAM;KACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"session-payload.js","sourceRoot":"","sources":["../../src/persistence/session-payload.ts"],"names":[],"mappings":"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"}
@@ -99,16 +99,15 @@ describe('buildYagniRunSummary', () => {
99
99
  mk({ id: 'm', confidence: 'medium', net: 5 }),
100
100
  mk({ id: 'l', confidence: 'low', withLocDelta: false }),
101
101
  noMeta('/n.ts'),
102
- ], 'build', [
103
- { id: 'wd', slug: 'with-detail', reason: 'graph-unavailable', detail: 'go' },
102
+ ], [
103
+ { id: 'wd', slug: 'with-detail', reason: 'disabled', detail: 'configured' },
104
104
  { id: 'nd', slug: 'no-detail', reason: 'disabled' },
105
105
  ]);
106
106
  expect(summary.byConfidence).toEqual({ high: 1, medium: 1, low: 1 });
107
107
  expect(summary.estimatedTotalLocReduction).toBe(15);
108
108
  expect(summary.totalCandidates).toBe(4);
109
- expect(summary.graphMode).toBe('build');
110
109
  expect(summary.skippedDetectors).toEqual([
111
- { slug: 'with-detail', reason: 'graph-unavailable', detail: 'go' },
110
+ { slug: 'with-detail', reason: 'disabled', detail: 'configured' },
112
111
  { slug: 'no-detail', reason: 'disabled' },
113
112
  ]);
114
113
  });
@@ -1 +1 @@
1
- {"version":3,"file":"confidence.test.js","sourceRoot":"","sources":["../../../src/scoring/__tests__/confidence.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confidence.test.js","sourceRoot":"","sources":["../../../src/scoring/__tests__/confidence.test.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,6 @@ export declare function filterByMinConfidence(signals: readonly Signal[], minCon
7
7
  export declare function filterByReductionCategories(signals: readonly Signal[], categories: readonly string[]): Signal[];
8
8
  /** Stable sort: confidence DESC → estimateKind → netEstimate DESC → detector → location. */
9
9
  export declare function sortYagniSignals(signals: readonly Signal[]): Signal[];
10
- export declare function buildYagniRunSummary(signals: readonly Signal[], graphMode: string, skippedDetectors: readonly SkippedDetector[]): YagniRunSummary;
10
+ export declare function buildYagniRunSummary(signals: readonly Signal[], skippedDetectors: readonly SkippedDetector[]): YagniRunSummary;
11
11
  export declare function severityForConfidence(confidence: YagniConfidence): 'low' | 'medium';
12
12
  //# sourceMappingURL=confidence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"confidence.d.ts","sourceRoot":"","sources":["../../src/scoring/confidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EACV,eAAe,EAEf,oBAAoB,EACpB,eAAe,EAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAoBhD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAIlF;AAED,yEAAyE;AACzE,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,aAAa,EAAE,eAAe,GAC7B,MAAM,EAAE,CAOV;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,MAAM,EAAE,CAQV;AAQD,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAsBrE;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,SAAS,eAAe,EAAE,GAC3C,eAAe,CA4BjB;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,eAAe,GAAG,KAAK,GAAG,QAAQ,CAEnF"}
1
+ {"version":3,"file":"confidence.d.ts","sourceRoot":"","sources":["../../src/scoring/confidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EACV,eAAe,EAEf,oBAAoB,EACpB,eAAe,EAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAoBhD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAIlF;AAED,yEAAyE;AACzE,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,aAAa,EAAE,eAAe,GAC7B,MAAM,EAAE,CAOV;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,MAAM,EAAE,CAQV;AAQD,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAsBrE;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,gBAAgB,EAAE,SAAS,eAAe,EAAE,GAC3C,eAAe,CA2BjB;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,eAAe,GAAG,KAAK,GAAG,QAAQ,CAEnF"}
@@ -69,7 +69,7 @@ export function sortYagniSignals(signals) {
69
69
  return locationKey(a).localeCompare(locationKey(b));
70
70
  });
71
71
  }
72
- export function buildYagniRunSummary(signals, graphMode, skippedDetectors) {
72
+ export function buildYagniRunSummary(signals, skippedDetectors) {
73
73
  let high = 0;
74
74
  let medium = 0;
75
75
  let low = 0;
@@ -92,7 +92,6 @@ export function buildYagniRunSummary(signals, graphMode, skippedDetectors) {
92
92
  totalCandidates: signals.length,
93
93
  byConfidence: { high, medium, low },
94
94
  estimatedTotalLocReduction,
95
- graphMode,
96
95
  skippedDetectors: skippedDetectors.map((s) => ({
97
96
  slug: s.slug,
98
97
  reason: s.reason,
@@ -1 +1 @@
1
- {"version":3,"file":"confidence.js","sourceRoot":"","sources":["../../src/scoring/confidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confidence.js","sourceRoot":"","sources":["../../src/scoring/confidence.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAuD,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AASnG;;GAEG;AACH,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C,eAAO,MAAM,eAAe,yCAAyC,CAAC;AAQtE,eAAO,MAAM,SAAS,EAAE,IAkBtB,CAAC"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAuD,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AASnG;;GAEG;AACH,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C,eAAO,MAAM,eAAe,yCAAyC,CAAC;AAQtE,eAAO,MAAM,SAAS,EAAE,IAoBtB,CAAC"}
package/dist/tool.js CHANGED
@@ -25,7 +25,9 @@ export const yagniTool = defineTool({
25
25
  },
26
26
  commandSpecs: [buildYagniCommandSpec(setUpYagniLiveView)],
27
27
  extensionPoints: {
28
- yagniContractVersion: YAGNI_CONTRACT_VERSION,
28
+ contractVersions: {
29
+ yagni: YAGNI_CONTRACT_VERSION,
30
+ },
29
31
  config: {
30
32
  schema: yagniConfigDeclaration.schema,
31
33
  defaults: yagniConfigDeclaration.defaults,
package/dist/tool.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAkC,MAAM,mBAAmB,CAAC;AAEnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAsB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAG,sCAAsC,CAAC;AAEtE,SAAS,kBAAkB,CAAC,GAAmB;IAC7C,GAAG,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CACpE,eAAe,CAAC,IAAqB,EAAE,GAAG,EAAE,WAAW,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAS,UAAU,CAAC;IACxC,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE;QACR,EAAE,EAAE,eAAe;QACnB,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAC5C,WAAW,EAAE,4DAA4D;KAC1E;IACD,YAAY,EAAE,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACzD,eAAe,EAAE;QACf,oBAAoB,EAAE,sBAAsB;QAC5C,MAAM,EAAE;YACN,MAAM,EAAE,sBAAsB,CAAC,MAAM;YACrC,QAAQ,EAAE,sBAAsB,CAAC,QAAQ;YACzC,GAAG,EAAE,sBAAsB,CAAC,GAAG;SAChC;QACD,iBAAiB,EAAE,sBAAsB;QACzC,mBAAmB,EAAE,wBAAwB;KAC9C;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAkC,MAAM,mBAAmB,CAAC;AAEnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAsB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAG,sCAAsC,CAAC;AAEtE,SAAS,kBAAkB,CAAC,GAAmB;IAC7C,GAAG,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CACpE,eAAe,CAAC,IAAqB,EAAE,GAAG,EAAE,WAAW,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAS,UAAU,CAAC;IACxC,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE;QACR,EAAE,EAAE,eAAe;QACnB,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAC5C,WAAW,EAAE,4DAA4D;KAC1E;IACD,YAAY,EAAE,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACzD,eAAe,EAAE;QACf,gBAAgB,EAAE;YAChB,KAAK,EAAE,sBAAsB;SAC9B;QACD,MAAM,EAAE;YACN,MAAM,EAAE,sBAAsB,CAAC,MAAM;YACrC,QAAQ,EAAE,sBAAsB,CAAC,QAAQ;YACzC,GAAG,EAAE,sBAAsB,CAAC,GAAG;SAChC;QACD,iBAAiB,EAAE,sBAAsB;QACzC,mBAAmB,EAAE,wBAAwB;KAC9C;CACF,CAAC,CAAC"}
@@ -2,17 +2,14 @@
2
2
  * Resolved YAGNI tool configuration — mirrors the `yagni:` namespace block.
3
3
  */
4
4
  import type { YagniConfidence } from './yagni-metadata.js';
5
- /** Graph evidence strategy used by YAGNI graph-backed detectors. */
6
- export type YagniGraphMode = 'auto' | 'reuse' | 'build' | 'off';
7
5
  /** Validated values from the `yagni:` config namespace. */
8
6
  export interface YagniConfig {
9
7
  readonly failOnErrors?: number;
10
8
  readonly failOnWarnings?: number;
11
9
  readonly defaultMinConfidence?: YagniConfidence;
12
- readonly graphMode?: YagniGraphMode;
13
10
  readonly includeTests?: boolean;
14
11
  readonly disabledDetectors?: readonly string[];
15
12
  readonly detectorSettings?: Readonly<Record<string, Readonly<Record<string, unknown>>>>;
16
13
  }
17
- export declare const DEFAULT_YAGNI_CONFIG: Required<Pick<YagniConfig, 'failOnErrors' | 'failOnWarnings' | 'defaultMinConfidence' | 'graphMode' | 'includeTests'>>;
14
+ export declare const DEFAULT_YAGNI_CONFIG: Required<Pick<YagniConfig, 'failOnErrors' | 'failOnWarnings' | 'defaultMinConfidence' | 'includeTests'>>;
18
15
  //# sourceMappingURL=yagni-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"yagni-config.d.ts","sourceRoot":"","sources":["../../src/types/yagni-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,oEAAoE;AACpE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAEhE,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,eAAe,CAAC;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CACzF;AAED,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CACzC,IAAI,CACF,WAAW,EACX,cAAc,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,WAAW,GAAG,cAAc,CAC1F,CAOF,CAAC"}
1
+ {"version":3,"file":"yagni-config.d.ts","sourceRoot":"","sources":["../../src/types/yagni-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,eAAe,CAAC;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CACzF;AAED,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CACzC,IAAI,CAAC,WAAW,EAAE,cAAc,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,cAAc,CAAC,CAM/F,CAAC"}
@@ -5,7 +5,6 @@ export const DEFAULT_YAGNI_CONFIG = {
5
5
  failOnErrors: 0,
6
6
  failOnWarnings: 0,
7
7
  defaultMinConfidence: 'medium',
8
- graphMode: 'auto',
9
8
  includeTests: false,
10
9
  };
11
10
  //# sourceMappingURL=yagni-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"yagni-config.js","sourceRoot":"","sources":["../../src/types/yagni-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH,MAAM,CAAC,MAAM,oBAAoB,GAK7B;IACF,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,oBAAoB,EAAE,QAAQ;IAC9B,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,KAAK;CACpB,CAAC"}
1
+ {"version":3,"file":"yagni-config.js","sourceRoot":"","sources":["../../src/types/yagni-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,MAAM,CAAC,MAAM,oBAAoB,GAE7B;IACF,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,oBAAoB,EAAE,QAAQ;IAC9B,YAAY,EAAE,KAAK;CACpB,CAAC"}
@@ -41,7 +41,6 @@ export interface YagniRunSummary {
41
41
  readonly low: number;
42
42
  };
43
43
  readonly estimatedTotalLocReduction: number;
44
- readonly graphMode: string;
45
44
  readonly skippedDetectors: readonly {
46
45
  readonly slug: string;
47
46
  readonly reason: string;
@@ -1 +1 @@
1
- {"version":3,"file":"yagni-metadata.d.ts","sourceRoot":"","sources":["../../src/types/yagni-metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAC9B,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,QAAQ,CAAC;AAEb,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,CAAC;AAEtE,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;CAC1C;AAED,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnD;AAED,qDAAqD;AACrD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C;AAED,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,SAAS;QAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;CACL"}
1
+ {"version":3,"file":"yagni-metadata.d.ts","sourceRoot":"","sources":["../../src/types/yagni-metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAC9B,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,QAAQ,CAAC;AAEb,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,CAAC;AAEtE,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;CAC1C;AAED,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnD;AAED,qDAAqD;AACrD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C;AAED,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,SAAS;QAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;CACL"}