@misterhuydo/sentinel 1.4.15 → 1.4.17
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/lib/add.js +4 -1
- package/package.json +1 -1
- package/python/sentinel/fix_engine.py +1 -0
- package/python/sentinel/git_manager.py +1 -0
- package/python/sentinel/log_parser.py +2 -1
- package/python/sentinel/log_syncer.py +1 -0
- package/python/sentinel/main.py +2 -1
- package/python/sentinel/repo_router.py +1 -0
- package/python/sentinel/sentinel_boss.py +2 -1
- package/python/sentinel/slack_bot.py +1 -0
- package/python/sentinel/state_store.py +2 -1
package/lib/add.js
CHANGED
|
@@ -125,7 +125,10 @@ function fetchUrl(url) {
|
|
|
125
125
|
// ── SSH deploy key helpers ────────────────────────────────────────────────────
|
|
126
126
|
|
|
127
127
|
function ensureKnownHosts() {
|
|
128
|
-
const
|
|
128
|
+
const sshDir = path.join(os.homedir(), '.ssh');
|
|
129
|
+
const knownHosts = path.join(sshDir, 'known_hosts');
|
|
130
|
+
fs.ensureDirSync(sshDir);
|
|
131
|
+
try { fs.chmodSync(sshDir, 0o700); } catch (_) {}
|
|
129
132
|
const content = fs.existsSync(knownHosts) ? fs.readFileSync(knownHosts, 'utf8') : '';
|
|
130
133
|
if (content.includes('github.com')) return;
|
|
131
134
|
info('Adding GitHub to known_hosts…');
|
package/package.json
CHANGED
|
@@ -4,7 +4,8 @@ log_parser.py — Parse fetched log files into ErrorEvent objects.
|
|
|
4
4
|
Handles Java-style logs (Spring Boot / Logback format):
|
|
5
5
|
2024-01-15 12:34:56.789 ERROR [thread] class.ClassName - Message
|
|
6
6
|
followed by optional stack trace lines (^\tat ...)
|
|
7
|
-
"""
|
|
7
|
+
"""
|
|
8
|
+
from __future__ import annotations
|
|
8
9
|
|
|
9
10
|
import hashlib
|
|
10
11
|
import re
|
|
@@ -6,6 +6,7 @@ Synced location: workspace/synced/<source-name>/<logname>-node<N>.log
|
|
|
6
6
|
Uses rsync --append-verify (delta sync — only new bytes transferred).
|
|
7
7
|
Full log history is preserved locally for instant grep without SSH.
|
|
8
8
|
"""
|
|
9
|
+
from __future__ import annotations
|
|
9
10
|
import logging
|
|
10
11
|
import shutil
|
|
11
12
|
import subprocess
|
package/python/sentinel/main.py
CHANGED
|
@@ -5,6 +5,7 @@ Convention: log-configs/<name>.properties links to repo-configs/<name>.propertie
|
|
|
5
5
|
If no repo-config exists for a given log-config stem, the error is unroutable
|
|
6
6
|
and the fix is skipped.
|
|
7
7
|
"""
|
|
8
|
+
from __future__ import annotations
|
|
8
9
|
|
|
9
10
|
import logging
|
|
10
11
|
from .log_parser import ErrorEvent
|
|
@@ -4,7 +4,8 @@ sentinel_boss.py — Claude-backed Sentinel Boss.
|
|
|
4
4
|
Claude acts as the boss: reads project state, decides on actions,
|
|
5
5
|
executes them via tool use, and responds naturally. One agentic loop
|
|
6
6
|
per turn — Claude may call multiple tools before replying.
|
|
7
|
-
"""
|
|
7
|
+
"""
|
|
8
|
+
from __future__ import annotations
|
|
8
9
|
|
|
9
10
|
import json
|
|
10
11
|
import logging
|