@hongmaple0820/scale-engine 0.47.0 → 0.48.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 (58) hide show
  1. package/README.en.md +8 -2
  2. package/README.md +9 -3
  3. package/dist/api/cli.js +975 -6222
  4. package/dist/api/cli.js.map +1 -1
  5. package/dist/cli/artifactCrudCommands.d.ts +67 -0
  6. package/dist/cli/artifactCrudCommands.js +182 -0
  7. package/dist/cli/artifactCrudCommands.js.map +1 -0
  8. package/dist/cli/codegraphCommands.d.ts +1 -0
  9. package/dist/cli/codegraphCommands.js +241 -0
  10. package/dist/cli/codegraphCommands.js.map +1 -0
  11. package/dist/cli/contextCommands.d.ts +1 -0
  12. package/dist/cli/contextCommands.js +415 -0
  13. package/dist/cli/contextCommands.js.map +1 -0
  14. package/dist/cli/dependencyTddCommands.d.ts +92 -0
  15. package/dist/cli/dependencyTddCommands.js +174 -0
  16. package/dist/cli/dependencyTddCommands.js.map +1 -0
  17. package/dist/cli/diagnoseHuntCommands.d.ts +135 -0
  18. package/dist/cli/diagnoseHuntCommands.js +224 -0
  19. package/dist/cli/diagnoseHuntCommands.js.map +1 -0
  20. package/dist/cli/engineBootstrap.d.ts +39 -0
  21. package/dist/cli/engineBootstrap.js +129 -0
  22. package/dist/cli/engineBootstrap.js.map +1 -0
  23. package/dist/cli/evalCommands.d.ts +1 -0
  24. package/dist/cli/evalCommands.js +262 -0
  25. package/dist/cli/evalCommands.js.map +1 -0
  26. package/dist/cli/evolveDoctorCommands.d.ts +18 -0
  27. package/dist/cli/evolveDoctorCommands.js +59 -0
  28. package/dist/cli/evolveDoctorCommands.js.map +1 -0
  29. package/dist/cli/gateInlineCommands.d.ts +43 -0
  30. package/dist/cli/gateInlineCommands.js +74 -0
  31. package/dist/cli/gateInlineCommands.js.map +1 -0
  32. package/dist/cli/initConfigCommands.d.ts +138 -0
  33. package/dist/cli/initConfigCommands.js +602 -0
  34. package/dist/cli/initConfigCommands.js.map +1 -0
  35. package/dist/cli/metaGovernanceCommands.d.ts +11 -0
  36. package/dist/cli/metaGovernanceCommands.js +55 -0
  37. package/dist/cli/metaGovernanceCommands.js.map +1 -0
  38. package/dist/cli/runtimeSkillCommands.d.ts +6 -0
  39. package/dist/cli/runtimeSkillCommands.js +1515 -0
  40. package/dist/cli/runtimeSkillCommands.js.map +1 -0
  41. package/dist/cli/sessionCommands.d.ts +17 -0
  42. package/dist/cli/sessionCommands.js +38 -0
  43. package/dist/cli/sessionCommands.js.map +1 -0
  44. package/dist/cli/toolAgentCommands.d.ts +3 -0
  45. package/dist/cli/toolAgentCommands.js +441 -0
  46. package/dist/cli/toolAgentCommands.js.map +1 -0
  47. package/dist/cli/transitionCommands.d.ts +62 -0
  48. package/dist/cli/transitionCommands.js +174 -0
  49. package/dist/cli/transitionCommands.js.map +1 -0
  50. package/dist/cli/upgradeAssetsCommands.d.ts +44 -0
  51. package/dist/cli/upgradeAssetsCommands.js +933 -0
  52. package/dist/cli/upgradeAssetsCommands.js.map +1 -0
  53. package/dist/cli/workflowEvidenceCommands.d.ts +34 -0
  54. package/dist/cli/workflowEvidenceCommands.js +130 -0
  55. package/dist/cli/workflowEvidenceCommands.js.map +1 -0
  56. package/dist/version.d.ts +1 -1
  57. package/dist/version.js +1 -1
  58. package/package.json +2 -1
