@neurcode-ai/cli 0.19.8 → 0.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 (60) hide show
  1. package/dist/api-client.d.ts +4 -0
  2. package/dist/api-client.d.ts.map +1 -1
  3. package/dist/api-client.js.map +1 -1
  4. package/dist/commands/activate.d.ts +6 -0
  5. package/dist/commands/activate.d.ts.map +1 -1
  6. package/dist/commands/activate.js +24 -0
  7. package/dist/commands/activate.js.map +1 -1
  8. package/dist/commands/brain.d.ts.map +1 -1
  9. package/dist/commands/brain.js +60 -0
  10. package/dist/commands/brain.js.map +1 -1
  11. package/dist/commands/runtime-doctor.d.ts.map +1 -1
  12. package/dist/commands/runtime-doctor.js +24 -2
  13. package/dist/commands/runtime-doctor.js.map +1 -1
  14. package/dist/commands/runtime-identity.d.ts.map +1 -1
  15. package/dist/commands/runtime-identity.js +46 -1
  16. package/dist/commands/runtime-identity.js.map +1 -1
  17. package/dist/commands/runtime-sync.d.ts.map +1 -1
  18. package/dist/commands/runtime-sync.js +55 -0
  19. package/dist/commands/runtime-sync.js.map +1 -1
  20. package/dist/commands/session-hook.d.ts.map +1 -1
  21. package/dist/commands/session-hook.js +23 -0
  22. package/dist/commands/session-hook.js.map +1 -1
  23. package/dist/commands/session.d.ts +2 -1
  24. package/dist/commands/session.d.ts.map +1 -1
  25. package/dist/commands/session.js +34 -17
  26. package/dist/commands/session.js.map +1 -1
  27. package/dist/index.js +25 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/runtime-build.json +5 -5
  30. package/dist/utils/RelevanceScorer.d.ts.map +1 -1
  31. package/dist/utils/RelevanceScorer.js +16 -9
  32. package/dist/utils/RelevanceScorer.js.map +1 -1
  33. package/dist/utils/brain-lifecycle.d.ts +43 -0
  34. package/dist/utils/brain-lifecycle.d.ts.map +1 -0
  35. package/dist/utils/brain-lifecycle.js +237 -0
  36. package/dist/utils/brain-lifecycle.js.map +1 -0
  37. package/dist/utils/cli-startup.d.ts.map +1 -1
  38. package/dist/utils/cli-startup.js +20 -0
  39. package/dist/utils/cli-startup.js.map +1 -1
  40. package/dist/utils/mcp-server-pin.d.ts +1 -1
  41. package/dist/utils/mcp-server-pin.js +2 -2
  42. package/dist/utils/runtime-authority.d.ts +27 -0
  43. package/dist/utils/runtime-authority.d.ts.map +1 -0
  44. package/dist/utils/runtime-authority.js +162 -0
  45. package/dist/utils/runtime-authority.js.map +1 -0
  46. package/dist/utils/runtime-companion.d.ts +30 -0
  47. package/dist/utils/runtime-companion.d.ts.map +1 -1
  48. package/dist/utils/runtime-companion.js +54 -2
  49. package/dist/utils/runtime-companion.js.map +1 -1
  50. package/dist/utils/runtime-outbox.d.ts.map +1 -1
  51. package/dist/utils/runtime-outbox.js +93 -1
  52. package/dist/utils/runtime-outbox.js.map +1 -1
  53. package/dist/utils/runtime-privacy.d.ts.map +1 -1
  54. package/dist/utils/runtime-privacy.js +52 -0
  55. package/dist/utils/runtime-privacy.js.map +1 -1
  56. package/dist/utils/v0-governance.d.ts +2 -1
  57. package/dist/utils/v0-governance.d.ts.map +1 -1
  58. package/dist/utils/v0-governance.js +192 -2
  59. package/dist/utils/v0-governance.js.map +1 -1
  60. package/package.json +3 -3
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BRAIN_LIFECYCLE_SCHEMA_VERSION = void 0;
4
+ exports.brainLifecyclePath = brainLifecyclePath;
5
+ exports.readBrainLifecycle = readBrainLifecycle;
6
+ exports.writeBrainLifecycle = writeBrainLifecycle;
7
+ exports.inspectBrainLifecycle = inspectBrainLifecycle;
8
+ exports.markBrainBuilding = markBrainBuilding;
9
+ exports.markBrainIndexResult = markBrainIndexResult;
10
+ exports.markBrainFailed = markBrainFailed;
11
+ exports.scheduleBrainIndex = scheduleBrainIndex;
12
+ exports.cancelBrainIndex = cancelBrainIndex;
13
+ const node_child_process_1 = require("node:child_process");
14
+ const node_fs_1 = require("node:fs");
15
+ const node_path_1 = require("node:path");
16
+ const brain_1 = require("@neurcode-ai/brain");
17
+ const cli_entry_1 = require("./cli-entry");
18
+ exports.BRAIN_LIFECYCLE_SCHEMA_VERSION = 'neurcode.brain-lifecycle.v1';
19
+ function brainLifecyclePath(repoRoot) {
20
+ return (0, node_path_1.join)(repoRoot, '.neurcode', 'brain', 'lifecycle.json');
21
+ }
22
+ function recoveryCommands() {
23
+ return {
24
+ retry: 'neurcode brain retry',
25
+ cancel: 'neurcode brain cancel',
26
+ selectiveRebuild: 'neurcode brain repo-refresh --changed <paths>',
27
+ recover: 'neurcode brain repo-recover',
28
+ };
29
+ }
30
+ function defaultStatus(state = 'missing') {
31
+ return {
32
+ schemaVersion: exports.BRAIN_LIFECYCLE_SCHEMA_VERSION,
33
+ state,
34
+ updatedAt: new Date().toISOString(),
35
+ startedAt: null,
36
+ completedAt: null,
37
+ pid: null,
38
+ progress: {
39
+ filesScanned: 0,
40
+ filesIndexed: 0,
41
+ totalFiles: null,
42
+ percent: null,
43
+ },
44
+ freshness: null,
45
+ graphId: null,
46
+ generation: null,
47
+ reasonCodes: state === 'missing' ? ['graph_missing'] : [],
48
+ unsupportedFacts: [],
49
+ recoveryCommands: recoveryCommands(),
50
+ };
51
+ }
52
+ function readBrainLifecycle(repoRoot) {
53
+ const path = brainLifecyclePath(repoRoot);
54
+ if (!(0, node_fs_1.existsSync)(path))
55
+ return null;
56
+ try {
57
+ const parsed = JSON.parse((0, node_fs_1.readFileSync)(path, 'utf8'));
58
+ return parsed.schemaVersion === exports.BRAIN_LIFECYCLE_SCHEMA_VERSION ? parsed : null;
59
+ }
60
+ catch {
61
+ return null;
62
+ }
63
+ }
64
+ function writeBrainLifecycle(repoRoot, status) {
65
+ const path = brainLifecyclePath(repoRoot);
66
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(path), { recursive: true });
67
+ const temporary = `${path}.tmp.${process.pid}`;
68
+ (0, node_fs_1.writeFileSync)(temporary, `${JSON.stringify(status, null, 2)}\n`, { encoding: 'utf8', mode: 0o600 });
69
+ (0, node_fs_1.renameSync)(temporary, path);
70
+ return status;
71
+ }
72
+ function lifecycleState(freshness) {
73
+ if (freshness.state === 'fresh')
74
+ return 'fresh';
75
+ if (freshness.state === 'partial')
76
+ return 'partial';
77
+ if (freshness.state === 'stale')
78
+ return 'stale';
79
+ if (freshness.state === 'missing')
80
+ return 'missing';
81
+ if (freshness.state === 'locked')
82
+ return 'building';
83
+ return 'failed';
84
+ }
85
+ function pidAlive(pid) {
86
+ if (!pid || pid <= 0)
87
+ return false;
88
+ try {
89
+ process.kill(pid, 0);
90
+ return true;
91
+ }
92
+ catch {
93
+ return false;
94
+ }
95
+ }
96
+ async function inspectBrainLifecycle(repoRoot) {
97
+ const persisted = readBrainLifecycle(repoRoot);
98
+ const freshness = await (0, brain_1.repositoryGraphStatus)(repoRoot);
99
+ const graph = (0, brain_1.readRepositoryGraph)(repoRoot);
100
+ const indexedState = graph?.coverage.filesIndexed === 0 && graph.coverage.filesUnsupported > 0
101
+ ? 'unsupported'
102
+ : lifecycleState(freshness);
103
+ const state = persisted?.state === 'scheduled' && pidAlive(persisted.pid)
104
+ ? 'scheduled'
105
+ : persisted?.state === 'building' && pidAlive(persisted.pid)
106
+ ? 'building'
107
+ : indexedState;
108
+ return {
109
+ ...(persisted ?? defaultStatus(state)),
110
+ state,
111
+ updatedAt: new Date().toISOString(),
112
+ pid: state === 'scheduled' || state === 'building' ? persisted?.pid ?? null : null,
113
+ freshness,
114
+ graphId: graph?.graphId ?? null,
115
+ generation: graph?.generation ?? null,
116
+ progress: {
117
+ filesScanned: graph?.coverage.filesSeen ?? persisted?.progress.filesScanned ?? 0,
118
+ filesIndexed: graph?.coverage.filesIndexed ?? persisted?.progress.filesIndexed ?? 0,
119
+ totalFiles: graph?.coverage.filesSeen ?? persisted?.progress.totalFiles ?? null,
120
+ percent: graph?.coverage.filesSeen
121
+ ? Math.round((graph.coverage.filesIndexed / graph.coverage.filesSeen) * 100)
122
+ : persisted?.progress.percent ?? null,
123
+ },
124
+ reasonCodes: freshness.reasonCodes,
125
+ unsupportedFacts: [
126
+ ...(freshness.unsupportedFileCount > 0 ? ['unsupported_languages'] : []),
127
+ ...(graph?.coverage.filesFailed ? ['failed_file_analysis'] : []),
128
+ ...(graph?.coverage.filesSkipped ? ['skipped_file_analysis'] : []),
129
+ ],
130
+ recoveryCommands: recoveryCommands(),
131
+ };
132
+ }
133
+ function markBrainBuilding(repoRoot) {
134
+ const previous = readBrainLifecycle(repoRoot) ?? defaultStatus('building');
135
+ return writeBrainLifecycle(repoRoot, {
136
+ ...previous,
137
+ state: 'building',
138
+ updatedAt: new Date().toISOString(),
139
+ startedAt: previous.startedAt ?? new Date().toISOString(),
140
+ completedAt: null,
141
+ pid: process.pid,
142
+ reasonCodes: ['index_in_progress'],
143
+ });
144
+ }
145
+ function markBrainIndexResult(repoRoot, result) {
146
+ const state = result.graph.coverage.filesIndexed === 0
147
+ && result.graph.coverage.filesUnsupported > 0
148
+ ? 'unsupported'
149
+ : result.graph.freshness.state === 'partial' ? 'partial' : 'fresh';
150
+ return writeBrainLifecycle(repoRoot, {
151
+ schemaVersion: exports.BRAIN_LIFECYCLE_SCHEMA_VERSION,
152
+ state,
153
+ updatedAt: new Date().toISOString(),
154
+ startedAt: readBrainLifecycle(repoRoot)?.startedAt ?? null,
155
+ completedAt: new Date().toISOString(),
156
+ pid: null,
157
+ progress: {
158
+ filesScanned: result.stats.filesScanned,
159
+ filesIndexed: result.graph.coverage.filesIndexed,
160
+ totalFiles: result.graph.coverage.filesSeen,
161
+ percent: result.graph.coverage.filesSeen
162
+ ? Math.round((result.graph.coverage.filesIndexed / result.graph.coverage.filesSeen) * 100)
163
+ : 100,
164
+ },
165
+ freshness: result.graph.freshness,
166
+ graphId: result.graph.graphId,
167
+ generation: result.graph.generation,
168
+ reasonCodes: result.graph.freshness.reasonCodes,
169
+ unsupportedFacts: [
170
+ ...(result.graph.coverage.filesUnsupported > 0 ? ['unsupported_languages'] : []),
171
+ ...(result.graph.coverage.filesFailed ? ['failed_file_analysis'] : []),
172
+ ...(result.graph.coverage.filesSkipped ? ['skipped_file_analysis'] : []),
173
+ ],
174
+ recoveryCommands: recoveryCommands(),
175
+ });
176
+ }
177
+ function markBrainFailed(repoRoot, reasonCode) {
178
+ const previous = readBrainLifecycle(repoRoot) ?? defaultStatus('failed');
179
+ return writeBrainLifecycle(repoRoot, {
180
+ ...previous,
181
+ state: 'failed',
182
+ updatedAt: new Date().toISOString(),
183
+ completedAt: new Date().toISOString(),
184
+ pid: null,
185
+ reasonCodes: [reasonCode],
186
+ recoveryCommands: recoveryCommands(),
187
+ });
188
+ }
189
+ async function scheduleBrainIndex(repoRoot, options = {}) {
190
+ const current = await inspectBrainLifecycle(repoRoot);
191
+ if (!options.force && (current.state === 'fresh' || current.state === 'partial'))
192
+ return current;
193
+ if (!options.force && (current.state === 'scheduled' || current.state === 'building') && pidAlive(current.pid))
194
+ return current;
195
+ const cliEntry = (0, cli_entry_1.getActiveCliEntry)();
196
+ const args = [
197
+ cliEntry,
198
+ 'brain',
199
+ 'repo-index',
200
+ '--max-files',
201
+ String(options.maxFiles ?? 8_000),
202
+ '--max-total-bytes',
203
+ String(options.maxTotalBytes ?? 256 * 1024 * 1024),
204
+ '--max-bytes-per-file',
205
+ String(options.maxBytesPerFile ?? 350_000),
206
+ '--json',
207
+ ];
208
+ const child = (0, node_child_process_1.spawn)(process.execPath, args, {
209
+ cwd: repoRoot,
210
+ detached: true,
211
+ stdio: 'ignore',
212
+ env: {
213
+ ...process.env,
214
+ NEURCODE_BRAIN_LIFECYCLE_CHILD: '1',
215
+ NEURCODE_CLI_SPAWN_ENTRY: cliEntry,
216
+ },
217
+ });
218
+ child.once('error', () => {
219
+ markBrainFailed(repoRoot, 'index_spawn_failed');
220
+ });
221
+ child.unref();
222
+ return writeBrainLifecycle(repoRoot, {
223
+ ...defaultStatus('scheduled'),
224
+ state: 'scheduled',
225
+ startedAt: new Date().toISOString(),
226
+ pid: child.pid ?? null,
227
+ reasonCodes: ['activation_scheduled_index'],
228
+ });
229
+ }
230
+ function cancelBrainIndex(repoRoot) {
231
+ const current = readBrainLifecycle(repoRoot) ?? defaultStatus('missing');
232
+ if (pidAlive(current.pid)) {
233
+ process.kill(current.pid, 'SIGTERM');
234
+ }
235
+ return markBrainFailed(repoRoot, 'cancelled_by_operator');
236
+ }
237
+ //# sourceMappingURL=brain-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brain-lifecycle.js","sourceRoot":"","sources":["../../src/utils/brain-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli-startup.d.ts","sourceRoot":"","sources":["../../src/utils/cli-startup.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,2BAA2B,EACjC,MAAM,0BAA0B,CAAC;AAiBlC,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,GAAG,2BAA2B,GAAG,IAAI,CA0CrC;AAED,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM;;;;;;EAahE"}
1
+ {"version":3,"file":"cli-startup.d.ts","sourceRoot":"","sources":["../../src/utils/cli-startup.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,2BAA2B,EACjC,MAAM,0BAA0B,CAAC;AAyBlC,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,GAAG,2BAA2B,GAAG,IAAI,CAwDrC;AAED,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM;;;;;;EAahE"}
@@ -15,6 +15,13 @@ function isSupervisorChild() {
15
15
  function isIdentityCommand(argv) {
16
16
  return argv.includes('runtime') && argv.includes('identity');
17
17
  }
18
+ function isAuthorityBootstrapCommand(argv) {
19
+ return isIdentityCommand(argv)
20
+ || (argv.includes('runtime') && argv.includes('repair'))
21
+ || argv.includes('activate')
22
+ || argv.includes('--version')
23
+ || argv.includes('--help');
24
+ }
18
25
  function runStartupConsistencyChecks(input) {
19
26
  if (isIdentityCommand(input.argv)) {
20
27
  return null;
@@ -53,6 +60,19 @@ function runStartupConsistencyChecks(input) {
53
60
  process.exit(1);
54
61
  }
55
62
  }
63
+ if (!isAuthorityBootstrapCommand(input.argv)) {
64
+ const authority = (0, cli_runtime_1.assessRuntimeAuthority)({
65
+ repoRoot: process.cwd(),
66
+ current: report.identity,
67
+ adapter: 'cli',
68
+ protectedOperation: false,
69
+ manifest: (0, cli_runtime_1.readActivatedRuntimeManifest)(process.cwd()),
70
+ installations: report.installations,
71
+ });
72
+ if (!authority.ok) {
73
+ console.error(`[neurcode-cli] degraded runtime authority: ${authority.status}. Run \`${authority.repairCommand}\`.`);
74
+ }
75
+ }
56
76
  return report;
57
77
  }
58
78
  function buildRuntimeIdentityPayload(bundledCliDir) {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-startup.js","sourceRoot":"","sources":["../../src/utils/cli-startup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-startup.js","sourceRoot":"","sources":["../../src/utils/cli-startup.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export declare const MCP_SERVER_PACKAGE: "@neurcode-ai/mcp-server";
2
- export declare const MIN_MCP_SERVER_VERSION: "0.2.5";
2
+ export declare const MIN_MCP_SERVER_VERSION: "0.3.1";
3
3
  /** Legacy relative paths fail when Cursor MCP cwd is not the workspace root. */
4
4
  export declare const PINNED_MCP_ENTRY_RELATIVE: "mcp-server/node_modules/@neurcode-ai/mcp-server/dist/index.js";
5
5
  export declare function pinnedMcpBaseRoot(repoRoot: string, global?: boolean): string;
@@ -18,7 +18,7 @@ const node_os_1 = require("node:os");
18
18
  const node_path_1 = require("node:path");
19
19
  const node_child_process_1 = require("node:child_process");
20
20
  exports.MCP_SERVER_PACKAGE = '@neurcode-ai/mcp-server';
21
- exports.MIN_MCP_SERVER_VERSION = '0.2.5';
21
+ exports.MIN_MCP_SERVER_VERSION = '0.3.1';
22
22
  /** Legacy relative paths fail when Cursor MCP cwd is not the workspace root. */
23
23
  exports.PINNED_MCP_ENTRY_RELATIVE = 'mcp-server/node_modules/@neurcode-ai/mcp-server/dist/index.js';
24
24
  function pinnedMcpBaseRoot(repoRoot, global = false) {
@@ -37,7 +37,7 @@ function ensurePinnedMcpServer(baseRoot) {
37
37
  }
38
38
  const installDir = mcpServerPinDir(baseRoot);
39
39
  (0, node_fs_1.mkdirSync)(installDir, { recursive: true });
40
- const versionsToTry = [exports.MIN_MCP_SERVER_VERSION, '0.2.3', '0.2.2'].filter((version, index, all) => all.indexOf(version) === index);
40
+ const versionsToTry = [exports.MIN_MCP_SERVER_VERSION, '0.3.0', '0.2.5'].filter((version, index, all) => all.indexOf(version) === index);
41
41
  let lastMessage = `Failed to install pinned MCP server (${exports.MCP_SERVER_PACKAGE}).`;
42
42
  for (const version of versionsToTry) {
43
43
  const install = (0, node_child_process_1.spawnSync)('npm', [
@@ -0,0 +1,27 @@
1
+ import { type ActivatedRuntimeIntegration, type RuntimeAdapter, type RuntimeAuthorityAssessment } from '@neurcode-ai/cli-runtime';
2
+ import { type BrainLifecycleStatus } from './brain-lifecycle';
3
+ export interface RuntimeAuthorityRepairResult {
4
+ ok: true;
5
+ repoRoot: string;
6
+ manifestPath: string;
7
+ manifestHash: string;
8
+ changed: boolean;
9
+ integrations: ActivatedRuntimeIntegration[];
10
+ repaired: string[];
11
+ preserved: string[];
12
+ brain: BrainLifecycleStatus;
13
+ restartRequired: boolean;
14
+ nextCheck: string;
15
+ }
16
+ export declare function recordActivatedRuntime(repoRootInput: string, adapters: RuntimeAdapter[]): Promise<{
17
+ manifestPath: string;
18
+ manifestHash: string;
19
+ changed: boolean;
20
+ brain: BrainLifecycleStatus;
21
+ }>;
22
+ export declare function repairRuntimeAuthority(repoRootInput: string): Promise<RuntimeAuthorityRepairResult>;
23
+ export declare function inspectRuntimeAuthority(repoRootInput: string, adapter?: RuntimeAdapter, protectedOperation?: boolean): RuntimeAuthorityAssessment;
24
+ export declare function assertProtectedRuntimeAuthority(repoRootInput: string, adapter: RuntimeAdapter | 'neurcode-cli'): RuntimeAuthorityAssessment;
25
+ export declare function runtimeManifestExists(repoRootInput: string): boolean;
26
+ export declare function activeRuntimeEntrypoint(): string;
27
+ //# sourceMappingURL=runtime-authority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-authority.d.ts","sourceRoot":"","sources":["../../src/utils/runtime-authority.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,2BAA2B,EAChC,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAC;AAWlC,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGlF,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,2BAA2B,EAAE,CAAC;IAC5C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAmED,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,cAAc,EAAE,GACzB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,CAAC,CAwBxG;AAED,wBAAsB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAqCzG;AAED,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,cAAsB,EAC/B,kBAAkB,UAAQ,GACzB,0BAA0B,CAY5B;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,cAAc,GAAG,0BAA0B,CAO3I;AAED,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.recordActivatedRuntime = recordActivatedRuntime;
4
+ exports.repairRuntimeAuthority = repairRuntimeAuthority;
5
+ exports.inspectRuntimeAuthority = inspectRuntimeAuthority;
6
+ exports.assertProtectedRuntimeAuthority = assertProtectedRuntimeAuthority;
7
+ exports.runtimeManifestExists = runtimeManifestExists;
8
+ exports.activeRuntimeEntrypoint = activeRuntimeEntrypoint;
9
+ const cli_runtime_1 = require("@neurcode-ai/cli-runtime");
10
+ const node_fs_1 = require("node:fs");
11
+ const node_path_1 = require("node:path");
12
+ const v0_governance_1 = require("./v0-governance");
13
+ const cli_entry_1 = require("./cli-entry");
14
+ const brain_lifecycle_1 = require("./brain-lifecycle");
15
+ const agent_adapter_setup_1 = require("./agent-adapter-setup");
16
+ const TARGETS = [
17
+ { adapter: 'cli', enforcementLevel: 'cooperative' },
18
+ { adapter: 'claude-code-hooks', enforcementLevel: 'hard_hook' },
19
+ { adapter: 'copilot-hooks', enforcementLevel: 'hard_hook' },
20
+ { adapter: 'codex-mcp', enforcementLevel: 'cooperative' },
21
+ { adapter: 'cursor-mcp', enforcementLevel: 'cooperative' },
22
+ { adapter: 'generic-mcp', enforcementLevel: 'cooperative' },
23
+ { adapter: 'supervisor', enforcementLevel: 'supervised' },
24
+ { adapter: 'daemon', enforcementLevel: 'observe_only' },
25
+ { adapter: 'vscode-extension', enforcementLevel: 'observe_only' },
26
+ { adapter: 'github-action', enforcementLevel: 'post_pr' },
27
+ ];
28
+ function writeRuntimeWiring(repoRoot, entrypoint) {
29
+ const path = (0, node_path_1.join)(repoRoot, '.neurcode', 'runtime-wiring.json');
30
+ const payload = {
31
+ schemaVersion: 'neurcode.runtime-wiring.v1',
32
+ cliEntrypoint: entrypoint,
33
+ supervisor: { command: process.execPath, argsPrefix: [entrypoint] },
34
+ daemon: { command: process.execPath, argsPrefix: [entrypoint, 'daemon'] },
35
+ vscode: { command: process.execPath, argsPrefix: [entrypoint] },
36
+ action: { authority: 'post_pr', localRuntimeEntrypoint: entrypoint },
37
+ };
38
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(path), { recursive: true });
39
+ const temporary = `${path}.tmp.${process.pid}`;
40
+ (0, node_fs_1.writeFileSync)(temporary, `${JSON.stringify(payload, null, 2)}\n`, { encoding: 'utf8', mode: 0o600 });
41
+ (0, node_fs_1.renameSync)(temporary, path);
42
+ return path;
43
+ }
44
+ function integrationsForCurrentRuntime(adapters) {
45
+ const identity = (0, cli_runtime_1.collectCliRuntimeIdentity)({ bundledCliDir: (0, cli_entry_1.bundledCliDir)() });
46
+ const activatedAt = new Date().toISOString();
47
+ return TARGETS
48
+ .filter((target) => adapters.includes(target.adapter))
49
+ .map((target) => ({
50
+ adapter: target.adapter,
51
+ enforcementLevel: target.enforcementLevel,
52
+ activatedAt,
53
+ absoluteEntrypoint: identity.entryRealPath,
54
+ buildHash: identity.buildFingerprint,
55
+ installationSource: identity.source === 'workspace' ? 'workspace_build' : identity.source === 'packaged' ? 'packaged_artifact' : 'registry',
56
+ machinePinned: target.adapter === 'claude-code-hooks' || target.adapter === 'copilot-hooks',
57
+ }));
58
+ }
59
+ function sameActivation(existing, next) {
60
+ if (!existing)
61
+ return false;
62
+ return existing.repositoryHash === next.repositoryHash
63
+ && existing.profileHash === next.profileHash
64
+ && existing.runtime.cliVersion === next.runtime.cliVersion
65
+ && existing.runtime.packageOrBuildHash === next.runtime.packageOrBuildHash
66
+ && existing.runtime.absoluteEntrypoint === next.runtime.absoluteEntrypoint
67
+ && JSON.stringify(existing.integrations.map(({ activatedAt: _activatedAt, ...rest }) => rest))
68
+ === JSON.stringify(next.integrations.map(({ activatedAt: _activatedAt, ...rest }) => rest));
69
+ }
70
+ async function recordActivatedRuntime(repoRootInput, adapters) {
71
+ const repoRoot = (0, v0_governance_1.resolveRepoRoot)(repoRootInput);
72
+ const profile = (0, v0_governance_1.ensureFreshGovernanceProfile)(repoRoot).profile;
73
+ const identity = (0, cli_runtime_1.collectCliRuntimeIdentity)({ bundledCliDir: (0, cli_entry_1.bundledCliDir)() });
74
+ const existing = (0, cli_runtime_1.readActivatedRuntimeManifest)(repoRoot);
75
+ const existingAdapters = existing?.integrations.map((integration) => integration.adapter) ?? [];
76
+ const allAdapters = Array.from(new Set([...existingAdapters, ...adapters, 'cli']));
77
+ const next = (0, cli_runtime_1.createActivatedRuntimeManifest)({
78
+ repoRoot,
79
+ profileHash: profile.profileHash,
80
+ identity,
81
+ integrations: integrationsForCurrentRuntime(allAdapters),
82
+ });
83
+ const changed = !sameActivation(existing, next);
84
+ const manifest = changed ? next : existing;
85
+ if (changed)
86
+ (0, cli_runtime_1.writeActivatedRuntimeManifest)(repoRoot, manifest);
87
+ writeRuntimeWiring(repoRoot, identity.entryRealPath);
88
+ const brain = await (0, brain_lifecycle_1.scheduleBrainIndex)(repoRoot);
89
+ return {
90
+ manifestPath: (0, cli_runtime_1.runtimeManifestPath)(repoRoot),
91
+ manifestHash: manifest.manifestHash,
92
+ changed,
93
+ brain,
94
+ };
95
+ }
96
+ async function repairRuntimeAuthority(repoRootInput) {
97
+ const repoRoot = (0, v0_governance_1.resolveRepoRoot)(repoRootInput);
98
+ const repaired = [];
99
+ const preserved = [];
100
+ const claudeHooks = (0, v0_governance_1.installClaudeGovernanceHooks)(repoRoot, { force: true });
101
+ repaired.push(...claudeHooks.repaired, ...claudeHooks.added);
102
+ preserved.push(...claudeHooks.preserved);
103
+ const claudeMcp = (0, v0_governance_1.installClaudeMcpConfig)({ force: true });
104
+ repaired.push(...claudeMcp.repaired, ...claudeMcp.added);
105
+ preserved.push(...claudeMcp.preserved);
106
+ const copilot = (0, v0_governance_1.installCopilotGovernanceHooks)(repoRoot, { force: true });
107
+ repaired.push(...copilot.repaired, ...copilot.added);
108
+ preserved.push(...copilot.preserved);
109
+ for (const target of ['codex', 'cursor', 'vscode']) {
110
+ const result = (0, agent_adapter_setup_1.writeAgentSetup)({ target, repoRoot });
111
+ if (result.status === 'written')
112
+ repaired.push(`${target}:${result.configPath ?? 'configuration'}`);
113
+ else
114
+ preserved.push(`${target}:${result.configPath ?? 'configuration'}`);
115
+ }
116
+ const activation = await recordActivatedRuntime(repoRoot, TARGETS.map((target) => target.adapter));
117
+ if (activation.changed)
118
+ repaired.push('runtime-manifest', 'runtime-wiring');
119
+ else
120
+ preserved.push('runtime-manifest', 'runtime-wiring');
121
+ return {
122
+ ok: true,
123
+ repoRoot,
124
+ manifestPath: activation.manifestPath,
125
+ manifestHash: activation.manifestHash,
126
+ changed: activation.changed || repaired.length > 0,
127
+ integrations: (0, cli_runtime_1.readActivatedRuntimeManifest)(repoRoot)?.integrations ?? [],
128
+ repaired: Array.from(new Set(repaired)).sort(),
129
+ preserved: Array.from(new Set(preserved)).sort(),
130
+ brain: activation.brain,
131
+ restartRequired: claudeHooks.restartRequired || claudeMcp.restartRequired || copilot.restartRequired,
132
+ nextCheck: 'neurcode runtime identity --json',
133
+ };
134
+ }
135
+ function inspectRuntimeAuthority(repoRootInput, adapter = 'cli', protectedOperation = false) {
136
+ const repoRoot = (0, v0_governance_1.resolveRepoRoot)(repoRootInput);
137
+ const profile = (0, v0_governance_1.ensureFreshGovernanceProfile)(repoRoot).profile;
138
+ const current = (0, cli_runtime_1.collectCliRuntimeIdentity)({ bundledCliDir: (0, cli_entry_1.bundledCliDir)() });
139
+ return (0, cli_runtime_1.assessRuntimeAuthority)({
140
+ repoRoot,
141
+ profileHash: profile.profileHash,
142
+ current,
143
+ adapter,
144
+ protectedOperation,
145
+ installations: (0, cli_runtime_1.discoverCliInstallations)({ repoRoot, bundledCliDir: (0, cli_entry_1.bundledCliDir)() }),
146
+ });
147
+ }
148
+ function assertProtectedRuntimeAuthority(repoRootInput, adapter) {
149
+ const assessment = inspectRuntimeAuthority(repoRootInput, adapter === 'neurcode-cli' ? 'cli' : adapter, true);
150
+ if (!assessment.protectedOperationAllowed) {
151
+ const detail = assessment.mismatches.map((mismatch) => `- ${mismatch.message}`).join('\n');
152
+ throw new Error(`Protected operation denied by runtime identity authority.\n${detail}\nRun \`${assessment.repairCommand}\`.`);
153
+ }
154
+ return assessment;
155
+ }
156
+ function runtimeManifestExists(repoRootInput) {
157
+ return (0, node_fs_1.existsSync)((0, cli_runtime_1.runtimeManifestPath)((0, v0_governance_1.resolveRepoRoot)(repoRootInput)));
158
+ }
159
+ function activeRuntimeEntrypoint() {
160
+ return (0, cli_entry_1.getActiveCliEntry)();
161
+ }
162
+ //# sourceMappingURL=runtime-authority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-authority.js","sourceRoot":"","sources":["../../src/utils/runtime-authority.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { normalizeArchitectureObligationPolicy, summarizeArchitectureObligations, type AgentPlan, type AgentPlanAmendmentProposal, type ArchitectureObligation, type GovernanceSession, type SessionEvent } from '@neurcode-ai/governance-runtime';
2
2
  import { type ProfileFreshnessSignal } from './v0-governance';
3
3
  import { type RuntimeOutboxStatus } from './runtime-outbox';
4
+ import { readBrainLifecycle } from './brain-lifecycle';
5
+ import { inspectRuntimeAuthority } from './runtime-authority';
4
6
  export declare const RUNTIME_COMPANION_SCHEMA_VERSION: "neurcode.runtime-companion.v1";
5
7
  export interface RuntimeCompanionPlan {
6
8
  revision: number;
@@ -64,6 +66,26 @@ export interface RuntimeCompanionSnapshot {
64
66
  hardDenyAvailable: false;
65
67
  detail: string;
66
68
  };
69
+ runtimeAuthority: ReturnType<typeof inspectRuntimeAuthority>;
70
+ pairing: {
71
+ repositoryOwnershipBound: boolean;
72
+ machineAuthenticated: boolean;
73
+ agentIntegrationActive: boolean;
74
+ cloudTransportConnected: boolean;
75
+ repoBrainReady: boolean;
76
+ governedSessionActive: boolean;
77
+ evidenceSynchronized: boolean;
78
+ };
79
+ topology: null | {
80
+ artifactHash: string;
81
+ trackedFileCount: number;
82
+ deterministicFacts: number;
83
+ advisoryFacts: number;
84
+ brainParticipated: boolean;
85
+ brainFreshness: string | null;
86
+ limitations: string[];
87
+ };
88
+ brain: ReturnType<typeof readBrainLifecycle>;
67
89
  profileFreshness: ProfileFreshnessSignal & {
68
90
  sessionProfileHash: string | null;
69
91
  };
@@ -73,12 +95,20 @@ export interface RuntimeCompanionSnapshot {
73
95
  session: null | {
74
96
  sessionId: string;
75
97
  status: GovernanceSession['status'];
98
+ completionStatus: GovernanceSession['completionStatus'] | null;
76
99
  repoName: string;
77
100
  goal: string;
78
101
  profileHash: string;
79
102
  scopeMode: GovernanceSession['contract']['scopeMode'];
80
103
  planCoherenceMode: NonNullable<GovernanceSession['contract']['planCoherenceMode']>;
81
104
  allowedGlobs: string[];
105
+ scopeEvidence: Array<{
106
+ glob: string;
107
+ evidenceType: string;
108
+ authority: 'deterministic' | 'advisory' | 'explicit';
109
+ confidence: string;
110
+ reason: string;
111
+ }>;
82
112
  approvalRequiredGlobs: string[];
83
113
  approvedPaths: string[];
84
114
  launcher: null | {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-companion.d.ts","sourceRoot":"","sources":["../../src/utils/runtime-companion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-companion.d.ts","sourceRoot":"","sources":["../../src/utils/runtime-companion.ts"],"names":[],"mappings":"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"}