@vyuhlabs/dxkit 2.18.1 → 2.20.0

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 (68) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/dist/analyzers/flow/csv.d.ts +17 -0
  3. package/dist/analyzers/flow/csv.d.ts.map +1 -0
  4. package/dist/analyzers/flow/csv.js +64 -0
  5. package/dist/analyzers/flow/csv.js.map +1 -0
  6. package/dist/analyzers/flow/extract.d.ts +64 -0
  7. package/dist/analyzers/flow/extract.d.ts.map +1 -0
  8. package/dist/analyzers/flow/extract.js +254 -0
  9. package/dist/analyzers/flow/extract.js.map +1 -0
  10. package/dist/analyzers/flow/gather.d.ts +24 -0
  11. package/dist/analyzers/flow/gather.d.ts.map +1 -0
  12. package/dist/analyzers/flow/gather.js +50 -0
  13. package/dist/analyzers/flow/gather.js.map +1 -0
  14. package/dist/analyzers/flow/model.d.ts +63 -0
  15. package/dist/analyzers/flow/model.d.ts.map +1 -0
  16. package/dist/analyzers/flow/model.js +78 -0
  17. package/dist/analyzers/flow/model.js.map +1 -0
  18. package/dist/analyzers/flow/normalize.d.ts +76 -0
  19. package/dist/analyzers/flow/normalize.d.ts.map +1 -0
  20. package/dist/analyzers/flow/normalize.js +133 -0
  21. package/dist/analyzers/flow/normalize.js.map +1 -0
  22. package/dist/analyzers/flow/spec-source.d.ts +44 -0
  23. package/dist/analyzers/flow/spec-source.d.ts.map +1 -0
  24. package/dist/analyzers/flow/spec-source.js +75 -0
  25. package/dist/analyzers/flow/spec-source.js.map +1 -0
  26. package/dist/ast/parse.d.ts +71 -0
  27. package/dist/ast/parse.d.ts.map +1 -0
  28. package/dist/ast/parse.js +220 -0
  29. package/dist/ast/parse.js.map +1 -0
  30. package/dist/cli.d.ts.map +1 -1
  31. package/dist/cli.js +46 -0
  32. package/dist/cli.js.map +1 -1
  33. package/dist/dashboard/graph-adapter.d.ts.map +1 -1
  34. package/dist/dashboard/graph-adapter.js +1 -4
  35. package/dist/dashboard/graph-adapter.js.map +1 -1
  36. package/dist/explore/flow-graph.d.ts +62 -0
  37. package/dist/explore/flow-graph.d.ts.map +1 -0
  38. package/dist/explore/flow-graph.js +202 -0
  39. package/dist/explore/flow-graph.js.map +1 -0
  40. package/dist/explore/flow-view.d.ts +33 -0
  41. package/dist/explore/flow-view.d.ts.map +1 -0
  42. package/dist/explore/flow-view.js +85 -0
  43. package/dist/explore/flow-view.js.map +1 -0
  44. package/dist/explore/load.d.ts.map +1 -1
  45. package/dist/explore/load.js +16 -3
  46. package/dist/explore/load.js.map +1 -1
  47. package/dist/explore/queries.d.ts +92 -1
  48. package/dist/explore/queries.d.ts.map +1 -1
  49. package/dist/explore/queries.js +142 -0
  50. package/dist/explore/queries.js.map +1 -1
  51. package/dist/explore/types.d.ts +56 -3
  52. package/dist/explore/types.d.ts.map +1 -1
  53. package/dist/explore/types.js +10 -2
  54. package/dist/explore/types.js.map +1 -1
  55. package/dist/flow-cli.d.ts +38 -0
  56. package/dist/flow-cli.d.ts.map +1 -0
  57. package/dist/flow-cli.js +200 -0
  58. package/dist/flow-cli.js.map +1 -0
  59. package/dist/languages/index.d.ts +15 -2
  60. package/dist/languages/index.d.ts.map +1 -1
  61. package/dist/languages/index.js +18 -0
  62. package/dist/languages/index.js.map +1 -1
  63. package/dist/languages/types.d.ts +106 -0
  64. package/dist/languages/types.d.ts.map +1 -1
  65. package/dist/languages/typescript.d.ts.map +1 -1
  66. package/dist/languages/typescript.js +32 -0
  67. package/dist/languages/typescript.js.map +1 -1
  68. package/package.json +4 -2
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ /**
3
+ * `vyuh-dxkit flow extract` — the flow-map CSV command. Thin CLI wrapper: it
4
+ * resolves roots + config, calls the gather engine, and writes the parity CSVs.
5
+ * All analysis lives in `src/analyzers/flow/`; this file only wires I/O.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.runFlowExtract = runFlowExtract;
42
+ exports.runFlowMap = runFlowMap;
43
+ exports.runFlowTrace = runFlowTrace;
44
+ const fs = __importStar(require("fs"));
45
+ const path = __importStar(require("path"));
46
+ const logger = __importStar(require("./logger"));
47
+ const gather_1 = require("./analyzers/flow/gather");
48
+ const csv_1 = require("./analyzers/flow/csv");
49
+ const model_1 = require("./analyzers/flow/model");
50
+ const flow_view_1 = require("./explore/flow-view");
51
+ /** Host-helper strip prefixes from `.dxkit/policy.json:flow.stripUrlPrefixes`. */
52
+ function readStripPrefixes(cwd) {
53
+ try {
54
+ const raw = fs.readFileSync(path.join(cwd, '.dxkit', 'policy.json'), 'utf8');
55
+ const prefixes = JSON.parse(raw)?.flow
56
+ ?.stripUrlPrefixes;
57
+ return Array.isArray(prefixes)
58
+ ? prefixes.filter((p) => typeof p === 'string')
59
+ : [];
60
+ }
61
+ catch {
62
+ return [];
63
+ }
64
+ }
65
+ /**
66
+ * Emit a machine payload to stdout. In `--json` mode cli.ts routes all logger
67
+ * prose to stderr (`setJsonMode`), so the JSON contract requires writing the
68
+ * payload straight to stdout — never through the logger, which would land it on
69
+ * stderr and corrupt the contract. Mirrors the allowlist / reviewers CLIs.
70
+ */
71
+ function emitJson(payload) {
72
+ process.stdout.write(JSON.stringify(payload) + '\n');
73
+ }
74
+ function splitPaths(value, cwd) {
75
+ return (value ?? '')
76
+ .split(',')
77
+ .map((s) => s.trim())
78
+ .filter(Boolean)
79
+ .map((s) => path.resolve(cwd, s));
80
+ }
81
+ /** Resolve scan roots from --frontend/--backend, defaulting to cwd (monorepo). */
82
+ function resolveRoots(opts) {
83
+ const roots = [];
84
+ if (opts.frontend)
85
+ roots.push(path.resolve(opts.cwd, opts.frontend));
86
+ if (opts.backend)
87
+ roots.push(path.resolve(opts.cwd, opts.backend));
88
+ if (roots.length === 0)
89
+ roots.push(opts.cwd);
90
+ return roots;
91
+ }
92
+ /** Gather one flow model — shared by extract / map / trace. */
93
+ async function gatherModel(opts) {
94
+ return (0, gather_1.gatherFlowModel)({
95
+ roots: resolveRoots(opts),
96
+ specs: splitPaths(opts.specs, opts.cwd),
97
+ stripUrlPrefixes: readStripPrefixes(opts.cwd),
98
+ });
99
+ }
100
+ async function runFlowExtract(opts) {
101
+ logger.header('vyuh-dxkit flow extract');
102
+ const model = await gatherModel(opts);
103
+ const summary = (0, model_1.summarize)(model);
104
+ const outDir = path.resolve(opts.cwd, opts.out ?? 'csv_output');
105
+ fs.mkdirSync(outDir, { recursive: true });
106
+ const files = (0, csv_1.flowCsvFiles)(model);
107
+ for (const [name, content] of Object.entries(files)) {
108
+ fs.writeFileSync(path.join(outDir, name), content);
109
+ }
110
+ if (opts.json) {
111
+ emitJson({ ...summary, outDir, files: Object.keys(files) });
112
+ return;
113
+ }
114
+ const pct = summary.calls ? Math.round((100 * summary.resolved) / summary.calls) : 0;
115
+ logger.success(`${summary.calls} client calls, ${summary.routes} routes · ${summary.resolved}/${summary.calls} bound (${pct}%)`);
116
+ logger.info(`CSVs written to ${outDir} — ${Object.keys(files).join(', ')}`);
117
+ }
118
+ /**
119
+ * `vyuh-dxkit flow` — the traceability map. Writes the flow overlay onto
120
+ * graph.json (the native artifact the dashboard + gate also read) and prints
121
+ * every served endpoint with how many UI surfaces consume it, plus the
122
+ * served-but-unconsumed set (dead-route or cross-repo candidates).
123
+ */
124
+ async function runFlowMap(opts) {
125
+ if (!opts.json)
126
+ logger.header('vyuh-dxkit flow');
127
+ const model = await gatherModel(opts);
128
+ const map = (0, flow_view_1.buildFlowMap)(opts.cwd, model);
129
+ if (opts.json) {
130
+ emitJson(map);
131
+ return;
132
+ }
133
+ logger.success(`${map.totalEndpoints} endpoints · ${map.totalBindings} UI→API bindings · ${map.unconsumedEndpoints.length} unconsumed`);
134
+ if (map.endpoints.length) {
135
+ logger.info('');
136
+ logger.info('Consumed endpoints (by UI surfaces):');
137
+ for (const row of map.endpoints) {
138
+ const files = row.consumerFiles.slice(0, 3).join(', ');
139
+ const more = row.consumerFiles.length > 3 ? ` +${row.consumerFiles.length - 3} more` : '';
140
+ logger.info(` ${row.endpoint.label} ← ${row.consumerCount} call(s): ${files}${more}`);
141
+ }
142
+ }
143
+ if (map.unconsumedEndpoints.length) {
144
+ logger.info('');
145
+ logger.info('Served but unconsumed (dead route or cross-repo consumer):');
146
+ for (const ep of map.unconsumedEndpoints.slice(0, 20)) {
147
+ logger.info(` ${ep.label}`);
148
+ }
149
+ if (map.unconsumedEndpoints.length > 20) {
150
+ logger.info(` … and ${map.unconsumedEndpoints.length - 20} more`);
151
+ }
152
+ }
153
+ logger.info('');
154
+ logger.info('Trace one: vyuh-dxkit flow trace "<METHOD> <path>"');
155
+ }
156
+ /**
157
+ * `vyuh-dxkit flow trace "<METHOD> <path>"` — the full trace for one endpoint:
158
+ * its served-side handler + every UI call site + the change blast radius.
159
+ */
160
+ async function runFlowTrace(opts) {
161
+ if (!opts.json)
162
+ logger.header('vyuh-dxkit flow trace');
163
+ const model = await gatherModel(opts);
164
+ const { trace, candidates } = (0, flow_view_1.buildFlowTrace)(opts.cwd, model, opts.target);
165
+ if (opts.json) {
166
+ emitJson({ trace, candidates });
167
+ return;
168
+ }
169
+ if (!trace.found || !trace.endpoint) {
170
+ logger.fail(`No endpoint matches "${opts.target}".`);
171
+ if (candidates.length) {
172
+ logger.info('Known endpoints:');
173
+ for (const c of candidates.slice(0, 20))
174
+ logger.info(` ${c}`);
175
+ if (candidates.length > 20)
176
+ logger.info(` … and ${candidates.length - 20} more`);
177
+ }
178
+ return;
179
+ }
180
+ const ep = trace.endpoint;
181
+ logger.success(ep.label);
182
+ logger.info(` handler: ${trace.handler ?? '(unknown)'} · via: ${ep.via}`);
183
+ logger.info(` served at: ${ep.sourceFile}${ep.line ? `:${ep.line}` : ''}`);
184
+ logger.info('');
185
+ if (trace.consumers.length) {
186
+ logger.info(`Consumed by ${trace.consumers.length} UI call site(s):`);
187
+ for (const c of trace.consumers) {
188
+ const sym = c.symbol ? `${c.symbol} ` : '';
189
+ logger.info(` ${sym}${c.file}${c.line ? `:${c.line}` : ''}`);
190
+ }
191
+ }
192
+ else {
193
+ logger.info('No UI call site in this scan consumes it.');
194
+ }
195
+ const br = trace.blastRadius;
196
+ logger.info('');
197
+ logger.info(`Blast radius: ${br.directConsumers} direct consumer(s) in ${br.consumerFiles} file(s)` +
198
+ (br.upstreamCallers ? `, ${br.upstreamCallers} upstream caller(s)` : ''));
199
+ }
200
+ //# sourceMappingURL=flow-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-cli.js","sourceRoot":"","sources":["../src/flow-cli.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { DetectedStack } from '../types';
2
- import type { ArchitecturalShape, DeepSastSupport, LanguageId, LanguageSupport } from './types';
3
- export type { ArchitecturalShape, LanguageId, LanguageSupport, LintSeverity } from './types';
2
+ import type { ArchitecturalShape, DeepSastSupport, HttpFlowSupport, LanguageId, LanguageSupport } from './types';
3
+ export type { ArchitecturalShape, HttpFlowSupport, LanguageId, LanguageSupport, LintSeverity, } from './types';
4
4
  export declare const LANGUAGES: readonly LanguageSupport[];
