opencode-command-hooks 0.1.0 → 0.1.2
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/README.md +216 -571
- package/dist/config/agent.d.ts.map +1 -1
- package/dist/config/agent.js +2 -1
- package/dist/config/agent.js.map +1 -1
- package/dist/config/global.d.ts +6 -15
- package/dist/config/global.d.ts.map +1 -1
- package/dist/config/global.js +56 -53
- package/dist/config/global.js.map +1 -1
- package/dist/config/merge.d.ts.map +1 -1
- package/dist/config/merge.js +3 -1
- package/dist/config/merge.js.map +1 -1
- package/dist/execution/shell.d.ts +3 -0
- package/dist/execution/shell.d.ts.map +1 -1
- package/dist/execution/shell.js +4 -7
- package/dist/execution/shell.js.map +1 -1
- package/dist/executor.d.ts +2 -1
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +19 -10
- package/dist/executor.js.map +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +79 -33
- package/dist/index.js.map +1 -1
- package/dist/schemas.d.ts +18 -15
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +3 -1
- package/dist/schemas.js.map +1 -1
- package/dist/types/hooks.d.ts +18 -3
- package/dist/types/hooks.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/config/agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAM5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqChF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqBpF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/config/agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAM5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqChF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqBpF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAenE"}
|
package/dist/config/agent.js
CHANGED
|
@@ -130,10 +130,11 @@ export async function loadAgentConfig(agentName) {
|
|
|
130
130
|
* ```
|
|
131
131
|
*/
|
|
132
132
|
export async function loadAgentConfigWithGlobal(agentName) {
|
|
133
|
-
const [
|
|
133
|
+
const [globalResult, agentConfig] = await Promise.all([
|
|
134
134
|
import("./global.js").then((m) => m.loadGlobalConfig()),
|
|
135
135
|
loadAgentConfig(agentName),
|
|
136
136
|
]);
|
|
137
|
+
const globalConfig = globalResult.config;
|
|
137
138
|
return {
|
|
138
139
|
config: {
|
|
139
140
|
tool: [...(globalConfig.tool ?? []), ...(agentConfig.tool ?? [])],
|
package/dist/config/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/config/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/config/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/config/global.d.ts
CHANGED
|
@@ -5,32 +5,23 @@
|
|
|
5
5
|
* directory and walking up the directory tree. Parses JSONC format as CommandHooksConfig.
|
|
6
6
|
*/
|
|
7
7
|
import type { CommandHooksConfig } from "../types/hooks.js";
|
|
8
|
+
export type GlobalConfigResult = {
|
|
9
|
+
config: CommandHooksConfig;
|
|
10
|
+
error: string | null;
|
|
11
|
+
};
|
|
8
12
|
/**
|
|
9
13
|
* Load and parse global command hooks configuration
|
|
10
14
|
*
|
|
11
15
|
* Searches for .opencode/command-hooks.jsonc starting from the current working
|
|
12
16
|
* directory and walking up. Parses the entire file as CommandHooksConfig.
|
|
13
17
|
*
|
|
14
|
-
* **Caching:** This function implements in-memory caching to avoid repeated file
|
|
15
|
-
* system reads on every tool call. The cache is checked first; if null, the config
|
|
16
|
-
* is loaded from disk and cached for subsequent calls.
|
|
17
|
-
*
|
|
18
18
|
* Error handling:
|
|
19
19
|
* - If no config file found: returns empty config (not an error)
|
|
20
20
|
* - If config file is malformed: logs warning, returns empty config
|
|
21
21
|
* - If file is not a valid CommandHooksConfig: logs warning, returns empty config
|
|
22
22
|
* - Never throws errors - always returns a valid config
|
|
23
23
|
*
|
|
24
|
-
* @returns Promise resolving to
|
|
25
|
-
*/
|
|
26
|
-
export declare function loadGlobalConfig(): Promise<CommandHooksConfig>;
|
|
27
|
-
/**
|
|
28
|
-
* Clear the global config cache
|
|
29
|
-
*
|
|
30
|
-
* Forces the next call to loadGlobalConfig() to reload from disk.
|
|
31
|
-
* Useful for testing or when config files may have changed.
|
|
32
|
-
*
|
|
33
|
-
* @internal For testing purposes
|
|
24
|
+
* @returns Promise resolving to GlobalConfigResult
|
|
34
25
|
*/
|
|
35
|
-
export declare function
|
|
26
|
+
export declare function loadGlobalConfig(): Promise<GlobalConfigResult>;
|
|
36
27
|
//# sourceMappingURL=global.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../../src/config/global.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../../src/config/global.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AA6JF;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CA2EpE"}
|
package/dist/config/global.js
CHANGED
|
@@ -6,12 +6,6 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { join, dirname } from "path";
|
|
8
8
|
import { logger } from "../logging.js";
|
|
9
|
-
/**
|
|
10
|
-
* In-memory cache for global configuration
|
|
11
|
-
* Stores the loaded config to avoid repeated file system reads on every tool call.
|
|
12
|
-
* Set to null to force a reload on the next loadGlobalConfig() call.
|
|
13
|
-
*/
|
|
14
|
-
let cachedConfig = null;
|
|
15
9
|
/**
|
|
16
10
|
* Strip comments from JSONC content
|
|
17
11
|
* Handles both line comments and block comments
|
|
@@ -19,9 +13,36 @@ let cachedConfig = null;
|
|
|
19
13
|
function stripJsoncComments(content) {
|
|
20
14
|
let result = "";
|
|
21
15
|
let i = 0;
|
|
16
|
+
let inString = false;
|
|
17
|
+
let stringQuote = null;
|
|
18
|
+
let isEscaped = false;
|
|
22
19
|
while (i < content.length) {
|
|
20
|
+
const current = content[i];
|
|
21
|
+
const next = content[i + 1];
|
|
22
|
+
if (inString) {
|
|
23
|
+
result += current;
|
|
24
|
+
if (isEscaped) {
|
|
25
|
+
isEscaped = false;
|
|
26
|
+
}
|
|
27
|
+
else if (current === "\\") {
|
|
28
|
+
isEscaped = true;
|
|
29
|
+
}
|
|
30
|
+
else if (current === stringQuote) {
|
|
31
|
+
inString = false;
|
|
32
|
+
stringQuote = null;
|
|
33
|
+
}
|
|
34
|
+
i++;
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (current === "\"" || current === "'") {
|
|
38
|
+
inString = true;
|
|
39
|
+
stringQuote = current;
|
|
40
|
+
result += current;
|
|
41
|
+
i++;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
23
44
|
// Check for line comment
|
|
24
|
-
if (
|
|
45
|
+
if (current === "/" && next === "/") {
|
|
25
46
|
// Skip until end of line
|
|
26
47
|
while (i < content.length && content[i] !== "\n") {
|
|
27
48
|
i++;
|
|
@@ -34,7 +55,7 @@ function stripJsoncComments(content) {
|
|
|
34
55
|
continue;
|
|
35
56
|
}
|
|
36
57
|
// Check for block comment
|
|
37
|
-
if (
|
|
58
|
+
if (current === "/" && next === "*") {
|
|
38
59
|
// Skip until */
|
|
39
60
|
i += 2;
|
|
40
61
|
while (i < content.length - 1) {
|
|
@@ -51,7 +72,7 @@ function stripJsoncComments(content) {
|
|
|
51
72
|
continue;
|
|
52
73
|
}
|
|
53
74
|
// Regular character
|
|
54
|
-
result +=
|
|
75
|
+
result += current;
|
|
55
76
|
i++;
|
|
56
77
|
}
|
|
57
78
|
return result;
|
|
@@ -125,32 +146,23 @@ async function findConfigFile(startDir) {
|
|
|
125
146
|
* Searches for .opencode/command-hooks.jsonc starting from the current working
|
|
126
147
|
* directory and walking up. Parses the entire file as CommandHooksConfig.
|
|
127
148
|
*
|
|
128
|
-
* **Caching:** This function implements in-memory caching to avoid repeated file
|
|
129
|
-
* system reads on every tool call. The cache is checked first; if null, the config
|
|
130
|
-
* is loaded from disk and cached for subsequent calls.
|
|
131
|
-
*
|
|
132
149
|
* Error handling:
|
|
133
150
|
* - If no config file found: returns empty config (not an error)
|
|
134
151
|
* - If config file is malformed: logs warning, returns empty config
|
|
135
152
|
* - If file is not a valid CommandHooksConfig: logs warning, returns empty config
|
|
136
153
|
* - Never throws errors - always returns a valid config
|
|
137
154
|
*
|
|
138
|
-
* @returns Promise resolving to
|
|
155
|
+
* @returns Promise resolving to GlobalConfigResult
|
|
139
156
|
*/
|
|
140
157
|
export async function loadGlobalConfig() {
|
|
141
|
-
|
|
142
|
-
if (cachedConfig !== null) {
|
|
143
|
-
logger.debug(`Returning cached global config: ${cachedConfig.tool?.length ?? 0} tool hooks, ${cachedConfig.session?.length ?? 0} session hooks`);
|
|
144
|
-
return cachedConfig;
|
|
145
|
-
}
|
|
158
|
+
let configPath = null;
|
|
146
159
|
try {
|
|
147
160
|
// Find config file
|
|
148
|
-
|
|
161
|
+
logger.debug(`loadGlobalConfig: starting search from: ${process.cwd()}`);
|
|
162
|
+
configPath = await findConfigFile(process.cwd());
|
|
149
163
|
if (!configPath) {
|
|
150
|
-
logger.debug(
|
|
151
|
-
|
|
152
|
-
cachedConfig = emptyConfig;
|
|
153
|
-
return emptyConfig;
|
|
164
|
+
logger.debug("No .opencode/command-hooks.jsonc file found, using empty config");
|
|
165
|
+
return { config: { tool: [], session: [] }, error: null };
|
|
154
166
|
}
|
|
155
167
|
// Read file
|
|
156
168
|
let content;
|
|
@@ -161,9 +173,10 @@ export async function loadGlobalConfig() {
|
|
|
161
173
|
catch (error) {
|
|
162
174
|
const message = error instanceof Error ? error.message : String(error);
|
|
163
175
|
logger.info(`Failed to read config file ${configPath}: ${message}`);
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
176
|
+
return {
|
|
177
|
+
config: { tool: [], session: [] },
|
|
178
|
+
error: `Failed to read config file ${configPath}: ${message}`,
|
|
179
|
+
};
|
|
167
180
|
}
|
|
168
181
|
// Parse JSONC
|
|
169
182
|
let parsed;
|
|
@@ -174,46 +187,36 @@ export async function loadGlobalConfig() {
|
|
|
174
187
|
catch (error) {
|
|
175
188
|
const message = error instanceof Error ? error.message : String(error);
|
|
176
189
|
logger.info(`Failed to parse config file ${configPath}: ${message}`);
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
190
|
+
return {
|
|
191
|
+
config: { tool: [], session: [] },
|
|
192
|
+
error: `Failed to parse config file ${configPath}: ${message}`,
|
|
193
|
+
};
|
|
180
194
|
}
|
|
181
195
|
// Validate entire file as CommandHooksConfig
|
|
182
196
|
if (!isValidCommandHooksConfig(parsed)) {
|
|
183
|
-
logger.info(
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
197
|
+
logger.info("Config file is not a valid CommandHooksConfig (expected { tool?: [], session?: [] }), using empty config");
|
|
198
|
+
return {
|
|
199
|
+
config: { tool: [], session: [] },
|
|
200
|
+
error: "Config file is not a valid CommandHooksConfig (expected { tool?: [], session?: [] })",
|
|
201
|
+
};
|
|
187
202
|
}
|
|
188
203
|
// Return with defaults for missing arrays
|
|
189
204
|
const result = {
|
|
205
|
+
truncationLimit: parsed.truncationLimit,
|
|
190
206
|
tool: parsed.tool ?? [],
|
|
191
207
|
session: parsed.session ?? [],
|
|
192
208
|
};
|
|
193
|
-
logger.debug(`Loaded global config: ${result.tool?.length ?? 0} tool hooks, ${result.session?.length ?? 0} session hooks`);
|
|
194
|
-
|
|
195
|
-
cachedConfig = result;
|
|
196
|
-
return result;
|
|
209
|
+
logger.debug(`Loaded global config: truncationLimit=${result.truncationLimit}, ${result.tool?.length ?? 0} tool hooks, ${result.session?.length ?? 0} session hooks`);
|
|
210
|
+
return { config: result, error: null };
|
|
197
211
|
}
|
|
198
212
|
catch (error) {
|
|
199
213
|
// Catch-all for unexpected errors
|
|
200
214
|
const message = error instanceof Error ? error.message : String(error);
|
|
201
215
|
logger.info(`Unexpected error loading global config: ${message}`);
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
216
|
+
return {
|
|
217
|
+
config: { tool: [], session: [] },
|
|
218
|
+
error: `Unexpected error loading global config: ${message}`,
|
|
219
|
+
};
|
|
205
220
|
}
|
|
206
221
|
}
|
|
207
|
-
/**
|
|
208
|
-
* Clear the global config cache
|
|
209
|
-
*
|
|
210
|
-
* Forces the next call to loadGlobalConfig() to reload from disk.
|
|
211
|
-
* Useful for testing or when config files may have changed.
|
|
212
|
-
*
|
|
213
|
-
* @internal For testing purposes
|
|
214
|
-
*/
|
|
215
|
-
export function clearGlobalConfigCache() {
|
|
216
|
-
logger.debug("Clearing global config cache");
|
|
217
|
-
cachedConfig = null;
|
|
218
|
-
}
|
|
219
222
|
//# sourceMappingURL=global.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/config/global.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/config/global.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/config/merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACR,kBAAkB,EAClB,QAAQ,EACR,WAAW,EACX,mBAAmB,EACtB,MAAM,mBAAmB,CAAA;AAG1B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,CAAC,QAAQ,GAAG,WAAW,CAAC,EAAE,GAAG,MAAM,EAAE,CAa5E;AA+GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,YAAY,CACzB,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,kBAAkB,GAC5B;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,mBAAmB,EAAE,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/config/merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACR,kBAAkB,EAClB,QAAQ,EACR,WAAW,EACX,mBAAmB,EACtB,MAAM,mBAAmB,CAAA;AAG1B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,CAAC,QAAQ,GAAG,WAAW,CAAC,EAAE,GAAG,MAAM,EAAE,CAa5E;AA+GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,YAAY,CACzB,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,kBAAkB,GAC5B;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,mBAAmB,EAAE,CAAA;CAAE,CAqC/D"}
|
package/dist/config/merge.js
CHANGED
|
@@ -182,11 +182,13 @@ export function mergeConfigs(global, markdown) {
|
|
|
182
182
|
const markdownSessionHooks = markdown.session ?? [];
|
|
183
183
|
const mergedSessionHooks = mergeHookArrays(globalSessionHooks, markdownSessionHooks);
|
|
184
184
|
// Build merged config
|
|
185
|
+
// Preserve truncationLimit from global config (markdown cannot override this)
|
|
185
186
|
const mergedConfig = {
|
|
187
|
+
truncationLimit: global.truncationLimit,
|
|
186
188
|
tool: mergedToolHooks.length > 0 ? mergedToolHooks : [],
|
|
187
189
|
session: mergedSessionHooks.length > 0 ? mergedSessionHooks : [],
|
|
188
190
|
};
|
|
189
|
-
logger.debug(`Merged configs: ${mergedToolHooks.length} tool hooks, ${mergedSessionHooks.length} session hooks, ${errors.length} errors`);
|
|
191
|
+
logger.debug(`Merged configs: ${mergedToolHooks.length} tool hooks, ${mergedSessionHooks.length} session hooks, truncationLimit: ${mergedConfig.truncationLimit}, ${errors.length} errors`);
|
|
190
192
|
return { config: mergedConfig, errors };
|
|
191
193
|
}
|
|
192
194
|
//# sourceMappingURL=merge.js.map
|
package/dist/config/merge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/config/merge.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/config/merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,9 @@ import type { HookExecutionResult } from "../types/hooks.js";
|
|
|
23
23
|
* ```typescript
|
|
24
24
|
* const result = await executeCommand("pnpm test")
|
|
25
25
|
* console.log(result.exitCode, result.stdout)
|
|
26
|
+
*
|
|
27
|
+
* // With custom truncation limit
|
|
28
|
+
* const result = await executeCommand("pnpm test", { truncateOutput: 5000 })
|
|
26
29
|
* ```
|
|
27
30
|
*/
|
|
28
31
|
export declare function executeCommand(command: string, options?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/execution/shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/execution/shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAyB5D;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACrC,OAAO,CAAC,mBAAmB,CAAC,CAuC9B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,EAC3B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA+ChC"}
|
package/dist/execution/shell.js
CHANGED
|
@@ -28,13 +28,7 @@ function truncateText(text, limit) {
|
|
|
28
28
|
if (text.length <= limit)
|
|
29
29
|
return text;
|
|
30
30
|
const truncated = text.slice(0, limit);
|
|
31
|
-
const metadata = [
|
|
32
|
-
"",
|
|
33
|
-
"",
|
|
34
|
-
"<bash_metadata>",
|
|
35
|
-
`bash tool truncated output as it exceeded ${limit} char limit`,
|
|
36
|
-
"</bash_metadata>"
|
|
37
|
-
].join("\n");
|
|
31
|
+
const metadata = `\n\n[Output truncated: exceeded ${limit} character limit]`;
|
|
38
32
|
return truncated + metadata;
|
|
39
33
|
}
|
|
40
34
|
/**
|
|
@@ -48,6 +42,9 @@ function truncateText(text, limit) {
|
|
|
48
42
|
* ```typescript
|
|
49
43
|
* const result = await executeCommand("pnpm test")
|
|
50
44
|
* console.log(result.exitCode, result.stdout)
|
|
45
|
+
*
|
|
46
|
+
* // With custom truncation limit
|
|
47
|
+
* const result = await executeCommand("pnpm test", { truncateOutput: 5000 })
|
|
51
48
|
* ```
|
|
52
49
|
*/
|
|
53
50
|
export async function executeCommand(command, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/execution/shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,MAAM,sBAAsB,GAAG,KAAM,CAAA;AAErC;;GAEG;AACH,SAAS,cAAc;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,MAAM,CAAA;AACjG,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,IAAwB,EAAE,KAAa;IAC3D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,IAAI,CAAA;IAErC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACtC,MAAM,QAAQ,GAAG
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/execution/shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,MAAM,sBAAsB,GAAG,KAAM,CAAA;AAErC;;GAEG;AACH,SAAS,cAAc;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,MAAM,CAAA;AACjG,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,IAAwB,EAAE,KAAa;IAC3D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,IAAI,CAAA;IAErC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACtC,MAAM,QAAQ,GAAG,mCAAmC,KAAK,mBAAmB,CAAA;IAE5E,OAAO,SAAS,GAAG,QAAQ,CAAA;AAC7B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACjC,OAAe,EACf,OAAqC;IAErC,MAAM,aAAa,GAAG,OAAO,EAAE,cAAc,IAAI,sBAAsB,CAAA;IACxE,MAAM,MAAM,GAAG,SAAS,CAAA,CAAC,wBAAwB;IAE/C,IAAI,cAAc,EAAE,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAA;IAC/C,CAAC;IAEH,IAAI,CAAC;QACH,mGAAmG;QACnG,qDAAqD;QACrD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAEjD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACzD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAA;QACrC,MAAM,OAAO,GAAG,QAAQ,KAAK,CAAC,CAAA;QAE5B,IAAI,cAAc,EAAE,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,CAAC,2BAA2B,QAAQ,oBAAoB,MAAM,CAAC,MAAM,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QACvH,CAAC;QAEH,OAAO;YACL,MAAM;YACN,OAAO;YACP,QAAQ;YACR,MAAM;YACN,MAAM;SACP,CAAA;IACD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACrE,MAAM,CAAC,KAAK,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAA;QAE5D,OAAO;YACL,MAAM;YACN,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,YAAY;SACpB,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAA2B,EAC3B,MAAc,EACd,OAAqC;IAErC,MAAM,aAAa,GAAG,OAAO,EAAE,cAAc,IAAI,sBAAsB,CAAA;IACvE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAElE,IAAI,cAAc,EAAE,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,aAAa,YAAY,CAAC,MAAM,yBAAyB,MAAM,GAAG,CAAC,CAAA;IAClF,CAAC;IAEH,MAAM,OAAO,GAA0B,EAAE,CAAA;IAEzC,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC;YACF,IAAI,cAAc,EAAE,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,gBAAgB,OAAO,EAAE,CAAC,CAAA;YACnD,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAA;YAEjD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;YACzD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;YACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAA;YACrC,MAAM,OAAO,GAAG,QAAQ,KAAK,CAAC,CAAA;YAE5B,IAAI,cAAc,EAAE,EAAE,CAAC;gBACrB,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,6BAA6B,QAAQ,oBAAoB,MAAM,CAAC,MAAM,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;YACnI,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM;gBACN,OAAO;gBACP,QAAQ;gBACR,MAAM;gBACN,MAAM;aACP,CAAC,CAAA;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACrE,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,gCAAgC,YAAY,EAAE,CAAC,CAAA;YAExE,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACpB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,mBAAmB,CAChC,OAAe;IAEd,IAAI,CAAC;QACH,sDAAsD;QACtD,gEAAgE;QAChE,2DAA2D;QAC3D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAA,SAAS,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAA;QAE9D,oCAAoC;QACpC,iEAAiE;QACjE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjG,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjG,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAA;QAErC,OAAO;YACL,MAAM;YACN,MAAM;YACN,QAAQ;SACT,CAAA;IACF,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,kEAAkE;QAClE,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3E,MAAM,CAAC,KAAK,CAAC,uCAAuC,YAAY,EAAE,CAAC,CAAA;QAErE,OAAO;YACL,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,CAAC;SACZ,CAAA;IACH,CAAC;AACH,CAAC"}
|
package/dist/executor.d.ts
CHANGED
|
@@ -30,6 +30,7 @@ import type { ToolHook, SessionHook, HookExecutionContext } from "./types/hooks.
|
|
|
30
30
|
* @param hooks - Array of hooks to execute (can be tool or session hooks)
|
|
31
31
|
* @param context - Execution context with session ID, agent, tool name, etc.
|
|
32
32
|
* @param client - OpenCode SDK client for message injection
|
|
33
|
+
* @param truncationLimit - Optional truncation limit for command output (overrides default 30,000)
|
|
33
34
|
* @returns Promise that resolves when all hooks are processed
|
|
34
35
|
*
|
|
35
36
|
* @example
|
|
@@ -50,5 +51,5 @@ import type { ToolHook, SessionHook, HookExecutionContext } from "./types/hooks.
|
|
|
50
51
|
* }, client)
|
|
51
52
|
* ```
|
|
52
53
|
*/
|
|
53
|
-
export declare function executeHooks(hooks: (ToolHook | SessionHook)[], context: HookExecutionContext, client: OpencodeClient): Promise<void>;
|
|
54
|
+
export declare function executeHooks(hooks: (ToolHook | SessionHook)[], context: HookExecutionContext, client: OpencodeClient, truncationLimit?: number): Promise<void>;
|
|
54
55
|
//# sourceMappingURL=executor.d.ts.map
|
package/dist/executor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EACT,QAAQ,EACR,WAAW,EAEX,oBAAoB,EACtB,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EACT,QAAQ,EACR,WAAW,EAEX,oBAAoB,EACtB,MAAM,kBAAkB,CAAA;AA8TzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,YAAY,CAC/B,KAAK,EAAE,CAAC,QAAQ,GAAG,WAAW,CAAC,EAAE,EACjC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,cAAc,EACtB,eAAe,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC,CAmCf"}
|
package/dist/executor.js
CHANGED
|
@@ -102,13 +102,20 @@ async function injectMessage(client, sessionId, message) {
|
|
|
102
102
|
* @param hook - The tool hook to execute
|
|
103
103
|
* @param context - Execution context (tool name, session ID, agent, etc.)
|
|
104
104
|
* @param client - OpenCode SDK client for message injection
|
|
105
|
+
* @param truncationLimit - Optional truncation limit for command output
|
|
105
106
|
* @returns Promise that resolves when hook execution is complete
|
|
106
107
|
*/
|
|
107
|
-
async function executeToolHook(hook, context, client) {
|
|
108
|
-
logger.debug(`Executing tool hook "${hook.id}" for tool "${context.tool}"`);
|
|
108
|
+
async function executeToolHook(hook, context, client, truncationLimit) {
|
|
109
|
+
logger.debug(`Executing tool hook "${hook.id}" for tool "${context.tool}", truncationLimit: ${truncationLimit}`);
|
|
109
110
|
try {
|
|
110
111
|
// Execute the hook's commands
|
|
111
|
-
|
|
112
|
+
if (truncationLimit !== undefined) {
|
|
113
|
+
logger.debug(`Executing with truncateOutput: ${truncationLimit}`);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
logger.debug(`Executing with default truncation (30000)`);
|
|
117
|
+
}
|
|
118
|
+
const results = await executeCommands(hook.run, hook.id, truncationLimit !== undefined ? { truncateOutput: truncationLimit } : undefined);
|
|
112
119
|
logger.debug(`Hook "${hook.id}" executed ${results.length} command(s)`);
|
|
113
120
|
// If inject is configured, prepare and inject the message
|
|
114
121
|
if (hook.inject) {
|
|
@@ -176,13 +183,14 @@ async function executeToolHook(hook, context, client) {
|
|
|
176
183
|
* @param hook - The session hook to execute
|
|
177
184
|
* @param context - Execution context (session ID, agent, etc.)
|
|
178
185
|
* @param client - OpenCode SDK client for message injection
|
|
186
|
+
* @param truncationLimit - Optional truncation limit for command output
|
|
179
187
|
* @returns Promise that resolves when hook execution is complete
|
|
180
188
|
*/
|
|
181
|
-
async function executeSessionHook(hook, context, client) {
|
|
182
|
-
logger.debug(`Executing session hook "${hook.id}"`);
|
|
189
|
+
async function executeSessionHook(hook, context, client, truncationLimit) {
|
|
190
|
+
logger.debug(`Executing session hook "${hook.id}", truncationLimit: ${truncationLimit}`);
|
|
183
191
|
try {
|
|
184
192
|
// Execute the hook's commands
|
|
185
|
-
const results = await executeCommands(hook.run, hook.id);
|
|
193
|
+
const results = await executeCommands(hook.run, hook.id, truncationLimit !== undefined ? { truncateOutput: truncationLimit } : undefined);
|
|
186
194
|
logger.debug(`Hook "${hook.id}" executed ${results.length} command(s)`);
|
|
187
195
|
// If inject is configured, prepare and inject the message
|
|
188
196
|
if (hook.inject) {
|
|
@@ -262,6 +270,7 @@ function isToolHook(hook) {
|
|
|
262
270
|
* @param hooks - Array of hooks to execute (can be tool or session hooks)
|
|
263
271
|
* @param context - Execution context with session ID, agent, tool name, etc.
|
|
264
272
|
* @param client - OpenCode SDK client for message injection
|
|
273
|
+
* @param truncationLimit - Optional truncation limit for command output (overrides default 30,000)
|
|
265
274
|
* @returns Promise that resolves when all hooks are processed
|
|
266
275
|
*
|
|
267
276
|
* @example
|
|
@@ -282,17 +291,17 @@ function isToolHook(hook) {
|
|
|
282
291
|
* }, client)
|
|
283
292
|
* ```
|
|
284
293
|
*/
|
|
285
|
-
export async function executeHooks(hooks, context, client) {
|
|
294
|
+
export async function executeHooks(hooks, context, client, truncationLimit) {
|
|
286
295
|
try {
|
|
287
|
-
logger.debug(`executeHooks called with ${hooks.length} hook(s) for session "${context.sessionId}"`);
|
|
296
|
+
logger.debug(`executeHooks called with ${hooks.length} hook(s) for session "${context.sessionId}", truncationLimit: ${truncationLimit}`);
|
|
288
297
|
// Execute each hook
|
|
289
298
|
for (const hook of hooks) {
|
|
290
299
|
try {
|
|
291
300
|
if (isToolHook(hook)) {
|
|
292
|
-
await executeToolHook(hook, context, client);
|
|
301
|
+
await executeToolHook(hook, context, client, truncationLimit);
|
|
293
302
|
}
|
|
294
303
|
else {
|
|
295
|
-
await executeSessionHook(hook, context, client);
|
|
304
|
+
await executeSessionHook(hook, context, client, truncationLimit);
|
|
296
305
|
}
|
|
297
306
|
}
|
|
298
307
|
catch (error) {
|
package/dist/executor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CAAC,MAAc,EAAE,KAAc;IACtD,MAAM,SAAS,GACb,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAA;IAC3E,OAAO,kCAAkC,MAAM,aAAa,SAAS,EAAE,CAAA;AAC3E,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,SAAS,CACpB,MAAsB,EACtB,KAAyB,EACzB,OAAe,EACf,UAAoD,MAAM,EAC1D,QAAiB;IAEjB,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,IAAI,uBAAuB,CAAA;QACnD,MAAM,CAAC,KAAK,CAAC,yBAAyB,UAAU,eAAe,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,OAAO,eAAe,QAAQ,EAAE,CAAC,CAAA;QAE1I,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YACvB,IAAI,EAAE;gBACF,KAAK,EAAE,UAAU;gBACjB,OAAO;gBACP,OAAO;gBACP,QAAQ;aACX;SACJ,CAAC,CAAA;QAEF,MAAM,CAAC,IAAI,CAAC,WAAW,UAAU,KAAK,OAAO,EAAE,CAAC,CAAA;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,YAAY,GACd,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC1D,MAAM,CAAC,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAA;QACrD,qCAAqC;IACzC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,aAAa,CACzB,MAAsB,EACtB,SAAiB,EACjB,OAAe;IAEd,IAAI,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAA;QAE7D,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;YAC/B,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;YACvB,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;aACzC;SACF,CAAC,CAAA;QAEA,MAAM,CAAC,IAAI,CAAC,0CAA0C,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACtI,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACxD,MAAM,CAAC,KAAK,CAAC,0CAA0C,YAAY,EAAE,CAAC,CAAA;QACxE,MAAM,KAAK,CAAA;IACb,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { Plugin } from "@opencode-ai/plugin";
|
|
2
|
-
export { executeHooks } from "./executor.js";
|
|
3
2
|
/**
|
|
4
3
|
* OpenCode Command Hooks Plugin
|
|
5
4
|
*
|
|
@@ -17,6 +16,5 @@ export { executeHooks } from "./executor.js";
|
|
|
17
16
|
* - No state tracking (pendingAfterEvents, completedAfterEvents removed)
|
|
18
17
|
* - Unified executor handles all hook matching and execution
|
|
19
18
|
*/
|
|
20
|
-
declare const
|
|
21
|
-
export default plugin;
|
|
19
|
+
export declare const CommandHooksPlugin: Plugin;
|
|
22
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAqJjD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAuXhC,CAAA"}
|