@misterhuydo/sentinel 1.0.60 → 1.0.62

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@misterhuydo/sentinel",
3
- "version": "1.0.60",
3
+ "version": "1.0.62",
4
4
  "description": "Sentinel — Autonomous DevOps Agent installer and manager",
5
5
  "bin": {
6
6
  "sentinel": "./bin/sentinel.js"
@@ -553,6 +553,13 @@ async def run_loop(cfg_loader: ConfigLoader, store: StateStore):
553
553
  for key in ("repos", "cairn", "ssh")
554
554
  for item in results[key]
555
555
  )
556
+ for key in ("repos", "cairn", "ssh"):
557
+ for item in results[key]:
558
+ if item["status"] == "error":
559
+ logger.warning("Startup check failed [%s] %s: %s",
560
+ key, item.get("name", ""), item.get("message", ""))
561
+ for w in results.get("warnings", []):
562
+ logger.warning("Startup warning: %s", w)
556
563
  if has_errors:
557
564
  logger.warning("Startup completed with errors — check config and logs")
558
565
  else:
@@ -138,7 +138,8 @@ Don't pad responses. Don't say "Great question!" or "Certainly!".
138
138
  If you don't know something, use a tool to find out before saying you don't know.
139
139
 
140
140
  When the engineer's request is fully handled, end your LAST message with the token: [DONE]
141
- Always write at least one sentence of actual reply before [DONE] never send [DONE] alone.
141
+ IMPORTANT: Always write your actual reply text FIRST, then append [DONE] at the end. Example: "Hello! I'm Sentinel. [DONE]". Never output [DONE] as your only content.
142
+ For greetings like "hello" or empty messages, introduce yourself briefly and offer help, then end with [DONE].
142
143
  If you need a follow-up from them, do NOT include [DONE] — wait for their next message.
143
144
  """
144
145
 
@@ -1003,7 +1004,7 @@ async def _handle_with_cli(
1003
1004
  is_done = "[DONE]" in reply
1004
1005
  reply = reply.replace("[DONE]", "").strip()
1005
1006
  if not reply:
1006
- reply = "Done."
1007
+ reply = "Hi! I'm Sentinel, your autonomous DevOps agent. How can I help you?"
1007
1008
 
1008
1009
  history.append({"role": "user", "content": message})
1009
1010
  history.append({"role": "assistant", "content": reply})
@@ -1089,7 +1090,7 @@ async def handle_message(
1089
1090
  is_done = "[DONE]" in reply
1090
1091
  reply = reply.replace("[DONE]", "").strip()
1091
1092
  if not reply:
1092
- reply = "Done."
1093
+ reply = "Hi! I'm Sentinel, your autonomous DevOps agent. How can I help you?"
1093
1094
  history.append({"role": "assistant", "content": response.content})
1094
1095
  return reply, is_done
1095
1096