@stupidloud/codegraph 0.7.15 → 0.8.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 (147) hide show
  1. package/README.md +82 -58
  2. package/dist/bin/codegraph.js +127 -24
  3. package/dist/bin/codegraph.js.map +1 -1
  4. package/dist/bin/node-version-check.d.ts +3 -0
  5. package/dist/bin/node-version-check.d.ts.map +1 -1
  6. package/dist/bin/node-version-check.js +5 -2
  7. package/dist/bin/node-version-check.js.map +1 -1
  8. package/dist/bin/uninstall.d.ts +7 -7
  9. package/dist/bin/uninstall.d.ts.map +1 -1
  10. package/dist/bin/uninstall.js +23 -135
  11. package/dist/bin/uninstall.js.map +1 -1
  12. package/dist/context/index.d.ts.map +1 -1
  13. package/dist/context/index.js +4 -2
  14. package/dist/context/index.js.map +1 -1
  15. package/dist/db/queries.d.ts.map +1 -1
  16. package/dist/db/queries.js +7 -1
  17. package/dist/db/queries.js.map +1 -1
  18. package/dist/extraction/index.d.ts +1 -1
  19. package/dist/extraction/index.d.ts.map +1 -1
  20. package/dist/extraction/index.js +63 -37
  21. package/dist/extraction/index.js.map +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +3 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/installer/claude-md-template.d.ts +10 -6
  26. package/dist/installer/claude-md-template.d.ts.map +1 -1
  27. package/dist/installer/claude-md-template.js +15 -40
  28. package/dist/installer/claude-md-template.js.map +1 -1
  29. package/dist/installer/config-writer.d.ts +17 -24
  30. package/dist/installer/config-writer.d.ts.map +1 -1
  31. package/dist/installer/config-writer.js +46 -239
  32. package/dist/installer/config-writer.js.map +1 -1
  33. package/dist/installer/index.d.ts +57 -4
  34. package/dist/installer/index.d.ts.map +1 -1
  35. package/dist/installer/index.js +286 -81
  36. package/dist/installer/index.js.map +1 -1
  37. package/dist/installer/instructions-template.d.ts +28 -0
  38. package/dist/installer/instructions-template.d.ts.map +1 -0
  39. package/dist/installer/instructions-template.js +65 -0
  40. package/dist/installer/instructions-template.js.map +1 -0
  41. package/dist/installer/targets/claude.d.ts +31 -0
  42. package/dist/installer/targets/claude.d.ts.map +1 -0
  43. package/dist/installer/targets/claude.js +308 -0
  44. package/dist/installer/targets/claude.js.map +1 -0
  45. package/dist/installer/targets/codex.d.ts +18 -0
  46. package/dist/installer/targets/codex.d.ts.map +1 -0
  47. package/dist/installer/targets/codex.js +185 -0
  48. package/dist/installer/targets/codex.js.map +1 -0
  49. package/dist/installer/targets/cursor.d.ts +35 -0
  50. package/dist/installer/targets/cursor.d.ts.map +1 -0
  51. package/dist/installer/targets/cursor.js +229 -0
  52. package/dist/installer/targets/cursor.js.map +1 -0
  53. package/dist/installer/targets/opencode.d.ts +30 -0
  54. package/dist/installer/targets/opencode.d.ts.map +1 -0
  55. package/dist/installer/targets/opencode.js +235 -0
  56. package/dist/installer/targets/opencode.js.map +1 -0
  57. package/dist/installer/targets/registry.d.ts +35 -0
  58. package/dist/installer/targets/registry.d.ts.map +1 -0
  59. package/dist/installer/targets/registry.js +83 -0
  60. package/dist/installer/targets/registry.js.map +1 -0
  61. package/dist/installer/targets/shared.d.ts +77 -0
  62. package/dist/installer/targets/shared.d.ts.map +1 -0
  63. package/dist/installer/targets/shared.js +246 -0
  64. package/dist/installer/targets/shared.js.map +1 -0
  65. package/dist/installer/targets/toml.d.ts +52 -0
  66. package/dist/installer/targets/toml.d.ts.map +1 -0
  67. package/dist/installer/targets/toml.js +147 -0
  68. package/dist/installer/targets/toml.js.map +1 -0
  69. package/dist/installer/targets/types.d.ts +116 -0
  70. package/dist/installer/targets/types.d.ts.map +1 -0
  71. package/dist/installer/targets/types.js +16 -0
  72. package/dist/installer/targets/types.js.map +1 -0
  73. package/dist/mcp/index.d.ts +12 -0
  74. package/dist/mcp/index.d.ts.map +1 -1
  75. package/dist/mcp/index.js +143 -20
  76. package/dist/mcp/index.js.map +1 -1
  77. package/dist/mcp/server-instructions.d.ts +1 -1
  78. package/dist/mcp/server-instructions.d.ts.map +1 -1
  79. package/dist/mcp/server-instructions.js +20 -5
  80. package/dist/mcp/server-instructions.js.map +1 -1
  81. package/dist/mcp/tools.d.ts +75 -5
  82. package/dist/mcp/tools.d.ts.map +1 -1
  83. package/dist/mcp/tools.js +472 -89
  84. package/dist/mcp/tools.js.map +1 -1
  85. package/dist/mcp/transport.d.ts +17 -0
  86. package/dist/mcp/transport.d.ts.map +1 -1
  87. package/dist/mcp/transport.js +63 -0
  88. package/dist/mcp/transport.js.map +1 -1
  89. package/dist/resolution/frameworks/index.d.ts +1 -0
  90. package/dist/resolution/frameworks/index.d.ts.map +1 -1
  91. package/dist/resolution/frameworks/index.js +5 -1
  92. package/dist/resolution/frameworks/index.js.map +1 -1
  93. package/dist/resolution/frameworks/nestjs.d.ts +26 -0
  94. package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
  95. package/dist/resolution/frameworks/nestjs.js +374 -0
  96. package/dist/resolution/frameworks/nestjs.js.map +1 -0
  97. package/dist/search/query-utils.d.ts.map +1 -1
  98. package/dist/search/query-utils.js +29 -26
  99. package/dist/search/query-utils.js.map +1 -1
  100. package/dist/sync/git-hooks.d.ts +45 -0
  101. package/dist/sync/git-hooks.d.ts.map +1 -0
  102. package/dist/sync/git-hooks.js +223 -0
  103. package/dist/sync/git-hooks.js.map +1 -0
  104. package/dist/sync/index.d.ts +4 -0
  105. package/dist/sync/index.d.ts.map +1 -1
  106. package/dist/sync/index.js +12 -1
  107. package/dist/sync/index.js.map +1 -1
  108. package/dist/sync/watch-policy.d.ts +48 -0
  109. package/dist/sync/watch-policy.d.ts.map +1 -0
  110. package/dist/sync/watch-policy.js +124 -0
  111. package/dist/sync/watch-policy.js.map +1 -0
  112. package/dist/sync/watcher.d.ts.map +1 -1
  113. package/dist/sync/watcher.js +10 -0
  114. package/dist/sync/watcher.js.map +1 -1
  115. package/dist/ui/glyphs.d.ts +42 -0
  116. package/dist/ui/glyphs.d.ts.map +1 -0
  117. package/dist/ui/glyphs.js +78 -0
  118. package/dist/ui/glyphs.js.map +1 -0
  119. package/dist/ui/shimmer-progress.d.ts +1 -0
  120. package/dist/ui/shimmer-progress.d.ts.map +1 -1
  121. package/dist/ui/shimmer-progress.js +7 -0
  122. package/dist/ui/shimmer-progress.js.map +1 -1
  123. package/dist/ui/shimmer-worker.js +20 -11
  124. package/dist/ui/shimmer-worker.js.map +1 -1
  125. package/dist/ui/types.d.ts +1 -0
  126. package/dist/ui/types.d.ts.map +1 -1
  127. package/dist/vectors/embedder.d.ts +11 -1
  128. package/dist/vectors/embedder.d.ts.map +1 -1
  129. package/dist/vectors/embedder.js +48 -18
  130. package/dist/vectors/embedder.js.map +1 -1
  131. package/dist/vectors/index.d.ts +1 -1
  132. package/dist/vectors/index.d.ts.map +1 -1
  133. package/dist/vectors/index.js.map +1 -1
  134. package/dist/vectors/manager.d.ts +5 -0
  135. package/dist/vectors/manager.d.ts.map +1 -1
  136. package/dist/vectors/manager.js +44 -23
  137. package/dist/vectors/manager.js.map +1 -1
  138. package/package.json +4 -3
  139. package/scripts/agent-eval/audit.sh +68 -0
  140. package/scripts/agent-eval/itrun.sh +107 -0
  141. package/scripts/agent-eval/parse-run.mjs +45 -0
  142. package/scripts/agent-eval/parse-session.mjs +93 -0
  143. package/scripts/agent-eval/run-agent.sh +34 -0
  144. package/scripts/agent-eval/run-all.sh +67 -0
  145. package/scripts/extract-release-notes.mjs +130 -0
  146. package/scripts/local-install.sh +41 -0
  147. package/scripts/release.sh +68 -0
