@neurcode-ai/cli 0.14.0 → 0.15.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 (188) hide show
  1. package/README.md +60 -8
  2. package/dist/api-client.d.ts +284 -0
  3. package/dist/api-client.d.ts.map +1 -1
  4. package/dist/api-client.js +111 -0
  5. package/dist/api-client.js.map +1 -1
  6. package/dist/commands/activate.d.ts +82 -0
  7. package/dist/commands/activate.d.ts.map +1 -0
  8. package/dist/commands/activate.js +551 -0
  9. package/dist/commands/activate.js.map +1 -0
  10. package/dist/commands/admission.d.ts +67 -0
  11. package/dist/commands/admission.d.ts.map +1 -0
  12. package/dist/commands/admission.js +350 -0
  13. package/dist/commands/admission.js.map +1 -0
  14. package/dist/commands/agent.d.ts +3 -0
  15. package/dist/commands/agent.d.ts.map +1 -0
  16. package/dist/commands/agent.js +2045 -0
  17. package/dist/commands/agent.js.map +1 -0
  18. package/dist/commands/demo.d.ts +3 -0
  19. package/dist/commands/demo.d.ts.map +1 -0
  20. package/dist/commands/demo.js +102 -0
  21. package/dist/commands/demo.js.map +1 -0
  22. package/dist/commands/init.d.ts.map +1 -1
  23. package/dist/commands/init.js +58 -44
  24. package/dist/commands/init.js.map +1 -1
  25. package/dist/commands/login.d.ts +1 -1
  26. package/dist/commands/login.d.ts.map +1 -1
  27. package/dist/commands/login.js +44 -22
  28. package/dist/commands/login.js.map +1 -1
  29. package/dist/commands/profile.d.ts +14 -0
  30. package/dist/commands/profile.d.ts.map +1 -0
  31. package/dist/commands/profile.js +118 -0
  32. package/dist/commands/profile.js.map +1 -0
  33. package/dist/commands/quickstart.d.ts +2 -2
  34. package/dist/commands/quickstart.d.ts.map +1 -1
  35. package/dist/commands/quickstart.js +31 -30
  36. package/dist/commands/quickstart.js.map +1 -1
  37. package/dist/commands/remediate-export.d.ts +6 -1
  38. package/dist/commands/remediate-export.d.ts.map +1 -1
  39. package/dist/commands/remediate-export.js +359 -7
  40. package/dist/commands/remediate-export.js.map +1 -1
  41. package/dist/commands/replay.d.ts.map +1 -1
  42. package/dist/commands/replay.js +84 -0
  43. package/dist/commands/replay.js.map +1 -1
  44. package/dist/commands/run.d.ts +3 -0
  45. package/dist/commands/run.d.ts.map +1 -0
  46. package/dist/commands/run.js +98 -0
  47. package/dist/commands/run.js.map +1 -0
  48. package/dist/commands/runtime-adapter.d.ts +8 -0
  49. package/dist/commands/runtime-adapter.d.ts.map +1 -0
  50. package/dist/commands/runtime-adapter.js +375 -0
  51. package/dist/commands/runtime-adapter.js.map +1 -0
  52. package/dist/commands/runtime-doctor.d.ts +6 -0
  53. package/dist/commands/runtime-doctor.d.ts.map +1 -0
  54. package/dist/commands/runtime-doctor.js +478 -0
  55. package/dist/commands/runtime-doctor.js.map +1 -0
  56. package/dist/commands/runtime-report.d.ts +13 -0
  57. package/dist/commands/runtime-report.d.ts.map +1 -0
  58. package/dist/commands/runtime-report.js +81 -0
  59. package/dist/commands/runtime-report.js.map +1 -0
  60. package/dist/commands/runtime-sync.d.ts +17 -0
  61. package/dist/commands/runtime-sync.d.ts.map +1 -0
  62. package/dist/commands/runtime-sync.js +656 -0
  63. package/dist/commands/runtime-sync.js.map +1 -0
  64. package/dist/commands/runtime.d.ts +16 -0
  65. package/dist/commands/runtime.d.ts.map +1 -0
  66. package/dist/commands/runtime.js +380 -0
  67. package/dist/commands/runtime.js.map +1 -0
  68. package/dist/commands/session-hook.d.ts +35 -0
  69. package/dist/commands/session-hook.d.ts.map +1 -0
  70. package/dist/commands/session-hook.js +1297 -0
  71. package/dist/commands/session-hook.js.map +1 -0
  72. package/dist/commands/session.d.ts +91 -0
  73. package/dist/commands/session.d.ts.map +1 -1
  74. package/dist/commands/session.js +1226 -0
  75. package/dist/commands/session.js.map +1 -1
  76. package/dist/commands/whoami.d.ts +7 -4
  77. package/dist/commands/whoami.d.ts.map +1 -1
  78. package/dist/commands/whoami.js +59 -34
  79. package/dist/commands/whoami.js.map +1 -1
  80. package/dist/config.d.ts.map +1 -1
  81. package/dist/config.js +24 -5
  82. package/dist/config.js.map +1 -1
  83. package/dist/daemon/routes.d.ts.map +1 -1
  84. package/dist/daemon/routes.js +8 -0
  85. package/dist/daemon/routes.js.map +1 -1
  86. package/dist/daemon/server.d.ts.map +1 -1
  87. package/dist/daemon/server.js +88 -0
  88. package/dist/daemon/server.js.map +1 -1
  89. package/dist/governance/impact-analysis.d.ts +27 -0
  90. package/dist/governance/impact-analysis.d.ts.map +1 -0
  91. package/dist/governance/impact-analysis.js +274 -0
  92. package/dist/governance/impact-analysis.js.map +1 -0
  93. package/dist/index.js +472 -29
  94. package/dist/index.js.map +1 -1
  95. package/dist/intent-engine/matcher.d.ts.map +1 -1
  96. package/dist/intent-engine/matcher.js +3 -12
  97. package/dist/intent-engine/matcher.js.map +1 -1
  98. package/dist/utils/admission-artifact.d.ts +59 -0
  99. package/dist/utils/admission-artifact.d.ts.map +1 -0
  100. package/dist/utils/admission-artifact.js +410 -0
  101. package/dist/utils/admission-artifact.js.map +1 -0
  102. package/dist/utils/agent-adapter-setup.d.ts +80 -0
  103. package/dist/utils/agent-adapter-setup.d.ts.map +1 -0
  104. package/dist/utils/agent-adapter-setup.js +577 -0
  105. package/dist/utils/agent-adapter-setup.js.map +1 -0
  106. package/dist/utils/agent-guard-supervisor.d.ts +75 -0
  107. package/dist/utils/agent-guard-supervisor.d.ts.map +1 -0
  108. package/dist/utils/agent-guard-supervisor.js +388 -0
  109. package/dist/utils/agent-guard-supervisor.js.map +1 -0
  110. package/dist/utils/agent-guard.d.ts +92 -0
  111. package/dist/utils/agent-guard.d.ts.map +1 -0
  112. package/dist/utils/agent-guard.js +326 -0
  113. package/dist/utils/agent-guard.js.map +1 -0
  114. package/dist/utils/agent-session-launcher.d.ts +89 -0
  115. package/dist/utils/agent-session-launcher.d.ts.map +1 -0
  116. package/dist/utils/agent-session-launcher.js +308 -0
  117. package/dist/utils/agent-session-launcher.js.map +1 -0
  118. package/dist/utils/bash-command-analysis.d.ts +19 -0
  119. package/dist/utils/bash-command-analysis.d.ts.map +1 -0
  120. package/dist/utils/bash-command-analysis.js +295 -0
  121. package/dist/utils/bash-command-analysis.js.map +1 -0
  122. package/dist/utils/consequence-nudges.d.ts +30 -0
  123. package/dist/utils/consequence-nudges.d.ts.map +1 -0
  124. package/dist/utils/consequence-nudges.js +313 -0
  125. package/dist/utils/consequence-nudges.js.map +1 -0
  126. package/dist/utils/drift-intelligence.d.ts.map +1 -1
  127. package/dist/utils/drift-intelligence.js +29 -7
  128. package/dist/utils/drift-intelligence.js.map +1 -1
  129. package/dist/utils/git-coverage.d.ts +57 -0
  130. package/dist/utils/git-coverage.d.ts.map +1 -0
  131. package/dist/utils/git-coverage.js +302 -0
  132. package/dist/utils/git-coverage.js.map +1 -0
  133. package/dist/utils/gitignore.d.ts.map +1 -1
  134. package/dist/utils/gitignore.js +2 -1
  135. package/dist/utils/gitignore.js.map +1 -1
  136. package/dist/utils/governed-intent.d.ts +10 -0
  137. package/dist/utils/governed-intent.d.ts.map +1 -0
  138. package/dist/utils/governed-intent.js +108 -0
  139. package/dist/utils/governed-intent.js.map +1 -0
  140. package/dist/utils/hook-heartbeat.d.ts +55 -0
  141. package/dist/utils/hook-heartbeat.d.ts.map +1 -0
  142. package/dist/utils/hook-heartbeat.js +116 -0
  143. package/dist/utils/hook-heartbeat.js.map +1 -0
  144. package/dist/utils/intent-continuity.d.ts +21 -0
  145. package/dist/utils/intent-continuity.d.ts.map +1 -0
  146. package/dist/utils/intent-continuity.js +192 -0
  147. package/dist/utils/intent-continuity.js.map +1 -0
  148. package/dist/utils/messages.d.ts +1 -1
  149. package/dist/utils/messages.d.ts.map +1 -1
  150. package/dist/utils/messages.js +24 -21
  151. package/dist/utils/messages.js.map +1 -1
  152. package/dist/utils/runtime-companion.d.ts +137 -0
  153. package/dist/utils/runtime-companion.d.ts.map +1 -0
  154. package/dist/utils/runtime-companion.js +231 -0
  155. package/dist/utils/runtime-companion.js.map +1 -0
  156. package/dist/utils/runtime-connection.d.ts +46 -0
  157. package/dist/utils/runtime-connection.d.ts.map +1 -0
  158. package/dist/utils/runtime-connection.js +148 -0
  159. package/dist/utils/runtime-connection.js.map +1 -0
  160. package/dist/utils/runtime-evidence.d.ts +68 -0
  161. package/dist/utils/runtime-evidence.d.ts.map +1 -0
  162. package/dist/utils/runtime-evidence.js +248 -0
  163. package/dist/utils/runtime-evidence.js.map +1 -0
  164. package/dist/utils/runtime-live.d.ts +33 -0
  165. package/dist/utils/runtime-live.d.ts.map +1 -0
  166. package/dist/utils/runtime-live.js +361 -0
  167. package/dist/utils/runtime-live.js.map +1 -0
  168. package/dist/utils/runtime-outbox.d.ts +76 -0
  169. package/dist/utils/runtime-outbox.d.ts.map +1 -0
  170. package/dist/utils/runtime-outbox.js +410 -0
  171. package/dist/utils/runtime-outbox.js.map +1 -0
  172. package/dist/utils/runtime-receipt.d.ts +50 -0
  173. package/dist/utils/runtime-receipt.d.ts.map +1 -0
  174. package/dist/utils/runtime-receipt.js +223 -0
  175. package/dist/utils/runtime-receipt.js.map +1 -0
  176. package/dist/utils/state.d.ts +21 -0
  177. package/dist/utils/state.d.ts.map +1 -1
  178. package/dist/utils/state.js +30 -0
  179. package/dist/utils/state.js.map +1 -1
  180. package/dist/utils/structural-understanding.d.ts +334 -0
  181. package/dist/utils/structural-understanding.d.ts.map +1 -0
  182. package/dist/utils/structural-understanding.js +2316 -0
  183. package/dist/utils/structural-understanding.js.map +1 -0
  184. package/dist/utils/v0-governance.d.ts +197 -0
  185. package/dist/utils/v0-governance.d.ts.map +1 -0
  186. package/dist/utils/v0-governance.js +904 -0
  187. package/dist/utils/v0-governance.js.map +1 -0
  188. package/package.json +5 -5
