opencode-command-hooks 0.1.4 → 0.1.5
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/agent.d.ts +0 -24
- package/dist/config/agent.d.ts.map +1 -1
- package/dist/config/agent.js +0 -34
- package/dist/config/agent.js.map +1 -1
- package/dist/config/global.d.ts.map +1 -1
- package/dist/config/global.js +1 -17
- package/dist/config/global.js.map +1 -1
- package/dist/config/markdown.d.ts +0 -14
- package/dist/config/markdown.d.ts.map +1 -1
- package/dist/config/markdown.js +9 -80
- package/dist/config/markdown.js.map +1 -1
- package/dist/execution/shell.d.ts.map +1 -1
- package/dist/execution/shell.js +1 -7
- package/dist/execution/shell.js.map +1 -1
- package/dist/execution/template.d.ts.map +1 -1
- package/dist/execution/template.js +1 -7
- package/dist/execution/template.js.map +1 -1
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +9 -96
- package/dist/executor.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +83 -151
- package/dist/index.js.map +1 -1
- package/dist/logging.d.ts +8 -4
- package/dist/logging.d.ts.map +1 -1
- package/dist/logging.js +11 -19
- package/dist/logging.js.map +1 -1
- package/dist/schemas.d.ts +16 -12
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +17 -0
- package/dist/schemas.js.map +1 -1
- package/dist/types/hooks.d.ts +75 -487
- package/dist/types/hooks.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/executor.js
CHANGED
|
@@ -94,19 +94,21 @@ async function injectMessage(client, sessionId, message) {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
/**
|
|
97
|
-
* Execute a single tool
|
|
97
|
+
* Execute a single hook (tool or session)
|
|
98
98
|
*
|
|
99
99
|
* Runs the hook's commands, interpolates the template if configured,
|
|
100
|
-
* and injects the result into the session if configured.
|
|
100
|
+
* and injects the result into the session if configured. Handles both
|
|
101
|
+
* ToolHook and SessionHook types with unified logic.
|
|
101
102
|
*
|
|
102
|
-
* @param hook - The
|
|
103
|
+
* @param hook - The hook to execute (tool or session)
|
|
103
104
|
* @param context - Execution context (tool name, session ID, agent, etc.)
|
|
104
105
|
* @param client - OpenCode SDK client for message injection
|
|
105
106
|
* @param truncationLimit - Optional truncation limit for command output
|
|
106
107
|
* @returns Promise that resolves when hook execution is complete
|
|
107
108
|
*/
|
|
108
|
-
async function
|
|
109
|
-
|
|
109
|
+
async function executeHook(hook, context, client, truncationLimit) {
|
|
110
|
+
const hookType = isToolHook(hook) ? "tool" : "session";
|
|
111
|
+
logger.debug(`Executing ${hookType} hook "${hook.id}"${context.tool ? ` for tool "${context.tool}"` : ""}, truncationLimit: ${truncationLimit}`);
|
|
110
112
|
try {
|
|
111
113
|
// Execute the hook's commands
|
|
112
114
|
if (truncationLimit !== undefined) {
|
|
@@ -119,28 +121,22 @@ async function executeToolHook(hook, context, client, truncationLimit) {
|
|
|
119
121
|
logger.debug(`Hook "${hook.id}" executed ${results.length} command(s)`);
|
|
120
122
|
// If inject is configured, prepare and inject the message
|
|
121
123
|
if (hook.inject) {
|
|
122
|
-
// Use the last command's result for template interpolation
|
|
123
124
|
const lastResult = results[results.length - 1];
|
|
124
|
-
// Build template context
|
|
125
125
|
const templateContext = {
|
|
126
126
|
id: hook.id,
|
|
127
127
|
agent: context.agent,
|
|
128
|
-
tool: context.tool,
|
|
128
|
+
tool: context.tool, // Will be undefined for session hooks
|
|
129
129
|
cmd: Array.isArray(hook.run) ? hook.run[0] : hook.run,
|
|
130
130
|
stdout: lastResult?.stdout,
|
|
131
131
|
stderr: lastResult?.stderr,
|
|
132
132
|
exitCode: lastResult?.exitCode,
|
|
133
133
|
};
|
|
134
|
-
// Interpolate template
|
|
135
134
|
const message = interpolateTemplate(hook.inject, templateContext);
|
|
136
|
-
// Inject into session
|
|
137
135
|
await injectMessage(client, context.sessionId, message);
|
|
138
136
|
}
|
|
139
137
|
// If toast is configured, interpolate and show toast notification
|
|
140
138
|
if (hook.toast) {
|
|
141
|
-
// Use the last command's result for template interpolation
|
|
142
139
|
const lastResult = results[results.length - 1];
|
|
143
|
-
// Build template context
|
|
144
140
|
const templateContext = {
|
|
145
141
|
id: hook.id,
|
|
146
142
|
agent: context.agent,
|
|
@@ -150,96 +146,18 @@ async function executeToolHook(hook, context, client, truncationLimit) {
|
|
|
150
146
|
stderr: lastResult?.stderr,
|
|
151
147
|
exitCode: lastResult?.exitCode,
|
|
152
148
|
};
|
|
153
|
-
// Interpolate toast title and message templates
|
|
154
|
-
const toastTitle = hook.toast.title ? interpolateTemplate(hook.toast.title, templateContext) : undefined;
|
|
155
|
-
const toastMessage = interpolateTemplate(hook.toast.message, templateContext);
|
|
156
|
-
// Show toast notification
|
|
157
|
-
await showToast(client, toastTitle, toastMessage, hook.toast.variant || "info", hook.toast.duration);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
catch (error) {
|
|
161
|
-
// Log the error but don't throw - this is non-blocking
|
|
162
|
-
const errorMessage = formatErrorMessage(hook.id, error);
|
|
163
|
-
logger.error(errorMessage);
|
|
164
|
-
// Optionally inject error message into session
|
|
165
|
-
try {
|
|
166
|
-
await injectMessage(client, context.sessionId, errorMessage);
|
|
167
|
-
}
|
|
168
|
-
catch (injectionError) {
|
|
169
|
-
// If error injection fails, just log it
|
|
170
|
-
const injectionErrorMsg = injectionError instanceof Error
|
|
171
|
-
? injectionError.message
|
|
172
|
-
: String(injectionError);
|
|
173
|
-
logger.error(`Failed to inject error message for hook "${hook.id}": ${injectionErrorMsg}`);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Execute a single session hook
|
|
179
|
-
*
|
|
180
|
-
* Runs the hook's commands, interpolates the template if configured,
|
|
181
|
-
* and injects the result into the session if configured.
|
|
182
|
-
*
|
|
183
|
-
* @param hook - The session hook to execute
|
|
184
|
-
* @param context - Execution context (session ID, agent, etc.)
|
|
185
|
-
* @param client - OpenCode SDK client for message injection
|
|
186
|
-
* @param truncationLimit - Optional truncation limit for command output
|
|
187
|
-
* @returns Promise that resolves when hook execution is complete
|
|
188
|
-
*/
|
|
189
|
-
async function executeSessionHook(hook, context, client, truncationLimit) {
|
|
190
|
-
logger.debug(`Executing session hook "${hook.id}", truncationLimit: ${truncationLimit}`);
|
|
191
|
-
try {
|
|
192
|
-
// Execute the hook's commands
|
|
193
|
-
const results = await executeCommands(hook.run, hook.id, truncationLimit !== undefined ? { truncateOutput: truncationLimit } : undefined);
|
|
194
|
-
logger.debug(`Hook "${hook.id}" executed ${results.length} command(s)`);
|
|
195
|
-
// If inject is configured, prepare and inject the message
|
|
196
|
-
if (hook.inject) {
|
|
197
|
-
// Use the last command's result for template interpolation
|
|
198
|
-
const lastResult = results[results.length - 1];
|
|
199
|
-
// Build template context
|
|
200
|
-
const templateContext = {
|
|
201
|
-
id: hook.id,
|
|
202
|
-
agent: context.agent,
|
|
203
|
-
cmd: Array.isArray(hook.run) ? hook.run[0] : hook.run,
|
|
204
|
-
stdout: lastResult?.stdout,
|
|
205
|
-
stderr: lastResult?.stderr,
|
|
206
|
-
exitCode: lastResult?.exitCode,
|
|
207
|
-
};
|
|
208
|
-
// Interpolate template
|
|
209
|
-
const message = interpolateTemplate(hook.inject, templateContext);
|
|
210
|
-
// Inject into session
|
|
211
|
-
await injectMessage(client, context.sessionId, message);
|
|
212
|
-
}
|
|
213
|
-
// If toast is configured, interpolate and show toast notification
|
|
214
|
-
if (hook.toast) {
|
|
215
|
-
// Use the last command's result for template interpolation
|
|
216
|
-
const lastResult = results[results.length - 1];
|
|
217
|
-
// Build template context
|
|
218
|
-
const templateContext = {
|
|
219
|
-
id: hook.id,
|
|
220
|
-
agent: context.agent,
|
|
221
|
-
cmd: Array.isArray(hook.run) ? hook.run[0] : hook.run,
|
|
222
|
-
stdout: lastResult?.stdout,
|
|
223
|
-
stderr: lastResult?.stderr,
|
|
224
|
-
exitCode: lastResult?.exitCode,
|
|
225
|
-
};
|
|
226
|
-
// Interpolate toast title and message templates
|
|
227
149
|
const toastTitle = hook.toast.title ? interpolateTemplate(hook.toast.title, templateContext) : undefined;
|
|
228
150
|
const toastMessage = interpolateTemplate(hook.toast.message, templateContext);
|
|
229
|
-
// Show toast notification
|
|
230
151
|
await showToast(client, toastTitle, toastMessage, hook.toast.variant || "info", hook.toast.duration);
|
|
231
152
|
}
|
|
232
153
|
}
|
|
233
154
|
catch (error) {
|
|
234
|
-
// Log the error but don't throw - this is non-blocking
|
|
235
155
|
const errorMessage = formatErrorMessage(hook.id, error);
|
|
236
156
|
logger.error(errorMessage);
|
|
237
|
-
// Optionally inject error message into session
|
|
238
157
|
try {
|
|
239
158
|
await injectMessage(client, context.sessionId, errorMessage);
|
|
240
159
|
}
|
|
241
160
|
catch (injectionError) {
|
|
242
|
-
// If error injection fails, just log it
|
|
243
161
|
const injectionErrorMsg = injectionError instanceof Error
|
|
244
162
|
? injectionError.message
|
|
245
163
|
: String(injectionError);
|
|
@@ -297,12 +215,7 @@ export async function executeHooks(hooks, context, client, truncationLimit) {
|
|
|
297
215
|
// Execute each hook
|
|
298
216
|
for (const hook of hooks) {
|
|
299
217
|
try {
|
|
300
|
-
|
|
301
|
-
await executeToolHook(hook, context, client, truncationLimit);
|
|
302
|
-
}
|
|
303
|
-
else {
|
|
304
|
-
await executeSessionHook(hook, context, client, truncationLimit);
|
|
305
|
-
}
|
|
218
|
+
await executeHook(hook, context, client, truncationLimit);
|
|
306
219
|
}
|
|
307
220
|
catch (error) {
|
|
308
221
|
// Catch errors from individual hook execution and continue
|
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.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;AA2OjD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,EAAE,MA6LhC,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -30,33 +30,21 @@ async function notifyConfigError(configError, sessionId, client) {
|
|
|
30
30
|
logger.error(`Failed to notify config error: ${notifyMessage}`);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
const TOOL_ARGS_TTL_MS = 5 * 60 * 1000;
|
|
34
33
|
const toolCallArgsCache = new Map();
|
|
35
34
|
const notifiedConfigErrors = new Set();
|
|
36
35
|
function storeToolArgs(callId, args) {
|
|
37
36
|
if (!callId || !args)
|
|
38
37
|
return;
|
|
39
|
-
|
|
40
|
-
if (existing?.cleanup) {
|
|
41
|
-
clearTimeout(existing.cleanup);
|
|
42
|
-
}
|
|
43
|
-
const cleanup = setTimeout(() => {
|
|
44
|
-
toolCallArgsCache.delete(callId);
|
|
45
|
-
}, TOOL_ARGS_TTL_MS);
|
|
46
|
-
toolCallArgsCache.set(callId, { args, cleanup });
|
|
38
|
+
toolCallArgsCache.set(callId, args);
|
|
47
39
|
}
|
|
48
40
|
function getToolArgs(callId) {
|
|
49
41
|
if (!callId)
|
|
50
42
|
return undefined;
|
|
51
|
-
return toolCallArgsCache.get(callId)
|
|
43
|
+
return toolCallArgsCache.get(callId);
|
|
52
44
|
}
|
|
53
45
|
function deleteToolArgs(callId) {
|
|
54
46
|
if (!callId)
|
|
55
47
|
return;
|
|
56
|
-
const entry = toolCallArgsCache.get(callId);
|
|
57
|
-
if (entry?.cleanup) {
|
|
58
|
-
clearTimeout(entry.cleanup);
|
|
59
|
-
}
|
|
60
48
|
toolCallArgsCache.delete(callId);
|
|
61
49
|
}
|
|
62
50
|
/**
|
|
@@ -118,6 +106,80 @@ function filterToolHooks(hooks, criteria) {
|
|
|
118
106
|
return true;
|
|
119
107
|
});
|
|
120
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Handle a session lifecycle event (session.created or session.idle)
|
|
111
|
+
*/
|
|
112
|
+
async function handleSessionEvent(eventType, sessionId, agent, client) {
|
|
113
|
+
if (!sessionId) {
|
|
114
|
+
logger.debug(`${eventType} event missing session ID`);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
const { config: globalConfig, error: globalConfigError } = await loadGlobalConfig();
|
|
119
|
+
await notifyConfigError(globalConfigError, sessionId, client);
|
|
120
|
+
const markdownConfig = { tool: [], session: [] };
|
|
121
|
+
const { config: mergedConfig } = mergeConfigs(globalConfig, markdownConfig);
|
|
122
|
+
const matchedHooks = filterSessionHooks(mergedConfig.session || [], {
|
|
123
|
+
event: eventType,
|
|
124
|
+
agent,
|
|
125
|
+
});
|
|
126
|
+
logger.debug(`Matched ${matchedHooks.length} hook(s) for ${eventType}, agent=${agent}`);
|
|
127
|
+
const context = {
|
|
128
|
+
sessionId,
|
|
129
|
+
agent: agent || "unknown",
|
|
130
|
+
};
|
|
131
|
+
await executeHooks(matchedHooks, context, client, mergedConfig.truncationLimit);
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
135
|
+
logger.error(`Error handling ${eventType} event: ${errorMessage}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Handle tool execution hook (before or after)
|
|
140
|
+
*/
|
|
141
|
+
async function handleToolExecutionHook(phase, input, toolArgs, client) {
|
|
142
|
+
try {
|
|
143
|
+
const { config: globalConfig, error: globalConfigError } = await loadGlobalConfig();
|
|
144
|
+
await notifyConfigError(globalConfigError, input.sessionID, client);
|
|
145
|
+
let agentConfig = { tool: [], session: [] };
|
|
146
|
+
let subagentType;
|
|
147
|
+
if (input.tool === "task" && toolArgs) {
|
|
148
|
+
subagentType = normalizeString(toolArgs.subagent_type) || undefined;
|
|
149
|
+
if (subagentType) {
|
|
150
|
+
logger.debug(`Detected task tool call with subagent_type: ${subagentType}`);
|
|
151
|
+
agentConfig = await loadAgentConfig(subagentType);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
const { config: mergedConfig } = mergeConfigs(globalConfig, agentConfig);
|
|
155
|
+
const matchedHooks = filterToolHooks(mergedConfig.tool || [], {
|
|
156
|
+
phase,
|
|
157
|
+
toolName: input.tool,
|
|
158
|
+
callingAgent: subagentType,
|
|
159
|
+
slashCommand: undefined,
|
|
160
|
+
toolArgs,
|
|
161
|
+
});
|
|
162
|
+
logger.debug(`Matched ${matchedHooks.length} hook(s) for tool.execute.${phase}`);
|
|
163
|
+
const context = {
|
|
164
|
+
sessionId: input.sessionID,
|
|
165
|
+
agent: subagentType || "unknown",
|
|
166
|
+
tool: input.tool,
|
|
167
|
+
callId: input.callID,
|
|
168
|
+
toolArgs,
|
|
169
|
+
};
|
|
170
|
+
if (phase === "before") {
|
|
171
|
+
storeToolArgs(input.callID, toolArgs);
|
|
172
|
+
}
|
|
173
|
+
await executeHooks(matchedHooks, context, client, mergedConfig.truncationLimit);
|
|
174
|
+
if (phase === "after") {
|
|
175
|
+
deleteToolArgs(input.callID);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
180
|
+
logger.error(`Error handling tool.execute.${phase}: ${errorMessage}`);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
121
183
|
/**
|
|
122
184
|
* OpenCode Command Hooks Plugin
|
|
123
185
|
*
|
|
@@ -170,68 +232,14 @@ export const CommandHooksPlugin = async ({ client }) => {
|
|
|
170
232
|
const info = event.properties?.info;
|
|
171
233
|
const sessionId = info?.id ? normalizeString(info.id) : undefined;
|
|
172
234
|
const agent = normalizeString(event.properties?.agent);
|
|
173
|
-
|
|
174
|
-
logger.debug("session.created event missing session ID in info");
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
try {
|
|
178
|
-
// Load config
|
|
179
|
-
const { config: globalConfig, error: globalConfigError } = await loadGlobalConfig();
|
|
180
|
-
await notifyConfigError(globalConfigError, sessionId, client);
|
|
181
|
-
const markdownConfig = { tool: [], session: [] };
|
|
182
|
-
const { config: mergedConfig } = mergeConfigs(globalConfig, markdownConfig);
|
|
183
|
-
// Filter session hooks for session.created (maps to session.start)
|
|
184
|
-
const matchedHooks = filterSessionHooks(mergedConfig.session || [], {
|
|
185
|
-
event: "session.created",
|
|
186
|
-
agent,
|
|
187
|
-
});
|
|
188
|
-
logger.debug(`Matched ${matchedHooks.length} hook(s) for session.created (mapped to session.start), agent=${agent}, sessionId=${sessionId}`);
|
|
189
|
-
// Build execution context
|
|
190
|
-
const context = {
|
|
191
|
-
sessionId,
|
|
192
|
-
agent: agent || "unknown",
|
|
193
|
-
};
|
|
194
|
-
// Execute hooks with truncationLimit from config
|
|
195
|
-
await executeHooks(matchedHooks, context, client, mergedConfig.truncationLimit);
|
|
196
|
-
}
|
|
197
|
-
catch (error) {
|
|
198
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
199
|
-
logger.error(`Error handling session.created event: ${errorMessage}`);
|
|
200
|
-
}
|
|
235
|
+
await handleSessionEvent("session.created", sessionId, agent, client);
|
|
201
236
|
}
|
|
202
237
|
// Handle session.idle event
|
|
203
238
|
if (event.type === "session.idle") {
|
|
204
239
|
logger.debug("Received session.idle event");
|
|
205
240
|
const sessionId = normalizeString(event.properties?.sessionID);
|
|
206
241
|
const agent = normalizeString(event.properties?.agent);
|
|
207
|
-
|
|
208
|
-
logger.debug("session.idle event missing sessionID");
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
try {
|
|
212
|
-
// Load config
|
|
213
|
-
const { config: globalConfig, error: globalConfigError } = await loadGlobalConfig();
|
|
214
|
-
await notifyConfigError(globalConfigError, sessionId, client);
|
|
215
|
-
const markdownConfig = { tool: [], session: [] };
|
|
216
|
-
const { config: mergedConfig } = mergeConfigs(globalConfig, markdownConfig);
|
|
217
|
-
// Filter session hooks for session.idle
|
|
218
|
-
const matchedHooks = filterSessionHooks(mergedConfig.session || [], {
|
|
219
|
-
event: "session.idle",
|
|
220
|
-
agent,
|
|
221
|
-
});
|
|
222
|
-
logger.debug(`Matched ${matchedHooks.length} hook(s) for session.idle, config truncationLimit: ${mergedConfig.truncationLimit}`);
|
|
223
|
-
// Build execution context
|
|
224
|
-
const context = {
|
|
225
|
-
sessionId,
|
|
226
|
-
agent: agent || "unknown",
|
|
227
|
-
};
|
|
228
|
-
// Execute hooks with truncationLimit from config
|
|
229
|
-
await executeHooks(matchedHooks, context, client, mergedConfig.truncationLimit);
|
|
230
|
-
}
|
|
231
|
-
catch (error) {
|
|
232
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
233
|
-
logger.error(`Error handling session.idle event: ${errorMessage}`);
|
|
234
|
-
}
|
|
242
|
+
await handleSessionEvent("session.idle", sessionId, agent, client);
|
|
235
243
|
}
|
|
236
244
|
// Handle tool.result event (fires when tool finishes)
|
|
237
245
|
if (event.type === "tool.result") {
|
|
@@ -245,14 +253,15 @@ export const CommandHooksPlugin = async ({ client }) => {
|
|
|
245
253
|
logger.debug("tool.result event missing sessionID or tool name");
|
|
246
254
|
return;
|
|
247
255
|
}
|
|
256
|
+
// For tool.result, we need to pass the stored tool args and handle agent differently
|
|
248
257
|
try {
|
|
249
|
-
// Load global config
|
|
250
258
|
const { config: globalConfig, error: globalConfigError } = await loadGlobalConfig();
|
|
251
259
|
await notifyConfigError(globalConfigError, sessionId, client);
|
|
252
260
|
// Load agent-specific config if this is a task tool with subagent_type
|
|
253
261
|
let agentConfig = { tool: [], session: [] };
|
|
262
|
+
let subagentType;
|
|
254
263
|
if (toolName === "task" && storedToolArgs) {
|
|
255
|
-
|
|
264
|
+
subagentType = normalizeString(storedToolArgs.subagent_type);
|
|
256
265
|
if (subagentType) {
|
|
257
266
|
logger.debug(`Detected task tool call with subagent_type: ${subagentType}`);
|
|
258
267
|
agentConfig = await loadAgentConfig(subagentType);
|
|
@@ -293,46 +302,7 @@ export const CommandHooksPlugin = async ({ client }) => {
|
|
|
293
302
|
"tool.execute.before": async (input, output) => {
|
|
294
303
|
logger.debug(`Received tool.execute.before for tool: ${input.tool}`);
|
|
295
304
|
logger.debug(`Tool args: ${JSON.stringify(output.args)}`);
|
|
296
|
-
|
|
297
|
-
// Load global config
|
|
298
|
-
const { config: globalConfig, error: globalConfigError } = await loadGlobalConfig();
|
|
299
|
-
await notifyConfigError(globalConfigError, input.sessionID, client);
|
|
300
|
-
// Load agent-specific config if this is a task tool with subagent_type
|
|
301
|
-
let agentConfig = { tool: [], session: [] };
|
|
302
|
-
let subagentType;
|
|
303
|
-
if (input.tool === "task") {
|
|
304
|
-
subagentType = normalizeString(output.args.subagent_type) || undefined;
|
|
305
|
-
if (subagentType) {
|
|
306
|
-
logger.debug(`Detected task tool call with subagent_type: ${subagentType}`);
|
|
307
|
-
agentConfig = await loadAgentConfig(subagentType);
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
const { config: mergedConfig } = mergeConfigs(globalConfig, agentConfig);
|
|
311
|
-
// Filter tool hooks for before phase
|
|
312
|
-
const matchedHooks = filterToolHooks(mergedConfig.tool || [], {
|
|
313
|
-
phase: "before",
|
|
314
|
-
toolName: input.tool,
|
|
315
|
-
callingAgent: subagentType,
|
|
316
|
-
slashCommand: undefined,
|
|
317
|
-
toolArgs: output.args,
|
|
318
|
-
});
|
|
319
|
-
logger.debug(`Matched ${matchedHooks.length} hook(s) for tool.execute.before`);
|
|
320
|
-
// Build execution context
|
|
321
|
-
const context = {
|
|
322
|
-
sessionId: input.sessionID,
|
|
323
|
-
agent: subagentType || "unknown",
|
|
324
|
-
tool: input.tool,
|
|
325
|
-
callId: input.callID,
|
|
326
|
-
toolArgs: output.args,
|
|
327
|
-
};
|
|
328
|
-
storeToolArgs(input.callID, output.args);
|
|
329
|
-
// Execute hooks with truncationLimit from config
|
|
330
|
-
await executeHooks(matchedHooks, context, client, mergedConfig.truncationLimit);
|
|
331
|
-
}
|
|
332
|
-
catch (error) {
|
|
333
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
334
|
-
logger.error(`Error handling tool.execute.before: ${errorMessage}`);
|
|
335
|
-
}
|
|
305
|
+
await handleToolExecutionHook("before", input, output.args, client);
|
|
336
306
|
},
|
|
337
307
|
/**
|
|
338
308
|
* Tool execution after hook
|
|
@@ -346,45 +316,7 @@ export const CommandHooksPlugin = async ({ client }) => {
|
|
|
346
316
|
return;
|
|
347
317
|
}
|
|
348
318
|
const storedToolArgs = getToolArgs(input.callID);
|
|
349
|
-
|
|
350
|
-
// Load global config
|
|
351
|
-
const { config: globalConfig, error: globalConfigError } = await loadGlobalConfig();
|
|
352
|
-
await notifyConfigError(globalConfigError, input.sessionID, client);
|
|
353
|
-
// Load agent-specific config if this is a task tool with subagent_type
|
|
354
|
-
let agentConfig = { tool: [], session: [] };
|
|
355
|
-
let subagentType;
|
|
356
|
-
if (input.tool === "task" && storedToolArgs) {
|
|
357
|
-
subagentType = normalizeString(storedToolArgs.subagent_type) || undefined;
|
|
358
|
-
if (subagentType) {
|
|
359
|
-
logger.debug(`Detected task tool call with subagent_type: ${subagentType}`);
|
|
360
|
-
agentConfig = await loadAgentConfig(subagentType);
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
const { config: mergedConfig } = mergeConfigs(globalConfig, agentConfig);
|
|
364
|
-
// Filter tool hooks for after phase
|
|
365
|
-
const matchedHooks = filterToolHooks(mergedConfig.tool || [], {
|
|
366
|
-
phase: "after",
|
|
367
|
-
toolName: input.tool,
|
|
368
|
-
callingAgent: subagentType,
|
|
369
|
-
slashCommand: undefined,
|
|
370
|
-
toolArgs: storedToolArgs,
|
|
371
|
-
});
|
|
372
|
-
logger.debug(`Matched ${matchedHooks.length} hook(s) for tool.execute.after`);
|
|
373
|
-
// Build execution context
|
|
374
|
-
const context = {
|
|
375
|
-
sessionId: input.sessionID,
|
|
376
|
-
agent: subagentType || "unknown",
|
|
377
|
-
tool: input.tool,
|
|
378
|
-
callId: input.callID,
|
|
379
|
-
toolArgs: storedToolArgs,
|
|
380
|
-
};
|
|
381
|
-
// Execute hooks with truncationLimit from config
|
|
382
|
-
await executeHooks(matchedHooks, context, client, mergedConfig.truncationLimit);
|
|
383
|
-
}
|
|
384
|
-
catch (error) {
|
|
385
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
386
|
-
logger.error(`Error handling tool.execute.after: ${errorMessage}`);
|
|
387
|
-
}
|
|
319
|
+
await handleToolExecutionHook("after", input, storedToolArgs, client);
|
|
388
320
|
},
|
|
389
321
|
};
|
|
390
322
|
logger.info(`Plugin returning hooks: ${Object.keys(hooks).join(", ")}`);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD;;GAEG;AACH,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,WAA0B,EAC1B,SAA6B,EAC7B,MAAsB;IAEtB,IAAI,CAAC,WAAW;QAAE,OAAM;IAExB,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,YAAY,IAAI,WAAW,EAAE,CAAA;IACzD,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAM;IACzC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAE7B,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YACzB,IAAI,EAAE;gBACJ,KAAK,EAAE,4BAA4B;gBACnC,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,OAAO;aACjB;SACF,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,WAAW,EAAE,CAAC;QACrB,MAAM,aAAa,GACjB,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC1E,MAAM,CAAC,KAAK,CAAC,kCAAkC,aAAa,EAAE,CAAC,CAAA;IACjE,CAAC;AACH,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AACtC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAG9B,CAAA;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAA;AAE9C,SAAS,aAAa,CAAC,MAA0B,EAAE,IAAyC;IAC1F,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;QAAE,OAAM;IAC5B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9C,IAAI,QAAQ,EAAE,OAAO,EAAE,CAAC;QACtB,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;QAC9B,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC,EAAE,gBAAgB,CAAC,CAAA;IACpB,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,WAAW,CAAC,MAA0B;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC7B,OAAO,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAA;AAC5C,CAAC;AAED,SAAS,cAAc,CAAC,MAA0B;IAChD,IAAI,CAAC,MAAM;QAAE,OAAM;IACnB,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;QACnB,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;IACD,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,OAAsC,EAAE,KAAyB;IAChF,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA,CAAC,8BAA8B;IACxD,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,IAAI,CAAA,CAAC,uBAAuB;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC1E,OAAO,KAAK,KAAK,OAAO,CAAA;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,KAAoB,EACpB,QAAsD;IAEtD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,6CAA6C;QAC7C,IAAI,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;QACrC,IAAI,eAAe,KAAK,eAAe,EAAE,CAAC;YACxC,eAAe,GAAG,iBAAiB,CAAA;QACrC,CAAC;QAED,IAAI,eAAe,KAAK,QAAQ,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QACpD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,KAAiB,EACjB,QAMC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAA;QAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,KAAK,CAAA;QACzE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,KAAK,CAAA;QAEzE,2CAA2C;QAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvB,oEAAoE;YACpE,sDAAsD;YACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACvB,MAAM,CAAC,KAAK,CACV,QAAQ,IAAI,CAAC,EAAE,sDAAsD,QAAQ,CAAC,QAAQ,EAAE,CACzF,CAAA;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;YAED,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtE,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAC1C,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,WAAiC,CAAC,EAAE,CAAC;oBAC/D,MAAM,CAAC,KAAK,CACV,QAAQ,IAAI,CAAC,EAAE,0BAA0B,GAAG,cAAc,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CACjI,CAAA;oBACD,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAW,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IAC3D,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAC1C,eAAe,CAAC,YAAY,CAAC,CAAA;IAE7B,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;QAE5D,MAAM,KAAK,GAAG;YACb;;;;;;eAMG;YACH,MAAM,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE;gBAC/B,KAAK,MAAM,CAAA;gBACX,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;gBAClC,oEAAoE;gBACpE,+DAA+D;YACjE,CAAC;YAED;;;;;;;eAOG;YACD,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAqE,EAAE,EAAE;gBAC5F,+BAA+B;gBAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACtC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;oBAE9C,sDAAsD;oBACtD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE,IAAmC,CAAA;oBAClE,MAAM,SAAS,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBACjE,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;oBAEtD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;wBAChE,OAAM;oBACR,CAAC;oBAED,IAAI,CAAC;wBACH,cAAc;wBACd,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAA;wBACnF,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,SAAS,EAAE,MAAwB,CAAC,CAAA;wBAE/E,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;wBAChD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAC3C,YAAY,EACZ,cAAc,CACf,CAAA;wBAED,mEAAmE;wBACnE,MAAM,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,EAAE;4BAClE,KAAK,EAAE,iBAAiB;4BACxB,KAAK;yBACN,CAAC,CAAA;wBAEF,MAAM,CAAC,KAAK,CACV,WAAW,YAAY,CAAC,MAAM,iEAAiE,KAAK,eAAe,SAAS,EAAE,CAC/H,CAAA;wBAED,0BAA0B;wBAC1B,MAAM,OAAO,GAAyB;4BACpC,SAAS;4BACT,KAAK,EAAE,KAAK,IAAI,SAAS;yBAC1B,CAAA;wBAED,iDAAiD;wBACjD,MAAM,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,MAAwB,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;oBACnG,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;wBACxD,MAAM,CAAC,KAAK,CACV,yCAAyC,YAAY,EAAE,CACxD,CAAA;oBACH,CAAC;gBACH,CAAC;gBAED,4BAA4B;gBAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBAClC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;oBAE3C,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;oBAC9D,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;oBAEtD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;wBACpD,OAAM;oBACR,CAAC;oBAED,IAAI,CAAC;wBACH,cAAc;wBACd,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAA;wBACnF,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,SAAS,EAAE,MAAwB,CAAC,CAAA;wBAE/E,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;wBAChD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAC3C,YAAY,EACZ,cAAc,CACf,CAAA;wBAED,wCAAwC;wBACxC,MAAM,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,EAAE;4BAClE,KAAK,EAAE,cAAc;4BACrB,KAAK;yBACN,CAAC,CAAA;wBAEF,MAAM,CAAC,KAAK,CACV,WAAW,YAAY,CAAC,MAAM,sDAAsD,YAAY,CAAC,eAAe,EAAE,CACnH,CAAA;wBAED,0BAA0B;wBAC1B,MAAM,OAAO,GAAyB;4BACpC,SAAS;4BACT,KAAK,EAAE,KAAK,IAAI,SAAS;yBAC1B,CAAA;wBAED,iDAAiD;wBACjD,MAAM,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,MAAwB,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;oBACnG,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;wBACxD,MAAM,CAAC,KAAK,CACV,sCAAsC,YAAY,EAAE,CACrD,CAAA;oBACH,CAAC;gBACH,CAAC;gBAED,sDAAsD;gBACtD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACjC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;oBAE1C,MAAM,QAAQ,GAAG,eAAe,CAC9B,KAAK,CAAC,UAAU,EAAE,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,CACjD,CAAA;oBACD,MAAM,SAAS,GAAG,eAAe,CAC/B,KAAK,CAAC,UAAU,EAAE,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,SAAS,CAC3D,CAAA;oBACD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;oBACtD,MAAM,MAAM,GAAG,eAAe,CAC5B,KAAK,CAAC,UAAU,EAAE,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,MAAM,CACrD,CAAA;oBACD,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;oBAE1C,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAC5B,MAAM,CAAC,KAAK,CACV,kDAAkD,CACnD,CAAA;wBACD,OAAM;oBACR,CAAC;oBAED,IAAI,CAAC;wBACH,qBAAqB;wBACrB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAA;wBACnF,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,SAAS,EAAE,MAAwB,CAAC,CAAA;wBAE/E,uEAAuE;wBACvE,IAAI,WAAW,GAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;wBAC/D,IAAI,QAAQ,KAAK,MAAM,IAAI,cAAc,EAAE,CAAC;4BAC1C,MAAM,YAAY,GAAG,eAAe,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;4BAClE,IAAI,YAAY,EAAE,CAAC;gCACjB,MAAM,CAAC,KAAK,CAAC,+CAA+C,YAAY,EAAE,CAAC,CAAA;gCAC3E,WAAW,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,CAAA;4BACnD,CAAC;wBACH,CAAC;wBAED,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAC3C,YAAY,EACZ,WAAW,CACZ,CAAA;wBAED,oCAAoC;wBACpC,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,EAAE;4BAC5D,KAAK,EAAE,OAAO;4BACd,QAAQ;4BACR,YAAY,EAAE,KAAK;4BACnB,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC;4BAC7D,QAAQ,EAAE,cAAc;yBACzB,CAAC,CAAA;wBAEH,MAAM,CAAC,KAAK,CACV,WAAW,YAAY,CAAC,MAAM,wCAAwC,CACvE,CAAA;wBAEC,0BAA0B;wBAC1B,MAAM,OAAO,GAAyB;4BACpC,SAAS;4BACT,KAAK,EAAE,KAAK,IAAI,SAAS;4BACzB,IAAI,EAAE,QAAQ;4BACd,MAAM;4BACN,QAAQ,EAAE,cAAc;yBACzB,CAAA;wBAED,iDAAiD;wBACjD,MAAM,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,MAAwB,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;wBAEjG,cAAc,CAAC,MAAM,CAAC,CAAA;oBACzB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;wBACxD,MAAM,CAAC,KAAK,CACV,qCAAqC,YAAY,EAAE,CACpD,CAAA;oBACH,CAAC;gBACH,CAAC;YACJ,CAAC;YAEA;;;eAGG;YACF,qBAAqB,EAAE,KAAK,EAC1B,KAA0D,EAC1D,MAAyC,EACzC,EAAE;gBACF,MAAM,CAAC,KAAK,CACV,0CAA0C,KAAK,CAAC,IAAI,EAAE,CACvD,CAAA;gBACD,MAAM,CAAC,KAAK,CACV,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC5C,CAAA;gBAEA,IAAI,CAAC;oBACJ,qBAAqB;oBACrB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAA;oBACnF,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,KAAK,CAAC,SAAS,EAAE,MAAwB,CAAC,CAAA;oBAErF,uEAAuE;oBAExE,IAAI,WAAW,GAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;oBAC/D,IAAI,YAAgC,CAAA;oBACpC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC1B,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,SAAS,CAAA;wBACtE,IAAI,YAAY,EAAE,CAAC;4BACjB,MAAM,CAAC,KAAK,CAAC,+CAA+C,YAAY,EAAE,CAAC,CAAA;4BAC3E,WAAW,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,CAAA;wBACnD,CAAC;oBACH,CAAC;oBAED,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAC3C,YAAY,EACZ,WAAW,CACZ,CAAA;oBAED,qCAAqC;oBACrC,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,EAAE;wBAC5D,KAAK,EAAE,QAAQ;wBACf,QAAQ,EAAE,KAAK,CAAC,IAAI;wBACpB,YAAY,EAAE,YAAY;wBAC1B,YAAY,EAAE,SAAS;wBACvB,QAAQ,EAAE,MAAM,CAAC,IAAI;qBACtB,CAAC,CAAA;oBAEH,MAAM,CAAC,KAAK,CACV,WAAW,YAAY,CAAC,MAAM,kCAAkC,CACjE,CAAA;oBAEA,0BAA0B;oBAC1B,MAAM,OAAO,GAAyB;wBACpC,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,KAAK,EAAE,YAAY,IAAI,SAAS;wBAChC,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,QAAQ,EAAE,MAAM,CAAC,IAAI;qBACtB,CAAA;oBAEA,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;oBAExC,iDAAiD;oBACjD,MAAM,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,MAAwB,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;gBACnG,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBACxD,MAAM,CAAC,KAAK,CACV,uCAAuC,YAAY,EAAE,CACtD,CAAA;gBACJ,CAAC;YACH,CAAC;YAED;;;eAGG;YACH,oBAAoB,EAAE,KAAK,EACzB,KAA0D,EAC1D,UAAiF,EACjF,EAAE;gBACF,MAAM,CAAC,KAAK,CACV,yCAAyC,KAAK,CAAC,IAAI,EAAE,CACtD,CAAA;gBAED,iDAAiD;gBACjD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,CAAC,KAAK,CACV,mCAAmC,KAAK,CAAC,IAAI,0BAA0B,CACxE,CAAA;oBACD,OAAM;gBACR,CAAC;gBAEA,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBAE/C,IAAI,CAAC;oBACH,qBAAqB;oBACrB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAA;oBACnF,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,KAAK,CAAC,SAAS,EAAE,MAAwB,CAAC,CAAA;oBAErF,uEAAuE;oBAEzE,IAAI,WAAW,GAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;oBAC9D,IAAI,YAAgC,CAAA;oBACpC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,cAAc,EAAE,CAAC;wBAC5C,YAAY,GAAG,eAAe,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,SAAS,CAAA;wBACzE,IAAI,YAAY,EAAE,CAAC;4BACjB,MAAM,CAAC,KAAK,CAAC,+CAA+C,YAAY,EAAE,CAAC,CAAA;4BAC3E,WAAW,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,CAAA;wBACnD,CAAC;oBACH,CAAC;oBAED,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAC3C,YAAY,EACZ,WAAW,CACZ,CAAA;oBAED,oCAAoC;oBACpC,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,EAAE;wBAC5D,KAAK,EAAE,OAAO;wBACd,QAAQ,EAAE,KAAK,CAAC,IAAI;wBACpB,YAAY,EAAE,YAAY;wBAC1B,YAAY,EAAE,SAAS;wBACvB,QAAQ,EAAE,cAAc;qBACzB,CAAC,CAAA;oBAEH,MAAM,CAAC,KAAK,CACV,WAAW,YAAY,CAAC,MAAM,iCAAiC,CAChE,CAAA;oBAEC,0BAA0B;oBAC1B,MAAM,OAAO,GAAyB;wBACpC,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,KAAK,EAAE,YAAY,IAAI,SAAS;wBAChC,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,QAAQ,EAAE,cAAc;qBACzB,CAAA;oBAED,iDAAiD;oBACjD,MAAM,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,MAAwB,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;gBACpG,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBACxD,MAAM,CAAC,KAAK,CACV,sCAAsC,YAAY,EAAE,CACrD,CAAA;gBACJ,CAAC;YACH,CAAC;SACH,CAAA;QAED,MAAM,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvE,OAAO,KAAK,CAAA;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,MAAM,CAAC,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAA;QAC1D,MAAM,aAAa,GAAG;YACpB,MAAM,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YACtB,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YACrB,qBAAqB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YACrC,oBAAoB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;SACrC,CAAA;QACD,OAAO,aAAa,CAAA;IACtB,CAAC;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logging.d.ts
CHANGED
|
@@ -10,15 +10,19 @@ export declare function createLogger(client: OpencodeClient): {
|
|
|
10
10
|
error: (message: string) => void;
|
|
11
11
|
};
|
|
12
12
|
export type Logger = ReturnType<typeof createLogger>;
|
|
13
|
+
/**
|
|
14
|
+
* Global logger instance.
|
|
15
|
+
* Set once during plugin initialization with the SDK client.
|
|
16
|
+
*/
|
|
17
|
+
declare let logger: Logger;
|
|
13
18
|
/**
|
|
14
19
|
* Set the global logger instance.
|
|
15
20
|
* Called once during plugin initialization with the SDK client.
|
|
16
21
|
*/
|
|
17
22
|
export declare function setGlobalLogger(newLogger: Logger): void;
|
|
18
23
|
/**
|
|
19
|
-
*
|
|
20
|
-
* This allows modules to import `logger` at load time, and it will
|
|
21
|
-
* correctly use the real logger once it's initialized.
|
|
24
|
+
* Check if debug logging is enabled
|
|
22
25
|
*/
|
|
23
|
-
export declare
|
|
26
|
+
export declare function isDebugEnabled(): boolean;
|
|
27
|
+
export { logger };
|
|
24
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,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc;qBAiB9B,MAAM;oBACP,MAAM;qBACL,MAAM;EAE1B;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;
|
|
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,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc;qBAiB9B,MAAM;oBACP,MAAM;qBACL,MAAM;EAE1B;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAEpD;;;GAGG;AACH,QAAA,IAAI,MAAM,EAAE,MAIX,CAAA;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
package/dist/logging.js
CHANGED
|
@@ -23,10 +23,11 @@ export function createLogger(client) {
|
|
|
23
23
|
error: (message) => log("error", message),
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Global logger instance.
|
|
28
|
+
* Set once during plugin initialization with the SDK client.
|
|
29
|
+
*/
|
|
30
|
+
let logger = {
|
|
30
31
|
debug: () => { },
|
|
31
32
|
info: () => { },
|
|
32
33
|
error: () => { },
|
|
@@ -36,22 +37,13 @@ const noopLogger = {
|
|
|
36
37
|
* Called once during plugin initialization with the SDK client.
|
|
37
38
|
*/
|
|
38
39
|
export function setGlobalLogger(newLogger) {
|
|
39
|
-
|
|
40
|
+
logger = newLogger;
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
42
|
-
*
|
|
43
|
-
* This allows modules to import `logger` at load time, and it will
|
|
44
|
-
* correctly use the real logger once it's initialized.
|
|
43
|
+
* Check if debug logging is enabled
|
|
45
44
|
*/
|
|
46
|
-
export
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
get info() {
|
|
51
|
-
return (globalLogger ?? noopLogger).info;
|
|
52
|
-
},
|
|
53
|
-
get error() {
|
|
54
|
-
return (globalLogger ?? noopLogger).error;
|
|
55
|
-
},
|
|
56
|
-
};
|
|
45
|
+
export function isDebugEnabled() {
|
|
46
|
+
return process.env.OPENCODE_HOOKS_DEBUG === "1" || process.env.OPENCODE_HOOKS_DEBUG === "true";
|
|
47
|
+
}
|
|
48
|
+
export { logger };
|
|
57
49
|
//# sourceMappingURL=logging.js.map
|