@misterhuydo/sentinel 1.0.73 → 1.0.75

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/.cairn/.hint-lock CHANGED
@@ -1 +1 @@
1
- 2026-03-22T16:55:34.040Z
1
+ 2026-03-22T17:26:44.035Z
Binary file
@@ -1,6 +1,6 @@
1
1
  {
2
- "message": "Auto-checkpoint at 2026-03-22T17:07:45.514Z",
3
- "checkpoint_at": "2026-03-22T17:07:45.514Z",
2
+ "message": "Auto-checkpoint at 2026-03-22T17:26:47.544Z",
3
+ "checkpoint_at": "2026-03-22T17:26:47.545Z",
4
4
  "active_files": [],
5
5
  "notes": [],
6
6
  "mtime_snapshot": {}
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+ const fs = require('fs-extra');
4
+ const path = require('path');
5
+ const ROOT = path.resolve(__dirname, '..', '..');
6
+ const CLI_DIR = path.resolve(__dirname, '..');
7
+ const copies = [
8
+ { src: path.join(ROOT, 'sentinel'), dst: path.join(CLI_DIR, 'python', 'sentinel') },
9
+ { src: path.join(ROOT, 'scripts'), dst: path.join(CLI_DIR, 'python', 'scripts') },
10
+ { src: path.join(ROOT, 'requirements.txt'), dst: path.join(CLI_DIR, 'python', 'requirements.txt') },
11
+ ];
12
+ console.log('Bundling Python source into cli/python/...');
13
+ for (const { src, dst } of copies) {
14
+ fs.copySync(src, dst, { overwrite: true });
15
+ console.log(' ' + path.relative(CLI_DIR, src) + ' -> ' + path.relative(CLI_DIR, dst));
16
+ }
17
+ console.log('Done.');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@misterhuydo/sentinel",
3
- "version": "1.0.73",
3
+ "version": "1.0.75",
4
4
  "description": "Sentinel — Autonomous DevOps Agent installer and manager",
5
5
  "bin": {
6
6
  "sentinel": "./bin/sentinel.js"
@@ -124,9 +124,7 @@ def generate_fix(
124
124
  env["ANTHROPIC_API_KEY"] = cfg.anthropic_api_key
125
125
  try:
126
126
  result = subprocess.run(
127
- ([cfg.claude_code_bin, "--dangerously-skip-permissions", "--print", prompt]
128
- if os.getuid() != 0 else
129
- [cfg.claude_code_bin, "--print", prompt]),
127
+ [cfg.claude_code_bin, "--permission-mode", "bypassPermissions", "--print", prompt],
130
128
  capture_output=True, text=True, timeout=SUBPROCESS_TIMEOUT, env=env,
131
129
  )
132
130
  except subprocess.TimeoutExpired:
@@ -1069,9 +1069,7 @@ async def _run_tool(name: str, inputs: dict, cfg_loader, store, slack_client=Non
1069
1069
  )
1070
1070
  try:
1071
1071
  r = subprocess.run(
1072
- ([cfg.claude_code_bin, "--dangerously-skip-permissions", "--print", prompt]
1073
- if os.getuid() != 0 else
1074
- [cfg.claude_code_bin, "--print", prompt]),
1072
+ [cfg.claude_code_bin, "--permission-mode", "bypassPermissions", "--print", prompt],
1075
1073
  capture_output=True, text=True, timeout=180, env=env,
1076
1074
  cwd=str(local_path),
1077
1075
  )
@@ -1231,9 +1229,7 @@ async def _handle_with_cli(
1231
1229
 
1232
1230
  try:
1233
1231
  result = subprocess.run(
1234
- ([cfg.claude_code_bin, "--dangerously-skip-permissions", "--print", prompt]
1235
- if os.getuid() != 0 else
1236
- [cfg.claude_code_bin, "--print", prompt]),
1232
+ [cfg.claude_code_bin, "--permission-mode", "bypassPermissions", "--print", prompt],
1237
1233
  capture_output=True, text=True, timeout=180, env=env,
1238
1234
  )
1239
1235
  output = (result.stdout or "").strip()