loki-mode 6.63.0 → 6.63.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 +2 -2
- package/VERSION +1 -1
- package/autonomy/loki +37 -5
- package/dashboard/__init__.py +1 -1
- package/docs/INSTALLATION.md +1 -1
- package/mcp/__init__.py +1 -1
- package/package.json +1 -1
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 v6.63.
|
|
6
|
+
# Loki Mode v6.63.1
|
|
7
7
|
|
|
8
8
|
**You are an autonomous agent. You make decisions. You do not ask questions. You do not stop.**
|
|
9
9
|
|
|
@@ -267,4 +267,4 @@ The following features are documented in skill modules but not yet fully automat
|
|
|
267
267
|
| Quality gates 3-reviewer system | Implemented (v5.35.0) | 5 specialist reviewers in `skills/quality-gates.md`; execution in run.sh |
|
|
268
268
|
| Benchmarks (HumanEval, SWE-bench) | Infrastructure only | Runner scripts and datasets exist in `benchmarks/`; no published results |
|
|
269
269
|
|
|
270
|
-
**v6.63.
|
|
270
|
+
**v6.63.1 | [Autonomi](https://www.autonomi.dev/) flagship product | ~260 lines core**
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
6.63.
|
|
1
|
+
6.63.1
|
package/autonomy/loki
CHANGED
|
@@ -3091,7 +3091,9 @@ cmd_dashboard_open() {
|
|
|
3091
3091
|
|
|
3092
3092
|
PURPLE_LAB_DEFAULT_PORT=57375
|
|
3093
3093
|
PURPLE_LAB_DEFAULT_HOST="127.0.0.1"
|
|
3094
|
-
|
|
3094
|
+
# Use HOME-based path so stop works from any CWD
|
|
3095
|
+
PURPLE_LAB_STATE_DIR="${HOME}/.loki/purple-lab"
|
|
3096
|
+
PURPLE_LAB_PID_FILE="${PURPLE_LAB_STATE_DIR}/purple-lab.pid"
|
|
3095
3097
|
|
|
3096
3098
|
cmd_web() {
|
|
3097
3099
|
local subcommand="${1:-start}"
|
|
@@ -3281,7 +3283,12 @@ cmd_web_start() {
|
|
|
3281
3283
|
nohup "$DASHBOARD_PYTHON" "$server_py" > "$log_file" 2>&1 &
|
|
3282
3284
|
local pid=$!
|
|
3283
3285
|
|
|
3286
|
+
mkdir -p "$PURPLE_LAB_STATE_DIR"
|
|
3284
3287
|
echo "$pid" > "$PURPLE_LAB_PID_FILE"
|
|
3288
|
+
echo "$port" > "${PURPLE_LAB_STATE_DIR}/port"
|
|
3289
|
+
# Also write to local .loki for backward compat
|
|
3290
|
+
mkdir -p "${LOKI_DIR}/purple-lab"
|
|
3291
|
+
echo "$pid" > "${LOKI_DIR}/purple-lab/purple-lab.pid"
|
|
3285
3292
|
echo "$port" > "${LOKI_DIR}/purple-lab/port"
|
|
3286
3293
|
|
|
3287
3294
|
# Wait for server to be ready
|
|
@@ -3324,16 +3331,20 @@ cmd_web_start() {
|
|
|
3324
3331
|
cmd_web_stop() {
|
|
3325
3332
|
local stopped=false
|
|
3326
3333
|
local port
|
|
3327
|
-
port=$(cat "${LOKI_DIR}/purple-lab/port" 2>/dev/null || echo "$PURPLE_LAB_DEFAULT_PORT")
|
|
3334
|
+
port=$(cat "${PURPLE_LAB_STATE_DIR}/port" 2>/dev/null || cat "${LOKI_DIR}/purple-lab/port" 2>/dev/null || echo "$PURPLE_LAB_DEFAULT_PORT")
|
|
3328
3335
|
|
|
3329
3336
|
# Gracefully stop any active session before killing Purple Lab
|
|
3330
3337
|
curl -s --max-time 3 -X POST "http://127.0.0.1:${port}/api/session/stop" >/dev/null 2>&1 || true
|
|
3331
3338
|
sleep 1
|
|
3332
3339
|
|
|
3333
|
-
# Try PID file first
|
|
3334
|
-
|
|
3340
|
+
# Try PID file first (check global location, then local)
|
|
3341
|
+
local pid_file="$PURPLE_LAB_PID_FILE"
|
|
3342
|
+
if [ ! -f "$pid_file" ]; then
|
|
3343
|
+
pid_file="${LOKI_DIR}/purple-lab/purple-lab.pid"
|
|
3344
|
+
fi
|
|
3345
|
+
if [ -f "$pid_file" ]; then
|
|
3335
3346
|
local pid
|
|
3336
|
-
pid=$(cat "$
|
|
3347
|
+
pid=$(cat "$pid_file" 2>/dev/null)
|
|
3337
3348
|
if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then
|
|
3338
3349
|
kill "$pid" 2>/dev/null
|
|
3339
3350
|
sleep 1
|
|
@@ -3361,11 +3372,32 @@ cmd_web_stop() {
|
|
|
3361
3372
|
stopped=true
|
|
3362
3373
|
fi
|
|
3363
3374
|
|
|
3375
|
+
# Also kill any orphan web-app/server.py processes (catches processes from other CWDs)
|
|
3376
|
+
local orphan_pids
|
|
3377
|
+
orphan_pids=$(pgrep -f "web-app/server.py" 2>/dev/null || true)
|
|
3378
|
+
if [ -n "$orphan_pids" ]; then
|
|
3379
|
+
for opid in $orphan_pids; do
|
|
3380
|
+
if kill -0 "$opid" 2>/dev/null; then
|
|
3381
|
+
kill "$opid" 2>/dev/null
|
|
3382
|
+
sleep 1
|
|
3383
|
+
if kill -0 "$opid" 2>/dev/null; then
|
|
3384
|
+
kill -9 "$opid" 2>/dev/null
|
|
3385
|
+
fi
|
|
3386
|
+
if [ "$stopped" = false ]; then
|
|
3387
|
+
echo -e "${GREEN}Purple Lab stopped (orphan process PID: $opid)${NC}"
|
|
3388
|
+
fi
|
|
3389
|
+
stopped=true
|
|
3390
|
+
fi
|
|
3391
|
+
done
|
|
3392
|
+
fi
|
|
3393
|
+
|
|
3364
3394
|
if [ "$stopped" = false ]; then
|
|
3365
3395
|
echo "Purple Lab is not running."
|
|
3366
3396
|
fi
|
|
3367
3397
|
|
|
3398
|
+
# Clean PID files from current dir AND home dir (catches cross-CWD state)
|
|
3368
3399
|
rm -f "$PURPLE_LAB_PID_FILE" "${LOKI_DIR}/purple-lab/port" 2>/dev/null || true
|
|
3400
|
+
rm -f "$HOME/.loki/purple-lab/purple-lab.pid" "$HOME/.loki/purple-lab/port" 2>/dev/null || true
|
|
3369
3401
|
|
|
3370
3402
|
# Kill only processes that Purple Lab started (tracked in child-pids.json)
|
|
3371
3403
|
# External loki sessions (started via "loki start" from terminal) are NOT touched
|
package/dashboard/__init__.py
CHANGED
package/docs/INSTALLATION.md
CHANGED
package/mcp/__init__.py
CHANGED