@kernlang/evolve 3.1.5 → 3.1.7

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 (74) hide show
  1. package/LICENSE +17 -0
  2. package/dist/concept-gap-adapter.js +1 -1
  3. package/dist/concept-gap-adapter.js.map +1 -1
  4. package/dist/detector-registry.js +1 -1
  5. package/dist/detector-registry.js.map +1 -1
  6. package/dist/detectors/animation.js +4 -8
  7. package/dist/detectors/animation.js.map +1 -1
  8. package/dist/detectors/data-fetching.js +3 -5
  9. package/dist/detectors/data-fetching.js.map +1 -1
  10. package/dist/detectors/express-middleware.js +4 -4
  11. package/dist/detectors/express-middleware.js.map +1 -1
  12. package/dist/detectors/react-forms.js +5 -3
  13. package/dist/detectors/react-forms.js.map +1 -1
  14. package/dist/detectors/schema-validation.js +2 -2
  15. package/dist/detectors/schema-validation.js.map +1 -1
  16. package/dist/detectors/state-mgmt.js +2 -3
  17. package/dist/detectors/state-mgmt.js.map +1 -1
  18. package/dist/detectors/structural.js +37 -23
  19. package/dist/detectors/structural.js.map +1 -1
  20. package/dist/detectors/testing.js +1 -1
  21. package/dist/detectors/testing.js.map +1 -1
  22. package/dist/detectors/vue-composables.js +4 -2
  23. package/dist/detectors/vue-composables.js.map +1 -1
  24. package/dist/evolve-dedup.js.map +1 -1
  25. package/dist/evolve-rollback.js +2 -2
  26. package/dist/evolve-rollback.js.map +1 -1
  27. package/dist/evolve-runner.js +24 -23
  28. package/dist/evolve-runner.js.map +1 -1
  29. package/dist/evolve-validator-v4.js +4 -5
  30. package/dist/evolve-validator-v4.js.map +1 -1
  31. package/dist/evolved-node-loader.js +4 -4
  32. package/dist/evolved-node-loader.js.map +1 -1
  33. package/dist/expressibility-scorer.d.ts +1 -1
  34. package/dist/expressibility-scorer.js +2 -3
  35. package/dist/expressibility-scorer.js.map +1 -1
  36. package/dist/gap-detector.d.ts +1 -1
  37. package/dist/gap-detector.js +2 -2
  38. package/dist/gap-detector.js.map +1 -1
  39. package/dist/golden-test-runner.js +4 -5
  40. package/dist/golden-test-runner.js.map +1 -1
  41. package/dist/graduation.d.ts +1 -1
  42. package/dist/graduation.js +4 -4
  43. package/dist/graduation.js.map +1 -1
  44. package/dist/index.d.ts +24 -24
  45. package/dist/index.js +35 -34
  46. package/dist/index.js.map +1 -1
  47. package/dist/llm-discovery.d.ts +1 -1
  48. package/dist/llm-discovery.js +16 -8
  49. package/dist/llm-discovery.js.map +1 -1
  50. package/dist/llm-provider.js +4 -4
  51. package/dist/llm-provider.js.map +1 -1
  52. package/dist/node-governance.js.map +1 -1
  53. package/dist/node-proposer.d.ts +3 -3
  54. package/dist/node-proposer.js +4 -9
  55. package/dist/node-proposer.js.map +1 -1
  56. package/dist/node-validator.js +1 -1
  57. package/dist/node-validator.js.map +1 -1
  58. package/dist/pattern-analyzer.d.ts +1 -1
  59. package/dist/pattern-analyzer.js +25 -23
  60. package/dist/pattern-analyzer.js.map +1 -1
  61. package/dist/quality-scorer.d.ts +1 -1
  62. package/dist/quality-scorer.js +7 -7
  63. package/dist/quality-scorer.js.map +1 -1
  64. package/dist/sandboxed-generator.js +21 -18
  65. package/dist/sandboxed-generator.js.map +1 -1
  66. package/dist/staging.d.ts +2 -2
  67. package/dist/staging.js +14 -11
  68. package/dist/staging.js.map +1 -1
  69. package/dist/template-proposer.js +1 -1
  70. package/dist/template-proposer.js.map +1 -1
  71. package/dist/template-validator.js +17 -17
  72. package/dist/template-validator.js.map +1 -1
  73. package/dist/types.d.ts +1 -1
  74. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -10,49 +10,50 @@
10
10
  * registerDetector(pack) — register custom detector
11
11
  * loadBuiltinDetectors() — load all built-in detectors