@@ -0,0 +1,375 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.submitAgentRuntimeEvent = submitAgentRuntimeEvent;
4
+ exports.runtimeAdapterCommand = runtimeAdapterCommand;
5
+ const node_child_process_1 = require("node:child_process");
6
+ const node_fs_1 = require("node:fs");
7
+ const node_path_1 = require("node:path");
8
+ const governance_runtime_1 = require("@neurcode-ai/governance-runtime");
9
+ const v0_governance_1 = require("../utils/v0-governance");
10
+ const agent_session_launcher_1 = require("../utils/agent-session-launcher");
11
+ const runtime_live_1 = require("../utils/runtime-live");
12
+ function readStdin() {
13
+ try {
14
+ return (0, node_fs_1.readFileSync)(0, 'utf8');
15
+ }
16
+ catch {
17
+ return '';
18
+ }
19
+ }
20
+ function parseJsonOutput(stdout) {
21
+ const trimmed = stdout.trim();
22
+ if (!trimmed)
23
+ return undefined;
24
+ try {
25
+ const parsed = JSON.parse(trimmed);
26
+ return typeof parsed === 'object' && parsed !== null
27
+ ? parsed
28
+ : undefined;
29
+ }
30
+ catch {
31
+ const lines = trimmed.split('\n');
32
+ for (let index = lines.length - 1; index >= 0; index -= 1) {
33
+ try {
34
+ const parsed = JSON.parse(lines[index]);
35
+ if (typeof parsed === 'object' && parsed !== null) {
36
+ return parsed;
37
+ }
38
+ }
39
+ catch {
40
+ // Keep scanning: hook output may include a human-readable prefix.
41
+ }
42
+ }
43
+ }
44
+ return undefined;
45
+ }
46
+ function runCurrentCli(args, cwd, stdinText) {
47
+ const cliEntry = process.argv[1];
48
+ if (!cliEntry)
49
+ throw new Error('Unable to resolve the active Neurcode CLI entrypoint.');
50
+ const child = (0, node_child_process_1.spawnSync)(process.execPath, [(0, node_path_1.resolve)(cliEntry), ...args], {
51
+ cwd,
52
+ input: stdinText,
53
+ encoding: 'utf8',
54
+ maxBuffer: 10 * 1024 * 1024,
55
+ });
56
+ if (child.error)
57
+ throw child.error;
58
+ return {
59
+ status: child.status ?? 1,
60
+ stdout: child.stdout ?? '',
61
+ stderr: child.stderr ?? '',
62
+ json: parseJsonOutput(child.stdout ?? ''),
63
+ };
64
+ }
65
+ function hookInput(event, extras = {}) {
66
+ return JSON.stringify({
67
+ cwd: event.cwd,
68
+ ...extras,
69
+ });
70
+ }
71
+ function hookDecision(result) {
72
+ const hookOutput = result.json?.hookSpecificOutput;
73
+ const hook = typeof hookOutput === 'object' && hookOutput !== null
74
+ ? hookOutput
75
+ : undefined;
76
+ const permission = hook?.permissionDecision;
77
+ const permissionReason = hook?.permissionDecisionReason;
78
+ const reason = hook?.reason;
79
+ if (permission === 'deny') {
80
+ return {
81
+ decision: 'deny',
82
+ message: typeof permissionReason === 'string' ? permissionReason : 'Neurcode blocked this edit.',
83
+ payload: result.json,
84
+ };
85
+ }
86
+ if (typeof reason === 'string' && reason.trim()) {
87
+ return {
88
+ decision: 'warn',
89
+ message: reason,
90
+ payload: result.json,
91
+ };
92
+ }
93
+ return {
94
+ decision: 'allow',
95
+ message: 'Neurcode allowed this edit.',
96
+ payload: result.json,
97
+ };
98
+ }
99
+ function decisionEnvelope(event, decision, message, payload, wouldBlock) {
100
+ const capability = (0, governance_runtime_1.getAgentRuntimeAdapterCapability)(event.adapter);
101
+ return {
102
+ schemaVersion: governance_runtime_1.AGENT_RUNTIME_DECISION_SCHEMA_VERSION,
103
+ ok: true,
104
+ adapter: event.adapter,
105
+ enforcementLevel: capability.enforcementLevel,
106
+ eventType: event.eventType,
107
+ decision,
108
+ message,
109
+ ...(typeof wouldBlock === 'boolean' ? { wouldBlock } : {}),
110
+ ...(payload ? { payload } : {}),
111
+ };
112
+ }
113
+ function childFailure(event, result) {
114
+ const message = result.stderr.trim()
115
+ || result.stdout.trim()
116
+ || `Neurcode command failed with exit code ${result.status}.`;
117
+ throw new Error(message);
118
+ }
119
+ function runHook(event, hookAction, extras = {}) {
120
+ return runCurrentCli(['session-hook', '--dir', event.cwd, hookAction], event.cwd, hookInput(event, extras));
121
+ }
122
+ function loadTargetSession(repoRoot, sessionId) {
123
+ return sessionId ? (0, governance_runtime_1.loadSession)(repoRoot, sessionId) : (0, governance_runtime_1.loadActiveSession)(repoRoot);
124
+ }
125
+ function launcherAdapterMatches(eventAdapter, launchedAdapter) {
126
+ if (!launchedAdapter)
127
+ return true;
128
+ return eventAdapter === launchedAdapter || eventAdapter === 'generic-mcp';
129
+ }
130
+ function payloadKeys(payload) {
131
+ return Object.keys(payload)
132
+ .filter((key) => payload[key] !== undefined)
133
+ .sort();
134
+ }
135
+ function recordAgentRuntimeCall(event, session) {
136
+ const capability = (0, governance_runtime_1.getAgentRuntimeAdapterCapability)(event.adapter);
137
+ (0, governance_runtime_1.appendEvent)(event.cwd, session.sessionId, {
138
+ type: 'agent_runtime_call',
139
+ ts: new Date().toISOString(),
140
+ filePath: typeof event.payload.filePath === 'string'
141
+ ? event.payload.filePath
142
+ : typeof event.payload.path === 'string'
143
+ ? event.payload.path
144
+ : undefined,
145
+ detail: {
146
+ schemaVersion: 'neurcode.agent-runtime-call.v1',
147
+ adapter: event.adapter,
148
+ runtimeEventType: event.eventType,
149
+ eventId: event.eventId || null,
150
+ timestamp: event.timestamp || null,
151
+ enforcementLevel: capability.enforcementLevel,
152
+ automatic: capability.automatic,
153
+ toolName: typeof event.payload.toolName === 'string' ? event.payload.toolName : null,
154
+ payloadKeys: payloadKeys(event.payload),
155
+ privacy: {
156
+ metadataOnly: true,
157
+ sourceUploaded: false,
158
+ sourceIncluded: false,
159
+ },
160
+ },
161
+ });
162
+ }
163
+ async function submitAgentRuntimeEvent(event) {
164
+ const capability = (0, governance_runtime_1.getAgentRuntimeAdapterCapability)(event.adapter);
165
+ if (!capability.events.includes(event.eventType)) {
166
+ throw new Error(`${event.adapter} does not support ${event.eventType}; supported events: ${capability.events.join(', ')}`);
167
+ }
168
+ const payload = event.payload;
169
+ const targetSession = event.eventType === 'session.start'
170
+ ? null
171
+ : loadTargetSession(event.cwd, payload.sessionId);
172
+ if (targetSession) {
173
+ recordAgentRuntimeCall(event, targetSession);
174
+ }
175
+ switch (event.eventType) {
176
+ case 'session.handshake': {
177
+ const session = targetSession;
178
+ if (!session || session.status !== 'active') {
179
+ throw new Error(payload.sessionId
180
+ ? `No active governed session found for ${payload.sessionId}.`
181
+ : 'No active governed session found for MCP handshake.');
182
+ }
183
+ const launcher = (0, agent_session_launcher_1.latestAgentLauncherState)(session);
184
+ if (!launcherAdapterMatches(event.adapter, launcher?.agent.adapter)) {
185
+ throw new Error(`MCP adapter mismatch: active session was launched for ${launcher?.agent.adapter}, but handshake used ${event.adapter}.`);
186
+ }
187
+ const updated = (0, agent_session_launcher_1.recordLauncherHandshake)(event.cwd, session, {
188
+ handshakeStatus: 'mcp_connected',
189
+ promptMatched: 'manual',
190
+ source: event.adapter,
191
+ message: `MCP agent handshook into governed session via ${event.adapter}.`,
192
+ });
193
+ await (0, runtime_live_1.publishRuntimeLiveStatus)(event.cwd, updated);
194
+ return decisionEnvelope(event, 'recorded', 'MCP agent handshook into the active governed session.', {
195
+ sessionId: updated.sessionId,
196
+ launcher: (0, agent_session_launcher_1.latestAgentLauncherState)(updated),
197
+ nextAction: updated.contract.agentPlan ? 'edit.before' : 'plan.capture',
198
+ });
199
+ }
200
+ case 'session.start': {
201
+ const result = runHook(event, 'start', {
202
+ prompt: payload.goal,
203
+ ...(payload.plan ? { plan: payload.plan } : {}),
204
+ });
205
+ if (result.status !== 0)
206
+ childFailure(event, result);
207
+ return decisionEnvelope(event, 'recorded', 'Governed agent session started.', result.json);
208
+ }
209
+ case 'plan.capture': {
210
+ const result = runHook(event, 'check', {
211
+ plan: payload.plan,
212
+ ...(payload.sessionId ? { session_id: payload.sessionId } : {}),
213
+ });
214
+ if (result.status !== 0)
215
+ childFailure(event, result);
216
+ return decisionEnvelope(event, 'recorded', 'Agent plan captured for the active session.', result.json);
217
+ }
218
+ case 'plan.amend': {
219
+ const args = [
220
+ 'session',
221
+ 'amend-plan',
222
+ '--proposed-by',
223
+ 'agent',
224
+ '--json',
225
+ ];
226
+ if (payload.plan)
227
+ args.push('--plan', typeof payload.plan === 'string' ? payload.plan : JSON.stringify(payload.plan));
228
+ if (payload.summary)
229
+ args.push('--summary', payload.summary);
230
+ if (payload.reason)
231
+ args.push('--reason', payload.reason);
232
+ for (const item of payload.scope ?? [])
233
+ args.push('--scope', item);
234
+ if (payload.sessionId)
235
+ args.push('--session-id', payload.sessionId);
236
+ const result = runCurrentCli(args, event.cwd);
237
+ if (result.status !== 0)
238
+ childFailure(event, result);
239
+ return decisionEnvelope(event, 'recorded', 'Plan amendment proposed for the active session.', result.json);
240
+ }
241
+ case 'edit.before': {
242
+ const result = runHook(event, 'check', {
243
+ ...(payload.sessionId ? { session_id: payload.sessionId } : {}),
244
+ tool_name: payload.toolName ?? 'Write',
245
+ tool_input: { file_path: payload.filePath },
246
+ });
247
+ if (result.status !== 0)
248
+ childFailure(event, result);
249
+ const checked = hookDecision(result);
250
+ return decisionEnvelope(event, checked.decision, checked.message, checked.payload);
251
+ }
252
+ case 'edit.after': {
253
+ const result = runHook(event, 'check', {
254
+ ...(payload.sessionId ? { session_id: payload.sessionId } : {}),
255
+ tool_name: payload.toolName ?? 'Write',
256
+ tool_input: { file_path: payload.filePath },
257
+ });
258
+ if (result.status !== 0)
259
+ childFailure(event, result);
260
+ const checked = hookDecision(result);
261
+ return decisionEnvelope(event, 'observe', checked.decision === 'deny'
262
+ ? `Post-change observation: ${checked.message}`
263
+ : 'Post-change observation recorded.', checked.payload, checked.decision === 'deny');
264
+ }
265
+ case 'session.finish': {
266
+ const result = runHook(event, 'finish', payload.sessionId ? { session_id: payload.sessionId } : {});
267
+ if (result.status !== 0)
268
+ childFailure(event, result);
269
+ return decisionEnvelope(event, 'recorded', 'Governed agent session finished.', result.json);
270
+ }
271
+ case 'approval.apply': {
272
+ const args = [
273
+ 'session',
274
+ 'approve',
275
+ '--path',
276
+ payload.path,
277
+ '--json',
278
+ ];
279
+ if (payload.reason)
280
+ args.push('--reason', payload.reason);
281
+ if (payload.sessionId)
282
+ args.push('--session-id', payload.sessionId);
283
+ const result = runCurrentCli(args, event.cwd);
284
+ if (result.status !== 0)
285
+ childFailure(event, result);
286
+ return decisionEnvelope(event, 'recorded', 'Exact-path runtime approval applied.', result.json);
287
+ }
288
+ case 'obligation.waive': {
289
+ const args = [
290
+ 'session',
291
+ 'waive-obligation',
292
+ '--id',
293
+ payload.obligationId,
294
+ '--reason',
295
+ payload.reason,
296
+ '--source',
297
+ 'mcp',
298
+ '--json',
299
+ ];
300
+ if (payload.sessionId)
301
+ args.push('--session-id', payload.sessionId);
302
+ if (payload.expiresAt)
303
+ args.push('--expires-at', payload.expiresAt);
304
+ if (payload.ttlMinutes !== undefined)
305
+ args.push('--ttl-minutes', String(payload.ttlMinutes));
306
+ if (payload.actor)
307
+ args.push('--waived-by', payload.actor);
308
+ const result = runCurrentCli(args, event.cwd);
309
+ if (result.status !== 0)
310
+ childFailure(event, result);
311
+ return decisionEnvelope(event, 'recorded', 'Obligation waiver recorded.', result.json);
312
+ }
313
+ }
314
+ }
315
+ function emitJson(value) {
316
+ console.log(JSON.stringify(value, null, 2));
317
+ }
318
+ function emitError(error, json) {
319
+ const message = error instanceof Error ? error.message : String(error);
320
+ if (json) {
321
+ emitJson({ ok: false, error: message });
322
+ }
323
+ else {
324
+ console.error(`Error: ${message}`);
325
+ }
326
+ process.exitCode = 1;
327
+ }
328
+ function runtimeAdapterCommand(program) {
329
+ const runtimeAdapter = program
330
+ .command('runtime-adapter')
331
+ .description('Portable local ingress for governed AI coding-agent lifecycle events');
332
+ runtimeAdapter
333
+ .command('capabilities')
334
+ .description('List supported runtime adapters and their enforcement guarantees')
335
+ .option('--json', 'Emit JSON')
336
+ .action((options) => {
337
+ const capabilities = (0, governance_runtime_1.listAgentRuntimeAdapterCapabilities)();
338
+ if (options.json) {
339
+ emitJson({ capabilities });
340
+ return;
341
+ }
342
+ for (const capability of capabilities) {
343
+ console.log(`${capability.adapter}: ${capability.compatibilityMode.replace(/_/g, ' ')}`
344
+ + ` (${capability.enforcementLevel}; ${capability.automatic ? 'automatic' : 'explicit events'})`);
345
+ console.log(` enforceable: ${capability.enforceable.join('; ')}`);
346
+ console.log(` advisory only: ${capability.advisoryOnly.join('; ')}`);
347
+ }
348
+ });
349
+ runtimeAdapter
350
+ .command('event')
351
+ .description('Submit one normalized, source-free agent lifecycle event')
352
+ .option('--event-json <json>', 'Normalized runtime event JSON; reads stdin when omitted')
353
+ .option('--dir <path>', 'Repository directory fallback')
354
+ .option('--json', 'Emit JSON')
355
+ .action(async (options) => {
356
+ try {
357
+ const raw = options.eventJson ?? readStdin();
358
+ if (!raw.trim())
359
+ throw new Error('Provide --event-json or pipe a normalized runtime event JSON object.');
360
+ const parsed = JSON.parse(raw);
361
+ const normalized = (0, governance_runtime_1.normalizeAgentRuntimeEvent)({
362
+ ...parsed,
363
+ cwd: (0, v0_governance_1.resolveRepoRoot)(parsed.cwd ?? options.dir ?? process.cwd()),
364
+ });
365
+ if (!normalized.cwd)
366
+ throw new Error('Unable to resolve the runtime adapter repository root.');
367
+ const event = { ...normalized, cwd: normalized.cwd };
368
+ emitJson(await submitAgentRuntimeEvent(event));
369
+ }
370
+ catch (error) {
371
+ emitError(error, Boolean(options.json));
372
+ }
373
+ });
374
+ }
375
+ //# sourceMappingURL=runtime-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-adapter.js","sourceRoot":"","sources":["../../src/commands/runtime-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface RuntimeDoctorOptions {
2
+ json?: boolean;
3
+ dir?: string;
4
+ }
5
+ export declare function runtimeDoctorCommand(options?: RuntimeDoctorOptions): void;
6
+ //# sourceMappingURL=runtime-doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-doctor.d.ts","sourceRoot":"","sources":["../../src/commands/runtime-doctor.ts"],"names":[],"mappings":"AAmDA,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAsBD,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,oBAAyB,GAAG,IAAI,CAgb7E"}