@tyroneross/navgator 0.1.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 (84) hide show
  1. package/.claude-plugin/plugin.json +10 -0
  2. package/LICENSE +21 -0
  3. package/README.md +486 -0
  4. package/agents/architecture-advisor.md +109 -0
  5. package/commands/nav-check.md +64 -0
  6. package/commands/nav-connections.md +58 -0
  7. package/commands/nav-diagram.md +106 -0
  8. package/commands/nav-export.md +71 -0
  9. package/commands/nav-impact.md +58 -0
  10. package/commands/nav-scan.md +46 -0
  11. package/commands/nav-status.md +44 -0
  12. package/dist/cli/index.d.ts +7 -0
  13. package/dist/cli/index.d.ts.map +1 -0
  14. package/dist/cli/index.js +627 -0
  15. package/dist/cli/index.js.map +1 -0
  16. package/dist/config.d.ts +95 -0
  17. package/dist/config.d.ts.map +1 -0
  18. package/dist/config.js +262 -0
  19. package/dist/config.js.map +1 -0
  20. package/dist/diagram.d.ts +36 -0
  21. package/dist/diagram.d.ts.map +1 -0
  22. package/dist/diagram.js +333 -0
  23. package/dist/diagram.js.map +1 -0
  24. package/dist/index.d.ts +16 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +18 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/scanner.d.ts +57 -0
  29. package/dist/scanner.d.ts.map +1 -0
  30. package/dist/scanner.js +282 -0
  31. package/dist/scanner.js.map +1 -0
  32. package/dist/scanners/connections/ast-scanner.d.ts +26 -0
  33. package/dist/scanners/connections/ast-scanner.d.ts.map +1 -0
  34. package/dist/scanners/connections/ast-scanner.js +430 -0
  35. package/dist/scanners/connections/ast-scanner.js.map +1 -0
  36. package/dist/scanners/connections/service-calls.d.ts +14 -0
  37. package/dist/scanners/connections/service-calls.d.ts.map +1 -0
  38. package/dist/scanners/connections/service-calls.js +719 -0
  39. package/dist/scanners/connections/service-calls.js.map +1 -0
  40. package/dist/scanners/infrastructure/index.d.ts +27 -0
  41. package/dist/scanners/infrastructure/index.d.ts.map +1 -0
  42. package/dist/scanners/infrastructure/index.js +233 -0
  43. package/dist/scanners/infrastructure/index.js.map +1 -0
  44. package/dist/scanners/packages/npm.d.ts +18 -0
  45. package/dist/scanners/packages/npm.d.ts.map +1 -0
  46. package/dist/scanners/packages/npm.js +256 -0
  47. package/dist/scanners/packages/npm.js.map +1 -0
  48. package/dist/scanners/packages/pip.d.ts +14 -0
  49. package/dist/scanners/packages/pip.d.ts.map +1 -0
  50. package/dist/scanners/packages/pip.js +228 -0
  51. package/dist/scanners/packages/pip.js.map +1 -0
  52. package/dist/scanners/prompts/detector.d.ts +119 -0
  53. package/dist/scanners/prompts/detector.d.ts.map +1 -0
  54. package/dist/scanners/prompts/detector.js +617 -0
  55. package/dist/scanners/prompts/detector.js.map +1 -0
  56. package/dist/scanners/prompts/index.d.ts +51 -0
  57. package/dist/scanners/prompts/index.d.ts.map +1 -0
  58. package/dist/scanners/prompts/index.js +340 -0
  59. package/dist/scanners/prompts/index.js.map +1 -0
  60. package/dist/scanners/prompts/types.d.ts +127 -0
  61. package/dist/scanners/prompts/types.d.ts.map +1 -0
  62. package/dist/scanners/prompts/types.js +37 -0
  63. package/dist/scanners/prompts/types.js.map +1 -0
  64. package/dist/setup.d.ts +65 -0
  65. package/dist/setup.d.ts.map +1 -0
  66. package/dist/setup.js +261 -0
  67. package/dist/setup.js.map +1 -0
  68. package/dist/storage.d.ts +147 -0
  69. package/dist/storage.d.ts.map +1 -0
  70. package/dist/storage.js +931 -0
  71. package/dist/storage.js.map +1 -0
  72. package/dist/types.d.ts +296 -0
  73. package/dist/types.d.ts.map +1 -0
  74. package/dist/types.js +55 -0
  75. package/dist/types.js.map +1 -0
  76. package/dist/ui-server.d.ts +17 -0
  77. package/dist/ui-server.d.ts.map +1 -0
  78. package/dist/ui-server.js +815 -0
  79. package/dist/ui-server.js.map +1 -0
  80. package/hooks/hooks.json +57 -0
  81. package/package.json +80 -0
  82. package/scripts/ibr-ui-test.mjs +359 -0
  83. package/scripts/postinstall.cjs +35 -0
  84. package/skills/architecture-awareness/SKILL.md +141 -0
