zerg-ztc 0.1.4 → 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.
Files changed (139) hide show
  1. package/dist/App.d.ts.map +1 -1
  2. package/dist/App.js +141 -16
  3. package/dist/App.js.map +1 -1
  4. package/dist/agent/agent.d.ts +4 -0
  5. package/dist/agent/agent.d.ts.map +1 -1
  6. package/dist/agent/agent.js +21 -3
  7. package/dist/agent/agent.js.map +1 -1
  8. package/dist/agent/commands/config.d.ts.map +1 -1
  9. package/dist/agent/commands/config.js +68 -2
  10. package/dist/agent/commands/config.js.map +1 -1
  11. package/dist/agent/commands/index.d.ts.map +1 -1
  12. package/dist/agent/commands/index.js +2 -1
  13. package/dist/agent/commands/index.js.map +1 -1
  14. package/dist/agent/commands/update.d.ts +3 -0
  15. package/dist/agent/commands/update.d.ts.map +1 -0
  16. package/dist/agent/commands/update.js +33 -0
  17. package/dist/agent/commands/update.js.map +1 -0
  18. package/dist/agent/tools/file.d.ts.map +1 -1
  19. package/dist/agent/tools/file.js +10 -6
  20. package/dist/agent/tools/file.js.map +1 -1
  21. package/dist/agent/tools/index.d.ts +2 -2
  22. package/dist/agent/tools/index.d.ts.map +1 -1
  23. package/dist/agent/tools/index.js +2 -2
  24. package/dist/agent/tools/index.js.map +1 -1
  25. package/dist/agent/tools/search.d.ts.map +1 -1
  26. package/dist/agent/tools/search.js +5 -4
  27. package/dist/agent/tools/search.js.map +1 -1
  28. package/dist/agent/tools/shell.d.ts.map +1 -1
  29. package/dist/agent/tools/shell.js +7 -3
  30. package/dist/agent/tools/shell.js.map +1 -1
  31. package/dist/agent/tools/types.d.ts +4 -1
  32. package/dist/agent/tools/types.d.ts.map +1 -1
  33. package/dist/cli.js +46 -31
  34. package/dist/cli.js.map +1 -1
  35. package/dist/components/ActivityLine.d.ts +11 -0
  36. package/dist/components/ActivityLine.d.ts.map +1 -0
  37. package/dist/components/ActivityLine.js +9 -0
  38. package/dist/components/ActivityLine.js.map +1 -0
  39. package/dist/components/FullScreen.d.ts +1 -0
  40. package/dist/components/FullScreen.d.ts.map +1 -1
  41. package/dist/components/FullScreen.js +2 -2
  42. package/dist/components/FullScreen.js.map +1 -1
  43. package/dist/components/MessageList.d.ts +2 -1
  44. package/dist/components/MessageList.d.ts.map +1 -1
  45. package/dist/components/MessageList.js +41 -2
  46. package/dist/components/MessageList.js.map +1 -1
  47. package/dist/components/SingleMessage.d.ts +9 -0
  48. package/dist/components/SingleMessage.d.ts.map +1 -0
  49. package/dist/components/SingleMessage.js +27 -0
  50. package/dist/components/SingleMessage.js.map +1 -0
  51. package/dist/components/StatusBar.d.ts +1 -0
  52. package/dist/components/StatusBar.d.ts.map +1 -1
  53. package/dist/components/StatusBar.js +2 -1
  54. package/dist/components/StatusBar.js.map +1 -1
  55. package/dist/components/index.d.ts +2 -0
  56. package/dist/components/index.d.ts.map +1 -1
  57. package/dist/components/index.js +2 -0
  58. package/dist/components/index.js.map +1 -1
  59. package/dist/config/types.d.ts +1 -0
  60. package/dist/config/types.d.ts.map +1 -1
  61. package/dist/config.d.ts.map +1 -1
  62. package/dist/config.js +8 -0
  63. package/dist/config.js.map +1 -1
  64. package/dist/ui/views/activity_line.d.ts +11 -0
  65. package/dist/ui/views/activity_line.d.ts.map +1 -0
  66. package/dist/ui/views/activity_line.js +20 -0
  67. package/dist/ui/views/activity_line.js.map +1 -0
  68. package/dist/ui/views/app.d.ts +5 -2
  69. package/dist/ui/views/app.d.ts.map +1 -1
  70. package/dist/ui/views/app.js +17 -14
  71. package/dist/ui/views/app.js.map +1 -1
  72. package/dist/ui/views/header.d.ts.map +1 -1
  73. package/dist/ui/views/header.js +3 -4
  74. package/dist/ui/views/header.js.map +1 -1
  75. package/dist/ui/views/input_area.d.ts.map +1 -1
  76. package/dist/ui/views/input_area.js +25 -12
  77. package/dist/ui/views/input_area.js.map +1 -1
  78. package/dist/ui/views/message_list.d.ts +3 -2
  79. package/dist/ui/views/message_list.d.ts.map +1 -1
  80. package/dist/ui/views/message_list.js +33 -19
  81. package/dist/ui/views/message_list.js.map +1 -1
  82. package/dist/ui/views/status_bar.d.ts +2 -1
  83. package/dist/ui/views/status_bar.d.ts.map +1 -1
  84. package/dist/ui/views/status_bar.js +4 -2
  85. package/dist/ui/views/status_bar.js.map +1 -1
  86. package/dist/utils/shell.d.ts.map +1 -1
  87. package/dist/utils/shell.js +9 -1
  88. package/dist/utils/shell.js.map +1 -1
  89. package/dist/utils/spinner_frames.d.ts +2 -0
  90. package/dist/utils/spinner_frames.d.ts.map +1 -0
  91. package/dist/utils/spinner_frames.js +2 -0
  92. package/dist/utils/spinner_frames.js.map +1 -0
  93. package/dist/utils/spinner_verbs.d.ts +4 -0
  94. package/dist/utils/spinner_verbs.d.ts.map +1 -0
  95. package/dist/utils/spinner_verbs.js +22 -0
  96. package/dist/utils/spinner_verbs.js.map +1 -0
  97. package/dist/utils/tool_trace.d.ts.map +1 -1
  98. package/dist/utils/tool_trace.js +12 -2
  99. package/dist/utils/tool_trace.js.map +1 -1
  100. package/dist/utils/update.d.ts +9 -0
  101. package/dist/utils/update.d.ts.map +1 -0
  102. package/dist/utils/update.js +37 -0
  103. package/dist/utils/update.js.map +1 -0
  104. package/dist/utils/version.d.ts +2 -0
  105. package/dist/utils/version.d.ts.map +1 -0
  106. package/dist/utils/version.js +16 -0
  107. package/dist/utils/version.js.map +1 -0
  108. package/package.json +1 -1
  109. package/src/App.tsx +180 -26
  110. package/src/agent/agent.ts +26 -6
  111. package/src/agent/commands/config.ts +76 -2
  112. package/src/agent/commands/index.ts +2 -0
  113. package/src/agent/commands/update.ts +32 -0
  114. package/src/agent/tools/file.ts +24 -19
  115. package/src/agent/tools/index.ts +5 -4
  116. package/src/agent/tools/search.ts +6 -5
  117. package/src/agent/tools/shell.ts +13 -9
  118. package/src/agent/tools/types.ts +5 -1
  119. package/src/cli.tsx +50 -30
  120. package/src/components/ActivityLine.tsx +23 -0
  121. package/src/components/FullScreen.tsx +4 -3
  122. package/src/components/MessageList.tsx +52 -6
  123. package/src/components/SingleMessage.tsx +59 -0
  124. package/src/components/StatusBar.tsx +3 -0
  125. package/src/components/index.tsx +3 -1
  126. package/src/config/types.ts +1 -0
  127. package/src/config.ts +8 -0
  128. package/src/ui/views/activity_line.ts +33 -0
  129. package/src/ui/views/app.ts +23 -14
  130. package/src/ui/views/header.ts +3 -4
  131. package/src/ui/views/input_area.ts +28 -17
  132. package/src/ui/views/message_list.ts +36 -20
  133. package/src/ui/views/status_bar.ts +5 -1
  134. package/src/utils/shell.ts +10 -1
  135. package/src/utils/spinner_frames.ts +1 -0
  136. package/src/utils/spinner_verbs.ts +23 -0
  137. package/src/utils/tool_trace.ts +12 -2
  138. package/src/utils/update.ts +44 -0
  139. package/src/utils/version.ts +15 -0
