loki-mode 5.56.0 → 5.56.1

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/SKILL.md CHANGED
@@ -3,7 +3,7 @@ name: loki-mode
3
3
  description: Multi-agent autonomous startup system. Triggers on "Loki Mode". Takes PRD to deployed product with minimal human intervention. Requires --dangerously-skip-permissions flag.
4
4
  ---
5
5
 
6
- # Loki Mode v5.56.0
6
+ # Loki Mode v5.56.1
7
7
 
8
8
  **You are an autonomous agent. You make decisions. You do not ask questions. You do not stop.**
9
9
 
@@ -263,4 +263,4 @@ The following features are documented in skill modules but not yet fully automat
263
263
  | Quality gates 3-reviewer system | Implemented (v5.35.0) | 5 specialist reviewers in `skills/quality-gates.md`; execution in run.sh |
264
264
  | Benchmarks (HumanEval, SWE-bench) | Infrastructure only | Runner scripts and datasets exist in `benchmarks/`; no published results |
265
265
 
266
- **v5.56.0 | [Autonomi](https://www.autonomi.dev/) flagship product | ~260 lines core**
266
+ **v5.56.1 | [Autonomi](https://www.autonomi.dev/) flagship product | ~260 lines core**
package/VERSION CHANGED
@@ -1 +1 @@
1
- 5.56.0
1
+ 5.56.1
@@ -87,7 +87,7 @@ _write_app_state() {
87
87
  "main_pid": ${_APP_RUNNER_PID:-0},
88
88
  "process_group": "-${_APP_RUNNER_PID:-0}",
89
89
  "method": "${method_escaped}",
90
- "port": ${_APP_RUNNER_PORT:-0},
90
+ "port": $(echo "${_APP_RUNNER_PORT:-0}" | grep -oE '^[0-9]+$' || echo 0),
91
91
  "url": "${url_escaped}",
92
92
  "started_at": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
93
93
  "restart_count": ${_APP_RUNNER_RESTART_COUNT},
@@ -143,7 +143,7 @@ _detect_port() {
143
143
  compose_file="${TARGET_DIR:-.}/compose.yml"
144
144
  fi
145
145
  local port
146
- port=$(grep -E '^\s*-\s*"?[0-9]+:[0-9]+"?' "$compose_file" 2>/dev/null | head -1 | sed 's/.*"\?\([0-9]*\):[0-9]*"\?.*/\1/')
146
+ port=$(grep -E '^\s*-\s*"?[0-9]+:[0-9]+"?' "$compose_file" 2>/dev/null | head -1 | grep -oE '[0-9]+:[0-9]+' | head -1 | cut -d: -f1)
147
147
  _APP_RUNNER_PORT="${port:-8080}"
148
148
  ;;
149
149
  *docker\ build*)
@@ -373,7 +373,7 @@ _write_detection() {
373
373
  {
374
374
  "type": "${type_escaped}",
375
375
  "command": "${command_escaped}",
376
- "port": ${_APP_RUNNER_PORT:-0},
376
+ "port": $(echo "${_APP_RUNNER_PORT:-0}" | grep -oE '^[0-9]+$' || echo 0),
377
377
  "is_docker": ${_APP_RUNNER_IS_DOCKER},
378
378
  "detected_at": "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
379
379
  }
@@ -447,7 +447,21 @@ app_runner_start() {
447
447
  sleep 2
448
448
 
449
449
  # Verify process started
450
- if kill -0 "$_APP_RUNNER_PID" 2>/dev/null; then
450
+ if [ "$_APP_RUNNER_IS_DOCKER" = true ] && echo "$_APP_RUNNER_METHOD" | grep -q "docker compose"; then
451
+ # Docker compose -d exits immediately; check containers instead of PID
452
+ local running_containers
453
+ running_containers=$(cd "${TARGET_DIR:-.}" && { docker compose ps --status running -q 2>/dev/null || docker compose ps -q 2>/dev/null; } | wc -l | tr -d ' ')
454
+ if [ "${running_containers:-0}" -gt 0 ]; then
455
+ _write_app_state "running"
456
+ log_info "App Runner: docker compose started ($running_containers container(s) running)"
457
+ return 0
458
+ else
459
+ log_error "App Runner: docker compose containers failed to start"
460
+ _APP_RUNNER_CRASH_COUNT=$(( _APP_RUNNER_CRASH_COUNT + 1 ))
461
+ _write_app_state "failed"
462
+ return 1
463
+ fi
464
+ elif kill -0 "$_APP_RUNNER_PID" 2>/dev/null; then
451
465
  _write_app_state "running"
452
466
  log_info "App Runner: application started (PID: $_APP_RUNNER_PID)"
453
467
  return 0
@@ -538,7 +552,21 @@ app_runner_health_check() {
538
552
  return 1
539
553
  fi
540
554
 
541
- # Check PID is alive
555
+ # Docker compose: check containers instead of PID (docker compose up -d exits immediately)
556
+ if [ "$_APP_RUNNER_IS_DOCKER" = true ] && echo "$_APP_RUNNER_METHOD" | grep -q "docker compose"; then
557
+ local running_containers
558
+ running_containers=$(cd "${TARGET_DIR:-.}" && { docker compose ps --status running -q 2>/dev/null || docker compose ps -q 2>/dev/null; } | wc -l | tr -d ' ')
559
+ if [ "${running_containers:-0}" -gt 0 ]; then
560
+ _write_health "true"
561
+ _write_app_state "running"
562
+ return 0
563
+ else
564
+ _write_health "false"
565
+ return 1
566
+ fi
567
+ fi
568
+
569
+ # Check PID is alive (non-docker-compose methods)
542
570
  if ! kill -0 "$_APP_RUNNER_PID" 2>/dev/null; then
543
571
  _write_health "false"
544
572
  return 1
@@ -7,7 +7,7 @@ Modules:
7
7
  control: Session control API (start/stop/pause/resume)
8
8
  """
9
9
 
10
- __version__ = "5.56.0"
10
+ __version__ = "5.56.1"
11
11
 
12
12
  # Expose the control app for easy import
13
13
  try:
@@ -5053,7 +5053,7 @@ var LokiDashboard=(()=>{var rt=Object.defineProperty;var $t=Object.getOwnPropert
5053
5053
  </div>
5054
5054
  <div class="status-row">
5055
5055
  <span class="status-label">Uptime</span>
5056
- <span class="status-value">${this._formatUptime(t.started_at)}</span>
5056
+ <span class="status-value">${t.status==="running"||t.status==="stale"?this._formatUptime(t.started_at):"--"}</span>
5057
5057
  </div>
5058
5058
  ${t.status==="crashed"&&t.error?`
5059
5059
  <div class="status-row" style="margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--loki-border, #e4e4e7);">
@@ -2,7 +2,7 @@
2
2
 
3
3
  The flagship product of [Autonomi](https://www.autonomi.dev/). Complete installation instructions for all platforms and use cases.
4
4
 
5
- **Version:** v5.56.0
5
+ **Version:** v5.56.1
6
6
 
7
7
  ---
8
8
 
package/mcp/__init__.py CHANGED
@@ -57,4 +57,4 @@ try:
57
57
  except ImportError:
58
58
  __all__ = ['mcp']
59
59
 
60
- __version__ = '5.56.0'
60
+ __version__ = '5.56.1'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "loki-mode",
3
- "version": "5.56.0",
3
+ "version": "5.56.1",
4
4
  "description": "Loki Mode by Autonomi - Multi-agent autonomous startup system for Claude Code, Codex CLI, and Gemini CLI",
5
5
  "keywords": [
6
6
  "agent",