agim-cli 1.2.57 → 1.2.59

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/CHANGELOG.md CHANGED
@@ -4,6 +4,83 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.2.59] - 2026-05-25
8
+
9
+ ### Fixed
10
+
11
+ - **Native runaway delegation loop** — under deepseek-v4 the native agent
12
+ would chain `mcp__imhub__call_agent('claude-code', …)` repeatedly
13
+ inside a single turn (observed: 8 chained delegations across 11
14
+ minutes on one wechat thread before the user had to `/abort`). The
15
+ model picked call_agent over its own native fs tools even after
16
+ v1.2.58 added them. Three changes close it:
17
+ - **Per-turn cap** in `imhub-dispatcher.ts`: refuses further
18
+ `call_agent` after 2 delegations per turn (override with
19
+ `IMHUB_NATIVE_CALL_AGENT_MAX_PER_TURN`, set 0 to disable). Refusal
20
+ message tells the model exactly which native tools to try instead,
21
+ so it self-corrects on the next iteration.
22
+ - **System-prompt HARD RULE** in `native/index.ts`: for read-file /
23
+ list-dir / search-content / fetch-URL the model MUST first try
24
+ `native_read_file` / `native_list_dir` / `native_grep` /
25
+ `native_glob` / `native_web_fetch`, and only call_agent for tasks
26
+ that genuinely need a CLI agent's specialised capabilities.
27
+ - **Delegation logging**:
28
+ `event=native.call_agent.delegated attempt=N cap=M` per delegation
29
+ and `event=native.call_agent.cap_exceeded` when refused, so the
30
+ operator can spot delegation storms in journalctl quickly.
31
+ - **`/native` (and other agent-name slash commands) treated as plain
32
+ prompt when already on that agent** — caused native to call_agent
33
+ for trivial identity messages. Added a system-prompt short-input
34
+ rule: if the user message is only an agent slash alias and the
35
+ current agent matches, reply with ONE short identity line and call
36
+ NO tools.
37
+
38
+ ### Deferred
39
+
40
+ - `native_exec` (one-shot shell), `native_web_fetch`, `native_web_search`
41
+ (duckduckgo → metaso fallback), `mcp__imhub__long_task` /
42
+ `complete_goal`, and the bwrap sandbox path all move to v1.2.60.
43
+ Scope split: v1.2.59 is a focused hotfix for the user-visible
44
+ delegation loop; v1.2.60 returns to the bigger tool batch.
45
+
46
+ ## [1.2.58] - 2026-05-25
47
+
48
+ ### Added
49
+
50
+ - **5 native filesystem tools** (`fs-dispatcher.ts`) — closes the biggest
51
+ gap vs nanobot / Claude / Codex. Before v1.2.58 the native agent had
52
+ to A2A-delegate every "read this file" / "list this dir" / "grep
53
+ for X" to a CLI sub-agent, which paid the full claude-code spawn
54
+ cost and risked the 30-min hard timeout:
55
+ - `native_read_file(path, max_bytes?)` — UTF-8 read, truncates over 256KB
56
+ - `native_write_file(path, content, mode?)` — overwrite or append, 1MB cap
57
+ - `native_list_dir(path, max_entries?)` — entry name + type + size
58
+ - `native_glob(pattern, root?, max_results?)` — uses ripgrep when
59
+ available; falls back to fs walk with a minimatch-style matcher
60
+ - `native_grep(pattern, path?, glob?, output_mode?, max_matches?,
61
+ case_insensitive?)` — ripgrep wrapper (rg required for now)
62
+ - **Workspace restriction** — default-on via `IMHUB_NATIVE_FS_RESTRICT`
63
+ (`'0'` disables). When on, every fs tool's path must resolve under
64
+ the per-thread native cwd subtree (typically
65
+ `~/.agim-workspaces/native/<thread>/`). Sensitive-path denylist
66
+ (`sensitive-paths.ts`) applies even when restriction is off.
67
+ - **Per-tool wall-clock** — every fs tool races against
68
+ `IMHUB_NATIVE_FS_TIMEOUT_MS` (default 60_000). Prevents a slow
69
+ remote-mounted file from hanging the whole agent loop.
70
+ - **Default auto-allow** for the 4 read-only fs tools
71
+ (`native_read_file` / `native_list_dir` / `native_glob` /
72
+ `native_grep`) so native doesn't pop an IM card for every file
73
+ inspection. `native_write_file` stays approval-gated by default —
74
+ operators who trust native can add it via
75
+ `IMHUB_NATIVE_AGENT_AUTOALLOW`.
76
+
77
+ ### Deferred
78
+
79
+ - `native_exec` (one-shot shell), `web_fetch`, `web_search` (duckduckgo
80
+ → metaso fallback), `long_task` / `complete_goal` MCP tools, and the
81
+ bwrap sandbox path are scheduled for v1.2.59 — kept separate so the
82
+ higher-risk pieces can be reviewed without dragging the fs additions.
83
+
7
84
  ## [1.2.57] - 2026-05-25
8
85
 
9
86
  ### Added
