@hongmaple0820/scale-engine 0.43.0 → 0.44.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.
@@ -102,6 +102,29 @@ export interface CodeGraphRoiReport {
102
102
  recommendation: 'keep-default' | 'keep-optional' | 'needs-evidence';
103
103
  evidenceLevel: 'measured' | 'estimated';
104
104
  }
105
+ export type ArchitectureLayer = 'api' | 'service' | 'data' | 'ui' | 'utility' | 'config' | 'test' | 'unknown';
106
+ export interface TopologyNode {
107
+ id: string;
108
+ kind: 'file' | 'function' | 'class' | 'constant' | 'module';
109
+ name: string;
110
+ filePath: string;
111
+ line?: number;
112
+ signature?: string;
113
+ layer?: ArchitectureLayer;
114
+ domain?: string;
115
+ }
116
+ export interface TopologyEdge {
117
+ source: string;
118
+ target: string;
119
+ kind: 'calls' | 'imports' | 'extends' | 'implements' | 'depends-on';
120
+ }
121
+ export interface TopologyGraph {
122
+ nodes: TopologyNode[];
123
+ edges: TopologyEdge[];
124
+ generatedAt: string;
125
+ provider: string;
126
+ projectDir: string;
127
+ }
105
128
  export declare function setCodeIntelligenceExecFileSyncForTesting(impl?: typeof childProcess.execFileSync): void;
106
129
  export declare function defaultCodeIntelligenceConfig(): CodeIntelligenceConfig;
107
130
  export declare function codeIntelligenceConfigPath(projectDir?: string, scaleDir?: string): string;
@@ -145,3 +168,7 @@ export declare function createCodeGraphRoiReport(options: {
145
168
  query?: string;
146
169
  symbol?: string;
147
170
  }): CodeGraphRoiReport;
171
+ export declare function dumpCodeGraphData(options: {
172
+ projectDir?: string;
173
+ scaleDir?: string;
174
+ }): TopologyGraph;
@@ -225,6 +225,314 @@ export function createCodeGraphRoiReport(options) {
225
225
  evidenceLevel: report.fallbackUsed ? 'estimated' : 'measured',
226
226
  };
227
227
  }
