zerg-ztc 0.1.5 → 0.1.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.
package/dist/App.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AA+DtE,eAAO,MAAM,GAAG,EAAE,KAAK,CAAC,EAktBvB,CAAC;AAEF,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AA+DtE,eAAO,MAAM,GAAG,EAAE,KAAK,CAAC,EAouBvB,CAAC;AAEF,eAAe,GAAG,CAAC"}
package/dist/App.js CHANGED
@@ -241,10 +241,14 @@ export const App = () => {
241
241
  setCwd: async (path) => {
242
242
  const next = await resolveWorkingDir(shellCwdRef.current, path);
243
243
  shellCwdRef.current = next;
244
+ // Also update agent's working directory so tools use it
245
+ if (agent) {
246
+ agent.setCwd(next);
247
+ }
244
248
  return next;
245
249
  },
246
250
  run: async (command) => runShellCommand(command, shellCwdRef.current)
247
- }), []);
251
+ }), [agent]);
248
252
  const isRetryableError = useCallback((message) => {
249
253
  const lower = message.toLowerCase();
250
254
  return lower.includes('overloaded') || lower.includes('529') || lower.includes('429') || lower.includes('rate limit');
@@ -377,7 +381,14 @@ export const App = () => {
377
381
  if (text.startsWith('!')) {
378
382
  const commandText = text.slice(1).trim();
379
383
  if (commandText) {
380
- handleCommand('shell', [commandText]);
384
+ // Intercept 'cd' commands to use the proper /cd handler that persists
385
+ if (commandText === 'cd' || commandText.startsWith('cd ')) {
386
+ const path = commandText.slice(2).trim();
387
+ handleCommand('cd', path ? [path] : []);
388
+ }
389
+ else {
390
+ handleCommand('shell', [commandText]);
391
+ }
381
392
  }
382
393
  return;
383
394
  }
@@ -507,11 +518,19 @@ export const App = () => {
507
518
  break;
508
519
  case 'stream_end':
509
520
  if (streamingMessageId.current) {
510
- setMessages(prev => prev.map(msg => {
511
- if (msg.id !== streamingMessageId.current)
512
- return msg;
513
- return { ...msg, isStreaming: false };
514
- }));
521
+ setMessages(prev => {
522
+ // Remove the streaming message if it ended up empty (tool-only response)
523
+ const streamingMsg = prev.find(m => m.id === streamingMessageId.current);
524
+ if (streamingMsg && (!streamingMsg.content || streamingMsg.content.trim() === '')) {
525
+ return prev.filter(m => m.id !== streamingMessageId.current);
526
+ }
527
+ // Otherwise mark it as no longer streaming
528
+ return prev.map(msg => {
529
+ if (msg.id !== streamingMessageId.current)
530
+ return msg;
531
+ return { ...msg, isStreaming: false };
532
+ });
533
+ });
515
534
  }
516
535
  streamingMessageId.current = null;
517
536
  break;
package/dist/App.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export interface AgentConfig {
14
14
  backend?: AgentBackend;
15
15
  policy?: Policy;
16
16
  tracer?: Tracer;
17
+ cwd?: string;
17
18
  }
18
19
  export declare class AgentError extends Error {
19
20
  code?: string | undefined;
@@ -27,8 +28,11 @@ export declare class Agent {
27
28
  private policy;
28
29
  private tracer;
29
30
  private streamChunkSize;
31
+ private _cwd;
30
32
  constructor(config?: AgentConfig);
31
33
  hasApiKey(): boolean;
34
+ setCwd(cwd: string): void;
35
+ getCwd(): string;
32
36
  private getDefaultSystemPrompt;
33
37
  on(handler: EventHandler): () => void;
34
38
  private emit;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAoB,YAAY,EAAkF,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjK,OAAO,EAAkB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAc,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAA4C,MAAM,kBAAkB,CAAC;AAI1F,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,UAAW,SAAQ,KAAK;IACC,IAAI,CAAC,EAAE,MAAM;gBAArC,OAAO,EAAE,MAAM,EAAS,IAAI,CAAC,EAAE,MAAM,YAAA;CAIlD;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAIvD,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAM;gBAEjB,MAAM,GAAE,WAAgB;IAqBpC,SAAS,IAAI,OAAO;IAIpB,OAAO,CAAC,sBAAsB;IAe9B,EAAE,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,IAAI;IAKrC,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,kBAAkB;IA8C1B,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,UAAU;YAUJ,cAAc;IAWtB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;YAkJzF,OAAO;CAGtB;AAED,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAoB,YAAY,EAAkF,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjK,OAAO,EAAkB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAc,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAA4C,MAAM,kBAAkB,CAAC;AAI1F,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,UAAW,SAAQ,KAAK;IACC,IAAI,CAAC,EAAE,MAAM;gBAArC,OAAO,EAAE,MAAM,EAAS,IAAI,CAAC,EAAE,MAAM,YAAA;CAIlD;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAIvD,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,IAAI,CAAS;gBAET,MAAM,GAAE,WAAgB;IAuBpC,SAAS,IAAI,OAAO;IAIpB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,MAAM,IAAI,MAAM;IAIhB,OAAO,CAAC,sBAAsB;IAe9B,EAAE,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,IAAI;IAKrC,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,kBAAkB;IA8C1B,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,UAAU;YAUJ,cAAc;IAWtB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;YAmJzF,OAAO;CAGtB;AAED,eAAe,KAAK,CAAC"}
@@ -21,6 +21,7 @@ export class Agent {
21
21
  policy;
22
22
  tracer;
23
23
  streamChunkSize = 32;
24
+ _cwd;
24
25
  constructor(config = {}) {
25
26
  const apiKey = config.apiKey || process.env.ANTHROPIC_API_KEY || '';
26
27
  this.config = {
@@ -33,15 +34,23 @@ export class Agent {
33
34
  systemPrompt: config.systemPrompt || this.getDefaultSystemPrompt(),
34
35
  backend: config.backend || new AnthropicBackend({ apiKey, apiEndpoint: config.apiEndpoint }),
35
36
  policy: config.policy || new AllowAllPolicy(),
36
- tracer: config.tracer || new NoopTracer()
37
+ tracer: config.tracer || new NoopTracer(),
38
+ cwd: config.cwd || process.cwd()
37
39
  };
38
40
  this.backend = this.config.backend;
39
41
  this.policy = this.config.policy;
40
42
  this.tracer = this.config.tracer;
43
+ this._cwd = this.config.cwd;
41
44
  }
42
45
  hasApiKey() {
43
46
  return !!this.config.apiKey && this.config.apiKey.length > 0;
44
47
  }
48
+ setCwd(cwd) {
49
+ this._cwd = cwd;
50
+ }
51
+ getCwd() {
52
+ return this._cwd;
53
+ }
45
54
  getDefaultSystemPrompt() {
46
55
  return `You are ZTC (Zerg Terminal Client), an AI assistant that helps users interact with the Zerg continual AI system and manage local development tasks.
47
56
 
@@ -68,7 +77,16 @@ When a user intent maps to an available slash command, invoke the command direct
68
77
  // Convert messages to API format
69
78
  formatMessages(messages) {
70
79
  return messages
71
- .filter((m) => m.role === 'user' || m.role === 'assistant')
80
+ .filter((m) => {
81
+ // Only include user and assistant messages
82
+ if (m.role !== 'user' && m.role !== 'assistant')
83
+ return false;
84
+ // Filter out assistant messages with empty content (from tool-only responses)
85
+ // The API rejects empty content for non-final assistant messages
86
+ if (m.role === 'assistant' && (!m.content || m.content.trim() === ''))
87
+ return false;
88
+ return true;
89
+ })
72
90
  .map(m => ({
73
91
  role: m.role,
74
92
  content: m.role === 'user' ? this.buildContentBlocks(m.content) : m.content
@@ -286,7 +304,7 @@ When a user intent maps to an available slash command, invoke the command direct
286
304
  });
287
305
  this.emit({ type: 'tool_start', tool: toolBlock.name, args: toolBlock.input });
288
306
  try {
289
- const result = await executeTool(toolBlock.name, toolBlock.input, this.config.tools);
307
+ const result = await executeTool(toolBlock.name, toolBlock.input, this.config.tools, { cwd: this._cwd });
290
308
  toolCall.status = 'complete';
291
309
  toolCall.result = result;
292
310
  toolCall.completedAt = new Date();
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAMlC,eAAO,MAAM,YAAY,EAAE,IAsC1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,IA+D3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,IA2D/B,CAAC"}
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAe,MAAM,YAAY,CAAC;AAW/C,eAAO,MAAM,YAAY,EAAE,IAsC1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,IA+D3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,IA2D/B,CAAC"}
@@ -2,6 +2,10 @@ import { readFile, writeFile, readdir, stat } from 'fs/promises';
2
2
  import { dirname, resolve } from 'path';
3
3
  import { ToolCapability } from '../runtime/capabilities.js';
4
4
  import { buildSimpleDiff } from '../../utils/diff.js';
5
+ function resolvePath(path, context) {
6
+ const base = context?.cwd || process.cwd();
7
+ return resolve(base, path);
8
+ }
5
9
  // --- File Tools ---
6
10
  export const readFileTool = {
7
11
  capabilities: [ToolCapability.FILE_READ],
@@ -24,8 +28,8 @@ export const readFileTool = {
24
28
  required: ['path']
25
29
  }
26
30
  },
27
- execute: async (args) => {
28
- const path = resolve(String(args.path));
31
+ execute: async (args, context) => {
32
+ const path = resolvePath(String(args.path), context);
29
33
  const encoding = args.encoding || 'utf-8';
30
34
  try {
31
35
  const content = await readFile(path, { encoding });
@@ -66,8 +70,8 @@ export const writeFileTool = {
66
70
  required: ['path', 'content']
67
71
  }
68
72
  },
69
- execute: async (args) => {
70
- const path = resolve(String(args.path));
73
+ execute: async (args, context) => {
74
+ const path = resolvePath(String(args.path), context);
71
75
  const content = String(args.content);
72
76
  const append = args.append === 'true';
73
77
  try {
@@ -125,8 +129,8 @@ export const listDirectoryTool = {
125
129
  required: ['path']
126
130
  }
127
131
  },
128
- execute: async (args) => {
129
- const path = resolve(String(args.path));
132
+ execute: async (args, context) => {
133
+ const path = resolvePath(String(args.path), context);
130
134
  const recursive = args.recursive === 'true';
131
135
  async function listDir(dir, depth = 0) {
132
136
  if (depth > 3)
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/agent/tools/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAqB;AAErB,MAAM,CAAC,MAAM,YAAY,GAAS;IAChC,YAAY,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;IACxC,UAAU,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,mDAAmD;QAChE,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wCAAwC;iBACtD;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;oBAC7C,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;iBAC1C;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAI,IAAI,CAAC,QAA2B,IAAI,OAAO,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,IAAI;gBACJ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,qBAAqB;gBACvD,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,KAAK;aAClC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,wBAAyB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,YAAY,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;IACzC,UAAU,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,yDAAyD;QACtE,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uBAAuB;iBACrC;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kDAAkD;iBAChE;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;SAC9B;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;QAEtC,IAAI,CAAC;YACH,0BAA0B;YAC1B,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAC1D,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEhD,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,aAAa,GAAG,EAAE,CAAC;YACrB,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACjE,MAAM,IAAI,GAAG,eAAe,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,IAAI;gBACJ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBACvC,IAAI;gBACJ,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;gBACpC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;gBAClC,SAAS,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,IAAI,YAAY,CAAC,MAAM,GAAG,IAAI;aACrE,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAA0B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,YAAY,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;IACxC,UAAU,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,8BAA8B;QAC3C,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wBAAwB;iBACtC;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC;QAE5C,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,KAAK,GAAG,CAAC;YAC3C,IAAI,KAAK,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAC;YAEzB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAa,EAAE,CAAC;YAE7B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,gBAAgB;gBAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,MAAM,IAAI,GAA4B;oBACpC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;iBACjD,CAAC;gBAEF,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBACnB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;oBAChC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBACrB,CAAC;gBAED,IAAI,SAAS,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpE,IAAI,CAAC,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBACtD,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,6BAA8B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/agent/tools/file.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { Tool } from './types.js';
1
+ import { Tool, ToolContext } from './types.js';
2
2
  import { ToolDefinition } from '../../types.js';
3
3
  export declare const defaultTools: Tool[];
4
4
  export declare function getToolDefinitions(tools?: Tool[]): ToolDefinition[];
5
5
  export declare function getTool(name: string, tools?: Tool[]): Tool | undefined;
6
- export declare function executeTool(name: string, args: Record<string, unknown>, tools?: Tool[]): Promise<string>;
6
+ export declare function executeTool(name: string, args: Record<string, unknown>, tools?: Tool[], context?: ToolContext): Promise<string>;
7
7
  export { readFileTool, writeFileTool, listDirectoryTool } from './file.js';
8
8
  export { searchTool } from './search.js';
9
9
  export { listSkillsTool } from './skills.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAShD,eAAO,MAAM,YAAY,EAAE,IAAI,EAQ9B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,GAAE,IAAI,EAAiB,GAAG,cAAc,EAAE,CAEjF;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,IAAI,EAAiB,GAAG,IAAI,GAAG,SAAS,CAEpF;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,GAAE,IAAI,EAAiB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAShD,eAAO,MAAM,YAAY,EAAE,IAAI,EAQ9B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,GAAE,IAAI,EAAiB,GAAG,cAAc,EAAE,CAEjF;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,IAAI,EAAiB,GAAG,IAAI,GAAG,SAAS,CAEpF;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,GAAE,IAAI,EAAiB,EAC5B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC"}
@@ -19,12 +19,12 @@ export function getToolDefinitions(tools = defaultTools) {
19
19
  export function getTool(name, tools = defaultTools) {
20
20
  return tools.find(t => t.definition.name === name);
21
21
  }
22
- export async function executeTool(name, args, tools = defaultTools) {
22
+ export async function executeTool(name, args, tools = defaultTools, context) {
23
23
  const tool = getTool(name, tools);
24
24
  if (!tool) {
25
25
  throw new Error(`Unknown tool: ${name}`);
26
26
  }
27
- return tool.execute(args);
27
+ return tool.execute(args, context);
28
28
  }
29
29
  export { readFileTool, writeFileTool, listDirectoryTool } from './file.js';
30
30
  export { searchTool } from './search.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/tools/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,wBAAwB;AAExB,MAAM,CAAC,MAAM,YAAY,GAAW;IAClC,YAAY;IACZ,aAAa;IACb,iBAAiB;IACjB,UAAU;IACV,cAAc;IACd,cAAc;IACd,aAAa;CACd,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,QAAgB,YAAY;IAC7D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,QAAgB,YAAY;IAChE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,IAA6B,EAC7B,QAAgB,YAAY;IAE5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/tools/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,wBAAwB;AAExB,MAAM,CAAC,MAAM,YAAY,GAAW;IAClC,YAAY;IACZ,aAAa;IACb,iBAAiB;IACjB,UAAU;IACV,cAAc;IACd,cAAc;IACd,aAAa;CACd,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,QAAgB,YAAY;IAC7D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,QAAgB,YAAY;IAChE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,IAA6B,EAC7B,QAAgB,YAAY,EAC5B,OAAqB;IAErB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/search.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAyBlC,eAAO,MAAM,UAAU,EAAE,IA6GxB,CAAC"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/search.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAe,MAAM,YAAY,CAAC;AAyB/C,eAAO,MAAM,UAAU,EAAE,IA8GxB,CAAC"}
@@ -48,9 +48,10 @@ export const searchTool = {
48
48
  required: ['pattern']
49
49
  }
50
50
  },
51
- execute: async (args) => {
51
+ execute: async (args, context) => {
52
+ const baseCwd = context?.cwd || process.cwd();
52
53
  const pattern = String(args.pattern || '');
53
- const path = resolve(String(args.path || '.'));
54
+ const path = resolve(baseCwd, String(args.path || '.'));
54
55
  const glob = args.glob ? String(args.glob) : undefined;
55
56
  const outputMode = args.output_mode === 'files' ? 'files' : 'content';
56
57
  const maxResults = Math.max(1, Math.min(200, parseInt(String(args.max_results || '20'), 10)));
@@ -70,14 +71,14 @@ export const searchTool = {
70
71
  rgArgs.push(pattern, path);
71
72
  let result = null;
72
73
  try {
73
- result = await runCommand('rg', rgArgs, process.cwd());
74
+ result = await runCommand('rg', rgArgs, baseCwd);
74
75
  }
75
76
  catch {
76
77
  result = null;
77
78
  }
78
79
  if (!result || (result.code !== 0 && result.code !== 1)) {
79
80
  const grepArgs = ['-R', '-n', pattern, path];
80
- const fallback = await runCommand('grep', grepArgs, process.cwd());
81
+ const fallback = await runCommand('grep', grepArgs, baseCwd);
81
82
  if (fallback.code !== 0 && fallback.code !== 1) {
82
83
  throw new Error(fallback.stderr || 'Search failed');
83
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/agent/tools/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/agent/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQ5D,SAAS,UAAU,CAAC,OAAe,EAAE,IAAc,EAAE,GAAW;IAC9D,OAAO,IAAI,OAAO,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,sBAAsB;AAEtB,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,YAAY,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;IACxC,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mDAAmD;QAChE,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6BAA6B;iBAC3C;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oCAAoC;iBAClD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qCAAqC;iBACnD;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;oBAC5C,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;iBAC3B;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;iBACvD;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9F,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACjH,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAE3B,IAAI,MAAM,GAAqB,IAAI,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC7D,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC;YACtD,CAAC;YACD,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO;gBACP,IAAI;gBACJ,KAAK;gBACL,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,UAAU;aACtC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACrD,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;aACf,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU;gBAAE,MAAM;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO;YACP,IAAI;YACJ,OAAO;YACP,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,SAAS,EAAE,OAAO,CAAC,MAAM,IAAI,UAAU;SACxC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/shell.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAOlC,eAAO,MAAM,cAAc,EAAE,IAsD5B,CAAC"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/shell.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAe,MAAM,YAAY,CAAC;AAO/C,eAAO,MAAM,cAAc,EAAE,IA0D5B,CAAC"}
@@ -28,9 +28,10 @@ export const runCommandTool = {
28
28
  required: ['command']
29
29
  }
30
30
  },
31
- execute: async (args) => {
31
+ execute: async (args, context) => {
32
32
  const command = String(args.command);
33
- const cwd = args.cwd ? resolve(String(args.cwd)) : process.cwd();
33
+ const baseCwd = context?.cwd || process.cwd();
34
+ const cwd = args.cwd ? resolve(baseCwd, String(args.cwd)) : baseCwd;
34
35
  const timeout = parseInt(String(args.timeout || '30000'), 10);
35
36
  // Basic safety checks
36
37
  const dangerous = ['rm -rf /', 'mkfs', ':(){:|:&};:'];
@@ -53,7 +54,10 @@ export const runCommandTool = {
53
54
  }
54
55
  catch (err) {
55
56
  const e = err;
56
- throw new Error(`Command failed: ${e.message}\nstderr: ${e.stderr || ''}`);
57
+ // Include both stdout and stderr in error - many tools output errors to stdout
58
+ const output = [e.stdout, e.stderr].filter(Boolean).join('\n').trim();
59
+ const outputSnippet = output.slice(0, 2000) || '(no output)';
60
+ throw new Error(`Command failed (exit ${e.code || '?'}):\n${outputSnippet}`);
57
61
  }
58
62
  }
59
63
  };
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/agent/tools/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,qBAAqB;AAErB,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,YAAY,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;IACzC,UAAU,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,2CAA2C;QACxD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0BAA0B;iBACxC;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;iBACjD;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0CAA0C;iBACxD;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9D,sBAAsB;QACtB,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QACtD,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;gBAClD,GAAG;gBACH,OAAO;gBACP,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM;aAC9B,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO;gBACP,GAAG;gBACH,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;gBAC9B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;gBAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK;aAC1D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,GAAkE,CAAC;YAC7E,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/agent/tools/shell.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import { ToolDefinition } from '../../types.js';
2
2
  import { ToolCapability } from '../runtime/capabilities.js';
3
+ export interface ToolContext {
4
+ cwd: string;
5
+ }
3
6
  export interface Tool {
4
7
  definition: ToolDefinition;
5
8
  capabilities?: ToolCapability[];
6
- execute: (args: Record<string, unknown>) => Promise<string>;
9
+ execute: (args: Record<string, unknown>, context?: ToolContext) => Promise<string>;
7
10
  }
8
11
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAI5D,MAAM,WAAW,IAAI;IACnB,UAAU,EAAE,cAAc,CAAC;IAC3B,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAI5D,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,IAAI;IACnB,UAAU,EAAE,cAAc,CAAC;IAC3B,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAS9D,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAsCxF;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQzF"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAS9D,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAsCxF;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBzF"}
@@ -47,7 +47,15 @@ export async function runShellCommand(command, cwd) {
47
47
  }
48
48
  export async function resolveWorkingDir(current, target) {
49
49
  const base = current || process.cwd();
50
- const next = target && target.trim().length > 0 ? resolve(base, target) : base;
50
+ let path = target?.trim() || '';
51
+ // Expand tilde to home directory
52
+ if (path.startsWith('~/')) {
53
+ path = resolve(process.env.HOME || '', path.slice(2));
54
+ }
55
+ else if (path === '~') {
56
+ path = process.env.HOME || '';
57
+ }
58
+ const next = path.length > 0 ? resolve(base, path) : base;
51
59
  const info = await stat(next);
52
60
  if (!info.isDirectory()) {
53
61
  throw new Error('Not a directory');
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zerg-ztc",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "Zerg Terminal Client - CLI agent for continual AI systems",
5
5
  "type": "module",
6
6
  "bin": {
package/src/App.tsx CHANGED
@@ -270,10 +270,14 @@ export const App: React.FC = () => {
270
270
  setCwd: async (path: string) => {
271
271
  const next = await resolveWorkingDir(shellCwdRef.current, path);
272
272
  shellCwdRef.current = next;
273
+ // Also update agent's working directory so tools use it
274
+ if (agent) {
275
+ agent.setCwd(next);
276
+ }
273
277
  return next;
274
278
  },
275
279
  run: async (command: string) => runShellCommand(command, shellCwdRef.current)
276
- }), []);
280
+ }), [agent]);
277
281
 
278
282
  const isRetryableError = useCallback((message: string) => {
279
283
  const lower = message.toLowerCase();
@@ -411,7 +415,13 @@ export const App: React.FC = () => {
411
415
  if (text.startsWith('!')) {
412
416
  const commandText = text.slice(1).trim();
413
417
  if (commandText) {
414
- handleCommand('shell', [commandText]);
418
+ // Intercept 'cd' commands to use the proper /cd handler that persists
419
+ if (commandText === 'cd' || commandText.startsWith('cd ')) {
420
+ const path = commandText.slice(2).trim();
421
+ handleCommand('cd', path ? [path] : []);
422
+ } else {
423
+ handleCommand('shell', [commandText]);
424
+ }
415
425
  }
416
426
  return;
417
427
  }
@@ -547,10 +557,18 @@ export const App: React.FC = () => {
547
557
  break;
548
558
  case 'stream_end':
549
559
  if (streamingMessageId.current) {
550
- setMessages(prev => prev.map(msg => {
551
- if (msg.id !== streamingMessageId.current) return msg;
552
- return { ...msg, isStreaming: false };
553
- }));
560
+ setMessages(prev => {
561
+ // Remove the streaming message if it ended up empty (tool-only response)
562
+ const streamingMsg = prev.find(m => m.id === streamingMessageId.current);
563
+ if (streamingMsg && (!streamingMsg.content || streamingMsg.content.trim() === '')) {
564
+ return prev.filter(m => m.id !== streamingMessageId.current);
565
+ }
566
+ // Otherwise mark it as no longer streaming
567
+ return prev.map(msg => {
568
+ if (msg.id !== streamingMessageId.current) return msg;
569
+ return { ...msg, isStreaming: false };
570
+ });
571
+ });
554
572
  }
555
573
  streamingMessageId.current = null;
556
574
  break;
@@ -22,6 +22,7 @@ export interface AgentConfig {
22
22
  backend?: AgentBackend;
23
23
  policy?: Policy;
24
24
  tracer?: Tracer;
25
+ cwd?: string; // Working directory for tool execution
25
26
  }
26
27
 
27
28
  export class AgentError extends Error {
@@ -42,10 +43,11 @@ export class Agent {
42
43
  private policy: Policy;
43
44
  private tracer: Tracer;
44
45
  private streamChunkSize = 32;
45
-
46
+ private _cwd: string;
47
+
46
48
  constructor(config: AgentConfig = {}) {
47
49
  const apiKey = config.apiKey || process.env.ANTHROPIC_API_KEY || '';
48
-
50
+
49
51
  this.config = {
50
52
  model: config.model || 'claude-opus-4-20250514',
51
53
  apiKey,
@@ -56,18 +58,28 @@ export class Agent {
56
58
  systemPrompt: config.systemPrompt || this.getDefaultSystemPrompt(),
57
59
  backend: config.backend || new AnthropicBackend({ apiKey, apiEndpoint: config.apiEndpoint }),
58
60
  policy: config.policy || new AllowAllPolicy(),
59
- tracer: config.tracer || new NoopTracer()
61
+ tracer: config.tracer || new NoopTracer(),
62
+ cwd: config.cwd || process.cwd()
60
63
  };
61
64
 
62
65
  this.backend = this.config.backend;
63
66
  this.policy = this.config.policy;
64
67
  this.tracer = this.config.tracer;
68
+ this._cwd = this.config.cwd;
65
69
  }
66
70
 
67
71
  hasApiKey(): boolean {
68
72
  return !!this.config.apiKey && this.config.apiKey.length > 0;
69
73
  }
70
74
 
75
+ setCwd(cwd: string): void {
76
+ this._cwd = cwd;
77
+ }
78
+
79
+ getCwd(): string {
80
+ return this._cwd;
81
+ }
82
+
71
83
  private getDefaultSystemPrompt(): string {
72
84
  return `You are ZTC (Zerg Terminal Client), an AI assistant that helps users interact with the Zerg continual AI system and manage local development tasks.
73
85
 
@@ -97,7 +109,14 @@ When a user intent maps to an available slash command, invoke the command direct
97
109
  // Convert messages to API format
98
110
  private formatMessages(messages: Message[]): LlmMessage[] {
99
111
  return messages
100
- .filter((m): m is Message & { role: 'user' | 'assistant' } => m.role === 'user' || m.role === 'assistant')
112
+ .filter((m): m is Message & { role: 'user' | 'assistant' } => {
113
+ // Only include user and assistant messages
114
+ if (m.role !== 'user' && m.role !== 'assistant') return false;
115
+ // Filter out assistant messages with empty content (from tool-only responses)
116
+ // The API rejects empty content for non-final assistant messages
117
+ if (m.role === 'assistant' && (!m.content || m.content.trim() === '')) return false;
118
+ return true;
119
+ })
101
120
  .map(m => ({
102
121
  role: m.role,
103
122
  content: m.role === 'user' ? this.buildContentBlocks(m.content) : m.content
@@ -336,9 +355,10 @@ When a user intent maps to an available slash command, invoke the command direct
336
355
 
337
356
  try {
338
357
  const result = await executeTool(
339
- toolBlock.name,
358
+ toolBlock.name,
340
359
  toolBlock.input,
341
- this.config.tools
360
+ this.config.tools,
361
+ { cwd: this._cwd }
342
362
  );
343
363
 
344
364
  toolCall.status = 'complete';
@@ -1,9 +1,14 @@
1
1
  import { readFile, writeFile, readdir, stat } from 'fs/promises';
2
2
  import { dirname, resolve } from 'path';
3
- import { Tool } from './types.js';
3
+ import { Tool, ToolContext } from './types.js';
4
4
  import { ToolCapability } from '../runtime/capabilities.js';
5
5
  import { buildSimpleDiff } from '../../utils/diff.js';
6
6
 
7
+ function resolvePath(path: string, context?: ToolContext): string {
8
+ const base = context?.cwd || process.cwd();
9
+ return resolve(base, path);
10
+ }
11
+
7
12
  // --- File Tools ---
8
13
 
9
14
  export const readFileTool: Tool = {
@@ -27,10 +32,10 @@ export const readFileTool: Tool = {
27
32
  required: ['path']
28
33
  }
29
34
  },
30
- execute: async (args) => {
31
- const path = resolve(String(args.path));
35
+ execute: async (args, context) => {
36
+ const path = resolvePath(String(args.path), context);
32
37
  const encoding = (args.encoding as BufferEncoding) || 'utf-8';
33
-
38
+
34
39
  try {
35
40
  const content = await readFile(path, { encoding });
36
41
  const stats = await stat(path);
@@ -70,16 +75,16 @@ export const writeFileTool: Tool = {
70
75
  required: ['path', 'content']
71
76
  }
72
77
  },
73
- execute: async (args) => {
74
- const path = resolve(String(args.path));
78
+ execute: async (args, context) => {
79
+ const path = resolvePath(String(args.path), context);
75
80
  const content = String(args.content);
76
81
  const append = args.append === 'true';
77
-
82
+
78
83
  try {
79
84
  // Ensure directory exists
80
85
  const { mkdir, appendFile } = await import('fs/promises');
81
86
  await mkdir(dirname(path), { recursive: true });
82
-
87
+
83
88
  let beforeContent = '';
84
89
  try {
85
90
  beforeContent = await readFile(path, { encoding: 'utf-8' });
@@ -92,7 +97,7 @@ export const writeFileTool: Tool = {
92
97
  } else {
93
98
  await writeFile(path, content, 'utf-8');
94
99
  }
95
-
100
+
96
101
  const stats = await stat(path);
97
102
  const afterContent = await readFile(path, { encoding: 'utf-8' });
98
103
  const diff = buildSimpleDiff(beforeContent, afterContent);
@@ -131,38 +136,38 @@ export const listDirectoryTool: Tool = {
131
136
  required: ['path']
132
137
  }
133
138
  },
134
- execute: async (args) => {
135
- const path = resolve(String(args.path));
139
+ execute: async (args, context) => {
140
+ const path = resolvePath(String(args.path), context);
136
141
  const recursive = args.recursive === 'true';
137
-
142
+
138
143
  async function listDir(dir: string, depth = 0): Promise<object[]> {
139
144
  if (depth > 3) return [];
140
-
145
+
141
146
  const entries = await readdir(dir, { withFileTypes: true });
142
147
  const results: object[] = [];
143
-
148
+
144
149
  for (const entry of entries.slice(0, 100)) { // Limit entries
145
150
  const entryPath = resolve(dir, entry.name);
146
151
  const info: Record<string, unknown> = {
147
152
  name: entry.name,
148
153
  type: entry.isDirectory() ? 'directory' : 'file'
149
154
  };
150
-
155
+
151
156
  if (entry.isFile()) {
152
157
  const s = await stat(entryPath);
153
158
  info.size = s.size;
154
159
  }
155
-
160
+
156
161
  if (recursive && entry.isDirectory() && !entry.name.startsWith('.')) {
157
162
  info.children = await listDir(entryPath, depth + 1);
158
163
  }
159
-
164
+
160
165
  results.push(info);
161
166
  }
162
-
167
+
163
168
  return results;
164
169
  }
165
-
170
+
166
171
  try {
167
172
  const entries = await listDir(path);
168
173
  return JSON.stringify({ path, entries });
@@ -1,4 +1,4 @@
1
- import { Tool } from './types.js';
1
+ import { Tool, ToolContext } from './types.js';
2
2
  import { ToolDefinition } from '../../types.js';
3
3
  import { readFileTool, writeFileTool, listDirectoryTool } from './file.js';
4
4
  import { runCommandTool } from './shell.js';
@@ -27,15 +27,16 @@ export function getTool(name: string, tools: Tool[] = defaultTools): Tool | unde
27
27
  }
28
28
 
29
29
  export async function executeTool(
30
- name: string,
30
+ name: string,
31
31
  args: Record<string, unknown>,
32
- tools: Tool[] = defaultTools
32
+ tools: Tool[] = defaultTools,
33
+ context?: ToolContext
33
34
  ): Promise<string> {
34
35
  const tool = getTool(name, tools);
35
36
  if (!tool) {
36
37
  throw new Error(`Unknown tool: ${name}`);
37
38
  }
38
- return tool.execute(args);
39
+ return tool.execute(args, context);
39
40
  }
40
41
 
41
42
  export { readFileTool, writeFileTool, listDirectoryTool } from './file.js';
@@ -1,6 +1,6 @@
1
1
  import { spawn } from 'child_process';
2
2
  import { resolve } from 'path';
3
- import { Tool } from './types.js';
3
+ import { Tool, ToolContext } from './types.js';
4
4
  import { ToolCapability } from '../runtime/capabilities.js';
5
5
 
6
6
  interface RunResult {
@@ -58,9 +58,10 @@ export const searchTool: Tool = {
58
58
  required: ['pattern']
59
59
  }
60
60
  },
61
- execute: async (args) => {
61
+ execute: async (args, context) => {
62
+ const baseCwd = context?.cwd || process.cwd();
62
63
  const pattern = String(args.pattern || '');
63
- const path = resolve(String(args.path || '.'));
64
+ const path = resolve(baseCwd, String(args.path || '.'));
64
65
  const glob = args.glob ? String(args.glob) : undefined;
65
66
  const outputMode = args.output_mode === 'files' ? 'files' : 'content';
66
67
  const maxResults = Math.max(1, Math.min(200, parseInt(String(args.max_results || '20'), 10)));
@@ -82,14 +83,14 @@ export const searchTool: Tool = {
82
83
 
83
84
  let result: RunResult | null = null;
84
85
  try {
85
- result = await runCommand('rg', rgArgs, process.cwd());
86
+ result = await runCommand('rg', rgArgs, baseCwd);
86
87
  } catch {
87
88
  result = null;
88
89
  }
89
90
 
90
91
  if (!result || (result.code !== 0 && result.code !== 1)) {
91
92
  const grepArgs = ['-R', '-n', pattern, path];
92
- const fallback = await runCommand('grep', grepArgs, process.cwd());
93
+ const fallback = await runCommand('grep', grepArgs, baseCwd);
93
94
  if (fallback.code !== 0 && fallback.code !== 1) {
94
95
  throw new Error(fallback.stderr || 'Search failed');
95
96
  }
@@ -1,7 +1,7 @@
1
1
  import { exec } from 'child_process';
2
2
  import { promisify } from 'util';
3
3
  import { resolve } from 'path';
4
- import { Tool } from './types.js';
4
+ import { Tool, ToolContext } from './types.js';
5
5
  import { ToolCapability } from '../runtime/capabilities.js';
6
6
 
7
7
  const execAsync = promisify(exec);
@@ -32,24 +32,25 @@ export const runCommandTool: Tool = {
32
32
  required: ['command']
33
33
  }
34
34
  },
35
- execute: async (args) => {
35
+ execute: async (args, context) => {
36
36
  const command = String(args.command);
37
- const cwd = args.cwd ? resolve(String(args.cwd)) : process.cwd();
37
+ const baseCwd = context?.cwd || process.cwd();
38
+ const cwd = args.cwd ? resolve(baseCwd, String(args.cwd)) : baseCwd;
38
39
  const timeout = parseInt(String(args.timeout || '30000'), 10);
39
-
40
+
40
41
  // Basic safety checks
41
42
  const dangerous = ['rm -rf /', 'mkfs', ':(){:|:&};:'];
42
43
  if (dangerous.some(d => command.includes(d))) {
43
44
  throw new Error('Command rejected for safety reasons');
44
45
  }
45
-
46
+
46
47
  try {
47
- const { stdout, stderr } = await execAsync(command, {
48
- cwd,
48
+ const { stdout, stderr } = await execAsync(command, {
49
+ cwd,
49
50
  timeout,
50
51
  maxBuffer: 1024 * 1024 // 1MB
51
52
  });
52
-
53
+
53
54
  return JSON.stringify({
54
55
  command,
55
56
  cwd,
@@ -59,7 +60,10 @@ export const runCommandTool: Tool = {
59
60
  });
60
61
  } catch (err) {
61
62
  const e = err as Error & { stdout?: string; stderr?: string; code?: number };
62
- throw new Error(`Command failed: ${e.message}\nstderr: ${e.stderr || ''}`);
63
+ // Include both stdout and stderr in error - many tools output errors to stdout
64
+ const output = [e.stdout, e.stderr].filter(Boolean).join('\n').trim();
65
+ const outputSnippet = output.slice(0, 2000) || '(no output)';
66
+ throw new Error(`Command failed (exit ${e.code || '?'}):\n${outputSnippet}`);
63
67
  }
64
68
  }
65
69
  };
@@ -3,8 +3,12 @@ import { ToolCapability } from '../runtime/capabilities.js';
3
3
 
4
4
  // --- Tool Interface ---
5
5
 
6
+ export interface ToolContext {
7
+ cwd: string; // Working directory for path resolution
8
+ }
9
+
6
10
  export interface Tool {
7
11
  definition: ToolDefinition;
8
12
  capabilities?: ToolCapability[];
9
- execute: (args: Record<string, unknown>) => Promise<string>;
13
+ execute: (args: Record<string, unknown>, context?: ToolContext) => Promise<string>;
10
14
  }
@@ -54,7 +54,16 @@ export async function runShellCommand(command: string, cwd: string): Promise<She
54
54
 
55
55
  export async function resolveWorkingDir(current: string, target?: string): Promise<string> {
56
56
  const base = current || process.cwd();
57
- const next = target && target.trim().length > 0 ? resolve(base, target) : base;
57
+ let path = target?.trim() || '';
58
+
59
+ // Expand tilde to home directory
60
+ if (path.startsWith('~/')) {
61
+ path = resolve(process.env.HOME || '', path.slice(2));
62
+ } else if (path === '~') {
63
+ path = process.env.HOME || '';
64
+ }
65
+
66
+ const next = path.length > 0 ? resolve(base, path) : base;
58
67
  const info = await stat(next);
59
68
  if (!info.isDirectory()) {
60
69
  throw new Error('Not a directory');