5
5
  export declare function getLanguage(id: LanguageId): LanguageSupport | undefined;
6
6
  export declare function detectActiveLanguages(cwd: string): LanguageSupport[];
@@ -222,6 +222,19 @@ export declare function allRoutePaths(flags: DetectedStack['languages']): string
222
222
  * Maintainability prose).
223
223
  */
224
224
  export declare function allModelPaths(flags: DetectedStack['languages']): string[];
225
+ /**
226
+ * Active packs' `httpFlow` descriptors (defined-only). Consumed by the
227
+ * cross-cutting flow extractor (`src/analyzers/flow/`): it resolves the
228
+ * per-file descriptor by the file's language and uses this union to decide
229
+ * whether flow extraction applies at all. Per Rule 6 the extractor never
230
+ * branches on language id or hardcodes a framework literal — every HTTP
231
+ * client/route construct it recognizes comes from a pack's descriptor here.
232
+ *
233
+ * `recipe-playbook.test.ts` asserts a synthetic pack's `httpFlow`
234
+ * contribution flows through this helper, codifying "flow extraction is
235
+ * pack-driven, not analyzer-by-analyzer."
236
+ */
237
+ export declare function allHttpFlow(flags: DetectedStack['languages']): HttpFlowSupport[];
225
238
  /**
226
239
  * Per-bucket union of active packs' test-gap path patterns. Empty
227
240
  * arrays for any bucket no pack declares. Consumed by
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ exports.allClocLanguageNames = allClocLanguageNames;
22
22
  exports.allPrimaryComponentPaths = allPrimaryComponentPaths;
23
23
  exports.allRoutePaths = allRoutePaths;
24
24
  exports.allModelPaths = allModelPaths;
25
+ exports.allHttpFlow = allHttpFlow;
25
26
  exports.allTestGapPriorityPaths = allTestGapPriorityPaths;
26
27
  exports.dominantVocabulary = dominantVocabulary;
27
28
  exports.splitTestFilePatterns = splitTestFilePatterns;
@@ -338,6 +339,23 @@ function allModelPaths(flags) {
338
339
  ...new Set(activeLanguagesFromFlags(flags).flatMap((l) => l.architecturalShape?.modelPaths ?? [])),
339
340
  ];
340
341
  }
342
+ /**
343
+ * Active packs' `httpFlow` descriptors (defined-only). Consumed by the
344
+ * cross-cutting flow extractor (`src/analyzers/flow/`): it resolves the
345
+ * per-file descriptor by the file's language and uses this union to decide
346
+ * whether flow extraction applies at all. Per Rule 6 the extractor never
347
+ * branches on language id or hardcodes a framework literal — every HTTP
348
+ * client/route construct it recognizes comes from a pack's descriptor here.
349
+ *
350
+ * `recipe-playbook.test.ts` asserts a synthetic pack's `httpFlow`
351
+ * contribution flows through this helper, codifying "flow extraction is
352
+ * pack-driven, not analyzer-by-analyzer."
353
+ */
354
+ function allHttpFlow(flags) {
355
+ return activeLanguagesFromFlags(flags)
356
+ .map((l) => l.httpFlow)
357
+ .filter((h) => h !== undefined);
358
+ }
341
359
  /**
342
360
  * Per-bucket union of active packs' test-gap path patterns. Empty
343
361
  * arrays for any bucket no pack declares. Consumed by
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/languages/index.ts"],"names":[],"mappings":"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"}
@@ -117,6 +117,84 @@ export interface DeepSastSupport {
117
117
  * is expected to return findings for it. */