@@ -1,7 +1,8 @@
1
+ import { DEFAULT_SPINNER_VERBS, formatSpinnerVerbs, parseSpinnerVerbs } from '../../utils/spinner_verbs.js';
1
2
  export const configCommand = {
2
3
  name: 'config',
3
4
  description: 'Manage configuration',
4
- usage: '<show|key|provider|endpoint|model> [value]',
5
+ usage: '<show|key|provider|endpoint|model|spinner> [value]',
5
6
  handler: async (args, ctx) => {
6
7
  const [subCmd, ...rest] = args;
7
8
  const value = rest.join(' ');
@@ -21,6 +22,7 @@ export const configCommand = {
21
22
  ` Max Tokens: ${config.maxTokens}`,
22
23
  ` Zerg Endpoint: ${config.zergEndpoint || '(not set)'}`,
23
24
  ` Emulation: ${ctx.config.getEmulationId() || '(none)'}`,
25
+ ` Spinner verbs: ${formatSpinnerVerbs(config.spinnerVerbs || DEFAULT_SPINNER_VERBS)}`,
24
26
  '',
25
27
  `Config storage: ${ctx.config.locationLabel || '~/.ztc/config.json'}`
26
28
  ].join('\n')
@@ -109,10 +111,74 @@ export const configCommand = {
109
111
  content: `✓ Model updated: ${value}`
110
112
  });
111
113
  break;
114
+ case 'spinner': {
115
+ const [action, ...restParts] = rest;
116
+ const actionValue = restParts.join(' ');
117
+ const current = ctx.config.get().spinnerVerbs || DEFAULT_SPINNER_VERBS;
118
+ if (!action || action === 'show') {
119
+ ctx.addMessage({
120
+ role: 'system',
121
+ content: `Spinner verbs:\n ${formatSpinnerVerbs(current)}\n\nUsage:\n /config spinner show\n /config spinner set <verb1, verb2, ...>\n /config spinner add <verb>\n /config spinner remove <verb>\n /config spinner reset\n /config spinner off`
122
+ });
123
+ return;
124
+ }
125
+ if (action === 'reset') {
126
+ ctx.config.set('spinnerVerbs', DEFAULT_SPINNER_VERBS);
127
+ ctx.config.save();
128
+ ctx.addMessage({ role: 'system', content: '✓ Spinner verbs reset to defaults.' });
129
+ return;
130
+ }
131
+ if (action === 'off') {
132
+ ctx.config.set('spinnerVerbs', []);
133
+ ctx.config.save();
134
+ ctx.addMessage({ role: 'system', content: '✓ Spinner verbs disabled.' });
135
+ return;
136
+ }
137
+ if (action === 'set') {
138
+ const verbs = parseSpinnerVerbs(actionValue);
139
+ if (verbs.length === 0) {
140
+ ctx.addMessage({ role: 'system', content: 'Usage: /config spinner set <verb1, verb2, ...>' });
141
+ return;
142
+ }
143
+ ctx.config.set('spinnerVerbs', verbs);
144
+ ctx.config.save();
145
+ ctx.addMessage({ role: 'system', content: `✓ Spinner verbs updated: ${formatSpinnerVerbs(verbs)}` });
146
+ return;
147
+ }
148
+ if (action === 'add') {
149
+ const verbs = parseSpinnerVerbs(actionValue);
150
+ if (verbs.length === 0) {
151
+ ctx.addMessage({ role: 'system', content: 'Usage: /config spinner add <verb>' });
152
+ return;
153
+ }
154
+ const next = [...current, ...verbs];
155
+ ctx.config.set('spinnerVerbs', next);
156
+ ctx.config.save();
157
+ ctx.addMessage({ role: 'system', content: `✓ Added spinner verbs: ${formatSpinnerVerbs(verbs)}` });
158
+ return;
159
+ }
160
+ if (action === 'remove') {
161
+ const verbs = parseSpinnerVerbs(actionValue).map(v => v.toLowerCase());
162
+ if (verbs.length === 0) {
163
+ ctx.addMessage({ role: 'system', content: 'Usage: /config spinner remove <verb>' });
164
+ return;
165
+ }
166
+ const next = current.filter(v => !verbs.includes(v.toLowerCase()));
167
+ ctx.config.set('spinnerVerbs', next);
168
+ ctx.config.save();
169
+ ctx.addMessage({ role: 'system', content: `✓ Removed spinner verbs: ${formatSpinnerVerbs(verbs)}` });
170
+ return;
171
+ }
172
+ ctx.addMessage({
173
+ role: 'system',
174
+ content: 'Usage: /config spinner <show|set|add|remove|reset|off> [value]'
175
+ });
176
+ break;
177
+ }
112
178
  default:
113
179
  ctx.addMessage({
114
180
  role: 'system',
115
- content: 'Usage: /config <show|key|provider|endpoint|model> [value]\n\nExamples:\n /config show Show current config\n /config key sk-ant-... Set API key (current provider)\n /config key openai sk-... Set API key for provider\n /config provider openai Set provider\n /config endpoint https://api.example.com/v1 Set OpenAI-compatible base URL\n /config model claude-opus-4-20250514 Set model'
181
+ content: 'Usage: /config <show|key|provider|endpoint|model|spinner> [value]\n\nExamples:\n /config show Show current config\n /config key sk-ant-... Set API key (current provider)\n /config key openai sk-... Set API key for provider\n /config provider openai Set provider\n /config endpoint https://api.example.com/v1 Set OpenAI-compatible base URL\n /config model claude-opus-4-20250514 Set model\n /config spinner set Reticulating splines, Organizing thoughts'
116
182
  });
117
183
  }