12
12
  */
13
- // Detector Registry
14
- export { registerDetector, unregisterDetector, getDetector, getAllDetectors, getDetectorsForImport, getUniversalDetectors, clearDetectors, detectorCount, loadBuiltinDetectors, registerDetectors, } from './detector-registry.js';
15
- // Gap Detector
16
- export { detectGaps, detectGapsInFiles, detectGapsFromSource, resetGapIds } from './gap-detector.js';
17
13
  // Concept Gap Adapter
18
14
  export { detectConceptualGaps, resetConceptGapIds } from './concept-gap-adapter.js';
19
- // Quality Scorer
20
- export { scorePattern, passesThresholds, DEFAULT_THRESHOLDS } from './quality-scorer.js';
21
- // Pattern Analyzer
22
- export { analyzePatterns, analyzeStructuralPatterns, computeStructuralHash, deriveTemplateName } from './pattern-analyzer.js';
23
- // Template Proposer
24
- export { proposeTemplates, generateKernSource } from './template-proposer.js';
25
- // Template Validator
26
- export { validateProposal } from './template-validator.js';
27
- // Staging
28
- export { stageProposal, listStaged, getStaged, updateStagedStatus, promoteLocal, cleanRejected, formatSplitView,
29
- // v3 node staging
30
- stageNodeProposal, listStagedNodes, updateStagedNodeStatus, formatNodeSplitView,
31
- // v4 evolve staging
32
- stageEvolveV4Proposal, listStagedEvolveV4, getStagedEvolveV4, updateStagedEvolveV4Status, cleanRejectedEvolveV4, cleanApprovedEvolveV4, formatEvolveV4SplitView, } from './staging.js';
15
+ // Detector Registry
16
+ export { clearDetectors, detectorCount, getAllDetectors, getDetector, getDetectorsForImport, getUniversalDetectors, loadBuiltinDetectors, registerDetector, registerDetectors, unregisterDetector, } from './detector-registry.js';
17
+ // Evolve Runner (main entry points)
18
+ export { evolve, evolveSource } from './evolve-runner.js';
33
19
  // Expressibility Scorer (v3)
34
- export { scoreExpressibility, isNodeCandidate, EXPRESSIBILITY_NODE_THRESHOLD, } from './expressibility-scorer.js';
35
- // Node Proposer (v3)
36
- export { proposeNodes, deriveNodeName as deriveNodeProposalName, resetNodeProposalIds } from './node-proposer.js';
20
+ export { EXPRESSIBILITY_NODE_THRESHOLD, isNodeCandidate, scoreExpressibility, } from './expressibility-scorer.js';
21
+ // Gap Detector
22
+ export { detectGaps, detectGapsFromSource, detectGapsInFiles, resetGapIds } from './gap-detector.js';
37
23
  // Node Governance (v3)
38
- export { governanceGate, getGovernanceThresholds } from './node-governance.js';
24
+ export { getGovernanceThresholds, governanceGate } from './node-governance.js';
25
+ // Node Proposer (v3)
26
+ export { deriveNodeName as deriveNodeProposalName, proposeNodes, resetNodeProposalIds } from './node-proposer.js';
39
27
  // Node Validator (v3)
40
28
  export { validateNodeProposal } from './node-validator.js';
41
- // Evolve Runner (main entry points)
42
- export { evolve, evolveSource } from './evolve-runner.js';
43
- // Evolved Node Loader
44
- export { loadEvolvedNodes, clearEvolvedNodes, getEvolvedGenerator, getParserHints as getEvolvedParserHints, hasEvolvedNodes, evolvedNodeCount, getEvolvedKeywords, readManifest as readEvolvedManifest, readNodeDefinition, rebuildManifest as rebuildEvolvedManifest, } from './evolved-node-loader.js';
45
- // Sandboxed Generator
46
- export { loadSandboxedGenerator, compileSandboxedGenerator, getCodegenHelpers } from './sandboxed-generator.js';
29
+ // Pattern Analyzer
30
+ export { analyzePatterns, analyzeStructuralPatterns, computeStructuralHash, deriveTemplateName, } from './pattern-analyzer.js';
31
+ // Quality Scorer
32
+ export { DEFAULT_THRESHOLDS, passesThresholds, scorePattern } from './quality-scorer.js';
33
+ // Staging
34
+ export { cleanApprovedEvolveV4, cleanRejected, cleanRejectedEvolveV4, formatEvolveV4SplitView, formatNodeSplitView, formatSplitView, getStaged, getStagedEvolveV4, listStaged, listStagedEvolveV4, listStagedNodes, promoteLocal,
35
+ // v4 evolve staging
36
+ stageEvolveV4Proposal,
37
+ // v3 node staging
38
+ stageNodeProposal, stageProposal, updateStagedEvolveV4Status, updateStagedNodeStatus, updateStagedStatus, } from './staging.js';
39
+ // Template Proposer
40
+ export { generateKernSource, proposeTemplates } from './template-proposer.js';
41
+ // Template Validator
42
+ export { validateProposal } from './template-validator.js';
43
+ // ── Evolve v4 — Self-Extending IR ───────────────────────────────────────
44
+ export { checkDedup } from './evolve-dedup.js';
45
+ // Rollback + Prune + Migrate
46
+ export { detectCollisions, findUsages, pruneNodes, renameEvolvedNode, restoreNode, rollbackNode, } from './evolve-rollback.js';
47
47
  // v4 Validation
