@misterhuydo/sentinel 1.4.2 → 1.4.5

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-24T08:21:39.465Z
1
+ 2026-03-24T14:40:34.199Z
@@ -1,6 +1,6 @@
1
1
  {
2
- "message": "Auto-checkpoint at 2026-03-24T08:34:58.068Z",
3
- "checkpoint_at": "2026-03-24T08:34:58.069Z",
2
+ "message": "Auto-checkpoint at 2026-03-24T15:01:17.543Z",
3
+ "checkpoint_at": "2026-03-24T15:01:17.545Z",
4
4
  "active_files": [],
5
5
  "notes": [],
6
6
  "mtime_snapshot": {}
package/lib/generate.js CHANGED
@@ -63,12 +63,13 @@ if echo "$AUTH_OUT" | grep -Eqi "not logged in|/login"; then
63
63
  exit 1
64
64
  fi
65
65
 
66
- mkdir -p "$DIR/logs" "$DIR/workspace/fetched" "$DIR/workspace/patches" "$DIR/issues"
66
+ WORKSPACE="$(dirname "$DIR")"
67
+ mkdir -p "$WORKSPACE/logs" "$DIR/workspace/fetched" "$DIR/workspace/patches" "$DIR/issues"
67
68
  cd "$DIR"
68
69
  PYTHONPATH="${codeDir}" "${pythonBin}" -m sentinel.main --config ./config \\
69
- >> "$DIR/logs/sentinel.log" 2>&1 &
70
+ >> "$WORKSPACE/logs/${name}.log" 2>&1 &
70
71
  echo $! > "$PID_FILE"
71
- echo "[sentinel] ${name} started (PID $!)"
72
+ echo "[sentinel] ${name} started (PID $!) — log: $WORKSPACE/logs/${name}.log"
72
73
  `, { mode: 0o755 });
73
74
 
74
75
  // stop.sh
@@ -184,12 +185,13 @@ if echo "$AUTH_OUT" | grep -Eqi "not logged in|/login"; then
184
185
  echo "[sentinel] Claude Code is not authenticated. Run: claude then /login"
185
186
  exit 1
186
187
  fi
187
- mkdir -p "$DIR/logs" "$DIR/workspace/fetched" "$DIR/workspace/patches" "$DIR/issues"
188
+ WORKSPACE="$(dirname "$DIR")"
189
+ mkdir -p "$WORKSPACE/logs" "$DIR/workspace/fetched" "$DIR/workspace/patches" "$DIR/issues"
188
190
  cd "$DIR"
189
191
  PYTHONPATH="__CODE_DIR__" "__PYTHON_BIN__" -m sentinel.main --config ./config \
190
- >> "$DIR/logs/sentinel.log" 2>&1 &
192
+ >> "$WORKSPACE/logs/__NAME__.log" 2>&1 &
191
193
  echo $! > "$PID_FILE"
192
- echo "[sentinel] __NAME__ started (PID $!)"
194
+ echo "[sentinel] __NAME__ started (PID $!) — log: $WORKSPACE/logs/__NAME__.log"
193
195
  STARTSH
194
196
  chmod +x "$project_dir/start.sh"
195
197
  echo "[sentinel] Auto-generated start.sh for $name"
@@ -255,8 +257,12 @@ STOPSH
255
257
  continue
256
258
  fi
257
259
 
258
- bash "$project_dir/start.sh"
259
- started=$((started + 1))
260
+ if bash "$project_dir/start.sh"; then
261
+ started=$((started + 1))
262
+ else
263
+ echo "[sentinel] Failed to start $name"
264
+ skipped=$((skipped + 1))
265
+ fi
260
266
  done
261
267
  echo "[sentinel] $started project(s) started, $skipped skipped"
262
268
  `, { mode: 0o755 });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@misterhuydo/sentinel",
3
- "version": "1.4.2",
3
+ "version": "1.4.5",
4
4
  "description": "Sentinel — Autonomous DevOps Agent installer and manager",
5
5
  "bin": {
6
6
  "sentinel": "./bin/sentinel.js"
@@ -434,6 +434,9 @@ async def _run_turn(session: _Session, message: str, client, cfg_loader, store,
434
434
  session.busy = True
435
435
  thinking_ts = await _post(client, channel, "_thinking..._")
436
436
 
437
+ attach_note = f" (+{len(attachments)} file(s))" if attachments else ""
438
+ logger.info("Boss [%s] >> %s%s", session.user_name, message[:300], attach_note)
439
+
437
440
  reply = ""
438
441
  is_done = True
439
442
  try:
@@ -452,6 +455,8 @@ async def _run_turn(session: _Session, message: str, client, cfg_loader, store,
452
455
  finally:
453
456
  session.busy = False
454
457
 
458
+ logger.info("Boss [%s] << %s", session.user_name, reply[:300])
459
+
455
460
  if thinking_ts:
456
461
  await _update(client, channel, thinking_ts, reply)
457
462
  else:
@@ -29,12 +29,12 @@ AUTO_PUBLISH=false
29
29
  # Leave blank if this repo has no deploy pipeline (e.g. shared libraries)
30
30
 
31
31
  # jenkins | github_actions | (blank)
32
- CICD_TYPE=jenkins
32
+ # CICD_TYPE=jenkins
33
33
 
34
34
  # Full URL of the Jenkins job or GitHub Actions workflow
35
35
  # Jenkins: https://jenkins.example.com/job/<job-name>
36
36
  # GitHub Actions: https://github.com/<org>/<repo> (dispatch event used)
37
- CICD_JOB_URL=https://jenkins.example.com/job/<job-name>
37
+ # CICD_JOB_URL=https://jenkins.example.com/job/<job-name>
38
38
 
39
39
  # Jenkins API token or GitHub PAT with workflow scope
40
- CICD_TOKEN=<token>
40
+ # CICD_TOKEN=<token>
@@ -10,8 +10,8 @@
10
10
  MAILS=you@yourdomain.com
11
11
 
12
12
  # Health digest — disabled by default; per-fix emails are always sent
13
- SEND_HEALTH=disabled
14
- REPORT_INTERVAL_HOURS=1
13
+ # SEND_HEALTH=enabled
14
+ # REPORT_INTERVAL_HOURS=6
15
15
 
16
16
  # GitHub token for opening PRs (when AUTO_PUBLISH=false).
17
17
  # Usually set once in the workspace sentinel.properties and shared across all projects.