opencode-command-hooks 0.1.6 → 0.1.8
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 +31 -26
- 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 +14 -14
- 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 +69 -10
- 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
|
@@ -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
|
-
|
|
233
|
+
const isToolHook = (hook) => {
|
|
175
234
|
return "phase" in hook.when;
|
|
176
|
-
}
|
|
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
|