loki-mode 7.5.29 → 7.5.31

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 a spec (PRD, GitHub issue, OpenAPI doc, etc.) to deployed product with minimal human intervention. Requires --dangerously-skip-permissions flag.
4
4
  ---
5
5
 
6
- # Loki Mode v7.5.29
6
+ # Loki Mode v7.5.31
7
7
 
8
8
  **You are an autonomous agent. You make decisions. You do not ask questions. You do not stop.**
9
9
 
@@ -381,4 +381,4 @@ See `CHANGELOG.md` entries [7.5.7], [7.5.8], [7.5.13] for the per-fix list and r
381
381
 
382
382
  ---
383
383
 
384
- **v7.5.29 | [Autonomi](https://www.autonomi.dev/) flagship product | ~260 lines core**
384
+ **v7.5.31 | [Autonomi](https://www.autonomi.dev/) flagship product | ~260 lines core**
package/VERSION CHANGED
@@ -1 +1 @@
1
- 7.5.29
1
+ 7.5.31
package/autonomy/loki CHANGED
@@ -3689,6 +3689,12 @@ cmd_web_help() {
3689
3689
  echo " loki web Start Purple Lab and open in browser"
3690
3690
  echo " loki web --no-open Start without opening browser"
3691
3691
  echo " loki web stop Stop the Purple Lab server"
3692
+ echo ""
3693
+ echo "Note (since v7.5.30):"
3694
+ echo " Purple Lab is also embedded in the Dashboard as a Lab sidebar entry."
3695
+ echo " Run 'loki dashboard start' and click 'Lab' to use the same UI"
3696
+ echo " without spawning a second port. 'loki web' standalone remains"
3697
+ echo " supported (Rule 0); both modes serve the same React bundle."
3692
3698
  }
3693
3699
 
3694
3700
  cmd_web_start() {
@@ -7,7 +7,7 @@ Modules:
7
7
  control: Session control API (start/stop/pause/resume)
8
8
  """
9
9
 
10
- __version__ = "7.5.29"
10
+ __version__ = "7.5.31"
11
11
 
12
12
  # Expose the control app for easy import
13
13
  try:
@@ -755,6 +755,25 @@ app.add_middleware(
755
755
  from .api_v2 import router as api_v2_router
756
756
  app.include_router(api_v2_router)
757
757
 
758
+ # Phase Merge-4: Mount Purple Lab FastAPI app under /lab/ so it appears as a
759
+ # sidebar entry in Dashboard. Same `app` is also wrapped by `standalone_app`
760
+ # in web-app/server.py for `loki web` (port 57375). One source of truth, no
761
+ # duplicated UIs. Import is best-effort: if web-app is missing (e.g. partial
762
+ # install) the dashboard still starts; /lab/* returns 404 with a clear hint.
763
+ _PURPLE_LAB_MOUNTED = False
764
+ try:
765
+ import sys as _sys
766
+ from pathlib import Path as _Path
767
+ _webapp_dir = _Path(__file__).resolve().parent.parent / "web-app"
768
+ if str(_webapp_dir) not in _sys.path:
769
+ _sys.path.insert(0, str(_webapp_dir))
770
+ import server as _purple_lab_server # type: ignore[import-not-found]
771
+ app.mount("/lab", _purple_lab_server.app)
772
+ _PURPLE_LAB_MOUNTED = True
773
+ logger.info("Purple Lab mounted at /lab/ (Phase Merge-4)")
774
+ except Exception as _e: # noqa: BLE001
775
+ logger.warning("Purple Lab NOT mounted (Phase Merge-4): %s -- /lab/ will 404", _e)
776
+
758
777
 
759
778
  # Health endpoint
760
779
  @app.get("/health")
@@ -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:** v7.5.29
5
+ **Version:** v7.5.31
6
6
 
7
7
  ---
8
8
 
@@ -451,7 +451,7 @@ Subcommands:
451
451
 
452
452
  This command is invoked by autonomy/run.sh between iterations. Users
453
453
  should not run it directly -- run \`loki start\` instead.
454
- `,iK;var T7=L(()=>{y();_1();iK=o1});y();import{readFileSync as E7}from"fs";import{resolve as x7,dirname as F7}from"path";import{fileURLToPath as w7}from"url";var o=null;function i1(){if(o!==null)return o;let K="7.5.29";if(typeof K==="string"&&K.length>0)return o=K,o;try{let $=F7(w7(import.meta.url)),z=S1($);o=E7(x7(z,"VERSION"),"utf-8").trim()}catch{o="unknown"}return o}function e1(){return process.stdout.write(`Loki Mode v${i1()}
454
+ `,iK;var T7=L(()=>{y();_1();iK=o1});y();import{readFileSync as E7}from"fs";import{resolve as x7,dirname as F7}from"path";import{fileURLToPath as w7}from"url";var o=null;function i1(){if(o!==null)return o;let K="7.5.31";if(typeof K==="string"&&K.length>0)return o=K,o;try{let $=F7(w7(import.meta.url)),z=S1($);o=E7(x7(z,"VERSION"),"utf-8").trim()}catch{o="unknown"}return o}function e1(){return process.stdout.write(`Loki Mode v${i1()}
455
455
  `),0}p();n();y();import{readFileSync as C7,existsSync as h7}from"fs";import{resolve as b7}from"path";var y7=["claude","codex","cline","aider"];function $0(){let K=b7(P(),"state","provider");if(!h7(K))return"";try{return C7(K,"utf-8").trim()}catch{return""}}function v7(K,$){return K||$||process.env.LOKI_PROVIDER||"claude"}function g7(K){let $=$0(),z=v7(K,$);switch(process.stdout.write(`${k}Current Provider${W}
456
456
  `),process.stdout.write(`
457
457
  `),process.stdout.write(`${O}Provider:${W} ${z}
@@ -534,4 +534,4 @@ Set LOKI_LEGACY_BASH=1 to force the bash CLI for every command.
534
534
  `),2}default:return process.stderr.write(`Unknown command: ${$}
535
535
  `),process.stderr.write(A7),2}}process.on("SIGINT",()=>process.exit(130));process.on("SIGTERM",()=>process.exit(143));var $6=await K6(Bun.argv.slice(2));process.exit($6);
536
536
 
537
- //# debugId=296177BB08F8D57264756E2164756E21
537
+ //# debugId=F6366B267231CAD664756E2164756E21
package/mcp/__init__.py CHANGED
@@ -57,4 +57,4 @@ try:
57
57
  except ImportError:
58
58
  __all__ = ['mcp']
59
59
 
60
- __version__ = '7.5.29'
60
+ __version__ = '7.5.31'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "loki-mode",
3
- "version": "7.5.29",
3
+ "version": "7.5.31",
4
4
  "description": "Loki Mode by Autonomi. Multi-agent autonomous SDLC framework. Spec to deployed app: PRD, GitHub issue, OpenAPI/JSON/YAML, or one-line brief. 4 AI providers (Claude Code, OpenAI Codex, Cline, Aider). 11 quality gates.",
5
5
  "keywords": [
6
6
  "agent",