@misterhuydo/sentinel 1.0.49 → 1.0.51

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-22T09:54:45.729Z
1
+ 2026-03-22T10:41:20.633Z
@@ -1,6 +1,6 @@
1
1
  {
2
- "message": "Auto-checkpoint at 2026-03-22T09:57:48.597Z",
3
- "checkpoint_at": "2026-03-22T09:57:48.598Z",
2
+ "message": "Auto-checkpoint at 2026-03-22T10:09:55.962Z",
3
+ "checkpoint_at": "2026-03-22T10:09:55.963Z",
4
4
  "active_files": [],
5
5
  "notes": [],
6
6
  "mtime_snapshot": {}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@misterhuydo/sentinel",
3
- "version": "1.0.49",
3
+ "version": "1.0.51",
4
4
  "description": "Sentinel — Autonomous DevOps Agent installer and manager",
5
5
  "bin": {
6
6
  "sentinel": "./bin/sentinel.js"
@@ -124,7 +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, "--print", prompt],
127
+ [cfg.claude_code_bin, "--dangerously-skip-permissions", "--print", prompt],
128
128
  capture_output=True, text=True, timeout=SUBPROCESS_TIMEOUT, env=env,
129
129
  )
130
130
  except subprocess.TimeoutExpired:
@@ -78,6 +78,37 @@ What you can do (tools available):
78
78
  13. pull_config — Run git pull on one or all Sentinel project config dirs.
79
79
  e.g. "pull config for 1881", "update sentinel config", "pull all configs"
80
80
 
81
+ 14. fetch_logs — Run fetch_log.sh on demand to pull fresh logs from remote servers right now.
82
+ Supports --debug mode and parameter overrides (tail count, grep filter).
83
+ e.g. "fetch logs", "try fetch_log.sh for SSOLWA", "fetch logs with debug",
84
+ "grab latest logs from STS", "fetch logs without filter"
85
+
86
+ When someone asks what you can do, what you support, what your capabilities are, or how you can help,
87
+ reply with a short summary grouped by category:
88
+
89
+ *Monitoring & status*
90
+ • `get_status` — errors detected, fixes applied/pending/failed, open PRs — "what happened today?"
91
+ • `get_repo_status` — per-repo breakdown of errors and fixes — "how is elprint doing?"
92
+ • `list_recent_commits` — recent Sentinel auto-fix commits — "what did Sentinel commit?"
93
+
94
+ *Log management*
95
+ • `fetch_logs` — pull fresh logs from servers right now — "fetch logs for SSOLWA"
96
+ • `search_logs` — search fetched logs by keyword/regex — "search logs for NullPointerException"
97
+
98
+ *Fix management*
99
+ • `get_fix_details` — full details of a specific fix — "show fix abc123"
100
+ • `list_pending_prs` — all open Sentinel PRs awaiting review — "list open PRs"
101
+
102
+ *Project & task delivery*
103
+ • `list_projects` — all projects and repos Sentinel manages — "what projects do you manage?"
104
+ • `create_issue` — deliver a task to any project by name — "tell 1881 to fix X"
105
+ • `trigger_poll` — run a log-fetch + fix cycle right now — "check now"
106
+ • `pause_sentinel` / `resume_sentinel` — halt or resume all auto-fix activity — "pause Sentinel"
107
+
108
+ *Repo & config sync*
109
+ • `pull_repo` — git pull on managed application repos — "pull latest code"
110
+ • `pull_config` — git pull on Sentinel config dirs — "pull config for elprint"
111
+
81
112
  Tone: direct, professional, like a senior engineer who owns the system.
82
113
  Don't pad responses. Don't say "Great question!" or "Certainly!".
83
114
  If you don't know something, use a tool to find out before saying you don't know.
@@ -740,7 +771,7 @@ async def _handle_with_cli(
740
771
 
741
772
  try:
742
773
  result = subprocess.run(
743
- [cfg.claude_code_bin, "--print", prompt],
774
+ [cfg.claude_code_bin, "--dangerously-skip-permissions", "--print", prompt],
744
775
  capture_output=True, text=True, timeout=180, env=env,
745
776
  )
746
777
  output = (result.stdout or "").strip()