@saferun/cli 0.3.9 → 0.5.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.
- package/dist/commands/hook.js +9 -7
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/init.js +1 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/uninstall.js +2 -1
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/hooks/hook-runner.js +65 -158
- package/dist/hooks/hook-runner.js.map +1 -1
- package/dist/interceptors/branch-delete.js +68 -208
- package/dist/interceptors/branch-delete.js.map +1 -1
- package/dist/interceptors/force-push.d.ts +2 -0
- package/dist/interceptors/force-push.js +177 -0
- package/dist/interceptors/force-push.js.map +1 -0
- package/dist/utils/api-client.js +15 -0
- package/dist/utils/api-client.js.map +1 -1
- package/dist/utils/config.js +1 -1
- package/dist/utils/config.js.map +1 -1
- package/package.json +4 -4
|
@@ -30,8 +30,9 @@ function parseBranchArgs(args) {
|
|
|
30
30
|
return { branches, force };
|
|
31
31
|
}
|
|
32
32
|
async function interceptBranchDelete(context) {
|
|
33
|
-
var _a, _b
|
|
33
|
+
var _a, _b;
|
|
34
34
|
const { branches, force } = parseBranchArgs(context.args);
|
|
35
|
+
// If no branches to delete, just run the command
|
|
35
36
|
if (branches.length === 0) {
|
|
36
37
|
return (0, git_1.runGitCommand)(['branch', ...context.args], {
|
|
37
38
|
cwd: context.gitInfo.repoRoot,
|
|
@@ -39,146 +40,51 @@ async function interceptBranchDelete(context) {
|
|
|
39
40
|
});
|
|
40
41
|
}
|
|
41
42
|
const repoSlug = context.config.github.repo === 'auto' ? (_a = context.gitInfo.repoSlug) !== null && _a !== void 0 ? _a : 'local/repo' : context.config.github.repo;
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
const githubToken = process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
|
|
44
|
+
if (!githubToken) {
|
|
45
|
+
console.error(chalk_1.default.red('GitHub token not found. Set GITHUB_TOKEN or GH_TOKEN environment variable.'));
|
|
46
|
+
return 1;
|
|
47
|
+
}
|
|
45
48
|
const approvals = [];
|
|
46
49
|
for (const branchName of branches) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
context.metrics.track('operation_allowed', {
|
|
51
|
-
hook: 'alias:branch',
|
|
52
|
-
operation_type: 'branch_delete',
|
|
53
|
-
repo: repoSlug,
|
|
54
|
-
branch: branchName,
|
|
55
|
-
reason: 'branch_rule_skip_checks',
|
|
56
|
-
}).catch(() => undefined);
|
|
57
|
-
await (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
|
|
58
|
-
event: 'branch_delete',
|
|
59
|
-
operation: 'branch_delete',
|
|
60
|
-
repo: repoSlug,
|
|
61
|
-
branch: branchName,
|
|
62
|
-
outcome: 'skip_checks',
|
|
63
|
-
});
|
|
64
|
-
continue;
|
|
65
|
-
}
|
|
66
|
-
const { ahead } = await (0, git_1.getAheadBehind)(branchName, defaultBranch, context.gitInfo.repoRoot);
|
|
67
|
-
const reasons = [];
|
|
68
|
-
if (protectedBranch)
|
|
69
|
-
reasons.push('protected_branch');
|
|
70
|
-
if (force)
|
|
71
|
-
reasons.push('force_delete');
|
|
72
|
-
if (ahead > 0)
|
|
73
|
-
reasons.push(`unmerged_commits:${ahead}`);
|
|
74
|
-
if (branchRule === null || branchRule === void 0 ? void 0 : branchRule.risk_level)
|
|
75
|
-
reasons.push(`branch_rule_risk:${branchRule.risk_level}`);
|
|
76
|
-
const humanPreview = protectedBranch
|
|
77
|
-
? `Delete protected branch ${branchName}${ahead > 0 ? ` with ${ahead} unmerged commits` : ''}`
|
|
78
|
-
: `Delete branch ${branchName}${ahead > 0 ? ` with ${ahead} unmerged commits` : ''}`;
|
|
79
|
-
let riskScore = protectedBranch ? 9 : force ? 7.5 : 6;
|
|
80
|
-
riskScore += Math.min(ahead * 0.4, 2);
|
|
81
|
-
if ((branchRule === null || branchRule === void 0 ? void 0 : branchRule.risk_level) === 'low')
|
|
82
|
-
riskScore = Math.min(riskScore, 5);
|
|
83
|
-
if ((branchRule === null || branchRule === void 0 ? void 0 : branchRule.risk_level) === 'high')
|
|
84
|
-
riskScore = Math.max(riskScore, 8.5);
|
|
85
|
-
if ((rule === null || rule === void 0 ? void 0 : rule.risk_score) != null)
|
|
86
|
-
riskScore = rule.risk_score;
|
|
87
|
-
riskScore = clampRisk(riskScore);
|
|
88
|
-
const excludedByRule = (_f = rule === null || rule === void 0 ? void 0 : rule.exclude_patterns) === null || _f === void 0 ? void 0 : _f.some((pattern) => (0, git_1.matchesBranchPattern)(branchName, pattern));
|
|
89
|
-
if (excludedByRule) {
|
|
90
|
-
context.metrics.track('operation_allowed', {
|
|
91
|
-
hook: 'alias:branch',
|
|
92
|
-
operation_type: 'branch_delete',
|
|
93
|
-
repo: repoSlug,
|
|
94
|
-
branch: branchName,
|
|
95
|
-
reason: 'rule_excluded',
|
|
96
|
-
}).catch(() => undefined);
|
|
97
|
-
await (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
|
|
98
|
-
event: 'branch_delete',
|
|
99
|
-
operation: 'branch_delete',
|
|
50
|
+
try {
|
|
51
|
+
// Call SafeRun API to check if branch delete needs approval
|
|
52
|
+
const dryRun = await context.client.deleteGithubBranch({
|
|
100
53
|
repo: repoSlug,
|
|
101
54
|
branch: branchName,
|
|
102
|
-
|
|
55
|
+
githubToken,
|
|
56
|
+
webhookUrl: (_b = context.config.notifications) === null || _b === void 0 ? void 0 : _b.webhook_url,
|
|
103
57
|
});
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
const enforcement = resolveEnforcement(context.modeSettings, rule === null || rule === void 0 ? void 0 : rule.action, 'require_approval');
|
|
107
|
-
if (enforcement.action === 'allow' || enforcement.action === 'warn') {
|
|
108
|
-
if (enforcement.action === 'warn' || ((_g = context.modeSettings) === null || _g === void 0 ? void 0 : _g.show_warnings)) {
|
|
109
|
-
console.warn(chalk_1.default.yellow(`SafeRun warning: deleting branch '${branchName}'.`));
|
|
110
|
-
}
|
|
111
|
-
context.metrics.track('operation_allowed', {
|
|
58
|
+
// Track the operation
|
|
59
|
+
context.metrics.track('branch_delete_check', {
|
|
112
60
|
hook: 'alias:branch',
|
|
113
61
|
operation_type: 'branch_delete',
|
|
114
62
|
repo: repoSlug,
|
|
115
63
|
branch: branchName,
|
|
116
|
-
|
|
64
|
+
needs_approval: dryRun.needsApproval,
|
|
65
|
+
change_id: dryRun.changeId,
|
|
117
66
|
}).catch(() => undefined);
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
operation: 'branch_delete',
|
|
121
|
-
repo: repoSlug,
|
|
122
|
-
branch: branchName,
|
|
123
|
-
outcome: enforcement.action === 'warn' ? 'policy_warn' : 'policy_allow',
|
|
124
|
-
});
|
|
125
|
-
continue;
|
|
126
|
-
}
|
|
127
|
-
const requiresApproval = enforcement.requiresApproval || enforcement.shouldBlock;
|
|
128
|
-
const command = `git branch ${force ? '-D' : '-d'} ${branchName}`;
|
|
129
|
-
try {
|
|
130
|
-
const dryRun = await context.client.gitOperation({
|
|
131
|
-
operationType: 'branch_delete',
|
|
132
|
-
target: `${repoSlug}#${branchName}`,
|
|
133
|
-
command,
|
|
134
|
-
metadata: {
|
|
135
|
-
repo: repoSlug,
|
|
136
|
-
branch: branchName,
|
|
137
|
-
protectedBranch,
|
|
138
|
-
force,
|
|
139
|
-
unmergedCommits: ahead,
|
|
140
|
-
},
|
|
141
|
-
riskScore: riskScore / 10,
|
|
142
|
-
humanPreview,
|
|
143
|
-
requiresApproval,
|
|
144
|
-
reasons,
|
|
145
|
-
});
|
|
146
|
-
if (!dryRun.needsApproval && !enforcement.shouldBlock) {
|
|
67
|
+
// If no approval needed, API will handle it automatically
|
|
68
|
+
if (!dryRun.needsApproval) {
|
|
147
69
|
context.metrics.track('operation_allowed', {
|
|
148
70
|
hook: 'alias:branch',
|
|
149
71
|
operation_type: 'branch_delete',
|
|
150
72
|
repo: repoSlug,
|
|
151
73
|
branch: branchName,
|
|
152
|
-
reason: '
|
|
74
|
+
reason: 'api_auto_execute',
|
|
153
75
|
}).catch(() => undefined);
|
|
154
76
|
await (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
|
|
155
77
|
event: 'branch_delete',
|
|
156
78
|
operation: 'branch_delete',
|
|
157
79
|
repo: repoSlug,
|
|
158
80
|
branch: branchName,
|
|
159
|
-
outcome: '
|
|
81
|
+
outcome: 'auto_execute',
|
|
82
|
+
change_id: dryRun.changeId,
|
|
160
83
|
});
|
|
84
|
+
console.log(chalk_1.default.green(`✓ Branch '${branchName}' will be deleted (auto-executed by API, revert available for 2h)`));
|
|
161
85
|
continue;
|
|
162
86
|
}
|
|
163
|
-
|
|
164
|
-
console.error(chalk_1.default.red(`SafeRun policy blocks deletion of '${branchName}'.`));
|
|
165
|
-
context.metrics.track('operation_blocked', {
|
|
166
|
-
hook: 'alias:branch',
|
|
167
|
-
operation_type: 'branch_delete',
|
|
168
|
-
repo: repoSlug,
|
|
169
|
-
branch: branchName,
|
|
170
|
-
reason: 'policy_block',
|
|
171
|
-
}).catch(() => undefined);
|
|
172
|
-
await (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
|
|
173
|
-
event: 'branch_delete',
|
|
174
|
-
operation: 'branch_delete',
|
|
175
|
-
repo: repoSlug,
|
|
176
|
-
branch: branchName,
|
|
177
|
-
outcome: 'blocked',
|
|
178
|
-
reason: 'policy_block',
|
|
179
|
-
});
|
|
180
|
-
return 1;
|
|
181
|
-
}
|
|
87
|
+
// Request approval through SafeRun flow
|
|
182
88
|
const flow = new approval_flow_1.ApprovalFlow({
|
|
183
89
|
client: context.client,
|
|
184
90
|
metrics: context.metrics,
|
|
@@ -187,36 +93,33 @@ async function interceptBranchDelete(context) {
|
|
|
187
93
|
});
|
|
188
94
|
const outcome = await flow.requestApproval(dryRun);
|
|
189
95
|
if (outcome !== approval_flow_1.ApprovalOutcome.Approved && outcome !== approval_flow_1.ApprovalOutcome.Bypassed) {
|
|
190
|
-
|
|
191
|
-
changeId: dryRun.changeId,
|
|
192
|
-
status: 'cancelled',
|
|
193
|
-
metadata: { branch: branchName, repo: repoSlug },
|
|
194
|
-
});
|
|
96
|
+
console.error(chalk_1.default.red(`✗ SafeRun blocked deletion of branch '${branchName}' (${outcome})`));
|
|
195
97
|
await (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
|
|
196
98
|
event: 'branch_delete',
|
|
197
99
|
operation: 'branch_delete',
|
|
198
100
|
repo: repoSlug,
|
|
199
101
|
branch: branchName,
|
|
200
102
|
outcome: 'cancelled',
|
|
103
|
+
change_id: dryRun.changeId,
|
|
201
104
|
});
|
|
202
|
-
console.error(chalk_1.default.red(`SafeRun blocked deletion of branch '${branchName}'.`));
|
|
203
105
|
return 1;
|
|
204
106
|
}
|
|
205
107
|
approvals.push({
|
|
206
108
|
branch: branchName,
|
|
207
109
|
changeId: dryRun.changeId,
|
|
208
|
-
|
|
110
|
+
bypassed: outcome === approval_flow_1.ApprovalOutcome.Bypassed,
|
|
209
111
|
});
|
|
112
|
+
console.log(chalk_1.default.green(`✓ Branch '${branchName}' approved for deletion`));
|
|
210
113
|
}
|
|
211
114
|
catch (error) {
|
|
212
115
|
const message = error instanceof Error ? error.message : String(error);
|
|
213
|
-
console.error(chalk_1.default.red(`SafeRun error
|
|
214
|
-
context.metrics.track('
|
|
116
|
+
console.error(chalk_1.default.red(`SafeRun API error for branch '${branchName}': ${message}`));
|
|
117
|
+
context.metrics.track('operation_error', {
|
|
215
118
|
hook: 'alias:branch',
|
|
216
119
|
operation_type: 'branch_delete',
|
|
217
120
|
repo: repoSlug,
|
|
218
121
|
branch: branchName,
|
|
219
|
-
|
|
122
|
+
error: message,
|
|
220
123
|
}).catch(() => undefined);
|
|
221
124
|
await (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
|
|
222
125
|
event: 'branch_delete',
|
|
@@ -226,91 +129,48 @@ async function interceptBranchDelete(context) {
|
|
|
226
129
|
outcome: 'api_error',
|
|
227
130
|
error: message,
|
|
228
131
|
});
|
|
132
|
+
return 1;
|
|
229
133
|
}
|
|
230
134
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
await context.client.confirmGitOperation({
|
|
237
|
-
changeId: approval.changeId,
|
|
238
|
-
status: exitCode === 0 ? 'applied' : 'failed',
|
|
239
|
-
metadata: exitCode === 0 ? approval.metadata : { ...approval.metadata, exitCode },
|
|
135
|
+
// Execute git branch delete for approved branches
|
|
136
|
+
if (approvals.length > 0) {
|
|
137
|
+
const exitCode = await (0, git_1.runGitCommand)(['branch', ...context.args], {
|
|
138
|
+
cwd: context.gitInfo.repoRoot,
|
|
139
|
+
disableAliases: ['branch'],
|
|
240
140
|
});
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
operation: 'branch_delete',
|
|
272
|
-
repo: repoSlug,
|
|
273
|
-
branch: branchName,
|
|
274
|
-
outcome: 'failed',
|
|
275
|
-
exitCode,
|
|
276
|
-
});
|
|
141
|
+
// Log execution results
|
|
142
|
+
for (const approval of approvals) {
|
|
143
|
+
if (exitCode === 0) {
|
|
144
|
+
context.metrics.track('operation_executed', {
|
|
145
|
+
hook: 'alias:branch',
|
|
146
|
+
operation_type: 'branch_delete',
|
|
147
|
+
repo: repoSlug,
|
|
148
|
+
branch: approval.branch,
|
|
149
|
+
change_id: approval.changeId,
|
|
150
|
+
}).catch(() => undefined);
|
|
151
|
+
await (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
|
|
152
|
+
event: 'branch_delete',
|
|
153
|
+
operation: 'branch_delete',
|
|
154
|
+
repo: repoSlug,
|
|
155
|
+
branch: approval.branch,
|
|
156
|
+
outcome: 'executed',
|
|
157
|
+
change_id: approval.changeId,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
await (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
|
|
162
|
+
event: 'branch_delete',
|
|
163
|
+
operation: 'branch_delete',
|
|
164
|
+
repo: repoSlug,
|
|
165
|
+
branch: approval.branch,
|
|
166
|
+
outcome: 'failed',
|
|
167
|
+
exitCode,
|
|
168
|
+
change_id: approval.changeId,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
277
171
|
}
|
|
172
|
+
return exitCode;
|
|
278
173
|
}
|
|
279
|
-
return
|
|
280
|
-
}
|
|
281
|
-
function resolveEnforcement(modeSettings, ruleAction, defaultAction) {
|
|
282
|
-
var _a;
|
|
283
|
-
if ((modeSettings === null || modeSettings === void 0 ? void 0 : modeSettings.block_operations) === false) {
|
|
284
|
-
const warn = (modeSettings === null || modeSettings === void 0 ? void 0 : modeSettings.show_warnings) === true;
|
|
285
|
-
return {
|
|
286
|
-
action: warn ? 'warn' : 'allow',
|
|
287
|
-
requiresApproval: false,
|
|
288
|
-
shouldBlock: false,
|
|
289
|
-
};
|
|
290
|
-
}
|
|
291
|
-
let action = (_a = ruleAction) !== null && _a !== void 0 ? _a : defaultAction;
|
|
292
|
-
if (action === 'warn' && (modeSettings === null || modeSettings === void 0 ? void 0 : modeSettings.show_warnings) === false) {
|
|
293
|
-
action = 'allow';
|
|
294
|
-
}
|
|
295
|
-
if (action === 'require_approval' && (modeSettings === null || modeSettings === void 0 ? void 0 : modeSettings.require_approval) === false) {
|
|
296
|
-
action = (modeSettings === null || modeSettings === void 0 ? void 0 : modeSettings.show_warnings) ? 'warn' : 'allow';
|
|
297
|
-
}
|
|
298
|
-
switch (action) {
|
|
299
|
-
case 'allow':
|
|
300
|
-
return { action: 'allow', requiresApproval: false, shouldBlock: false };
|
|
301
|
-
case 'warn':
|
|
302
|
-
return { action: 'warn', requiresApproval: false, shouldBlock: false };
|
|
303
|
-
case 'block':
|
|
304
|
-
return { action: 'block', requiresApproval: true, shouldBlock: true };
|
|
305
|
-
case 'require_approval':
|
|
306
|
-
default:
|
|
307
|
-
return { action: 'require_approval', requiresApproval: true, shouldBlock: false };
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
function clampRisk(score) {
|
|
311
|
-
if (Number.isNaN(score)) {
|
|
312
|
-
return 0;
|
|
313
|
-
}
|
|
314
|
-
return Math.min(10, Math.max(0, score));
|
|
174
|
+
return 0;
|
|
315
175
|
}
|
|
316
176
|
//# sourceMappingURL=branch-delete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-delete.js","sourceRoot":"","sources":["../../src/interceptors/branch-delete.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"branch-delete.js","sourceRoot":"","sources":["../../src/interceptors/branch-delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.interceptForcePush = interceptForcePush;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const approval_flow_1 = require("../utils/approval-flow");
|
|
9
|
+
const git_1 = require("../utils/git");
|
|
10
|
+
const logger_1 = require("../utils/logger");
|
|
11
|
+
function parsePushArgs(args) {
|
|
12
|
+
let remote = 'origin';
|
|
13
|
+
let branch = '';
|
|
14
|
+
let isForce = false;
|
|
15
|
+
// Check for --force or -f flag
|
|
16
|
+
for (const arg of args) {
|
|
17
|
+
if (arg === '--force' || arg === '-f' || arg === '--force-with-lease') {
|
|
18
|
+
isForce = true;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
// If not force push, skip interception
|
|
22
|
+
if (!isForce) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
// Parse remote and branch
|
|
26
|
+
const nonFlags = args.filter((arg) => !arg.startsWith('-'));
|
|
27
|
+
if (nonFlags.length > 0) {
|
|
28
|
+
remote = nonFlags[0];
|
|
29
|
+
}
|
|
30
|
+
if (nonFlags.length > 1) {
|
|
31
|
+
branch = nonFlags[1];
|
|
32
|
+
}
|
|
33
|
+
// If no branch specified, get current branch
|
|
34
|
+
if (!branch) {
|
|
35
|
+
try {
|
|
36
|
+
const { execSync } = require('child_process');
|
|
37
|
+
branch = execSync('git rev-parse --abbrev-ref HEAD', { encoding: 'utf-8' }).trim();
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
branch = 'HEAD';
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return { remote, branch, isForce };
|
|
44
|
+
}
|
|
45
|
+
async function interceptForcePush(context) {
|
|
46
|
+
var _a, _b;
|
|
47
|
+
const params = parsePushArgs(context.args);
|
|
48
|
+
// If not force push, run normally
|
|
49
|
+
if (!params || !params.isForce) {
|
|
50
|
+
return (0, git_1.runGitCommand)(['push', ...context.args], {
|
|
51
|
+
cwd: context.gitInfo.repoRoot,
|
|
52
|
+
disableAliases: ['push'],
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
const repoSlug = context.config.github.repo === 'auto' ? (_a = context.gitInfo.repoSlug) !== null && _a !== void 0 ? _a : 'local/repo' : context.config.github.repo;
|
|
56
|
+
const githubToken = process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
|
|
57
|
+
if (!githubToken) {
|
|
58
|
+
console.error(chalk_1.default.red('GitHub token not found. Set GITHUB_TOKEN or GH_TOKEN environment variable.'));
|
|
59
|
+
return 1;
|
|
60
|
+
}
|
|
61
|
+
console.log(chalk_1.default.yellow(`⚠️ Force push detected: ${params.remote}/${params.branch}`));
|
|
62
|
+
console.log(chalk_1.default.yellow(' This is a DANGEROUS operation - it rewrites history!'));
|
|
63
|
+
try {
|
|
64
|
+
// Get current commit SHA
|
|
65
|
+
let commitSha;
|
|
66
|
+
try {
|
|
67
|
+
const { execSync } = require('child_process');
|
|
68
|
+
commitSha = execSync('git rev-parse HEAD', { encoding: 'utf-8' }).trim();
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
commitSha = 'unknown';
|
|
72
|
+
}
|
|
73
|
+
// Call SafeRun API to check if force push needs approval
|
|
74
|
+
const dryRun = await context.client.forcePushGithub({
|
|
75
|
+
repo: repoSlug,
|
|
76
|
+
branch: params.branch,
|
|
77
|
+
githubToken,
|
|
78
|
+
reason: `Force push to ${params.branch} (rewrites history)`,
|
|
79
|
+
webhookUrl: (_b = context.config.notifications) === null || _b === void 0 ? void 0 : _b.webhook_url,
|
|
80
|
+
});
|
|
81
|
+
// Track the operation
|
|
82
|
+
context.metrics.track('force_push_check', {
|
|
83
|
+
hook: 'alias:push',
|
|
84
|
+
operation_type: 'force_push',
|
|
85
|
+
repo: repoSlug,
|
|
86
|
+
branch: params.branch,
|
|
87
|
+
needs_approval: dryRun.needsApproval,
|
|
88
|
+
change_id: dryRun.changeId,
|
|
89
|
+
commit_sha: commitSha,
|
|
90
|
+
}).catch(() => undefined);
|
|
91
|
+
// Force push ALWAYS requires approval (IRREVERSIBLE)
|
|
92
|
+
if (!dryRun.needsApproval) {
|
|
93
|
+
console.log(chalk_1.default.red('⚠️ CRITICAL: Force push should ALWAYS require approval!'));
|
|
94
|
+
console.log(chalk_1.default.red(' This is a bug - contact SafeRun support.'));
|
|
95
|
+
return 1;
|
|
96
|
+
}
|
|
97
|
+
// Request approval through SafeRun flow
|
|
98
|
+
const flow = new approval_flow_1.ApprovalFlow({
|
|
99
|
+
client: context.client,
|
|
100
|
+
metrics: context.metrics,
|
|
101
|
+
config: context.config,
|
|
102
|
+
modeSettings: context.modeSettings,
|
|
103
|
+
});
|
|
104
|
+
const outcome = await flow.requestApproval(dryRun);
|
|
105
|
+
if (outcome !== approval_flow_1.ApprovalOutcome.Approved && outcome !== approval_flow_1.ApprovalOutcome.Bypassed) {
|
|
106
|
+
console.error(chalk_1.default.red(`✗ SafeRun blocked force push to '${params.branch}' (${outcome})`));
|
|
107
|
+
await (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
|
|
108
|
+
event: 'force_push',
|
|
109
|
+
operation: 'force_push',
|
|
110
|
+
repo: repoSlug,
|
|
111
|
+
branch: params.branch,
|
|
112
|
+
outcome: 'cancelled',
|
|
113
|
+
change_id: dryRun.changeId,
|
|
114
|
+
});
|
|
115
|
+
context.metrics.track('operation_blocked', {
|
|
116
|
+
hook: 'alias:push',
|
|
117
|
+
operation_type: 'force_push',
|
|
118
|
+
repo: repoSlug,
|
|
119
|
+
branch: params.branch,
|
|
120
|
+
outcome,
|
|
121
|
+
}).catch(() => undefined);
|
|
122
|
+
return 1;
|
|
123
|
+
}
|
|
124
|
+
// Approved - execute force push
|
|
125
|
+
console.log(chalk_1.default.green(`✓ Force push approved - executing...`));
|
|
126
|
+
await (0, logger_1.logOperation)(context.gitInfo.repoRoot, {
|
|
127
|
+
event: 'force_push',
|
|
128
|
+
operation: 'force_push',
|
|
129
|
+
repo: repoSlug,
|
|
130
|
+
branch: params.branch,
|
|
131
|
+
outcome: 'approved',
|
|
132
|
+
change_id: dryRun.changeId,
|
|
133
|
+
});
|
|
134
|
+
context.metrics.track('operation_approved', {
|
|
135
|
+
hook: 'alias:push',
|
|
136
|
+
operation_type: 'force_push',
|
|
137
|
+
repo: repoSlug,
|
|
138
|
+
branch: params.branch,
|
|
139
|
+
}).catch(() => undefined);
|
|
140
|
+
// Execute the force push
|
|
141
|
+
// 3. Execute push command
|
|
142
|
+
const exitCode = await (0, git_1.runGitCommand)(['push', ...context.args], {
|
|
143
|
+
cwd: context.gitInfo.repoRoot,
|
|
144
|
+
disableAliases: ['push'],
|
|
145
|
+
});
|
|
146
|
+
if (exitCode === 0) {
|
|
147
|
+
console.log(chalk_1.default.green(`✓ Force pushed to ${params.remote}/${params.branch}`));
|
|
148
|
+
console.log(chalk_1.default.yellow(`⚠️ History has been rewritten - other users will need to force pull!`));
|
|
149
|
+
// Confirm execution to SafeRun
|
|
150
|
+
try {
|
|
151
|
+
// Record execution
|
|
152
|
+
await context.client.applyChange(dryRun.changeId, true);
|
|
153
|
+
}
|
|
154
|
+
catch (err) {
|
|
155
|
+
console.warn(chalk_1.default.yellow('Warning: Failed to confirm execution to SafeRun'));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return exitCode;
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
console.error(chalk_1.default.red(`✗ SafeRun force push check failed: ${error.message}`));
|
|
162
|
+
context.metrics.track('operation_error', {
|
|
163
|
+
hook: 'alias:push',
|
|
164
|
+
operation_type: 'force_push',
|
|
165
|
+
repo: repoSlug,
|
|
166
|
+
branch: params.branch,
|
|
167
|
+
error: error.message,
|
|
168
|
+
}).catch(() => undefined);
|
|
169
|
+
// In case of API error, allow the operation (fail-open)
|
|
170
|
+
console.log(chalk_1.default.yellow('⚠️ Proceeding without SafeRun protection due to error'));
|
|
171
|
+
return (0, git_1.runGitCommand)(['push', ...context.args], {
|
|
172
|
+
cwd: context.gitInfo.repoRoot,
|
|
173
|
+
disableAliases: ['push'],
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=force-push.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"force-push.js","sourceRoot":"","sources":["../../src/interceptors/force-push.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/api-client.js
CHANGED
|
@@ -60,6 +60,21 @@ class OnlineClientWithFallback {
|
|
|
60
60
|
this.cache = options.cache;
|
|
61
61
|
this.defaultAction = options.defaultAction;
|
|
62
62
|
this.cacheDuration = options.cacheDuration;
|
|
63
|
+
// Return a proxy that forwards all methods to onlineClient
|
|
64
|
+
return new Proxy(this, {
|
|
65
|
+
get(target, prop, receiver) {
|
|
66
|
+
// If method exists on target (OnlineClientWithFallback), use it
|
|
67
|
+
if (prop in target) {
|
|
68
|
+
return Reflect.get(target, prop, receiver);
|
|
69
|
+
}
|
|
70
|
+
// Otherwise, forward to onlineClient (SafeRunClient)
|
|
71
|
+
const value = target.onlineClient[prop];
|
|
72
|
+
if (typeof value === 'function') {
|
|
73
|
+
return value.bind(target.onlineClient);
|
|
74
|
+
}
|
|
75
|
+
return value;
|
|
76
|
+
},
|
|
77
|
+
});
|
|
63
78
|
}
|
|
64
79
|
async gitOperation(params) {
|
|
65
80
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":";;;AASA,kDAwCC;AAED,sCAUC;AA7DD,sCAA6C;AAS7C,SAAgB,mBAAmB,CAAC,OAA6B;;IAC/D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAElC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;IAE5C,6DAA6D;IAC7D,IAAI,CAAC,MAAM,KAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAA,EAAE,CAAC;QACpC,OAAO,IAAI,aAAa,CAAC;YACvB,KAAK;YACL,aAAa,EAAE,MAAA,WAAW,CAAC,cAAc,mCAAI,OAAO;YACpD,aAAa,EAAE,MAAA,WAAW,CAAC,cAAc,mCAAI,IAAI;SAClD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,GAAG,CAAC,OAAO,mCAAI,IAAI,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,GAAG,CAAC,WAAW,mCAAI,CAAC,CAAC;IAE5C,2DAA2D;IAC3D,MAAM,MAAM,GAAG,IAAI,mBAAa,CAAC;QAC/B,MAAM;QACN,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG;QACtB,OAAO;QACP,UAAU,EAAE,OAAO;KACpB,CAAC,CAAC;IAEH,wCAAwC;IACxC,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,wBAAwB,CAAC,MAAM,EAAE;YAC1C,KAAK;YACL,aAAa,EAAE,MAAA,WAAW,CAAC,cAAc,mCAAI,OAAO;YACpD,aAAa,EAAE,MAAA,WAAW,CAAC,cAAc,mCAAI,IAAI;SAClD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,aAAa,CAAC,MAAqB;IACjD,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACrF,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;IACxB,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1E,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACrC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,wBAAwB;IAM5B,YACE,YAA2B,EAC3B,OAAqG;QAErG,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/utils/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/config.js
CHANGED
|
@@ -63,7 +63,7 @@ const DEFAULT_CONFIG = {
|
|
|
63
63
|
error_handling: {
|
|
64
64
|
'403_forbidden': {
|
|
65
65
|
action: 'block',
|
|
66
|
-
message: '🚫 API limit exceeded - operations blocked for safety.\n\nOptions:\n • Upgrade your plan at https://saferun-landing.vercel.app\n • Wait for limit reset (resets monthly)\n •
|
|
66
|
+
message: '🚫 API limit exceeded - operations blocked for safety.\n\nOptions:\n • Upgrade your plan at https://saferun-landing.vercel.app\n • Wait for limit reset (resets monthly)\n • Uninstall completely: npx saferun uninstall',
|
|
67
67
|
},
|
|
68
68
|
'500_server_error': {
|
|
69
69
|
action: 'warn',
|