@codeledger/selector 0.1.1 → 0.2.1

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 (75) hide show
  1. package/dist/blast-radius.d.ts +7 -0
  2. package/dist/blast-radius.d.ts.map +1 -0
  3. package/dist/blast-radius.js +105 -0
  4. package/dist/blast-radius.js.map +1 -0
  5. package/dist/bundle.d.ts +10 -0
  6. package/dist/bundle.d.ts.map +1 -1
  7. package/dist/bundle.js +83 -9
  8. package/dist/bundle.js.map +1 -1
  9. package/dist/candidates.d.ts +12 -1
  10. package/dist/candidates.d.ts.map +1 -1
  11. package/dist/candidates.js +147 -22
  12. package/dist/candidates.js.map +1 -1
  13. package/dist/confidence.d.ts.map +1 -1
  14. package/dist/confidence.js +31 -0
  15. package/dist/confidence.js.map +1 -1
  16. package/dist/exemplars.d.ts +8 -0
  17. package/dist/exemplars.d.ts.map +1 -0
  18. package/dist/exemplars.js +122 -0
  19. package/dist/exemplars.js.map +1 -0
  20. package/dist/index.d.ts +19 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +15 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/knowledge-bundle.d.ts +41 -0
  25. package/dist/knowledge-bundle.d.ts.map +1 -0
  26. package/dist/knowledge-bundle.js +200 -0
  27. package/dist/knowledge-bundle.js.map +1 -0
  28. package/dist/knowledge-candidates.d.ts +27 -0
  29. package/dist/knowledge-candidates.d.ts.map +1 -0
  30. package/dist/knowledge-candidates.js +123 -0
  31. package/dist/knowledge-candidates.js.map +1 -0
  32. package/dist/knowledge-excerpt.d.ts +26 -0
  33. package/dist/knowledge-excerpt.d.ts.map +1 -0
  34. package/dist/knowledge-excerpt.js +179 -0
  35. package/dist/knowledge-excerpt.js.map +1 -0
  36. package/dist/knowledge-scorer.d.ts +33 -0
  37. package/dist/knowledge-scorer.d.ts.map +1 -0
  38. package/dist/knowledge-scorer.js +234 -0
  39. package/dist/knowledge-scorer.js.map +1 -0
  40. package/dist/layer-ordering.d.ts +37 -0
  41. package/dist/layer-ordering.d.ts.map +1 -0
  42. package/dist/layer-ordering.js +93 -0
  43. package/dist/layer-ordering.js.map +1 -0
  44. package/dist/mode-detect.d.ts +23 -0
  45. package/dist/mode-detect.d.ts.map +1 -0
  46. package/dist/mode-detect.js +76 -0
  47. package/dist/mode-detect.js.map +1 -0
  48. package/dist/near-miss.d.ts +9 -0
  49. package/dist/near-miss.d.ts.map +1 -0
  50. package/dist/near-miss.js +78 -0
  51. package/dist/near-miss.js.map +1 -0
  52. package/dist/scorer.d.ts +2 -2
  53. package/dist/scorer.d.ts.map +1 -1
  54. package/dist/scorer.js +23 -6
  55. package/dist/scorer.js.map +1 -1
  56. package/dist/stubs.d.ts.map +1 -1
  57. package/dist/stubs.js +4 -3
  58. package/dist/stubs.js.map +1 -1
  59. package/dist/task-type.d.ts +28 -0
  60. package/dist/task-type.d.ts.map +1 -0
  61. package/dist/task-type.js +115 -0
  62. package/dist/task-type.js.map +1 -0
  63. package/dist/todo-scan.d.ts +31 -0
  64. package/dist/todo-scan.d.ts.map +1 -0
  65. package/dist/todo-scan.js +63 -0
  66. package/dist/todo-scan.js.map +1 -0
  67. package/dist/token-calibration.d.ts +27 -0
  68. package/dist/token-calibration.d.ts.map +1 -0
  69. package/dist/token-calibration.js +113 -0
  70. package/dist/token-calibration.js.map +1 -0
  71. package/dist/validation.d.ts +7 -0
  72. package/dist/validation.d.ts.map +1 -0
  73. package/dist/validation.js +108 -0
  74. package/dist/validation.js.map +1 -0
  75. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"candidates.js","sourceRoot":"","sources":["../src/candidates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"candidates.js","sourceRoot":"","sources":["../src/candidates.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"confidence.d.ts","sourceRoot":"","sources":["../src/confidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAmB,MAAM,mBAAmB,CAAC;AAEvF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,GACvB,gBAAgB,CA+ElB"}
1
+ {"version":3,"file":"confidence.d.ts","sourceRoot":"","sources":["../src/confidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAmB,MAAM,mBAAmB,CAAC;AAEvF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,GACvB,gBAAgB,CAuFlB"}
@@ -77,10 +77,41 @@ export function assessConfidence(files, _cumulativeScore, taskKeywordCount) {
77
77
  else {
78
78
  level = 'low';
79
79
  }
80
+ // Low-confidence UX: add actionable suggestions for non-high confidence
81
+ if (level !== 'high') {
82
+ const suggestions = generateConfidenceSuggestions(files, keywordRatio, taskKeywordCount);
83
+ for (const s of suggestions) {
84
+ reasons.push(s);
85
+ }
86
+ }
80
87
  return {
81
88
  level,
82
89
  score: Math.round(score * 100) / 100,
83
90
  reasons,
84
91
  };
85
92
  }
93
+ /**
94
+ * Generate actionable suggestions for improving bundle confidence.
95
+ * Only called when confidence is medium or low.
96
+ */
97
+ function generateConfidenceSuggestions(files, keywordRatio, taskKeywordCount) {
98
+ const suggestions = [];
99
+ if (keywordRatio === 0) {
100
+ const topPaths = files.slice(0, 3).map((f) => {
101
+ const parts = f.path.split('/');
102
+ return parts[parts.length - 1]?.replace(/\.\w+$/, '') ?? f.path;
103
+ });
104
+ if (topPaths.length > 0) {
105
+ suggestions.push(`Suggestion: try including file-specific keywords like "${topPaths.join('", "')}" in your task`);
106
+ }
107
+ }
108
+ if (taskKeywordCount <= 1) {
109
+ suggestions.push('Suggestion: use a more descriptive task — e.g., "fix JWT refresh in auth middleware" instead of "fix auth"');
110
+ }
111
+ const testOnly = files.every((f) => f.path.includes('.test.') || f.path.includes('.spec.') || f.path.includes('tests/'));
112
+ if (testOnly && files.length > 0) {
113
+ suggestions.push('Suggestion: bundle contains only test files — add source file keywords to your task');
114
+ }
115
+ return suggestions;
116
+ }
86
117
  //# sourceMappingURL=confidence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"confidence.js","sourceRoot":"","sources":["../src/confidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confidence.js","sourceRoot":"","sources":["../src/confidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { BundleFile, RepoIndex } from '@codeledger/types';
2
+ /**
3
+ * Generate exemplar entries for the bundle. Each exemplar is a structural
4
+ * sibling from the same directory as a selected file, showing the codebase
5
+ * pattern the agent should follow.
6
+ */
7
+ export declare function generateExemplars(root: string, selectedFiles: BundleFile[], repoIndex: RepoIndex, taskKeywords: string[], maxExemplars: number, tokenBudgetRemaining: number): BundleFile[];
8
+ //# sourceMappingURL=exemplars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exemplars.d.ts","sourceRoot":"","sources":["../src/exemplars.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAc,MAAM,mBAAmB,CAAC;AA2B3E;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,UAAU,EAAE,EAC3B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,MAAM,EACpB,oBAAoB,EAAE,MAAM,GAC3B,UAAU,EAAE,CA8Fd"}
@@ -0,0 +1,122 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { join, dirname, basename, extname } from 'node:path';
3
+ import { estimateTokensByExtension } from './token-calibration.js';
4
+ /**
5
+ * Pattern Exemplars — Structural Siblings
6
+ *
7
+ * When a task implies creating something new (e.g., "add a products endpoint"),
8
+ * find an existing sibling file in the same directory that can serve as a
9
+ * structural template. This helps agents produce code that matches existing
10
+ * codebase conventions.
11
+ *
12
+ * Strategy:
13
+ * 1. Look at selected bundle files and identify their directories
14
+ * 2. For each directory, find sibling files with matching extension/naming
15
+ * patterns that are NOT already in the bundle
16
+ * 3. Score siblings by structural similarity (same extension, similar naming)
17
+ * 4. Include the best match as an exemplar with `is_exemplar: true`
18
+ */
19
+ /** Keywords in the task that suggest "add new" intent — structural templates are most valuable here. */
20
+ const NEW_INTENT_PATTERNS = [
21
+ 'add', 'create', 'implement', 'build', 'new', 'introduce', 'scaffold',
22
+ 'write', 'make', 'generate', 'setup', 'set up',
23
+ ];
24
+ /**
25
+ * Generate exemplar entries for the bundle. Each exemplar is a structural
26
+ * sibling from the same directory as a selected file, showing the codebase
27
+ * pattern the agent should follow.
28
+ */
29
+ export function generateExemplars(root, selectedFiles, repoIndex, taskKeywords, maxExemplars, tokenBudgetRemaining) {
30
+ // Only generate exemplars when the task suggests creation/addition
31
+ const hasNewIntent = taskKeywords.some((kw) => NEW_INTENT_PATTERNS.includes(kw));
32
+ if (!hasNewIntent)
33
+ return [];
34
+ const selectedPaths = new Set(selectedFiles.map((f) => f.path));
35
+ // Group selected files by directory
36
+ const dirToPaths = new Map();
37
+ for (const f of selectedFiles) {
38
+ if (f.is_stub || f.is_exemplar)
39
+ continue;
40
+ const dir = dirname(f.path);
41
+ const list = dirToPaths.get(dir) ?? [];
42
+ list.push(f.path);
43
+ dirToPaths.set(dir, list);
44
+ }
45
+ const exemplars = [];
46
+ let tokensUsed = 0;
47
+ const usedDirs = new Set();
48
+ // For each directory, find the best sibling exemplar
49
+ for (const [dir, selectedInDir] of dirToPaths) {
50
+ if (usedDirs.has(dir))
51
+ continue;
52
+ if (exemplars.length >= maxExemplars)
53
+ break;
54
+ // Find sibling files in the same directory that aren't selected
55
+ const siblings = repoIndex.files.filter((f) => {
56
+ if (selectedPaths.has(f.path))
57
+ return false;
58
+ if (f.is_test)
59
+ return false;
60
+ const fDir = dirname(f.path);
61
+ return fDir === dir;
62
+ });
63
+ if (siblings.length === 0)
64
+ continue;
65
+ // Score siblings by similarity to selected files
66
+ const refExt = extname(selectedInDir[0]);
67
+ const scored = siblings.map((sib) => {
68
+ let score = 0;
69
+ // Same extension = base relevance
70
+ if (extname(sib.path) === refExt)
71
+ score += 2;
72
+ // Similar naming pattern (e.g., both have "service" or "controller" suffix)
73
+ const sibStem = basename(sib.path, extname(sib.path));
74
+ for (const selPath of selectedInDir) {
75
+ const selStem = basename(selPath, extname(selPath));
76
+ // Share a common suffix pattern (e.g., "-service", ".controller")
77
+ const sibParts = sibStem.split(/[-_.]/);
78
+ const selParts = selStem.split(/[-_.]/);
79
+ const commonSuffixes = sibParts.filter((p) => selParts.includes(p));
80
+ score += commonSuffixes.length * 0.5;
81
+ }
82
+ // Prefer files that aren't too large (good templates are concise)
83
+ if (sib.lines <= 150)
84
+ score += 1;
85
+ else if (sib.lines <= 300)
86
+ score += 0.5;
87
+ return { file: sib, score };
88
+ });
89
+ scored.sort((a, b) => b.score - a.score);
90
+ const best = scored[0];
91
+ if (!best || best.score < 1)
92
+ continue; // minimum similarity threshold
93
+ // Read the file content
94
+ const absPath = join(root, best.file.path);
95
+ let content;
96
+ try {
97
+ content = readFileSync(absPath, 'utf-8');
98
+ }
99
+ catch {
100
+ continue;
101
+ }
102
+ const lineCount = content.split('\n').length;
103
+ const fileExt = extname(best.file.path);
104
+ const tokenEstimate = estimateTokensByExtension(lineCount, fileExt);
105
+ if (tokensUsed + tokenEstimate > tokenBudgetRemaining)
106
+ continue;
107
+ const reasons = ['pattern_exemplar'];
108
+ exemplars.push({
109
+ path: best.file.path,
110
+ score: 0,
111
+ reasons,
112
+ excerpt_spans: null,
113
+ content,
114
+ token_estimate: tokenEstimate,
115
+ is_exemplar: true,
116
+ });
117
+ tokensUsed += tokenEstimate;
118
+ usedDirs.add(dir);
119
+ }
120
+ return exemplars;
121
+ }
122
+ //# sourceMappingURL=exemplars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exemplars.js","sourceRoot":"","sources":["../src/exemplars.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { generateCandidates, tokenizeTask, computeTokenWeights } from './candidates.js';
1
+ export { generateCandidates, tokenizeTask, decomposeTask, computeTokenWeights } from './candidates.js';
2
2
  export type { CandidateResult } from './candidates.js';
3
3
  export { computeFeatures, scoreFile, scoreAllCandidates, deriveReasons, gateTemporalFeatures } from './scorer.js';
4
4
  export type { LedgerStats } from './scorer.js';
@@ -9,4 +9,22 @@ export type { BuildBundleOptions } from './bundle.js';
9
9
  export { assessConfidence } from './confidence.js';
10
10
  export { generateInterfaceStubs } from './stubs.js';
11
11
  export { scanDeprecations } from './deprecation.js';
12
+ export { generateExemplars } from './exemplars.js';
13
+ export { validateBundle } from './validation.js';
14
+ export { computeNearMisses } from './near-miss.js';
15
+ export { computeBlastRadius } from './blast-radius.js';
16
+ export { inferTaskType, applyTaskTypeWeights } from './task-type.js';
17
+ export type { TaskType } from './task-type.js';
18
+ export { scanTodos, todoRelevanceScore } from './todo-scan.js';
19
+ export { estimateTokensCalibrated, estimateTokensByExtension } from './token-calibration.js';
20
+ export { getFileLayer, sortByLayer } from './layer-ordering.js';
21
+ export type { LayerRule } from './layer-ordering.js';
22
+ export { computeKnowledgeFeatures, scoreKnowledgeFile, deriveKnowledgeReasons, scoreAllKnowledgeCandidates, DEFAULT_KNOWLEDGE_WEIGHTS, } from './knowledge-scorer.js';
23
+ export { tokenizeIntent, computeKnowledgeTokenWeights, inferAnchorFolders, generateKnowledgeCandidates, } from './knowledge-candidates.js';
24
+ export { extractKnowledgeExcerpt } from './knowledge-excerpt.js';
25
+ export type { KnowledgeExcerptResult } from './knowledge-excerpt.js';
26
+ export { buildKnowledgeBundle, buildKnowledgeTrace } from './knowledge-bundle.js';
27
+ export type { KnowledgeBundleOptions } from './knowledge-bundle.js';
28
+ export { detectSelectionMode } from './mode-detect.js';
29
+ export type { ModeDetectionInput } from './mode-detect.js';
12
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACxF,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAClH,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvG,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAClH,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACrE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAClF,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { generateCandidates, tokenizeTask, computeTokenWeights } from './candidates.js';
1
+ export { generateCandidates, tokenizeTask, decomposeTask, computeTokenWeights } from './candidates.js';
2
2
  export { computeFeatures, scoreFile, scoreAllCandidates, deriveReasons, gateTemporalFeatures } from './scorer.js';
3
3
  export { shouldStop, estimateTokens } from './stop-rule.js';
4
4
  export { extractExcerpt } from './excerpt.js';
@@ -6,4 +6,18 @@ export { buildBundle } from './bundle.js';
6
6
  export { assessConfidence } from './confidence.js';
7
7
  export { generateInterfaceStubs } from './stubs.js';
8
8
  export { scanDeprecations } from './deprecation.js';
9
+ export { generateExemplars } from './exemplars.js';
10
+ export { validateBundle } from './validation.js';
11
+ export { computeNearMisses } from './near-miss.js';
12
+ export { computeBlastRadius } from './blast-radius.js';
13
+ export { inferTaskType, applyTaskTypeWeights } from './task-type.js';
14
+ export { scanTodos, todoRelevanceScore } from './todo-scan.js';
15
+ export { estimateTokensCalibrated, estimateTokensByExtension } from './token-calibration.js';
16
+ export { getFileLayer, sortByLayer } from './layer-ordering.js';
17
+ // ─── Knowledge Mode ─────────────────────────────────────────────────────────
18
+ export { computeKnowledgeFeatures, scoreKnowledgeFile, deriveKnowledgeReasons, scoreAllKnowledgeCandidates, DEFAULT_KNOWLEDGE_WEIGHTS, } from './knowledge-scorer.js';
19
+ export { tokenizeIntent, computeKnowledgeTokenWeights, inferAnchorFolders, generateKnowledgeCandidates, } from './knowledge-candidates.js';
20
+ export { extractKnowledgeExcerpt } from './knowledge-excerpt.js';
21
+ export { buildKnowledgeBundle, buildKnowledgeTrace } from './knowledge-bundle.js';
22
+ export { detectSelectionMode } from './mode-detect.js';
9
23
  //# 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":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAExF,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAElH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEvG,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAElH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGhE,+EAA+E;AAC/E,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAElF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Knowledge-mode bundle builder.
3
+ *
4
+ * Produces a CoworkBundle (context-bundle.json schema) using:
5
+ * - Knowledge-mode candidate generation
6
+ * - Knowledge-mode scoring (7 signals)
7
+ * - Existing stop-rule logic (reused)
8
+ * - Knowledge-mode excerpt extraction (head+headers)
9
+ */
10
+ import type { CoworkBundle, KnowledgeScoredFile, KnowledgeWeights, WorkspaceIndex } from '@codeledger/types';
11
+ export interface KnowledgeBundleOptions {
12
+ intentText: string;
13
+ workspaceIndex: WorkspaceIndex;
14
+ weights?: KnowledgeWeights;
15
+ maxFiles?: number;
16
+ maxTokensEst?: number;
17
+ maxBytesEst?: number;
18
+ sufficiencyThreshold?: number;
19
+ excerptMaxLines?: number;
20
+ excerptMaxBytes?: number;
21
+ }
22
+ export declare function buildKnowledgeBundle(opts: KnowledgeBundleOptions): CoworkBundle;
23
+ /**
24
+ * Build trace artifact from scored results.
25
+ */
26
+ export declare function buildKnowledgeTrace(scored: KnowledgeScoredFile[], weights: KnowledgeWeights, sufficiencyThreshold: number, terminatedAtRank: number, runId: string): {
27
+ run_id: string;
28
+ timestamp: string;
29
+ scoring_profile: 'knowledge';
30
+ signals: KnowledgeWeights;
31
+ stop_rule: {
32
+ sufficiency_threshold: number;
33
+ reached_at_rank: number;
34
+ };
35
+ ranked_top: Array<{
36
+ path: string;
37
+ score: number;
38
+ evidence: string[];
39
+ }>;
40
+ };
41
+ //# sourceMappingURL=knowledge-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-bundle.d.ts","sourceRoot":"","sources":["../src/knowledge-bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,YAAY,EAMZ,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAa3B,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,sBAAsB,GAAG,YAAY,CAyN/E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,OAAO,EAAE,gBAAgB,EACzB,oBAAoB,EAAE,MAAM,EAC5B,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,MAAM,GACZ;IACD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,WAAW,CAAC;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE;QAAE,qBAAqB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACxE,CAgBA"}
@@ -0,0 +1,200 @@
1
+ /**
2
+ * Knowledge-mode bundle builder.
3
+ *
4
+ * Produces a CoworkBundle (context-bundle.json schema) using:
5
+ * - Knowledge-mode candidate generation
6
+ * - Knowledge-mode scoring (7 signals)
7
+ * - Existing stop-rule logic (reused)
8
+ * - Knowledge-mode excerpt extraction (head+headers)
9
+ */
10
+ import { createHash, randomUUID } from 'node:crypto';
11
+ import { tokenizeIntent, computeKnowledgeTokenWeights, inferAnchorFolders, generateKnowledgeCandidates, } from './knowledge-candidates.js';
12
+ import { scoreAllKnowledgeCandidates, DEFAULT_KNOWLEDGE_WEIGHTS, } from './knowledge-scorer.js';
13
+ import { extractKnowledgeExcerpt } from './knowledge-excerpt.js';
14
+ export function buildKnowledgeBundle(opts) {
15
+ const { intentText, workspaceIndex, weights = DEFAULT_KNOWLEDGE_WEIGHTS, maxFiles = 20, maxTokensEst = 12000, maxBytesEst = 350000, sufficiencyThreshold = 0.78, excerptMaxLines = 450, excerptMaxBytes = 24000, } = opts;
16
+ const nowMs = Date.now();
17
+ const runId = `run_${new Date().toISOString().replace(/[:.]/g, '-')}_${randomUUID().slice(0, 8)}`;
18
+ // Step 1: Tokenize intent
19
+ const intentTokens = tokenizeIntent(intentText);
20
+ const normalizedIntent = intentText.toLowerCase().trim();
21
+ // Step 2: Compute token weights
22
+ const tokenWeights = computeKnowledgeTokenWeights(intentTokens, workspaceIndex.files);
23
+ // Step 3: Infer anchor folders
24
+ const anchorFolders = inferAnchorFolders(intentTokens, workspaceIndex.files);
25
+ // Step 4: Generate candidates
26
+ const candidates = generateKnowledgeCandidates(workspaceIndex.files, intentTokens, tokenWeights);
27
+ // Step 5: Score all candidates
28
+ const scored = scoreAllKnowledgeCandidates(candidates, intentTokens, tokenWeights, anchorFolders, weights, nowMs);
29
+ // Step 6: Select with stop rule
30
+ const maxCumulative = scored.reduce((sum, f) => sum + Math.max(0, f.score), 0);
31
+ const selected = [];
32
+ let totalTokens = 0;
33
+ let totalBytes = 0;
34
+ let cumulativeScore = 0;
35
+ let terminationReason = 'threshold_reached';
36
+ let terminatedAtRank = 0;
37
+ let excludedDueToBudget = 0;
38
+ let excludedLowScore = 0;
39
+ // Build file info map for quick lookup
40
+ const fileMap = new Map(workspaceIndex.files.map((f) => [f.path, f]));
41
+ for (let rank = 0; rank < scored.length; rank++) {
42
+ const scoredFile = scored[rank];
43
+ const fileInfo = fileMap.get(scoredFile.path);
44
+ if (!fileInfo)
45
+ continue;
46
+ // Check stop conditions
47
+ if (selected.length >= maxFiles) {
48
+ terminationReason = 'max_files';
49
+ terminatedAtRank = rank;
50
+ excludedDueToBudget += scored.length - rank;
51
+ break;
52
+ }
53
+ if (totalTokens >= maxTokensEst) {
54
+ terminationReason = 'max_tokens';
55
+ terminatedAtRank = rank;
56
+ excludedDueToBudget += scored.length - rank;
57
+ break;
58
+ }
59
+ if (totalBytes >= maxBytesEst) {
60
+ terminationReason = 'max_bytes';
61
+ terminatedAtRank = rank;
62
+ excludedDueToBudget += scored.length - rank;
63
+ break;
64
+ }
65
+ // Sufficiency threshold check
66
+ if (maxCumulative > 0 && selected.length > 0) {
67
+ const ratio = cumulativeScore / maxCumulative;
68
+ if (ratio >= sufficiencyThreshold) {
69
+ terminationReason = 'threshold_reached';
70
+ terminatedAtRank = rank;
71
+ excludedDueToBudget += scored.length - rank;
72
+ break;
73
+ }
74
+ }
75
+ // Extract excerpt
76
+ const excerpt = extractKnowledgeExcerpt(workspaceIndex.root, scoredFile.path, intentTokens, excerptMaxLines, excerptMaxBytes);
77
+ // Estimate tokens (5 tokens/line for natural language)
78
+ const tokenEst = Math.ceil(excerpt.lines_est * 5);
79
+ // Check if adding would blow budget (with 10% overshoot allowance)
80
+ if (totalTokens + tokenEst > maxTokensEst * 1.1 && selected.length > 0) {
81
+ excludedDueToBudget++;
82
+ continue;
83
+ }
84
+ // Build excerpt ref path
85
+ const excerptRef = `.codeledger/excerpts/${scoredFile.path.replace(/\//g, '__').replace(/\./g, '__')}.txt`;
86
+ const contentHash = createHash('md5')
87
+ .update(excerpt.content)
88
+ .digest('hex')
89
+ .slice(0, 12);
90
+ const selectedFile = {
91
+ path: scoredFile.path,
92
+ type: fileInfo.type,
93
+ score: Math.round(scoredFile.score * 1000) / 1000,
94
+ reasons: scoredFile.reasons,
95
+ signals: scoredFile.features,
96
+ size_bytes: fileInfo.size_bytes,
97
+ mtime: fileInfo.mtime,
98
+ hash: `h_${contentHash}`,
99
+ excerpt: {
100
+ ref: excerptRef,
101
+ bytes_est: excerpt.bytes_est,
102
+ lines_est: excerpt.lines_est,
103
+ },
104
+ };
105
+ selected.push(selectedFile);
106
+ totalTokens += tokenEst;
107
+ totalBytes += excerpt.bytes_est;
108
+ cumulativeScore += Math.max(0, scoredFile.score);
109
+ terminatedAtRank = rank + 1;
110
+ }
111
+ // Count low-score excluded files (score <= 0)
112
+ excludedLowScore = scored.filter((f) => f.score <= 0).length;
113
+ // Determine excerpt strategy used
114
+ const hasMarkdown = selected.some((f) => f.type === 'markdown');
115
+ const excerptStrategy = hasMarkdown
116
+ ? 'head+headers'
117
+ : intentTokens.length > 0
118
+ ? 'head+keyword_windows'
119
+ : 'head';
120
+ const budgets = {
121
+ max_files: maxFiles,
122
+ max_tokens_est: maxTokensEst,
123
+ max_bytes_est: maxBytesEst,
124
+ };
125
+ const stopRule = {
126
+ sufficiency_threshold: sufficiencyThreshold,
127
+ termination_reason: terminationReason,
128
+ terminated_at_rank: terminatedAtRank,
129
+ cumulative_score: Math.round(cumulativeScore * 1000) / 1000,
130
+ };
131
+ const SIGNALS = [
132
+ 'keyword_match',
133
+ 'filename_match',
134
+ 'path_match',
135
+ 'recency',
136
+ 'size_penalty',
137
+ 'doc_type_prior',
138
+ 'folder_proximity',
139
+ 'markdown_header_boost',
140
+ ];
141
+ return {
142
+ bundle_version: '1.0',
143
+ run_id: runId,
144
+ created_at: new Date().toISOString(),
145
+ mode: 'knowledge',
146
+ workspace: {
147
+ root: workspaceIndex.root,
148
+ fingerprint: workspaceIndex.fingerprint,
149
+ file_count: workspaceIndex.file_count,
150
+ },
151
+ intent: {
152
+ text: intentText,
153
+ normalized: normalizedIntent,
154
+ tokens: intentTokens,
155
+ },
156
+ budgets,
157
+ stop_rule: stopRule,
158
+ selection: {
159
+ signals: [...SIGNALS],
160
+ signal_weights: weights,
161
+ excerpt_policy: {
162
+ max_excerpt_bytes: excerptMaxBytes,
163
+ max_lines: excerptMaxLines,
164
+ strategy: excerptStrategy,
165
+ },
166
+ },
167
+ selected,
168
+ excluded_summary: {
169
+ total_seen: workspaceIndex.file_count,
170
+ excluded_low_score: excludedLowScore,
171
+ excluded_due_to_budget: excludedDueToBudget,
172
+ },
173
+ links: {
174
+ trace_path: '.codeledger/trace.json',
175
+ excerpts_dir: '.codeledger/excerpts/',
176
+ progress_snapshot_path: '.codeledger/progress-snapshot.json',
177
+ },
178
+ };
179
+ }
180
+ /**
181
+ * Build trace artifact from scored results.
182
+ */
183
+ export function buildKnowledgeTrace(scored, weights, sufficiencyThreshold, terminatedAtRank, runId) {
184
+ return {
185
+ run_id: runId,
186
+ timestamp: new Date().toISOString(),
187
+ scoring_profile: 'knowledge',
188
+ signals: weights,
189
+ stop_rule: {
190
+ sufficiency_threshold: sufficiencyThreshold,
191
+ reached_at_rank: terminatedAtRank,
192
+ },
193
+ ranked_top: scored.slice(0, 30).map((f) => ({
194
+ path: f.path,
195
+ score: Math.round(f.score * 1000) / 1000,
196
+ evidence: f.reasons,
197
+ })),
198
+ };
199
+ }
200
+ //# sourceMappingURL=knowledge-bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-bundle.js","sourceRoot":"","sources":["../src/knowledge-bundle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Knowledge-mode candidate generation.
3
+ *
4
+ * Simpler than code-mode: no dependency graph, no test mapping, no fan-out.
5
+ * Instead: keyword IDF, folder proximity, recency, type filters.
6
+ */
7
+ import type { WorkspaceFileInfo } from '@codeledger/types';
8
+ /**
9
+ * Tokenize intent text into keywords (stop-word filtered).
10
+ */
11
+ export declare function tokenizeIntent(text: string): string[];
12
+ /**
13
+ * Compute IDF-like token weights based on file match frequency.
14
+ */
15
+ export declare function computeKnowledgeTokenWeights(tokens: string[], files: WorkspaceFileInfo[]): Map<string, number>;
16
+ /**
17
+ * Infer "anchor" folders from intent tokens.
18
+ * If a token matches a top-level folder name, that folder is an anchor.
19
+ */
20
+ export declare function inferAnchorFolders(tokens: string[], files: WorkspaceFileInfo[]): string[];
21
+ /**
22
+ * Generate knowledge-mode candidates.
23
+ * All files are candidates (scored by the knowledge scorer), but only
24
+ * supported file types get full content analysis.
25
+ */
26
+ export declare function generateKnowledgeCandidates(files: WorkspaceFileInfo[], intentTokens: string[], tokenWeights: Map<string, number>): WorkspaceFileInfo[];
27
+ //# sourceMappingURL=knowledge-candidates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-candidates.d.ts","sourceRoot":"","sources":["../src/knowledge-candidates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAkB3D;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAMrD;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,iBAAiB,EAAE,GACzB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA6BrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,iBAAiB,EAAE,GACzB,MAAM,EAAE,CAuBV;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,iBAAiB,EAAE,EAC1B,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,iBAAiB,EAAE,CAgCrB"}