118
184
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/agent/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/agent/commands/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA0BrC,eAAO,MAAM,QAAQ,WAAc,CAAC;AACpC,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA2BrC,eAAO,MAAM,QAAQ,WAAc,CAAC;AACpC,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -14,8 +14,9 @@ import { skillsCommand } from './skills.js';
14
14
  import { retryCommand } from './retry.js';
15
15
  import { inputModeCommand } from './input_mode.js';
16
16
  import { keybindingsCommand } from './keybindings.js';
17
+ import { updateCommand } from './update.js';
17
18
  const commandList = [];
18
19
  const helpCommand = makeHelpCommand(() => commandList);
19
- commandList.push(helpCommand, configCommand, debugCommand, clearCommand, statusCommand, emulationCommand, shellCommand, cdCommand, clipboardCommand, modelsCommand, modelCommand, permissionsCommand, skillsCommand, keybindingsCommand, inputModeCommand, retryCommand, exitCommand);
20
+ commandList.push(helpCommand, configCommand, debugCommand, clearCommand, statusCommand, emulationCommand, shellCommand, cdCommand, clipboardCommand, modelsCommand, modelCommand, permissionsCommand, skillsCommand, keybindingsCommand, updateCommand, inputModeCommand, retryCommand, exitCommand);
20
21
  export const commands = commandList;
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,MAAM,WAAW,GAAc,EAAE,CAAC;AAElC,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;AAEvD,WAAW,CAAC,IAAI,CACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,WAAW,CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,WAAW,GAAc,EAAE,CAAC;AAElC,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;AAEvD,WAAW,CAAC,IAAI,CACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,WAAW,CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from './types.js';
2
+ export declare const updateCommand: Command;
3
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/agent/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,eAAO,MAAM,aAAa,EAAE,OA2B3B,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { getVersion } from '../../utils/version.js';
2
+ import { checkForUpdate } from '../../utils/update.js';
3
+ export const updateCommand = {
4
+ name: 'update',
5
+ description: 'Check for updates and install the latest version',
6
+ handler: async (_args, ctx) => {
7
+ try {
8
+ ctx.addMessage({ role: 'system', content: 'Checking for updates...' });
9
+ const current = getVersion();
10
+ const info = await checkForUpdate(current);
11
+ if (!info.hasUpdate) {
12
+ ctx.addMessage({ role: 'system', content: `ZTC is up to date (v${current}).` });
13
+ return;
14
+ }
15
+ ctx.addMessage({ role: 'system', content: `Updating to v${info.latest}...` });
16
+ const result = await ctx.shell.run('npm install -g zerg-ztc@latest');
17
+ if (result.exitCode === 0) {
18
+ ctx.addMessage({ role: 'system', content: `✓ Updated to v${info.latest}. Restart ZTC to use the new version.` });
19
+ }
20
+ else {
21
+ ctx.addMessage({
22
+ role: 'system',
23
+ content: `Update failed (exit ${result.exitCode}).\n${result.stderr || result.stdout || ''}`.trim()
24
+ });
25
+ }
26
+ }
27
+ catch (err) {
28
+ const message = err instanceof Error ? err.message : 'Update failed';
29
+ ctx.addMessage({ role: 'system', content: `Update failed: ${message}` });
30
+ }
31
+ }
32
+ };
33
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/agent/commands/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,kDAAkD;IAC/D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,OAAO,IAAI,EAAE,CAAC,CAAC;gBAChF,OAAO;YACT,CAAC;YACD,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YACrE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,IAAI,CAAC,MAAM,uCAAuC,EAAE,CAAC,CAAC;YACnH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,UAAU,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,uBAAuB,MAAM,CAAC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;iBACpG,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YACrE,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -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":"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"}
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":"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"}
@@ -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"}
package/dist/cli.js CHANGED
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { render } from 'ink';
4
- import { resolve, dirname } from 'path';
5
- import { statSync, readFileSync } from 'fs';
6
- import { fileURLToPath } from 'url';
4
+ import { resolve } from 'path';
5
+ import { statSync } from 'fs';
7
6
  import { App } from './App.js';
