loki-mode 6.50.0 → 6.50.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 v6.50.0
6
+ # Loki Mode v6.50.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.50.0 | [Autonomi](https://www.autonomi.dev/) flagship product | ~260 lines core**
270
+ **v6.50.1 | [Autonomi](https://www.autonomi.dev/) flagship product | ~260 lines core**
package/VERSION CHANGED
@@ -1 +1 @@
1
- 6.50.0
1
+ 6.50.1
package/autonomy/run.sh CHANGED
@@ -177,7 +177,9 @@ PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
177
177
  # Solution: Copy ourselves to /tmp and run from there. The original can be safely edited.
178
178
  #===============================================================================
179
179
  if [[ -z "${LOKI_RUNNING_FROM_TEMP:-}" ]] && [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
180
- TEMP_SCRIPT=$(mktemp /tmp/loki-run-XXXXXX.sh)
180
+ TEMP_SCRIPT=$(mktemp /tmp/loki-run-XXXXXX)
181
+ mv "$TEMP_SCRIPT" "${TEMP_SCRIPT}.sh"
182
+ TEMP_SCRIPT="${TEMP_SCRIPT}.sh"
181
183
  cp "${BASH_SOURCE[0]}" "$TEMP_SCRIPT"
182
184
  chmod 700 "$TEMP_SCRIPT"
183
185
  export LOKI_RUNNING_FROM_TEMP=1
@@ -7,7 +7,7 @@ Modules:
7
7
  control: Session control API (start/stop/pause/resume)
8
8
  """
9
9
 
10
- __version__ = "6.50.0"
10
+ __version__ = "6.50.1"
11
11
 
12
12
  # Expose the control app for easy import
13
13
  try:
@@ -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:** v6.50.0
5
+ **Version:** v6.50.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__ = '6.50.0'
60
+ __version__ = '6.50.1'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "loki-mode",
3
- "version": "6.50.0",
3
+ "version": "6.50.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",
package/web-app/server.py CHANGED
@@ -2261,10 +2261,19 @@ async def chat_session(session_id: str, req: ChatRequest) -> JSONResponse:
2261
2261
  task.returncode = 1
2262
2262
  task.complete = True
2263
2263
  return
2264
- if req.mode == "quick":
2265
- cmd_args = [loki, "quick", req.message]
2264
+ # All chat modes use 'loki quick' with the user's message as the task.
2265
+ # This runs claude (or configured provider) in the project directory
2266
+ # to make changes based on the user's prompt -- works both during
2267
+ # active sessions and post-completion for iterative development.
2268
+ if req.mode == "max":
2269
+ # Max mode: full loki start with the message as a PRD
2270
+ prd_path = target / ".loki" / "chat-prd.md"
2271
+ prd_path.parent.mkdir(parents=True, exist_ok=True)
2272
+ prd_path.write_text(req.message)
2273
+ cmd_args = [loki, "start", "--provider", "claude", str(prd_path)]
2266
2274
  else:
2267
- cmd_args = [loki, "start", "--provider", "claude", str(target / "PRD.md")]
2275
+ # Quick and Standard both use 'loki quick' -- fast, focused changes
2276
+ cmd_args = [loki, "quick", req.message]
2268
2277
  try:
2269
2278
  proc = subprocess.Popen(
2270
2279
  cmd_args,
@@ -2285,7 +2294,9 @@ async def chat_session(session_id: str, req: ChatRequest) -> JSONResponse:
2285
2294
  for raw_line in proc.stdout:
2286
2295
  if task.cancelled:
2287
2296
  break
2288
- task.output_lines.append(raw_line.rstrip("\n"))
2297
+ # Strip ANSI escape codes for clean display
2298
+ clean = re.sub(r'\x1b\[[0-9;]*[a-zA-Z]', '', raw_line.rstrip("\n"))
2299
+ task.output_lines.append(clean)
2289
2300
  proc.stdout.close()
2290
2301
 
2291
2302
  await asyncio.wait_for(
@@ -2314,14 +2325,31 @@ async def chat_session(session_id: str, req: ChatRequest) -> JSONResponse:
2314
2325
  except (ProcessLookupError, OSError):
2315
2326
  proc.kill()
2316
2327
  proc.wait()
2317
- # Detect changed files
2328
+ # Detect changed files (both committed and uncommitted)
2318
2329
  try:
2319
- result = subprocess.run(
2330
+ changed = set()
2331
+ # Check uncommitted changes (working tree + staged)
2332
+ r1 = subprocess.run(
2333
+ ["git", "diff", "--name-only"],
2334
+ cwd=str(target), capture_output=True, text=True, timeout=10,
2335
+ )
2336
+ if r1.returncode == 0:
2337
+ changed.update(f for f in r1.stdout.strip().splitlines() if f)
2338
+ # Check staged changes
2339
+ r2 = subprocess.run(
2340
+ ["git", "diff", "--name-only", "--cached"],
2341
+ cwd=str(target), capture_output=True, text=True, timeout=10,
2342
+ )
2343
+ if r2.returncode == 0:
2344
+ changed.update(f for f in r2.stdout.strip().splitlines() if f)
2345
+ # Check recent commit if any
2346
+ r3 = subprocess.run(
2320
2347
  ["git", "diff", "--name-only", "HEAD~1"],
2321
2348
  cwd=str(target), capture_output=True, text=True, timeout=10,
2322
2349
  )
2323
- if result.returncode == 0:
2324
- task.files_changed = [f for f in result.stdout.strip().splitlines() if f]
2350
+ if r3.returncode == 0:
2351
+ changed.update(f for f in r3.stdout.strip().splitlines() if f)
2352
+ task.files_changed = sorted(changed)
2325
2353
  except Exception:
2326
2354
  pass
2327
2355
  task.complete = True