@@ -0,0 +1,333 @@
1
+ /**
2
+ * NavGator Diagram Generator
3
+ * Creates Mermaid diagrams from the architecture graph
4
+ */
5
+ const LAYER_STYLES = {
6
+ frontend: {
7
+ subgraphName: 'Frontend',
8
+ nodeStyle: 'fill:#bbdefb,stroke:#1976d2', // Blue
9
+ order: 1,
10
+ },
11
+ backend: {
12
+ subgraphName: 'Backend',
13
+ nodeStyle: 'fill:#c8e6c9,stroke:#388e3c', // Green
14
+ order: 2,
15
+ },
16
+ database: {
17
+ subgraphName: 'Database',
18
+ nodeStyle: 'fill:#ffe0b2,stroke:#f57c00', // Orange
19
+ order: 3,
20
+ },
21
+ queue: {
22
+ subgraphName: 'Queue',
23
+ nodeStyle: 'fill:#e1bee7,stroke:#7b1fa2', // Purple
24
+ order: 4,
25
+ },
26
+ infra: {
27
+ subgraphName: 'Infrastructure',
28
+ nodeStyle: 'fill:#cfd8dc,stroke:#455a64', // Gray
29
+ order: 5,
30
+ },
31
+ external: {
32
+ subgraphName: 'External Services',
33
+ nodeStyle: 'fill:#ffccbc,stroke:#e64a19', // Deep Orange
34
+ order: 6,
35
+ },
36
+ };
37
+ const CONNECTION_STYLES = {
38
+ 'api-calls-db': {
39
+ lineStyle: '-->',
40
+ label: 'queries',
41
+ },
42
+ 'frontend-calls-api': {
43
+ lineStyle: '-->',
44
+ label: 'calls',
45
+ },
46
+ 'queue-triggers': {
47
+ lineStyle: '-.->',
48
+ label: 'triggers',
49
+ },
50
+ 'service-call': {
51
+ lineStyle: '-->',
52
+ label: 'uses',
53
+ },
54
+ imports: {
55
+ lineStyle: '-->',
56
+ },
57
+ 'deploys-to': {
58
+ lineStyle: '==>',
59
+ label: 'deploys',
60
+ },
61
+ 'prompt-location': {
62
+ lineStyle: '-.->',
63
+ label: 'defines',
64
+ },
65
+ 'prompt-usage': {
66
+ lineStyle: '-.->',
67
+ label: 'uses prompt',
68
+ },
69
+ 'uses-package': {
70
+ lineStyle: '-->',
71
+ },
72
+ other: {
73
+ lineStyle: '-->',
74
+ },
75
+ };
76
+ const DEFAULT_OPTIONS = {
77
+ direction: 'TB',
78
+ includeSubgraphs: true,
79
+ includeStyles: true,
80
+ showLabels: true,
81
+ maxNodes: 50,
82
+ };
83
+ // =============================================================================
84
+ // DIAGRAM GENERATION
85
+ // =============================================================================
86
+ /**
87
+ * Generate a Mermaid diagram from a connection graph
88
+ */
89
+ export function generateMermaidDiagram(graph, options = {}) {
90
+ const opts = { ...DEFAULT_OPTIONS, ...options };
91
+ const lines = [];
92
+ // Start diagram
93
+ lines.push(`graph ${opts.direction}`);
94
+ lines.push('');
95
+ // Filter nodes if needed
96
+ let nodes = graph.nodes;
97
+ let edges = graph.edges;
98
+ if (opts.filterLayers && opts.filterLayers.length > 0) {
99
+ nodes = nodes.filter(n => opts.filterLayers.includes(n.layer));
100
+ const nodeIds = new Set(nodes.map(n => n.id));
101
+ edges = edges.filter(e => nodeIds.has(e.source) || nodeIds.has(e.target));
102
+ }
103
+ if (opts.filterConnectionTypes && opts.filterConnectionTypes.length > 0) {
104
+ edges = edges.filter(e => opts.filterConnectionTypes.includes(e.type));
105
+ }
106
+ // Limit nodes if needed
107
+ if (opts.maxNodes && nodes.length > opts.maxNodes) {
108
+ nodes = nodes.slice(0, opts.maxNodes);
109
+ const nodeIds = new Set(nodes.map(n => n.id));
110
+ edges = edges.filter(e => nodeIds.has(e.source) && nodeIds.has(e.target));
111
+ }
112
+ // Group nodes by layer
113
+ const nodesByLayer = new Map();
114
+ for (const node of nodes) {
115
+ if (!nodesByLayer.has(node.layer)) {
116
+ nodesByLayer.set(node.layer, []);
117
+ }
118
+ nodesByLayer.get(node.layer).push(node);
119
+ }
120
+ // Sort layers by order
121
+ const sortedLayers = Array.from(nodesByLayer.keys()).sort((a, b) => LAYER_STYLES[a].order - LAYER_STYLES[b].order);
122
+ // Generate nodes with subgraphs
123
+ if (opts.includeSubgraphs) {
124
+ for (const layer of sortedLayers) {
125
+ const layerNodes = nodesByLayer.get(layer);
126
+ const style = LAYER_STYLES[layer];
127
+ lines.push(` subgraph ${style.subgraphName}`);
128
+ for (const node of layerNodes) {
129
+ const safeId = sanitizeId(node.id);
130
+ const safeName = sanitizeName(node.name);
131
+ lines.push(` ${safeId}["${safeName}"]`);
132
+ }
133
+ lines.push(' end');
134
+ lines.push('');
135
+ }
136
+ }
137
+ else {
138
+ // Just list nodes without subgraphs
139
+ for (const node of nodes) {
140
+ const safeId = sanitizeId(node.id);
141
+ const safeName = sanitizeName(node.name);
142
+ lines.push(` ${safeId}["${safeName}"]`);
143
+ }
144
+ lines.push('');
145
+ }
146
+ // Generate edges
147
+ for (const edge of edges) {
148
+ const style = CONNECTION_STYLES[edge.type] || CONNECTION_STYLES.other;
149
+ const sourceId = sanitizeId(edge.source);
150
+ const targetId = sanitizeId(edge.target);
151
+ // Check if both nodes exist
152
+ const sourceExists = nodes.some(n => n.id === edge.source);
153
+ const targetExists = nodes.some(n => n.id === edge.target);
154
+ if (!sourceExists || !targetExists)
155
+ continue;
156
+ if (opts.showLabels && style.label) {
157
+ lines.push(` ${sourceId} ${style.lineStyle}|${style.label}| ${targetId}`);
158
+ }
159
+ else {
160
+ lines.push(` ${sourceId} ${style.lineStyle} ${targetId}`);
161
+ }
162
+ }
163
+ // Add styling
164
+ if (opts.includeStyles) {
165
+ lines.push('');
166
+ lines.push(' %% Styling');
167
+ for (const layer of sortedLayers) {
168
+ const layerNodes = nodesByLayer.get(layer);
169
+ const style = LAYER_STYLES[layer];
170
+ if (layerNodes.length > 0) {
171
+ const nodeIds = layerNodes.map(n => sanitizeId(n.id)).join(',');
172
+ lines.push(` style ${nodeIds} ${style.nodeStyle}`);
173
+ }
174
+ }
175
+ }
176
+ return lines.join('\n');
177
+ }
178
+ /**
179
+ * Generate a flowchart focused on a specific component
180
+ */
181
+ export function generateComponentDiagram(graph, componentId, depth = 1, options = {}) {
182
+ const opts = { ...DEFAULT_OPTIONS, ...options };
183
+ const lines = [];
184
+ // Find the central node
185
+ const centralNode = graph.nodes.find(n => n.id === componentId);
186
+ if (!centralNode) {
187
+ return `graph ${opts.direction}\n error["Component not found"]`;
188
+ }
189
+ // Find connected nodes
190
+ const connectedNodeIds = new Set([componentId]);
191
+ const relevantEdges = [];
192
+ // First pass: direct connections
193
+ for (const edge of graph.edges) {
194
+ if (edge.source === componentId || edge.target === componentId) {
195
+ connectedNodeIds.add(edge.source);
196
+ connectedNodeIds.add(edge.target);
197
+ relevantEdges.push(edge);
198
+ }
199
+ }
200
+ // Additional passes for deeper depth
201
+ for (let d = 1; d < depth; d++) {
202
+ const currentIds = new Set(connectedNodeIds);
203
+ for (const edge of graph.edges) {
204
+ if (currentIds.has(edge.source) || currentIds.has(edge.target)) {
205
+ connectedNodeIds.add(edge.source);
206
+ connectedNodeIds.add(edge.target);
207
+ if (!relevantEdges.includes(edge)) {
208
+ relevantEdges.push(edge);
209
+ }
210
+ }
211
+ }
212
+ }
213
+ // Filter nodes
214
+ const nodes = graph.nodes.filter(n => connectedNodeIds.has(n.id));
215
+ // Generate diagram
216
+ lines.push(`graph ${opts.direction}`);
217
+ lines.push('');
218
+ // Highlight central node
219
+ const centralId = sanitizeId(centralNode.id);
220
+ const centralName = sanitizeName(centralNode.name);
221
+ lines.push(` ${centralId}(["${centralName}"]):::highlight`);
222
+ // Add other nodes
223
+ for (const node of nodes) {
224
+ if (node.id === componentId)
225
+ continue;
226
+ const safeId = sanitizeId(node.id);
227
+ const safeName = sanitizeName(node.name);
228
+ lines.push(` ${safeId}["${safeName}"]`);
229
+ }
230
+ lines.push('');
231
+ // Add edges
232
+ for (const edge of relevantEdges) {
233
+ const style = CONNECTION_STYLES[edge.type] || CONNECTION_STYLES.other;
234
+ const sourceId = sanitizeId(edge.source);
235
+ const targetId = sanitizeId(edge.target);
236
+ if (opts.showLabels && style.label) {
237
+ lines.push(` ${sourceId} ${style.lineStyle}|${style.label}| ${targetId}`);
238
+ }
239
+ else {
240
+ lines.push(` ${sourceId} ${style.lineStyle} ${targetId}`);
241
+ }
242
+ }
243
+ // Add highlight style
244
+ lines.push('');
245
+ lines.push(' classDef highlight fill:#fff176,stroke:#fbc02d,stroke-width:3px');
246
+ return lines.join('\n');
247
+ }
248
+ /**
249
+ * Generate a layer-focused diagram
250
+ */
251
+ export function generateLayerDiagram(graph, layer, options = {}) {
252
+ const opts = { ...DEFAULT_OPTIONS, direction: 'LR', ...options };
253
+ // Filter to show this layer and its connections
254
+ const layerNodes = graph.nodes.filter(n => n.layer === layer);
255
+ const layerNodeIds = new Set(layerNodes.map(n => n.id));
256
+ // Get edges that touch this layer
257
+ const relevantEdges = graph.edges.filter(e => layerNodeIds.has(e.source) || layerNodeIds.has(e.target));
258
+ // Include connected nodes from other layers
259
+ const connectedIds = new Set();
260
+ for (const edge of relevantEdges) {
261
+ connectedIds.add(edge.source);
262
+ connectedIds.add(edge.target);
263
+ }
264
+ const allNodes = graph.nodes.filter(n => connectedIds.has(n.id));
265
+ // Create a filtered graph
266
+ const filteredGraph = {
267
+ nodes: allNodes,
268
+ edges: relevantEdges,
269
+ metadata: graph.metadata,
270
+ };
271
+ return generateMermaidDiagram(filteredGraph, opts);
272
+ }
273
+ // =============================================================================
274
+ // HELPER FUNCTIONS
275
+ // =============================================================================
276
+ /**
277
+ * Sanitize node ID for Mermaid (no special characters)
278
+ */
279
+ function sanitizeId(id) {
280
+ return id
281
+ .replace(/[^a-zA-Z0-9_]/g, '_')
282
+ .replace(/_+/g, '_')
283
+ .replace(/^_|_$/g, '');
284
+ }
285
+ /**
286
+ * Sanitize name for display in Mermaid
287
+ */
288
+ function sanitizeName(name) {
289
+ return name
290
+ .replace(/"/g, "'")
291
+ .replace(/[<>]/g, '')
292
+ .slice(0, 40);
293
+ }
294
+ /**
295
+ * Generate a summary diagram with just the major components
296
+ */
297
+ export function generateSummaryDiagram(graph, options = {}) {
298
+ const opts = { ...DEFAULT_OPTIONS, ...options };
299
+ // Take top components by connection count
300
+ const nodeConnectionCount = new Map();
301
+ for (const edge of graph.edges) {
302
+ nodeConnectionCount.set(edge.source, (nodeConnectionCount.get(edge.source) || 0) + 1);
303
+ nodeConnectionCount.set(edge.target, (nodeConnectionCount.get(edge.target) || 0) + 1);
304
+ }
305
+ // Sort by connection count and take top N
306
+ const topNodeIds = Array.from(nodeConnectionCount.entries())
307
+ .sort((a, b) => b[1] - a[1])
308
+ .slice(0, opts.maxNodes || 20)
309
+ .map(([id]) => id);
310
+ const topNodeIdSet = new Set(topNodeIds);
311
+ // Filter graph
312
+ const filteredGraph = {
313
+ nodes: graph.nodes.filter(n => topNodeIdSet.has(n.id)),
314
+ edges: graph.edges.filter(e => topNodeIdSet.has(e.source) && topNodeIdSet.has(e.target)),
315
+ metadata: graph.metadata,
316
+ };
317
+ return generateMermaidDiagram(filteredGraph, opts);
318
+ }
319
+ /**
320
+ * Wrap diagram in markdown code block
321
+ */
322
+ export function wrapInMarkdown(diagram, title) {
323
+ const lines = [];
324
+ if (title) {
325
+ lines.push(`## ${title}`);
326
+ lines.push('');
327
+ }
328
+ lines.push('```mermaid');
329
+ lines.push(diagram);
330
+ lines.push('```');
331
+ return lines.join('\n');
332
+ }
333
+ //# sourceMappingURL=diagram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram.js","sourceRoot":"","sources":["../src/diagram.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * NavGator - Architecture Connection Tracker
3
+ *
4
+ * Know your stack before you change it.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ export { scan, quickScan, getScanStatus, scanPromptsOnly, type ScanOptions } from './scanner.js';
9
+ export { setup, fastSetup, fullSetup, isSetupComplete, formatSetupStatus } from './setup.js';
10
+ export { getConfig, type NavGatorConfig } from './config.js';
11
+ export { loadIndex, loadAllComponents, loadAllConnections, loadGraph, storeComponent, storeConnection, deleteComponent, } from './storage.js';
12
+ export { generateMermaidDiagram, generateComponentDiagram, generateLayerDiagram, generateSummaryDiagram, wrapInMarkdown, type DiagramOptions, } from './diagram.js';
13
+ export type { ArchitectureComponent, ArchitectureConnection, ConnectionGraph, ArchitectureIndex, ArchitectureLayer, ComponentType, ConnectionType, ScanResult, ScanWarning, } from './types.js';
14
+ export { scanPrompts, formatPromptsOutput, formatPromptDetail, convertToArchitecture, } from './scanners/prompts/index.js';
15
+ export type { DetectedPrompt, PromptScanResult, PromptMessage, PromptVariable, PromptCategory, } from './scanners/prompts/types.js';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,18 @@
1
+ /**
2
+ * NavGator - Architecture Connection Tracker
3
+ *
4
+ * Know your stack before you change it.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ // Main exports
9
+ export { scan, quickScan, getScanStatus, scanPromptsOnly } from './scanner.js';
10
+ export { setup, fastSetup, fullSetup, isSetupComplete, formatSetupStatus } from './setup.js';
11
+ export { getConfig } from './config.js';
12
+ // Storage
13
+ export { loadIndex, loadAllComponents, loadAllConnections, loadGraph, storeComponent, storeConnection, deleteComponent, } from './storage.js';
14
+ // Diagram generation
15
+ export { generateMermaidDiagram, generateComponentDiagram, generateLayerDiagram, generateSummaryDiagram, wrapInMarkdown, } from './diagram.js';
16
+ // Prompt scanner exports
17
+ export { scanPrompts, formatPromptsOutput, formatPromptDetail, convertToArchitecture, } from './scanners/prompts/index.js';
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAe;AACf,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAoB,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAE7D,UAAU;AACV,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,qBAAqB;AACrB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,GAEf,MAAM,cAAc,CAAC;AAetB,yBAAyB;AACzB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * NavGator Main Scanner
3
+ * Orchestrates all component and connection scanners
4
+ */
5
+ import { ArchitectureComponent, ArchitectureConnection, ScanResult, ScanWarning, FileChangeResult } from './types.js';
6
+ import { PromptScanResult } from './scanners/prompts/index.js';
7
+ export interface ScanOptions {
8
+ quick?: boolean;
9
+ connections?: boolean;
10
+ verbose?: boolean;
11
+ clearFirst?: boolean;
12
+ incremental?: boolean;
13
+ useAST?: boolean;
14
+ prompts?: boolean;
15
+ }
16
+ /**
17
+ * Run a full architecture scan
18
+ */
19
+ export declare function scan(projectRoot?: string, options?: ScanOptions): Promise<{
20
+ components: ArchitectureComponent[];
21
+ connections: ArchitectureConnection[];
22
+ warnings: ScanWarning[];
23
+ fileChanges?: FileChangeResult;
24
+ promptScan?: PromptScanResult;
25
+ stats: {
26
+ scan_duration_ms: number;
27
+ components_found: number;
28
+ connections_found: number;
29
+ warnings_count: number;
30
+ files_scanned: number;
31
+ files_changed: number;
32
+ prompts_found?: number;
33
+ };
34
+ }>;
35
+ /**
36
+ * Quick scan - only packages, no code analysis
37
+ */
38
+ export declare function quickScan(projectRoot?: string): Promise<ScanResult>;
39
+ /**
40
+ * Scan only for AI prompts (detailed)
41
+ */
42
+ export declare function scanPromptsOnly(projectRoot?: string, options?: {
43
+ verbose?: boolean;
44
+ }): Promise<PromptScanResult>;
45
+ export { formatPromptsOutput, formatPromptDetail } from './scanners/prompts/index.js';
46
+ export type { PromptScanResult, DetectedPrompt } from './scanners/prompts/index.js';
47
+ /**
48
+ * Get scan status/summary without running a full scan
49
+ */
50
+ export declare function getScanStatus(projectRoot?: string): Promise<{
51
+ initialized: boolean;
52
+ last_scan: number | null;
53
+ needs_rescan: boolean;
54
+ component_count: number;
55
+ connection_count: number;
56
+ }>;
57
+ //# sourceMappingURL=scanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACV,WAAW,EACX,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAMpB,OAAO,EAA2D,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAqBxH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD;;GAEG;AACH,wBAAsB,IAAI,CACxB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC;IACT,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACtC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH,CAAC,CA0OD;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAOzE;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,OAAO,CAAC,gBAAgB,CAAC,CAiB3B;AAGD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtF,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEpF;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;IACT,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC,CA0BD"}