loki-mode 7.4.17 → 7.4.19

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 v7.4.17
6
+ # Loki Mode v7.4.19
7
7
 
8
8
  **You are an autonomous agent. You make decisions. You do not ask questions. You do not stop.**
9
9
 
@@ -322,4 +322,4 @@ The following features are documented in skill modules but not yet fully automat
322
322
  | Quality gates 3-reviewer system | Implemented (v5.35.0) | 5 specialist reviewers in `skills/quality-gates.md`; execution in run.sh |
323
323
  | Benchmarks (HumanEval, SWE-bench) | Infrastructure only | Runner scripts and datasets exist in `benchmarks/`; no published results |
324
324
 
325
- **v7.4.17 | [Autonomi](https://www.autonomi.dev/) flagship product | ~260 lines core**
325
+ **v7.4.19 | [Autonomi](https://www.autonomi.dev/) flagship product | ~260 lines core**
package/VERSION CHANGED
@@ -1 +1 @@
1
- 7.4.17
1
+ 7.4.19
@@ -7,7 +7,7 @@ Modules:
7
7
  control: Session control API (start/stop/pause/resume)
8
8
  """
9
9
 
10
- __version__ = "7.4.17"
10
+ __version__ = "7.4.19"
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:** v7.4.17
5
+ **Version:** v7.4.19
6
6
 
7
7
  ---
8
8
 
@@ -94,7 +94,7 @@ loki setup-skill
94
94
  ## PyPI / Python SDK
95
95
 
96
96
  **The `loki` CLI is NOT available via `pip install loki-mode`.** PyPI hosts only the
97
- Python REST client SDK at `loki-mode-sdk` (v7.4.17+). The dashboard, MCP server,
97
+ Python REST client SDK at `loki-mode-sdk` (v7.4.18+). The dashboard, MCP server,
98
98
  and orchestrator components ship via npm, Docker, and Homebrew only.
99
99
 
100
100
  ```bash
@@ -263,7 +263,7 @@ Start a session with: loki start <prd>`}}let Z=m0(X);return{exitCode:0,stdout:Q?
263
263
  `),0}async function $3(z){let Q=!1;for(let $ of z)if($==="--json")Q=!0;else if($==="--help"||$==="-h")return e0(),0;else return process.stderr.write(`${S}Unknown option: ${$}${K}
264
264
  `),process.stderr.write(`Usage: loki doctor [--json]
265
265
  `),1;if(Q){let $=await i1();return process.stdout.write(JSON.stringify($,null,2)+`
266
- `),0}return z3()}var r0,s0,i0;var z0=g(()=>{m();Q1();p();r0=/(\d+\.\d+(?:\.\d+)*)/;s0=[{name:"Claude Code",dir:".claude/skills/loki-mode"},{name:"Codex CLI",dir:".codex/skills/loki-mode"},{name:"Gemini CLI",dir:".gemini/skills/loki-mode"},{name:"Cline CLI",dir:".cline/skills/loki-mode"},{name:"Aider CLI",dir:".aider/skills/loki-mode"}];i0=[{displayName:"Node.js (>= 18)",jsonName:"Node.js",cmd:"node",required:"required",min:"18.0"},{displayName:"Python 3 (>= 3.8)",jsonName:"Python 3",cmd:"python3",required:"required",min:"3.8"},{displayName:"jq",jsonName:"jq",cmd:"jq",required:"required"},{displayName:"git",jsonName:"git",cmd:"git",required:"required"},{displayName:"curl",jsonName:"curl",cmd:"curl",required:"required"},{displayName:"bash (>= 4.0)",jsonName:"bash",cmd:"bash",required:"recommended",min:"4.0"},{displayName:"Bun (>= 1.3)",jsonName:"Bun",cmd:"bun",required:"recommended",min:"1.3"},{displayName:"Claude CLI",jsonName:"Claude CLI",cmd:"claude",required:"optional"},{displayName:"Codex CLI",jsonName:"Codex CLI",cmd:"codex",required:"optional"},{displayName:"Gemini CLI",jsonName:"Gemini CLI",cmd:"gemini",required:"optional"},{displayName:"Cline CLI",jsonName:"Cline CLI",cmd:"cline",required:"optional"},{displayName:"Aider CLI",jsonName:"Aider CLI",cmd:"aider",required:"optional"}]});h();import{readFileSync as U0}from"fs";import{resolve as V0,dirname as q0}from"path";import{fileURLToPath as G0}from"url";var v=null;function k1(){if(v!==null)return v;let z="7.4.17";if(typeof z==="string"&&z.length>0)return v=z,v;try{let Q=q0(G0(import.meta.url)),$=U1(Q);v=U0(V0($,"VERSION"),"utf-8").trim()}catch{v="unknown"}return v}function R1(){return process.stdout.write(`Loki Mode v${k1()}
266
+ `),0}return z3()}var r0,s0,i0;var z0=g(()=>{m();Q1();p();r0=/(\d+\.\d+(?:\.\d+)*)/;s0=[{name:"Claude Code",dir:".claude/skills/loki-mode"},{name:"Codex CLI",dir:".codex/skills/loki-mode"},{name:"Gemini CLI",dir:".gemini/skills/loki-mode"},{name:"Cline CLI",dir:".cline/skills/loki-mode"},{name:"Aider CLI",dir:".aider/skills/loki-mode"}];i0=[{displayName:"Node.js (>= 18)",jsonName:"Node.js",cmd:"node",required:"required",min:"18.0"},{displayName:"Python 3 (>= 3.8)",jsonName:"Python 3",cmd:"python3",required:"required",min:"3.8"},{displayName:"jq",jsonName:"jq",cmd:"jq",required:"required"},{displayName:"git",jsonName:"git",cmd:"git",required:"required"},{displayName:"curl",jsonName:"curl",cmd:"curl",required:"required"},{displayName:"bash (>= 4.0)",jsonName:"bash",cmd:"bash",required:"recommended",min:"4.0"},{displayName:"Bun (>= 1.3)",jsonName:"Bun",cmd:"bun",required:"recommended",min:"1.3"},{displayName:"Claude CLI",jsonName:"Claude CLI",cmd:"claude",required:"optional"},{displayName:"Codex CLI",jsonName:"Codex CLI",cmd:"codex",required:"optional"},{displayName:"Gemini CLI",jsonName:"Gemini CLI",cmd:"gemini",required:"optional"},{displayName:"Cline CLI",jsonName:"Cline CLI",cmd:"cline",required:"optional"},{displayName:"Aider CLI",jsonName:"Aider CLI",cmd:"aider",required:"optional"}]});h();import{readFileSync as U0}from"fs";import{resolve as V0,dirname as q0}from"path";import{fileURLToPath as G0}from"url";var v=null;function k1(){if(v!==null)return v;let z="7.4.19";if(typeof z==="string"&&z.length>0)return v=z,v;try{let Q=q0(G0(import.meta.url)),$=U1(Q);v=U0(V0($,"VERSION"),"utf-8").trim()}catch{v="unknown"}return v}function R1(){return process.stdout.write(`Loki Mode v${k1()}
267
267
  `),0}m();p();h();import{readFileSync as A0,existsSync as O0}from"fs";import{resolve as _0}from"path";var T0=["claude","codex","gemini","cline","aider"];function D1(){let z=_0(b(),"state","provider");if(!O0(z))return"";try{return A0(z,"utf-8").trim()}catch{return""}}function I0(z,Q){return z||Q||process.env.LOKI_PROVIDER||"claude"}function w0(z){let Q=D1(),$=I0(z,Q);switch(process.stdout.write(`${x}Current Provider${K}
268
268
  `),process.stdout.write(`
269
269
  `),process.stdout.write(`${G}Provider:${K} ${$}
@@ -339,4 +339,4 @@ Set LOKI_LEGACY_BASH=1 to force the bash CLI for every command.
339
339
  `;async function Q3(z){let Q=z[0],$=z.slice(1);switch(Q){case void 0:case"help":case"--help":case"-h":return process.stdout.write($0),0;case"version":case"--version":case"-v":return R1();case"provider":return E1($);case"memory":return N1($);case"status":{let{runStatus:X}=await Promise.resolve().then(() => (m1(),v1));return X($)}case"stats":{let{runStats:X}=await Promise.resolve().then(() => (d1(),l1));return X($)}case"doctor":{let{runDoctor:X}=await Promise.resolve().then(() => (z0(),e1));return X($)}default:return process.stderr.write(`Unknown command: ${Q}
340
340
  `),process.stderr.write($0),2}}process.on("SIGINT",()=>process.exit(130));process.on("SIGTERM",()=>process.exit(143));var X3=await Q3(Bun.argv.slice(2));process.exit(X3);
341
341
 
342
- //# debugId=097D97714E32434B64756E2164756E21
342
+ //# debugId=036CDD2D898C201A64756E2164756E21
package/mcp/__init__.py CHANGED
@@ -57,4 +57,4 @@ try:
57
57
  except ImportError:
58
58
  __all__ = ['mcp']
59
59
 
60
- __version__ = '7.4.17'
60
+ __version__ = '7.4.19'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "loki-mode",
3
- "version": "7.4.17",
3
+ "version": "7.4.19",
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",
@@ -173,17 +173,43 @@ resolve_model_for_tier() {
173
173
  echo "$effort"
174
174
  }
175
175
 
176
- # Tier-aware invocation
177
- # Codex CLI uses CODEX_MODEL_REASONING_EFFORT env var for effort control
178
- # LOKI_CODEX_REASONING_EFFORT is the canonical namespaced env var (v6.37.1+)
179
- # CODEX_MODEL_REASONING_EFFORT is supported for backward compatibility (deprecated)
176
+ # Tier-aware invocation.
177
+ #
178
+ # v7.4.18: aligned with codex CLI v0.125.0 (latest as of 2026-04-26).
179
+ # Replaced --full-auto preset with the explicit flags it expands to:
180
+ # --ask-for-approval never
181
+ # --sandbox danger-full-access
182
+ # Forward-compatible if the preset is renamed; readable in process listings.
183
+ #
184
+ # Optional env knobs:
185
+ # LOKI_CODEX_WEB_SEARCH=true enable codex --search (live web)
186
+ # LOKI_CODEX_OUTPUT_LAST=false disable --output-last-message capture
187
+ # (default ON; writes the final response
188
+ # to ${LOKI_LOG_FILE}.last-message)
189
+ #
190
+ # Codex CLI uses CODEX_MODEL_REASONING_EFFORT env var for effort control.
191
+ # LOKI_CODEX_REASONING_EFFORT is the canonical namespaced env var (v6.37.1+).
192
+ # CODEX_MODEL_REASONING_EFFORT is supported for backward compatibility.
180
193
  provider_invoke_with_tier() {
181
194
  local tier="$1"
182
195
  local prompt="$2"
183
196
  shift 2
184
197
  local effort
185
198
  effort=$(resolve_model_for_tier "$tier")
199
+
200
+ local extra_flags=()
201
+ if [ "${LOKI_CODEX_WEB_SEARCH:-false}" = "true" ]; then
202
+ extra_flags+=(--search)
203
+ fi
204
+ if [ "${LOKI_CODEX_OUTPUT_LAST:-true}" != "false" ] && [ -n "${LOKI_LOG_FILE:-}" ]; then
205
+ extra_flags+=(--output-last-message "${LOKI_LOG_FILE}.last-message")
206
+ fi
207
+
186
208
  LOKI_CODEX_REASONING_EFFORT="$effort" \
187
209
  CODEX_MODEL_REASONING_EFFORT="$effort" \
188
- codex exec --full-auto "$prompt" "$@"
210
+ codex exec \
211
+ --ask-for-approval never \
212
+ --sandbox danger-full-access \
213
+ "${extra_flags[@]}" \
214
+ "$prompt" "$@"
189
215
  }