8
7
  import { configStore } from './config.js';
8
+ import { getVersion } from './utils/version.js';
9
9
  // --- CLI Entry Point ---
10
10
  // Parse command line args
11
11
  const args = process.argv.slice(2);
@@ -70,13 +70,38 @@ if (cwdIndex >= 0) {
70
70
  async function main() {
71
71
  await configStore.load(true);
72
72
  const isTty = Boolean(process.stdout.isTTY);
73
- const useAltScreen = isTty && process.env.ZTC_ALT_SCREEN !== '0' && process.env.ZTC_NO_ALT_SCREEN !== '1';
73
+ const useAltScreen = isTty
74
+ && process.env.ZTC_ALT_SCREEN === '1'
75
+ && process.env.ZTC_NO_ALT_SCREEN !== '1'
76
+ && process.env.ZTC_SCROLLBACK !== '1';
74
77
  if (useAltScreen) {
75
78
  process.stdout.write('\x1b[?1049h');
76
79
  process.stdout.write('\x1b[?25l');
80
+ }
81
+ if (isTty) {
82
+ // Clear screen and move cursor home for a clean start
77
83
  process.stdout.write('\x1b[2J');
78
84
  process.stdout.write('\x1b[H');
79
85
  }
86
+ // In scrollback mode, print a static header once at startup
87
+ const scrollback = !useAltScreen;
88
+ if (scrollback && isTty) {
89
+ const version = getVersion();
90
+ const dateLabel = new Date().toLocaleDateString('en-US', {
91
+ month: 'short',
92
+ day: '2-digit',
93
+ year: 'numeric'
94
+ });
95
+ const cols = process.stdout.columns || 80;
96
+ const title = 'Zerg Terminal Client';
97
+ const right = `${dateLabel} • v${version} • Ctrl+C exit • /help`;
98
+ const padding = Math.max(0, cols - title.length - right.length - 4);
99
+ const borderLine = '─'.repeat(cols - 2);
100
+ console.log(`┌${borderLine}┐`);
101
+ console.log(`│ ${title}${' '.repeat(padding)}${right} │`);
102
+ console.log(`└${borderLine}┘`);
103
+ console.log(''); // Extra line after header
104
+ }
80
105
  // Enable bracketed paste mode so we can detect paste boundaries
81
106
  process.stdout.write('\x1b[?2004h');
82
107
  // Enable Kitty keyboard protocol (progressive enhancement)
@@ -84,21 +109,23 @@ async function main() {
84
109
  // Flags: 1 = disambiguate escape codes, 2 = report event types, 4 = report alternate keys, 8 = report all keys
85
110
  // Using flags=1 for basic disambiguation which reports Cmd+V as CSI sequence
86
111
  process.stdout.write('\x1b[>1u');
87
- // Wrap stdout.write to use synchronized output (reduces flicker)
88
- // DECSM/DECRM 2026 tells terminal to batch updates
89
- const originalWrite = process.stdout.write.bind(process.stdout);
90
- let syncPending = false;
91
- process.stdout.write = function (chunk, encoding, callback) {
92
- if (!syncPending) {
93
- syncPending = true;
94
- originalWrite('\x1b[?2026h'); // Begin synchronized update
95
- setImmediate(() => {
96
- originalWrite('\x1b[?2026l'); // End synchronized update
97
- syncPending = false;
98
- });
99
- }
100
- return originalWrite(chunk, encoding, callback);
101
- };
112
+ if (useAltScreen) {
113
+ // Wrap stdout.write to use synchronized output (reduces flicker)
114
+ // DECSM/DECRM 2026 tells terminal to batch updates
115
+ const originalWrite = process.stdout.write.bind(process.stdout);
116
+ let syncPending = false;
117
+ process.stdout.write = function (chunk, encoding, callback) {
118
+ if (!syncPending) {
119
+ syncPending = true;
120
+ originalWrite('\x1b[?2026h'); // Begin synchronized update
121
+ setImmediate(() => {
122
+ originalWrite('\x1b[?2026l'); // End synchronized update
123
+ syncPending = false;
124
+ });
125
+ }
126
+ return originalWrite(chunk, encoding, callback);
127
+ };
128
+ }
102
129
  // Render the app
103
130
  const { waitUntilExit } = render(_jsx(App, {}));
104
131
  // Handle clean exit
@@ -116,16 +143,4 @@ async function main() {
116
143
  });
117
144
  }
118
145
  void main();
119
- function getVersion() {
120
- try {
121
- const here = dirname(fileURLToPath(import.meta.url));
122
- const pkgPath = resolve(here, '../package.json');
123
- const raw = readFileSync(pkgPath, 'utf-8');
124
- const parsed = JSON.parse(raw);
125
- return parsed.version || '0.0.0';
126
- }
127
- catch {
128
- return '0.0.0';
129
- }
130
- }
131
146
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { AgentState } from '../types.js';
3
+ interface ActivityLineProps {
4
+ state: AgentState;
5
+ spinnerLabel?: string | null;
6
+ spinnerFrame?: string | null;
7
+ inputMode?: 'queue' | 'interrupt';
8
+ }
9
+ export declare const ActivityLine: React.FC<ActivityLineProps>;
10
+ export default ActivityLine;
11
+ //# sourceMappingURL=ActivityLine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivityLine.d.ts","sourceRoot":"","sources":["../../src/components/ActivityLine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,UAAU,iBAAiB;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;CACnC;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAQpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { InkNode } from '../ui/ink/index.js';
3
+ import { buildActivityLineView } from '../ui/views/activity_line.js';
4
+ export const ActivityLine = ({ state, spinnerLabel, spinnerFrame, inputMode }) => {
5
+ const node = buildActivityLineView({ state, spinnerLabel, spinnerFrame, inputMode });
6
+ return _jsx(InkNode, { node: node });
7
+ };
8
+ export default ActivityLine;
9
+ //# sourceMappingURL=ActivityLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivityLine.js","sourceRoot":"","sources":["../../src/components/ActivityLine.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AASrE,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EACxD,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACV,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;IACrF,OAAO,KAAC,OAAO,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;AACjC,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}