228
+ export function dumpCodeGraphData(options) {
229
+ const projectDir = resolve(options.projectDir ?? process.cwd());
230
+ const status = inspectCodeIntelligence({ projectDir, scaleDir: options.scaleDir });
231
+ const warnings = [];
232
+ // Priority 1: artifact manifest (graph.json)
233
+ const artifactProvider = status.providers.find(p => p.available && p.type === 'artifact');
234
+ if (artifactProvider) {
235
+ const config = loadCodeIntelligenceConfig(projectDir, options.scaleDir).config;
236
+ const providerConfig = config.providers.find(p => p.id === artifactProvider.id);
237
+ if (providerConfig?.manifest) {
238
+ const result = dumpArtifactManifest(projectDir, providerConfig);
239
+ if (result.nodes.length > 0)
240
+ return result;
241
+ }
242
+ }
243
+ // Priority 2: codegraph CLI (full index)
244
+ const externalProvider = status.providers.find(p => p.available && p.type === 'external-cli' && p.id === 'codegraph');
245
+ if (externalProvider && status.projectIndexExists) {
246
+ const result = dumpExternalCodeGraph(projectDir);
247
+ if (result.nodes.length > 0)
248
+ return result;
249
+ }
250
+ // Priority 3: fallback file walk
251
+ return dumpFallbackTopology(projectDir);
252
+ }
253
+ function dumpArtifactManifest(projectDir, provider) {
254
+ if (!provider.manifest)
255
+ return emptyTopology(projectDir, provider.id);
256
+ const manifestPath = resolveManifestWithFallback(projectDir, provider.manifest);
257
+ if (!manifestPath)
258
+ return emptyTopology(projectDir, provider.id);
259
+ try {
260
+ const content = readFileSync(manifestPath, 'utf-8');
261
+ const parsed = JSON.parse(content);
262
+ // Graphify format: nodes[] + links[]
263
+ if (Array.isArray(parsed.nodes) && (Array.isArray(parsed.links) || Array.isArray(parsed.edges))) {
264
+ return dumpGraphifyManifest(projectDir, provider.id, parsed);
265
+ }
266
+ // Traditional format: symbols[] + files[]
267
+ const symbols = Array.isArray(parsed.symbols) ? parsed.symbols : [];
268
+ const files = Array.isArray(parsed.files) ? parsed.files : [];
269
+ return dumpTraditionalManifest(projectDir, provider.id, symbols, files);
270
+ }
271
+ catch {
272
+ return emptyTopology(projectDir, provider.id);
273
+ }
274
+ }
275
+ function resolveManifestWithFallback(projectDir, manifest) {
276
+ const primary = resolveProjectPath(projectDir, manifest);
277
+ if (existsSync(primary))
278
+ return primary;
279
+ // Fallback: try graph.json in the same directory
280
+ const dir = dirname(primary);
281
+ const fallback = join(dir, 'graph.json');
282
+ if (existsSync(fallback))
283
+ return fallback;
284
+ return undefined;
285
+ }
286
+ function dumpGraphifyManifest(projectDir, provider, manifest) {
287
+ const nodes = [];
288
+ const edges = [];
289
+ for (const node of manifest.nodes) {
290
+ const filePath = normalizeManifestPath(node.source_file ?? '');
291
+ nodes.push({
292
+ id: node.id,
293
+ kind: mapGraphifyKind(node.metadata?.kind),
294
+ name: node.label ?? node.id,
295
+ filePath,
296
+ line: parseLineNumber(node.source_location),
297
+ });
298
+ }
299
+ const linkSource = manifest.links ?? manifest.edges ?? [];
300
+ for (const link of linkSource) {
301
+ edges.push({
302
+ source: link.source,
303
+ target: link.target,
304
+ kind: mapGraphifyRelation(link.relation),
305
+ });
306
+ }
307
+ return {
308
+ nodes: dedupeTopologyNodes(nodes),
309
+ edges: dedupeTopologyEdges(edges),
310
+ generatedAt: new Date().toISOString(),
311
+ provider,
312
+ projectDir,
313
+ };
314
+ }
315
+ function mapGraphifyKind(kind) {
316
+ switch (kind) {
317
+ case 'file': return 'file';
318
+ case 'bash_function':
319
+ case 'bash_entrypoint': return 'function';
320
+ case 'code': return 'function';
321
+ default: return 'file';
322
+ }
323
+ }
324
+ function mapGraphifyRelation(relation) {
325
+ switch (relation) {
326
+ case 'calls': return 'calls';
327
+ case 'imports':
328
+ case 'imports_from': return 'imports';
329
+ case 'extends': return 'extends';
330
+ case 'implements': return 'implements';
331
+ case 'contains':
332
+ case 'defines':
333
+ case 'method': return 'depends-on';
334
+ default: return 'depends-on';
335
+ }
336
+ }
337
+ function parseLineNumber(loc) {
338
+ if (!loc)
339
+ return undefined;
340
+ const match = loc.match(/L(\d+)/);
341
+ return match ? parseInt(match[1], 10) : undefined;
342
+ }
343
+ function dumpTraditionalManifest(projectDir, provider, symbols, files) {
344
+ const nodes = [];
345
+ const edges = [];
346
+ const nodeIds = new Set();
347
+ // Symbol nodes
348
+ for (const sym of symbols) {
349
+ const name = String(sym.name ?? '');
350
+ const file = normalizeManifestPath(sym.file ?? sym.path);
351
+ if (!name)
352
+ continue;
353
+ const id = file ? `${file}::${name}` : name;
354
+ nodeIds.add(id);
355
+ nodes.push({
356
+ id,
357
+ kind: guessSymbolKind(name),
358
+ name,
359
+ filePath: file || '',
360
+ });
361
+ // Edges from callers/callees/dependencies
362
+ for (const callee of stringifyArray(sym.callees)) {
363
+ const target = resolveEdgeTarget(callee, symbols);
364
+ if (target)
365
+ edges.push({ source: id, target, kind: 'calls' });
366
+ }
367
+ for (const dep of stringifyArray(sym.dependencies)) {
368
+ const target = resolveEdgeTarget(dep, symbols);
369
+ if (target)
370
+ edges.push({ source: id, target, kind: 'depends-on' });
371
+ }
372
+ for (const caller of stringifyArray(sym.callers)) {
373
+ const target = resolveEdgeTarget(caller, symbols);
374
+ if (target)
375
+ edges.push({ source: target, target: id, kind: 'calls' });
376
+ }
377
+ for (const dependent of stringifyArray(sym.dependents)) {
378
+ const target = resolveEdgeTarget(dependent, symbols);
379
+ if (target)
380
+ edges.push({ source: target, target: id, kind: 'depends-on' });
381
+ }
382
+ }
383
+ // File nodes (for files not yet represented by symbols)
384
+ for (const file of files) {
385
+ const path = normalizeManifestPath(file.path ?? file.file);
386
+ if (!path)
387
+ continue;
388
+ const fileId = `file:${path}`;
389
+ if (!nodeIds.has(fileId)) {
390
+ nodeIds.add(fileId);
391
+ nodes.push({ id: fileId, kind: 'file', name: path.split('/').pop() ?? path, filePath: path });
392
+ }
393
+ // Import edges
394
+ for (const imp of stringifyArray(file.imports)) {
395
+ const targetFile = normalizeManifestPath(imp);
396
+ if (targetFile) {
397
+ const targetId = `file:${targetFile}`;
398
+ edges.push({ source: fileId, target: targetId, kind: 'imports' });
399
+ }
400
+ }
401
+ // dependsOn edges
402
+ for (const dep of stringifyArray(file.dependsOn)) {
403
+ const targetFile = normalizeManifestPath(dep);
404
+ if (targetFile) {
405
+ const targetId = `file:${targetFile}`;
406
+ edges.push({ source: fileId, target: targetId, kind: 'depends-on' });
407
+ }
408
+ }
409
+ }
410
+ return {
411
+ nodes: dedupeTopologyNodes(nodes),
412
+ edges: dedupeTopologyEdges(edges),
413
+ generatedAt: new Date().toISOString(),
414
+ provider,
415
+ projectDir,
416
+ };
417
+ }
418
+ function dumpExternalCodeGraph(projectDir) {
419
+ try {
420
+ // Use codegraph CLI to get a broad dump via empty query
421
+ const output = runExternalCommandSync('codegraph', ['query', '', '-p', projectDir, '--json'], {
422
+ encoding: 'utf8',
423
+ stdio: ['ignore', 'pipe', 'pipe'],
424
+ }, {
425
+ execFileSync: execFileSyncImpl,
426
+ spawnSync: childProcess.spawnSync,
427
+ });
428
+ const parsed = JSON.parse(String(output));
429
+ const nodes = [];
430
+ const seen = new Set();
431
+ for (const entry of parsed) {
432
+ const file = normalizeManifestPath(entry.node?.filePath);
433
+ const name = String(entry.node?.qualifiedName ?? entry.node?.name ?? '').trim();
434
+ if (!file || !name)
435
+ continue;
436
+ const id = `${file}::${name}`;
437
+ if (seen.has(id))
438
+ continue;
439
+ seen.add(id);
440
+ nodes.push({
441
+ id,
442
+ kind: mapCodeGraphKind(entry.node?.kind),
443
+ name,
444
+ filePath: file,
445
+ line: entry.node?.startLine,
446
+ });
447
+ }
448
+ return {
449
+ nodes,
450
+ edges: [], // CLI doesn't return edge data in query mode
451
+ generatedAt: new Date().toISOString(),
452
+ provider: 'codegraph',
453
+ projectDir,
454
+ };
455
+ }
456
+ catch {
457
+ return emptyTopology(projectDir, 'codegraph');
458
+ }
459
+ }
460
+ function dumpFallbackTopology(projectDir) {
461
+ const files = sourceFiles(projectDir);
462
+ const nodes = files.map(file => {
463
+ const rel = normalizePath(relative(projectDir, file));
464
+ return {
465
+ id: `file:${rel}`,
466
+ kind: 'file',
467
+ name: rel.split('/').pop() ?? rel,
468
+ filePath: rel,
469
+ };
470
+ });
471
+ return {
472
+ nodes,
473
+ edges: [],
474
+ generatedAt: new Date().toISOString(),
475
+ provider: 'fallback-file-walk',
476
+ projectDir,
477
+ };
478
+ }
479
+ function resolveEdgeTarget(ref, symbols) {
480
+ const asPath = normalizeManifestPath(ref);
481
+ if (asPath && hasFileExtension(asPath)) {
482
+ // Reference is a file path — find a symbol in that file
483
+ const sym = symbols.find(s => normalizeManifestPath(s.file ?? s.path) === asPath);
484
+ return sym ? `${asPath}::${sym.name}` : `file:${asPath}`;
485
+ }
486
+ // Reference is a symbol name
487
+ const sym = symbols.find(s => String(s.name) === ref);
488
+ if (sym) {
489
+ const file = normalizeManifestPath(sym.file ?? sym.path);
490
+ return file ? `${file}::${ref}` : ref;
491
+ }
492
+ return undefined;
493
+ }
494
+ function guessSymbolKind(name) {
495
+ if (/^[A-Z]/.test(name))
496
+ return 'class';
497
+ if (/^[A-Z_][A-Z_0-9]*$/.test(name))
498
+ return 'constant';
499
+ return 'function';
500
+ }
501
+ function mapCodeGraphKind(kind) {
502
+ switch (kind?.toLowerCase()) {
503
+ case 'class':
504
+ case 'struct':
505
+ case 'interface':
506
+ case 'type': return 'class';
507
+ case 'function':
508
+ case 'method':
509
+ case 'constructor': return 'function';
510
+ case 'constant':
511
+ case 'enum': return 'constant';
512
+ case 'module':
513
+ case 'namespace':
514
+ case 'package': return 'module';
515
+ default: return 'function';
516
+ }
517
+ }
518
+ function dedupeTopologyNodes(nodes) {
519
+ const seen = new Set();
520
+ return nodes.filter(n => { if (seen.has(n.id))
521
+ return false; seen.add(n.id); return true; });
522
+ }
523
+ function dedupeTopologyEdges(edges) {
524
+ const seen = new Set();
525
+ return edges.filter(e => {
526
+ const key = `${e.source}->${e.target}:${e.kind}`;
527
+ if (seen.has(key))
528
+ return false;
529
+ seen.add(key);
530
+ return true;
531
+ });
532
+ }
533
+ function emptyTopology(projectDir, provider) {
534
+ return { nodes: [], edges: [], generatedAt: new Date().toISOString(), provider, projectDir };
535
+ }
228
536
  function runCodeGraphQuery(options) {
229
537
  const projectDir = resolve(options.projectDir ?? process.cwd());
230
538
  const query = options.query.trim();
@@ -310,15 +618,20 @@ function providerStatus(projectDir) {
310
618
  };
311
619
  }
