@neurcode-ai/cli 0.9.61 → 0.9.63
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.
- package/dist/commands/control-plane.d.ts +3 -0
- package/dist/commands/control-plane.d.ts.map +1 -0
- package/dist/commands/control-plane.js +163 -0
- package/dist/commands/control-plane.js.map +1 -0
- package/dist/commands/export.d.ts +7 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +72 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/fix.d.ts +1 -0
- package/dist/commands/fix.d.ts.map +1 -1
- package/dist/commands/fix.js +3 -0
- package/dist/commands/fix.js.map +1 -1
- package/dist/commands/generate.d.ts +1 -0
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +63 -48
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/patch-apply.d.ts.map +1 -1
- package/dist/commands/patch-apply.js +1 -0
- package/dist/commands/patch-apply.js.map +1 -1
- package/dist/commands/replay.d.ts +3 -0
- package/dist/commands/replay.d.ts.map +1 -0
- package/dist/commands/replay.js +267 -0
- package/dist/commands/replay.js.map +1 -0
- package/dist/commands/verify.d.ts +7 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +281 -149
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/workspace.d.ts +3 -0
- package/dist/commands/workspace.d.ts.map +1 -0
- package/dist/commands/workspace.js +407 -0
- package/dist/commands/workspace.js.map +1 -0
- package/dist/daemon/server.d.ts +0 -17
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +1055 -55
- package/dist/daemon/server.js.map +1 -1
- package/dist/index.js +296 -12
- package/dist/index.js.map +1 -1
- package/dist/utils/cli-json.d.ts +1 -0
- package/dist/utils/cli-json.d.ts.map +1 -1
- package/dist/utils/cli-json.js +1 -0
- package/dist/utils/cli-json.js.map +1 -1
- package/dist/utils/control-plane.d.ts +171 -0
- package/dist/utils/control-plane.d.ts.map +1 -0
- package/dist/utils/control-plane.js +684 -0
- package/dist/utils/control-plane.js.map +1 -0
- package/dist/utils/execution-bus.d.ts +205 -0
- package/dist/utils/execution-bus.d.ts.map +1 -0
- package/dist/utils/execution-bus.js +1346 -0
- package/dist/utils/execution-bus.js.map +1 -0
- package/dist/utils/gitignore.d.ts +2 -2
- package/dist/utils/gitignore.d.ts.map +1 -1
- package/dist/utils/gitignore.js +27 -14
- package/dist/utils/gitignore.js.map +1 -1
- package/dist/utils/replay-runtime.d.ts +295 -0
- package/dist/utils/replay-runtime.d.ts.map +1 -0
- package/dist/utils/replay-runtime.js +1080 -0
- package/dist/utils/replay-runtime.js.map +1 -0
- package/dist/utils/runtime-events.d.ts +44 -0
- package/dist/utils/runtime-events.d.ts.map +1 -0
- package/dist/utils/runtime-events.js +213 -0
- package/dist/utils/runtime-events.js.map +1 -0
- package/dist/utils/verification-evidence.d.ts +22 -0
- package/dist/utils/verification-evidence.d.ts.map +1 -0
- package/dist/utils/verification-evidence.js +233 -0
- package/dist/utils/verification-evidence.js.map +1 -0
- package/dist/utils/workspace-runtime.d.ts +267 -0
- package/dist/utils/workspace-runtime.d.ts.map +1 -0
- package/dist/utils/workspace-runtime.js +1415 -0
- package/dist/utils/workspace-runtime.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/commands/workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0HzC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoUvD"}
|
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.workspaceCommand = workspaceCommand;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const workspace_runtime_1 = require("../utils/workspace-runtime");
|
|
7
|
+
function asPrettyJson(value) {
|
|
8
|
+
return JSON.stringify(value, null, 2);
|
|
9
|
+
}
|
|
10
|
+
function collectStrings(value, current) {
|
|
11
|
+
return [...current, value];
|
|
12
|
+
}
|
|
13
|
+
function parseJsonRecord(value, label) {
|
|
14
|
+
let parsed;
|
|
15
|
+
try {
|
|
16
|
+
parsed = JSON.parse(value);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
throw new Error(`Invalid JSON for ${label}`);
|
|
20
|
+
}
|
|
21
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
22
|
+
throw new Error(`Expected JSON object for ${label}`);
|
|
23
|
+
}
|
|
24
|
+
return parsed;
|
|
25
|
+
}
|
|
26
|
+
function toExecutionSource(value) {
|
|
27
|
+
const normalized = (value || '').trim().toLowerCase();
|
|
28
|
+
if (normalized === 'cli'
|
|
29
|
+
|| normalized === 'daemon'
|
|
30
|
+
|| normalized === 'dashboard'
|
|
31
|
+
|| normalized === 'vscode'
|
|
32
|
+
|| normalized === 'ci'
|
|
33
|
+
|| normalized === 'mcp'
|
|
34
|
+
|| normalized === 'cursor'
|
|
35
|
+
|| normalized === 'api') {
|
|
36
|
+
return normalized;
|
|
37
|
+
}
|
|
38
|
+
return 'unknown';
|
|
39
|
+
}
|
|
40
|
+
const WORKSPACE_ACTION_TYPES = [
|
|
41
|
+
'verify',
|
|
42
|
+
'fix',
|
|
43
|
+
'patch',
|
|
44
|
+
'apply-safe',
|
|
45
|
+
'reverify',
|
|
46
|
+
'policy-sync',
|
|
47
|
+
'intent-update',
|
|
48
|
+
];
|
|
49
|
+
function isWorkspaceActionType(value) {
|
|
50
|
+
return WORKSPACE_ACTION_TYPES.includes(value);
|
|
51
|
+
}
|
|
52
|
+
function parseWorkspacePatchInput(options) {
|
|
53
|
+
const parseRecord = (value) => {
|
|
54
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
55
|
+
throw new Error('Workspace patch must be a JSON object');
|
|
56
|
+
}
|
|
57
|
+
const source = value;
|
|
58
|
+
const patch = {};
|
|
59
|
+
if (typeof source.name === 'string')
|
|
60
|
+
patch.name = source.name;
|
|
61
|
+
if (source.description === null || typeof source.description === 'string')
|
|
62
|
+
patch.description = source.description;
|
|
63
|
+
if (Array.isArray(source.repositories))
|
|
64
|
+
patch.repositories = source.repositories;
|
|
65
|
+
if (source.governance && typeof source.governance === 'object' && !Array.isArray(source.governance)) {
|
|
66
|
+
patch.governance = source.governance;
|
|
67
|
+
}
|
|
68
|
+
if (source.access && typeof source.access === 'object' && !Array.isArray(source.access)) {
|
|
69
|
+
patch.access = source.access;
|
|
70
|
+
}
|
|
71
|
+
if (Object.keys(patch).length === 0) {
|
|
72
|
+
throw new Error('Patch did not include updatable fields (name, description, repositories, governance, access).');
|
|
73
|
+
}
|
|
74
|
+
return patch;
|
|
75
|
+
};
|
|
76
|
+
if (options.patchFile) {
|
|
77
|
+
const raw = (0, fs_1.readFileSync)((0, path_1.resolve)(options.patchFile), 'utf-8');
|
|
78
|
+
return parseRecord(JSON.parse(raw));
|
|
79
|
+
}
|
|
80
|
+
if (options.patch) {
|
|
81
|
+
return parseRecord(JSON.parse(options.patch));
|
|
82
|
+
}
|
|
83
|
+
throw new Error('Missing patch input. Provide --patch <json> or --patch-file <path>.');
|
|
84
|
+
}
|
|
85
|
+
function parseWorkspaceRepositories(options) {
|
|
86
|
+
const repositories = [];
|
|
87
|
+
for (const entry of options.repo) {
|
|
88
|
+
repositories.push(parseJsonRecord(entry, '--repo'));
|
|
89
|
+
}
|
|
90
|
+
if (options.reposFile) {
|
|
91
|
+
const raw = (0, fs_1.readFileSync)((0, path_1.resolve)(options.reposFile), 'utf-8');
|
|
92
|
+
const parsed = JSON.parse(raw);
|
|
93
|
+
if (!Array.isArray(parsed)) {
|
|
94
|
+
throw new Error('Expected array in --repos-file JSON');
|
|
95
|
+
}
|
|
96
|
+
for (const item of parsed) {
|
|
97
|
+
if (!item || typeof item !== 'object' || Array.isArray(item)) {
|
|
98
|
+
throw new Error('Each repository in --repos-file must be a JSON object');
|
|
99
|
+
}
|
|
100
|
+
repositories.push(item);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return repositories;
|
|
104
|
+
}
|
|
105
|
+
function workspaceCommand(program) {
|
|
106
|
+
const root = program
|
|
107
|
+
.command('workspace')
|
|
108
|
+
.description('Deterministic multi-repository workspace governance orchestration');
|
|
109
|
+
root
|
|
110
|
+
.command('list')
|
|
111
|
+
.description('List configured governance workspaces')
|
|
112
|
+
.option('--json', 'Output JSON')
|
|
113
|
+
.action((options) => {
|
|
114
|
+
const items = (0, workspace_runtime_1.listWorkspaces)(process.cwd());
|
|
115
|
+
if (options.json === true) {
|
|
116
|
+
console.log(asPrettyJson({
|
|
117
|
+
schemaVersion: 'neurcode.workspace.list.v1',
|
|
118
|
+
count: items.length,
|
|
119
|
+
items,
|
|
120
|
+
}));
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if (items.length === 0) {
|
|
124
|
+
console.log('\nNo workspaces configured yet.\n');
|
|
125
|
+
console.log('Create one with:');
|
|
126
|
+
console.log(' neurcode workspace create --name "My Workspace"\n');
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
console.log('\nGovernance Workspaces\n');
|
|
130
|
+
for (const workspace of items) {
|
|
131
|
+
const target = workspace.posture.targetRisk;
|
|
132
|
+
const enforcement = workspace.posture.enforcement;
|
|
133
|
+
console.log(`- ${workspace.name} (${workspace.id}) · repos ${workspace.repositoryCount}/${workspace.enabledRepositoryCount} enabled · target ${target} · ${enforcement}`);
|
|
134
|
+
}
|
|
135
|
+
console.log('');
|
|
136
|
+
});
|
|
137
|
+
root
|
|
138
|
+
.command('show [workspaceId]')
|
|
139
|
+
.description('Show workspace runtime posture, cross-repo health matrix, hotspots, and runtime activity')
|
|
140
|
+
.option('--actor <actor>', 'Actor for role resolution')
|
|
141
|
+
.option('--json', 'Output JSON')
|
|
142
|
+
.action((workspaceId, options) => {
|
|
143
|
+
const snapshot = (0, workspace_runtime_1.getWorkspaceRuntimeSnapshot)({
|
|
144
|
+
cwd: process.cwd(),
|
|
145
|
+
workspaceId: workspaceId || undefined,
|
|
146
|
+
actor: typeof options.actor === 'string' ? options.actor : undefined,
|
|
147
|
+
});
|
|
148
|
+
if (options.json === true) {
|
|
149
|
+
console.log(asPrettyJson(snapshot));
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
if (!snapshot.workspace) {
|
|
153
|
+
console.log('\nNo active workspace found.\n');
|
|
154
|
+
console.log('Create one with:');
|
|
155
|
+
console.log(' neurcode workspace create --name "My Workspace"\n');
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
const posture = snapshot.posture;
|
|
159
|
+
console.log(`\nWorkspace Runtime · ${snapshot.workspace.name} (${snapshot.workspace.id})\n`);
|
|
160
|
+
console.log(`Role: ${snapshot.activeWorkspaceRole}`);
|
|
161
|
+
if (posture) {
|
|
162
|
+
console.log(`Risk: ${posture.overallRiskLevel} (${posture.overallRiskScore})`);
|
|
163
|
+
console.log(`Pass rate: ${posture.passRate}% | Block rate: ${posture.blockRate}%`);
|
|
164
|
+
if (typeof posture.averageCoverageScore === 'number') {
|
|
165
|
+
console.log(`Coverage score: ${posture.averageCoverageScore}`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
console.log(`Repositories: ${snapshot.repositoryHealthMatrix.length}`);
|
|
169
|
+
console.log(`Hotspots: files ${snapshot.hotspots.files.length}, policies ${snapshot.hotspots.policies.length}, directories ${snapshot.hotspots.directories.length}`);
|
|
170
|
+
console.log(`Runtime events tracked: ${snapshot.runtimeActivity.recentEvents.length}`);
|
|
171
|
+
console.log('');
|
|
172
|
+
});
|
|
173
|
+
root
|
|
174
|
+
.command('create')
|
|
175
|
+
.description('Create workspace model with repository topology and governance posture defaults')
|
|
176
|
+
.requiredOption('--name <name>', 'Workspace display name')
|
|
177
|
+
.option('--id <id>', 'Optional workspace id slug')
|
|
178
|
+
.option('--description <text>', 'Optional workspace description')
|
|
179
|
+
.option('--repo <json>', 'Repository JSON object; repeatable', collectStrings, [])
|
|
180
|
+
.option('--repos-file <path>', 'Path to JSON file containing repository object array')
|
|
181
|
+
.option('--set-active', 'Set new workspace as active workspace', true)
|
|
182
|
+
.option('--no-set-active', 'Do not set newly created workspace active')
|
|
183
|
+
.option('--source <source>', 'Execution source attribution', 'cli')
|
|
184
|
+
.option('--actor <actor>', 'Execution actor attribution')
|
|
185
|
+
.option('--json', 'Output JSON')
|
|
186
|
+
.action((options) => {
|
|
187
|
+
try {
|
|
188
|
+
const repositories = parseWorkspaceRepositories({
|
|
189
|
+
repo: options.repo || [],
|
|
190
|
+
reposFile: options.reposFile,
|
|
191
|
+
});
|
|
192
|
+
if (repositories.length === 0) {
|
|
193
|
+
repositories.push({
|
|
194
|
+
name: (0, path_1.basename)(process.cwd()),
|
|
195
|
+
rootPath: '.',
|
|
196
|
+
enabled: true,
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
const result = (0, workspace_runtime_1.createWorkspace)({
|
|
200
|
+
id: options.id,
|
|
201
|
+
name: options.name,
|
|
202
|
+
description: options.description || null,
|
|
203
|
+
repositories: repositories,
|
|
204
|
+
}, {
|
|
205
|
+
cwd: process.cwd(),
|
|
206
|
+
source: toExecutionSource(options.source),
|
|
207
|
+
actor: options.actor,
|
|
208
|
+
setActive: options.setActive !== false,
|
|
209
|
+
});
|
|
210
|
+
if (options.json === true) {
|
|
211
|
+
console.log(asPrettyJson({
|
|
212
|
+
schemaVersion: 'neurcode.workspace.create.v1',
|
|
213
|
+
executionId: result.executionId,
|
|
214
|
+
workspace: result.workspace,
|
|
215
|
+
}));
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
console.log(`\n✅ Workspace created: ${result.workspace.name} (${result.workspace.id})`);
|
|
219
|
+
console.log(`Execution: ${result.executionId}`);
|
|
220
|
+
console.log(`Repositories: ${result.workspace.repositories.length}`);
|
|
221
|
+
console.log('');
|
|
222
|
+
}
|
|
223
|
+
catch (error) {
|
|
224
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
225
|
+
console.error(`❌ ${message}`);
|
|
226
|
+
process.exit(1);
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
root
|
|
230
|
+
.command('activate <workspaceId>')
|
|
231
|
+
.description('Set active workspace context for CLI, daemon, and dashboard runtime views')
|
|
232
|
+
.option('--source <source>', 'Execution source attribution', 'cli')
|
|
233
|
+
.option('--actor <actor>', 'Execution actor attribution')
|
|
234
|
+
.option('--json', 'Output JSON')
|
|
235
|
+
.action((workspaceId, options) => {
|
|
236
|
+
try {
|
|
237
|
+
const result = (0, workspace_runtime_1.setActiveWorkspace)(workspaceId, {
|
|
238
|
+
cwd: process.cwd(),
|
|
239
|
+
source: toExecutionSource(options.source),
|
|
240
|
+
actor: options.actor,
|
|
241
|
+
});
|
|
242
|
+
if (options.json === true) {
|
|
243
|
+
console.log(asPrettyJson({
|
|
244
|
+
schemaVersion: 'neurcode.workspace.activate.v1',
|
|
245
|
+
executionId: result.executionId,
|
|
246
|
+
workspace: result.workspace,
|
|
247
|
+
}));
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
console.log(`\n✅ Active workspace: ${result.workspace.name} (${result.workspace.id})`);
|
|
251
|
+
console.log(`Execution: ${result.executionId}\n`);
|
|
252
|
+
}
|
|
253
|
+
catch (error) {
|
|
254
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
255
|
+
console.error(`❌ ${message}`);
|
|
256
|
+
process.exit(1);
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
root
|
|
260
|
+
.command('add-repo <workspaceId>')
|
|
261
|
+
.description('Add repository/service node to workspace topology')
|
|
262
|
+
.requiredOption('--name <name>', 'Repository display name')
|
|
263
|
+
.requiredOption('--path <path>', 'Repository root path relative to workspace root')
|
|
264
|
+
.option('--id <id>', 'Optional repository id slug')
|
|
265
|
+
.option('--service <name>', 'Service name (repeatable)', collectStrings, [])
|
|
266
|
+
.option('--policy-domain <domain>', 'Policy domain identifier')
|
|
267
|
+
.option('--tag <tag>', 'Repository tag (repeatable)', collectStrings, [])
|
|
268
|
+
.option('--disabled', 'Add repository in disabled state')
|
|
269
|
+
.option('--source <source>', 'Execution source attribution', 'cli')
|
|
270
|
+
.option('--actor <actor>', 'Execution actor attribution')
|
|
271
|
+
.option('--json', 'Output JSON')
|
|
272
|
+
.action((workspaceId, options) => {
|
|
273
|
+
try {
|
|
274
|
+
const result = (0, workspace_runtime_1.addWorkspaceRepository)(workspaceId, {
|
|
275
|
+
id: options.id,
|
|
276
|
+
name: options.name,
|
|
277
|
+
rootPath: options.path,
|
|
278
|
+
services: options.service,
|
|
279
|
+
policyDomain: options.policyDomain ?? null,
|
|
280
|
+
tags: options.tag,
|
|
281
|
+
enabled: options.disabled ? false : true,
|
|
282
|
+
}, {
|
|
283
|
+
cwd: process.cwd(),
|
|
284
|
+
source: toExecutionSource(options.source),
|
|
285
|
+
actor: options.actor,
|
|
286
|
+
});
|
|
287
|
+
if (options.json === true) {
|
|
288
|
+
console.log(asPrettyJson({
|
|
289
|
+
schemaVersion: 'neurcode.workspace.add-repo.v1',
|
|
290
|
+
executionId: result.executionId,
|
|
291
|
+
workspace: result.workspace,
|
|
292
|
+
}));
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
console.log(`\n✅ Added repository to workspace ${result.workspace.id}`);
|
|
296
|
+
console.log(`Execution: ${result.executionId}`);
|
|
297
|
+
console.log(`Repository count: ${result.workspace.repositories.length}\n`);
|
|
298
|
+
}
|
|
299
|
+
catch (error) {
|
|
300
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
301
|
+
console.error(`❌ ${message}`);
|
|
302
|
+
process.exit(1);
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
root
|
|
306
|
+
.command('update <workspaceId>')
|
|
307
|
+
.description('Apply deterministic workspace definition patch')
|
|
308
|
+
.option('--patch <json>', 'Inline JSON patch object')
|
|
309
|
+
.option('--patch-file <path>', 'Path to JSON patch file')
|
|
310
|
+
.option('--source <source>', 'Execution source attribution', 'cli')
|
|
311
|
+
.option('--actor <actor>', 'Execution actor attribution')
|
|
312
|
+
.option('--json', 'Output JSON')
|
|
313
|
+
.action((workspaceId, options) => {
|
|
314
|
+
try {
|
|
315
|
+
const patch = parseWorkspacePatchInput({
|
|
316
|
+
patch: options.patch,
|
|
317
|
+
patchFile: options.patchFile,
|
|
318
|
+
});
|
|
319
|
+
const result = (0, workspace_runtime_1.updateWorkspace)(workspaceId, patch, {
|
|
320
|
+
cwd: process.cwd(),
|
|
321
|
+
source: toExecutionSource(options.source),
|
|
322
|
+
actor: options.actor,
|
|
323
|
+
});
|
|
324
|
+
if (options.json === true) {
|
|
325
|
+
console.log(asPrettyJson({
|
|
326
|
+
schemaVersion: 'neurcode.workspace.update.v1',
|
|
327
|
+
executionId: result.executionId,
|
|
328
|
+
workspace: result.workspace,
|
|
329
|
+
}));
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
console.log(`\n✅ Workspace updated: ${result.workspace.name} (${result.workspace.id})`);
|
|
333
|
+
console.log(`Execution: ${result.executionId}\n`);
|
|
334
|
+
}
|
|
335
|
+
catch (error) {
|
|
336
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
337
|
+
console.error(`❌ ${message}`);
|
|
338
|
+
process.exit(1);
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
root
|
|
342
|
+
.command('execute <type>')
|
|
343
|
+
.description('Run deterministic workspace-scoped governance action across one or more repositories')
|
|
344
|
+
.option('--workspace <workspaceId>', 'Workspace id (defaults to active workspace)')
|
|
345
|
+
.option('--repository <repoId>', 'Repository id (repeatable)', collectStrings, [])
|
|
346
|
+
.option('--target <target>', 'Target path for patch / action types requiring a target')
|
|
347
|
+
.option('--intent <text>', 'Intent text for intent-update execution type')
|
|
348
|
+
.option('--source <source>', 'Execution source attribution', 'cli')
|
|
349
|
+
.option('--actor <actor>', 'Execution actor attribution')
|
|
350
|
+
.option('--ci', 'Run in CI-safe deterministic mode')
|
|
351
|
+
.option('--evidence-dir <path>', 'Override evidence artifact directory')
|
|
352
|
+
.option('--dedupe-window-ms <ms>', 'Duplicate suppression window override', (value) => Number.parseInt(value, 10))
|
|
353
|
+
.option('--no-reverify', 'Skip deterministic post-action reverify')
|
|
354
|
+
.option('--json', 'Output JSON')
|
|
355
|
+
.action(async (type, options) => {
|
|
356
|
+
if (!isWorkspaceActionType(type)) {
|
|
357
|
+
console.error(`❌ Unsupported workspace execution type: ${type}`);
|
|
358
|
+
console.error(` Supported: ${WORKSPACE_ACTION_TYPES.join(', ')}`);
|
|
359
|
+
process.exit(1);
|
|
360
|
+
}
|
|
361
|
+
const request = {
|
|
362
|
+
workspaceId: options.workspace,
|
|
363
|
+
repositoryIds: options.repository,
|
|
364
|
+
type,
|
|
365
|
+
source: toExecutionSource(options.source),
|
|
366
|
+
actor: options.actor,
|
|
367
|
+
target: options.target ?? null,
|
|
368
|
+
intentText: options.intent ?? null,
|
|
369
|
+
reverify: options.reverify !== false,
|
|
370
|
+
ciMode: options.ci === true,
|
|
371
|
+
evidenceDir: options.evidenceDir,
|
|
372
|
+
dedupeWindowMs: Number.isFinite(options.dedupeWindowMs) ? options.dedupeWindowMs : undefined,
|
|
373
|
+
};
|
|
374
|
+
try {
|
|
375
|
+
const result = await (0, workspace_runtime_1.executeWorkspaceAction)(request, {
|
|
376
|
+
cwd: process.cwd(),
|
|
377
|
+
});
|
|
378
|
+
if (options.json === true) {
|
|
379
|
+
console.log(asPrettyJson({
|
|
380
|
+
schemaVersion: 'neurcode.workspace.execute.v1',
|
|
381
|
+
...result,
|
|
382
|
+
}));
|
|
383
|
+
process.exit(result.totals.failed > 0 ? 1 : 0);
|
|
384
|
+
}
|
|
385
|
+
console.log(`\nWorkspace execution ${result.type}`);
|
|
386
|
+
console.log(`Workspace: ${result.workspaceName} (${result.workspaceId})`);
|
|
387
|
+
console.log(`Execution: ${result.executionId}`);
|
|
388
|
+
console.log(`Source: ${result.source} (${result.actor})`);
|
|
389
|
+
console.log(`Results: ${result.totals.succeeded}/${result.totals.attempted} succeeded ` +
|
|
390
|
+
`(${result.totals.failed} failed)`);
|
|
391
|
+
for (const item of result.items) {
|
|
392
|
+
const status = item.ok ? '✅' : '❌';
|
|
393
|
+
const executionId = item.execution?.id ? ` · ${item.execution.id}` : '';
|
|
394
|
+
const error = item.error ? ` · ${item.error}` : '';
|
|
395
|
+
console.log(` ${status} ${item.repositoryName} (${item.repositoryId})${executionId}${error}`);
|
|
396
|
+
}
|
|
397
|
+
console.log('');
|
|
398
|
+
process.exit(result.totals.failed > 0 ? 1 : 0);
|
|
399
|
+
}
|
|
400
|
+
catch (error) {
|
|
401
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
402
|
+
console.error(`❌ ${message}`);
|
|
403
|
+
process.exit(1);
|
|
404
|
+
}
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
//# sourceMappingURL=workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/commands/workspace.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/server.d.ts
CHANGED
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Neurcode Daemon V2 — lightweight local HTTP bridge.
|
|
3
|
-
*
|
|
4
|
-
* Runs at http://localhost:4321
|
|
5
|
-
*
|
|
6
|
-
* Routes:
|
|
7
|
-
* POST /verify → neurcode verify --json
|
|
8
|
-
* POST /fix → neurcode fix --json
|
|
9
|
-
* POST /fix/apply-safe → neurcode fix --apply-safe --json
|
|
10
|
-
* POST /patch → neurcode patch + verify (auto state sync)
|
|
11
|
-
* GET /health → { ok: true, version }
|
|
12
|
-
*
|
|
13
|
-
* Implementation notes:
|
|
14
|
-
* - Uses runCliJson (internal CLI invocation utility) — no raw child_process
|
|
15
|
-
* - Only accepts requests from 127.0.0.1 / ::1 / localhost
|
|
16
|
-
* - All responses use unified shape: { success, data, error? }
|
|
17
|
-
*/
|
|
18
1
|
import * as http from 'node:http';
|
|
19
2
|
export declare const DAEMON_PORT = 4321;
|
|
20
3
|
export declare const DAEMON_HOST = "127.0.0.1";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAsDlC,eAAO,MAAM,WAAW,OAAO,CAAC;AAChC,eAAO,MAAM,WAAW,cAAc,CAAC;AAukCvC,wBAAgB,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAiMhD;AAID,wBAAgB,WAAW,IAAI,IAAI,CAsElC"}
|