48
48
  export { validateEvolveProposal } from './evolve-validator-v4.js';
49
- export { checkDedup } from './evolve-dedup.js';
50
- export { compareGoldenOutput, runGoldenTests, formatGoldenTestResults } from './golden-test-runner.js';
49
+ // Evolved Node Loader
50
+ export { clearEvolvedNodes, evolvedNodeCount, getEvolvedGenerator, getEvolvedKeywords, getParserHints as getEvolvedParserHints, hasEvolvedNodes, loadEvolvedNodes, readManifest as readEvolvedManifest, readNodeDefinition, rebuildManifest as rebuildEvolvedManifest, } from './evolved-node-loader.js';
51
+ export { compareGoldenOutput, formatGoldenTestResults, runGoldenTests } from './golden-test-runner.js';
51
52
  // Graduation
52
- export { graduateNode, compileCodegenToJS, promoteNode } from './graduation.js';
53
- // Rollback + Prune + Migrate
54
- export { rollbackNode, restoreNode, findUsages, pruneNodes, detectCollisions, renameEvolvedNode } from './evolve-rollback.js';
53
+ export { compileCodegenToJS, graduateNode, promoteNode } from './graduation.js';
55
54
  // LLM Discovery
56
- export { buildDiscoveryPrompt, parseDiscoveryResponse, selectRepresentativeFiles, collectTsFiles, estimateTokens, buildBackfillPrompt, buildRetryPrompt } from './llm-discovery.js';
55
+ export { buildBackfillPrompt, buildDiscoveryPrompt, buildRetryPrompt, collectTsFiles, estimateTokens, parseDiscoveryResponse, selectRepresentativeFiles, } from './llm-discovery.js';
57
56
  export { createLLMProvider, TokenBudget } from './llm-provider.js';
57
+ // Sandboxed Generator
58
+ export { compileSandboxedGenerator, getCodegenHelpers, loadSandboxedGenerator } from './sandboxed-generator.js';
58
59
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * Offline-safe: this module only constructs prompts and parses responses.
8
8
  * The actual LLM call is handled by llm-provider.ts.
9
9
  */
10
- import type { EvolveNodeProposal, EvolvedNodeProp } from './evolved-types.js';
10
+ import type { EvolvedNodeProp, EvolveNodeProposal } from './evolved-types.js';
11
11
  /**
12
12
  * Select representative TypeScript files, clustered by directory.
13
13
  * Returns batches of 3-5 files suitable for LLM context.
@@ -8,7 +8,7 @@
8
8
  * The actual LLM call is handled by llm-provider.ts.
9
9
  */
10
10
  import { readdirSync, statSync } from 'fs';
11
- import { resolve, join, dirname } from 'path';
11
+ import { dirname, join, resolve } from 'path';
12
12
  // ── File Selection ───────────────────────────────────────────────────────
13
13
  /**
14
14
  * Select representative TypeScript files, clustered by directory.
@@ -29,7 +29,7 @@ export function selectRepresentativeFiles(filePaths, maxPerCluster = 3, maxBatch
29
29
  }
30
30
  // Sample from each cluster: pick diverse files (by size variance)
31
31
  const sampled = [];
32
- for (const [dir, files] of clusters) {
32
+ for (const [_dir, files] of clusters) {
33
33
  // Sort by file size (descending) to get diverse samples
34
34
  const sorted = [...files].sort((a, b) => {
35
35
  try {
@@ -96,7 +96,9 @@ export function collectTsFiles(dir, recursive = true) {
96
96
  * Build the LLM discovery prompt for a batch of files.
97
97
  */
