@zds-ai/cli 0.1.8 → 0.1.10

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 (73) hide show
  1. package/README.md +387 -34
  2. package/dist/agent/context-manager.d.ts +70 -0
  3. package/dist/agent/context-manager.js +138 -0
  4. package/dist/agent/context-manager.js.map +1 -0
  5. package/dist/agent/hook-manager.d.ts +194 -0
  6. package/dist/agent/hook-manager.js +676 -0
  7. package/dist/agent/hook-manager.js.map +1 -0
  8. package/dist/agent/llm-agent.d.ts +469 -100
  9. package/dist/agent/llm-agent.js +781 -1580
  10. package/dist/agent/llm-agent.js.map +1 -1
  11. package/dist/agent/message-processor.d.ts +103 -0
  12. package/dist/agent/message-processor.js +225 -0
  13. package/dist/agent/message-processor.js.map +1 -0
  14. package/dist/agent/prompt-variables.d.ts +103 -40
  15. package/dist/agent/prompt-variables.js +250 -113
  16. package/dist/agent/prompt-variables.js.map +1 -1
  17. package/dist/agent/session-manager.d.ts +75 -0
  18. package/dist/agent/session-manager.js +194 -0
  19. package/dist/agent/session-manager.js.map +1 -0
  20. package/dist/agent/tool-executor.d.ts +111 -0
  21. package/dist/agent/tool-executor.js +397 -0
  22. package/dist/agent/tool-executor.js.map +1 -0
  23. package/dist/bin/generate_image_sd.sh +19 -12
  24. package/dist/bin/joycaption.sh +37 -0
  25. package/dist/grok/client.d.ts +52 -0
  26. package/dist/grok/client.js +127 -19
  27. package/dist/grok/client.js.map +1 -1
  28. package/dist/grok/tools.js +42 -8
  29. package/dist/grok/tools.js.map +1 -1
  30. package/dist/hooks/use-input-handler.d.ts +1 -1
  31. package/dist/hooks/use-input-handler.js +100 -13
  32. package/dist/hooks/use-input-handler.js.map +1 -1
  33. package/dist/index.js +25 -3
  34. package/dist/index.js.map +1 -1
  35. package/dist/mcp/config.d.ts +1 -0
  36. package/dist/mcp/config.js +45 -7
  37. package/dist/mcp/config.js.map +1 -1
  38. package/dist/tools/character-tool.js +13 -1
  39. package/dist/tools/character-tool.js.map +1 -1
  40. package/dist/tools/image-tool.d.ts +11 -1
  41. package/dist/tools/image-tool.js +109 -2
  42. package/dist/tools/image-tool.js.map +1 -1
  43. package/dist/tools/introspect-tool.js +131 -30
  44. package/dist/tools/introspect-tool.js.map +1 -1
  45. package/dist/tools/morph-editor.d.ts +21 -9
  46. package/dist/tools/morph-editor.js +21 -9
  47. package/dist/tools/morph-editor.js.map +1 -1
  48. package/dist/ui/components/active-task-status.d.ts +1 -1
  49. package/dist/ui/components/api-key-input.d.ts +1 -1
  50. package/dist/ui/components/backend-status.d.ts +1 -1
  51. package/dist/ui/components/chat-history.d.ts +1 -1
  52. package/dist/ui/components/chat-interface.d.ts +1 -1
  53. package/dist/ui/components/chat-interface.js +1 -1
  54. package/dist/ui/components/chat-interface.js.map +1 -1
  55. package/dist/ui/components/context-status.d.ts +1 -1
  56. package/dist/ui/components/mood-status.d.ts +1 -1
  57. package/dist/ui/components/persona-status.d.ts +1 -1
  58. package/dist/utils/chat-history-manager.d.ts +12 -4
  59. package/dist/utils/chat-history-manager.js +26 -11
  60. package/dist/utils/chat-history-manager.js.map +1 -1
  61. package/dist/utils/hook-executor.d.ts +53 -2
  62. package/dist/utils/hook-executor.js +258 -36
  63. package/dist/utils/hook-executor.js.map +1 -1
  64. package/dist/utils/rephrase-handler.d.ts +1 -1
  65. package/dist/utils/settings-manager.d.ts +41 -11
  66. package/dist/utils/settings-manager.js +172 -40
  67. package/dist/utils/settings-manager.js.map +1 -1
  68. package/dist/utils/slash-commands.d.ts +3 -3
  69. package/dist/utils/slash-commands.js +11 -5
  70. package/dist/utils/slash-commands.js.map +1 -1
  71. package/dist/utils/startup-hook.js +9 -2
  72. package/dist/utils/startup-hook.js.map +1 -1
  73. package/package.json +10 -8