118
118
  snykCode?: boolean;
119
119
  }
120
+ /**
121
+ * Per-pack HTTP-flow descriptors: how this language's source expresses
122
+ * outbound HTTP calls (the CONSUMED side) and inbound route declarations
123
+ * (the SERVED side). Declared by each language pack (Rule 6) and consumed
124
+ * through `allHttpFlow` in `src/languages/index.ts`; the cross-cutting flow
125
+ * extractor (`src/analyzers/flow/`) reads the active-pack union and never
126
+ * branches on language id or hardcodes framework literals (`fetch`,
127
+ * `@get`, `router.post`).
128
+ *
129
+ * These are SEMANTIC descriptors matched against the tree-sitter AST — not
130
+ * regexes over text (Rule 5). The extractor finds call expressions /
131
+ * decorators whose callee matches a descriptor, then reads the argument
132
+ * nodes for the method + URL. The descriptors say WHICH constructs are HTTP;
133
+ * the engine reads them structurally.
134
+ *
135
+ * URL normalization (host-helper stripping, `:id`/`{id}`/`${x}` → `{var}`,
136
+ * query stripping) is deliberately NOT here: host helpers are per-APP config
137
+ * (`flow.stripUrlPrefixes`), and param-form canonicalization is uniform
138
+ * across frameworks, so both live in the shared normalizer rather than in a
139
+ * per-language descriptor.
140
+ *
141
+ * These fields are exactly what is needed to extract axios + custom-wrapper
142
+ * client calls from a React frontend and LoopBack `@get`/`@post` + Express
143
+ * `router.<method>` routes — the union that, on a real axios → LoopBack stack,
144
+ * matched-or-beat a hand-tuned regex tool at higher precision.
145
+ *
146
+ * Optional — a pack with no HTTP surface (or none modeled yet) omits it,
147
+ * and the flow extractor sees the empty union for that language.
148
+ */
149
+ export interface HttpFlowSupport {
150
+ /**
151
+ * Bare-callee identifiers that initiate an outbound HTTP request with the
152
+ * URL as the first argument. The canonical case is the Fetch API
153
+ * `fetch(url, opts)`. Method comes from the `opts.method` option (default
154
+ * GET). Matched on a `call_expression` whose `function` is an identifier
155
+ * in this list.
156
+ */
157
+ clientCallees?: string[];
158
+ /**
159
+ * Member-method client calls of the form `<base>.<method>(url, ...)`.
160
+ * `methods` are the property names that map to HTTP verbs
161
+ * (`get`/`post`/`put`/`delete`/`patch`); the verb is the method name.
162
+ * `bases`, when present, restricts which receiver identifiers count
163
+ * (`axios`, `http`, `api`, `client`, `request`, ...). When `bases` is
164
+ * omitted, any receiver whose `.<method>(...)` first argument is a
165
+ * path-like literal is treated as a client call — this covers
166
+ * app-specific wrappers (`requests.get('/x')`, `agent.Articles.del(...)`)
167
+ * that no fixed allowlist can enumerate; the path-like-literal filter
168
+ * keeps non-HTTP `.get`/`.delete` (lodash, Maps) out.
169
+ */
170
+ clientMethodCallees?: {
171
+ methods: string[];
172
+ bases?: string[];
173
+ };
174
+ /**
175
+ * Decorator-style route declarations: `@<name>('/path')` on a handler
176
+ * method (LoopBack `@get`, NestJS `@Post`). `<name>` maps to the HTTP
177
+ * verb; the first string/template argument is the route path. Matched on
178
+ * `decorator` nodes whose call callee is an identifier in this list.
179
+ */
180
+ routeDecorators?: string[];
181
+ /**
182
+ * Router-style route declarations: `<base>.<method>('/path', handler)`
183
+ * (Express `app.get(...)`, `router.post(...)`). `methods` map to verbs;
184
+ * `bases` are the receiver identifiers (`app`, `router`).
185
+ */
186
+ routeRouterCallees?: {
187
+ methods: string[];
188
+ bases: string[];
189
+ };
190
+ /**
191
+ * Canonicalize a matched method token to an uppercase HTTP verb where the
192
+ * token differs from the verb. The motivating alias is LoopBack's `del` →
193
+ * `DELETE`. Tokens absent from the map default to upper-casing
194
+ * (`get` → `GET`). Keys are lowercase method tokens.
195
+ */
196
+ methodAliases?: Record<string, string>;
197
+ }
120
198
  /**
121
199
  * Everything dxkit needs to know about a language lives in one implementation
122
200
  * of this interface. See `src/languages/index.ts` for the registry.
@@ -312,6 +390,34 @@ export interface LanguageSupport {
312
390
  * convention and no controllers/components vocabulary maps).
313
391
  */