98
98
  export function buildDiscoveryPrompt(files, nodeTypes, evolvedKeywords = []) {
99
- const fileBlocks = files.map(f => `### ${f.path}\n\`\`\`typescript\n${truncate(f.content, 3000)}\n\`\`\``).join('\n\n');
99
+ const fileBlocks = files
100
+ .map((f) => `### ${f.path}\n\`\`\`typescript\n${truncate(f.content, 3000)}\n\`\`\``)
101
+ .join('\n\n');
100
102
  const existingNodes = [...nodeTypes, ...evolvedKeywords].join(', ');
101
103
  return `You are analyzing TypeScript source files to find repeating structural patterns that a language called KERN cannot yet express.
102
104
 
@@ -200,7 +202,11 @@ function normalizeProposal(raw, evolveRunId) {
200
202
  if (!keyword || typeof keyword !== 'string')
201
203
  return null;
202
204
  // Normalize keyword to lowercase with hyphens
203
- const normalizedKeyword = keyword.toLowerCase().replace(/[^a-z0-9-]/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '');
205
+ const normalizedKeyword = keyword
206
+ .toLowerCase()
207
+ .replace(/[^a-z0-9-]/g, '-')
208
+ .replace(/-+/g, '-')
209
+ .replace(/^-|-$/g, '');
204
210
  if (!normalizedKeyword)
205
211
  return null;
206
212
  const reason = raw.reason || {};
@@ -234,9 +240,11 @@ function normalizeProps(raw) {
234
240
  return [];
235
241
  return raw
236
242
  .filter((p) => p !== null && typeof p === 'object')
237
- .map(p => ({
243
+ .map((p) => ({
238
244
  name: p.name || 'unknown',
239
- type: (['string', 'boolean', 'number', 'expression'].includes(p.type) ? p.type : 'string'),
245
+ type: (['string', 'boolean', 'number', 'expression'].includes(p.type)
246
+ ? p.type
247
+ : 'string'),
240
248
  required: p.required === true,
241
249
  description: p.description || '',
242
250
  }));
@@ -245,7 +253,7 @@ function normalizeProps(raw) {
245
253
  function truncate(content, maxChars) {
246
254
  if (content.length <= maxChars)
247
255
  return content;
248
- return content.slice(0, maxChars) + '\n// ... truncated ...';
256
+ return `${content.slice(0, maxChars)}\n// ... truncated ...`;
249
257
  }
