@saferun/cli 0.6.14 → 0.6.16

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.
@@ -13,6 +13,7 @@ export declare class DoctorCommand {
13
13
  private checkGitHubApp;
14
14
  private checkGitHooks;
15
15
  private checkShellWrapper;
16
+ private checkBinaryWrapper;
16
17
  private checkFilePermissions;
17
18
  private printResults;
18
19
  private fetchWithTimeout;
@@ -17,6 +17,7 @@ const global_config_1 = require("../utils/global-config");
17
17
  const protected_repos_1 = require("../utils/protected-repos");
18
18
  const installer_1 = require("../hooks/installer");
19
19
  const credentials_1 = require("../utils/credentials");
20
+ const binary_wrapper_1 = require("../utils/binary-wrapper");
20
21
  const SAFERUN_API_URL = 'https://saferun-api.up.railway.app';
21
22
  class DoctorCommand {
22
23
  constructor() {
@@ -33,6 +34,7 @@ class DoctorCommand {
33
34
  await this.checkGitHubApp();
34
35
  await this.checkGitHooks();
35
36
  await this.checkShellWrapper();
37
+ await this.checkBinaryWrapper();
36
38
  // Note: .gitignore check removed - config is now in ~/.saferun/ (global)
37
39
  await this.checkFilePermissions();
38
40
  // Print results
@@ -388,6 +390,56 @@ class DoctorCommand {
388
390
  });
389
391
  }
390
392
  }
393
+ async checkBinaryWrapper() {
394
+ const isRepo = await (0, git_1.isGitRepository)();
395
+ if (!isRepo) {
396
+ this.checks.push({
397
+ name: 'Binary Wrapper',
398
+ status: 'skip',
399
+ message: 'Not in a git repository',
400
+ });
401
+ return;
402
+ }
403
+ const gitInfo = await (0, git_1.getGitInfo)();
404
+ if (!gitInfo) {
405
+ this.checks.push({
406
+ name: 'Binary Wrapper',
407
+ status: 'skip',
408
+ message: 'Could not get git info',
409
+ });
410
+ return;
411
+ }
412
+ // Check if wrapper file exists
413
+ const hasWrapper = (0, binary_wrapper_1.wrapperExists)(gitInfo.repoRoot);
414
+ if (!hasWrapper) {
415
+ this.checks.push({
416
+ name: 'Binary Wrapper',
417
+ status: 'warn',
418
+ message: 'Not installed',
419
+ detail: 'Run "saferun init" to install protection against direct git calls',
420
+ });
421
+ return;
422
+ }
423
+ // Check if wrapper is in PATH
424
+ const pathCheck = await (0, binary_wrapper_1.checkBinaryWrapperInPath)(gitInfo.repoRoot);
425
+ if (pathCheck.inPath) {
426
+ this.checks.push({
427
+ name: 'Binary Wrapper',
428
+ status: 'ok',
429
+ message: 'Active & in PATH',
430
+ detail: `which git → ${pathCheck.currentGit}`,
431
+ });
432
+ }
433
+ else {
434
+ const exportCmd = (0, binary_wrapper_1.getPathExportCommand)(gitInfo.repoRoot);
435
+ this.checks.push({
436
+ name: 'Binary Wrapper',
437
+ status: 'warn',
438
+ message: 'Installed but NOT in PATH',
439
+ detail: `⚠️ Agents can bypass SafeRun! Run: ${exportCmd}`,
440
+ });
441
+ }
442
+ }
391
443
  async checkFilePermissions() {
392
444
  const credentialsPath = (0, credentials_1.getCredentialsPath)();
393
445
  if (!fs_1.default.existsSync(credentialsPath)) {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ const git_1 = require("../utils/git");
12
12
  const global_config_1 = require("../utils/global-config");
13
13
  const protected_repos_1 = require("../utils/protected-repos");
14
14
  const installer_1 = require("../hooks/installer");
15
+ const binary_wrapper_1 = require("../utils/binary-wrapper");
15
16
  class InitCommand {
16
17
  async run(options) {
17
18
  const cwdIsRepo = await (0, git_1.isGitRepository)();
@@ -40,7 +41,9 @@ class InitCommand {
40
41
  });
41
42
  const hooksInfo = await (0, installer_1.installHooks)({ repoRoot: gitInfo.repoRoot, gitDir: gitInfo.gitDir });
42
43
  await this.configureAliases(gitInfo.repoRoot);
43
- this.printSummary(config, hooksInfo.installed.length, gitInfo.gitDir, gitInfo.repoRoot);
44
+ // Install binary wrapper for agent protection
45
+ const wrapperInfo = await (0, binary_wrapper_1.installBinaryWrapper)(gitInfo.repoRoot);
46
+ this.printSummary(config, hooksInfo.installed.length, gitInfo.gitDir, gitInfo.repoRoot, wrapperInfo.installed);
44
47
  }
45
48
  async configure(config, repoRoot, auto, repoSlug, defaultBranch) {
46
49
  var _a;
@@ -116,17 +119,22 @@ class InitCommand {
116
119
  await (0, git_1.ensureDir)(path_1.default.dirname(backupPath));
117
120
  await fs_1.default.promises.writeFile(backupPath, JSON.stringify(backup, null, 2));
118
121
  }
119
- async printSummary(config, hooksInstalled, gitDir, repoRoot) {
122
+ async printSummary(config, hooksInstalled, gitDir, repoRoot, wrapperInstalled = false) {
120
123
  console.log(chalk_1.default.green('\n✅ SafeRun initialized successfully!\n'));
121
124
  console.log(chalk_1.default.gray('Mode: '), chalk_1.default.bold(config.mode.toUpperCase()));
122
125
  console.log(chalk_1.default.gray('Git hooks: '), hooksInstalled > 0 ? chalk_1.default.green(`${hooksInstalled} installed`) : chalk_1.default.yellow('none installed'));
126
+ console.log(chalk_1.default.gray('Binary wrap: '), wrapperInstalled ? chalk_1.default.green('✓ .saferun/bin/git') : chalk_1.default.yellow('not installed'));
123
127
  console.log(chalk_1.default.gray('Protected: '), chalk_1.default.green('✓ Registered in global registry'));
124
128
  console.log(chalk_1.default.gray('Config: '), chalk_1.default.cyan('~/.saferun/config.yml'));
125
129
  const existingHooks = await (0, git_1.listHooks)(gitDir);
126
130
  if (existingHooks.length > 0) {
127
131
  console.log(chalk_1.default.gray('Hooks dir: '), gitDir);
128
132
  }
129
- console.log('\nNext steps:');
133
+ // Show critical binary wrapper instructions
134
+ if (wrapperInstalled) {
135
+ (0, binary_wrapper_1.printBinaryWrapperInstructions)(repoRoot);
136
+ }
137
+ console.log(chalk_1.default.white('Next steps:'));
130
138
  console.log(` • Run ${chalk_1.default.cyan('saferun doctor')} to verify configuration`);
131
139
  console.log(` • Run ${chalk_1.default.cyan('saferun config show')} to see current settings`);
132
140
  console.log(` • Try a protected action (e.g. ${chalk_1.default.cyan('git reset --hard')}) to see SafeRun in action`);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Binary Wrapper Module
3
+ *
4
+ * Creates a "shadow" git binary that intercepts dangerous commands
5
+ * (reset, clean, branch -D) that don't have native git hooks.
6
+ *
7
+ * This is the ONLY reliable way to protect against agents that
8
+ * call /usr/bin/git directly, bypassing git aliases.
9
+ */
10
+ /**
11
+ * Find the real git binary path (not our wrapper)
12
+ */
13
+ export declare function findRealGitPath(): string;
14
+ /**
15
+ * Generate the shell script content for the git wrapper
16
+ */
17
+ export declare function generateWrapperScript(realGitPath: string): string;
18
+ /**
19
+ * Install the binary wrapper in the repository
20
+ */
21
+ export declare function installBinaryWrapper(repoRoot: string): Promise<{
22
+ installed: boolean;
23
+ wrapperPath: string;
24
+ realGitPath: string;
25
+ }>;
26
+ /**
27
+ * Check if the binary wrapper is in PATH and active
28
+ */
29
+ export declare function checkBinaryWrapperInPath(repoRoot: string): Promise<{
30
+ inPath: boolean;
31
+ currentGit: string;
32
+ expectedPath: string;
33
+ }>;
34
+ /**
35
+ * Check if wrapper file exists in the repo
36
+ */
37
+ export declare function wrapperExists(repoRoot: string): boolean;
38
+ /**
39
+ * Get PATH export command for user
40
+ */
41
+ export declare function getPathExportCommand(repoRoot: string): string;
42
+ /**
43
+ * Print setup instructions for the binary wrapper
44
+ */
45
+ export declare function printBinaryWrapperInstructions(repoRoot: string): void;
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ /**
3
+ * Binary Wrapper Module
4
+ *
5
+ * Creates a "shadow" git binary that intercepts dangerous commands
6
+ * (reset, clean, branch -D) that don't have native git hooks.
7
+ *
8
+ * This is the ONLY reliable way to protect against agents that
9
+ * call /usr/bin/git directly, bypassing git aliases.
10
+ */
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.findRealGitPath = findRealGitPath;
16
+ exports.generateWrapperScript = generateWrapperScript;
17
+ exports.installBinaryWrapper = installBinaryWrapper;
18
+ exports.checkBinaryWrapperInPath = checkBinaryWrapperInPath;
19
+ exports.wrapperExists = wrapperExists;
20
+ exports.getPathExportCommand = getPathExportCommand;
21
+ exports.printBinaryWrapperInstructions = printBinaryWrapperInstructions;
22
+ const fs_1 = __importDefault(require("fs"));
23
+ const path_1 = __importDefault(require("path"));
24
+ const child_process_1 = require("child_process");
25
+ const chalk_1 = __importDefault(require("chalk"));
26
+ const git_1 = require("./git");
27
+ /**
28
+ * Find the real git binary path (not our wrapper)
29
+ */
30
+ function findRealGitPath() {
31
+ try {
32
+ // Try common locations first
33
+ const commonPaths = [
34
+ '/usr/bin/git',
35
+ '/usr/local/bin/git',
36
+ '/opt/homebrew/bin/git',
37
+ ];
38
+ for (const gitPath of commonPaths) {
39
+ if (fs_1.default.existsSync(gitPath)) {
40
+ return gitPath;
41
+ }
42
+ }
43
+ // Fall back to which git, filtering out our wrapper
44
+ const whichOutput = (0, child_process_1.execSync)('which -a git 2>/dev/null || true', { encoding: 'utf-8' });
45
+ const gitPaths = whichOutput.trim().split('\n').filter(p => p && !p.includes('.saferun/bin'));
46
+ if (gitPaths.length > 0) {
47
+ return gitPaths[0];
48
+ }
49
+ return '/usr/bin/git';
50
+ }
51
+ catch {
52
+ return '/usr/bin/git';
53
+ }
54
+ }
55
+ /**
56
+ * Generate the shell script content for the git wrapper
57
+ */
58
+ function generateWrapperScript(realGitPath) {
59
+ return `#!/bin/sh
60
+ # ═══════════════════════════════════════════════════════════════════════════════
61
+ # SafeRun Git Binary Wrapper
62
+ #
63
+ # This script intercepts git commands that don't have native hooks
64
+ # (reset, clean, branch -D, checkout, stash drop) and routes them through SafeRun.
65
+ #
66
+ # IMPORTANT: For this to work, either:
67
+ # 1. Run: saferun shell-init --auto (adds smart git function to ~/.zshrc)
68
+ # 2. Or manually: export PATH="./.saferun/bin:\$PATH"
69
+ #
70
+ # Generated by: saferun init
71
+ # Real git path: ${realGitPath}
72
+ # ═══════════════════════════════════════════════════════════════════════════════
73
+
74
+ REAL_GIT="${realGitPath}"
75
+ COMMAND="\$1"
76
+
77
+ # Check if saferun CLI is available
78
+ if ! command -v saferun >/dev/null 2>&1; then
79
+ # SafeRun not installed, pass through to real git
80
+ exec "\$REAL_GIT" "\$@"
81
+ fi
82
+
83
+ # Intercept dangerous commands without native hooks
84
+ case "\$COMMAND" in
85
+ reset)
86
+ # git reset [--soft|--mixed|--hard] - especially dangerous with --hard
87
+ saferun hook git-reset "\$@"
88
+ EXIT_CODE=\$?
89
+ if [ \$EXIT_CODE -ne 0 ]; then
90
+ exit \$EXIT_CODE
91
+ fi
92
+ # SafeRun approved, execute real command
93
+ exec "\$REAL_GIT" "\$@"
94
+ ;;
95
+
96
+ clean)
97
+ # git clean - removes untracked files permanently
98
+ saferun hook git-clean "\$@"
99
+ EXIT_CODE=\$?
100
+ if [ \$EXIT_CODE -ne 0 ]; then
101
+ exit \$EXIT_CODE
102
+ fi
103
+ exec "\$REAL_GIT" "\$@"
104
+ ;;
105
+
106
+ branch)
107
+ # git branch -D / -d - deletes branches
108
+ # Only intercept if -D or -d flag is present
109
+ case "\$*" in
110
+ *-D*|*-d*|*--delete*)
111
+ saferun hook git-branch "\$@"
112
+ EXIT_CODE=\$?
113
+ if [ \$EXIT_CODE -ne 0 ]; then
114
+ exit \$EXIT_CODE
115
+ fi
116
+ ;;
117
+ esac
118
+ exec "\$REAL_GIT" "\$@"
119
+ ;;
120
+
121
+ checkout)
122
+ # git checkout -- <file> can discard changes
123
+ case "\$*" in
124
+ *" -- "*)
125
+ saferun hook git-checkout "\$@"
126
+ EXIT_CODE=\$?
127
+ if [ \$EXIT_CODE -ne 0 ]; then
128
+ exit \$EXIT_CODE
129
+ fi
130
+ ;;
131
+ esac
132
+ exec "\$REAL_GIT" "\$@"
133
+ ;;
134
+
135
+ stash)
136
+ # git stash drop/clear - can lose stashed work
137
+ case "\$*" in
138
+ *drop*|*clear*)
139
+ saferun hook git-stash "\$@"
140
+ EXIT_CODE=\$?
141
+ if [ \$EXIT_CODE -ne 0 ]; then
142
+ exit \$EXIT_CODE
143
+ fi
144
+ ;;
145
+ esac
146
+ exec "\$REAL_GIT" "\$@"
147
+ ;;
148
+
149
+ *)
150
+ # All other commands pass through directly
151
+ # (commit, push, etc. are handled by native git hooks)
152
+ exec "\$REAL_GIT" "\$@"
153
+ ;;
154
+ esac
155
+ `;
156
+ }
157
+ /**
158
+ * Install the binary wrapper in the repository
159
+ */
160
+ async function installBinaryWrapper(repoRoot) {
161
+ const binDir = path_1.default.join(repoRoot, '.saferun', 'bin');
162
+ const wrapperPath = path_1.default.join(binDir, 'git');
163
+ const realGitPath = findRealGitPath();
164
+ // Create .saferun/bin directory
165
+ await (0, git_1.ensureDir)(binDir);
166
+ // Generate and write the wrapper script
167
+ const scriptContent = generateWrapperScript(realGitPath);
168
+ await fs_1.default.promises.writeFile(wrapperPath, scriptContent, { mode: 0o755 });
169
+ // Ensure it's executable
170
+ await fs_1.default.promises.chmod(wrapperPath, 0o755);
171
+ return {
172
+ installed: true,
173
+ wrapperPath,
174
+ realGitPath,
175
+ };
176
+ }
177
+ /**
178
+ * Check if the binary wrapper is in PATH and active
179
+ */
180
+ async function checkBinaryWrapperInPath(repoRoot) {
181
+ const expectedPath = path_1.default.join(repoRoot, '.saferun', 'bin', 'git');
182
+ try {
183
+ const whichGit = (0, child_process_1.execSync)('which git 2>/dev/null', {
184
+ encoding: 'utf-8',
185
+ cwd: repoRoot,
186
+ }).trim();
187
+ // Check if the resolved git is our wrapper
188
+ const inPath = whichGit.includes('.saferun/bin/git') ||
189
+ whichGit === expectedPath ||
190
+ path_1.default.resolve(repoRoot, whichGit) === expectedPath;
191
+ return {
192
+ inPath,
193
+ currentGit: whichGit,
194
+ expectedPath,
195
+ };
196
+ }
197
+ catch {
198
+ return {
199
+ inPath: false,
200
+ currentGit: 'unknown',
201
+ expectedPath,
202
+ };
203
+ }
204
+ }
205
+ /**
206
+ * Check if wrapper file exists in the repo
207
+ */
208
+ function wrapperExists(repoRoot) {
209
+ const wrapperPath = path_1.default.join(repoRoot, '.saferun', 'bin', 'git');
210
+ return fs_1.default.existsSync(wrapperPath);
211
+ }
212
+ /**
213
+ * Get PATH export command for user
214
+ */
215
+ function getPathExportCommand(repoRoot) {
216
+ return 'export PATH="./.saferun/bin:$PATH"';
217
+ }
218
+ /**
219
+ * Print setup instructions for the binary wrapper
220
+ */
221
+ function printBinaryWrapperInstructions(repoRoot) {
222
+ console.log(chalk_1.default.yellow('\n⚠️ IMPORTANT: Agent Protection Setup\n'));
223
+ console.log(chalk_1.default.white('To protect against agents that bypass git aliases, run:'));
224
+ console.log('');
225
+ console.log(chalk_1.default.cyan(' saferun shell-init --auto'));
226
+ console.log('');
227
+ console.log(chalk_1.default.gray('This adds a smart git() function to ~/.zshrc that automatically'));
228
+ console.log(chalk_1.default.gray('uses the SafeRun wrapper in any protected project.\n'));
229
+ console.log(chalk_1.default.white('Alternative (per-session):'));
230
+ console.log(chalk_1.default.cyan(` ${getPathExportCommand(repoRoot)}`));
231
+ }
232
+ //# sourceMappingURL=binary-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-wrapper.js","sourceRoot":"","sources":["../../src/utils/binary-wrapper.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,21 @@ exports.logOperation = logOperation;
7
7
  exports.readLogEntries = readLogEntries;
8
8
  const fs_1 = __importDefault(require("fs"));
9
9
  const path_1 = __importDefault(require("path"));
10
+ const os_1 = __importDefault(require("os"));
11
+ const crypto_1 = __importDefault(require("crypto"));
10
12
  const ai_detection_1 = require("./ai-detection");
13
+ /**
14
+ * Get the global log directory for a specific repo
15
+ * Logs are stored in ~/.saferun/logs/<hash>/ to survive git reset --hard
16
+ */
17
+ function getLogDir(repoRoot) {
18
+ const hash = crypto_1.default.createHash('md5').update(repoRoot).digest('hex').slice(0, 12);
19
+ return path_1.default.join(os_1.default.homedir(), '.saferun', 'logs', hash);
20
+ }
11
21
  async function logOperation(repoRoot, entry) {
12
22
  var _a;
13
23
  try {
14
- const logDir = path_1.default.join(repoRoot, '.saferun', 'logs');
24
+ const logDir = getLogDir(repoRoot);
15
25
  await fs_1.default.promises.mkdir(logDir, { recursive: true });
16
26
  // Auto-detect AI agent if not explicitly provided
17
27
  let aiFields = {};
@@ -36,10 +46,19 @@ async function logOperation(repoRoot, entry) {
36
46
  }
37
47
  }
38
48
  async function readLogEntries(repoRoot) {
39
- const logFile = path_1.default.join(repoRoot, '.saferun', 'logs', 'operations.log');
49
+ const logDir = getLogDir(repoRoot);
50
+ const logFile = path_1.default.join(logDir, 'operations.log');
40
51
  if (!fs_1.default.existsSync(logFile)) {
52
+ // Fallback: try reading from old location for migration
53
+ const oldLogFile = path_1.default.join(repoRoot, '.saferun', 'logs', 'operations.log');
54
+ if (fs_1.default.existsSync(oldLogFile)) {
55
+ return readLogFile(oldLogFile);
56
+ }
41
57
  return [];
42
58
  }
59
+ return readLogFile(logFile);
60
+ }
61
+ async function readLogFile(logFile) {
43
62
  const lines = (await fs_1.default.promises.readFile(logFile, 'utf-8')).split(/\r?\n/);
44
63
  const entries = [];
45
64
  for (const line of lines) {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";;;;;AAiBA,oCA8BC;AAED,wCAiBC;AAlED,4CAAoB;AACpB,gDAAwB;AACxB,iDAA+D;AAexD,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,KAAe;;IAClE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAErD,kDAAkD;QAClD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,IAAA,4BAAa,GAAE,CAAC;YAC/B,QAAQ,GAAG;gBACT,eAAe,EAAE,MAAM,CAAC,SAAS;gBACjC,aAAa,EAAE,IAAA,6BAAc,EAAC,MAAM,CAAC;gBACrC,mBAAmB,EAAE,MAAM,CAAC,eAAe;gBAC3C,aAAa,EAAE,MAAM,CAAC,UAAU;aACjC,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,MAAA,KAAK,CAAC,EAAE,mCAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACxC,GAAG,KAAK;YACR,GAAG,QAAQ;SACZ,CAAC;QACF,MAAM,YAAE,CAAC,QAAQ,CAAC,UAAU,CAC1B,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACnC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAC7B,OAAO,CACR,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC1E,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saferun/cli",
3
- "version": "0.6.14",
3
+ "version": "0.6.16",
4
4
  "description": "AI Safety Middleware - Protect your Git workflows from dangerous AI agent operations",
5
5
  "author": "SafeRun Team",
6
6
  "license": "MIT",