314
392
  architecturalShape?: ArchitecturalShape;
393
+ /**
394
+ * HTTP-flow descriptors for this pack: how its source expresses outbound
395
+ * HTTP calls + inbound route declarations. Consumed through `allHttpFlow`
396
+ * in `src/languages/index.ts` by the cross-cutting flow extractor
397
+ * (`src/analyzers/flow/`) — never a per-language branch and never a
398
+ * hardcoded framework literal in the analyzer (Rule 6 + Rule 5).
399
+ *
400
+ * Optional — a pack with no modeled HTTP surface omits it; the extractor
401
+ * sees the empty union for that language. See `HttpFlowSupport`.
402
+ */
403
+ httpFlow?: HttpFlowSupport;
404
+ /**
405
+ * Tree-sitter grammars this pack's source files parse with, keyed by file
406
+ * extension (with leading dot). Consumed by the canonical AST layer
407
+ * (`src/ast/`) — the platform's in-process, graphify-independent parser —
408
+ * which maps each LOGICAL grammar name to a concrete grammar artifact. Keep
409
+ * the names logical (`'typescript'`, `'tsx'`, `'javascript'`), not paths, so
410
+ * the AST engine stays swappable behind `src/ast/` without touching packs
411
+ * (Rule 6 + the same swap discipline graphify sits behind).
412
+ *
413
+ * One language can need several grammars by extension: a TypeScript project
414
+ * mixes `.ts` (typescript), `.tsx` (tsx), and `.js`/`.jsx` (javascript).
415
+ *
416
+ * Optional — a pack omits it until its grammar is wired; AST-based features
417
+ * (flow extraction, future graph building) simply skip that language's files
418
+ * until present. See `src/ast/` for the name → artifact resolution.
419
+ */
420
+ treeSitterGrammars?: Record<string, string>;
315
421
  /**
316
422
  * D073 (2.4.7): language names cloc emits in its `--json` output
317
423
  * for this pack. cloc's per-language keys are NOT 1:1 with file
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/languages/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/languages/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAK/F,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAC9C,aAAa,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;;;;OAeG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjC;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE;QAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;8DAE0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;8BAC0B;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;kCAE8B;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;gEAC4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;iDAC6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAE9D;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAE5D;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,UAAU,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IAEpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,eAAe,CAAC,EAAE;QAChB,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;QAC/C,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF;;;;;;;;;;;;;;;;;OAiBG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;IAEzD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,cAAc,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAExC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE7B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B;;;;;;;OAOG;IACH,eAAe,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,CAAC;IAEhE,uDAAuD;IACvD,YAAY,CAAC,EAAE,wBAAwB,CAAC;IAExC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,mBAAmB,CAAC,EAAE;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,CAAC;IAEF;;;;;;;;;;;;;;;;;;OAkBG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAElC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,aAAa,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/languages/typescript.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,QAAQ,EAAyC,MAAM,6BAA6B,CAAC;AAiCnG,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AA6L7D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAsD5E;AAwND;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAc7D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkB7F;AAwFD,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CA6B3F;AAOD,4GAA4G;AAC5G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CA6BzF;AAicD,eAAO,MAAM,UAAU,EAAE,eA0IxB,CAAC"}
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/languages/typescript.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,QAAQ,EAAyC,MAAM,6BAA6B,CAAC;AAiCnG,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AA6L7D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAsD5E;AAwND;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAc7D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkB7F;AAwFD,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CA6B3F;AAOD,4GAA4G;AAC5G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CA6BzF;AAicD,eAAO,MAAM,UAAU,EAAE,eA4KxB,CAAC"}
@@ -1126,6 +1126,38 @@ exports.typescript = {
1126
1126
  ],
1127
1127
  },
1128
1128
  },
1129
+ // HTTP flow (CLAUDE.md Rule 6): how TS/JS source expresses outbound HTTP
1130
+ // calls + route declarations, consumed by the flow extractor via
1131
+ // `allHttpFlow`. CLIENT: the Fetch API plus any `<recv>.<verb>(url, ...)`
1132
+ // member call whose first arg is a path-like literal — `bases` is omitted
1133
+ // so axios, app-specific wrappers (`requests.get`, `agent.Articles.del`),
1134
+ // and Angular's `this.http.get` all match; the path-like-literal filter in
1135
+ // the engine keeps non-HTTP `.get`/`.delete` out. SERVED: decorator routes
1136
+ // (LoopBack/NestJS `@get`/`@post`/`@del`) and Express `app`/`router`
1137
+ // `.<verb>('/path', ...)`. `del` → DELETE is LoopBack's verb alias. This is
1138
+ // the exact descriptor set validated by the bundled flow probe (axios React
1139
+ // frontend → LoopBack/Express backend, match-or-beat at higher precision).
1140
+ httpFlow: {
1141
+ clientCallees: ['fetch'],
1142
+ clientMethodCallees: { methods: ['get', 'post', 'put', 'delete', 'patch'] },
1143
+ routeDecorators: ['get', 'post', 'put', 'patch', 'del', 'delete'],
1144
+ routeRouterCallees: {
1145
+ methods: ['get', 'post', 'put', 'delete', 'patch'],
1146
+ bases: ['app', 'router'],
1147
+ },
1148
+ methodAliases: { del: 'DELETE' },
1149
+ },
1150
+ // Tree-sitter grammars by extension for the canonical AST layer (src/ast/).
1151
+ // .tsx needs the tsx grammar (JSX-aware); .ts uses typescript; .js/.jsx/.mjs/
1152
+ // .cjs use javascript. Logical names — src/ast/ resolves them to artifacts.
1153
+ treeSitterGrammars: {
1154
+ '.ts': 'typescript',
1155
+ '.tsx': 'tsx',
1156
+ '.js': 'javascript',
1157
+ '.jsx': 'javascript',
1158
+ '.mjs': 'javascript',
1159
+ '.cjs': 'javascript',
1160
+ },
1129
1161
  clocLanguageNames: ['TypeScript', 'JavaScript', 'JSX', 'TSX'],
1130
1162
  detect(cwd) {
1131
1163
  return (0, runner_1.fileExists)(cwd, 'package.json');