250
258
  /**
251
259
  * Estimate token count for a string (rough: 1 token ≈ 4 chars).
@@ -312,7 +320,7 @@ export function buildBackfillPrompt(keyword, definition, target) {
312
320
  Target: ${target}
313
321
 
314
322
  ## Props
315
- ${definition.props.map(p => `- ${p.name} (${p.type}${p.required ? ', required' : ''}): ${p.description}`).join('\n')}
323
+ ${definition.props.map((p) => `- ${p.name} (${p.type}${p.required ? ', required' : ''}): ${p.description}`).join('\n')}
316
324
 
317
325
  ## Child Types
318
326
  ${definition.childTypes.join(', ') || '(none)'}
@@ -1 +1 @@
1
- {"version":3,"file":"llm-discovery.js","sourceRoot":"","sources":["../src/llm-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-discovery.js","sourceRoot":"","sources":["../src/llm-discovery.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ function createOpenAIProvider(options) {
55
55
  const text = await response.text();
56
56
  throw new Error(`OpenAI API error ${response.status}: ${text}`);
57
57
  }
58
- const data = await response.json();
58
+ const data = (await response.json());
59
59
  return data.choices[0]?.message?.content || '';
60
60
  },
61
61
  };
@@ -86,7 +86,7 @@ function createAnthropicProvider(options) {
86
86
  const text = await response.text();
87
87
  throw new Error(`Anthropic API error ${response.status}: ${text}`);
88
88
  }
89
- const data = await response.json();
89
+ const data = (await response.json());
90
90
  return data.content[0]?.text || '';
91
91
  },
92
92
  };
@@ -110,7 +110,7 @@ function createOllamaProvider(options) {
110
110
  const text = await response.text();
111
111
  throw new Error(`Ollama error ${response.status}: ${text}`);
112
112
  }
113
- const data = await response.json();
113
+ const data = (await response.json());
114
114
  return data.response || '';
115
115
  },
116
116
  };
@@ -137,7 +137,7 @@ export class TokenBudget {
137
137
  return this.used;
138
138
  }
139
139
  toString() {
140
- return `${this.used}/${this.limit} tokens (${Math.round(this.used / this.limit * 100)}%)`;
140
+ return `${this.used}/${this.limit} tokens (${Math.round((this.used / this.limit) * 100)}%)`;
141
141
  }
142
142
  }
143
143
  //# sourceMappingURL=llm-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-provider.js","sourceRoot":"","sources":["../src/llm-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-provider.js","sourceRoot":"","sources":["../src/llm-provider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"node-governance.js","sourceRoot":"","sources":["../src/node-governance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,mBAAmB,GAAG,CAAC,CAAC,CAAC,oBAAoB;AACnD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAAsB;IACnD,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,QAAQ,CAAC,SAAS,GAAG,aAAa,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,SAAS,MAAM,aAAa,wBAAwB,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,QAAQ,CAAC,mBAAmB,CAAC,OAAO,GAAG,kBAAkB,EAAE,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,MAAM,kBAAkB,2BAA2B,CAAC,CAAC;IAC1H,CAAC;IAED,IAAI,QAAQ,CAAC,YAAY,GAAG,iBAAiB,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,YAAY,MAAM,iBAAiB,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,wEAAwE;IACxE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IAC7D,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,mBAAmB,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,mBAAmB,WAAW,IAAI,mBAAmB,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;QAC1B,OAAO;KACR,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,YAAY,EAAE,aAAa;QAC3B,iBAAiB,EAAE,kBAAkB;QACrC,iBAAiB,EAAE,mBAAmB;QACtC,eAAe,EAAE,iBAAiB;KACnC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"node-governance.js","sourceRoot":"","sources":["../src/node-governance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,mBAAmB,GAAG,CAAC,CAAC,CAAC,oBAAoB;AACnD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAAsB;IACnD,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,QAAQ,CAAC,SAAS,GAAG,aAAa,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,SAAS,MAAM,aAAa,wBAAwB,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,QAAQ,CAAC,mBAAmB,CAAC,OAAO,GAAG,kBAAkB,EAAE,CAAC;QAC9D,OAAO,CAAC,IAAI,CACV,kBAAkB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,MAAM,kBAAkB,2BAA2B,CAC1G,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,YAAY,GAAG,iBAAiB,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,YAAY,MAAM,iBAAiB,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,wEAAwE;IACxE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IAC7D,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,mBAAmB,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,mBAAmB,WAAW,IAAI,mBAAmB,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;QAC1B,OAAO;KACR,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,YAAY,EAAE,aAAa;QAC3B,iBAAiB,EAAE,kBAAkB;QACrC,iBAAiB,EAAE,mBAAmB;QACtC,eAAe,EAAE,iBAAiB;KACnC,CAAC;AACJ,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Deterministic: no LLM needed (--llm is optional enhancement).
5
5
  * Maps detected structural patterns to proposed KERN node types.
6
6
  */
7
- import type { AnalyzedPattern, NodeProposal, ExpressibilityScore } from './types.js';
7
+ import type { AnalyzedPattern, ExpressibilityScore, NodeProposal } from './types.js';
8
8
  export declare function resetNodeProposalIds(): void;
9
9
  /**
10
10
  * Derive a KERN node name from a structural pattern's detector ID.
@@ -13,11 +13,11 @@ export declare function deriveNodeName(pattern: AnalyzedPattern): string;
13
13
  /**
14
14
  * Generate example KERN syntax for a proposed node.
15
15
  */
16
- export declare function generateKernSyntaxExample(nodeName: string, pattern: AnalyzedPattern): string;
16
+ export declare function generateKernSyntaxExample(nodeName: string, _pattern: AnalyzedPattern): string;
17
17
  /**
18
18
  * Generate a codegen stub for a proposed node.
19
19
  */
20
- export declare function generateCodegenStub(nodeName: string, pattern: AnalyzedPattern): string;
20
+ export declare function generateCodegenStub(nodeName: string, _pattern: AnalyzedPattern): string;
21
21
  /**
22
22
  * Propose new IR nodes from analyzed structural patterns.
23
23
  *
@@ -35,15 +35,13 @@ export function deriveNodeName(pattern) {
35
35
  }
36
36
  }
37
37
  // Fallback: derive from template name
38
- const cleaned = pattern.templateName
39
- .replace(/^structural-?/, '')
40
- .replace(/-\w+$/, '');
38
+ const cleaned = pattern.templateName.replace(/^structural-?/, '').replace(/-\w+$/, '');
41
39
  return cleaned || 'unknown';
42
40
  }
43
41
  /**
44
42
  * Generate example KERN syntax for a proposed node.
45
43
  */