@@ -5,8 +5,9 @@ export interface HookResult {
5
5
  commands?: HookCommand[];
6
6
  }
7
7
  export interface HookCommand {
8
- type: "ENV" | "TOOL_RESULT" | "ECHO" | "RUN" | "BACKEND" | "MODEL" | "SYSTEM" | "SYSTEM_FILE" | "BASE_URL" | "API_KEY_ENV_VAR" | "SET" | "SET_FILE" | "SET_TEMP_FILE" | "PREFILL";
8
+ type: "ENV" | "TOOL_RESULT" | "ECHO" | "RUN" | "BACKEND" | "MODEL" | "SYSTEM" | "SYSTEM_FILE" | "BASE_URL" | "API_KEY_ENV_VAR" | "SET" | "SET_FILE" | "SET_TEMP_FILE" | "PREFILL" | "CALL" | "MAXCONTEXT";
9
9
  value: string;
10
+ isConditional?: boolean;
10
11
  }
11
12
  export interface HookCommandResults {
12
13
  env: Record<string, string>;
@@ -17,7 +18,24 @@ export interface HookCommandResults {
17
18
  baseUrl?: string;
18
19
  apiKeyEnvVar?: string;
19
20
  prefill?: string;
20
- promptVars: Map<string, string>;
21
+ maxContext?: number;
22
+ promptVars: Array<{
23
+ name: string;
24
+ value: string;
25
+ }>;
26
+ calls: string[];
27
+ conditionalResults?: {
28
+ env: Record<string, string>;
29
+ toolResult: string;
30
+ system: string;
31
+ prefill?: string;
32
+ maxContext?: number;
33
+ promptVars: Array<{
34
+ name: string;
35
+ value: string;
36
+ }>;
37
+ calls: string[];
38
+ };
21
39
  }
22
40
  /**
23
41
  * Apply hook commands and return extracted values
@@ -31,9 +49,14 @@ export interface HookCommandResults {
31
49
  * BASE_URL commands set the base URL to use (last one wins if multiple)
32
50
  * API_KEY_ENV_VAR commands set the env var name for API key (last one wins if multiple)
33
51
  * PREFILL commands set assistant prefill text (last one wins if multiple)
52
+ * MAXCONTEXT commands set maximum context size in tokens (last one wins if multiple)
34
53
  * SET commands set prompt variables (text limited to 10,000 bytes)
35
54
  * SET_FILE commands read file contents (up to 20,000 bytes) and set prompt variables
36
55
  * SET_TEMP_FILE commands read file contents (up to 20,000 bytes), set prompt variables, and delete file
56
+ *
57
+ * Commands marked with isConditional=true are separated and returned in conditionalResults.
58
+ * These should only be applied after backend/model tests succeed.
59
+ *
37
60
  * Returns extracted values for caller to use
38
61
  */
39
62
  export declare function applyHookCommands(commands: HookCommand[]): HookCommandResults;
@@ -54,8 +77,36 @@ export declare function applyEnvVariables(env: Record<string, string>): void;
54
77
  * @returns Promise<HookResult>
55
78
  */
56
79
  export declare function executeOperationHook(hookPath: string, operation: string, data: Record<string, any>, timeoutMs?: number, mandatory?: boolean, contextCurrent?: number, contextMax?: number): Promise<HookResult>;
80
+ /**
81
+ * Execute a preToolCall hook with tool name and parameters passed via environment
82
+ * This hook runs before tool execution and can modify environment/prompt variables
83
+ * Non-blocking: always processes commands even on non-zero exit
84
+ * @param hookPath Path to hook script (supports ~/ expansion)
85
+ * @param toolName Name of the tool being executed
86
+ * @param parameters Tool parameters as key-value pairs
87
+ * @param timeoutMs Timeout in milliseconds (default 30000)
88
+ * @returns Promise<HookResult>
89
+ */
90
+ export declare function executePreToolCallHook(hookPath: string, toolName: string, parameters: Record<string, any>, timeoutMs?: number, contextCurrent?: number, contextMax?: number): Promise<HookResult>;
91
+ /**
92
+ * Execute a postToolCall hook with tool name, parameters, and result passed via environment
93
+ * This hook runs after tool execution and can add context/guidance based on results
94
+ * Non-blocking: always processes commands even on non-zero exit
95
+ * @param hookPath Path to hook script (supports ~/ expansion)
96
+ * @param toolName Name of the tool that was executed
97
+ * @param parameters Tool parameters as key-value pairs
98
+ * @param result Tool execution result
99
+ * @param timeoutMs Timeout in milliseconds (default 30000)
100
+ * @returns Promise<HookResult>
101
+ */
102
+ export declare function executePostToolCallHook(hookPath: string, toolName: string, parameters: Record<string, any>, result: {
103
+ success: boolean;
104
+ output?: string;
105
+ error?: string;
106
+ }, timeoutMs?: number, contextCurrent?: number, contextMax?: number): Promise<HookResult>;
57
107
  /**
58
108
  * Execute a tool approval hook with tool name and parameters passed via environment
109
+ * Blocking: non-zero exit code rejects the tool execution
59
110
  * @param hookPath Path to hook script (supports ~/ expansion)
60
111
  * @param toolName Name of the tool being executed
61
112
  * @param parameters Tool parameters as key-value pairs
@@ -34,58 +34,104 @@ function expandTilde(filePath) {
34
34
  }
35
35
  /**
36
36
  * Parse hook output for command directives
37
- * Lines starting with "ENV ", "TOOL_RESULT ", "ECHO ", "RUN ", "BACKEND ", "MODEL ", "SYSTEM ", "SYSTEM_FILE ", "BASE_URL ", "API_KEY_ENV_VAR ", "SET ", "SET_FILE ", "SET_TEMP_FILE ", or "PREFILL " are commands
37
+ * Lines starting with "ENV ", "TOOL_RESULT ", "ECHO ", "RUN ", "BACKEND ", "MODEL ", "SYSTEM ", "SYSTEM_FILE ", "BASE_URL ", "API_KEY_ENV_VAR ", "SET ", "SET_FILE ", "SET_TEMP_FILE ", "PREFILL ", "CALL ", or "MAXCONTEXT " are commands
38
+ * BACKEND and MODEL commands may optionally be prefixed with "CONDITION " for clarity
39
+ * ENV, SET*, SYSTEM*, TOOL_RESULT, PREFILL, CALL, and MAXCONTEXT commands may be prefixed with "CONDITIONAL " to make them dependent on backend/model test success
38
40
  * Other lines are treated as TOOL_RESULT if present
39
41
  */
40
42
  function parseHookOutput(stdout) {
41
43
  const commands = [];
42
44
  const lines = stdout.split("\n").filter((line) => line.trim());
43
- for (const line of lines) {
44
- if (line.startsWith("ENV ")) {
45
- commands.push({ type: "ENV", value: line.slice(4) });
45
+ for (let line of lines) {
46
+ let isConditional = false;
47
+ // Handle CONDITIONAL prefix (marks command as dependent on backend/model test)
48
+ if (line.startsWith("CONDITIONAL ")) {
49
+ isConditional = true;
50
+ line = line.slice(12); // Strip "CONDITIONAL "
51
+ }
52
+ // Handle CONDITION prefix (only valid for BACKEND and MODEL)
53
+ if (line.startsWith("CONDITION ")) {
54
+ const remainder = line.slice(10); // Strip "CONDITION "
55
+ if (remainder.startsWith("BACKEND ")) {
56
+ commands.push({ type: "BACKEND", value: remainder.slice(8) });
57
+ }
58
+ else if (remainder.startsWith("MODEL ")) {
59
+ commands.push({ type: "MODEL", value: remainder.slice(6) });
60
+ }
61
+ else {
62
+ // CONDITION prefix is only valid for BACKEND and MODEL
63
+ throw new Error(`Invalid hook command: CONDITION prefix is only valid for BACKEND and MODEL commands, got: CONDITION ${remainder}`);
64
+ }
65
+ }
66
+ else if (line.startsWith("ENV ")) {
67
+ commands.push({ type: "ENV", value: line.slice(4), isConditional });
46
68
  }
47
69
  else if (line.startsWith("TOOL_RESULT ")) {
48
- commands.push({ type: "TOOL_RESULT", value: line.slice(12) });
70
+ commands.push({ type: "TOOL_RESULT", value: line.slice(12), isConditional });
49
71
  }
50
72
  else if (line.startsWith("ECHO ")) {
73
+ if (isConditional) {
74
+ throw new Error(`Invalid hook command: CONDITIONAL prefix is not valid for ECHO commands`);
75
+ }
51
76
  commands.push({ type: "ECHO", value: line.slice(5) });
52
77
  }
53
78
  else if (line.startsWith("RUN ")) {
79
+ if (isConditional) {
80
+ throw new Error(`Invalid hook command: CONDITIONAL prefix is not valid for RUN commands`);
81
+ }
54
82
  commands.push({ type: "RUN", value: line.slice(4) });
55
83
  }
56
84
  else if (line.startsWith("BACKEND ")) {
85
+ if (isConditional) {
86
+ throw new Error(`Invalid hook command: CONDITIONAL prefix is not valid for BACKEND commands (use CONDITION BACKEND instead)`);
87
+ }
57
88
  commands.push({ type: "BACKEND", value: line.slice(8) });
58
89
  }
59
90
  else if (line.startsWith("MODEL ")) {
91
+ if (isConditional) {
92
+ throw new Error(`Invalid hook command: CONDITIONAL prefix is not valid for MODEL commands (use CONDITION MODEL instead)`);
93
+ }
60
94
  commands.push({ type: "MODEL", value: line.slice(6) });
61
95
  }
62
96
  else if (line.startsWith("SYSTEM_FILE ")) {
63
- commands.push({ type: "SYSTEM_FILE", value: line.slice(12) });
97
+ commands.push({ type: "SYSTEM_FILE", value: line.slice(12), isConditional });
64
98
  }
65
99
  else if (line.startsWith("SYSTEM ")) {
66
- commands.push({ type: "SYSTEM", value: line.slice(7) });
100
+ commands.push({ type: "SYSTEM", value: line.slice(7), isConditional });
67
101
  }
68
102
  else if (line.startsWith("BASE_URL ")) {
103
+ if (isConditional) {
104
+ throw new Error(`Invalid hook command: CONDITIONAL prefix is not valid for BASE_URL commands`);
105
+ }
69
106
  commands.push({ type: "BASE_URL", value: line.slice(9) });
70
107
  }
71
108
  else if (line.startsWith("API_KEY_ENV_VAR ")) {
109
+ if (isConditional) {
110
+ throw new Error(`Invalid hook command: CONDITIONAL prefix is not valid for API_KEY_ENV_VAR commands`);
111
+ }
72
112
  commands.push({ type: "API_KEY_ENV_VAR", value: line.slice(16) });
73
113
  }
74
114
  else if (line.startsWith("SET_TEMP_FILE ")) {
75
- commands.push({ type: "SET_TEMP_FILE", value: line.slice(14) });
115
+ commands.push({ type: "SET_TEMP_FILE", value: line.slice(14), isConditional });
76
116
  }
77
117
  else if (line.startsWith("SET_FILE ")) {
78
- commands.push({ type: "SET_FILE", value: line.slice(9) });
118
+ commands.push({ type: "SET_FILE", value: line.slice(9), isConditional });
79
119
  }
80
120
  else if (line.startsWith("SET ")) {
81
- commands.push({ type: "SET", value: line.slice(4) });
121
+ commands.push({ type: "SET", value: line.slice(4), isConditional });
82
122
  }
83
123
  else if (line.startsWith("PREFILL ")) {
84
- commands.push({ type: "PREFILL", value: line.slice(8) });
124
+ commands.push({ type: "PREFILL", value: line.slice(8), isConditional });
125
+ }
126
+ else if (line.startsWith("CALL ")) {
127
+ commands.push({ type: "CALL", value: line.slice(5), isConditional });
128
+ }
129
+ else if (line.startsWith("MAXCONTEXT ")) {
130
+ commands.push({ type: "MAXCONTEXT", value: line.slice(11), isConditional });
85
131
  }
86
132
  else if (line.trim()) {
87
133
  // Non-empty lines without a command prefix are treated as TOOL_RESULT
88
- commands.push({ type: "TOOL_RESULT", value: line });
134
+ commands.push({ type: "TOOL_RESULT", value: line, isConditional });
89
135
  }
90
136
  }
91
137
  return commands;
@@ -102,21 +148,57 @@ function parseHookOutput(stdout) {
102
148
  * BASE_URL commands set the base URL to use (last one wins if multiple)
103
149
  * API_KEY_ENV_VAR commands set the env var name for API key (last one wins if multiple)
104
150
  * PREFILL commands set assistant prefill text (last one wins if multiple)
151
+ * MAXCONTEXT commands set maximum context size in tokens (last one wins if multiple)
105
152
  * SET commands set prompt variables (text limited to 10,000 bytes)
106
153
  * SET_FILE commands read file contents (up to 20,000 bytes) and set prompt variables
107
154
  * SET_TEMP_FILE commands read file contents (up to 20,000 bytes), set prompt variables, and delete file
155
+ *
156
+ * Commands marked with isConditional=true are separated and returned in conditionalResults.
157
+ * These should only be applied after backend/model tests succeed.
158
+ *
108
159
  * Returns extracted values for caller to use
109
160
  */
110
161
  export function applyHookCommands(commands) {
162
+ // Separate conditional and non-conditional commands
163
+ const immediateCommands = commands.filter(cmd => !cmd.isConditional);
164
+ const conditionalCommands = commands.filter(cmd => cmd.isConditional);
165
+ // Process immediate commands
166
+ const immediateResults = processCommandBatch(immediateCommands);
167
+ // Process conditional commands (if any)
168
+ let conditionalResults = undefined;
169
+ if (conditionalCommands.length > 0) {
170
+ const conditionalBatch = processCommandBatch(conditionalCommands);
171
+ conditionalResults = {
172
+ env: conditionalBatch.env,
173
+ toolResult: conditionalBatch.toolResult,
174
+ system: conditionalBatch.system,
175
+ prefill: conditionalBatch.prefill,
176
+ maxContext: conditionalBatch.maxContext,
177
+ promptVars: conditionalBatch.promptVars,
178
+ calls: conditionalBatch.calls,
179
+ };
180
+ }
181
+ return {
182
+ ...immediateResults,
183
+ conditionalResults,
184
+ };
185
+ }
186
+ /**
187
+ * Process a batch of hook commands and return extracted values
188
+ * Internal helper for applyHookCommands
189
+ */
190
+ function processCommandBatch(commands) {
111
191
  const env = {};
112
192
  const toolResultLines = [];
113
193
  const systemLines = [];
114
- const promptVars = new Map();
194
+ const promptVars = [];
195
+ const calls = [];
115
196
  let model = undefined;
116
197
  let backend = undefined;
117
198
  let baseUrl = undefined;
118
199
  let apiKeyEnvVar = undefined;
119
200
  let prefill = undefined;
201
+ let maxContext = undefined;
120
202
  for (const cmd of commands) {
121
203
  if (cmd.type === "ENV") {
122
204
  // Parse "KEY=VALUE" - DO NOT apply to process.env yet, just extract
@@ -181,7 +263,7 @@ export function applyHookCommands(commands) {
181
263
  }
182
264
  else if (cmd.type === "SET") {
183
265
  // Parse "VAR_NAME=value"
184
- const match = cmd.value.match(/^([A-Z]+:[A-Z]+)=(.*)$/);
266
+ const match = cmd.value.match(/^([A-Z_:]+)=(.*)$/);
185
267
  if (match) {
186
268
  const [, varName, value] = match;
187
269
  // Limit text values to 10,000 bytes
@@ -190,12 +272,12 @@ export function applyHookCommands(commands) {
190
272
  if (finalValue.length > MAX_TEXT_SIZE) {
191
273
  finalValue = finalValue.substring(0, MAX_TEXT_SIZE) + "\n\n[Text truncated at 10,000 bytes]";
192
274
  }
193
- promptVars.set(varName, finalValue);
275
+ promptVars.push({ name: varName, value: finalValue });
194
276
  }
195
277
  }
196
278
  else if (cmd.type === "SET_FILE") {
197
279
  // Parse "VAR_NAME=/path/to/file"
198
- const match = cmd.value.match(/^([A-Z]+:[A-Z]+)=(.+)$/);
280
+ const match = cmd.value.match(/^([A-Z_:]+)=(.+)$/);
199
281
  if (match) {
200
282
  const [, varName, filePath] = match;
201
283
  try {
@@ -215,18 +297,18 @@ export function applyHookCommands(commands) {
215
297
  // Read entire file
216
298
  fileContents = fs.readFileSync(expandedPath, 'utf-8');
217
299
  }
218
- promptVars.set(varName, fileContents);
300
+ promptVars.push({ name: varName, value: fileContents });
219
301
  }
220
302
  catch (error) {
221
303
  // Add error to variable value
222
304
  const errorMsg = error instanceof Error ? error.message : String(error);
223
- promptVars.set(varName, `[Error reading file ${filePath}: ${errorMsg}]`);
305
+ promptVars.push({ name: varName, value: `[Error reading file ${filePath}: ${errorMsg}]` });
224
306
  }
225
307
  }
226
308
  }
227
309
  else if (cmd.type === "SET_TEMP_FILE") {
228
310
  // Parse "VAR_NAME=/path/to/file"
229
- const match = cmd.value.match(/^([A-Z]+:[A-Z]+)=(.+)$/);
311
+ const match = cmd.value.match(/^([A-Z_:]+)=(.+)$/);
230
312
  if (match) {
231
313
  const [, varName, filePath] = match;
232
314
  try {
@@ -246,14 +328,14 @@ export function applyHookCommands(commands) {
246
328
  // Read entire file
247
329
  fileContents = fs.readFileSync(expandedPath, 'utf-8');
248
330
  }
249
- promptVars.set(varName, fileContents);
331
+ promptVars.push({ name: varName, value: fileContents });
250
332
  // Delete temp file after reading
251
333
  fs.unlinkSync(expandedPath);
252
334
  }
253
335
  catch (error) {
254
336
  // Add error to variable value (file might not exist or delete might fail)
255
337
  const errorMsg = error instanceof Error ? error.message : String(error);
256
- promptVars.set(varName, `[Error with temp file ${filePath}: ${errorMsg}]`);
338
+ promptVars.push({ name: varName, value: `[Error with temp file ${filePath}: ${errorMsg}]` });
257
339
  }
258
340
  }
259
341
  }
@@ -261,6 +343,17 @@ export function applyHookCommands(commands) {
261
343
  // PREFILL sets the assistant prefill text (last one wins if multiple)
262
344
  prefill = cmd.value;
263
345
  }
346
+ else if (cmd.type === "MAXCONTEXT") {
347
+ // MAXCONTEXT sets the maximum context size in tokens (last one wins if multiple)
348
+ const value = parseInt(cmd.value.trim(), 10);
349
+ if (!isNaN(value) && value > 0) {
350
+ maxContext = value;
351
+ }
352
+ }
353
+ else if (cmd.type === "CALL") {
354
+ // CALL commands are collected for asynchronous execution after hook processing
355
+ calls.push(cmd.value);
356
+ }
264
357
  }
265
358
  return {
266
359
  env,
@@ -271,7 +364,9 @@ export function applyHookCommands(commands) {
271
364
  baseUrl,
272
365
  apiKeyEnvVar,
273
366
  prefill,
367
+ maxContext,
274
368
  promptVars,
369
+ calls,
275
370
  };
276
371
  }
277
372
  /**
@@ -389,14 +484,16 @@ export async function executeOperationHook(hookPath, operation, data, timeoutMs
389
484
  });
390
485
  }
391
486
  /**
392
- * Execute a tool approval hook with tool name and parameters passed via environment
487
+ * Generic tool hook executor for both approval and preToolCall hooks
393
488
  * @param hookPath Path to hook script (supports ~/ expansion)
489
+ * @param operation Operation name to set in environment (or undefined for toolApproval)
394
490
  * @param toolName Name of the tool being executed
395
491
  * @param parameters Tool parameters as key-value pairs
396
492
  * @param timeoutMs Timeout in milliseconds (default 30000)
493
+ * @param blockOnError If true, non-zero exit code rejects; if false, processes commands anyway
397
494
  * @returns Promise<HookResult>
398
495
  */
399
- export async function executeToolApprovalHook(hookPath, toolName, parameters, timeoutMs = 30000, contextCurrent, contextMax) {
496
+ async function executeToolHook(hookPath, operation, toolName, parameters, timeoutMs = 30000, blockOnError = true, contextCurrent, contextMax) {
400
497
  // Expand ~ to home directory
401
498
  const expandedPath = expandTilde(hookPath);
402
499
  // Build environment with tool info using ZDS_AI_AGENT_* naming convention
@@ -406,6 +503,10 @@ export async function executeToolApprovalHook(hookPath, toolName, parameters, ti
406
503
  ...process.env,
407
504
  [`${ENV_PREFIX}TOOL_NAME`]: toolName,
408
505
  };
506
+ // Set operation if provided (preToolCall sets this, toolApproval doesn't)
507
+ if (operation) {
508
+ env[`${ENV_PREFIX}OPERATION`] = operation;
509
+ }
409
510
  // Add context information if provided
410
511
  if (contextCurrent !== undefined) {
411
512
  env[`${ENV_PREFIX}CONTEXT_CURRENT`] = contextCurrent.toString();
@@ -431,30 +532,137 @@ export async function executeToolApprovalHook(hookPath, toolName, parameters, ti
431
532
  });
432
533
  return;
433
534
  }
434
- // Non-zero exit code = rejected
535
+ // Non-zero exit code handling depends on blockOnError
435
536
  if (error.code && error.code > 0) {
436
- // Parse commands even on rejection
537
+ // Parse commands even on error
437
538
  const commands = parseHookOutput(stdout);
438
- // Extract TOOL_RESULT commands as the denial reason
439
- const toolResultLines = [];
440
- for (const cmd of commands) {
441
- if (cmd.type === "TOOL_RESULT") {
442
- toolResultLines.push(cmd.value);
539
+ if (blockOnError) {
540
+ // Extract TOOL_RESULT commands as the denial reason
541
+ const toolResultLines = [];
542
+ for (const cmd of commands) {
543
+ if (cmd.type === "TOOL_RESULT") {
544
+ toolResultLines.push(cmd.value);
545
+ }
443
546
  }
547
+ const reason = toolResultLines.length > 0
548
+ ? toolResultLines.join("\n")
549
+ : (stdout.trim() || stderr.trim() || "Tool execution denied by hook");
550
+ resolve({
551
+ approved: false,
552
+ reason,
553
+ timedOut: false,
554
+ commands,
555
+ });
444
556
  }
445
- const reason = toolResultLines.length > 0
446
- ? toolResultLines.join("\n")
447
- : (stdout.trim() || stderr.trim() || "Tool execution denied by hook");
557
+ else {
558
+ // Non-blocking hook: process commands anyway
559
+ resolve({
560
+ approved: true,
561
+ timedOut: false,
562
+ commands,
563
+ });
564
+ }
565
+ return;
566
+ }
567
+ }
568
+ // Exit code 0 = success
569
+ const commands = parseHookOutput(stdout);
570
+ resolve({
571
+ approved: true,
572
+ timedOut: false,
573
+ commands,
574
+ });
575
+ });
576
+ // Handle timeout explicitly
577
+ setTimeout(() => {
578
+ try {
579
+ child.kill("SIGTERM");
580
+ }
581
+ catch (_e) {
582
+ // Process may have already exited
583
+ }
584
+ }, timeoutMs);
585
+ });
586
+ }
587
+ /**
588
+ * Execute a preToolCall hook with tool name and parameters passed via environment
589
+ * This hook runs before tool execution and can modify environment/prompt variables
590
+ * Non-blocking: always processes commands even on non-zero exit
591
+ * @param hookPath Path to hook script (supports ~/ expansion)
592
+ * @param toolName Name of the tool being executed
593
+ * @param parameters Tool parameters as key-value pairs
594
+ * @param timeoutMs Timeout in milliseconds (default 30000)
595
+ * @returns Promise<HookResult>
596
+ */
597
+ export async function executePreToolCallHook(hookPath, toolName, parameters, timeoutMs = 30000, contextCurrent, contextMax) {
598
+ return executeToolHook(hookPath, "preToolCall", toolName, parameters, timeoutMs, false, // Non-blocking: process commands even on error
599
+ contextCurrent, contextMax);
600
+ }
601
+ /**
602
+ * Execute a postToolCall hook with tool name, parameters, and result passed via environment
603
+ * This hook runs after tool execution and can add context/guidance based on results
604
+ * Non-blocking: always processes commands even on non-zero exit
605
+ * @param hookPath Path to hook script (supports ~/ expansion)
606
+ * @param toolName Name of the tool that was executed
607
+ * @param parameters Tool parameters as key-value pairs
608
+ * @param result Tool execution result
609
+ * @param timeoutMs Timeout in milliseconds (default 30000)
610
+ * @returns Promise<HookResult>
611
+ */
612
+ export async function executePostToolCallHook(hookPath, toolName, parameters, result, timeoutMs = 30000, contextCurrent, contextMax) {
613
+ // Expand ~ to home directory
614
+ const expandedPath = expandTilde(hookPath);
615
+ // Build environment with tool info and result using ZDS_AI_AGENT_* naming convention
616
+ const env = {
617
+ ...process.env,
618
+ [`${ENV_PREFIX}OPERATION`]: "postToolCall",
619
+ [`${ENV_PREFIX}TOOL_NAME`]: toolName,
620
+ [`${ENV_PREFIX}TOOL_SUCCESS`]: result.success.toString(),
621
+ };
622
+ // Add tool output/error to environment
623
+ if (result.output) {
624
+ env[`${ENV_PREFIX}TOOL_OUTPUT`] = result.output;
625
+ }
626
+ if (result.error) {
627
+ env[`${ENV_PREFIX}TOOL_ERROR`] = result.error;
628
+ }
629
+ // Add context information if provided
630
+ if (contextCurrent !== undefined) {
631
+ env[`${ENV_PREFIX}CONTEXT_CURRENT`] = contextCurrent.toString();
632
+ }
633
+ if (contextMax !== undefined) {
634
+ env[`${ENV_PREFIX}CONTEXT_MAX`] = contextMax.toString();
635
+ }
636
+ // Add each parameter as ZDS_AI_AGENT_PARAM_<KEY>=<VALUE>
637
+ for (const [key, value] of Object.entries(parameters)) {
638
+ const envKey = `${ENV_PREFIX}PARAM_${key.toUpperCase()}`;
639
+ env[envKey] = typeof value === 'string' ? value : JSON.stringify(value);
640
+ }
641
+ return new Promise((resolve) => {
642
+ // Execute hook with isolated environment (child process only)
643
+ const child = exec(expandedPath, { env, timeout: timeoutMs }, (error, stdout, stderr) => {
644
+ if (error) {
645
+ // Check if it was a timeout
646
+ if (error.killed && error.signal === "SIGTERM") {
647
+ // Timeout = auto-approve (don't block the agent)
448
648
  resolve({
449
- approved: false,
450
- reason,
649
+ approved: true,
650
+ timedOut: true,
651
+ });
652
+ return;
653
+ }
654
+ // Non-zero exit code: non-blocking, process commands anyway
655
+ if (error.code && error.code > 0) {
656
+ const commands = parseHookOutput(stdout);
657
+ resolve({
658
+ approved: true,
451
659
  timedOut: false,
452
660
  commands,
453
661
  });
454
662
  return;
455
663
  }
456
664
  }
457
- // Exit code 0 = approved
665
+ // Exit code 0 = success
458
666
  const commands = parseHookOutput(stdout);
459
667
  resolve({
460
668
  approved: true,
@@ -473,4 +681,18 @@ export async function executeToolApprovalHook(hookPath, toolName, parameters, ti
473
681
  }, timeoutMs);
474
682
  });
475
683
  }
684
+ /**
685
+ * Execute a tool approval hook with tool name and parameters passed via environment
686
+ * Blocking: non-zero exit code rejects the tool execution
687
+ * @param hookPath Path to hook script (supports ~/ expansion)
688
+ * @param toolName Name of the tool being executed
689
+ * @param parameters Tool parameters as key-value pairs
690
+ * @param timeoutMs Timeout in milliseconds (default 30000)
691
+ * @returns Promise<HookResult>
692
+ */
693
+ export async function executeToolApprovalHook(hookPath, toolName, parameters, timeoutMs = 30000, contextCurrent, contextMax) {
694
+ return executeToolHook(hookPath, undefined, // toolApproval doesn't set OPERATION
695
+ toolName, parameters, timeoutMs, true, // Blocking: reject on error
696
+ contextCurrent, contextMax);
697
+ }
476
698
  //# sourceMappingURL=hook-executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook-executor.js","sourceRoot":"","sources":["../../src/utils/hook-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-executor.js","sourceRoot":"","sources":["../../src/utils/hook-executor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { LLMAgent, ChatEntry } from "../agent/llm-agent";
1
+ import { LLMAgent, ChatEntry } from "../agent/llm-agent.js";
2
2
  export interface RephraseHandlerResult {
3
3
  updatedChatHistory: ChatEntry[];
4
4
  preFillPrompt?: string;