@livx.cc/agentx 0.96.3 → 0.96.5
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/README.md +1 -1
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +11 -1
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -112,7 +112,7 @@ agentx --resume <id> "…" # resume a specific session
|
|
|
112
112
|
- **Syntax-highlighted code fences** — ```` ```ts ```` (and js/py/sh/go/rust/…) blocks render with keywords bold, strings green, numbers cyan, comments dim; unknown languages keep the plain cyan body. **TodoWrite plans** pin a compact `☑ 2/5 · current step` line into the idle footer.
|
|
113
113
|
- **`/agents`** — list subagent types from `./.agent/agents` (description, model, tool scope); `/agents new <name>` scaffolds a frontmatter'd definition for the `Task` tool's `agentType`. **`!<partial>` + menu** completes from past `!` shell commands. **`@server:uri`** mentions inline an MCP resource body into the prompt. Transient network drops mid-step retry automatically (2 attempts, backoff) instead of failing the turn.
|
|
114
114
|
- **Project instructions** — `./AGENTS.md` (or `CLAUDE.md`) auto-loads into every run; `/init` scaffolds one.
|
|
115
|
-
- **Any provider** — set `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `GOOGLE_API_KEY` / `GROQ_API_KEY`; choose with `-m provider/model`.
|
|
115
|
+
- **Any provider** — set `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `GOOGLE_API_KEY` / `GROQ_API_KEY`; choose with `-m provider/model`. Env files load with precedence: CWD `.env` (bun) → install-dir `.env` → `~/.agent/.env` (user-wide). **Bodify secrets**: set `BODIFY_API_KEY` + `BODIFY_APP_ID` (e.g. in `~/.agent/.env`) to pull provider keys from a Bodify app at startup — no local key management needed.
|
|
116
116
|
- **@-file mentions & headless JSON** — reference files inline in a prompt with `@path` (e.g. `explain @src/Agent.ts`; `~/` expands to the home directory; quote paths with spaces as `@"…"` — drag-dropped files, e.g. macOS screenshots, quote themselves automatically); script with `-p --output-format json` to get one machine-readable result object on stdout (activity stays on stderr).
|
|
117
117
|
- **Tab-completion** — `Tab` completes `/<command>` names and `@<path>` file/dir references (descends subdirs, dotfiles hidden unless typed) straight from the working tree.
|
|
118
118
|
- **Duplex mode** — `agentx --duplex` runs the full standard REPL (slash commands, sessions, postures, rewind, MCP) with the three-tier engine driving turns: a fast voice model (`--voice-model`, default `groq/openai/gpt-oss-120b`) answers every line instantly and delegates real work to background workers built with the same wiring as a normal run (fs mode, permissions, MCP); worker activity shows as dim chrome and results are re-voiced when ready. Switch any tier live with `/model` (opens a reflex/act/think picker), or the `/voice-model` · `/think-model` shortcuts. `/tasks` lists background tasks, inspects a task's live output tail, and cancels a running one from a picker (Esc mid-turn cancels the foreground turn; Esc again at the idle prompt cancels running workers).
|
package/dist/cli.d.ts
CHANGED
|
@@ -143,6 +143,7 @@ interface Args {
|
|
|
143
143
|
hardenNet?: boolean;
|
|
144
144
|
worktree?: string;
|
|
145
145
|
updateCheck?: boolean;
|
|
146
|
+
update?: boolean;
|
|
146
147
|
}
|
|
147
148
|
declare function parseArgs(argv: string[]): Args;
|
|
148
149
|
/** Hooks that render tool activity to stderr: a preToolUse header, and for edits a colorized diff.
|
package/dist/cli.js
CHANGED
|
@@ -10167,6 +10167,7 @@ function parseArgs(argv) {
|
|
|
10167
10167
|
else if (x === "--vfs" || x === "--sandbox") a.vfs = true;
|
|
10168
10168
|
else if (x === "--scratch") a.scratch = true;
|
|
10169
10169
|
else if (x === "--no-scratch") a.scratch = false;
|
|
10170
|
+
else if (x === "--update") a.update = true;
|
|
10170
10171
|
else if (x === "--no-update-check") a.updateCheck = false;
|
|
10171
10172
|
else if (x === "--boddb") a.boddb = val(++i, x);
|
|
10172
10173
|
else if (x === "--seed") a.seed = true;
|
|
@@ -10238,6 +10239,7 @@ Flags:
|
|
|
10238
10239
|
--plan plan mode: edits blocked until you approve a plan
|
|
10239
10240
|
--ask confirm each mutating tool (bash/Shell/Write/Edit/\u2026)
|
|
10240
10241
|
--yes, -y auto-approve mutating tools (no prompts) \u2014 for trusted/unattended runs
|
|
10242
|
+
--update check for updates and exit (no keys needed)
|
|
10241
10243
|
--no-update-check skip the automatic update check on startup
|
|
10242
10244
|
--verbose, --debug verbose logs (sets DEBUG=* \u2014 tool args, hook decisions, retries)
|
|
10243
10245
|
--allowedTools <l> comma-list of tools to allow w/o asking, e.g. "Edit,Shell(git *)"
|
|
@@ -10268,6 +10270,8 @@ Flags:
|
|
|
10268
10270
|
Prompts may reference files with @path (e.g. "explain @src/Agent.ts") \u2014 they're inlined.
|
|
10269
10271
|
|
|
10270
10272
|
Providers: set any of ANTHROPIC_API_KEY / OPENAI_API_KEY / GOOGLE_API_KEY / GROQ_API_KEY.
|
|
10273
|
+
Env files: .env (CWD, bun auto-loads) > install-dir .env > ~/.agent/.env (user-wide).
|
|
10274
|
+
Bodify secrets: set BODIFY_API_KEY + BODIFY_APP_ID (in ~/.agent/.env) to pull keys from a Bodify app.
|
|
10271
10275
|
Config: ./.agent/config.{ts,js,json} (project) or ~/.agent/config.* (user).
|
|
10272
10276
|
export default { model, maxSteps, reasoning, permissionMode, editorMode, tools, apiKeys, baseUrls, hooks, permissions, mcpServers, maxTokens,
|
|
10273
10277
|
timeoutMs, maxRepeats, maxToolCalls, keepToolOutputs, maxContextTokens,
|
|
@@ -13283,6 +13287,12 @@ async function main() {
|
|
|
13283
13287
|
console.log(HELP);
|
|
13284
13288
|
return;
|
|
13285
13289
|
}
|
|
13290
|
+
if (args.update) {
|
|
13291
|
+
const msg = await checkForUpdate(VERSION).catch(() => null);
|
|
13292
|
+
if (msg) console.log(msg);
|
|
13293
|
+
else console.log("\u2713 up to date (v" + VERSION + ")");
|
|
13294
|
+
return;
|
|
13295
|
+
}
|
|
13286
13296
|
if (args.debug) process.env.DEBUG ||= "*";
|
|
13287
13297
|
if (args.print && !args.task && !process.stdin.isTTY) args.task = (await readAllStdin()).trim();
|
|
13288
13298
|
let worktreeCleanup;
|
|
@@ -13328,7 +13338,7 @@ async function main() {
|
|
|
13328
13338
|
await loadBodifySecrets();
|
|
13329
13339
|
const apiKeys = { ...cfg.apiKeys, ...apiKeysFromEnv() };
|
|
13330
13340
|
if (!Object.keys(apiKeys).length) {
|
|
13331
|
-
console.error(red("No provider key found. Set ANTHROPIC_API_KEY (or OPENAI_API_KEY / GOOGLE_API_KEY / GROQ_API_KEY),
|
|
13341
|
+
console.error(red("No provider key found. Set ANTHROPIC_API_KEY (or OPENAI_API_KEY / GOOGLE_API_KEY / GROQ_API_KEY) in ~/.agent/.env, or set BODIFY_API_KEY + BODIFY_APP_ID to pull from Bodify."));
|
|
13332
13342
|
process.exit(1);
|
|
13333
13343
|
}
|
|
13334
13344
|
const ai = new AIClient({
|