@@ -0,0 +1,374 @@
1
+ "use strict";
2
+ /**
3
+ * NestJS Framework Resolver
4
+ *
5
+ * Handles NestJS decorator-based routing across its transport layers:
6
+ * - HTTP: @Controller(prefix) + @Get/@Post/@Put/@Patch/@Delete/@Head/@Options/@All
7
+ * - GraphQL: @Resolver + @Query/@Mutation/@Subscription
8
+ * - Microservices: @MessagePattern / @EventPattern
9
+ * - WebSockets: @WebSocketGateway(namespace) + @SubscribeMessage(event)
10
+ *
11
+ * Like the other framework extractors this is regex-over-source (comment-
12
+ * stripped), not AST traversal. NestJS differs from Spring/ASP.NET in two ways
13
+ * that this resolver has to account for:
14
+ *
15
+ * 1. An HTTP route's path is split across TWO decorators — the class-level
16
+ * `@Controller` prefix and the method-level `@Get`/`@Post` path — and both
17
+ * are frequently empty (`@Controller()`, `@Get()`). We pair each method
18
+ * decorator with its enclosing class and join the two paths.
19
+ *
20
+ * 2. `@Query()` is overloaded: it's a GraphQL *method* decorator (from
21
+ * `@nestjs/graphql`) AND a REST *parameter* decorator (from
22
+ * `@nestjs/common`). We only treat it as GraphQL when it sits inside an
23
+ * `@Resolver` class, which is what disambiguates the two.
24
+ */
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.nestjsResolver = void 0;
27
+ const strip_comments_1 = require("../strip-comments");
28
+ const HTTP_METHODS = ['Get', 'Post', 'Put', 'Patch', 'Delete', 'Head', 'Options', 'All'];
29
+ const GQL_OPS = ['Query', 'Mutation', 'Subscription'];
30
+ exports.nestjsResolver = {
31
+ name: 'nestjs',
32
+ languages: ['typescript', 'javascript'],
33
+ detect(context) {
34
+ // Primary, fast path: any @nestjs/* dependency in package.json.
35
+ const packageJson = context.readFile('package.json');
36
+ if (packageJson) {
37
+ try {
38
+ const pkg = JSON.parse(packageJson);
39
+ const deps = { ...pkg.dependencies, ...pkg.devDependencies };
40
+ if (Object.keys(deps).some((k) => k.startsWith('@nestjs/'))) {
41
+ return true;
42
+ }
43
+ }
44
+ catch {
45
+ // Invalid JSON — fall through to the source scan.
46
+ }
47
+ }
48
+ // Fallback: NestJS-specific decorators in conventionally named files.
49
+ const allFiles = context.getAllFiles();
50
+ for (const file of allFiles) {
51
+ if (file.endsWith('.controller.ts') ||
52
+ file.endsWith('.controller.js') ||
53
+ file.endsWith('.module.ts') ||
54
+ file.endsWith('.resolver.ts') ||
55
+ file.endsWith('.gateway.ts')) {
56
+ const content = context.readFile(file);
57
+ if (content &&
58
+ (content.includes('@nestjs/') ||
59
+ content.includes('@Controller') ||
60
+ content.includes('@Module(') ||
61
+ content.includes('@Resolver(') ||
62
+ content.includes('@WebSocketGateway('))) {
63
+ return true;
64
+ }
65
+ }
66
+ }
67
+ return false;
68
+ },
69
+ resolve(ref, context) {
70
+ // Resolve provider/controller references (e.g. constructor-injected
71
+ // `UsersService`) to their class, preferring the Nest file-name
72
+ // convention (`*.service.ts`, `*.controller.ts`, …).
73
+ for (const [suffix, convention] of PROVIDER_CONVENTIONS) {
74
+ if (!suffix.test(ref.referenceName))
75
+ continue;
76
+ const candidates = context
77
+ .getNodesByName(ref.referenceName)
78
+ .filter((n) => n.kind === 'class');
79
+ if (candidates.length === 0)
80
+ return null;
81
+ const preferred = candidates.find((n) => n.filePath.includes(convention));
82
+ const target = preferred ?? candidates[0];
83
+ return {
84
+ original: ref,
85
+ targetNodeId: target.id,
86
+ confidence: preferred ? 0.85 : 0.7,
87
+ resolvedBy: 'framework',
88
+ };
89
+ }
90
+ return null;
91
+ },
92
+ extract(filePath, content) {
93
+ if (!/\.(m?js|tsx?|cjs)$/.test(filePath))
94
+ return { nodes: [], references: [] };
95
+ const nodes = [];
96
+ const references = [];
97
+ const now = Date.now();
98
+ const lang = detectLanguage(filePath);
99
+ const safe = (0, strip_comments_1.stripCommentsForRegex)(content, lang);
100
+ const addRoute = (index, method, path, length, handler) => {
101
+ const line = lineAt(safe, index);
102
+ const node = {
103
+ id: `route:${filePath}:${line}:${method}:${path}`,
104
+ kind: 'route',
105
+ name: `${method} ${path}`,
106
+ qualifiedName: `${filePath}::${method}:${path}`,
107
+ filePath,
108
+ startLine: line,
109
+ endLine: line,
110
+ startColumn: 0,
111
+ endColumn: length,
112
+ language: lang,
113
+ updatedAt: now,
114
+ };
115
+ nodes.push(node);
116
+ if (handler) {
117
+ references.push({
118
+ fromNodeId: node.id,
119
+ referenceName: handler,
120
+ referenceKind: 'references',
121
+ line,
122
+ column: 0,
123
+ filePath,
124
+ language: lang,
125
+ });
126
+ }
127
+ };
128
+ const scopes = buildClassScopes(safe);
129
+ // HTTP routes: method decorator path joined onto the enclosing controller's prefix.
130
+ for (const hit of findDecorators(safe, HTTP_METHODS)) {
131
+ const scope = scopeFor(scopes, hit.index);
132
+ const prefix = scope && scope.kind === 'controller' ? scope.prefix : '';
133
+ const path = joinHttpPath(prefix, parseStringArg(hit.args));
134
+ addRoute(hit.index, hit.name.toUpperCase(), path, hit.length, methodNameAfter(safe, hit.end));
135
+ }
136
+ // GraphQL operations: only inside an @Resolver class (disambiguates the
137
+ // REST `@Query()` parameter decorator, which lives inside @Controller classes).
138
+ for (const hit of findDecorators(safe, GQL_OPS)) {
139
+ const scope = scopeFor(scopes, hit.index);
140
+ if (!scope || scope.kind !== 'resolver')
141
+ continue;
142
+ const handler = methodNameAfter(safe, hit.end);
143
+ const name = parseGraphqlName(hit.args, handler);
144
+ addRoute(hit.index, hit.name.toUpperCase(), name, hit.length, handler);
145
+ }
146
+ // Microservice message/event handlers.
147
+ for (const hit of findDecorators(safe, ['MessagePattern', 'EventPattern'])) {
148
+ const verb = hit.name === 'EventPattern' ? 'EVENT' : 'MESSAGE';
149
+ const handler = methodNameAfter(safe, hit.end);
150
+ addRoute(hit.index, verb, parseStringArg(hit.args) || handler || '', hit.length, handler);
151
+ }
152
+ // WebSocket message handlers, prefixed with the gateway namespace when present.
153
+ for (const hit of findDecorators(safe, ['SubscribeMessage'])) {
154
+ const scope = scopeFor(scopes, hit.index);
155
+ const namespace = scope && scope.kind === 'gateway' ? scope.prefix : '';
156
+ const handler = methodNameAfter(safe, hit.end);
157
+ const event = parseStringArg(hit.args) || handler || '';
158
+ addRoute(hit.index, 'WS', namespace ? `${namespace}:${event}` : event, hit.length, handler);
159
+ }
160
+ return { nodes, references };
161
+ },
162
+ };
163
+ // ---------------------------------------------------------------------------
164
+ // Provider resolution conventions
165
+ // ---------------------------------------------------------------------------
166
+ const PROVIDER_CONVENTIONS = [
167
+ [/Service$/, '.service.'],
168
+ [/Controller$/, '.controller.'],
169
+ [/Resolver$/, '.resolver.'],
170
+ [/Gateway$/, '.gateway.'],
171
+ [/Repository$/, '.repository.'],
172
+ [/Guard$/, '.guard.'],
173
+ [/Interceptor$/, '.interceptor.'],
174
+ [/Pipe$/, '.pipe.'],
175
+ [/Module$/, '.module.'],
176
+ ];
177
+ /**
178
+ * Find every `@Name(...)` decorator whose name is in `names`. Uses a
179
+ * string-aware balanced-paren reader for the argument list so type thunks
180
+ * like `@Query(() => [User])` are captured whole rather than truncated at the
181
+ * inner `()`.
182
+ */
183
+ function findDecorators(safe, names) {
184
+ const hits = [];
185
+ const re = new RegExp(`@(${names.join('|')})\\s*\\(`, 'g');
186
+ let m;
187
+ while ((m = re.exec(safe)) !== null) {
188
+ const openIndex = m.index + m[0].length - 1; // position of '('
189
+ const parsed = readArgs(safe, openIndex);
190
+ if (!parsed)
191
+ continue;
192
+ hits.push({
193
+ name: m[1],
194
+ args: parsed.args,
195
+ index: m.index,
196
+ end: parsed.end,
197
+ length: parsed.end - m.index,
198
+ });
199
+ re.lastIndex = parsed.end; // resume past the args so nested text isn't re-scanned
200
+ }
201
+ return hits;
202
+ }
203
+ /**
204
+ * Read a balanced `(...)` starting at `openIndex` (which must point at `(`).
205
+ * String-aware, so parens inside string literals don't unbalance the count.
206
+ * Returns the inner text and the index just past the closing `)`.
207
+ */
208
+ function readArgs(s, openIndex) {
209
+ if (s[openIndex] !== '(')
210
+ return null;
211
+ let depth = 0;
212
+ let inStr = null;
213
+ for (let i = openIndex; i < s.length; i++) {
214
+ const ch = s[i];
215
+ if (inStr) {
216
+ if (ch === '\\') {
217
+ i++;
218
+ continue;
219
+ }
220
+ if (ch === inStr)
221
+ inStr = null;
222
+ continue;
223
+ }
224
+ if (ch === '"' || ch === "'" || ch === '`') {
225
+ inStr = ch;
226
+ continue;
227
+ }
228
+ if (ch === '(')
229
+ depth++;
230
+ else if (ch === ')') {
231
+ depth--;
232
+ if (depth === 0)
233
+ return { args: s.slice(openIndex + 1, i), end: i + 1 };
234
+ }
235
+ }
236
+ return null;
237
+ }
238
+ /**
239
+ * Starting just after a method decorator's `)`, return the name of the method
240
+ * it decorates. Skips any further stacked decorators (`@UseGuards(...)`,
241
+ * `@HttpCode(204)`, …) and access/async modifiers in between.
242
+ */
243
+ function methodNameAfter(safe, start) {
244
+ let i = start;
245
+ const ws = /\s*/y;
246
+ const decoName = /@[\w.]+/y;
247
+ const modifier = /(?:public|private|protected|async|static)\b/y;
248
+ const ident = /([A-Za-z_$][\w$]*)\s*\(/y;
249
+ const eatWs = () => {
250
+ ws.lastIndex = i;
251
+ if (ws.exec(safe))
252
+ i = ws.lastIndex;
253
+ };
254
+ // Skip stacked decorators.
255
+ for (;;) {
256
+ eatWs();
257
+ if (safe[i] !== '@')
258
+ break;
259
+ decoName.lastIndex = i;
260
+ if (!decoName.exec(safe))
261
+ break;
262
+ i = decoName.lastIndex;
263
+ eatWs();
264
+ if (safe[i] === '(') {
265
+ const parsed = readArgs(safe, i);
266
+ if (!parsed)
267
+ return null;
268
+ i = parsed.end;
269
+ }
270
+ }
271
+ // Skip access/async/static modifiers.
272
+ for (;;) {
273
+ eatWs();
274
+ modifier.lastIndex = i;
275
+ if (modifier.exec(safe) && modifier.lastIndex > i) {
276
+ i = modifier.lastIndex;
277
+ continue;
278
+ }
279
+ break;
280
+ }
281
+ eatWs();
282
+ ident.lastIndex = i;
283
+ const m = ident.exec(safe);
284
+ return m ? m[1] : null;
285
+ }
286
+ /**
287
+ * Build the list of class-level decorator scopes, sorted by position. Each
288
+ * scope runs from its decorator up to the next class decorator (of any kind),
289
+ * which lets a method decorator find its enclosing class regardless of how
290
+ * many classes share a file.
291
+ */
292
+ function buildClassScopes(safe) {
293
+ const defs = [
294
+ { kind: 'controller', name: 'Controller', prefixOf: parseControllerPrefix },
295
+ { kind: 'resolver', name: 'Resolver', prefixOf: () => '' },
296
+ { kind: 'gateway', name: 'WebSocketGateway', prefixOf: parseGatewayNamespace },
297
+ { kind: 'other', name: 'Injectable', prefixOf: () => '' },
298
+ { kind: 'other', name: 'Module', prefixOf: () => '' },
299
+ { kind: 'other', name: 'Catch', prefixOf: () => '' },
300
+ ];
301
+ const raw = [];
302
+ for (const def of defs) {
303
+ for (const hit of findDecorators(safe, [def.name])) {
304
+ raw.push({ kind: def.kind, prefix: def.prefixOf(hit.args), index: hit.index });
305
+ }
306
+ }
307
+ raw.sort((a, b) => a.index - b.index);
308
+ return raw.map((r, i) => ({
309
+ kind: r.kind,
310
+ prefix: r.prefix,
311
+ start: r.index,
312
+ end: i + 1 < raw.length ? raw[i + 1].index : safe.length,
313
+ }));
314
+ }
315
+ function scopeFor(scopes, index) {
316
+ for (const s of scopes) {
317
+ if (index >= s.start && index < s.end)
318
+ return s;
319
+ }
320
+ return null;
321
+ }
322
+ // ---------------------------------------------------------------------------
323
+ // Argument parsing
324
+ // ---------------------------------------------------------------------------
325
+ /** First string literal anywhere in the args, or '' (covers `'x'`, `{ k: 'x' }`). */
326
+ function parseStringArg(args) {
327
+ const m = args.match(/['"`]([^'"`]*)['"`]/);
328
+ return m ? m[1] : '';
329
+ }
330
+ /** `@Controller('users')` | `@Controller({ path: 'users', host })` | `@Controller(['a','b'])` | `@Controller()`. */
331
+ function parseControllerPrefix(args) {
332
+ const obj = args.match(/path\s*:\s*['"`]([^'"`]*)['"`]/);
333
+ if (obj)
334
+ return obj[1];
335
+ return parseStringArg(args);
336
+ }
337
+ /** `@WebSocketGateway({ namespace: 'chat' })` | `@WebSocketGateway(81, { namespace: '/chat' })` | `@WebSocketGateway()`. */
338
+ function parseGatewayNamespace(args) {
339
+ const m = args.match(/namespace\s*:\s*['"`]([^'"`]*)['"`]/);
340
+ return m ? m[1] : '';
341
+ }
342
+ /**
343
+ * GraphQL operation name. Prefers an explicit `{ name: 'x' }` or a leading
344
+ * string literal (`@Query('users')`); otherwise the field name defaults to the
345
+ * handler method name. Avoids mistaking a `description` string for the name.
346
+ */
347
+ function parseGraphqlName(args, handler) {
348
+ const named = args.match(/name\s*:\s*['"`]([^'"`]*)['"`]/);
349
+ if (named)
350
+ return named[1];
351
+ const lead = args.match(/^\s*['"`]([^'"`]*)['"`]/);
352
+ if (lead)
353
+ return lead[1];
354
+ return handler ?? '';
355
+ }
356
+ // ---------------------------------------------------------------------------
357
+ // Path helpers
358
+ // ---------------------------------------------------------------------------
359
+ /** Join a controller prefix and method path into a single normalised `/path`. */
360
+ function joinHttpPath(prefix, sub) {
361
+ const parts = [prefix, sub]
362
+ .map((p) => p.trim().replace(/^\/+|\/+$/g, ''))
363
+ .filter((p) => p.length > 0);
364
+ return '/' + parts.join('/');
365
+ }
366
+ function lineAt(safe, index) {
367
+ return safe.slice(0, index).split('\n').length;
368
+ }
369
+ function detectLanguage(filePath) {
370
+ if (filePath.endsWith('.ts') || filePath.endsWith('.tsx'))
371
+ return 'typescript';
372
+ return 'javascript';
373
+ }
374
+ //# sourceMappingURL=nestjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nestjs.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/nestjs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"query-utils.d.ts","sourceRoot":"","sources":["../../src/search/query-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,UAAU,aAkBrB,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAyDtD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,EAAE,CA2DzF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA4B1E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAgCpD;AAmBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAuCtE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CA0BpD"}
1
+ {"version":3,"file":"query-utils.d.ts","sourceRoot":"","sources":["../../src/search/query-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,UAAU,aAkBrB,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAyDtD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,EAAE,CA2DzF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA4B1E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAuCpD;AAmBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAuCtE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CA0BpD"}
@@ -229,33 +229,36 @@ function scorePathRelevance(filePath, query) {
229
229
  */
230
230
  function isTestFile(filePath) {
231
231
  const lower = filePath.toLowerCase();
232
- const fileName = path.basename(lower);
233
- // Common test file patterns
234
- return (fileName.startsWith('test_') ||
235
- fileName.startsWith('test.') ||
236
- fileName.endsWith('.test.ts') ||
237
- fileName.endsWith('.test.js') ||
238
- fileName.endsWith('.test.tsx') ||
239
- fileName.endsWith('.test.jsx') ||
240
- fileName.endsWith('.spec.ts') ||
241
- fileName.endsWith('.spec.js') ||
242
- fileName.endsWith('_test.go') ||
243
- fileName.endsWith('_test.py') ||
244
- fileName.endsWith('_test.rs') ||
245
- fileName.endsWith('Tests.java') ||
246
- fileName.endsWith('Test.java') ||
247
- fileName.endsWith('Tester.java') ||
248
- fileName.endsWith('TestCase.java') ||
249
- lower.includes('/tests/') ||
250
- lower.includes('/test/') ||
251
- lower.includes('/__tests__/') ||
252
- lower.includes('/spec/') ||
253
- lower.includes('/testlib/') ||
232
+ const fileName = path.basename(filePath); // original case — needed for camelCase boundaries
233
+ const lowerName = fileName.toLowerCase();
234
+ // --- Filename patterns ---
235
+ if (lowerName.startsWith('test_') || // python: test_foo.py
236
+ lowerName.startsWith('test.') ||
237
+ // separator-delimited: foo_test.go, foo.test.ts, foo-spec.rb, bar_spec.py
238
+ /[._-](test|tests|spec|specs)\.[a-z0-9]+$/.test(lowerName) ||
239
+ // CamelCase suffix (Java/Kotlin/Swift/C#/Scala): FooTest.kt, BarTests.swift,
240
+ // BazSpec.scala, QuxTestCase.java. Capital-led so "latest.kt"/"manifest.kt"
241
+ // (lowercase "test") are NOT matched.
242
+ /(?:Test|Tests|TestCase|Tester|Spec|Specs)\.[A-Za-z0-9]+$/.test(fileName)) {
243
+ return true;
244
+ }
245
+ // --- Directory patterns ---
246
+ if (lower.includes('/tests/') || lower.includes('/test/') ||
247
+ lower.includes('/__tests__/') || lower.includes('/spec/') ||
248
+ lower.includes('/specs/') || lower.includes('/testlib/') ||
254
249
  lower.includes('/testing/') ||
255
- // Non-production directories: examples, samples, benchmarks, fixtures, demos.
256
- // Check both mid-path (/integration/) and start-of-path (integration/) since
257
- // file paths may be stored as relative paths without a leading slash.
258
- matchesNonProductionDir(lower));
250
+ lower.startsWith('test/') || lower.startsWith('tests/') ||
251
+ lower.startsWith('spec/') || lower.startsWith('specs/') ||
252
+ // CamelCase test source-set dirs (Kotlin Multiplatform / Gradle / Xcode):
253
+ // jvmTest/, commonTest/, androidTest/, iosTest/, integrationTest/. Capital-led
254
+ // so "latest/" / "manifest/" are not matched.
255
+ /(?:^|\/)[A-Za-z0-9]*(?:Test|Tests|Spec)\//.test(filePath)) {
256
+ return true;
257
+ }
258
+ // Non-production directories: examples, samples, benchmarks, fixtures, demos.
259
+ // Check both mid-path (/integration/) and start-of-path (integration/) since
260
+ // file paths may be stored as relative paths without a leading slash.
261
+ return matchesNonProductionDir(lower);
259
262
  }
260
263
  /**
261
264
  * Check if a path is in a non-production directory (integration, sample, example, etc.)
@@ -1 +1 @@
1
- {"version":3,"file":"query-utils.js","sourceRoot":"","sources":["../../src/search/query-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-utils.js","sourceRoot":"","sources":["../../src/search/query-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Git Sync Hooks
3
+ *
4
+ * When the live file watcher is disabled (e.g. on WSL2 `/mnt/*` drives,
5
+ * see watch-policy.ts), the CodeGraph index would otherwise go stale until
6
+ * the user runs `codegraph sync` by hand. As an opt-in alternative, we can
7
+ * install git hooks that refresh the index after the operations that change
8
+ * files on disk: commit, merge (covers `git pull`), and checkout.
9
+ *
10
+ * The hooks run `codegraph sync` in the background so they never block git,
11
+ * and are guarded by `command -v codegraph` so they no-op cleanly when the
12
+ * CLI isn't on PATH. Our snippet is delimited by marker comments so install
13
+ * is idempotent and removal preserves any user-authored hook content.
14
+ */
15
+ export type GitHookName = 'post-commit' | 'post-merge' | 'post-checkout';
16
+ /** Hooks installed by default: commit, merge (git pull), and checkout. */
17
+ export declare const DEFAULT_SYNC_HOOKS: GitHookName[];
18
+ export interface GitHookResult {
19
+ /** Hook names that were created or updated. */
20
+ installed: GitHookName[];
21
+ /** Resolved hooks directory, or null when not a git repo. */
22
+ hooksDir: string | null;
23
+ /** Reason nothing happened (e.g. not a git repository). */
24
+ skipped?: string;
25
+ }
26
+ /**
27
+ * Whether `projectRoot` is inside a git working tree. Returns false if git
28
+ * isn't installed or the path isn't a repo.
29
+ */
30
+ export declare function isGitRepo(projectRoot: string): boolean;
31
+ /**
32
+ * Install (or update) the CodeGraph sync hooks in a git repository.
33
+ * Idempotent: re-running replaces our marker block rather than duplicating
34
+ * it, and any user-authored hook content is preserved.
35
+ */
36
+ export declare function installGitSyncHook(projectRoot: string, hooks?: GitHookName[]): GitHookResult;
37
+ /**
38
+ * Remove the CodeGraph sync hooks. Strips only our marker block; deletes the
39
+ * hook file entirely when nothing but a shebang remains, otherwise rewrites
40
+ * the user's content untouched.
41
+ */
42
+ export declare function removeGitSyncHook(projectRoot: string, hooks?: GitHookName[]): GitHookResult;
43
+ /** Whether any CodeGraph sync hook is currently installed. */
44
+ export declare function isSyncHookInstalled(projectRoot: string, hooks?: GitHookName[]): boolean;
45
+ //# sourceMappingURL=git-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-hooks.d.ts","sourceRoot":"","sources":["../../src/sync/git-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AASH,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,eAAe,CAAC;AAEzE,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,EAAE,WAAW,EAAmD,CAAC;AAEhG,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAWtD;AAgED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,WAAW,EAAuB,GACxC,aAAa,CAmCf;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,WAAW,EAAuB,GACxC,aAAa,CA0Bf;AAED,8DAA8D;AAC9D,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,WAAW,EAAuB,GACxC,OAAO,CAOT"}