46
- export function generateKernSyntaxExample(nodeName, pattern) {
44
+ export function generateKernSyntaxExample(nodeName, _pattern) {
47
45
  const examples = {
48
46
  model: [
49
47
  `model name=Example table=examples`,
@@ -65,10 +63,7 @@ export function generateKernSyntaxExample(nodeName, pattern) {
65
63
  ` entry name=item key="ex:{id}"`,
66
64
  ` strategy read-through`,
67
65
  ].join('\n'),
68
- conditional: [
69
- `conditional if=isEnabled`,
70
- ` text value="Feature enabled"`,
71
- ].join('\n'),
66
+ conditional: [`conditional if=isEnabled`, ` text value="Feature enabled"`].join('\n'),
72
67
  select: [
73
68
  `select name=status value=current placeholder="Choose"`,
74
69
  ` option value=active label="Active"`,
@@ -80,7 +75,7 @@ export function generateKernSyntaxExample(nodeName, pattern) {
80
75
  /**
81
76
  * Generate a codegen stub for a proposed node.
82
77
  */
83
- export function generateCodegenStub(nodeName, pattern) {
78
+ export function generateCodegenStub(nodeName, _pattern) {
84
79
  const fnName = `generate${nodeName[0].toUpperCase()}${nodeName.slice(1)}`;
85
80
  return [
86
81
  `export function ${fnName}(node: IRNode): string[] {`,
@@ -1 +1 @@
1
- {"version":3,"file":"node-proposer.js","sourceRoot":"","sources":["../src/node-proposer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-proposer.js","sourceRoot":"","sources":["../src/node-proposer.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ function validateKernSyntax(syntax, errors) {
33
33
  return false;
34
34
  }
35
35
  // Check the syntax has proper indentation structure
36
- const lines = syntax.split('\n').filter(l => l.trim().length > 0);
36
+ const lines = syntax.split('\n').filter((l) => l.trim().length > 0);
37
37
  if (lines.length === 0) {
38
38
  errors.push('KERN syntax has no non-empty lines');
39
39
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"node-validator.js","sourceRoot":"","sources":["../src/node-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAsB;IACzD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,0DAA0D;IAC1D,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEhE,+CAA+C;IAC/C,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEvF,2BAA2B;IAC3B,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAErD,OAAO;QACL,OAAO;QACP,SAAS;QACT,cAAc;QACd,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,MAAgB;IAC1D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oDAAoD;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,2DAA2D,SAAS,GAAG,CAAC,CAAC;QACrF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,QAAgB,EAAE,MAAgB;IAC3E,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0CAA0C;IAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,GAAG,WAAW,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,gDAAgD,UAAU,EAAE,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAsB;IACjD,+CAA+C;IAC/C,qCAAqC;IACrC,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,6BAA6B;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IACvD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"node-validator.js","sourceRoot":"","sources":["../src/node-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAsB;IACzD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,0DAA0D;IAC1D,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEhE,+CAA+C;IAC/C,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEvF,2BAA2B;IAC3B,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAErD,OAAO;QACL,OAAO;QACP,SAAS;QACT,cAAc;QACd,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,MAAgB;IAC1D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oDAAoD;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,2DAA2D,SAAS,GAAG,CAAC,CAAC;QACrF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,QAAgB,EAAE,MAAgB;IAC3E,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0CAA0C;IAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,GAAG,WAAW,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,gDAAgD,UAAU,EAAE,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAsB;IACjD,+CAA+C;IAC/C,qCAAqC;IACrC,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,6BAA6B;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IACvD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;AAC1C,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Groups gaps by structural hash, deduplicates, scores, and selects
5
5
  * representative examples for template generation.
6
6
  */
7
- import type { PatternGap, AnalyzedPattern, QualityThresholds } from './types.js';
7
+ import type { AnalyzedPattern, PatternGap, QualityThresholds } from './types.js';
8
8
  /**
9
9
  * Compute a structural hash for a pattern gap.
10
10
  *
@@ -5,7 +5,7 @@
5
5
  * representative examples for template generation.
6
6
  */
7
7
  import { createHash } from 'crypto';
8
- import { scorePattern, passesThresholds, DEFAULT_THRESHOLDS } from './quality-scorer.js';
8
+ import { DEFAULT_THRESHOLDS, passesThresholds, scorePattern } from './quality-scorer.js';
9
9
  /**
10
10
  * Compute a structural hash for a pattern gap.
11
11
  *
@@ -15,7 +15,7 @@ import { scorePattern, passesThresholds, DEFAULT_THRESHOLDS } from './quality-sc
15
15
  export function computeStructuralHash(gap) {
16
16
  // Normalize: replace variable values with slot types
17
17
  const paramSignature = gap.extractedParams
18
- .map(p => `${p.name}:${p.slotType}`)
18
+ .map((p) => `${p.name}:${p.slotType}`)
19
19
  .sort()
20
20
  .join('|');
21
21
  // The hash key: detector + pattern structure (not values)
@@ -31,7 +31,7 @@ export function deriveTemplateName(gap) {
31
31
  // Start with detector ID which is already descriptive
32
32
  const base = gap.detectorId;
33
33
  // Look for a key identifier param (the main "name" param)
34
- const nameParam = gap.extractedParams.find(p => p.slotType === 'identifier' && !p.optional);
34
+ const nameParam = gap.extractedParams.find((p) => p.slotType === 'identifier' && !p.optional);
35
35
  // If there's a clear naming pattern, use it
36
36
  if (nameParam) {
37
37
  // e.g., react-hook-form + useForm → rhf-useform
@@ -45,16 +45,16 @@ function abbreviateLibrary(name) {
45
45
  // Common abbreviations
46
46
  const abbrevs = {
47
47
  'React Hook Form': 'rhf',
48
- 'Formik': 'formik',
49
- 'Recoil': 'recoil',
48
+ Formik: 'formik',
49
+ Recoil: 'recoil',
50
50
  'Redux Toolkit': 'rtk',
51
51
  'Framer Motion': 'motion',
52
- 'Axios': 'axios',
53
- 'Ky': 'ky',
54
- 'Yup': 'yup',
55
- 'Valibot': 'valibot',
52
+ Axios: 'axios',
53
+ Ky: 'ky',
54
+ Yup: 'yup',
55
+ Valibot: 'valibot',
56
56
  'Express Middleware': 'express-mw',
57
- 'VueUse': 'vueuse',
57
+ VueUse: 'vueuse',
58
58
  'Testing Library': 'rtl',
59
59
  };
60
60
  return abbrevs[name] || name.toLowerCase().replace(/\s+/g, '-');
@@ -64,24 +64,26 @@ function abbreviateLibrary(name) {
64
64
  */
65
65
  function extractImports(gap) {
66
66
  // The anchor import tells us what to import
67
- return [{
67
+ return [
68
+ {
68
69
  from: gap.anchorImport.includes('/') ? gap.anchorImport : guessImportSource(gap),
69
70
  names: [gap.anchorImport],
70
- }];
71
+ },
72
+ ];
71
73
  }
72
74
  function guessImportSource(gap) {
73
75
  // Map library names to package names
74
76
  const packageMap = {
75
77
  'React Hook Form': 'react-hook-form',
76
- 'Formik': 'formik',
77
- 'Recoil': 'recoil',
78
+ Formik: 'formik',
79
+ Recoil: 'recoil',
78
80
  'Redux Toolkit': '@reduxjs/toolkit',
79
81
  'Framer Motion': 'framer-motion',
80
- 'Axios': 'axios',
81
- 'Ky': 'ky',
82
- 'Yup': 'yup',
83
- 'Valibot': 'valibot',
84
- 'VueUse': '@vueuse/core',
82
+ Axios: 'axios',
83
+ Ky: 'ky',
84
+ Yup: 'yup',
85
+ Valibot: 'valibot',
86
+ VueUse: '@vueuse/core',
85
87
  'Testing Library': '@testing-library/react',
86
88
  };
87
89
  return packageMap[gap.libraryName] || gap.libraryName.toLowerCase();
@@ -135,7 +137,7 @@ function mergeParams(gaps) {
135
137
  * Analyze structural gaps separately for v3 node proposals.
136
138
  */
137
139
  export function analyzeStructuralPatterns(gaps, thresholds = DEFAULT_THRESHOLDS) {
138
- const structuralGaps = gaps.filter(g => g.libraryName === 'structural');
140
+ const structuralGaps = gaps.filter((g) => g.libraryName === 'structural');
139
141
  return groupAndScore(structuralGaps, thresholds);
140
142
  }
141
143
  /**
@@ -143,7 +145,7 @@ export function analyzeStructuralPatterns(gaps, thresholds = DEFAULT_THRESHOLDS)
143
145
  */
144
146
  export function analyzePatterns(gaps, thresholds = DEFAULT_THRESHOLDS) {
145
147
  // Structural gaps are findings, not template proposal candidates — filter them out
146
- const templateGaps = gaps.filter(g => g.libraryName !== 'structural');
148
+ const templateGaps = gaps.filter((g) => g.libraryName !== 'structural');
147
149
  return groupAndScore(templateGaps, thresholds);
148
150
  }
149
151
  function groupAndScore(gaps, thresholds) {
@@ -156,7 +158,7 @@ function groupAndScore(gaps, thresholds) {
156
158
  groups.set(key, group);
157
159
  }
158
160
  const patterns = [];
159
- for (const [key, groupGaps] of groups) {
161
+ for (const [_key, groupGaps] of groups) {
160
162
  const representative = groupGaps[0];
161
163
  const hash = computeStructuralHash(representative);
162
164
  const qualityScore = scorePattern(groupGaps, thresholds);
@@ -172,7 +174,7 @@ function groupAndScore(gaps, thresholds) {
172
174
  representativeSnippet: representative.snippet,
173
175
  goldenExample: buildGoldenExample(representative),
174
176
  imports: extractImports(representative),
175
- gapIds: groupGaps.map(g => g.id),
177
+ gapIds: groupGaps.map((g) => g.id),
176
178
  });
177
179
  }
178
180
  patterns.sort((a, b) => b.qualityScore.overallScore - a.qualityScore.overallScore);
@@ -1 +1 @@
1
- {"version":3,"file":"pattern-analyzer.js","sourceRoot":"","sources":["../src/pattern-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pattern-analyzer.js","sourceRoot":"","sources":["../src/pattern-analyzer.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export declare const DEFAULT_THRESHOLDS: QualityThresholds;
9
9
  /**
10
10
  * Calculate quality score for a group of pattern gaps (same structural pattern).
11
11
  */
12
- export declare function scorePattern(gaps: PatternGap[], thresholds?: QualityThresholds): QualityScore;
12
+ export declare function scorePattern(gaps: PatternGap[], _thresholds?: QualityThresholds): QualityScore;
13
13
  /**
14
14
  * Check if a quality score passes the configured thresholds.
15
15
  */
@@ -13,7 +13,7 @@ export const DEFAULT_THRESHOLDS = {
13
13
  /**
14
14
  * Calculate quality score for a group of pattern gaps (same structural pattern).
15
15
  */
16
- export function scorePattern(gaps, thresholds = DEFAULT_THRESHOLDS) {
16
+ export function scorePattern(gaps, _thresholds = DEFAULT_THRESHOLDS) {
17
17
  if (gaps.length === 0) {
18
18
  return { confidence: 0, supportCount: 0, variability: 0, relevanceScore: 0, overallScore: 0 };
19
19
  }
@@ -42,7 +42,10 @@ function calculateVariability(gaps) {
42
42
  if (gaps.length <= 1)
43
43
  return 0;
44
44
  // Compare the number and names of extracted params across instances
45
- const paramSets = gaps.map(g => g.extractedParams.map(p => p.name).sort().join(','));
45
+ const paramSets = gaps.map((g) => g.extractedParams
46
+ .map((p) => p.name)
47
+ .sort()
48
+ .join(','));
46
49
  // Count how many unique param signatures there are
47
50
  const uniqueSignatures = new Set(paramSets).size;
48
51
  const variability = (uniqueSignatures - 1) / Math.max(gaps.length - 1, 1);
@@ -60,7 +63,7 @@ function calculateRelevance(gaps) {
60
63
  // Multi-line patterns with params are good template candidates
61
64
  const lineBasedScore = Math.min(avgSnippetLength / 300, 1);
62
65
  const paramBasedScore = Math.min(avgParams / 3, 1);
63
- return (lineBasedScore * 0.6 + paramBasedScore * 0.4);
66
+ return lineBasedScore * 0.6 + paramBasedScore * 0.4;
64
67
  }
65
68
  function computeOverall(confidence, supportCount, variability, relevanceScore) {
66
69
  // Normalize confidence to 0-1
@@ -70,10 +73,7 @@ function computeOverall(confidence, supportCount, variability, relevanceScore) {
70
73
  // Variability penalty (higher variability = worse)
71
74
  const varPenalty = 1 - variability;
72
75
  // Weighted composite
73
- const overall = confNorm * 0.3 +
74
- supportNorm * 0.2 +
75
- varPenalty * 0.2 +
76
- relevanceScore * 0.3;
76
+ const overall = confNorm * 0.3 + supportNorm * 0.2 + varPenalty * 0.2 + relevanceScore * 0.3;
77
77
  return Math.round(overall * 100);
78
78
  }
79
79
  //# sourceMappingURL=quality-scorer.js.map