@x-code-cli/core 0.2.4 → 0.2.6

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.
@@ -23,9 +23,9 @@ export interface LoopState {
23
23
  * rebuilds it with / without the plan-mode overlay. */
24
24
  systemPromptCache: string | null;
25
25
  /** Current approval mode — flips between 'default' and 'plan' via
26
- * Shift+Tab (user) or the enterPlanMode/exitPlanMode tools (model).
27
- * Read by tool-execution to decide which system prompt overlay
28
- * applies and which tools are advertised. */
26
+ * the /plan slash command (user) or the enterPlanMode/exitPlanMode
27
+ * tools (model). Read by tool-execution to decide which system
28
+ * prompt overlay applies and which tools are advertised. */
29
29
  permissionMode: PermissionMode;
30
30
  /** Path to the plan file when in plan mode (`.x-code/plans/{sessionId}.md`),
31
31
  * null otherwise. Created lazily the first time the model calls
@@ -1 +1 @@
1
- {"version":3,"file":"loop-state.d.ts","sourceRoot":"","sources":["../../src/agent/loop-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAEtC,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE7E,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,6FAA6F;IAC7F,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB;;qEAEiE;IACjE,eAAe,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC1D;;;;4DAIwD;IACxD,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC;;;kDAG8C;IAC9C,cAAc,EAAE,cAAc,CAAA;IAC9B;;;oCAGgC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B;;;;;;8BAM0B;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;+DAK2D;IAC3D,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB;;;;;;;mEAO+D;IAC/D,qBAAqB,EAAE,MAAM,CAAA;IAI7B;;8EAE0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAiBD,wBAAgB,eAAe,CAAC,WAAW,GAAE,cAA0B,GAAG,SAAS,CA4BlF"}
1
+ {"version":3,"file":"loop-state.d.ts","sourceRoot":"","sources":["../../src/agent/loop-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAEtC,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE7E,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,6FAA6F;IAC7F,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB;;qEAEiE;IACjE,eAAe,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC1D;;;;4DAIwD;IACxD,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC;;;iEAG6D;IAC7D,cAAc,EAAE,cAAc,CAAA;IAC9B;;;oCAGgC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B;;;;;;8BAM0B;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;+DAK2D;IAC3D,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB;;;;;;;mEAO+D;IAC/D,qBAAqB,EAAE,MAAM,CAAA;IAI7B;;8EAE0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAiBD,wBAAgB,eAAe,CAAC,WAAW,GAAE,cAA0B,GAAG,SAAS,CA4BlF"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result-sanitize.d.ts","sourceRoot":"","sources":["../../src/agent/tool-result-sanitize.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAoDtC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAmEpE;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAmC5E"}
1
+ {"version":3,"file":"tool-result-sanitize.d.ts","sourceRoot":"","sources":["../../src/agent/tool-result-sanitize.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAgCtC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAwHpE;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAmC5E"}
@@ -13,25 +13,6 @@ function policyFor(toolName) {
13
13
  return { direction: 'head-tail' };
14
14
  return PER_TOOL_POLICY[toolName] ?? { direction: 'head-tail' };
15
15
  }
16
- /** Synthesize a tool-result message for a tool_call whose input failed
17
- * Zod validation (or otherwise didn't execute). Without this, the
18
- * assistant message ends up with an orphan tool_call — the next API
19
- * request fails with provider errors like
20
- * "tool must be a response to a preceding message with tool_calls".
21
- * Wire-shape mirrors how the AI SDK normally emits tool results. */
22
- function synthesizeToolErrorResult(toolCallId, toolName, errorMessage) {
23
- return {
24
- role: 'tool',
25
- content: [
26
- {
27
- type: 'tool-result',
28
- toolCallId,
29
- toolName,
30
- output: { type: 'text', value: `Error: ${errorMessage}` },
31
- },
32
- ],
33
- };
34
- }
35
16
  /**
36
17
  * Walk `messages` and reconcile tool_call ↔ tool_result pairing in BOTH
37
18
  * directions. Providers strictly require:
@@ -93,7 +74,32 @@ export function repairOrphanToolCalls(messages) {
93
74
  return expected.has(part.toolCallId);
94
75
  });
95
76
  if (kept.length === 0) {
96
- messages.splice(i, 1);
77
+ // Splicing the whole tool message can leave assistant→assistant
78
+ // adjacent (the common shape is assistant tool_calls → tool
79
+ // results → assistant continuation). Anthropic strictly requires
80
+ // user/assistant alternation, and although the @ai-sdk/anthropic
81
+ // converter currently merges consecutive same-role messages for
82
+ // us, we don't want the sanitizer's correctness to depend on
83
+ // downstream SDK behavior. When both neighbors are assistant,
84
+ // replace with a user-text placeholder instead so the boundary
85
+ // stays. Otherwise (one or both neighbors are user/tool/absent),
86
+ // dropping is safe.
87
+ const prev = messages[i - 1];
88
+ const next = messages[i + 1];
89
+ if (prev?.role === 'assistant' && next?.role === 'assistant') {
90
+ messages[i] = {
91
+ role: 'user',
92
+ content: [
93
+ {
94
+ type: 'text',
95
+ text: '[Stale tool result discarded — no matching tool_call in history.]',
96
+ },
97
+ ],
98
+ };
99
+ }
100
+ else {
101
+ messages.splice(i, 1);
102
+ }
97
103
  }
98
104
  else if (kept.length !== parts.length) {
99
105
  // AI SDK's narrow union typings forbid the partial part shape we
@@ -120,12 +126,43 @@ export function repairOrphanToolCalls(messages) {
120
126
  // Append synthetic results for forward-orphans, preserving overall
121
127
  // ordering (forward-orphans always go at the end — they never had a
122
128
  // real result, so their position is purely a placeholder for the
123
- // next API request).
129
+ // next API request). Collect all orphan parts into ONE tool message
130
+ // rather than pushing one per id: the AI SDK's Anthropic converter
131
+ // happens to merge consecutive same-role messages today, but the
132
+ // Google converter does not, and OpenAI-compat splits per tool_call_id
133
+ // anyway — emitting a single tool ModelMessage is wire-equivalent for
134
+ // the splitters and strictly safer for the non-merging providers.
135
+ const orphanParts = [];
124
136
  for (const id of expected) {
125
137
  if (fulfilled.has(id))
126
138
  continue;
127
139
  const name = toolNameById.get(id) ?? 'unknown';
128
- messages.push(synthesizeToolErrorResult(id, name, 'Tool input failed validation (likely missing required fields). The assistant should retry with the correct schema.'));
140
+ orphanParts.push({
141
+ type: 'tool-result',
142
+ toolCallId: id,
143
+ toolName: name,
144
+ output: {
145
+ type: 'text',
146
+ value: 'Error: Tool input failed validation (likely missing required fields). The assistant should retry with the correct schema.',
147
+ },
148
+ });
149
+ }
150
+ if (orphanParts.length > 0) {
151
+ // Defense in depth: if some other code path already left a trailing
152
+ // tool message (e.g. processToolCalls pushed real results that we
153
+ // didn't touch above), merge orphan parts into it rather than
154
+ // emitting a second adjacent tool ModelMessage.
155
+ const tail = messages[messages.length - 1];
156
+ if (tail && tail.role === 'tool' && Array.isArray(tail.content)) {
157
+ ;
158
+ tail.content.push(...orphanParts);
159
+ }
160
+ else {
161
+ messages.push({
162
+ role: 'tool',
163
+ content: orphanParts,
164
+ });
165
+ }
129
166
  }
130
167
  }
131
168
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result-sanitize.js","sourceRoot":"","sources":["../../src/agent/tool-result-sanitize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-result-sanitize.js","sourceRoot":"","sources":["../../src/agent/tool-result-sanitize.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/tools/glob.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,IAAI;;;UA2Bf,CAAA"}
1
+ {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/tools/glob.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,IAAI;;;UA8Df,CAAA"}
@@ -1,12 +1,31 @@
1
- // @x-code-cli/core — glob tool (file search by pattern)
2
- import { globby } from 'globby';
1
+ // @x-code-cli/core — glob tool (file search by pattern, via ripgrep)
2
+ //
3
+ // We delegate the actual file walk to ripgrep (`rg --files --glob ...`)
4
+ // rather than using a Node glob library. Three reasons:
5
+ // 1. ripgrep is already a dependency for the `grep` tool — reusing it
6
+ // keeps the cross-tool footprint small.
7
+ // 2. ripgrep walks gigantic trees fast (Rust + parallel directory walk)
8
+ // and respects .gitignore by default.
9
+ // 3. ripgrep's `--sortr=modified` gives us deterministic
10
+ // most-recent-first ordering, which is what the model needs when
11
+ // results are truncated: the most relevant files survive the cap.
12
+ //
13
+ // This brings glob's actual behavior in line with its description string,
14
+ // which previously promised mtime ordering but resolved to library-default
15
+ // ordering (alphabetical via globby).
16
+ import { execFile } from 'node:child_process';
17
+ import path from 'node:path';
18
+ import { promisify } from 'node:util';
3
19
  import { tool } from 'ai';
4
20
  import { z } from 'zod';
5
21
  import { formatToolError } from '../utils/tool-errors.js';
6
22
  import { reportProgress } from './progress.js';
23
+ import { getRipgrepPath } from './utils.js';
24
+ const execFileAsync = promisify(execFile);
7
25
  const MAX_GLOB_RESULTS = 200;
26
+ const RG_MAX_BUFFER = 20 * 1024 * 1024;
8
27
  export const glob = tool({
9
- description: `Find files matching a glob pattern. Returns file paths sorted by modification time. ` +
28
+ description: `Find files matching a glob pattern. Returns absolute file paths sorted by modification time, most recent first. ` +
10
29
  `Results are capped at ${MAX_GLOB_RESULTS} files — use a more specific pattern if truncated.`,
11
30
  inputSchema: z.object({
12
31
  pattern: z.string().describe('Glob pattern (e.g. "**/*.ts", "src/**/*.tsx")'),
@@ -14,22 +33,57 @@ export const glob = tool({
14
33
  }),
15
34
  execute: async ({ pattern, cwd }, { toolCallId }) => {
16
35
  try {
36
+ const searchDir = cwd ?? process.cwd();
17
37
  reportProgress(toolCallId, `Matching ${pattern}`);
18
- const files = await globby(pattern, {
19
- cwd: cwd ?? process.cwd(),
20
- gitignore: true,
21
- absolute: true,
38
+ // ripgrep flags:
39
+ // --files — list files instead of searching content
40
+ // --sortr=modified — sort by mtime, most recent first
41
+ // --hidden — include dotfiles like .eslintrc / .prettierrc
42
+ // --glob '!.git' — explicitly exclude the git metadata directory.
43
+ // .gitignore typically does NOT list .git/ (git
44
+ // manages it internally), so without this flag
45
+ // `--hidden` would happily walk into .git/objects
46
+ // and surface thousands of internal hash files.
47
+ // --glob <pattern> — user's glob filter (relative to search dir)
48
+ //
49
+ // Two patterns get special handling because they interact badly with
50
+ // ripgrep's whitelist-style --glob semantics:
51
+ //
52
+ // • Catch-all patterns ("**/*", "**", "*") get dropped: a
53
+ // `--glob "**/*"` is read as an explicit whitelist that overrides
54
+ // .gitignore, so the result includes node_modules / dist / etc.
55
+ // — typically tens of thousands of files of pure noise. We drop
56
+ // the user's --glob entirely so ripgrep's default file walk
57
+ // applies (which honors .gitignore).
58
+ const isCatchAll = /^(\*\*\/?\*?|\*)$/.test(pattern.trim());
59
+ const args = ['--files', '--sortr=modified', '--hidden', '--glob', '!.git'];
60
+ if (!isCatchAll) {
61
+ args.push('--glob', pattern);
62
+ }
63
+ const { stdout } = await execFileAsync(getRipgrepPath(), args, {
64
+ cwd: searchDir,
65
+ maxBuffer: RG_MAX_BUFFER,
66
+ timeout: 30000,
22
67
  });
23
- if (files.length === 0)
68
+ const out = stdout.trim();
69
+ if (!out)
24
70
  return 'No files found matching the pattern.';
25
- const truncated = files.length > MAX_GLOB_RESULTS;
26
- const result = files.slice(0, MAX_GLOB_RESULTS).join('\n');
71
+ const relatives = out.split('\n');
72
+ const absolutes = relatives.map((p) => (path.isAbsolute(p) ? p : path.join(searchDir, p)));
73
+ const truncated = absolutes.length > MAX_GLOB_RESULTS;
74
+ const result = absolutes.slice(0, MAX_GLOB_RESULTS).join('\n');
27
75
  if (truncated) {
28
- return `${result}\n\n... [${files.length - MAX_GLOB_RESULTS} more files not shown — ${files.length} total matches, capped at ${MAX_GLOB_RESULTS}. Use a more specific pattern to narrow results.]`;
76
+ return `${result}\n\n... [${absolutes.length - MAX_GLOB_RESULTS} more files not shown — ${absolutes.length} total matches, capped at ${MAX_GLOB_RESULTS}. Use a more specific pattern to narrow results.]`;
29
77
  }
30
78
  return result;
31
79
  }
32
80
  catch (err) {
81
+ // ripgrep exits with code 1 when no files match — surface as empty
82
+ // result instead of an error so the model treats "no matches" as a
83
+ // normal outcome rather than a tool failure to retry.
84
+ if (err && typeof err === 'object' && 'code' in err && err.code === 1) {
85
+ return 'No files found matching the pattern.';
86
+ }
33
87
  return formatToolError('searching files', err);
34
88
  }
35
89
  },
@@ -1 +1 @@
1
- {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/tools/glob.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAA;AAEzB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAE5B,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC;IACvB,WAAW,EACT,sFAAsF;QACtF,yBAAyB,gBAAgB,oDAAoD;IAC/F,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;QAC7E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;KAC9F,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QAClD,IAAI,CAAC;YACH,cAAc,CAAC,UAAU,EAAE,YAAY,OAAO,EAAE,CAAC,CAAA;YACjD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE;gBAClC,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;gBACzB,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,IAAI;aACf,CAAC,CAAA;YACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,sCAAsC,CAAA;YACrE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAA;YACjD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1D,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,GAAG,MAAM,YAAY,KAAK,CAAC,MAAM,GAAG,gBAAgB,2BAA2B,KAAK,CAAC,MAAM,6BAA6B,gBAAgB,mDAAmD,CAAA;YACpM,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,eAAe,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/tools/glob.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"grep.d.ts","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,IAAI;;;;;UAqDf,CAAA"}
1
+ {"version":3,"file":"grep.d.ts","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,IAAI;;;;;UAqDf,CAAA"}
@@ -5,25 +5,11 @@ import { tool } from 'ai';
5
5
  import { z } from 'zod';
6
6
  import { formatToolError } from '../utils/tool-errors.js';
7
7
  import { reportProgress } from './progress.js';
8
+ import { getRipgrepPath } from './utils.js';
8
9
  const execFileAsync = promisify(execFile);
9
10
  const DEFAULT_HEAD_LIMIT = 250;
10
11
  const MAX_COLUMNS = 500;
11
12
  const RG_MAX_BUFFER = 20 * 1024 * 1024;
12
- let _rgPath = null;
13
- function getRipgrepPath() {
14
- if (_rgPath)
15
- return _rgPath;
16
- try {
17
- // @vscode/ripgrep provides the binary path
18
- // eslint-disable-next-line @typescript-eslint/no-require-imports
19
- const rg = require('@vscode/ripgrep');
20
- _rgPath = rg.rgPath;
21
- }
22
- catch {
23
- _rgPath = 'rg';
24
- }
25
- return _rgPath;
26
- }
27
13
  export const grep = tool({
28
14
  description: `A powerful search tool built on ripgrep.
29
15
 
@@ -1 +1 @@
1
- {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"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"}
@@ -102,6 +102,6 @@ export declare const toolRegistry: {
102
102
  }, never>;
103
103
  };
104
104
  export { readFile, writeFile, edit, shell, glob, grep, listDir, webSearch, webFetch, askUser, enterPlanMode, exitPlanMode, todoWrite, };
105
- export { MAX_TOOL_RESULT_LINES, MAX_TOOL_RESULT_BYTES, MAX_AGGREGATE_TOOL_RESULT_BYTES, truncateToolResult, } from './truncate.js';
105
+ export { MAX_TOOL_RESULT_LINES, MAX_TOOL_RESULT_BYTES, truncateToolResult } from './truncate.js';
106
106
  export type { TruncateOptions } from './truncate.js';
107
107
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcxB,CAAA;AAED,OAAO,EACL,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,OAAO,EACP,aAAa,EACb,YAAY,EACZ,SAAS,GACV,CAAA;AAED,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,+BAA+B,EAC/B,kBAAkB,GACnB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcxB,CAAA;AAED,OAAO,EACL,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,OAAO,EACP,aAAa,EACb,YAAY,EACZ,SAAS,GACV,CAAA;AAED,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAChG,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA"}
@@ -37,5 +37,5 @@ export const toolRegistry = {
37
37
  todoWrite,
38
38
  };
39
39
  export { readFile, writeFile, edit, shell, glob, grep, listDir, webSearch, webFetch, askUser, enterPlanMode, exitPlanMode, todoWrite, };
40
- export { MAX_TOOL_RESULT_LINES, MAX_TOOL_RESULT_BYTES, MAX_AGGREGATE_TOOL_RESULT_BYTES, truncateToolResult, } from './truncate.js';
40
+ export { MAX_TOOL_RESULT_LINES, MAX_TOOL_RESULT_BYTES, truncateToolResult } from './truncate.js';
41
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,EAAE;AACF,yEAAyE;AACzE,sEAAsE;AACtE,yEAAyE;AACzE,2EAA2E;AAC3E,2EAA2E;AAC3E,2EAA2E;AAC3E,qEAAqE;AACrE,mDAAmD;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ;IACR,SAAS;IACT,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACP,aAAa;IACb,YAAY;IACZ,SAAS;CACV,CAAA;AAED,OAAO,EACL,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,OAAO,EACP,aAAa,EACb,YAAY,EACZ,SAAS,GACV,CAAA;AAED,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,+BAA+B,EAC/B,kBAAkB,GACnB,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,EAAE;AACF,yEAAyE;AACzE,sEAAsE;AACtE,yEAAyE;AACzE,2EAA2E;AAC3E,2EAA2E;AAC3E,2EAA2E;AAC3E,qEAAqE;AACrE,mDAAmD;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ;IACR,SAAS;IACT,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACP,aAAa;IACb,YAAY;IACZ,SAAS;CACV,CAAA;AAED,OAAO,EACL,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,OAAO,EACP,aAAa,EACb,YAAY,EACZ,SAAS,GACV,CAAA;AAED,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA"}
@@ -6,10 +6,6 @@ export declare const MAX_TOOL_RESULT_LINES = 2000;
6
6
  export declare const MAX_TOOL_RESULT_BYTES: number;
7
7
  /** Head:tail ratio when slicing. 0.2 keeps the first 20% + last 80%. */
8
8
  export declare const DEFAULT_HEAD_RATIO = 0.2;
9
- /** Per-turn aggregate cap across all tool results in one assistant message.
10
- * Not enforced yet — tracked via agent loop state for future telemetry and
11
- * eventual reactive compaction (mirrors claude-code's 200k-char ceiling). */
12
- export declare const MAX_AGGREGATE_TOOL_RESULT_BYTES: number;
13
9
  export interface TruncateOptions {
14
10
  /** Max lines before truncation kicks in. Default {@link MAX_TOOL_RESULT_LINES}. */
15
11
  maxLines?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../src/tools/truncate.ts"],"names":[],"mappings":"AAeA,yEAAyE;AACzE,eAAO,MAAM,qBAAqB,OAAO,CAAA;AAEzC;;iCAEiC;AACjC,eAAO,MAAM,qBAAqB,QAAY,CAAA;AAE9C,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,MAAM,CAAA;AAErC;;8EAE8E;AAC9E,eAAO,MAAM,+BAA+B,QAAa,CAAA;AAEzD,MAAM,WAAW,eAAe;IAC9B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAA;IACzC,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA6ED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAgCxF"}
1
+ {"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../src/tools/truncate.ts"],"names":[],"mappings":"AAeA,yEAAyE;AACzE,eAAO,MAAM,qBAAqB,OAAO,CAAA;AAEzC;;iCAEiC;AACjC,eAAO,MAAM,qBAAqB,QAAY,CAAA;AAE9C,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,MAAM,CAAA;AAErC,MAAM,WAAW,eAAe;IAC9B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAA;IACzC,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA6ED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAgCxF"}
@@ -20,10 +20,6 @@ export const MAX_TOOL_RESULT_LINES = 2000;
20
20
  export const MAX_TOOL_RESULT_BYTES = 50 * 1024;
21
21
  /** Head:tail ratio when slicing. 0.2 keeps the first 20% + last 80%. */
22
22
  export const DEFAULT_HEAD_RATIO = 0.2;
23
- /** Per-turn aggregate cap across all tool results in one assistant message.
24
- * Not enforced yet — tracked via agent loop state for future telemetry and
25
- * eventual reactive compaction (mirrors claude-code's 200k-char ceiling). */
26
- export const MAX_AGGREGATE_TOOL_RESULT_BYTES = 200 * 1024;
27
23
  function byteLength(str) {
28
24
  return Buffer.byteLength(str, 'utf-8');
29
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../src/tools/truncate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../src/tools/truncate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** Resolve the path to the ripgrep binary used by the `glob` and `grep`
2
+ * tools. Prefers @vscode/ripgrep (which ships a prebuilt binary per
3
+ * platform) and falls back to `rg` from PATH so dev machines with a
4
+ * system-wide ripgrep install still work even if the package's
5
+ * postinstall failed. */
6
+ export declare function getRipgrepPath(): string;
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tools/utils.ts"],"names":[],"mappings":"AAwBA;;;;0BAI0B;AAC1B,wBAAgB,cAAc,IAAI,MAAM,CASvC"}
@@ -0,0 +1,39 @@
1
+ // @x-code-cli/core — small helpers shared across tool implementations.
2
+ //
3
+ // Each file in this directory whose name corresponds to a tool (glob.ts,
4
+ // grep.ts, shell.ts, ...) defines exactly one tool. Larger pieces of
5
+ // shared infrastructure get their own named module (progress.ts for the
6
+ // progress reporter registry, shell-provider.ts for cross-platform shell
7
+ // dispatch, truncate.ts for tool-result size limits). This file is for
8
+ // the small leftovers — single-function helpers that more than one tool
9
+ // uses but that don't justify a dedicated module.
10
+ //
11
+ // Keep it focused: prefer adding a small helper here over creating a new
12
+ // per-helper file under tools/.
13
+ import { createRequire } from 'node:module';
14
+ // `@x-code-cli/core` is an ESM package (`"type": "module"`), so the
15
+ // global `require` is not defined at runtime. We need `createRequire` to
16
+ // load CJS-only modules like `@vscode/ripgrep`, which exposes the binary
17
+ // path through `module.exports.rgPath` (no ESM build available).
18
+ const _require = createRequire(import.meta.url);
19
+ /** Cached path to the ripgrep binary. Resolved lazily on first use,
20
+ * reused for the rest of the process. */
21
+ let _rgPath = null;
22
+ /** Resolve the path to the ripgrep binary used by the `glob` and `grep`
23
+ * tools. Prefers @vscode/ripgrep (which ships a prebuilt binary per
24
+ * platform) and falls back to `rg` from PATH so dev machines with a
25
+ * system-wide ripgrep install still work even if the package's
26
+ * postinstall failed. */
27
+ export function getRipgrepPath() {
28
+ if (_rgPath)
29
+ return _rgPath;
30
+ try {
31
+ const rg = _require('@vscode/ripgrep');
32
+ _rgPath = rg.rgPath;
33
+ }
34
+ catch {
35
+ _rgPath = 'rg';
36
+ }
37
+ return _rgPath;
38
+ }
39
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tools/utils.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,yEAAyE;AACzE,qEAAqE;AACrE,wEAAwE;AACxE,yEAAyE;AACzE,uEAAuE;AACvE,wEAAwE;AACxE,kDAAkD;AAClD,EAAE;AACF,yEAAyE;AACzE,gCAAgC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,oEAAoE;AACpE,yEAAyE;AACzE,yEAAyE;AACzE,iEAAiE;AACjE,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE/C;0CAC0C;AAC1C,IAAI,OAAO,GAAkB,IAAI,CAAA;AAEjC;;;;0BAI0B;AAC1B,MAAM,UAAU,cAAc;IAC5B,IAAI,OAAO;QAAE,OAAO,OAAO,CAAA;IAC3B,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,QAAQ,CAAC,iBAAiB,CAAuB,CAAA;QAC5D,OAAO,GAAG,EAAE,CAAC,MAAM,CAAA;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -59,7 +59,7 @@ function buildMissingKeyError() {
59
59
  ' 1. Tavily — 1000 searches/month, recommended',
60
60
  ' Sign up: https://tavily.com → copy API key from dashboard',
61
61
  '',
62
- ' 2. Brave — 2000 searches/month (requires credit card, no charge)',
62
+ ' 2. Brave — ~1000 searches/month via $5 free credit (requires credit card, over-usage billed)',
63
63
  ' Sign up: https://api.search.brave.com → create API key',
64
64
  '',
65
65
  `Setup (${type}):`,
@@ -1 +1 @@
1
- {"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../src/tools/web-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../src/tools/web-search.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAA;AAEzB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;AACrC,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAQ/B,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,UAAkB;IAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAe,EAAE,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;IAC3D,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AACxG,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,KAAa,EAAE,UAAkB;IAC9D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gDAAgD,CAAC,CAAA;IACrE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAChC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAE/D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,OAAO,EAAE;YACP,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,aAAc;YAClD,MAAM,EAAE,kBAAkB;SAC3B;QACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;KAC9C,CAAC,CAAA;IAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAE7B,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AACvG,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,EAAE,CAAA;IACnC,IAAI,UAAkB,CAAA;IAEtB,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,UAAU,GAAG;YACX,sBAAsB;YACtB,oCAAoC;YACpC,mCAAmC;YACnC,8BAA8B;YAC9B,6EAA6E;YAC7E,6EAA6E;SAC9E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACd,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAA;QACpD,UAAU,GAAG;YACX,sBAAsB;YACtB,oCAAoC;YACpC,kCAAkC;YAClC,8BAA8B;YAC9B,gDAAgD,EAAE,EAAE;YACpD,8CAA8C,EAAE,EAAE;SACnD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACd,CAAC;IAED,OAAO;QACL,0EAA0E;QAC1E,EAAE;QACF,gDAAgD;QAChD,gEAAgE;QAChE,EAAE;QACF,iGAAiG;QACjG,6DAA6D;QAC7D,EAAE;QACF,UAAU,IAAI,IAAI;QAClB,UAAU;QACV,EAAE;QACF,oEAAoE;KACrE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,aAAa,CAAC,OAAuB;IAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAA;IACpD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAClF,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;IAC5B,WAAW,EACT,+GAA+G;QAC/G,uBAAuB,IAAI,yEAAyE;QACpG,wCAAwC,IAAI,uCAAuC;IACrF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KACvE,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACvD,MAAM,CAAC,GAAG,UAAU,IAAI,CAAC,CAAA;QACzB,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA;QAC9C,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;QAE5C,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ;YAAE,OAAO,oBAAoB,EAAE,CAAA;QAE1D,cAAc,CAAC,UAAU,EAAE,cAAc,KAAK,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAC9F,OAAO,aAAa,CAAC,OAAO,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,eAAe,CAAC,cAAc,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,CAAA;QAC9E,CAAC;IACH,CAAC;CACF,CAAC,CAAA"}
@@ -20,10 +20,7 @@ export type PermissionLevel = 'always-allow' | 'ask' | 'deny';
20
20
  * the user already vetted the plan, having to click
21
21
  * "Yes" on every writeFile during implementation is
22
22
  * pure friction. exitPlanMode auto-switches into this
23
- * mode on approval; the user can also enter it
24
- * manually via Shift+Tab cycling.
25
- *
26
- * Cycling order on Shift+Tab: default → acceptEdits → plan → default. */
23
+ * mode on approval. */
27
24
  export type PermissionMode = 'default' | 'acceptEdits' | 'plan';
28
25
  /** A single entry on the model's working checklist.
29
26
  *
@@ -232,14 +229,14 @@ export interface SessionSummary {
232
229
  }
233
230
  export declare const MODEL_ALIASES: Record<string, string>;
234
231
  export declare const PROVIDER_DETECTION_ORDER: readonly [{
232
+ readonly envKey: "DEEPSEEK_API_KEY";
233
+ readonly defaultModel: "deepseek:deepseek-v4-flash";
234
+ }, {
235
235
  readonly envKey: "ANTHROPIC_API_KEY";
236
236
  readonly defaultModel: "anthropic:claude-sonnet-4-6";
237
237
  }, {
238
238
  readonly envKey: "OPENAI_API_KEY";
239
239
  readonly defaultModel: "openai:gpt-4.1";
240
- }, {
241
- readonly envKey: "DEEPSEEK_API_KEY";
242
- readonly defaultModel: "deepseek:deepseek-v4-flash";
243
240
  }, {
244
241
  readonly envKey: "ALIBABA_API_KEY";
245
242
  readonly defaultModel: "alibaba:qwen-max";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,9 @@ export const MODEL_ALIASES = {
13
13
  };
14
14
  // ─── Provider detection order (for smart defaults) ───
15
15
  export const PROVIDER_DETECTION_ORDER = [
16
+ { envKey: 'DEEPSEEK_API_KEY', defaultModel: 'deepseek:deepseek-v4-flash' },
16
17
  { envKey: 'ANTHROPIC_API_KEY', defaultModel: 'anthropic:claude-sonnet-4-6' },
17
18
  { envKey: 'OPENAI_API_KEY', defaultModel: 'openai:gpt-4.1' },
18
- { envKey: 'DEEPSEEK_API_KEY', defaultModel: 'deepseek:deepseek-v4-flash' },
19
19
  { envKey: 'ALIBABA_API_KEY', defaultModel: 'alibaba:qwen-max' },
20
20
  { envKey: 'GOOGLE_GENERATIVE_AI_API_KEY', defaultModel: 'google:gemini-2.5-pro' },
21
21
  { envKey: 'XAI_API_KEY', defaultModel: 'xai:grok-3' },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@x-code-cli/core",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/woai3c/x-code-cli",
@@ -36,7 +36,6 @@
36
36
  "diff": "^8.0.0",
37
37
  "execa": "^9.0.0",
38
38
  "file-type": "^22.0.1",
39
- "globby": "^14.0.0",
40
39
  "mammoth": "^1.12.0",
41
40
  "officeparser": "^6.1.0",
42
41
  "pdf-parse": "^2.4.5",