@neurcode-ai/cli 0.9.29 → 0.9.30

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approve.d.ts","sourceRoot":"","sources":["../../src/commands/approve.ts"],"names":[],"mappings":"AAuBA,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAsCD,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CA2E5D"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.approveCommand = approveCommand;
4
+ const child_process_1 = require("child_process");
5
+ const manual_approvals_1 = require("../utils/manual-approvals");
6
+ const project_root_1 = require("../utils/project-root");
7
+ let chalk;
8
+ try {
9
+ chalk = require('chalk');
10
+ }
11
+ catch {
12
+ chalk = {
13
+ green: (str) => str,
14
+ yellow: (str) => str,
15
+ red: (str) => str,
16
+ dim: (str) => str,
17
+ bold: (str) => str,
18
+ cyan: (str) => str,
19
+ };
20
+ }
21
+ function resolveCommitSha(projectRoot, headOverride) {
22
+ if (typeof headOverride === 'string' && headOverride.trim()) {
23
+ return headOverride.trim().toLowerCase();
24
+ }
25
+ return (0, child_process_1.execSync)('git rev-parse HEAD', {
26
+ cwd: projectRoot,
27
+ encoding: 'utf-8',
28
+ stdio: ['ignore', 'pipe', 'ignore'],
29
+ })
30
+ .trim()
31
+ .toLowerCase();
32
+ }
33
+ function resolveApprover(projectRoot, options) {
34
+ if (options.approver && options.approver.trim()) {
35
+ return options.approver.trim();
36
+ }
37
+ if (process.env.NEURCODE_APPROVER && process.env.NEURCODE_APPROVER.trim()) {
38
+ return process.env.NEURCODE_APPROVER.trim();
39
+ }
40
+ try {
41
+ const gitName = (0, child_process_1.execSync)('git config user.name', {
42
+ cwd: projectRoot,
43
+ encoding: 'utf-8',
44
+ stdio: ['ignore', 'pipe', 'ignore'],
45
+ }).trim();
46
+ if (gitName)
47
+ return gitName;
48
+ }
49
+ catch {
50
+ // Ignore git-config lookup failure.
51
+ }
52
+ if (process.env.USER && process.env.USER.trim()) {
53
+ return process.env.USER.trim();
54
+ }
55
+ return 'unknown-approver';
56
+ }
57
+ function approveCommand(options) {
58
+ const projectRoot = (0, project_root_1.resolveNeurcodeProjectRoot)(process.cwd());
59
+ const commitSha = resolveCommitSha(projectRoot, options.head);
60
+ if (options.list) {
61
+ const approvals = (0, manual_approvals_1.getManualApprovalsForCommit)(projectRoot, commitSha);
62
+ const distinctApprovers = (0, manual_approvals_1.countDistinctApprovers)(approvals);
63
+ if (options.json) {
64
+ console.log(JSON.stringify({
65
+ commitSha,
66
+ approvals,
67
+ total: approvals.length,
68
+ distinctApprovers,
69
+ storePath: (0, manual_approvals_1.getManualApprovalsPath)(projectRoot),
70
+ }, null, 2));
71
+ return;
72
+ }
73
+ console.log(chalk.cyan('\nManual Approvals'));
74
+ console.log(chalk.dim(`Commit: ${commitSha}`));
75
+ if (approvals.length === 0) {
76
+ console.log(chalk.yellow('No approvals recorded for this commit.\n'));
77
+ return;
78
+ }
79
+ approvals.forEach((item) => {
80
+ const reason = item.reason ? ` — ${item.reason}` : '';
81
+ console.log(chalk.dim(`• ${item.approver} @ ${item.approvedAt}${reason}`));
82
+ });
83
+ console.log(chalk.dim(`\nDistinct approvers: ${distinctApprovers}`));
84
+ console.log(chalk.dim(`Store: ${(0, manual_approvals_1.getManualApprovalsPath)(projectRoot)}\n`));
85
+ return;
86
+ }
87
+ const approver = resolveApprover(projectRoot, options);
88
+ const approval = (0, manual_approvals_1.addManualApproval)(projectRoot, {
89
+ commitSha,
90
+ approver,
91
+ planId: options.planId || null,
92
+ reason: options.reason || null,
93
+ });
94
+ const approvals = (0, manual_approvals_1.getManualApprovalsForCommit)(projectRoot, commitSha);
95
+ const distinctApprovers = (0, manual_approvals_1.countDistinctApprovers)(approvals);
96
+ if (options.json) {
97
+ console.log(JSON.stringify({
98
+ success: true,
99
+ approval,
100
+ commitSha,
101
+ distinctApprovers,
102
+ totalApprovals: approvals.length,
103
+ storePath: (0, manual_approvals_1.getManualApprovalsPath)(projectRoot),
104
+ }, null, 2));
105
+ return;
106
+ }
107
+ console.log(chalk.green('\n✅ Manual approval recorded'));
108
+ console.log(chalk.dim(` Commit: ${commitSha}`));
109
+ console.log(chalk.dim(` Approver: ${approval.approver}`));
110
+ if (approval.reason) {
111
+ console.log(chalk.dim(` Reason: ${approval.reason}`));
112
+ }
113
+ console.log(chalk.dim(` Distinct approvers for commit: ${distinctApprovers}`));
114
+ console.log(chalk.dim(` Store: ${(0, manual_approvals_1.getManualApprovalsPath)(projectRoot)}\n`));
115
+ }
116
+ //# sourceMappingURL=approve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approve.js","sourceRoot":"","sources":["../../src/commands/approve.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"AA6FA;;;GAGG;AACH,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA0CD,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,iBAmM3E"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"AA+FA;;;GAGG;AACH,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA0CD,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,iBAiP3E"}
@@ -42,6 +42,8 @@ const toolbox_service_1 = require("../services/toolbox-service");
42
42
  const project_root_1 = require("../utils/project-root");
