maestro-flow 0.4.23 → 0.4.25

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 (120) hide show
  1. package/.agents/skills/maestro-impeccable/SKILL.md +5 -1
  2. package/.agents/skills/maestro-next/SKILL.md +7 -1
  3. package/.agents/skills/maestro-player/SKILL.md +9 -2
  4. package/.agents/skills/maestro-tools-execute/SKILL.md +4 -4
  5. package/.agents/skills/manage-codebase-rebuild/SKILL.md +4 -6
  6. package/.agents/skills/spec-load/SKILL.md +11 -4
  7. package/.agy/skills/maestro-impeccable/SKILL.md +5 -1
  8. package/.agy/skills/maestro-next/SKILL.md +7 -1
  9. package/.agy/skills/maestro-player/SKILL.md +9 -2
  10. package/.agy/skills/maestro-tools-execute/SKILL.md +4 -4
  11. package/.agy/skills/manage-codebase-rebuild/SKILL.md +4 -6
  12. package/.agy/skills/spec-load/SKILL.md +11 -4
  13. package/.claude/commands/maestro-impeccable.md +5 -1
  14. package/.claude/commands/maestro-next.md +7 -1
  15. package/.claude/commands/maestro-player.md +9 -2
  16. package/.claude/commands/maestro-tools-execute.md +4 -4
  17. package/.claude/commands/manage-codebase-rebuild.md +4 -6
  18. package/.claude/commands/spec-load.md +11 -4
  19. package/.codex/skills/manage-codebase-rebuild/SKILL.md +2 -2
  20. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +96 -25
  21. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  22. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +7 -7
  23. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
  24. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +1 -1
  25. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  26. package/dashboard/dist-server/dashboard/src/shared/constants.d.ts +1 -0
  27. package/dashboard/dist-server/dashboard/src/shared/constants.js +1 -0
  28. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  29. package/dashboard/dist-server/src/graph/types.d.ts +98 -0
  30. package/dashboard/dist-server/src/graph/types.js +19 -1
  31. package/dashboard/dist-server/src/graph/types.js.map +1 -1
  32. package/dist/src/commands/kg.d.ts.map +1 -1
  33. package/dist/src/commands/kg.js +345 -2
  34. package/dist/src/commands/kg.js.map +1 -1
  35. package/dist/src/commands/spec.d.ts.map +1 -1
  36. package/dist/src/commands/spec.js +82 -38
  37. package/dist/src/commands/spec.js.map +1 -1
  38. package/dist/src/graph/db/connection.d.ts +22 -0
  39. package/dist/src/graph/db/connection.d.ts.map +1 -0
  40. package/dist/src/graph/db/connection.js +113 -0
  41. package/dist/src/graph/db/connection.js.map +1 -0
  42. package/dist/src/graph/db/index.d.ts +4 -0
  43. package/dist/src/graph/db/index.d.ts.map +1 -0
  44. package/dist/src/graph/db/index.js +4 -0
  45. package/dist/src/graph/db/index.js.map +1 -0
  46. package/dist/src/graph/db/migrations.d.ts +5 -0
  47. package/dist/src/graph/db/migrations.d.ts.map +1 -0
  48. package/dist/src/graph/db/migrations.js +18 -0
  49. package/dist/src/graph/db/migrations.js.map +1 -0
  50. package/dist/src/graph/db/queries.d.ts +50 -0
  51. package/dist/src/graph/db/queries.d.ts.map +1 -0
  52. package/dist/src/graph/db/queries.js +313 -0
  53. package/dist/src/graph/db/queries.js.map +1 -0
  54. package/dist/src/graph/db/schema.sql +131 -0
  55. package/dist/src/graph/facade.d.ts +53 -0
  56. package/dist/src/graph/facade.d.ts.map +1 -0
  57. package/dist/src/graph/facade.js +172 -0
  58. package/dist/src/graph/facade.js.map +1 -0
  59. package/dist/src/graph/graph-queries.d.ts +24 -0
  60. package/dist/src/graph/graph-queries.d.ts.map +1 -0
  61. package/dist/src/graph/graph-queries.js +173 -0
  62. package/dist/src/graph/graph-queries.js.map +1 -0
  63. package/dist/src/graph/index.d.ts +8 -0
  64. package/dist/src/graph/index.d.ts.map +1 -1
  65. package/dist/src/graph/index.js +9 -0
  66. package/dist/src/graph/index.js.map +1 -1
  67. package/dist/src/graph/loader.d.ts +8 -0
  68. package/dist/src/graph/loader.d.ts.map +1 -1
  69. package/dist/src/graph/loader.js +20 -0
  70. package/dist/src/graph/loader.js.map +1 -1
  71. package/dist/src/graph/migration.d.ts +8 -0
  72. package/dist/src/graph/migration.d.ts.map +1 -0
  73. package/dist/src/graph/migration.js +134 -0
  74. package/dist/src/graph/migration.js.map +1 -0
  75. package/dist/src/graph/search/index.d.ts +4 -0
  76. package/dist/src/graph/search/index.d.ts.map +1 -0
  77. package/dist/src/graph/search/index.js +3 -0
  78. package/dist/src/graph/search/index.js.map +1 -0
  79. package/dist/src/graph/search/query-parser.d.ts +11 -0
  80. package/dist/src/graph/search/query-parser.d.ts.map +1 -0
  81. package/dist/src/graph/search/query-parser.js +111 -0
  82. package/dist/src/graph/search/query-parser.js.map +1 -0
  83. package/dist/src/graph/search/query-utils.d.ts +12 -0
  84. package/dist/src/graph/search/query-utils.d.ts.map +1 -0
  85. package/dist/src/graph/search/query-utils.js +184 -0
  86. package/dist/src/graph/search/query-utils.js.map +1 -0
  87. package/dist/src/graph/sync/content-hash.d.ts +7 -0
  88. package/dist/src/graph/sync/content-hash.d.ts.map +1 -0
  89. package/dist/src/graph/sync/content-hash.js +33 -0
  90. package/dist/src/graph/sync/content-hash.js.map +1 -0
  91. package/dist/src/graph/sync/incremental-sync.d.ts +23 -0
  92. package/dist/src/graph/sync/incremental-sync.d.ts.map +1 -0
  93. package/dist/src/graph/sync/incremental-sync.js +338 -0
  94. package/dist/src/graph/sync/incremental-sync.js.map +1 -0
  95. package/dist/src/graph/sync/index.d.ts +7 -0
  96. package/dist/src/graph/sync/index.d.ts.map +1 -0
  97. package/dist/src/graph/sync/index.js +5 -0
  98. package/dist/src/graph/sync/index.js.map +1 -0
  99. package/dist/src/graph/sync/watch-policy.d.ts +2 -0
  100. package/dist/src/graph/sync/watch-policy.d.ts.map +1 -0
  101. package/dist/src/graph/sync/watch-policy.js +38 -0
  102. package/dist/src/graph/sync/watch-policy.js.map +1 -0
  103. package/dist/src/graph/sync/watcher.d.ts +44 -0
  104. package/dist/src/graph/sync/watcher.d.ts.map +1 -0
  105. package/dist/src/graph/sync/watcher.js +153 -0
  106. package/dist/src/graph/sync/watcher.js.map +1 -0
  107. package/dist/src/graph/traversal.d.ts +37 -0
  108. package/dist/src/graph/traversal.d.ts.map +1 -0
  109. package/dist/src/graph/traversal.js +335 -0
  110. package/dist/src/graph/traversal.js.map +1 -0
  111. package/dist/src/graph/types.d.ts +98 -0
  112. package/dist/src/graph/types.d.ts.map +1 -1
  113. package/dist/src/graph/types.js +19 -1
  114. package/dist/src/graph/types.js.map +1 -1
  115. package/dist/src/utils/update-notices.js +11 -0
  116. package/dist/src/utils/update-notices.js.map +1 -1
  117. package/package.json +4 -2
  118. package/workflows/analyze.md +19 -13
  119. package/workflows/codebase-rebuild.md +18 -107
  120. package/workflows/execute.md +6 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../../src/graph/migration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { parseQuery, boundedEditDistance } from './query-parser.js';