@@ -0,0 +1,9 @@
1
+ import type { ToolDef } from './provider-base.js';
2
+ import type { ToolDispatcher } from './tool-dispatcher.js';
3
+ export declare function isFsToolName(name: string): boolean;
4
+ export declare function getFsTools(): ToolDef[];
5
+ export interface FsContext {
6
+ cwd: string;
7
+ }
8
+ export declare function buildFsDispatcher(ctx: FsContext): ToolDispatcher;
9
+ //# sourceMappingURL=fs-dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/core/llm/fs-dispatcher.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAmB5E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,UAAU,IAAI,OAAO,EAAE,CAsFtC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,GAAG,cAAc,CAkBhE"}
@@ -0,0 +1,506 @@
1
+ // fs-dispatcher — filesystem + content-search tools for the native agent.
2
+ //
3
+ // Closes a major gap vs nanobot / Claude / Codex: native could read its
4
+ // own skill catalog and call sub-agents, but it had no `read_file` /
5
+ // `write_file` / `list_dir` / `glob` / `grep`. That forced every
6
+ // "look at this file" / "what's in this dir" request to fan out to a
7
+ // CLI sub-agent over A2A — slow, costly, and a 30-min hard timeout
8
+ // landmine (see the v1.2.56 crash-loop fix).
9
+ //
10
+ // All five tools are constrained by default to the native agent's per-
11
+ // thread cwd subtree (typically ~/.agim-workspaces/native/<thread>/).
12
+ // Operators who want broader access set IMHUB_NATIVE_FS_RESTRICT=0 —
13
+ // even then, the sensitive-paths.ts denylist still applies so
14
+ // ~/.agim/, /etc/shadow, etc. remain blocked.
15
+ //
16
+ // Tools shipped here:
17
+ // * native_read_file(path, max_bytes?)
18
+ // * native_write_file(path, content, mode?)
19
+ // * native_list_dir(path, max_entries?)
20
+ // * native_glob(pattern, root?, max_results?)
21
+ // * native_grep(pattern, path?, glob?, output_mode?, max_matches?, case_insensitive?)
22
+ //
23
+ // Per-tool wall-clock: each handler races against IMHUB_NATIVE_FS_TIMEOUT_MS
24
+ // (default 60_000). Honors the loop AbortSignal too.
25
+ import { promises as fs, statSync } from 'node:fs';
26
+ import { resolve as resolvePath, isAbsolute, relative, sep } from 'node:path';
27
+ import { spawn } from 'node:child_process';
28
+ import { homedir } from 'node:os';
29
+ import { logger as rootLogger } from '../logger.js';
30
+ import { isSensitivePath } from '../sensitive-paths.js';
31
+ const log = rootLogger.child({ component: 'fs-dispatcher' });
32
+ const DEFAULT_TIMEOUT_MS = 60_000;
33
+ const DEFAULT_READ_MAX_BYTES = 256 * 1024; // 256 KB
34
+ const DEFAULT_WRITE_MAX_BYTES = 1 * 1024 * 1024; // 1 MB
35
+ const DEFAULT_LIST_MAX_ENTRIES = 500;
36
+ const DEFAULT_GLOB_MAX_RESULTS = 500;
37
+ const DEFAULT_GREP_MAX_MATCHES = 200;
38
+ const FS_TOOL_NAMES = [
39
+ 'native_read_file',
40
+ 'native_write_file',
41
+ 'native_list_dir',
42
+ 'native_glob',
43
+ 'native_grep',
44
+ ];
45
+ export function isFsToolName(name) {
46
+ return FS_TOOL_NAMES.includes(name);
47
+ }
48
+ export function getFsTools() {
49
+ return [
50
+ {
51
+ name: 'native_read_file',
52
+ description: 'Read a UTF-8 text file by path. Default max 256KB. Paths resolve against the agent cwd; ' +
53
+ 'absolute paths are allowed but constrained to the workspace subtree unless ' +
54
+ 'IMHUB_NATIVE_FS_RESTRICT=0. Sensitive paths (~/.agim, /etc/shadow, etc.) are always denied.',
55
+ parameters: {
56
+ type: 'object',
57
+ properties: {
58
+ path: { type: 'string', description: 'File path (absolute or relative to cwd).' },
59
+ max_bytes: { type: 'number', description: 'Max bytes to read (default 262144).' },
60
+ },
61
+ required: ['path'],
62
+ additionalProperties: false,
63
+ },
64
+ },
65
+ {
66
+ name: 'native_write_file',
67
+ description: 'Write or overwrite a UTF-8 text file. Default max 1MB. Same path-safety rules as ' +
68
+ 'native_read_file. Creates parent directories as needed.',
69
+ parameters: {
70
+ type: 'object',
71
+ properties: {
72
+ path: { type: 'string', description: 'File path.' },
73
+ content: { type: 'string', description: 'Full file content (overwrites).' },
74
+ mode: { type: 'string', enum: ['overwrite', 'append'], description: 'overwrite (default) or append.' },
75
+ },
76
+ required: ['path', 'content'],
77
+ additionalProperties: false,
78
+ },
79
+ },
80
+ {
81
+ name: 'native_list_dir',
82
+ description: 'List entries in a directory. Returns up to 500 entries with type (file|dir|symlink|other) ' +
83
+ 'and byte size. Hidden entries (starting with .) included.',
84
+ parameters: {
85
+ type: 'object',
86
+ properties: {
87
+ path: { type: 'string', description: 'Directory path.' },
88
+ max_entries: { type: 'number', description: 'Max entries returned (default 500).' },
89
+ },
90
+ required: ['path'],
91
+ additionalProperties: false,
92
+ },
93
+ },
94
+ {
95
+ name: 'native_glob',
96
+ description: 'Find files matching a glob pattern. Pattern syntax matches "**/*.ts", "src/**/*.{js,ts}", etc. ' +
97
+ 'Returned paths are relative to root (default: agent cwd).',
98
+ parameters: {
99
+ type: 'object',
100
+ properties: {
101
+ pattern: { type: 'string', description: 'Glob pattern.' },
102
+ root: { type: 'string', description: 'Root directory (default cwd).' },
103
+ max_results: { type: 'number', description: 'Max paths returned (default 500).' },
104
+ },
105
+ required: ['pattern'],
106
+ additionalProperties: false,
107
+ },
108
+ },
109
+ {
110
+ name: 'native_grep',
111
+ description: 'Search file contents with a regex. Uses ripgrep when available, falls back to a fs walk. ' +
112
+ 'output_mode: "content" returns matching lines, "files" returns matching file paths, ' +
113
+ '"count" returns per-file counts. Default "content".',
114
+ parameters: {
115
+ type: 'object',
116
+ properties: {
117
+ pattern: { type: 'string', description: 'Regex pattern.' },
118
+ path: { type: 'string', description: 'File or directory to search (default cwd).' },
119
+ glob: { type: 'string', description: 'Optional glob filter, e.g. "*.ts".' },
120
+ output_mode: { type: 'string', enum: ['content', 'files', 'count'] },
121
+ max_matches: { type: 'number', description: 'Max match lines (default 200).' },
122
+ case_insensitive: { type: 'boolean' },
123
+ },
124
+ required: ['pattern'],
125
+ additionalProperties: false,
126
+ },
127
+ },
128
+ ];
129
+ }
130
+ export function buildFsDispatcher(ctx) {
131
+ return async (call, signal) => {
132
+ if (!isFsToolName(call.name)) {
133
+ return { text: `not handled: ${call.name}`, isError: true, source: 'unknown' };
134
+ }
135
+ const timeoutMs = resolveTimeoutMs();
136
+ try {
137
+ return await raceTimeout(runOne(call.name, call.arguments, ctx, signal), timeoutMs, call.name);
138
+ }
139
+ catch (err) {
140
+ const msg = err instanceof Error ? err.message : String(err);
141
+ log.warn({ event: 'fs.tool.error', tool: call.name, err: msg });
142
+ return { text: `${call.name} failed: ${msg}`, isError: true, source: 'fs' };
143
+ }
144
+ };
145
+ }
146
+ async function runOne(name, args, ctx, signal) {
147
+ switch (name) {
148
+ case 'native_read_file': return runReadFile(args, ctx);
149
+ case 'native_write_file': return runWriteFile(args, ctx);
150
+ case 'native_list_dir': return runListDir(args, ctx);
151
+ case 'native_glob': return runGlob(args, ctx, signal);
152
+ case 'native_grep': return runGrep(args, ctx, signal);
153
+ default:
154
+ return { text: `unknown fs tool: ${name}`, isError: true, source: 'fs' };
155
+ }
156
+ }
157
+ // ─── path safety ─────────────────────────────────────────────────────
158
+ /** Default-on workspace restriction. Operators can set
159
+ * IMHUB_NATIVE_FS_RESTRICT=0 to allow paths outside cwd subtree;
160
+ * sensitive-paths.ts still applies even when this is off. */
161
+ function workspaceRestricted() {
162
+ return process.env.IMHUB_NATIVE_FS_RESTRICT !== '0';
163
+ }
164
+ function resolveAndCheck(input, ctx) {
165
+ if (typeof input !== 'string' || input.length === 0) {
166
+ return { abs: '', ok: false, reason: 'path must be a non-empty string' };
167
+ }
168
+ let raw = input;
169
+ if (raw === '~')
170
+ raw = homedir();
171
+ else if (raw.startsWith('~/'))
172
+ raw = homedir() + raw.slice(1);
173
+ const abs = isAbsolute(raw) ? raw : resolvePath(ctx.cwd, raw);
174
+ const sens = isSensitivePath(abs, { cwd: ctx.cwd });
175
+ if (sens.sensitive)
176
+ return { abs, ok: false, reason: `sensitive path: ${sens.reason}` };
177
+ if (workspaceRestricted()) {
178
+ const rel = relative(ctx.cwd, abs);
179
+ if (rel.startsWith('..') || (rel.length > 0 && isAbsolute(rel))) {
180
+ return {
181
+ abs,
182
+ ok: false,
183
+ reason: `path "${abs}" is outside workspace "${ctx.cwd}". ` +
184
+ 'Set IMHUB_NATIVE_FS_RESTRICT=0 to allow broader access.',
185
+ };
186
+ }
187
+ }
188
+ return { abs, ok: true };
189
+ }
190
+ // ─── tools ───────────────────────────────────────────────────────────
191
+ async function runReadFile(args, ctx) {
192
+ const p = resolveAndCheck(args.path, ctx);
193
+ if (!p.ok)
194
+ return { text: p.reason ?? 'invalid path', isError: true, source: 'fs' };
195
+ const maxBytes = clampNumber(args.max_bytes, DEFAULT_READ_MAX_BYTES, 1, 8 * 1024 * 1024);
196
+ try {
197
+ const st = await fs.stat(p.abs);
198
+ if (!st.isFile())
199
+ return { text: `not a file: ${p.abs}`, isError: true, source: 'fs' };
200
+ if (st.size > maxBytes) {
201
+ const head = await fs.open(p.abs, 'r');
202
+ try {
203
+ const buf = Buffer.alloc(maxBytes);
204
+ const { bytesRead } = await head.read(buf, 0, maxBytes, 0);
205
+ return {
206
+ text: `[truncated: file is ${st.size} bytes, read first ${bytesRead}]\n${buf.subarray(0, bytesRead).toString('utf-8')}`,
207
+ isError: false,
208
+ source: 'fs',
209
+ };
210
+ }
211
+ finally {
212
+ await head.close();
213
+ }
214
+ }
215
+ const data = await fs.readFile(p.abs, 'utf-8');
216
+ return { text: data, isError: false, source: 'fs' };
217
+ }
218
+ catch (err) {
219
+ return { text: `read_file failed: ${errMsg(err)}`, isError: true, source: 'fs' };
220
+ }
221
+ }
222
+ async function runWriteFile(args, ctx) {
223
+ const p = resolveAndCheck(args.path, ctx);
224
+ if (!p.ok)
225
+ return { text: p.reason ?? 'invalid path', isError: true, source: 'fs' };
226
+ const content = typeof args.content === 'string' ? args.content : '';
227
+ if (Buffer.byteLength(content, 'utf-8') > DEFAULT_WRITE_MAX_BYTES) {
228
+ return {
229
+ text: `write_file refused: content > ${DEFAULT_WRITE_MAX_BYTES} bytes`,
230
+ isError: true,
231
+ source: 'fs',
232
+ };
233
+ }
234
+ const mode = args.mode === 'append' ? 'append' : 'overwrite';
235
+ try {
236
+ const parent = p.abs.includes(sep) ? p.abs.slice(0, p.abs.lastIndexOf(sep)) : '.';
237
+ await fs.mkdir(parent, { recursive: true });
238
+ if (mode === 'append')
239
+ await fs.appendFile(p.abs, content, 'utf-8');
240
+ else
241
+ await fs.writeFile(p.abs, content, 'utf-8');
242
+ const after = await fs.stat(p.abs);
243
+ return {
244
+ text: `wrote ${after.size} bytes to ${p.abs} (${mode})`,
245
+ isError: false,
246
+ source: 'fs',
247
+ };
248
+ }
249
+ catch (err) {
250
+ return { text: `write_file failed: ${errMsg(err)}`, isError: true, source: 'fs' };
251
+ }
252
+ }
253
+ async function runListDir(args, ctx) {
254
+ const p = resolveAndCheck(args.path, ctx);
255
+ if (!p.ok)
256
+ return { text: p.reason ?? 'invalid path', isError: true, source: 'fs' };
257
+ const maxEntries = clampNumber(args.max_entries, DEFAULT_LIST_MAX_ENTRIES, 1, 5000);
258
+ try {
259
+ const entries = await fs.readdir(p.abs, { withFileTypes: true });
260
+ const rows = [];
261
+ for (const e of entries.slice(0, maxEntries)) {
262
+ const type = e.isDirectory() ? 'dir'
263
+ : e.isFile() ? 'file'
264
+ : e.isSymbolicLink() ? 'symlink'
265
+ : 'other';
266
+ let size;
267
+ if (type === 'file') {
268
+ try {
269
+ size = (await fs.stat(resolvePath(p.abs, e.name))).size;
270
+ }
271
+ catch { /* ignore */ }
272
+ }
273
+ rows.push({ name: e.name, type, ...(size !== undefined ? { size } : {}) });
274
+ }
275
+ const truncated = entries.length > maxEntries;
276
+ return {
277
+ text: JSON.stringify({ path: p.abs, total: entries.length, returned: rows.length, truncated, entries: rows }, null, 2),
278
+ isError: false,
279
+ source: 'fs',
280
+ };
281
+ }
282
+ catch (err) {
283
+ return { text: `list_dir failed: ${errMsg(err)}`, isError: true, source: 'fs' };
284
+ }
285
+ }
286
+ async function runGlob(args, ctx, signal) {
287
+ const pattern = typeof args.pattern === 'string' ? args.pattern : '';
288
+ if (!pattern)
289
+ return { text: 'pattern required', isError: true, source: 'fs' };
290
+ const rootInput = typeof args.root === 'string' ? args.root : '.';
291
+ const p = resolveAndCheck(rootInput, ctx);
292
+ if (!p.ok)
293
+ return { text: p.reason ?? 'invalid root', isError: true, source: 'fs' };
294
+ const maxResults = clampNumber(args.max_results, DEFAULT_GLOB_MAX_RESULTS, 1, 5000);
295
+ // Use ripgrep --files if available — it's faster + respects .gitignore.
296
+ // Otherwise fall back to a recursive walk + minimatch-style suffix
297
+ // matching (intentionally simple; agent can re-narrow with grep).
298
+ try {
299
+ const rgResult = await tryRipgrepFiles(p.abs, pattern, maxResults, signal);
300
+ if (rgResult.ok) {
301
+ return { text: rgResult.text, isError: false, source: 'fs' };
302
+ }
303
+ const fallback = await walkAndMatch(p.abs, pattern, maxResults, signal);
304
+ return { text: fallback, isError: false, source: 'fs' };
305
+ }
306
+ catch (err) {
307
+ return { text: `glob failed: ${errMsg(err)}`, isError: true, source: 'fs' };
308
+ }
309
+ }
310
+ async function runGrep(args, ctx, signal) {
311
+ const pattern = typeof args.pattern === 'string' ? args.pattern : '';
312
+ if (!pattern)
313
+ return { text: 'pattern required', isError: true, source: 'fs' };
314
+ const inputPath = typeof args.path === 'string' ? args.path : '.';
315
+ const p = resolveAndCheck(inputPath, ctx);
316
+ if (!p.ok)
317
+ return { text: p.reason ?? 'invalid path', isError: true, source: 'fs' };
318
+ const glob = typeof args.glob === 'string' ? args.glob : undefined;
319
+ const mode = args.output_mode === 'files' || args.output_mode === 'count' ? args.output_mode : 'content';
320
+ const maxMatches = clampNumber(args.max_matches, DEFAULT_GREP_MAX_MATCHES, 1, 2000);
321
+ const ci = args.case_insensitive === true;
322
+ try {
323
+ const r = await runRipgrepSearch(pattern, p.abs, { glob, mode, maxMatches, ci, signal });
324
+ if (r.ok)
325
+ return { text: r.text, isError: false, source: 'fs' };
326
+ return { text: `grep failed: ${r.reason}`, isError: true, source: 'fs' };
327
+ }
328
+ catch (err) {
329
+ return { text: `grep failed: ${errMsg(err)}`, isError: true, source: 'fs' };
330
+ }
331
+ }
332
+ // ─── ripgrep wrappers ────────────────────────────────────────────────
333
+ async function tryRipgrepFiles(root, pattern, max, signal) {
334
+ if (!hasRipgrep())
335
+ return { ok: false, text: '' };
336
+ const args = ['--files', '--glob', pattern, '--no-messages'];
337
+ try {
338
+ const out = await runCmd('rg', args, { cwd: root, signal });
339
+ if (out.exitCode !== 0 && out.stdout.length === 0)
340
+ return { ok: false, text: out.stderr };
341
+ const lines = out.stdout.split('\n').filter((l) => l.length > 0);
342
+ const slice = lines.slice(0, max);
343
+ return {
344
+ ok: true,
345
+ text: JSON.stringify({ root, count: lines.length, truncated: lines.length > max, files: slice }, null, 2),
346
+ };
347
+ }
348
+ catch {
349
+ return { ok: false, text: '' };
350
+ }
351
+ }
352
+ async function runRipgrepSearch(pattern, path, opts) {
353
+ if (!hasRipgrep())
354
+ return { ok: false, text: '', reason: 'ripgrep not installed (only rg-based grep supported in v1.2.58)' };
355
+ const args = ['--no-messages'];
356
+ if (opts.ci)
357
+ args.push('-i');
358
+ if (opts.glob)
359
+ args.push('--glob', opts.glob);
360
+ if (opts.mode === 'files')
361
+ args.push('-l');
362
+ if (opts.mode === 'count')
363
+ args.push('-c');
364
+ if (opts.mode === 'content')
365
+ args.push('-n', `-m`, String(opts.maxMatches));
366
+ args.push('--', pattern, path);
367
+ const out = await runCmd('rg', args, { signal: opts.signal });
368
+ if (out.exitCode !== 0 && out.exitCode !== 1) {
369
+ return { ok: false, text: '', reason: out.stderr.trim() || `rg exit ${out.exitCode}` };
370
+ }
371
+ const lines = out.stdout.split('\n').filter((l) => l.length > 0);
372
+ const slice = opts.mode === 'content' ? lines.slice(0, opts.maxMatches) : lines;
373
+ return {
374
+ ok: true,
375
+ text: JSON.stringify({
376
+ pattern,
377
+ path,
378
+ mode: opts.mode,
379
+ total: lines.length,
380
+ truncated: opts.mode === 'content' && lines.length > opts.maxMatches,
381
+ results: slice,
382
+ }, null, 2),
383
+ };
384
+ }
385
+ let _rgCheckCache;
386
+ function hasRipgrep() {
387
+ if (_rgCheckCache !== undefined)
388
+ return _rgCheckCache;
389
+ try {
390
+ statSync('/usr/bin/rg');
391
+ _rgCheckCache = true;
392
+ return true;
393
+ }
394
+ catch { /* try PATH below */ }
395
+ try {
396
+ statSync('/usr/local/bin/rg');
397
+ _rgCheckCache = true;
398
+ return true;
399
+ }
400
+ catch { /* fall through */ }
401
+ _rgCheckCache = false;
402
+ return false;
403
+ }
404
+ function runCmd(bin, args, opts) {
405
+ return new Promise((resolve) => {
406
+ const child = spawn(bin, args, { cwd: opts.cwd, signal: opts.signal });
407
+ let stdout = '';
408
+ let stderr = '';
409
+ child.stdout.setEncoding('utf-8');
410
+ child.stderr.setEncoding('utf-8');
411
+ child.stdout.on('data', (chunk) => { stdout += chunk; });
412
+ child.stderr.on('data', (chunk) => { stderr += chunk; });
413
+ child.on('close', (code) => resolve({ exitCode: code ?? -1, stdout, stderr }));
414
+ child.on('error', (err) => resolve({ exitCode: -1, stdout, stderr: err.message }));
415
+ });
416
+ }
417
+ // ─── fallback glob (no rg) ───────────────────────────────────────────
418
+ async function walkAndMatch(root, pattern, max, signal) {
419
+ const matcher = simpleGlobToRegex(pattern);
420
+ const out = [];
421
+ const queue = [root];
422
+ while (queue.length > 0 && out.length < max) {
423
+ if (signal.aborted)
424
+ break;
425
+ const dir = queue.shift();
426
+ let entries = [];
427
+ try {
428
+ entries = await fs.readdir(dir, { withFileTypes: true });
429
+ }
430
+ catch {
431
+ continue;
432
+ }
433
+ for (const e of entries) {
434
+ const full = resolvePath(dir, e.name);
435
+ const rel = relative(root, full);
436
+ if (e.isDirectory()) {
437
+ if (e.name === 'node_modules' || e.name === '.git')
438
+ continue;
439
+ queue.push(full);
440
+ }
441
+ else if (e.isFile() && matcher.test(rel)) {
442
+ out.push(rel);
443
+ if (out.length >= max)
444
+ break;
445
+ }
446
+ }
447
+ }
448
+ return JSON.stringify({ root, count: out.length, truncated: out.length >= max, files: out }, null, 2);
449
+ }
450
+ function simpleGlobToRegex(pattern) {
451
+ // Tiny glob→regex matching fast-glob / minimatch behavior closely
452
+ // enough for typical patterns:
453
+ // "**/" → (?:.*/)? (zero or more dirs incl. root)
454
+ // "**" → .*
455
+ // "*" → [^/]*
456
+ // "?" → .
457
+ // everything else literal
458
+ //
459
+ // CRITICAL: the glob `?` → regex `.` replacement must happen BEFORE
460
+ // we insert any regex construct that contains a literal `?` (e.g.
461
+ // `(?:.*/)?`). Otherwise the inserted `?` gets clobbered. Same for
462
+ // `*` — escape glob wildcards into placeholders first, then expand
463
+ // the placeholders last.
464
+ const escaped = pattern
465
+ .replace(/[.+^${}()|[\]\\]/g, '\\$&')
466
+ .replace(/\?/g, '.')
467
+ .replace(/\*\*\//g, '__DBSTAR_SLASH__')
468
+ .replace(/\*\*/g, '__DBSTAR__')
469
+ .replace(/\*/g, '[^/]*')
470
+ .replace(/__DBSTAR_SLASH__/g, '(?:.*/)?')
471
+ .replace(/__DBSTAR__/g, '.*');
472
+ return new RegExp(`^${escaped}$`);
473
+ }
474
+ // ─── helpers ─────────────────────────────────────────────────────────
475
+ function resolveTimeoutMs() {
476
+ const raw = process.env.IMHUB_NATIVE_FS_TIMEOUT_MS;
477
+ if (raw) {
478
+ const n = Number(raw);
479
+ if (Number.isFinite(n) && n > 0 && n <= 600_000)
480
+ return n;
481
+ }
482
+ return DEFAULT_TIMEOUT_MS;
483
+ }
484
+ async function raceTimeout(p, ms, tag) {
485
+ let timer;
486
+ const timeout = new Promise((_, reject) => {
487
+ timer = setTimeout(() => reject(new Error(`${tag} timed out after ${ms}ms`)), ms);
488
+ });
489
+ try {
490
+ return await Promise.race([p, timeout]);
491
+ }
492
+ finally {
493
+ if (timer)
494
+ clearTimeout(timer);
495
+ }
496
+ }
497
+ function clampNumber(input, dflt, min, max) {
498
+ const n = typeof input === 'number' ? input : Number(input);
499
+ if (!Number.isFinite(n))
500
+ return dflt;
501
+ return Math.max(min, Math.min(max, Math.floor(n)));
502
+ }
503
+ function errMsg(err) {
504
+ return err instanceof Error ? err.message : String(err);
505
+ }
506
+ //# sourceMappingURL=fs-dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-dispatcher.js","sourceRoot":"","sources":["../../../src/core/llm/fs-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"imhub-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/core/llm/imhub-dispatcher.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,sBAAsB,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAUjD;;iBAEiB;AACjB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,UAAU,CAAA;IAC1B,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AA4BD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,EAAE,CAoIzC;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,GAAG,cAAc,CAmG5E"}
1
+ {"version":3,"file":"imhub-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/core/llm/imhub-dispatcher.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,sBAAsB,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAUjD;;iBAEiB;AACjB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,UAAU,CAAA;IAC1B,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AA4BD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,EAAE,CAoIzC;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,GAAG,cAAc,CAgJ5E"}
@@ -202,6 +202,19 @@ export function buildImhubDispatcher(ctx) {
202
202
  userId: ctx.userId,
203
203
  channelId: ctx.channelId,
204
204
  };
205
+ // v1.2.59 A — per-turn call_agent cap. Closure state is scoped to ONE
206
+ // dispatcher instance, which native rebuilds per turn — so the counter
207
+ // resets on every new user message. Default 2; override with
208
+ // IMHUB_NATIVE_CALL_AGENT_MAX_PER_TURN. Set 0 to disable the cap
209
+ // (legacy unlimited behavior).
210
+ const callAgentMaxPerTurn = (() => {
211
+ const raw = process.env.IMHUB_NATIVE_CALL_AGENT_MAX_PER_TURN;
212
+ if (!raw)
213
+ return 2;
214
+ const n = Number(raw);
215
+ return Number.isFinite(n) && n >= 0 ? Math.floor(n) : 2;
216
+ })();
217
+ let callAgentCount = 0;
205
218
  return async (call, signal) => {
206
219
  if (!call.name.startsWith('mcp__imhub__'))
207
220
  return unknown(call.name);
@@ -266,6 +279,36 @@ export function buildImhubDispatcher(ctx) {
266
279
  const prompt = typeof args.prompt === 'string' ? args.prompt : '';
267
280
  if (!agentName || !prompt)
268
281
  return err('call_agent requires both `agent` (string) and `prompt` (string).');
282
+ // v1.2.59 A — enforce per-turn cap. Without this, a model that
283
+ // keeps delegating ("ask claude-code again, that wasn't enough")
284
+ // can chain dozens of A2A calls per single user turn — observed
285
+ // 8 chained calls in one wechat turn before the user had to
286
+ // /abort. The cap is also visible in the deny message so the
287
+ // model self-corrects on its next iteration.
288
+ if (callAgentMaxPerTurn > 0 && callAgentCount >= callAgentMaxPerTurn) {
289
+ log.warn({
290
+ event: 'native.call_agent.cap_exceeded',
291
+ callerAgent: ctx.callerAgent,
292
+ calleeAgent: agentName,
293
+ count: callAgentCount,
294
+ cap: callAgentMaxPerTurn,
295
+ threadId: ctx.threadId,
296
+ }, `call_agent cap exceeded (${callAgentCount}/${callAgentMaxPerTurn}) — refusing further delegation`);
297
+ return err(`call_agent refused: you have already delegated ${callAgentCount} time(s) this turn ` +
298
+ `(cap=${callAgentMaxPerTurn}). Use your own tools (native_read_file, native_grep, ` +
299
+ `native_list_dir, mcp__imhub__* …) to finish the task. If you genuinely need a CLI ` +
300
+ `agent for the rest, tell the user to /cc, /oc, or /cs to switch — don't keep ` +
301
+ `chaining call_agent.`);
302
+ }
303
+ callAgentCount += 1;
304
+ log.info({
305
+ event: 'native.call_agent.delegated',
306
+ callerAgent: ctx.callerAgent,
307
+ calleeAgent: agentName,
308
+ attempt: callAgentCount,
309
+ cap: callAgentMaxPerTurn,
310
+ threadId: ctx.threadId,
311
+ }, `delegating to ${agentName} (attempt ${callAgentCount}/${callAgentMaxPerTurn || '∞'})`);
269
312
  // Construct a minimal RouteContext from the run context so A2A
270
313
  // can audit / route. Lifted to a partial cast because most of
271
314
  // RouteContext's optional fields (intent, agentSessionId, …)
@@ -1 +1 @@
1
- {"version":3,"file":"imhub-dispatcher.js","sourceRoot":"","sources":["../../../src/core/llm/imhub-dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imhub-dispatcher.js","sourceRoot":"","sources":["../../../src/core/llm/imhub-dispatcher.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,oEAAoE;AACpE,sEAAsE;AACtE,iEAAiE;AACjE,wCAAwC;AACxC,EAAE;AACF,uBAAuB;AACvB,uBAAuB;AACvB,qEAAqE;AACrE,oEAAoE;AACpE,qEAAqE;AACrE,oEAAoE;AACpE,sEAAsE;AACtE,kEAAkE;AAClE,gEAAgE;AAChE,mDAAmD;AACnD,EAAE;AACF,sBAAsB;AACtB,sBAAsB;AACtB,mEAAmE;AACnE,iEAAiE;AACjE,qEAAqE;AACrE,cAAc;AACd,iEAAiE;AACjE,kEAAkE;AAClE,0DAA0D;AAC1D,EAAE;AACF,mEAAmE;AACnE,oEAAoE;AACpE,mEAAmE;AACnE,+DAA+D;AAC/D,EAAE;AACF,oDAAoD;AACpD,mEAAmE;AACnE,6DAA6D;AAE7D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAG3C,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAA;AAkB/D,SAAS,QAAQ,CAAC,CAAU;IAC1B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,EAAE,CAAC,IAAY;IACtB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAClD,CAAC;AAED,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AACjD,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,kEAAkE;IAClE,+CAA+C;IAC/C,OAAO;QACL,IAAI,EAAE,qCAAqC,IAAI,GAAG;QAClD,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,SAAS;KAClB,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL;YACE,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EACT,mPAAmP;YACrP,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kEAAkE,EAAE;iBAC1G;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,WAAW,EACT,yJAAyJ;YAC3J,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;SAC/C;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EACT,iXAAiX;YACnX,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE;oBAC1F,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACvB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;oBACjF,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;oBACvF,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yDAAyD,EAAE;oBACnG,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACvB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6CAA6C,EAAE;oBACpF,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;iBACpG;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;QACD;YACE,IAAI,EAAE,0BAA0B;YAChC,WAAW,EACT,yJAAyJ;YAC3J,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kFAAkF,EAAE;oBAC1H,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACvB,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACjC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uEAAuE,EAAE;oBACpH,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;oBAChE,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;iBACrD;aACF;SACF;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,WAAW,EAAE,wEAAwE;YACrF,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACvB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACrC;gBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB;SACF;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,WAAW,EAAE,sBAAsB;YACnC,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;gBACvC,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB;SACF;QACD;YACE,IAAI,EAAE,0BAA0B;YAChC,WAAW,EACT,uQAAuQ;YACzQ,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;oBAChE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+FAA+F,EAAE;iBAC3I;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EACT,6LAA6L;YAC/L,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;oBAC9E,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE;oBAC9F,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;oBACtE,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,uDAAuD,EAAE;iBACzH;gBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;aAClC;SACF;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EACT,gPAAgP;YAClP,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;oBACpF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;iBAC3D;gBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;aAC9B;SACF;KACF,CAAA;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,oBAAoB,CAAC,GAAuB;IAC1D,MAAM,UAAU,GAAG;QACjB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAA;IAED,sEAAsE;IACtE,uEAAuE;IACvE,6DAA6D;IAC7D,iEAAiE;IACjE,+BAA+B;IAC/B,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAA;QAC5D,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,CAAA;QAClB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACrB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC,CAAC,EAAE,CAAA;IACJ,IAAI,cAAc,GAAG,CAAC,CAAA;IAEtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAA6B,EAAE;QACvD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAA;QAEpH,IAAI,CAAC;YACH,QAAQ,EAAE,EAAE,CAAC;gBACX,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;oBAC/D,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACtD,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM;wBAAE,OAAO,GAAG,CAAC,2BAA2B,CAAC,CAAA;oBACnE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS;wBAAE,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,CAAC,MAAM,CAAC,iBAAiB,IAAI,SAAS,EAAE,CAAC,CAAA;oBACvH,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC1B,CAAC;gBACD,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;oBAC9C,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACvD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;oBACtD,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACrD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;oBACxD,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACxD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;oBACxD,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACvD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;oBACxD,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACvD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,IAA8D,EAAE,UAAU,CAAC,CAAA;oBACxG,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACxD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,CAAC,GAAG,MAAM,WAAW,CACzB,IAAiG,EACjG,UAAU,CACX,CAAA;oBACD,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,oBAAoB,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBAC7E,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;oBAClE,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;oBACjE,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM;wBAAE,OAAO,GAAG,CAAC,kEAAkE,CAAC,CAAA;oBACzG,+DAA+D;oBAC/D,iEAAiE;oBACjE,gEAAgE;oBAChE,4DAA4D;oBAC5D,6DAA6D;oBAC7D,6CAA6C;oBAC7C,IAAI,mBAAmB,GAAG,CAAC,IAAI,cAAc,IAAI,mBAAmB,EAAE,CAAC;wBACrE,GAAG,CAAC,IAAI,CAAC;4BACP,KAAK,EAAE,gCAAgC;4BACvC,WAAW,EAAE,GAAG,CAAC,WAAW;4BAC5B,WAAW,EAAE,SAAS;4BACtB,KAAK,EAAE,cAAc;4BACrB,GAAG,EAAE,mBAAmB;4BACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;yBACvB,EAAE,4BAA4B,cAAc,IAAI,mBAAmB,iCAAiC,CAAC,CAAA;wBACtG,OAAO,GAAG,CACR,kDAAkD,cAAc,qBAAqB;4BACrF,QAAQ,mBAAmB,wDAAwD;4BACnF,oFAAoF;4BACpF,+EAA+E;4BAC/E,sBAAsB,CACvB,CAAA;oBACH,CAAC;oBACD,cAAc,IAAI,CAAC,CAAA;oBACnB,GAAG,CAAC,IAAI,CAAC;wBACP,KAAK,EAAE,6BAA6B;wBACpC,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,WAAW,EAAE,SAAS;wBACtB,OAAO,EAAE,cAAc;wBACvB,GAAG,EAAE,mBAAmB;wBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;qBACvB,EAAE,iBAAiB,SAAS,aAAa,cAAc,IAAI,mBAAmB,IAAI,GAAG,GAAG,CAAC,CAAA;oBAC1F,+DAA+D;oBAC/D,8DAA8D;oBAC9D,6DAA6D;oBAC7D,mDAAmD;oBACnD,MAAM,QAAQ,GAAiB;wBAC7B,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,YAAY,EAAE,GAAG,CAAC,WAAW;wBAC7B,OAAO,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE;wBACnC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;qBACnG,CAAA;oBACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;wBAChE,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC;wBACjC,WAAW,EAAE,GAAG,CAAC,WAAW;qBAC7B,CAAC,CAAA;oBACF,IAAI,CAAC,MAAM,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,sBAAsB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;oBAChE,+DAA+D;oBAC/D,yDAAyD;oBACzD,2DAA2D;oBAC3D,mDAAmD;oBACnD,OAAO,EAAE,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;gBACjF,CAAC;gBACD;oBACE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACtD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACxE,OAAO,GAAG,CAAC,SAAS,EAAE,aAAa,GAAG,EAAE,CAAC,CAAA;QAC3C,CAAC;gBAAS,CAAC;YACT,KAAK,MAAM,CAAA,CAAC,gFAAgF;QAC9F,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/agents/native/index.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,wBAAwB,CAAA;AAyG/B;;;;;;;+DAO+D;AAC/D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmBpD;AAgGD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkCvF;AA4UD,eAAO,MAAM,kBAAkB,EAAE,YAAuC,CAAA;AAExE;;cAEc;AACd,wBAAgB,mBAAmB,IAAI,MAAM,CAI5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/agents/native/index.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,wBAAwB,CAAA;AA4H/B;;;;;;;+DAO+D;AAC/D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmBpD;AAsGD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkCvF;AAgVD,eAAO,MAAM,kBAAkB,EAAE,YAAuC,CAAA;AAExE;;cAEc;AACd,wBAAgB,mBAAmB,IAAI,MAAM,CAI5C"}
@@ -44,6 +44,7 @@ import { runAgentLoop, buildMcpDispatcher, combineDispatchers, getProvider, getA
44
44
  import { buildBuiltinDispatcher, getBuiltinTools, } from '../../../core/llm/builtin-dispatcher.js';
45
45
  import { buildPolicyApprovalGate, describePolicy, } from '../../../core/llm/policy-approval-gate.js';
46
46
  import { buildImhubDispatcher, getImhubTools, } from '../../../core/llm/imhub-dispatcher.js';
47
+ import { buildFsDispatcher, getFsTools, } from '../../../core/llm/fs-dispatcher.js';
47
48
  import { listSkills } from '../../../core/skills/loader.js';
48
49
  import { describeRegistry as describeMcpRegistry } from '../../../core/llm/mcp-registry.js';
49
50
  import { resolveAgentCwd, defaultAgentCwd } from '../../../core/agent-cwd.js';
@@ -91,7 +92,7 @@ function buildSystemPrompt(provider, role, cwd) {
91
92
  lines.push('[/operator role definition]');
92
93
  lines.push('');
93
94
  }
94
- lines.push(`You are agim native — agim's in-process LLM agent talking to a user over an IM platform.`, ``, `Runtime:`, ` Backend: ${provider.providerType}:${provider.name}`, ` Role: ${role}`, ` Working directory: ${cwd}`, ``, `Tools available beyond the four native built-ins (echo / now / sleep / random_uuid):`, ` - agim built-in MCP tools (mcp__imhub__*): read_skill, list_skills, save_memo, search_memos, update_memo, delete_memo, push_message, ask_user, call_agent`, ` - External MCP servers configured by the operator:`, externalMcp, ``, `Available skill cards (call mcp__imhub__read_skill('<name>') for the full body):`, skillsBlock, ``, `Guidance:`, ` - Be terse; avoid filler. Prefer tool use over guessing.`, ` - When uncertain, call mcp__imhub__ask_user(question, choices[]) instead of free-form back-and-forth.`, ` - When the user references something they told the bot before, search memos via mcp__imhub__search_memos.`, ` - When a heavy task fits another agent better (e.g. code editing → claude-code), use mcp__imhub__call_agent.`);
95
+ lines.push(`You are agim native — agim's in-process LLM agent talking to a user over an IM platform.`, ``, `Runtime:`, ` Backend: ${provider.providerType}:${provider.name}`, ` Role: ${role}`, ` Working directory: ${cwd}`, ``, `Tools available beyond the four native built-ins (echo / now / sleep / random_uuid):`, ` - agim built-in MCP tools (mcp__imhub__*): read_skill, list_skills, save_memo, search_memos, update_memo, delete_memo, push_message, ask_user, call_agent`, ` - native filesystem tools: native_read_file, native_write_file, native_list_dir, native_glob, native_grep — constrained to your workspace cwd unless IMHUB_NATIVE_FS_RESTRICT=0`, ` - External MCP servers configured by the operator:`, externalMcp, ``, `Available skill cards (call mcp__imhub__read_skill('<name>') for the full body):`, skillsBlock, ``, `Guidance:`, ` - Be terse; avoid filler. Prefer tool use over guessing.`, ` - When uncertain, call mcp__imhub__ask_user(question, choices[]) instead of free-form back-and-forth.`, ` - When the user references something they told the bot before, search memos via mcp__imhub__search_memos.`, ``, `Tool selection priority (HARD RULE — v1.2.59):`, ` - For "read this file / list this dir / search this content / fetch this URL", you MUST FIRST try`, ` your own native tools: native_read_file, native_list_dir, native_glob, native_grep,`, ` native_web_fetch (if available). Do NOT delegate these to call_agent.`, ` - call_agent is reserved for tasks that genuinely need a CLI agent's specialised capabilities`, ` (writing/editing source code in a real repo → claude-code; long-running plans → codex; etc).`, ` - You have a per-turn call_agent cap (default 2). Burning it on file reads will leave you`, ` unable to delegate later when you actually need to.`, ``, `Short-input rule:`, ` - If the user's message is ONLY a slash command alias for an agent name (e.g. "/native", "/llm",`, ` "/na", "/cc", "/oc") and you are already that agent, respond with ONE short line confirming`, ` your identity (e.g. "我是 native,正在听。"). Do NOT call any tool. The slash router handles`, ` actual agent switching; if it didn't switch, the user is already on this agent.`);
95
96
  return lines.join('\n');
96
97
  }
97
98
  /** Read <cwd>/AGENTS.md (if present) and prepare it for injection into
@@ -200,6 +201,12 @@ function resolvePolicy() {
200
201
  // remove individual entries via IMHUB_NATIVE_AGENT_DENYLIST.
201
202
  const defaultBuiltins = [
202
203
  'native_echo', 'native_now', 'native_random_uuid',
204
+ // fs read-only tools (v1.2.58). write_file deliberately omitted —
205
+ // it mutates the workspace, even though sensitive-paths + workspace
206
+ // restriction prevent escape; an IM card per write keeps operator
207
+ // awareness intact. Operators who trust native can add it via
208
+ // IMHUB_NATIVE_AGENT_AUTOALLOW=native_write_file.
209
+ 'native_read_file', 'native_list_dir', 'native_glob', 'native_grep',
203
210
  'mcp__imhub__read_skill', 'mcp__imhub__list_skills',
204
211
  'mcp__imhub__save_memo', 'mcp__imhub__search_memos',
205
212
  'mcp__imhub__update_memo', 'mcp__imhub__delete_memo',
@@ -426,14 +433,19 @@ class NativeAgentAdapter {
426
433
  callerAgent: 'native',
427
434
  callerDepth: opts.callDepth ?? 0,
428
435
  };
429
- const dispatch = combineDispatchers(buildBuiltinDispatcher(), buildImhubDispatcher(imhubCtx), buildMcpDispatcher());
430
- // Compose tool list the same way (built-in imhub external MCP).
436
+ // Resolve cwd here so fs-dispatcher can constrain reads/writes to
437
+ // the per-thread workspace subtree. Was previously resolved AFTER
438
+ // dispatch composition; moved up so fs tools see the right root.
439
+ const cwd = resolveAgentCwd('native', opts) || defaultAgentCwd('native');
440
+ const dispatch = combineDispatchers(buildBuiltinDispatcher(), buildFsDispatcher({ cwd }), buildImhubDispatcher(imhubCtx), buildMcpDispatcher());
441
+ // Compose tool list the same way (built-in → fs → imhub → external MCP).
431
442
  // Provider tool roster wins on duplicate names via "later
432
443
  // definition wins" semantics inside the provider, but our naming
433
444
  // is namespaced (`native_*`, `mcp__imhub__*`, `mcp_<server>_*`)
434
445
  // so collisions are not expected in practice.
435
446
  const tools = [
436
447
  ...getBuiltinTools(),
448
+ ...getFsTools(),
437
449
  ...getImhubTools(),
438
450
  ...getAllMcpTools(),
439
451
  ];
@@ -450,13 +462,11 @@ class NativeAgentAdapter {
450
462
  platform: opts.platform,
451
463
  threadId: opts.threadId,
452
464
  });
453
- // Resolve native's working directory the same way claude-code does:
454
- // IM calls (threadId + platform set) pin to ~/.agim-workspaces/native/
455
- // so the agent has a stable, isolated home for any future filesystem
456
- // tools and AGENTS.md guidance. Out-of-IM calls (web, scheduler) fall
457
- // back to defaultAgentCwd so the prompt always reports a real path
458
- // rather than systemd's '/'.
459
- const cwd = resolveAgentCwd('native', opts) || defaultAgentCwd('native');
465
+ // Note: cwd is resolved above (before dispatch composition) so fs
466
+ // tools can constrain reads/writes to the per-thread workspace.
467
+ // Was previously resolved here that was fine before native had
468
+ // fs tools, but fs-dispatcher now needs the value at dispatch
469
+ // build time.
460
470
  const traceId = `native-${sessionId}-${Date.now()}`;
461
471
  // Wall-clock cap for the agent loop. agim's IM-layer enforces a 30-
462
472
  // minute hard ceiling per turn (DEFAULT_TIMEOUT_MS in agent-base.ts);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/agents/native/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/agents/native/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agim-cli",
3
- "version": "1.2.57",
3
+ "version": "1.2.59",
4
4
  "description": "Agim (阿吉姆) — universal messenger-to-agent bridge. Connect WeChat / Feishu / DingTalk / Email to Claude Code / Codex / OpenCode, or any custom agent via ACP. Installs the `agim` command.",
5
5
  "type": "module",
6
6
  "bin": {