43
43
  const fs_1 = require("fs");
44
44
  const path_1 = require("path");
45
+ const core_1 = require("@neurcode-ai/core");
46
+ const policy_1 = require("@neurcode-ai/policy");
45
47
  // Import chalk with fallback for plain strings if not available
46
48
  let chalk;
47
49
  try {
@@ -204,22 +206,27 @@ async function promptCommand(planId, options) {
204
206
  }
205
207
  // Fetch the prompt and intent from API
206
208
  const { prompt: apiPrompt, intent, telemetry: apiTelemetry } = await client.getPlanPrompt(finalPlanId);
209
+ const planRecord = await client.getPlan(finalPlanId).catch(() => null);
207
210
  // Clean apiPrompt: Remove any existing "Available Tools" section to avoid duplication
208
211
  // The apiPrompt may contain an old toolbox summary from when the plan was originally generated
209
212
  // Use regex to strip ANY existing "Available Tools" block
210
213
  const toolsBlockRegex = /=== Available Tools[\s\S]*?=== END Available Tools ===/g;
211
214
  let cleanedPrompt = apiPrompt.replace(toolsBlockRegex, '');
215
+ const projectRoot = (0, project_root_1.resolveNeurcodeProjectRoot)(process.cwd());
212
216
  // Try to load asset map and append toolbox summary if available
213
217
  let finalPrompt = cleanedPrompt;
218
+ let contextCandidateFiles = [];
214
219
  try {
215
- const cwd = (0, project_root_1.resolveNeurcodeProjectRoot)(process.cwd());
216
- const map = (0, map_1.loadAssetMap)(cwd);
220
+ const map = (0, map_1.loadAssetMap)(projectRoot);
217
221
  if (map && map.globalExports.length > 0) {
218
222
  const toolboxSummary = (0, toolbox_service_1.generateToolboxSummary)(map, intent);
219
223
  if (toolboxSummary) {
220
224
  finalPrompt += toolboxSummary;
221
225
  }
222
226
  }
227
+ if (map) {
228
+ contextCandidateFiles = Object.keys(map.files || {});
229
+ }
223
230
  }
224
231
  catch (error) {
225
232
  // Silently fail - toolbox summary is optional
@@ -227,7 +234,44 @@ async function promptCommand(planId, options) {
227
234
  console.warn(chalk.yellow(`⚠️ Could not load asset map: ${error instanceof Error ? error.message : 'Unknown error'}`));
228
235
  }
229
236
  }
230
- const projectRoot = (0, project_root_1.resolveNeurcodeProjectRoot)(process.cwd());
237
+ const plannedFiles = Array.isArray(planRecord?.content?.files)
238
+ ? planRecord.content.files
239
+ .filter((file) => file.action !== 'BLOCK')
240
+ .map((file) => file.path)
241
+ : [];
242
+ contextCandidateFiles = [...new Set([...contextCandidateFiles, ...plannedFiles])];
243
+ const contextPolicy = (0, policy_1.loadContextPolicy)(projectRoot);
244
+ const contextAccess = (0, policy_1.evaluateContextAccess)(contextCandidateFiles, contextPolicy);
245
+ const allowedPreview = contextAccess.allowedContextFiles.slice(0, 120);
246
+ const deniedPreview = contextAccess.deniedReadFiles.slice(0, 60);
247
+ const accessEnvelope = [
248
+ '',
249
+ '=== Context Access Envelope ===',
250
+ 'Use only the following repository context (AI Context Access Control):',
251
+ ...allowedPreview.map((filePath) => `- ${filePath}`),
252
+ ...(contextAccess.allowedContextFiles.length > allowedPreview.length
253
+ ? [`- ... (${contextAccess.allowedContextFiles.length - allowedPreview.length} more allowed files)`]
254
+ : []),
255
+ deniedPreview.length > 0 ? '' : null,
256
+ deniedPreview.length > 0 ? 'Do NOT read or use these denied paths:' : null,
257
+ ...deniedPreview.map((filePath) => `- ${filePath}`),
258
+ ...(contextAccess.deniedReadFiles.length > deniedPreview.length
259
+ ? [`- ... (${contextAccess.deniedReadFiles.length - deniedPreview.length} more denied files)`]
260
+ : []),
261
+ '=== END Context Access Envelope ===',
262
+ '',
263
+ ].filter((line) => typeof line === 'string');
264
+ finalPrompt += accessEnvelope.join('\n');
265
+ const promptContextLogPath = (0, core_1.resolveNeurcodeFile)(projectRoot, core_1.PROMPT_CONTEXT_LOG_FILENAME);
266
+ (0, core_1.writeJsonFile)(promptContextLogPath, {
267
+ generatedAt: new Date().toISOString(),
268
+ planId: finalPlanId,
269
+ task: intent,
270
+ policy: contextPolicy,
271
+ contextProvided: contextAccess.allowedContextFiles,
272
+ deniedContext: contextAccess.deniedReadFiles,
273
+ sourceCandidates: contextCandidateFiles.length,
274
+ });
231
275
  let outputPath = null;
232
276
  if (options?.output && options.output.trim()) {
233
277
  outputPath = writePromptOutputFile(projectRoot, options.output.trim(), finalPrompt);
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiJA,sCAiPC;AAlYD,sCAAsD;AACtD,8CAA0C;AAC1C,0CAA+C;AAC/C,+BAAqC;AACrC,iEAAqE;AACrE,wDAAmE;AACnE,2BAA0D;AAC1D,+BAAwC;AACxC,4CAAoG;AACpG,gDAA+E;AAE/E,gEAAgE;AAChE,IAAI,KAAU,CAAC;AACf,IAAI,CAAC;IACH,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAAC,MAAM,CAAC;IACP,kEAAkE;IAClE,KAAK,GAAG;QACN,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;QAC3B,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;QAC5B,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;QACzB,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;QAC1B,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;QACzB,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;QAC1B,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;KAC5B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,MAAc;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzE,aAAa;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAE9D,UAAU;IACV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1G,CAAC;IAED,gBAAgB;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAAC,IAAY;IACzC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,QAAQ;YACR,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,qCAAqC;YACrC,IAAI,CAAC;gBACH,QAAQ,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxD,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC;oBACH,QAAQ,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtD,OAAO,IAAI,CAAC;gBACd,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,UAAU;YACV,MAAM,EAAE,IAAI,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;YAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAsCD,SAAS,cAAc,CAAC,OAAgC;IACtD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmB,EAAE,UAAkB,EAAE,MAAc;IACpF,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,IAAA,cAAO,EAAC,YAAY,CAAC,CAAC;IAClC,IAAI,CAAC,IAAA,eAAU,EAAC,GAAG,CAAC,EAAE,CAAC;QACrB,IAAA,cAAS,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,IAAA,kBAAa,EAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,YAAY,CAAC;AACtB,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,MAAe,EAAE,OAAuB;IAC1E,IAAI,WAAW,GAAkB,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;IACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,gDAAgD;QAChD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,IAAA,qBAAa,GAAE,CAAC;YACnC,IAAI,UAAU,EAAE,CAAC;gBACf,WAAW,GAAG,UAAU,CAAC;gBACzB,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,mEAAmE,CAAC;gBACpF,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;oBAClB,cAAc,CAAC;wBACb,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,IAAI;wBACZ,MAAM,EAAE,IAAI;wBACZ,MAAM,EAAE,IAAI;wBACZ,MAAM,EAAE,KAAK;wBACb,UAAU,EAAE,IAAI;wBAChB,OAAO;qBACR,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;oBACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;oBAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC,CAAC;oBACtG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,sBAAsB,CAAC;YACvC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAClB,cAAc,CAAC;oBACb,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,IAAI;oBAChB,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,qBAAqB;QACrB,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;QAE5B,kBAAkB;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,GAAG,IAAA,sBAAa,GAAE,CAAC;QAClC,CAAC;QAED,wBAAwB;QACxB,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,WAAW,KAAK,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,uCAAuC;QACvC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACvG,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAEvE,sFAAsF;QACtF,+FAA+F;QAC/F,0DAA0D;QAC1D,MAAM,eAAe,GAAG,yDAAyD,CAAC;QAClF,IAAI,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAE3D,MAAM,WAAW,GAAG,IAAA,yCAA0B,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAE9D,gEAAgE;QAChE,IAAI,WAAW,GAAG,aAAa,CAAC;QAChC,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAA,kBAAY,EAAC,WAAW,CAAC,CAAC;YACtC,IAAI,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,cAAc,GAAG,IAAA,wCAAsB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC3D,IAAI,cAAc,EAAE,CAAC;oBACnB,WAAW,IAAI,cAAc,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,IAAI,GAAG,EAAE,CAAC;gBACR,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,8CAA8C;YAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;YAC1H,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC;YAC5D,CAAC,CAAC,UAAW,CAAC,OAAO,CAAC,KAAK;iBACtB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC;iBACzC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7B,CAAC,CAAC,EAAE,CAAC;QACP,qBAAqB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,qBAAqB,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAElF,MAAM,aAAa,GAAG,IAAA,0BAAiB,EAAC,WAAW,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,IAAA,8BAAqB,EAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC;QAClF,MAAM,cAAc,GAAG,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG;YACrB,EAAE;YACF,iCAAiC;YACjC,wEAAwE;YACxE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC;YACpD,GAAG,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM;gBAClE,CAAC,CAAC,CAAC,UAAU,aAAa,CAAC,mBAAmB,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,sBAAsB,CAAC;gBACpG,CAAC,CAAC,EAAE,CAAC;YACP,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YACpC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,IAAI;YAC1E,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnD,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM;gBAC7D,CAAC,CAAC,CAAC,UAAU,aAAa,CAAC,eAAe,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,qBAAqB,CAAC;gBAC9F,CAAC,CAAC,EAAE,CAAC;YACP,qCAAqC;YACrC,EAAE;SACH,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC7D,WAAW,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzC,MAAM,oBAAoB,GAAG,IAAA,0BAAmB,EAAC,WAAW,EAAE,kCAA2B,CAAC,CAAC;QAC3F,IAAA,oBAAa,EAAC,oBAAoB,EAAE;YAClC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,aAAa;YACrB,eAAe,EAAE,aAAa,CAAC,mBAAmB;YAClD,aAAa,EAAE,aAAa,CAAC,eAAe;YAC5C,gBAAgB,EAAE,qBAAqB,CAAC,MAAM;SAC/C,CAAC,CAAC;QAEH,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,IAAI,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,UAAU,GAAG,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;QACtF,CAAC;QAED,yDAAyD;QACzD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,OAAO,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC;QAC5C,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,MAAM,0BAA0B,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,SAAS,GAA2B;YACxC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB;YAC1C,WAAW,EAAE;gBACX,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,gBAAgB;gBACvB,eAAe,EAAE,0BAA0B;aAC5C;YACD,GAAG,CAAC,YAAY;gBACd,CAAC,CAAC;oBACE,GAAG,EAAE;wBACH,QAAQ,EAAE,YAAY,CAAC,QAAQ;wBAC/B,WAAW,EAAE,YAAY,CAAC,WAAW;wBACrC,WAAW,EAAE,YAAY,CAAC,WAAW;wBACrC,eAAe,EAAE,YAAY,CAAC,eAAe;qBAC9C;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QAEF,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,cAAc,CAAC;gBACb,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,MAAM,IAAI,IAAI;gBACtB,MAAM,EAAE,WAAW;gBACnB,MAAM;gBACN,UAAU;gBACV,SAAS;gBACT,OAAO,EAAE,+BAA+B;aACzC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,8BAA8B;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC,CAAC;YACxG,IAAI,OAAO,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAC;YACnE,CAAC;iBAAM,IAAI,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;YAC3E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uFAAuF,CAAC,CAAC,CAAC;YACrH,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,cAAc,CAAC;gBACb,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAEzD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAExC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -8,6 +8,7 @@ interface ShipOptions {
8
8
  requirePass?: boolean;
9
9
  requirePolicyLock?: boolean;
10
10
  skipPolicyLock?: boolean;
11
+ manualApproveHighRisk?: boolean;
11
12
  json?: boolean;
12
13
  publishCard?: boolean;
13
14
  resumeRunId?: string;
@@ -28,6 +29,7 @@ interface ShipResumeOptions {
28
29
  requirePass?: boolean;
29
30
  requirePolicyLock?: boolean;
30
31
  skipPolicyLock?: boolean;
32
+ manualApproveHighRisk?: boolean;
31
33
  publishCard?: boolean;
32
34
  json?: boolean;
33
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ship.d.ts","sourceRoot":"","sources":["../../src/commands/ship.ts"],"names":[],"mappings":"AAyBA,UAAU,WAAW;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAosDD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAu5BnF;AAED,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA2CD,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuHhG;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA6BjF;AAED,UAAU,4BAA4B;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,4BAA4B,CAC1C,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,4BAA4B,GACpC,IAAI,CAiGN"}
1
+ {"version":3,"file":"ship.d.ts","sourceRoot":"","sources":["../../src/commands/ship.ts"],"names":[],"mappings":"AA0BA,UAAU,WAAW;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAs8DD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAi+BnF;AAED,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA2CD,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwHhG;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA6BjF;AAED,UAAU,4BAA4B;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,4BAA4B,CAC1C,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,4BAA4B,GACpC,IAAI,CAiGN"}
@@ -13,6 +13,7 @@ const config_1 = require("../config");
13
13
  const project_root_1 = require("../utils/project-root");
14
14
  const state_1 = require("../utils/state");
15
15
  const breakage_simulator_1 = require("../utils/breakage-simulator");
16
+ const manual_approvals_1 = require("../utils/manual-approvals");
16
17
  let chalk;
17
18
  try {
18
19
  chalk = require('chalk');
@@ -108,6 +109,7 @@ function createShipCheckpoint(input) {
108
109
  requirePass: input.requirePass,
109
110
  requirePolicyLock: input.requirePolicyLock,
110
111
  skipPolicyLock: input.skipPolicyLock,
112
+ manualApproveHighRisk: input.options.manualApproveHighRisk === true,
111
113
  publishCard: input.options.publishCard !== false,
112
114
  },
113
115
  baselineDirtyPaths: [],
@@ -542,6 +544,152 @@ function parseVerifyPayload(output) {
542
544
  };
543
545
  })()
544
546
  : undefined;
547
+ const contextPolicy = record.contextPolicy && typeof record.contextPolicy === 'object' && !Array.isArray(record.contextPolicy)
548
+ ? (() => {
549
+ const raw = record.contextPolicy;
550
+ const violations = Array.isArray(raw.violations)
551
+ ? raw.violations
552
+ .filter((item) => !!item && typeof item === 'object')
553
+ .map((item) => ({
554
+ file: typeof item.file === 'string' ? item.file : 'unknown',
555
+ rule: typeof item.rule === 'string' ? item.rule : 'unknown',
556
+ reason: typeof item.reason === 'string' ? item.reason : '',
557
+ }))
558
+ : [];
559
+ return {
560
+ deniedModifyTouched: Array.isArray(raw.deniedModifyTouched)
561
+ ? raw.deniedModifyTouched.filter((item) => typeof item === 'string')
562
+ : [],
563
+ violations,
564
+ };
565
+ })()
566
+ : undefined;
567
+ const blastRadius = record.blastRadius && typeof record.blastRadius === 'object' && !Array.isArray(record.blastRadius)
568
+ ? (() => {
569
+ const raw = record.blastRadius;
570
+ const risk = typeof raw.riskScore === 'string' ? raw.riskScore.toLowerCase() : 'low';
571
+ const riskScore = risk === 'high' || risk === 'medium' ? risk : 'low';
572
+ return {
573
+ filesChanged: typeof raw.filesChanged === 'number' ? raw.filesChanged : 0,
574
+ functionsAffected: typeof raw.functionsAffected === 'number' ? raw.functionsAffected : 0,
575
+ modulesAffected: Array.isArray(raw.modulesAffected)
576
+ ? raw.modulesAffected.filter((item) => typeof item === 'string')
577
+ : [],
578
+ dependenciesAdded: Array.isArray(raw.dependenciesAdded)
579
+ ? raw.dependenciesAdded.filter((item) => typeof item === 'string')
580
+ : [],
581
+ riskScore: riskScore,
582
+ };
583
+ })()
584
+ : undefined;
585
+ const suspiciousChange = record.suspiciousChange && typeof record.suspiciousChange === 'object' && !Array.isArray(record.suspiciousChange)
586
+ ? (() => {
587
+ const raw = record.suspiciousChange;
588
+ const confidenceRaw = typeof raw.confidence === 'string' ? raw.confidence.toLowerCase() : 'low';
589
+ const confidence = confidenceRaw === 'high' || confidenceRaw === 'medium' ? confidenceRaw : 'low';
590
+ return {
591
+ expectedFiles: typeof raw.expectedFiles === 'number' ? raw.expectedFiles : 0,
592
+ actualFiles: typeof raw.actualFiles === 'number' ? raw.actualFiles : 0,
593
+ unexpectedFiles: Array.isArray(raw.unexpectedFiles)
594
+ ? raw.unexpectedFiles.filter((item) => typeof item === 'string')
595
+ : [],
596
+ flagged: raw.flagged === true,
597
+ confidence: confidence,
598
+ };
599
+ })()
600
+ : undefined;
601
+ const changeJustification = record.changeJustification && typeof record.changeJustification === 'object' && !Array.isArray(record.changeJustification)
602
+ ? (() => {
603
+ const raw = record.changeJustification;
604
+ return {
605
+ task: typeof raw.task === 'string' ? raw.task : '',
606
+ changes: Array.isArray(raw.changes)
607
+ ? raw.changes
608
+ .filter((item) => !!item && typeof item === 'object')
609
+ .map((item) => ({
610
+ file: typeof item.file === 'string' ? item.file : 'unknown',
611
+ reason: typeof item.reason === 'string' ? item.reason : '',
612
+ }))
613
+ : [],
614
+ };
615
+ })()
616
+ : undefined;
617
+ const governanceDecision = record.governanceDecision && typeof record.governanceDecision === 'object' && !Array.isArray(record.governanceDecision)
618
+ ? (() => {
619
+ const raw = record.governanceDecision;
620
+ const decisionRaw = typeof raw.decision === 'string' ? raw.decision.toLowerCase() : 'allow';
621
+ const decision = decisionRaw === 'warn' || decisionRaw === 'manual_approval' || decisionRaw === 'block'
622
+ ? decisionRaw
623
+ : 'allow';
624
+ return {
625
+ decision: decision,
626
+ reasonCodes: Array.isArray(raw.reasonCodes)
627
+ ? raw.reasonCodes.filter((item) => typeof item === 'string')
628
+ : [],
629
+ summary: typeof raw.summary === 'string' ? raw.summary : undefined,
630
+ averageRelevanceScore: typeof raw.averageRelevanceScore === 'number' ? raw.averageRelevanceScore : undefined,
631
+ lowRelevanceFiles: Array.isArray(raw.lowRelevanceFiles)
632
+ ? raw.lowRelevanceFiles
633
+ .filter((item) => !!item && typeof item === 'object')
634
+ .map((item) => ({
635
+ file: typeof item.file === 'string' ? item.file : 'unknown',
636
+ relevanceScore: typeof item.relevanceScore === 'number' ? item.relevanceScore : 0,
637
+ planLink: typeof item.planLink === 'string' ? item.planLink : 'unknown',
638
+ }))
639
+ : undefined,
640
+ requiresManualApproval: raw.requiresManualApproval === true,
641
+ };
642
+ })()
643
+ : undefined;
644
+ const aiChangeLog = record.aiChangeLog && typeof record.aiChangeLog === 'object' && !Array.isArray(record.aiChangeLog)
645
+ ? (() => {
646
+ const raw = record.aiChangeLog;
647
+ const integrityRaw = raw.integrity && typeof raw.integrity === 'object' && !Array.isArray(raw.integrity)
648
+ ? raw.integrity
649
+ : null;
650
+ return {
651
+ path: typeof raw.path === 'string' ? raw.path : undefined,
652
+ auditPath: typeof raw.auditPath === 'string' ? raw.auditPath : undefined,
653
+ integrity: integrityRaw
654
+ ? {
655
+ valid: integrityRaw.valid === true,
656
+ required: integrityRaw.required === true,
657
+ signed: integrityRaw.signed === true,
658
+ issues: Array.isArray(integrityRaw.issues)
659
+ ? integrityRaw.issues.filter((item) => typeof item === 'string')
660
+ : [],
661
+ payloadHash: typeof integrityRaw.payloadHash === 'string' ? integrityRaw.payloadHash : null,
662
+ chainHash: typeof integrityRaw.chainHash === 'string' ? integrityRaw.chainHash : null,
663
+ }
664
+ : undefined,
665
+ };
666
+ })()
667
+ : undefined;
668
+ const policySources = record.policySources && typeof record.policySources === 'object' && !Array.isArray(record.policySources)
669
+ ? (() => {
670
+ const raw = record.policySources;
671
+ const modeRaw = typeof raw.mode === 'string' ? raw.mode.toLowerCase() : 'local';
672
+ const mode = modeRaw === 'merged' || modeRaw === 'org_only' ? modeRaw : 'local';
673
+ return {
674
+ localPolicy: raw.localPolicy !== false,
675
+ orgPolicy: raw.orgPolicy === true,
676
+ mode: mode,
677
+ };
678
+ })()
679
+ : undefined;
680
+ const orgGovernance = record.orgGovernance && typeof record.orgGovernance === 'object' && !Array.isArray(record.orgGovernance)
681
+ ? (() => {
682
+ const raw = record.orgGovernance;
683
+ return {
684
+ requireSignedAiLogs: raw.requireSignedAiLogs === true,
685
+ requireManualApproval: raw.requireManualApproval !== false,
686
+ minimumManualApprovals: typeof raw.minimumManualApprovals === 'number'
687
+ ? Math.max(1, Math.min(5, Math.floor(raw.minimumManualApprovals)))
688
+ : 1,
689
+ updatedAt: typeof raw.updatedAt === 'string' ? raw.updatedAt : null,
690
+ };
691
+ })()
692
+ : undefined;
545
693
  return {
546
694
  grade: record.grade,
547
695
  score: typeof record.score === 'number' ? record.score : 0,
@@ -561,6 +709,14 @@ function parseVerifyPayload(output) {
561
709
  policyLock,
562
710
  policyExceptions,
563
711
  policyGovernance,
712
+ contextPolicy,
713
+ blastRadius,
714
+ suspiciousChange,
715
+ changeJustification,
716
+ governanceDecision,
717
+ aiChangeLog,
718
+ policySources,
719
+ orgGovernance,
564
720
  };
565
721
  }
566
722
  function parsePlanPayload(output) {
@@ -644,6 +800,20 @@ function runGit(cwd, args) {
644
800
  stderr: result.stderr || '',
645
801
  };
646
802
  }
803
+ function getHeadSha(cwd) {
804
+ const head = runGit(cwd, ['rev-parse', 'HEAD']);
805
+ if (head.code !== 0)
806
+ return null;
807
+ const value = head.stdout.trim().toLowerCase();
808
+ return value || null;
809
+ }
810
+ function resolveDistinctManualApprovers(cwd, commitSha) {
811
+ const approvals = (0, manual_approvals_1.getManualApprovalsForCommit)(cwd, commitSha);
812
+ return {
813
+ approvals,
814
+ distinctApprovers: (0, manual_approvals_1.countDistinctApprovers)(approvals),
815
+ };
816
+ }
647
817
  function getPrimaryGitRemoteUrl(cwd) {
648
818
  const remote = runGit(cwd, ['remote', 'get-url', 'origin']);
649
819
  if (remote.code !== 0)
@@ -1613,8 +1783,64 @@ async function shipCommand(goal, options) {
1613
1783
  });
1614
1784
  }
1615
1785
  const finalVerifyPayload = verifyPayload;
1616
- const verifyPassedFinal = verifyExitCode === 0 &&
1786
+ let verifyPassedFinal = verifyExitCode === 0 &&
1617
1787
  (finalVerifyPayload.verdict === 'PASS' || (!requirePass && isInfoOnlyGovernanceResult(finalVerifyPayload)));
1788
+ const manualApprovalBypass = options.manualApproveHighRisk === true || process.env.NEURCODE_MANUAL_APPROVE_HIGH_RISK === '1';
1789
+ const governanceDecision = finalVerifyPayload.governanceDecision?.decision;
1790
+ const orgGovernance = finalVerifyPayload.orgGovernance || null;
1791
+ const orgManualApprovalRequired = orgGovernance?.requireManualApproval === true;
1792
+ const minimumManualApprovals = orgGovernance
1793
+ ? Math.max(1, Math.min(5, Math.floor(orgGovernance.minimumManualApprovals || 1)))
1794
+ : 1;
1795
+ const approvalHeadSha = getHeadSha(cwd);
1796
+ const manualApprovalState = approvalHeadSha
1797
+ ? resolveDistinctManualApprovers(cwd, approvalHeadSha)
1798
+ : { approvals: [], distinctApprovers: 0 };
1799
+ if (verifyPassedFinal && governanceDecision === 'block') {
1800
+ verifyPassedFinal = false;
1801
+ verifyExitCode = verifyExitCode === 0 ? 2 : verifyExitCode;
1802
+ remediationActions.push('governance_decision_block');
1803
+ const summary = finalVerifyPayload.governanceDecision?.summary || 'Governance decision matrix returned BLOCK.';
1804
+ finalVerifyPayload.message = `${finalVerifyPayload.message || 'Governance verification completed.'} ${summary}`;
1805
+ console.log(chalk.red('\n⛔ Ship blocked by governance decision matrix (BLOCK).'));
1806
+ if (finalVerifyPayload.governanceDecision?.reasonCodes?.length) {
1807
+ console.log(chalk.dim(` Reasons: ${finalVerifyPayload.governanceDecision.reasonCodes.join(', ')}`));
1808
+ }
1809
+ }
1810
+ const requiresManualApproval = governanceDecision === 'manual_approval' ||
1811
+ (!governanceDecision && finalVerifyPayload.blastRadius?.riskScore === 'high');
1812
+ let effectiveDistinctApprovers = manualApprovalState.distinctApprovers;
1813
+ if (orgManualApprovalRequired && manualApprovalBypass) {
1814
+ // Backward-compatible flag counts as the current operator approval in enterprise mode.
1815
+ effectiveDistinctApprovers += 1;
1816
+ }
1817
+ const manualApprovalSatisfied = orgManualApprovalRequired
1818
+ ? effectiveDistinctApprovers >= minimumManualApprovals
1819
+ : manualApprovalBypass;
1820
+ if (verifyPassedFinal && requiresManualApproval && !manualApprovalSatisfied) {
1821
+ verifyPassedFinal = false;
1822
+ verifyExitCode = verifyExitCode === 0 ? 2 : verifyExitCode;
1823
+ remediationActions.push('governance_manual_approval_required');
1824
+ const summary = finalVerifyPayload.governanceDecision?.summary ||
1825
+ 'High blast-radius risk requires manual approval before ship can continue.';
1826
+ finalVerifyPayload.message = `${finalVerifyPayload.message || 'Governance verification completed.'} ${summary}`;
1827
+ console.log(chalk.red('\n⛔ Ship blocked: governance requires manual approval before deploy.'));
1828
+ if (orgManualApprovalRequired) {
1829
+ const recordedCount = manualApprovalState.distinctApprovers;
1830
+ console.log(chalk.dim(` Manual approvals required: ${minimumManualApprovals}, recorded: ${recordedCount}${manualApprovalBypass ? ' (+1 current operator flag)' : ''}`));
1831
+ if (approvalHeadSha) {
1832
+ console.log(chalk.dim(` Commit: ${approvalHeadSha}`));
1833
+ }
1834
+ console.log(chalk.dim(' Record approvals with `neurcode approve --reason "<review context>"`.'));
1835
+ console.log(chalk.dim(' Then re-run `neurcode ship ...` to continue.'));
1836
+ }
1837
+ else {
1838
+ console.log(chalk.dim(' Re-run with --manual-approve-high-risk after manual review.'));
1839
+ }
1840
+ if (typeof finalVerifyPayload.governanceDecision?.averageRelevanceScore === 'number') {
1841
+ console.log(chalk.dim(` Avg relevance score: ${finalVerifyPayload.governanceDecision.averageRelevanceScore}`));
1842
+ }
1843
+ }
1618
1844
  if (verifyPassedFinal && !options.skipTests) {
1619
1845
  testsAttempts += 1;
1620
1846
  if (!testCommand) {
@@ -2182,6 +2408,7 @@ async function shipResumeCommand(runId, options) {
2182
2408
  requirePass: options.requirePass ?? checkpoint.options.requirePass,
2183
2409
  requirePolicyLock: options.requirePolicyLock ?? checkpoint.options.requirePolicyLock,
2184
2410
  skipPolicyLock: options.skipPolicyLock ?? checkpoint.options.skipPolicyLock,
2411
+ manualApproveHighRisk: options.manualApproveHighRisk ?? checkpoint.options.manualApproveHighRisk,
2185
2412
  publishCard: options.publishCard ?? checkpoint.options.publishCard,
2186
2413
  json: options.json === true,
2187
2414
  resumeRunId: checkpoint.runId,