opencode-command-hooks 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/global.d.ts +1 -1
- package/dist/config/global.d.ts.map +1 -1
- package/dist/config/global.js +8 -8
- package/dist/config/global.js.map +1 -1
- package/dist/config/markdown.d.ts +5 -5
- package/dist/config/markdown.d.ts.map +1 -1
- package/dist/config/markdown.js +15 -15
- package/dist/config/markdown.js.map +1 -1
- package/dist/config/merge.d.ts +2 -2
- package/dist/config/merge.d.ts.map +1 -1
- package/dist/config/merge.js +8 -8
- package/dist/config/merge.js.map +1 -1
- package/dist/execution/shell.js +4 -4
- package/dist/execution/shell.js.map +1 -1
- package/dist/execution/template.d.ts +1 -1
- package/dist/execution/template.d.ts.map +1 -1
- package/dist/execution/template.js +4 -4
- package/dist/execution/template.js.map +1 -1
- package/dist/executor.d.ts +21 -0
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +70 -11
- package/dist/executor.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -78
- package/dist/index.js.map +1 -1
- package/dist/logging.d.ts +3 -3
- package/dist/logging.d.ts.map +1 -1
- package/dist/logging.js +6 -6
- package/dist/logging.js.map +1 -1
- package/dist/schemas.d.ts +5 -5
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +10 -10
- package/dist/schemas.js.map +1 -1
- package/dist/utils.d.ts +8 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +10 -0
- package/dist/utils.js.map +1 -0
- package/package.json +1 -1
package/dist/config/global.d.ts
CHANGED
|
@@ -23,5 +23,5 @@ export type GlobalConfigResult = {
|
|
|
23
23
|
*
|
|
24
24
|
* @returns Promise resolving to GlobalConfigResult
|
|
25
25
|
*/
|
|
26
|
-
export declare
|
|
26
|
+
export declare const loadGlobalConfig: () => Promise<GlobalConfigResult>;
|
|
27
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;AAK5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAuIF;;;;;;;;;;;;;GAaG;AACH,
|
|
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;AAK5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAuIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,kBAAkB,CA2EnE,CAAA"}
|
package/dist/config/global.js
CHANGED
|
@@ -11,7 +11,7 @@ import { logger } from "../logging.js";
|
|
|
11
11
|
* Strip comments from JSONC content
|
|
12
12
|
* Handles both line comments and block comments
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
const stripJsoncComments = (content) => {
|
|
15
15
|
let result = "";
|
|
16
16
|
let i = 0;
|
|
17
17
|
let inString = false;
|
|
@@ -77,11 +77,11 @@ function stripJsoncComments(content) {
|
|
|
77
77
|
i++;
|
|
78
78
|
}
|
|
79
79
|
return result;
|
|
80
|
-
}
|
|
80
|
+
};
|
|
81
81
|
/**
|
|
82
82
|
* Parse JSON content, handling parse errors gracefully
|
|
83
83
|
*/
|
|
84
|
-
|
|
84
|
+
const parseJson = (content) => {
|
|
85
85
|
try {
|
|
86
86
|
return JSON.parse(content);
|
|
87
87
|
}
|
|
@@ -89,12 +89,12 @@ function parseJson(content) {
|
|
|
89
89
|
const message = error instanceof Error ? error.message : String(error);
|
|
90
90
|
throw new Error(`Failed to parse JSON: ${message}`);
|
|
91
91
|
}
|
|
92
|
-
}
|
|
92
|
+
};
|
|
93
93
|
/**
|
|
94
94
|
* Find command hooks config file by walking up directory tree
|
|
95
95
|
* Looks for .opencode/command-hooks.jsonc
|
|
96
96
|
*/
|
|
97
|
-
async
|
|
97
|
+
const findConfigFile = async (startDir) => {
|
|
98
98
|
let currentDir = startDir;
|
|
99
99
|
// Limit search depth to avoid infinite loops
|
|
100
100
|
const maxDepth = 20;
|
|
@@ -123,7 +123,7 @@ async function findConfigFile(startDir) {
|
|
|
123
123
|
}
|
|
124
124
|
logger.debug(`No config file found after searching ${depth} directories`);
|
|
125
125
|
return null;
|
|
126
|
-
}
|
|
126
|
+
};
|
|
127
127
|
/**
|
|
128
128
|
* Load and parse global command hooks configuration
|
|
129
129
|
*
|
|
@@ -138,7 +138,7 @@ async function findConfigFile(startDir) {
|
|
|
138
138
|
*
|
|
139
139
|
* @returns Promise resolving to GlobalConfigResult
|
|
140
140
|
*/
|
|
141
|
-
export async
|
|
141
|
+
export const loadGlobalConfig = async () => {
|
|
142
142
|
let configPath = null;
|
|
143
143
|
try {
|
|
144
144
|
// Find config file
|
|
@@ -202,5 +202,5 @@ export async function loadGlobalConfig() {
|
|
|
202
202
|
error: `Unexpected error loading global config: ${message}`,
|
|
203
203
|
};
|
|
204
204
|
}
|
|
205
|
-
}
|
|
205
|
+
};
|
|
206
206
|
//# 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,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAOvC;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/config/global.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ import type { AgentHooks, CommandHooksConfig } from "../types/hooks.js";
|
|
|
27
27
|
* ```
|
|
28
28
|
* Returns the YAML between the delimiters
|
|
29
29
|
*/
|
|
30
|
-
export declare
|
|
30
|
+
export declare const extractYamlFrontmatter: (content: string) => string | null;
|
|
31
31
|
/**
|
|
32
32
|
* Parse YAML content and return the parsed object
|
|
33
33
|
*
|
|
@@ -37,7 +37,7 @@ export declare function extractYamlFrontmatter(content: string): string | null;
|
|
|
37
37
|
* @param yamlContent - Raw YAML string to parse
|
|
38
38
|
* @returns Parsed YAML object, or null if parsing failed
|
|
39
39
|
*/
|
|
40
|
-
export declare
|
|
40
|
+
export declare const parseYamlFrontmatter: (content: string) => unknown;
|
|
41
41
|
/**
|
|
42
42
|
* Parse simplified agent hooks from YAML frontmatter content
|
|
43
43
|
*
|
|
@@ -58,7 +58,7 @@ export declare function parseYamlFrontmatter(content: string): unknown;
|
|
|
58
58
|
* inject: "Results:\n{stdout}"
|
|
59
59
|
* ```
|
|
60
60
|
*/
|
|
61
|
-
export declare
|
|
61
|
+
export declare const parseAgentHooks: (yamlContent: string) => AgentHooks | null;
|
|
62
62
|
/**
|
|
63
63
|
* Convert simplified agent hooks to internal CommandHooksConfig format
|
|
64
64
|
*
|
|
@@ -78,7 +78,7 @@ export declare function parseAgentHooks(yamlContent: string): AgentHooks | null;
|
|
|
78
78
|
* // Results in: { tool: [{ id: "engineer-after-0", when: {...}, run: ..., inject: ... }] }
|
|
79
79
|
* ```
|
|
80
80
|
*/
|
|
81
|
-
export declare
|
|
81
|
+
export declare const convertToCommandHooksConfig: (agentHooks: AgentHooks, agentName: string) => CommandHooksConfig;
|
|
82
82
|
/**
|
|
83
83
|
* Load and parse command hooks configuration from a markdown file
|
|
84
84
|
*
|
|
@@ -101,5 +101,5 @@ export declare function convertToCommandHooksConfig(agentHooks: AgentHooks, agen
|
|
|
101
101
|
* // Returns { tool: [...], session: [...] } or { tool: [], session: [] }
|
|
102
102
|
* ```
|
|
103
103
|
*/
|
|
104
|
-
export declare
|
|
104
|
+
export declare const loadMarkdownConfig: (filePath: string) => Promise<CommandHooksConfig>;
|
|
105
105
|
//# sourceMappingURL=markdown.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/config/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAkB,kBAAkB,EAAY,MAAM,mBAAmB,CAAC;AAOlG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/config/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAkB,kBAAkB,EAAY,MAAM,mBAAmB,CAAC;AAOlG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,KAAG,MAAM,GAAG,IAmBjE,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,OAStD,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,eAAe,GAC1B,aAAa,MAAM,KAClB,UAAU,GAAG,IA8Cf,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,2BAA2B,GACtC,YAAY,UAAU,EACtB,WAAW,MAAM,KAChB,kBAqCF,CAAA;AAqDD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,kBAAkB,GAC3B,UAAU,MAAM,KACjB,OAAO,CAAC,kBAAkB,CAmG5B,CAAA"}
|
package/dist/config/markdown.js
CHANGED
|
@@ -29,7 +29,7 @@ import { logger } from "../logging.js";
|
|
|
29
29
|
* ```
|
|
30
30
|
* Returns the YAML between the delimiters
|
|
31
31
|
*/
|
|
32
|
-
export
|
|
32
|
+
export const extractYamlFrontmatter = (content) => {
|
|
33
33
|
// Check if content starts with ---
|
|
34
34
|
if (!content.startsWith("---")) {
|
|
35
35
|
return null;
|
|
@@ -44,7 +44,7 @@ export function extractYamlFrontmatter(content) {
|
|
|
44
44
|
// Extract YAML between the delimiters
|
|
45
45
|
const yamlContent = content.substring(3, secondDelimiterIndex).trim();
|
|
46
46
|
return yamlContent;
|
|
47
|
-
}
|
|
47
|
+
};
|
|
48
48
|
/**
|
|
49
49
|
* Parse YAML content and return the parsed object
|
|
50
50
|
*
|
|
@@ -54,7 +54,7 @@ export function extractYamlFrontmatter(content) {
|
|
|
54
54
|
* @param yamlContent - Raw YAML string to parse
|
|
55
55
|
* @returns Parsed YAML object, or null if parsing failed
|
|
56
56
|
*/
|
|
57
|
-
export
|
|
57
|
+
export const parseYamlFrontmatter = (content) => {
|
|
58
58
|
try {
|
|
59
59
|
const parsed = parseYaml(content);
|
|
60
60
|
return parsed === undefined ? null : parsed;
|
|
@@ -64,7 +64,7 @@ export function parseYamlFrontmatter(content) {
|
|
|
64
64
|
logger.debug(`Failed to parse YAML: ${message}`);
|
|
65
65
|
return null;
|
|
66
66
|
}
|
|
67
|
-
}
|
|
67
|
+
};
|
|
68
68
|
/**
|
|
69
69
|
* Parse simplified agent hooks from YAML frontmatter content
|
|
70
70
|
*
|
|
@@ -85,9 +85,9 @@ export function parseYamlFrontmatter(content) {
|
|
|
85
85
|
* inject: "Results:\n{stdout}"
|
|
86
86
|
* ```
|
|
87
87
|
*/
|
|
88
|
-
export
|
|
88
|
+
export const parseAgentHooks = (yamlContent) => {
|
|
89
89
|
const parsed = parseYamlFrontmatter(yamlContent);
|
|
90
|
-
if (parsed === null || typeof parsed !== "object"
|
|
90
|
+
if (parsed === null || typeof parsed !== "object") {
|
|
91
91
|
return null;
|
|
92
92
|
}
|
|
93
93
|
const config = parsed;
|
|
@@ -122,7 +122,7 @@ export function parseAgentHooks(yamlContent) {
|
|
|
122
122
|
return null;
|
|
123
123
|
}
|
|
124
124
|
return result;
|
|
125
|
-
}
|
|
125
|
+
};
|
|
126
126
|
/**
|
|
127
127
|
* Convert simplified agent hooks to internal CommandHooksConfig format
|
|
128
128
|
*
|
|
@@ -142,7 +142,7 @@ export function parseAgentHooks(yamlContent) {
|
|
|
142
142
|
* // Results in: { tool: [{ id: "engineer-after-0", when: {...}, run: ..., inject: ... }] }
|
|
143
143
|
* ```
|
|
144
144
|
*/
|
|
145
|
-
export
|
|
145
|
+
export const convertToCommandHooksConfig = (agentHooks, agentName) => {
|
|
146
146
|
const toolHooks = [];
|
|
147
147
|
// Convert before hooks
|
|
148
148
|
if (agentHooks.before) {
|
|
@@ -166,11 +166,11 @@ export function convertToCommandHooksConfig(agentHooks, agentName) {
|
|
|
166
166
|
tool: toolHooks,
|
|
167
167
|
session: [],
|
|
168
168
|
};
|
|
169
|
-
}
|
|
169
|
+
};
|
|
170
170
|
/**
|
|
171
171
|
* Convert a single AgentHookEntry to ToolHook format
|
|
172
172
|
*/
|
|
173
|
-
|
|
173
|
+
const convertAgentHookEntryToToolHook = (entry, agentName, phase, index) => {
|
|
174
174
|
if (!entry.run) {
|
|
175
175
|
logger.debug("Hook entry missing required 'run' field");
|
|
176
176
|
return null;
|
|
@@ -187,7 +187,7 @@ function convertAgentHookEntryToToolHook(entry, agentName, phase, index) {
|
|
|
187
187
|
inject: entry.inject,
|
|
188
188
|
toast: entry.toast,
|
|
189
189
|
};
|
|
190
|
-
}
|
|
190
|
+
};
|
|
191
191
|
/**
|
|
192
192
|
* Extract agent name from file path
|
|
193
193
|
*
|
|
@@ -203,10 +203,10 @@ function convertAgentHookEntryToToolHook(entry, agentName, phase, index) {
|
|
|
203
203
|
* // Returns: "engineer"
|
|
204
204
|
* ```
|
|
205
205
|
*/
|
|
206
|
-
|
|
206
|
+
const extractAgentNameFromPath = (filePath) => {
|
|
207
207
|
const fileName = filePath.split("/").pop() || "";
|
|
208
208
|
return fileName.replace(/\.md$/, "");
|
|
209
|
-
}
|
|
209
|
+
};
|
|
210
210
|
/**
|
|
211
211
|
* Load and parse command hooks configuration from a markdown file
|
|
212
212
|
*
|
|
@@ -229,7 +229,7 @@ function extractAgentNameFromPath(filePath) {
|
|
|
229
229
|
* // Returns { tool: [...], session: [...] } or { tool: [], session: [] }
|
|
230
230
|
* ```
|
|
231
231
|
*/
|
|
232
|
-
export async
|
|
232
|
+
export const loadMarkdownConfig = async (filePath) => {
|
|
233
233
|
try {
|
|
234
234
|
// Try to read the file
|
|
235
235
|
let content;
|
|
@@ -298,5 +298,5 @@ export async function loadMarkdownConfig(filePath) {
|
|
|
298
298
|
logger.info(`Unexpected error loading markdown config from ${filePath}: ${message}`);
|
|
299
299
|
return { tool: [], session: [] };
|
|
300
300
|
}
|
|
301
|
-
}
|
|
301
|
+
};
|
|
302
302
|
//# sourceMappingURL=markdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/config/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAIvC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/config/markdown.ts"],"names":[],"mappings":"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"}
|
package/dist/config/merge.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ import type { CommandHooksConfig, ToolHook, SessionHook, HookValidationError } f
|
|
|
27
27
|
* findDuplicateIds(hooks) // Returns ["hook-1"]
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
|
-
export declare
|
|
30
|
+
export declare const findDuplicateIds: (hooks: (ToolHook | SessionHook)[]) => string[];
|
|
31
31
|
/**
|
|
32
32
|
* Merge global and markdown configs with proper precedence
|
|
33
33
|
*
|
|
@@ -60,7 +60,7 @@ export declare function findDuplicateIds(hooks: (ToolHook | SessionHook)[]): str
|
|
|
60
60
|
* // result.errors === [] (no duplicates)
|
|
61
61
|
* ```
|
|
62
62
|
*/
|
|
63
|
-
export declare
|
|
63
|
+
export declare const mergeConfigs: (global: CommandHooksConfig, markdown: CommandHooksConfig) => {
|
|
64
64
|
config: CommandHooksConfig;
|
|
65
65
|
errors: HookValidationError[];
|
|
66
66
|
};
|
|
@@ -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,
|
|
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,eAAO,MAAM,gBAAgB,GAAI,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,EAAE,KAAG,MAAM,EAa1E,CAAA;AA+GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,YAAY,GACtB,QAAQ,kBAAkB,EAC1B,UAAU,kBAAkB,KAC5B;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,mBAAmB,EAAE,CAAA;CAqC7D,CAAA"}
|
package/dist/config/merge.js
CHANGED
|
@@ -27,7 +27,7 @@ import { logger } from "../logging.js";
|
|
|
27
27
|
* findDuplicateIds(hooks) // Returns ["hook-1"]
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
|
-
export
|
|
30
|
+
export const findDuplicateIds = (hooks) => {
|
|
31
31
|
const idCounts = new Map();
|
|
32
32
|
// Count occurrences of each ID
|
|
33
33
|
for (const hook of hooks) {
|
|
@@ -38,7 +38,7 @@ export function findDuplicateIds(hooks) {
|
|
|
38
38
|
return Array.from(idCounts.entries())
|
|
39
39
|
.filter(([, count]) => count > 1)
|
|
40
40
|
.map(([id]) => id);
|
|
41
|
-
}
|
|
41
|
+
};
|
|
42
42
|
/**
|
|
43
43
|
* Validate a single config source for duplicate IDs
|
|
44
44
|
*
|
|
@@ -49,7 +49,7 @@ export function findDuplicateIds(hooks) {
|
|
|
49
49
|
* @param source - Source identifier for error reporting (e.g., "global", "markdown")
|
|
50
50
|
* @returns Array of validation errors (empty if no duplicates)
|
|
51
51
|
*/
|
|
52
|
-
|
|
52
|
+
const validateConfigForDuplicates = (config, source) => {
|
|
53
53
|
const errors = [];
|
|
54
54
|
// Check tool hooks for duplicates
|
|
55
55
|
if (config.tool && config.tool.length > 0) {
|
|
@@ -76,7 +76,7 @@ function validateConfigForDuplicates(config, source) {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
return errors;
|
|
79
|
-
}
|
|
79
|
+
};
|
|
80
80
|
/**
|
|
81
81
|
* Merge two hook arrays with markdown taking precedence
|
|
82
82
|
*
|
|
@@ -103,7 +103,7 @@ function validateConfigForDuplicates(config, source) {
|
|
|
103
103
|
* // Returns: [{ id: "hook-1", ... (markdown version) }, { id: "hook-2", ... }, { id: "hook-3", ... }]
|
|
104
104
|
* ```
|
|
105
105
|
*/
|
|
106
|
-
|
|
106
|
+
const mergeHookArrays = (globalHooks, markdownHooks) => {
|
|
107
107
|
// Create a map of markdown hooks by ID for quick lookup
|
|
108
108
|
const markdownMap = new Map();
|
|
109
109
|
const markdownIds = new Set();
|
|
@@ -132,7 +132,7 @@ function mergeHookArrays(globalHooks, markdownHooks) {
|
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
134
|
return result;
|
|
135
|
-
}
|
|
135
|
+
};
|
|
136
136
|
/**
|
|
137
137
|
* Merge global and markdown configs with proper precedence
|
|
138
138
|
*
|
|
@@ -165,7 +165,7 @@ function mergeHookArrays(globalHooks, markdownHooks) {
|
|
|
165
165
|
* // result.errors === [] (no duplicates)
|
|
166
166
|
* ```
|
|
167
167
|
*/
|
|
168
|
-
export
|
|
168
|
+
export const mergeConfigs = (global, markdown) => {
|
|
169
169
|
const errors = [];
|
|
170
170
|
// Validate global config for duplicates
|
|
171
171
|
const globalErrors = validateConfigForDuplicates(global, "global");
|
|
@@ -190,5 +190,5 @@ export function mergeConfigs(global, markdown) {
|
|
|
190
190
|
};
|
|
191
191
|
logger.debug(`Merged configs: ${mergedToolHooks.length} tool hooks, ${mergedSessionHooks.length} session hooks, truncationLimit: ${mergedConfig.truncationLimit}, ${errors.length} errors`);
|
|
192
192
|
return { config: mergedConfig, errors };
|
|
193
|
-
}
|
|
193
|
+
};
|
|
194
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":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/config/merge.ts"],"names":[],"mappings":"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"}
|
package/dist/execution/shell.js
CHANGED
|
@@ -16,7 +16,7 @@ const DEFAULT_TRUNCATE_LIMIT = 30000;
|
|
|
16
16
|
/**
|
|
17
17
|
* Truncate text to a maximum length, matching OpenCode's bash tool behavior
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
const truncateText = (text, limit) => {
|
|
20
20
|
if (!text)
|
|
21
21
|
return "";
|
|
22
22
|
if (text.length <= limit)
|
|
@@ -24,7 +24,7 @@ function truncateText(text, limit) {
|
|
|
24
24
|
const truncated = text.slice(0, limit);
|
|
25
25
|
const metadata = `\n\n[Output truncated: exceeded ${limit} character limit]`;
|
|
26
26
|
return truncated + metadata;
|
|
27
|
-
}
|
|
27
|
+
};
|
|
28
28
|
/**
|
|
29
29
|
* Execute a single shell command
|
|
30
30
|
*
|
|
@@ -147,7 +147,7 @@ export async function executeCommands(commands, hookId, options) {
|
|
|
147
147
|
* @param command - Shell command to execute
|
|
148
148
|
* @returns Object with stdout, stderr, and exitCode
|
|
149
149
|
*/
|
|
150
|
-
async
|
|
150
|
+
const executeShellCommand = async (command) => {
|
|
151
151
|
try {
|
|
152
152
|
// Use Bun's $ template literal to execute the command
|
|
153
153
|
// The nothrow() method prevents throwing on non-zero exit codes
|
|
@@ -174,5 +174,5 @@ async function executeShellCommand(command) {
|
|
|
174
174
|
exitCode: 1,
|
|
175
175
|
};
|
|
176
176
|
}
|
|
177
|
-
}
|
|
177
|
+
};
|
|
178
178
|
//# sourceMappingURL=shell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/execution/shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEtD,MAAM,sBAAsB,GAAG,KAAM,CAAA;AAErC;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/execution/shell.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,5 +51,5 @@ import type { TemplateContext } from "../types/hooks.js";
|
|
|
51
51
|
* // Result: "Hook tests-after-task for task completed: exit 0\n```\n✓ All tests passed\n```"
|
|
52
52
|
* ```
|
|
53
53
|
*/
|
|
54
|
-
export declare
|
|
54
|
+
export declare const interpolateTemplate: (template: string | undefined, context: TemplateContext) => string;
|
|
55
55
|
//# sourceMappingURL=template.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/execution/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAoBxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/execution/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAoBxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,GAAG,SAAS,EAAE,SAAS,eAAe,KAAG,MAmC5F,CAAA"}
|
|
@@ -23,13 +23,13 @@ import { logger, isDebugEnabled } from "../logging.js";
|
|
|
23
23
|
* @param value - The value to replace with (undefined becomes empty string)
|
|
24
24
|
* @returns The template with the placeholder replaced
|
|
25
25
|
*/
|
|
26
|
-
|
|
26
|
+
const replacePlaceholder = (template, placeholder, value) => {
|
|
27
27
|
// Convert value to string, handling undefined/null
|
|
28
28
|
const stringValue = value === undefined || value === null ? "" : String(value);
|
|
29
29
|
// Create regex to match {placeholder} globally
|
|
30
30
|
const regex = new RegExp(`\\{${placeholder}\\}`, "g");
|
|
31
31
|
return template.replace(regex, stringValue);
|
|
32
|
-
}
|
|
32
|
+
};
|
|
33
33
|
/**
|
|
34
34
|
* Interpolate a template string by replacing placeholders with context values
|
|
35
35
|
*
|
|
@@ -66,7 +66,7 @@ function replacePlaceholder(template, placeholder, value) {
|
|
|
66
66
|
* // Result: "Hook tests-after-task for task completed: exit 0\n```\n✓ All tests passed\n```"
|
|
67
67
|
* ```
|
|
68
68
|
*/
|
|
69
|
-
export
|
|
69
|
+
export const interpolateTemplate = (template, context) => {
|
|
70
70
|
// Handle null/undefined template
|
|
71
71
|
if (!template) {
|
|
72
72
|
return "";
|
|
@@ -96,5 +96,5 @@ export function interpolateTemplate(template, context) {
|
|
|
96
96
|
logger.debug(`Template interpolation complete, result length: ${result.length}`);
|
|
97
97
|
}
|
|
98
98
|
return result;
|
|
99
|
-
}
|
|
99
|
+
};
|
|
100
100
|
//# sourceMappingURL=template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/execution/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEtD;;;;;;;GAOG;AACH,
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/execution/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEtD;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,WAAmB,EAAE,KAAc,EAAU,EAAE;IAC3F,mDAAmD;IACnD,MAAM,WAAW,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAE9E,+CAA+C;IAC/C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,WAAW,KAAK,EAAE,GAAG,CAAC,CAAA;IACrD,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;AAC7C,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAA4B,EAAE,OAAwB,EAAU,EAAE;IACpG,iCAAiC;IACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,CAAA;IACX,CAAC;IAEC,IAAI,cAAc,EAAE,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC;YAClE,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACnE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC5E,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC5E,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,EAAE,CAAC,CAAA;IACP,CAAC;IAEH,IAAI,MAAM,GAAG,QAAQ,CAAA;IAErB,2BAA2B;IAC3B,wDAAwD;IACxD,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IACrD,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACvD,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7D,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7D,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE/D,IAAI,cAAc,EAAE,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,mDAAmD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAClF,CAAC;IAEH,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
|
package/dist/executor.d.ts
CHANGED
|
@@ -16,6 +16,27 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import type { OpencodeClient } from "@opencode-ai/sdk";
|
|
18
18
|
import type { ToolHook, SessionHook, HookExecutionContext } from "./types/hooks.js";
|
|
19
|
+
/**
|
|
20
|
+
* Check if a value matches a pattern (string, array of strings, or wildcard)
|
|
21
|
+
*/
|
|
22
|
+
export declare const matches: (pattern: string | string[] | undefined, value: string | undefined) => boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Filter session hooks that match the given criteria
|
|
25
|
+
*/
|
|
26
|
+
export declare const filterSessionHooks: (hooks: SessionHook[], criteria: {
|
|
27
|
+
event: string;
|
|
28
|
+
agent: string | undefined;
|
|
29
|
+
}) => SessionHook[];
|
|
30
|
+
/**
|
|
31
|
+
* Filter tool hooks that match the given criteria
|
|
32
|
+
*/
|
|
33
|
+
export declare const filterToolHooks: (hooks: ToolHook[], criteria: {
|
|
34
|
+
phase: "before" | "after";
|
|
35
|
+
toolName: string | undefined;
|
|
36
|
+
callingAgent: string | undefined;
|
|
37
|
+
slashCommand: string | undefined;
|
|
38
|
+
toolArgs?: Record<string, unknown>;
|
|
39
|
+
}) => ToolHook[];
|
|
19
40
|
/**
|
|
20
41
|
* Execute a collection of hooks
|
|
21
42
|
*
|
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;AAKzB;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EAAE,OAAO,MAAM,GAAG,SAAS,KAAG,OAK3F,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,WAAW,EAAE,EACpB,UAAU;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,KACrD,WAAW,EAWb,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,QAAQ,EAAE,EACjB,UAAU;IACR,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAA;IACzB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC,KACA,QAAQ,EA+BV,CAAA;AA4MD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,CA+Bf"}
|
package/dist/executor.js
CHANGED
|
@@ -17,6 +17,65 @@
|
|
|
17
17
|
import { executeCommands } from "./execution/shell.js";
|
|
18
18
|
import { interpolateTemplate } from "./execution/template.js";
|
|
19
19
|
import { logger } from "./logging.js";
|
|
20
|
+
/**
|
|
21
|
+
* Check if a value matches a pattern (string, array of strings, or wildcard)
|
|
22
|
+
*/
|
|
23
|
+
export const matches = (pattern, value) => {
|
|
24
|
+
if (!pattern)
|
|
25
|
+
return true; // Omitted pattern matches all
|
|
26
|
+
if (pattern === "*")
|
|
27
|
+
return true; // Wildcard matches all
|
|
28
|
+
if (Array.isArray(pattern))
|
|
29
|
+
return value ? pattern.includes(value) : false;
|
|
30
|
+
return value === pattern;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Filter session hooks that match the given criteria
|
|
34
|
+
*/
|
|
35
|
+
export const filterSessionHooks = (hooks, criteria) => {
|
|
36
|
+
return hooks.filter((hook) => {
|
|
37
|
+
// Normalize session.start to session.created
|
|
38
|
+
let normalizedEvent = hook.when.event;
|
|
39
|
+
if (normalizedEvent === "session.start") {
|
|
40
|
+
normalizedEvent = "session.created";
|
|
41
|
+
}
|
|
42
|
+
if (normalizedEvent !== criteria.event)
|
|
43
|
+
return false;
|
|
44
|
+
return matches(hook.when.agent, criteria.agent);
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Filter tool hooks that match the given criteria
|
|
49
|
+
*/
|
|
50
|
+
export const filterToolHooks = (hooks, criteria) => {
|
|
51
|
+
return hooks.filter((hook) => {
|
|
52
|
+
if (hook.when.phase !== criteria.phase)
|
|
53
|
+
return false;
|
|
54
|
+
if (!matches(hook.when.tool, criteria.toolName))
|
|
55
|
+
return false;
|
|
56
|
+
if (!matches(hook.when.callingAgent, criteria.callingAgent))
|
|
57
|
+
return false;
|
|
58
|
+
if (!matches(hook.when.slashCommand, criteria.slashCommand))
|
|
59
|
+
return false;
|
|
60
|
+
// Match tool args if specified in the hook
|
|
61
|
+
if (hook.when.toolArgs) {
|
|
62
|
+
// If hook specifies toolArgs but we don't have them, we can't match
|
|
63
|
+
// (this happens for async tools in tool.result event)
|
|
64
|
+
if (!criteria.toolArgs) {
|
|
65
|
+
logger.debug(`Hook ${hook.id} requires toolArgs but none were provided for tool ${criteria.toolName}`);
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
for (const [key, expectedValue] of Object.entries(hook.when.toolArgs)) {
|
|
69
|
+
const actualValue = criteria.toolArgs[key];
|
|
70
|
+
if (!matches(expectedValue, actualValue)) {
|
|
71
|
+
logger.debug(`Hook ${hook.id} toolArgs mismatch for ${key}: expected ${JSON.stringify(expectedValue)}, actual ${JSON.stringify(actualValue)}`);
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return true;
|
|
77
|
+
});
|
|
78
|
+
};
|
|
20
79
|
/**
|
|
21
80
|
* Format an error message for injection into the session
|
|
22
81
|
*
|
|
@@ -27,10 +86,10 @@ import { logger } from "./logging.js";
|
|
|
27
86
|
* @param error - Error message or object
|
|
28
87
|
* @returns Formatted error message
|
|
29
88
|
*/
|
|
30
|
-
|
|
89
|
+
const formatErrorMessage = (hookId, error) => {
|
|
31
90
|
const errorText = error instanceof Error ? error.message : String(error || "Unknown error");
|
|
32
91
|
return `[opencode-command-hooks] Hook "${hookId}" failed: ${errorText}`;
|
|
33
|
-
}
|
|
92
|
+
};
|
|
34
93
|
/**
|
|
35
94
|
* Show a toast notification to the user
|
|
36
95
|
*
|
|
@@ -44,7 +103,7 @@ function formatErrorMessage(hookId, error) {
|
|
|
44
103
|
* @param duration - Optional duration in milliseconds
|
|
45
104
|
* @returns Promise that resolves when toast is shown
|
|
46
105
|
*/
|
|
47
|
-
async
|
|
106
|
+
const showToast = async (client, title, message, variant = "info", duration) => {
|
|
48
107
|
try {
|
|
49
108
|
const finalTitle = title || "OpenCode Command Hook";
|
|
50
109
|
logger.debug(`Showing toast: title="${finalTitle}", message="${message.substring(0, 50)}...", variant="${variant}", duration=${duration}`);
|
|
@@ -63,7 +122,7 @@ async function showToast(client, title, message, variant = "info", duration) {
|
|
|
63
122
|
logger.error(`Failed to show toast: ${errorMessage}`);
|
|
64
123
|
// Don't throw - this is non-blocking
|
|
65
124
|
}
|
|
66
|
-
}
|
|
125
|
+
};
|
|
67
126
|
/**
|
|
68
127
|
* Inject a message into a session using the OpenCode SDK
|
|
69
128
|
*
|
|
@@ -75,7 +134,7 @@ async function showToast(client, title, message, variant = "info", duration) {
|
|
|
75
134
|
* @param message - Message text to inject
|
|
76
135
|
* @returns Promise that resolves when message is injected
|
|
77
136
|
*/
|
|
78
|
-
async
|
|
137
|
+
const injectMessage = async (client, sessionId, message) => {
|
|
79
138
|
try {
|
|
80
139
|
logger.debug(`Injecting message into session ${sessionId}`);
|
|
81
140
|
await client.session.promptAsync({
|
|
@@ -92,7 +151,7 @@ async function injectMessage(client, sessionId, message) {
|
|
|
92
151
|
logger.error(`Failed to inject message into session: ${errorMessage}`);
|
|
93
152
|
throw error;
|
|
94
153
|
}
|
|
95
|
-
}
|
|
154
|
+
};
|
|
96
155
|
/**
|
|
97
156
|
* Execute a single hook (tool or session)
|
|
98
157
|
*
|
|
@@ -106,7 +165,7 @@ async function injectMessage(client, sessionId, message) {
|
|
|
106
165
|
* @param truncationLimit - Optional truncation limit for command output
|
|
107
166
|
* @returns Promise that resolves when hook execution is complete
|
|
108
167
|
*/
|
|
109
|
-
async
|
|
168
|
+
const executeHook = async (hook, context, client, truncationLimit) => {
|
|
110
169
|
const hookType = isToolHook(hook) ? "tool" : "session";
|
|
111
170
|
logger.debug(`Executing ${hookType} hook "${hook.id}"${context.tool ? ` for tool "${context.tool}"` : ""}, truncationLimit: ${truncationLimit}`);
|
|
112
171
|
try {
|
|
@@ -164,16 +223,16 @@ async function executeHook(hook, context, client, truncationLimit) {
|
|
|
164
223
|
logger.error(`Failed to inject error message for hook "${hook.id}": ${injectionErrorMsg}`);
|
|
165
224
|
}
|
|
166
225
|
}
|
|
167
|
-
}
|
|
226
|
+
};
|
|
168
227
|
/**
|
|
169
228
|
* Check if a hook is a tool hook
|
|
170
229
|
*
|
|
171
230
|
* @param hook - Hook to check
|
|
172
231
|
* @returns true if the hook is a ToolHook
|
|
173
232
|
*/
|
|
174
|
-
|
|
175
|
-
return "
|
|
176
|
-
}
|
|
233
|
+
const isToolHook = (hook) => {
|
|
234
|
+
return "phase" in hook.when;
|
|
235
|
+
};
|
|
177
236
|
/**
|
|
178
237
|
* Execute a collection of hooks
|
|
179
238
|
*
|
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,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
|
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;AA6JjD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,EAAE,MA6LhC,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
import { createLogger, setGlobalLogger, logger } from "./logging.js";
|
|
2
|
-
import { executeHooks } from "./executor.js";
|
|
2
|
+
import { executeHooks, filterSessionHooks, filterToolHooks } from "./executor.js";
|
|
3
|
+
import { normalizeString } from "./utils.js";
|
|
3
4
|
import { loadGlobalConfig } from "./config/global.js";
|
|
4
5
|
import { loadAgentConfig } from "./config/agent.js";
|
|
5
6
|
import { mergeConfigs } from "./config/merge.js";
|
|
6
|
-
|
|
7
|
-
* Helper to extract string values from event properties
|
|
8
|
-
*/
|
|
9
|
-
function normalizeString(value) {
|
|
10
|
-
return typeof value === "string" ? value : undefined;
|
|
11
|
-
}
|
|
12
|
-
async function notifyConfigError(configError, sessionId, client) {
|
|
7
|
+
const notifyConfigError = async (configError, sessionId, client) => {
|
|
13
8
|
if (!configError)
|
|
14
9
|
return;
|
|
15
10
|
const key = `${sessionId ?? "no-session"}:${configError}`;
|
|
@@ -29,87 +24,28 @@ async function notifyConfigError(configError, sessionId, client) {
|
|
|
29
24
|
const notifyMessage = notifyError instanceof Error ? notifyError.message : String(notifyError);
|
|
30
25
|
logger.error(`Failed to notify config error: ${notifyMessage}`);
|
|
31
26
|
}
|
|
32
|
-
}
|
|
27
|
+
};
|
|
33
28
|
const toolCallArgsCache = new Map();
|
|
34
29
|
const notifiedConfigErrors = new Set();
|
|
35
|
-
|
|
30
|
+
const storeToolArgs = (callId, args) => {
|
|
36
31
|
if (!callId || !args)
|
|
37
32
|
return;
|
|
38
33
|
toolCallArgsCache.set(callId, args);
|
|
39
|
-
}
|
|
40
|
-
|
|
34
|
+
};
|
|
35
|
+
const getToolArgs = (callId) => {
|
|
41
36
|
if (!callId)
|
|
42
37
|
return undefined;
|
|
43
38
|
return toolCallArgsCache.get(callId);
|
|
44
|
-
}
|
|
45
|
-
|
|
39
|
+
};
|
|
40
|
+
const deleteToolArgs = (callId) => {
|
|
46
41
|
if (!callId)
|
|
47
42
|
return;
|
|
48
43
|
toolCallArgsCache.delete(callId);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Check if a value matches a pattern (string, array of strings, or wildcard)
|
|
52
|
-
*/
|
|
53
|
-
function matches(pattern, value) {
|
|
54
|
-
if (!pattern)
|
|
55
|
-
return true; // Omitted pattern matches all
|
|
56
|
-
if (pattern === "*")
|
|
57
|
-
return true; // Wildcard matches all
|
|
58
|
-
if (Array.isArray(pattern))
|
|
59
|
-
return value ? pattern.includes(value) : false;
|
|
60
|
-
return value === pattern;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Filter session hooks that match the given criteria
|
|
64
|
-
*/
|
|
65
|
-
function filterSessionHooks(hooks, criteria) {
|
|
66
|
-
return hooks.filter((hook) => {
|
|
67
|
-
// Normalize session.start to session.created
|
|
68
|
-
let normalizedEvent = hook.when.event;
|
|
69
|
-
if (normalizedEvent === "session.start") {
|
|
70
|
-
normalizedEvent = "session.created";
|
|
71
|
-
}
|
|
72
|
-
if (normalizedEvent !== criteria.event)
|
|
73
|
-
return false;
|
|
74
|
-
return matches(hook.when.agent, criteria.agent);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Filter tool hooks that match the given criteria
|
|
79
|
-
*/
|
|
80
|
-
function filterToolHooks(hooks, criteria) {
|
|
81
|
-
return hooks.filter((hook) => {
|
|
82
|
-
if (hook.when.phase !== criteria.phase)
|
|
83
|
-
return false;
|
|
84
|
-
if (!matches(hook.when.tool, criteria.toolName))
|
|
85
|
-
return false;
|
|
86
|
-
if (!matches(hook.when.callingAgent, criteria.callingAgent))
|
|
87
|
-
return false;
|
|
88
|
-
if (!matches(hook.when.slashCommand, criteria.slashCommand))
|
|
89
|
-
return false;
|
|
90
|
-
// Match tool args if specified in the hook
|
|
91
|
-
if (hook.when.toolArgs) {
|
|
92
|
-
// If hook specifies toolArgs but we don't have them, we can't match
|
|
93
|
-
// (this happens for async tools in tool.result event)
|
|
94
|
-
if (!criteria.toolArgs) {
|
|
95
|
-
logger.debug(`Hook ${hook.id} requires toolArgs but none were provided for tool ${criteria.toolName}`);
|
|
96
|
-
return false;
|
|
97
|
-
}
|
|
98
|
-
for (const [key, expectedValue] of Object.entries(hook.when.toolArgs)) {
|
|
99
|
-
const actualValue = criteria.toolArgs[key];
|
|
100
|
-
if (!matches(expectedValue, actualValue)) {
|
|
101
|
-
logger.debug(`Hook ${hook.id} toolArgs mismatch for ${key}: expected ${JSON.stringify(expectedValue)}, actual ${JSON.stringify(actualValue)}`);
|
|
102
|
-
return false;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return true;
|
|
107
|
-
});
|
|
108
|
-
}
|
|
44
|
+
};
|
|
109
45
|
/**
|
|
110
46
|
* Handle a session lifecycle event (session.created or session.idle)
|
|
111
47
|
*/
|
|
112
|
-
async
|
|
48
|
+
const handleSessionEvent = async (eventType, sessionId, agent, client) => {
|
|
113
49
|
if (!sessionId) {
|
|
114
50
|
logger.debug(`${eventType} event missing session ID`);
|
|
115
51
|
return;
|
|
@@ -134,11 +70,11 @@ async function handleSessionEvent(eventType, sessionId, agent, client) {
|
|
|
134
70
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
135
71
|
logger.error(`Error handling ${eventType} event: ${errorMessage}`);
|
|
136
72
|
}
|
|
137
|
-
}
|
|
73
|
+
};
|
|
138
74
|
/**
|
|
139
75
|
* Handle tool execution hook (before or after)
|
|
140
76
|
*/
|
|
141
|
-
async
|
|
77
|
+
const handleToolExecutionHook = async (phase, input, toolArgs, client) => {
|
|
142
78
|
try {
|
|
143
79
|
const { config: globalConfig, error: globalConfigError } = await loadGlobalConfig();
|
|
144
80
|
await notifyConfigError(globalConfigError, input.sessionID, client);
|
|
@@ -179,7 +115,7 @@ async function handleToolExecutionHook(phase, input, toolArgs, client) {
|
|
|
179
115
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
180
116
|
logger.error(`Error handling tool.execute.${phase}: ${errorMessage}`);
|
|
181
117
|
}
|
|
182
|
-
}
|
|
118
|
+
};
|
|
183
119
|
/**
|
|
184
120
|
* OpenCode Command Hooks Plugin
|
|
185
121
|
*
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logging.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type LogLevel = "debug" | "info" | "error";
|
|
|
4
4
|
* Creates a logger that uses OpenCode's SDK logging.
|
|
5
5
|
* Logs are written to ~/.local/share/opencode/log/
|
|
6
6
|
*/
|
|
7
|
-
export declare
|
|
7
|
+
export declare const createLogger: (client: OpencodeClient) => {
|
|
8
8
|
debug: (message: string) => void;
|
|
9
9
|
info: (message: string) => void;
|
|
10
10
|
error: (message: string) => void;
|
|
@@ -19,10 +19,10 @@ declare let logger: Logger;
|
|
|
19
19
|
* Set the global logger instance.
|
|
20
20
|
* Called once during plugin initialization with the SDK client.
|
|
21
21
|
*/
|
|
22
|
-
export declare
|
|
22
|
+
export declare const setGlobalLogger: (newLogger: Logger) => void;
|
|
23
23
|
/**
|
|
24
24
|
* Check if debug logging is enabled
|
|
25
25
|
*/
|
|
26
|
-
export declare
|
|
26
|
+
export declare const isDebugEnabled: () => boolean;
|
|
27
27
|
export { logger };
|
|
28
28
|
//# sourceMappingURL=logging.d.ts.map
|
package/dist/logging.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AAEjD;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AAEjD;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,cAAc;qBAiB9B,MAAM;oBACP,MAAM;qBACL,MAAM;CAE1B,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAEpD;;;GAGG;AACH,QAAA,IAAI,MAAM,EAAE,MAIX,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,KAAG,IAEnD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,QAAO,OAEjC,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
package/dist/logging.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Creates a logger that uses OpenCode's SDK logging.
|
|
3
3
|
* Logs are written to ~/.local/share/opencode/log/
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
5
|
+
export const createLogger = (client) => {
|
|
6
6
|
const log = (level, message) => {
|
|
7
7
|
if (client?.app?.log) {
|
|
8
8
|
client.app.log({
|
|
@@ -22,7 +22,7 @@ export function createLogger(client) {
|
|
|
22
22
|
info: (message) => log("info", message),
|
|
23
23
|
error: (message) => log("error", message),
|
|
24
24
|
};
|
|
25
|
-
}
|
|
25
|
+
};
|
|
26
26
|
/**
|
|
27
27
|
* Global logger instance.
|
|
28
28
|
* Set once during plugin initialization with the SDK client.
|
|
@@ -36,14 +36,14 @@ let logger = {
|
|
|
36
36
|
* Set the global logger instance.
|
|
37
37
|
* Called once during plugin initialization with the SDK client.
|
|
38
38
|
*/
|
|
39
|
-
export
|
|
39
|
+
export const setGlobalLogger = (newLogger) => {
|
|
40
40
|
logger = newLogger;
|
|
41
|
-
}
|
|
41
|
+
};
|
|
42
42
|
/**
|
|
43
43
|
* Check if debug logging is enabled
|
|
44
44
|
*/
|
|
45
|
-
export
|
|
45
|
+
export const isDebugEnabled = () => {
|
|
46
46
|
return process.env.OPENCODE_HOOKS_DEBUG === "1" || process.env.OPENCODE_HOOKS_DEBUG === "true";
|
|
47
|
-
}
|
|
47
|
+
};
|
|
48
48
|
export { logger };
|
|
49
49
|
//# sourceMappingURL=logging.js.map
|
package/dist/logging.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAsB,EAAE,EAAE;IACrD,MAAM,GAAG,GAAG,CAAC,KAAe,EAAE,OAAe,EAAQ,EAAE;QACrD,IAAI,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBACb,IAAI,EAAE;oBACJ,OAAO,EAAE,wBAAwB;oBACjC,KAAK;oBACL,OAAO;iBACR;aACF,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC3E,OAAO,CAAC,KAAK,CAAC,2CAA2C,YAAY,EAAE,CAAC,CAAA;YAC1E,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAA;IAED,OAAO;QACL,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;QACjD,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;QAC/C,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;KAClD,CAAA;AACH,CAAC,CAAA;AAID;;;GAGG;AACH,IAAI,MAAM,GAAW;IACnB,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CAChB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAQ,EAAE;IACzD,MAAM,GAAG,SAAS,CAAA;AACpB,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAY,EAAE;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,MAAM,CAAA;AAChG,CAAC,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
package/dist/schemas.d.ts
CHANGED
|
@@ -402,31 +402,31 @@ export type CommandHooksConfig = z.infer<typeof ConfigSchema>;
|
|
|
402
402
|
* @param input - Unknown configuration object to parse
|
|
403
403
|
* @returns Valid CommandHooksConfig with safe defaults on failure
|
|
404
404
|
*/
|
|
405
|
-
export declare
|
|
405
|
+
export declare const parseConfig: (input: unknown) => CommandHooksConfig;
|
|
406
406
|
/**
|
|
407
407
|
* Parse a single tool hook with error details
|
|
408
408
|
*
|
|
409
409
|
* @param input - Unknown hook object to parse
|
|
410
410
|
* @returns Parsed hook or null if invalid
|
|
411
411
|
*/
|
|
412
|
-
export declare
|
|
412
|
+
export declare const parseToolHook: (input: unknown) => ToolHook | null;
|
|
413
413
|
/**
|
|
414
414
|
* Parse a single session hook with error details
|
|
415
415
|
*
|
|
416
416
|
* @param input - Unknown hook object to parse
|
|
417
417
|
* @returns Parsed hook or null if invalid
|
|
418
418
|
*/
|
|
419
|
-
export declare
|
|
419
|
+
export declare const parseSessionHook: (input: unknown) => SessionHook | null;
|
|
420
420
|
/**
|
|
421
421
|
* Get detailed validation errors for debugging
|
|
422
422
|
*
|
|
423
423
|
* @param input - Unknown configuration object to validate
|
|
424
424
|
* @returns Validation errors if any, or null if valid
|
|
425
425
|
*/
|
|
426
|
-
export declare
|
|
426
|
+
export declare const getConfigValidationErrors: (input: unknown) => z.ZodError | null;
|
|
427
427
|
/**
|
|
428
428
|
* Check if a value is a valid CommandHooksConfig object
|
|
429
429
|
*/
|
|
430
|
-
export declare
|
|
430
|
+
export declare const isValidCommandHooksConfig: (value: unknown) => value is CommandHooksConfig;
|
|
431
431
|
export {};
|
|
432
432
|
//# sourceMappingURL=schemas.d.ts.map
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0BxB;;GAEG;AACH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;EAKtB,CAAC;AAYH;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AAMH;;GAEG;AACH,QAAA,MAAM,qBAAqB;;;;;;;;;EAGzB,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM5B,CAAC;AAMH;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIvB,CAAC;AAMH;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAM9D;;;;;;;;GAQG;AACH,
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0BxB;;GAEG;AACH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;EAKtB,CAAC;AAYH;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AAMH;;GAEG;AACH,QAAA,MAAM,qBAAqB;;;;;;;;;EAGzB,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM5B,CAAC;AAMH;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIvB,CAAC;AAMH;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAM9D;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,kBAc5C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,QAAQ,GAAG,IAGzD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,WAAW,GAAG,IAG/D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,OAAO,KACb,CAAC,CAAC,QAAQ,GAAG,IAGf,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,OAAO,KACb,KAAK,IAAI,kBAiBX,CAAA"}
|
package/dist/schemas.js
CHANGED
|
@@ -106,7 +106,7 @@ export const ConfigSchema = z.object({
|
|
|
106
106
|
* @param input - Unknown configuration object to parse
|
|
107
107
|
* @returns Valid CommandHooksConfig with safe defaults on failure
|
|
108
108
|
*/
|
|
109
|
-
export
|
|
109
|
+
export const parseConfig = (input) => {
|
|
110
110
|
const result = ConfigSchema.safeParse(input);
|
|
111
111
|
if (!result.success) {
|
|
112
112
|
// Return safe defaults on validation failure
|
|
@@ -118,41 +118,41 @@ export function parseConfig(input) {
|
|
|
118
118
|
// For successful parses, keep undefined fields as-is
|
|
119
119
|
// This allows callers to distinguish between "not provided" vs "provided"
|
|
120
120
|
return result.data;
|
|
121
|
-
}
|
|
121
|
+
};
|
|
122
122
|
/**
|
|
123
123
|
* Parse a single tool hook with error details
|
|
124
124
|
*
|
|
125
125
|
* @param input - Unknown hook object to parse
|
|
126
126
|
* @returns Parsed hook or null if invalid
|
|
127
127
|
*/
|
|
128
|
-
export
|
|
128
|
+
export const parseToolHook = (input) => {
|
|
129
129
|
const result = ToolHookSchema.safeParse(input);
|
|
130
130
|
return result.success ? result.data : null;
|
|
131
|
-
}
|
|
131
|
+
};
|
|
132
132
|
/**
|
|
133
133
|
* Parse a single session hook with error details
|
|
134
134
|
*
|
|
135
135
|
* @param input - Unknown hook object to parse
|
|
136
136
|
* @returns Parsed hook or null if invalid
|
|
137
137
|
*/
|
|
138
|
-
export
|
|
138
|
+
export const parseSessionHook = (input) => {
|
|
139
139
|
const result = SessionHookSchema.safeParse(input);
|
|
140
140
|
return result.success ? result.data : null;
|
|
141
|
-
}
|
|
141
|
+
};
|
|
142
142
|
/**
|
|
143
143
|
* Get detailed validation errors for debugging
|
|
144
144
|
*
|
|
145
145
|
* @param input - Unknown configuration object to validate
|
|
146
146
|
* @returns Validation errors if any, or null if valid
|
|
147
147
|
*/
|
|
148
|
-
export
|
|
148
|
+
export const getConfigValidationErrors = (input) => {
|
|
149
149
|
const result = ConfigSchema.safeParse(input);
|
|
150
150
|
return result.success ? null : result.error;
|
|
151
|
-
}
|
|
151
|
+
};
|
|
152
152
|
/**
|
|
153
153
|
* Check if a value is a valid CommandHooksConfig object
|
|
154
154
|
*/
|
|
155
|
-
export
|
|
155
|
+
export const isValidCommandHooksConfig = (value) => {
|
|
156
156
|
if (typeof value !== "object" || value === null) {
|
|
157
157
|
return false;
|
|
158
158
|
}
|
|
@@ -165,5 +165,5 @@ export function isValidCommandHooksConfig(value) {
|
|
|
165
165
|
return false;
|
|
166
166
|
}
|
|
167
167
|
return true;
|
|
168
|
-
}
|
|
168
|
+
};
|
|
169
169
|
//# sourceMappingURL=schemas.js.map
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,MAAM,GAAG,SAEzD,CAAA"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for opencode-command-hooks
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Helper to extract string values from event properties
|
|
6
|
+
*/
|
|
7
|
+
export const normalizeString = (value) => {
|
|
8
|
+
return typeof value === "string" ? value : undefined;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAsB,EAAE;IACpE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC,CAAA"}
|
package/package.json
CHANGED