@@ -0,0 +1,67 @@
1
+ export declare const createCommand: import("citty").CommandDef<{
2
+ type: {
3
+ type: "positional";
4
+ required: true;
5
+ };
6
+ title: {
7
+ type: "positional";
8
+ required: true;
9
+ };
10
+ parent: {
11
+ type: "string";
12
+ };
13
+ payload: {
14
+ type: "string";
15
+ default: string;
16
+ };
17
+ }>;
18
+ export declare const listCommand: import("citty").CommandDef<{
19
+ type: {
20
+ type: "string";
21
+ };
22
+ status: {
23
+ type: "string";
24
+ };
25
+ limit: {
26
+ type: "string";
27
+ default: string;
28
+ };
29
+ }>;
30
+ export declare const showCommand: import("citty").CommandDef<{
31
+ id: {
32
+ type: "positional";
33
+ required: true;
34
+ };
35
+ }>;
36
+ export declare const suggestCommand: import("citty").CommandDef<{
37
+ id: {
38
+ type: "positional";
39
+ required: true;
40
+ };
41
+ json: {
42
+ type: "boolean";
43
+ default: false;
44
+ };
45
+ }>;
46
+ export declare const createPRDCommand: import("citty").CommandDef<{
47
+ title: {
48
+ type: "positional";
49
+ required: true;
50
+ };
51
+ specs: {
52
+ type: "string";
53
+ description: string;
54
+ };
55
+ plans: {
56
+ type: "string";
57
+ description: string;
58
+ };
59
+ tasks: {
60
+ type: "string";
61
+ description: string;
62
+ };
63
+ 'session-id': {
64
+ type: "string";
65
+ required: false;
66
+ };
67
+ }>;
@@ -0,0 +1,182 @@
1
+ // SCALE Engine — Artifact CRUD Commands
2
+ import { defineCommand } from 'citty';
3
+ import { getEngine } from './engineBootstrap.js';
4
+ export const createCommand = defineCommand({
5
+ meta: { name: 'create', description: 'Create an artifact' },
6
+ args: {
7
+ type: { type: 'positional', required: true },
8
+ title: { type: 'positional', required: true },
9
+ parent: { type: 'string' },
10
+ payload: { type: 'string', default: '{}' },
11
+ },
12
+ async run({ args }) {
13
+ const { store } = getEngine();
14
+ let payload = {};
15
+ try {
16
+ payload = JSON.parse(args.payload);
17
+ }
18
+ catch { /* empty */ }
19
+ const { INITIAL_STATES } = await import('../artifact/fsmDefinitions.js');
20
+ const artifact = await store.create({
21
+ type: args.type,
22
+ title: args.title,
23
+ payload,
24
+ parents: args.parent ? [args.parent] : [],
25
+ initialStatus: INITIAL_STATES[args.type] ?? 'DRAFT',
26
+ createdBy: { kind: 'human', userId: process.env.USER ?? 'cli' },
27
+ });
28
+ console.log(JSON.stringify(artifact, null, 2));
29
+ },
30
+ });
31
+ export const listCommand = defineCommand({
32
+ meta: { name: 'list', description: 'List artifacts' },
33
+ args: { type: { type: 'string' }, status: { type: 'string' }, limit: { type: 'string', default: '20' } },
34
+ async run({ args }) {
35
+ const { store } = getEngine();
36
+ const items = await store.query({
37
+ type: args.type,
38
+ status: args.status,
39
+ limit: parseInt(args.limit, 10),
40
+ });
41
+ console.log(JSON.stringify(items, null, 2));
42
+ },
43
+ });
44
+ export const showCommand = defineCommand({
45
+ meta: { name: 'show', description: 'Show artifact details' },
46
+ args: { id: { type: 'positional', required: true } },
47
+ async run({ args }) {
48
+ const { store } = getEngine();
49
+ const artifact = await store.get(args.id);
50
+ if (!artifact) {
51
+ console.error(`Artifact not found: ${args.id}`);
52
+ process.exit(1);
53
+ }
54
+ console.log(JSON.stringify(artifact, null, 2));
55
+ },
56
+ });
57
+ export const suggestCommand = defineCommand({
58
+ meta: { name: 'suggest', description: 'Show available actions for an artifact' },
59
+ args: {
60
+ id: { type: 'positional', required: true },
61
+ json: { type: 'boolean', default: false },
62
+ },
63
+ async run({ args }) {
64
+ const { store, fsm } = getEngine();
65
+ const artifact = await store.get(args.id);
66
+ if (!artifact) {
67
+ console.error(`Artifact not found: ${args.id}`);
68
+ process.exit(1);
69
+ }
70
+ const def = fsm.getDefinition(artifact.type);
71
+ if (!def) {
72
+ console.error(`No FSM registered for type: ${artifact.type}`);
73
+ process.exit(1);
74
+ }
75
+ const availableTxs = def.transitions.filter((t) => t.from === artifact.status);
76
+ const suggestions = await Promise.all(availableTxs.map(async (tx) => {
77
+ const guardCheck = await fsm.canTransition(args.id, tx.action);
78
+ return {
79
+ action: tx.action,
80
+ to: tx.to,
81
+ guards: (tx.guards ?? []).map((g) => g.name),
82
+ guardMessages: (tx.guards ?? []).map((g) => g.errorMessage),
83
+ canExecute: guardCheck.allowed,
84
+ blockedBy: guardCheck.blockedBy,
85
+ };
86
+ }));
87
+ if (args.json) {
88
+ console.log(JSON.stringify({
89
+ id: artifact.id,
90
+ type: artifact.type,
91
+ currentStatus: artifact.status,
92
+ isTerminal: def.terminal.includes(artifact.status),
93
+ suggestions,
94
+ }, null, 2));
95
+ }
96
+ else {
97
+ console.log(`\n📊 ${artifact.id} (${artifact.type})`);
98
+ console.log(` Current status: ${artifact.status}`);
99
+ if (def.terminal.includes(artifact.status)) {
100
+ console.log(` ⚠️ Terminal state — no further transitions available`);
101
+ }
102
+ console.log('');
103
+ console.log('Available actions:');
104
+ console.log('──────────────────────────────────────────────────');
105
+ if (suggestions.length === 0) {
106
+ console.log(' No actions available from this state.');
107
+ }
108
+ else {
109
+ for (const s of suggestions) {
110
+ const status = s.canExecute ? '✅' : '❌';
111
+ console.log(` ${status} ${s.action} → ${s.to}`);
112
+ if (s.guards.length > 0) {
113
+ for (const g of s.guardMessages) {
114
+ console.log(` Guard: ${g}`);
115
+ }
116
+ }
117
+ if (s.blockedBy && s.blockedBy.length > 0) {
118
+ for (const b of s.blockedBy) {
119
+ console.log(` ❌ ${b.message}`);
120
+ }
121
+ }
122
+ }
123
+ }
124
+ console.log('──────────────────────────────────────────────────');
125
+ console.log('\nUsage: scale transition <id> <action> --reason "..."');
126
+ }
127
+ },
128
+ });
129
+ export const createPRDCommand = defineCommand({
130
+ meta: { name: 'create-prd', description: 'Create PRD hierarchy (Spec → Plan → Tasks)' },
131
+ args: {
132
+ title: { type: 'positional', required: true },
133
+ specs: { type: 'string', description: 'Spec description' },
134
+ plans: { type: 'string', description: 'Plan design' },
135
+ tasks: { type: 'string', description: 'Task list (comma-separated)' },
136
+ 'session-id': { type: 'string', required: false },
137
+ },
138
+ async run({ args }) {
139
+ const { store } = getEngine();
140
+ const spec = await store.create({
141
+ type: 'Spec',
142
+ title: args.title,
143
+ payload: { description: args.specs ?? '', ambiguityScore: 0.3 },
144
+ initialStatus: 'DRAFT',
145
+ createdBy: { kind: 'human', userId: process.env.USER ?? 'cli' },
146
+ });
147
+ const plan = await store.create({
148
+ type: 'Plan',
149
+ title: `${args.title} - Implementation Plan`,
150
+ payload: { design: args.plans ?? '' },
151
+ parents: [spec.id],
152
+ initialStatus: 'DRAFT',
153
+ createdBy: { kind: 'human', userId: process.env.USER ?? 'cli' },
154
+ });
155
+ const taskList = (args.tasks ?? '').split(',').map((t) => t.trim()).filter((t) => t.length > 0);
156
+ const tasks = [];
157
+ for (const taskTitle of taskList) {
158
+ const task = await store.create({
159
+ type: 'Task',
160
+ title: taskTitle,
161
+ payload: { description: taskTitle, filesInvolved: [], dependsOn: [], requiredRole: 'implementer', requiredCapabilities: [] },
162
+ parents: [plan.id],
163
+ initialStatus: 'TODO',
164
+ createdBy: { kind: 'human', userId: process.env.USER ?? 'cli' },
165
+ });
166
+ tasks.push({ id: task.id, title: task.title });
167
+ }
168
+ console.log('\n✅ PRD hierarchy created:');
169
+ console.log(`\nSpec: ${spec.id} (DRAFT)`);
170
+ console.log(` └─ Plan: ${plan.id} (DRAFT)`);
171
+ for (const task of tasks) {
172
+ console.log(` └─ Task: ${task.id} (TODO) - ${task.title}`);
173
+ }
174
+ console.log('\nNext steps:');
175
+ console.log(' 1. scale transition spec submit');
176
+ console.log(' 2. scale transition spec review');
177
+ console.log(' 3. scale transition spec approve (requires ambiguity ≤ 0.2)');
178
+ console.log(' 4. scale transition plan approve');
179
+ console.log(' 5. scale transition task-* ready (for each task)');
180
+ },
181
+ });
182
+ //# sourceMappingURL=artifactCrudCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifactCrudCommands.js","sourceRoot":"","sources":["../../src/cli/artifactCrudCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const codegraphCommand: import("citty").CommandDef<import("citty").ArgsDef>;
@@ -0,0 +1,241 @@
1
+ // SCALE Engine — CodeGraph CLI Commands (extracted from cli.ts)
2
+ // Adapter-first code intelligence: status, init, query, impact, context, roi, dump
3
+ import { defineCommand } from 'citty';
4
+ import { resolve, dirname } from 'node:path';
5
+ import { mkdirSync, writeFileSync } from 'node:fs';
6
+ import { buildCodeGraphContext, createCodeGraphRoiReport, dumpCodeGraphData, impactCodeGraph, inspectCodeIntelligence, queryCodeGraph, writeCodeIntelligenceConfig, } from '../codegraph/CodeIntelligence.js';
7
+ import { PROJECT_DIR, isTruthyFlag, resolveScaleDirForProject } from './engineBootstrap.js';
8
+ // ---------------------------------------------------------------------------
9
+ // Helpers
10
+ // ---------------------------------------------------------------------------
11
+ function parsePositiveIntArg(value, name) {
12
+ if (value === undefined || value === null || value === '')
13
+ return undefined;
14
+ const parsed = Number.parseInt(String(value), 10);
15
+ if (Number.isNaN(parsed) || parsed <= 0) {
16
+ throw new Error(`${name} must be a positive integer.`);
17
+ }
18
+ return parsed;
19
+ }
20
+ function printCodeGraphReport(report) {
21
+ console.log('SCALE Code Intelligence');
22
+ console.log(` Mode: ${report.mode}`);
23
+ console.log(` Query: ${report.query}`);
24
+ console.log(` Provider: ${report.provider ?? 'fallback'}`);
25
+ console.log(` Fallback used: ${report.fallbackUsed}`);
26
+ console.log(` Confidence: ${report.confidence}`);
27
+ console.log(` Files: ${report.files.length}`);
28
+ console.log(` Estimated reads saved: ${report.roi.fileReadsSaved}`);
29
+ for (const hit of report.hits.slice(0, 12)) {
30
+ const line = hit.line ? `:${hit.line}` : '';
31
+ const symbol = hit.symbol ? ` ${hit.symbol}` : '';
32
+ console.log(` - ${hit.file}${line}${symbol} (${hit.reason})`);
33
+ }
34
+ for (const warning of report.warnings)
35
+ console.log(` warning: ${warning}`);
36
+ }
37
+ // ---------------------------------------------------------------------------
38
+ // Sub-commands
39
+ // ---------------------------------------------------------------------------
40
+ const codegraphStatus = defineCommand({
41
+ meta: { name: 'status', description: 'Inspect CodeGraph, Graphify, and fallback code intelligence providers' },
42
+ args: {
43
+ dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
44
+ json: { type: 'boolean', default: false },
45
+ },
46
+ run({ args }) {
47
+ const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
48
+ const scaleDir = resolveScaleDirForProject(projectDir);
49
+ const report = inspectCodeIntelligence({
50
+ projectDir,
51
+ scaleDir,
52
+ });
53
+ if (args.json) {
54
+ console.log(JSON.stringify(report, null, 2));
55
+ return;
56
+ }
57
+ console.log('SCALE Code Intelligence Status');
58
+ console.log(` Config: ${report.configPath} (${report.configExists ? 'found' : 'default'})`);
59
+ console.log(` Project index: ${report.projectIndexExists ? report.projectIndexPath : `${report.projectIndexPath} (not initialized)`}`);
60
+ for (const provider of report.providers) {
61
+ console.log(` [${provider.available ? 'AVAILABLE' : 'UNAVAILABLE'}] ${provider.id} (${provider.type}): ${provider.reason}`);
62
+ if (provider.source)
63
+ console.log(` source: ${provider.source}`);
64
+ if (!provider.available && provider.installHint)
65
+ console.log(` install: ${provider.installHint}`);
66
+ if (provider.available && provider.projectInitHint && provider.id === 'codegraph' && !report.projectIndexExists) {
67
+ console.log(` init: ${provider.projectInitHint}`);
68
+ }
69
+ if (provider.serveCommand)
70
+ console.log(` mcp: ${provider.serveCommand}`);
71
+ }
72
+ console.log(` Fallback: ${report.fallback.available ? 'available' : 'disabled'} (${report.fallback.tools.join(', ')})`);
73
+ for (const recommendation of report.recommendations)
74
+ console.log(` recommendation: ${recommendation}`);
75
+ },
76
+ });
77
+ const codegraphInit = defineCommand({
78
+ meta: { name: 'init', description: 'Create .scale/code-intelligence.json provider configuration' },
79
+ args: {
80
+ dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
81
+ force: { type: 'boolean', default: false, description: 'Overwrite existing configuration' },
82
+ json: { type: 'boolean', default: false },
83
+ },
84
+ run({ args }) {
85
+ const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
86
+ const scaleDir = resolveScaleDirForProject(projectDir);
87
+ const result = writeCodeIntelligenceConfig({
88
+ projectDir,
89
+ scaleDir,
90
+ force: isTruthyFlag(args.force),
91
+ });
92
+ if (args.json) {
93
+ console.log(JSON.stringify(result, null, 2));
94
+ return;
95
+ }
96
+ console.log(`SCALE Code Intelligence Config: ${result.written ? 'written' : 'exists'}`);
97
+ console.log(` ${result.path}`);
98
+ },
99
+ });
100
+ const codegraphQuery = defineCommand({
101
+ meta: { name: 'query', description: 'Query code intelligence providers, with explicit fallback when graph data is unavailable' },
102
+ args: {
103
+ query: { type: 'positional', required: true, description: 'Symbol, function, class, route, or text query' },
104
+ dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
105
+ json: { type: 'boolean', default: false },
106
+ },
107
+ run({ args }) {
108
+ const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
109
+ const scaleDir = resolveScaleDirForProject(projectDir);
110
+ const report = queryCodeGraph({
111
+ projectDir,
112
+ scaleDir,
113
+ query: String(args.query),
114
+ });
115
+ if (args.json) {
116
+ console.log(JSON.stringify(report, null, 2));
117
+ return;
118
+ }
119
+ printCodeGraphReport(report);
120
+ },
121
+ });
122
+ const codegraphImpact = defineCommand({
123
+ meta: { name: 'impact', description: 'Find likely impacted files for a symbol' },
124
+ args: {
125
+ symbol: { type: 'string', required: true, description: 'Symbol to analyze' },
126
+ dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
127
+ json: { type: 'boolean', default: false },
128
+ },
129
+ run({ args }) {
130
+ const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
131
+ const scaleDir = resolveScaleDirForProject(projectDir);
132
+ const report = impactCodeGraph({
133
+ projectDir,
134
+ scaleDir,
135
+ symbol: String(args.symbol),
136
+ });
137
+ if (args.json) {
138
+ console.log(JSON.stringify(report, null, 2));
139
+ return;
140
+ }
141
+ printCodeGraphReport(report);
142
+ },
143
+ });
144
+ const codegraphContext = defineCommand({
145
+ meta: { name: 'context', description: 'Build a budgeted file context recommendation from code intelligence' },
146
+ args: {
147
+ symbol: { type: 'string', required: true, description: 'Symbol to analyze' },
148
+ budget: { type: 'string', description: 'Maximum estimated tokens for recommended files' },
149
+ dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
150
+ json: { type: 'boolean', default: false },
151
+ },
152
+ run({ args }) {
153
+ const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
154
+ const scaleDir = resolveScaleDirForProject(projectDir);
155
+ const report = buildCodeGraphContext({
156
+ projectDir,
157
+ scaleDir,
158
+ symbol: String(args.symbol),
159
+ budget: parsePositiveIntArg(args.budget, '--budget'),
160
+ });
161
+ if (args.json) {
162
+ console.log(JSON.stringify(report, null, 2));
163
+ return;
164
+ }
165
+ printCodeGraphReport(report);
166
+ console.log(` Context budget: ${report.totalEstimatedTokens}/${report.budget}`);
167
+ for (const file of report.contextFiles) {
168
+ console.log(` [${file.included ? 'IN' : 'OUT'}] ${file.path}: ${file.estimatedTokens} tokens`);
169
+ }
170
+ },
171
+ });
172
+ const codegraphRoi = defineCommand({
173
+ meta: { name: 'roi', description: 'Estimate exploration ROI from code intelligence or fallback query results' },
174
+ args: {
175
+ query: { type: 'string', description: 'Text query' },
176
+ symbol: { type: 'string', description: 'Symbol to analyze' },
177
+ dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
178
+ json: { type: 'boolean', default: false },
179
+ },
180
+ run({ args }) {
181
+ if (!args.query && !args.symbol)
182
+ throw new Error('Provide --query or --symbol.');
183
+ const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
184
+ const scaleDir = resolveScaleDirForProject(projectDir);
185
+ const report = createCodeGraphRoiReport({
186
+ projectDir,
187
+ scaleDir,
188
+ query: args.query ? String(args.query) : undefined,
189
+ symbol: args.symbol ? String(args.symbol) : undefined,
190
+ });
191
+ if (args.json) {
192
+ console.log(JSON.stringify(report, null, 2));
193
+ return;
194
+ }
195
+ console.log('SCALE Code Intelligence ROI');
196
+ console.log(` Query: ${report.query}`);
197
+ console.log(` Provider: ${report.provider ?? 'fallback'}`);
198
+ console.log(` Fallback: ${report.fallbackUsed}`);
199
+ console.log(` Graph hits: ${report.metrics.graphHits}`);
200
+ console.log(` Reads saved: ${report.metrics.fileReadsSaved}`);
201
+ console.log(` Recommendation: ${report.recommendation}`);
202
+ },
203
+ });
204
+ const codegraphDump = defineCommand({
205
+ meta: { name: 'dump', description: 'Dump full topology graph (nodes + edges) for visualization' },
206
+ args: {
207
+ dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
208
+ out: { type: 'string', description: 'Output file path (default: stdout as JSON)' },
209
+ },
210
+ run({ args }) {
211
+ const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
212
+ const scaleDir = resolveScaleDirForProject(projectDir);
213
+ const graph = dumpCodeGraphData({ projectDir, scaleDir });
214
+ const json = JSON.stringify(graph, null, 2);
215
+ const outPath = args.out ? resolve(String(args.out)) : undefined;
216
+ if (outPath) {
217
+ mkdirSync(dirname(outPath), { recursive: true });
218
+ writeFileSync(outPath, json, 'utf-8');
219
+ console.log(`Topology written to ${outPath} (${graph.nodes.length} nodes, ${graph.edges.length} edges)`);
220
+ }
221
+ else {
222
+ console.log(json);
223
+ }
224
+ },
225
+ });
226
+ // ---------------------------------------------------------------------------
227
+ // Root command (exported)
228
+ // ---------------------------------------------------------------------------
229
+ export const codegraphCommand = defineCommand({
230
+ meta: { name: 'codegraph', description: 'Adapter-first code intelligence and exploration ROI' },
231
+ subCommands: {
232
+ status: codegraphStatus,
233
+ init: codegraphInit,
234
+ query: codegraphQuery,
235
+ impact: codegraphImpact,
236
+ context: codegraphContext,
237
+ roi: codegraphRoi,
238
+ dump: codegraphDump,
239
+ },
240
+ });
241
+ //# sourceMappingURL=codegraphCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegraphCommands.js","sourceRoot":"","sources":["../../src/cli/codegraphCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const contextCommand: import("citty").CommandDef<import("citty").ArgsDef>;