312
620
  if (provider.type === 'artifact') {
313
- const manifest = provider.manifest ? resolveProjectPath(projectDir, provider.manifest) : '';
314
- const available = Boolean(manifest && existsSync(manifest));
621
+ const resolved = provider.manifest ? resolveManifestWithFallback(projectDir, provider.manifest) : undefined;
622
+ const available = Boolean(resolved);
623
+ const reason = available
624
+ ? resolved === resolveProjectPath(projectDir, provider.manifest ?? '')
625
+ ? `manifest found at ${provider.manifest}`
626
+ : `manifest found via fallback at graph.json (configured: ${provider.manifest})`
627
+ : `manifest not found: ${provider.manifest ?? '(missing)'}`;
315
628
  return {
316
629
  id: provider.id,
317
630
  type: provider.type,
318
631
  enabled,
319
632
  available,
320
633
  capabilities,
321
- reason: available ? `manifest found at ${provider.manifest}` : `manifest not found: ${provider.manifest ?? '(missing)'}`,
634
+ reason,
322
635
  source: provider.source,
323
636
  installHint: provider.installHint,
324
637
  projectInitHint: provider.projectInitHint,
@@ -1 +1 @@
1
- {"version":3,"file":"CodeIntelligence.js","sourceRoot":"","sources":["../../src/codegraph/CodeIntelligence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CodeIntelligence.js","sourceRoot":"","sources":["../../src/codegraph/CodeIntelligence.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,14 @@
1
+ /**
2
+ * Dashboard Server 2.0 — Unified Hono server with Node.js adapter
3
+ * SPA architecture, SSE real-time, ECharts visualization
4
+ */
5
+ import { Hono } from 'hono';
1
6
  import type { EventBus } from '../core/eventBus.js';
2
7
  import type { IArtifactStore } from '../artifact/store.js';
3
8
  import type { IFSM } from '../artifact/fsm.js';
4
9
  import type { IEvolutionEvaluator, EvolutionMetrics } from '../evolution/EvolutionEvaluator.js';
5
10
  import type { DetectorStatisticsTracker } from '../guardrails/DetectorEnhanced.js';
11
+ import { type TopologyGraph } from '../codegraph/CodeIntelligence.js';
6
12
  export interface DashboardState {
7
13
  artifacts: ArtifactTreeNode[];
8
14
  evolutionMetrics: EvolutionMetrics | null;
@@ -52,9 +58,17 @@ export interface RecentEvent {
52
58
  artifactId?: string;
53
59
  data?: Record<string, unknown>;
54
60
  }
55
- /**
56
- * DashboardServer — Hono-based web server for dashboard
57
- */
61
+ export interface DashboardOptions {
62
+ port?: number;
63
+ host?: string;
64
+ store?: IArtifactStore;
65
+ fsm?: IFSM;
66
+ evaluator?: IEvolutionEvaluator;
67
+ detectorTracker?: DetectorStatisticsTracker;
68
+ bus?: EventBus;
69
+ projectDir?: string;
70
+ scaleDir?: string;
71
+ }
58
72
  export declare class DashboardServer {
59
73
  private app;
60
74
  private bus;
@@ -63,21 +77,27 @@ export declare class DashboardServer {
63
77
  private evaluator;
64
78
  private detectorTracker;
65
79
  private port;
66
- constructor(bus: EventBus, options?: {
67
- port?: number;
68
- store?: IArtifactStore;
69
- fsm?: IFSM;
70
- evaluator?: IEvolutionEvaluator;
71
- detectorTracker?: DetectorStatisticsTracker;
72
- });
73
- private setupRoutes;
80
+ private host;
81
+ private projectDir;
82
+ private scaleDir;
83
+ private server;
84
+ constructor(options?: DashboardOptions);
85
+ private setupMiddleware;
86
+ private setupSPA;
87
+ private setupAPI;
88
+ private setupSSE;
89
+ private setupWriteOps;
74
90
  getDashboardState(): Promise<DashboardState>;
75
91
  getArtifactTree(): Promise<ArtifactTreeNode[]>;
76
92
  getEvolutionMetrics(): Promise<EvolutionMetrics | null>;
77
93
  getDetectorStats(): DetectorStatSummary[];
78
94
  getAutoDefectStats(): Promise<AutoDefectSummary | null>;
79
95
  getRecentEvents(limit: number): Promise<RecentEvent[]>;
80
- start(): void;
96
+ getTopology(): TopologyGraph;
97
+ private listDocuments;
98
+ private serveDocument;
99
+ start(): Promise<void>;
81
100
  stop(): void;
82
- private getIndexHtml;
101
+ /** Get the underlying Hono app (for testing or embedding) */
102
+ getApp(): Hono;
83
103
  }