2
+ export type { ParsedQuery } from './query-parser.js';
3
+ export { extractSearchTerms, getStemVariants, scorePathRelevance, nameMatchBonus, kindBonus, isTestFile, isGeneratedFile, STOP_WORDS, } from './query-utils.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/graph/search/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACpE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,UAAU,EACV,eAAe,EACf,UAAU,GACX,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { parseQuery, boundedEditDistance } from './query-parser.js';
2
+ export { extractSearchTerms, getStemVariants, scorePathRelevance, nameMatchBonus, kindBonus, isTestFile, isGeneratedFile, STOP_WORDS, } from './query-utils.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/graph/search/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,UAAU,EACV,eAAe,EACf,UAAU,GACX,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { NodeKind, Language } from '../types.js';
2
+ export interface ParsedQuery {
3
+ text: string;
4
+ kinds: NodeKind[];
5
+ languages: Language[];
6
+ pathFilters: string[];
7
+ nameFilters: string[];
8
+ }
9
+ export declare function parseQuery(raw: string): ParsedQuery;
10
+ export declare function boundedEditDistance(a: string, b: string, maxDist: number): number;
11
+ //# sourceMappingURL=query-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-parser.d.ts","sourceRoot":"","sources":["../../../../src/graph/search/query-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAUD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CA+DnD;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAwBjF"}
@@ -0,0 +1,111 @@
1
+ import { NODE_KINDS, LANGUAGES } from '../types.js';
2
+ const KIND_VALUES = new Set(NODE_KINDS);
3
+ const LANGUAGE_VALUES = new Set(LANGUAGES);
4
+ function unquote(s) {
5
+ if (s.length >= 2 && s.startsWith('"') && s.endsWith('"'))
6
+ return s.slice(1, -1);
7
+ return s;
8
+ }
9
+ export function parseQuery(raw) {
10
+ const out = {
11
+ text: '',
12
+ kinds: [],
13
+ languages: [],
14
+ pathFilters: [],
15
+ nameFilters: [],
16
+ };
17
+ const tokens = [];
18
+ let i = 0;
19
+ while (i < raw.length) {
20
+ while (i < raw.length && /\s/.test(raw[i]))
21
+ i++;
22
+ if (i >= raw.length)
23
+ break;
24
+ const start = i;
25
+ while (i < raw.length && !/\s/.test(raw[i])) {
26
+ if (raw[i] === '"') {
27
+ const end = raw.indexOf('"', i + 1);
28
+ if (end === -1) {
29
+ i = raw.length;
30
+ break;
31
+ }
32
+ i = end + 1;
33
+ continue;
34
+ }
35
+ i++;
36
+ }
37
+ tokens.push(raw.slice(start, i));
38
+ }
39
+ const textParts = [];
40
+ for (const tok of tokens) {
41
+ const colon = tok.indexOf(':');
42
+ if (colon <= 0 || colon === tok.length - 1) {
43
+ textParts.push(tok);
44
+ continue;
45
+ }
46
+ const key = tok.slice(0, colon).toLowerCase();
47
+ const valueRaw = unquote(tok.slice(colon + 1));
48
+ if (!valueRaw) {
49
+ textParts.push(tok);
50
+ continue;
51
+ }
52
+ switch (key) {
53
+ case 'kind':
54
+ if (KIND_VALUES.has(valueRaw))
55
+ out.kinds.push(valueRaw);
56
+ else
57
+ textParts.push(tok);
58
+ break;
59
+ case 'lang':
60
+ case 'language': {
61
+ const lower = valueRaw.toLowerCase();
62
+ if (LANGUAGE_VALUES.has(lower))
63
+ out.languages.push(lower);
64
+ else
65
+ textParts.push(tok);
66
+ break;
67
+ }
68
+ case 'path':
69
+ out.pathFilters.push(valueRaw);
70
+ break;
71
+ case 'name':
72
+ out.nameFilters.push(valueRaw);
73
+ break;
74
+ default:
75
+ textParts.push(tok);
76
+ }
77
+ }
78
+ out.text = textParts.join(' ').trim();
79
+ return out;
80
+ }
81
+ export function boundedEditDistance(a, b, maxDist) {
82
+ if (a === b)
83
+ return 0;
84
+ const al = a.length;
85
+ const bl = b.length;
86
+ if (Math.abs(al - bl) > maxDist)
87
+ return maxDist + 1;
88
+ if (al === 0)
89
+ return bl;
90
+ if (bl === 0)
91
+ return al;
92
+ let prev = new Array(bl + 1);
93
+ let cur = new Array(bl + 1);
94
+ for (let j = 0; j <= bl; j++)
95
+ prev[j] = j;
96
+ for (let i = 1; i <= al; i++) {
97
+ cur[0] = i;
98
+ let rowMin = cur[0];
99
+ for (let j = 1; j <= bl; j++) {
100
+ const cost = a.charCodeAt(i - 1) === b.charCodeAt(j - 1) ? 0 : 1;
101
+ cur[j] = Math.min(cur[j - 1] + 1, prev[j] + 1, prev[j - 1] + cost);
102
+ if (cur[j] < rowMin)
103
+ rowMin = cur[j];
104
+ }
105
+ if (rowMin > maxDist)
106
+ return maxDist + 1;
107
+ [prev, cur] = [cur, prev];
108
+ }
109
+ return prev[bl];
110
+ }
111
+ //# sourceMappingURL=query-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-parser.js","sourceRoot":"","sources":["../../../../src/graph/search/query-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { NodeKind } from '../types.js';
2
+ export declare const STOP_WORDS: Set<string>;
3
+ export declare function getStemVariants(term: string): string[];
4
+ export declare function extractSearchTerms(query: string, options?: {
5
+ stems?: boolean;
6
+ }): string[];
7
+ export declare function scorePathRelevance(filePath: string, query: string): number;
8
+ export declare function nameMatchBonus(nodeName: string, query: string): number;
9
+ export declare function kindBonus(kind: NodeKind): number;
10
+ export declare function isTestFile(filePath: string): boolean;
11
+ export declare function isGeneratedFile(filePath: string): boolean;
12
+ //# sourceMappingURL=query-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-utils.d.ts","sourceRoot":"","sources":["../../../../src/graph/search/query-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,UAAU,aAgBrB,CAAC;AAEH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA0CtD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,EAAE,CAuCzF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAoB1E;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBtE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAQhD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAoBpD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWzD"}
@@ -0,0 +1,184 @@
1
+ import { basename, dirname } from 'node:path';
2
+ export const STOP_WORDS = new Set([
3
+ 'the', 'a', 'an', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for',
4
+ 'of', 'with', 'by', 'from', 'is', 'it', 'that', 'this', 'are', 'was',
5
+ 'be', 'has', 'had', 'have', 'do', 'does', 'did', 'will', 'would', 'could',
6
+ 'should', 'may', 'might', 'can', 'shall', 'not', 'no', 'all', 'each',
7
+ 'every', 'how', 'what', 'where', 'when', 'who', 'which', 'why',
8
+ 'i', 'me', 'my', 'we', 'our', 'you', 'your', 'he', 'she', 'they',
9
+ 'show', 'give', 'tell',
10
+ 'been', 'done', 'made', 'used', 'using', 'work', 'works', 'found',
11
+ 'also', 'into', 'then', 'than', 'just', 'more', 'some', 'such',
12
+ 'over', 'only', 'out', 'its', 'so', 'up', 'as', 'if',
13
+ 'look', 'need', 'needs', 'want', 'happen', 'happens',
14
+ 'affect', 'affected', 'break', 'breaks', 'failing',
15
+ 'implemented', 'implement',
16
+ 'code', 'file', 'files', 'function', 'method', 'class', 'type',
17
+ 'fix', 'bug', 'called',
18
+ ]);
19
+ export function getStemVariants(term) {
20
+ const variants = new Set();
21
+ const t = term.toLowerCase();
22
+ if (t.endsWith('ing') && t.length > 5) {
23
+ const base = t.slice(0, -3);
24
+ variants.add(base);
25
+ variants.add(base + 'e');
26
+ if (base.length >= 2 && base[base.length - 1] === base[base.length - 2]) {
27
+ variants.add(base.slice(0, -1));
28
+ }
29
+ }
30
+ if ((t.endsWith('tion') || t.endsWith('sion')) && t.length > 5) {
31
+ variants.add(t.slice(0, -3));
32
+ }
33
+ if (t.endsWith('ment') && t.length > 6) {
34
+ variants.add(t.slice(0, -4));
35
+ }
36
+ if (t.endsWith('ies') && t.length > 4) {
37
+ variants.add(t.slice(0, -3) + 'y');
38
+ }
39
+ else if (t.endsWith('es') && t.length > 4) {
40
+ variants.add(t.slice(0, -2));
41
+ }
42
+ else if (t.endsWith('s') && !t.endsWith('ss') && t.length > 4) {
43
+ variants.add(t.slice(0, -1));
44
+ }
45
+ if (t.endsWith('ed') && !t.endsWith('eed') && t.length > 4) {
46
+ variants.add(t.slice(0, -1));
47
+ variants.add(t.slice(0, -2));
48
+ if (t.endsWith('ied') && t.length > 5) {
49
+ variants.add(t.slice(0, -3) + 'y');
50
+ }
51
+ }
52
+ if (t.endsWith('er') && t.length > 4) {
53
+ const base = t.slice(0, -2);
54
+ variants.add(base);
55
+ variants.add(base + 'e');
56
+ if (base.length >= 2 && base[base.length - 1] === base[base.length - 2]) {
57
+ variants.add(base.slice(0, -1));
58
+ }
59
+ }
60
+ return [...variants].filter(v => v.length >= 3 && v !== t);
61
+ }
62
+ export function extractSearchTerms(query, options) {
63
+ const includeStems = options?.stems !== false;
64
+ const tokens = new Set();
65
+ const compoundPattern = /\b([a-zA-Z][a-zA-Z0-9]*(?:[A-Z][a-z]+)+|[A-Z][a-z]+(?:[A-Z][a-z]*)+)\b/g;
66
+ let match;
67
+ while ((match = compoundPattern.exec(query)) !== null) {
68
+ if (match[1] && match[1].length >= 3)
69
+ tokens.add(match[1].toLowerCase());
70
+ }
71
+ const snakePattern = /\b([a-zA-Z][a-zA-Z0-9]*(?:_[a-zA-Z0-9]+)+)\b/g;
72
+ while ((match = snakePattern.exec(query)) !== null) {
73
+ if (match[1] && match[1].length >= 3)
74
+ tokens.add(match[1].toLowerCase());
75
+ }
76
+ const camelSplit = query
77
+ .replace(/([a-z])([A-Z])/g, '$1 $2')
78
+ .replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2');
79
+ const normalised = camelSplit.replace(/[_.]+/g, ' ');
80
+ const words = normalised.split(/[^a-zA-Z0-9]+/).filter(Boolean);
81
+ for (const word of words) {
82
+ const lower = word.toLowerCase();
83
+ if (lower.length < 3)
84
+ continue;
85
+ if (STOP_WORDS.has(lower))
86
+ continue;
87
+ tokens.add(lower);
88
+ }
89
+ if (includeStems) {
90
+ const stems = new Set();
91
+ for (const token of tokens) {
92
+ for (const variant of getStemVariants(token)) {
93
+ if (!tokens.has(variant) && !STOP_WORDS.has(variant))
94
+ stems.add(variant);
95
+ }
96
+ }
97
+ for (const stem of stems)
98
+ tokens.add(stem);
99
+ }
100
+ return [...tokens];
101
+ }
102
+ export function scorePathRelevance(filePath, query) {
103
+ const terms = extractSearchTerms(query, { stems: false });
104
+ if (terms.length === 0)
105
+ return 0;
106
+ const pathLower = filePath.toLowerCase();
107
+ const fileName = basename(filePath).toLowerCase();
108
+ const dirName = dirname(filePath).toLowerCase();
109
+ let score = 0;
110
+ for (const term of terms) {
111
+ if (fileName.includes(term))
112
+ score += 10;
113
+ if (dirName.includes(term))
114
+ score += 5;
115
+ else if (pathLower.includes(term))
116
+ score += 3;
117
+ }
118
+ const queryLower = query.toLowerCase();
119
+ const isTestQuery = queryLower.includes('test') || queryLower.includes('spec');
120
+ if (!isTestQuery && isTestFile(filePath))
121
+ score -= 15;
122
+ return score;
123
+ }
124
+ export function nameMatchBonus(nodeName, query) {
125
+ const nameLower = nodeName.toLowerCase();
126
+ const rawTerms = query
127
+ .replace(/([a-z])([A-Z])/g, '$1 $2')
128
+ .split(/[\s_.\-]+/)
129
+ .map(t => t.toLowerCase())
130
+ .filter(t => t.length >= 2);
131
+ const queryTokens = query.split(/\s+/).map(t => t.toLowerCase()).filter(t => t.length >= 2);
132
+ const queryLower = query.replace(/\s+/g, '').toLowerCase();
133
+ if (nameLower === queryLower)
134
+ return 80;
135
+ if (queryTokens.length > 1 && queryTokens.includes(nameLower))
136
+ return 60;
137
+ if (nameLower.startsWith(queryLower)) {
138
+ const ratio = queryLower.length / nameLower.length;
139
+ return Math.round(10 + 30 * ratio);
140
+ }
141
+ if (rawTerms.length > 1 && rawTerms.every(t => nameLower.includes(t)))
142
+ return 15;
143
+ if (nameLower.includes(queryLower))
144
+ return 10;
145
+ return 0;
146
+ }
147
+ export function kindBonus(kind) {
148
+ const bonuses = {
149
+ function: 10, method: 10, class: 8, interface: 9, type_alias: 6,
150
+ struct: 6, trait: 9, enum: 5, component: 8, route: 9, module: 4,
151
+ property: 3, field: 3, variable: 2, constant: 3, import: 1,
152
+ export: 1, parameter: 0, namespace: 4, file: 0, protocol: 9, enum_member: 3,
153
+ };
154
+ return bonuses[kind] ?? 0;
155
+ }
156
+ export function isTestFile(filePath) {
157
+ const lower = filePath.toLowerCase();
158
+ const fileName = basename(filePath);
159
+ const lowerName = fileName.toLowerCase();
160
+ if (lowerName.startsWith('test_') || lowerName.startsWith('test.') ||
161
+ /[._-](test|tests|spec|specs)\.[a-z0-9]+$/.test(lowerName) ||
162
+ /(?:Test|Tests|TestCase|Tester|Spec|Specs)\.[A-Za-z0-9]+$/.test(fileName))
163
+ return true;
164
+ if (lower.includes('/tests/') || lower.includes('/test/') ||
165
+ lower.includes('/__tests__/') || lower.includes('/spec/') ||
166
+ lower.includes('/specs/') || lower.includes('/testing/') ||
167
+ lower.startsWith('test/') || lower.startsWith('tests/') ||
168
+ lower.startsWith('spec/') || lower.startsWith('specs/'))
169
+ return true;
170
+ return false;
171
+ }
172
+ export function isGeneratedFile(filePath) {
173
+ const lower = filePath.toLowerCase();
174
+ const patterns = [
175
+ '.pb.go', '.pb.rs', '.pb.py', '.pb.ts', '.pb.js',
176
+ '_generated.', '.generated.', '_gen.', '.gen.',
177
+ 'mock_', '.mock.', '_mock.',
178
+ '/generated/', '/gen/', '/auto-generated/',
179
+ '.min.js', '.min.css', '.bundle.js',
180
+ 'package-lock.json', 'yarn.lock', 'pnpm-lock.yaml',
181
+ ];
182
+ return patterns.some(p => lower.includes(p));
183
+ }
184
+ //# sourceMappingURL=query-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-utils.js","sourceRoot":"","sources":["../../../../src/graph/search/query-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function computeFileHash(absolutePath: string): string | null;
2
+ export declare function computeFileHashes(files: Array<{
3
+ absolutePath: string;
4
+ relPath: string;
5
+ }>): Map<string, string>;
6
+ export declare function isFileTooLarge(absolutePath: string): boolean;
7
+ //# sourceMappingURL=content-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-hash.d.ts","sourceRoot":"","sources":["../../../../src/graph/sync/content-hash.ts"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASnE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GACtD,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAOrB;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAM5D"}
@@ -0,0 +1,33 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { readFileSync, statSync } from 'node:fs';
3
+ const MAX_FILE_SIZE = 1_048_576; // 1 MB
4
+ export function computeFileHash(absolutePath) {
5
+ try {
6
+ const stat = statSync(absolutePath);
7
+ if (stat.size > MAX_FILE_SIZE)
8
+ return null;
9
+ const content = readFileSync(absolutePath);
10
+ return createHash('sha256').update(content).digest('hex');
11
+ }
12
+ catch {
13
+ return null;
14
+ }
15
+ }
16
+ export function computeFileHashes(files) {
17
+ const hashes = new Map();
18
+ for (const file of files) {
19
+ const hash = computeFileHash(file.absolutePath);
20
+ if (hash)
21
+ hashes.set(file.relPath, hash);
22
+ }
23
+ return hashes;
24
+ }
25
+ export function isFileTooLarge(absolutePath) {
26
+ try {
27
+ return statSync(absolutePath).size > MAX_FILE_SIZE;
28
+ }
29
+ catch {
30
+ return false;
31
+ }
32
+ }
33
+ //# sourceMappingURL=content-hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-hash.js","sourceRoot":"","sources":["../../../../src/graph/sync/content-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,OAAO;AAExC,MAAM,UAAU,eAAe,CAAC,YAAoB;IAClD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,IAAI,GAAG,aAAa;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC3C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAuD;IAEvD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,YAAoB;IACjD,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,GAAG,aAAa,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { DatabaseConnection } from '../db/connection.js';
2
+ export interface SyncResult {
3
+ filesChanged: number;
4
+ nodesAdded: number;
5
+ edgesAdded: number;
6
+ durationMs: number;
7
+ }
8
+ export declare class IncrementalSync {
9
+ private projectRoot;
10
+ private conn;
11
+ private queries;
12
+ constructor(projectRoot: string, conn: DatabaseConnection);
13
+ sync(): SyncResult;
14
+ private detectChanges;
15
+ private getGitChangedFiles;
16
+ private classifyGitChanges;
17
+ private getAllSourceFiles;
18
+ private extractFile;
19
+ private extractSymbols;
20
+ private extractImports;
21
+ private resolveImport;
22
+ }
23
+ //# sourceMappingURL=incremental-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incremental-sync.d.ts","sourceRoot":"","sources":["../../../../src/graph/sync/incremental-sync.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAkB9D,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,OAAO,CAAe;gBAElB,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB;IAMzD,IAAI,IAAI,UAAU;IAiFlB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,WAAW;IA2DnB,OAAO,CAAC,cAAc;IAsFtB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,aAAa;CAetB"}