@codemieai/code 0.0.30 → 0.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/agents/codemie-code/agent.d.ts +6 -0
  2. package/dist/agents/codemie-code/agent.d.ts.map +1 -1
  3. package/dist/agents/codemie-code/agent.js +239 -3
  4. package/dist/agents/codemie-code/agent.js.map +1 -1
  5. package/dist/agents/codemie-code/config.d.ts.map +1 -1
  6. package/dist/agents/codemie-code/config.js +3 -1
  7. package/dist/agents/codemie-code/config.js.map +1 -1
  8. package/dist/agents/codemie-code/types.d.ts +13 -0
  9. package/dist/agents/codemie-code/types.d.ts.map +1 -1
  10. package/dist/agents/codemie-code/types.js.map +1 -1
  11. package/dist/agents/core/BaseAgentAdapter.d.ts +9 -1
  12. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  13. package/dist/agents/core/BaseAgentAdapter.js +11 -0
  14. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  15. package/dist/agents/core/types.d.ts +74 -0
  16. package/dist/agents/core/types.d.ts.map +1 -1
  17. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
  18. package/dist/agents/plugins/claude/claude.plugin.js +18 -0
  19. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  20. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
  21. package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/code-review-agent-template.md.template +466 -0
  22. package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/solution-architect-agent.md.template +487 -0
  23. package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/unit-tester-agent.md.template +805 -0
  24. package/dist/agents/plugins/claude/plugin/commands/codemie-commit.md +31 -0
  25. package/dist/agents/plugins/claude/plugin/commands/codemie-init.md +1 -1
  26. package/dist/agents/plugins/claude/plugin/commands/codemie-pr.md +25 -0
  27. package/dist/agents/plugins/claude/plugin/commands/codemie-subagents.md +616 -0
  28. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -1
  29. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +8 -0
  30. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -1
  31. package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -1
  32. package/dist/agents/plugins/gemini/gemini.plugin.js +14 -0
  33. package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
  34. package/dist/cli/commands/hook.d.ts.map +1 -1
  35. package/dist/cli/commands/hook.js +15 -1
  36. package/dist/cli/commands/hook.js.map +1 -1
  37. package/dist/env/types.d.ts +2 -0
  38. package/dist/env/types.d.ts.map +1 -1
  39. package/dist/env/types.js.map +1 -1
  40. package/dist/hooks/decision.d.ts +53 -0
  41. package/dist/hooks/decision.d.ts.map +1 -0
  42. package/dist/hooks/decision.js +201 -0
  43. package/dist/hooks/decision.js.map +1 -0
  44. package/dist/hooks/executor.d.ts +154 -0
  45. package/dist/hooks/executor.d.ts.map +1 -0
  46. package/dist/hooks/executor.js +415 -0
  47. package/dist/hooks/executor.js.map +1 -0
  48. package/dist/hooks/matcher.d.ts +41 -0
  49. package/dist/hooks/matcher.d.ts.map +1 -0
  50. package/dist/hooks/matcher.js +93 -0
  51. package/dist/hooks/matcher.js.map +1 -0
  52. package/dist/hooks/prompt-executor.d.ts +57 -0
  53. package/dist/hooks/prompt-executor.d.ts.map +1 -0
  54. package/dist/hooks/prompt-executor.js +141 -0
  55. package/dist/hooks/prompt-executor.js.map +1 -0
  56. package/dist/hooks/types.d.ts +153 -0
  57. package/dist/hooks/types.d.ts.map +1 -0
  58. package/dist/hooks/types.js +9 -0
  59. package/dist/hooks/types.js.map +1 -0
  60. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts +3 -1
  61. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts.map +1 -1
  62. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js +14 -2
  63. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -1
  64. package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts +8 -0
  65. package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts.map +1 -1
  66. package/dist/utils/config.d.ts +5 -0
  67. package/dist/utils/config.d.ts.map +1 -1
  68. package/dist/utils/config.js +73 -0
  69. package/dist/utils/config.js.map +1 -1
  70. package/dist/utils/mcp-config.d.ts +25 -0
  71. package/dist/utils/mcp-config.d.ts.map +1 -0
  72. package/dist/utils/mcp-config.js +197 -0
  73. package/dist/utils/mcp-config.js.map +1 -0
  74. package/package.json +1 -1
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Prompt Hook Executor
3
+ *
4
+ * Executes LLM-based hooks using prompt templates.
5
+ * Allows users to define hooks that call an LLM to make decisions
6
+ * about tool execution, user prompts, etc.
7
+ */
8
+ import { ChatOpenAI } from '@langchain/openai';
9
+ import { HumanMessage } from '@langchain/core/messages';
10
+ import { logger } from '../utils/logger.js';
11
+ /**
12
+ * Prompt hook executor
13
+ * Uses LLM to evaluate hooks based on prompt templates
14
+ */
15
+ export class PromptHookExecutor {
16
+ llm;
17
+ config;
18
+ constructor(config) {
19
+ this.config = config;
20
+ // Create LLM instance with fast model for quick hook decisions
21
+ this.llm = new ChatOpenAI({
22
+ apiKey: config.apiKey,
23
+ configuration: {
24
+ ...(config.baseUrl && { baseURL: config.baseUrl }),
25
+ },
26
+ modelName: config.model || 'gpt-3.5-turbo', // Fast model for hooks
27
+ temperature: 0, // Deterministic
28
+ timeout: config.timeout || 30000, // 30s default timeout
29
+ });
30
+ if (config.debug) {
31
+ logger.debug('Prompt hook executor initialized');
32
+ }
33
+ }
34
+ /**
35
+ * Execute a prompt hook
36
+ *
37
+ * @param prompt - Prompt template (can contain $ARGUMENTS placeholder)
38
+ * @param input - Hook input data
39
+ * @returns Hook result from LLM
40
+ */
41
+ async execute(prompt, input) {
42
+ try {
43
+ // Replace placeholders in prompt
44
+ const resolvedPrompt = this.resolvePrompt(prompt, input);
45
+ if (this.config.debug) {
46
+ logger.debug(`Executing prompt hook with template: ${prompt.substring(0, 100)}...`);
47
+ }
48
+ // Call LLM
49
+ const response = await this.llm.invoke([new HumanMessage(resolvedPrompt)]);
50
+ // Parse response
51
+ return this.parseResponse(response.content.toString());
52
+ }
53
+ catch (error) {
54
+ logger.error(`Prompt hook execution failed: ${error}`);
55
+ // Fail open (allow execution to continue)
56
+ return {
57
+ decision: 'allow',
58
+ reason: `Prompt hook failed: ${error instanceof Error ? error.message : String(error)}`,
59
+ };
60
+ }
61
+ }
62
+ /**
63
+ * Resolve prompt template by replacing placeholders
64
+ *
65
+ * @param prompt - Prompt template
66
+ * @param input - Hook input data
67
+ * @returns Resolved prompt
68
+ */
69
+ resolvePrompt(prompt, input) {
70
+ let resolved = prompt;
71
+ // Replace $ARGUMENTS with full input JSON
72
+ if (resolved.includes('$ARGUMENTS')) {
73
+ const argsJson = JSON.stringify(input, null, 2);
74
+ resolved = resolved.replace(/\$ARGUMENTS/g, argsJson);
75
+ }
76
+ // Replace $TOOL_NAME
77
+ if (resolved.includes('$TOOL_NAME')) {
78
+ resolved = resolved.replace(/\$TOOL_NAME/g, input.tool_name || '');
79
+ }
80
+ // Replace $TOOL_INPUT
81
+ if (resolved.includes('$TOOL_INPUT')) {
82
+ const toolInputJson = JSON.stringify(input.tool_input || {}, null, 2);
83
+ resolved = resolved.replace(/\$TOOL_INPUT/g, toolInputJson);
84
+ }
85
+ // Replace $PROMPT
86
+ if (resolved.includes('$PROMPT')) {
87
+ resolved = resolved.replace(/\$PROMPT/g, input.prompt || '');
88
+ }
89
+ // Replace $SESSION_ID
90
+ if (resolved.includes('$SESSION_ID')) {
91
+ resolved = resolved.replace(/\$SESSION_ID/g, input.session_id);
92
+ }
93
+ // Replace $CWD
94
+ if (resolved.includes('$CWD')) {
95
+ resolved = resolved.replace(/\$CWD/g, input.cwd);
96
+ }
97
+ return resolved;
98
+ }
99
+ /**
100
+ * Parse LLM response into hook result
101
+ * Expects JSON response, but handles plain text gracefully
102
+ *
103
+ * @param content - LLM response content
104
+ * @returns Parsed hook result
105
+ */
106
+ parseResponse(content) {
107
+ const trimmed = content.trim();
108
+ // Try to parse as JSON
109
+ try {
110
+ const parsed = JSON.parse(trimmed);
111
+ // Validate decision field
112
+ if (parsed.decision) {
113
+ const validDecisions = ['allow', 'deny', 'block', 'approve'];
114
+ if (!validDecisions.includes(parsed.decision)) {
115
+ logger.warn(`Invalid decision from prompt hook: ${parsed.decision}, defaulting to allow`);
116
+ parsed.decision = 'allow';
117
+ }
118
+ }
119
+ else {
120
+ // Default to allow if no decision
121
+ parsed.decision = 'allow';
122
+ }
123
+ return parsed;
124
+ }
125
+ catch {
126
+ // Not JSON, treat as plain text reason
127
+ logger.debug('Prompt hook returned plain text, treating as reason');
128
+ // Check for common blocking keywords in response
129
+ const lowerContent = trimmed.toLowerCase();
130
+ const isBlocking = lowerContent.includes('block') ||
131
+ lowerContent.includes('deny') ||
132
+ lowerContent.includes('reject') ||
133
+ lowerContent.includes('prevent');
134
+ return {
135
+ decision: isBlocking ? 'deny' : 'allow',
136
+ reason: trimmed,
137
+ };
138
+ }
139
+ }
140
+ }
141
+ //# sourceMappingURL=prompt-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-executor.js","sourceRoot":"","sources":["../../src/hooks/prompt-executor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAuB5C;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACtB,GAAG,CAAa;IAChB,MAAM,CAAmB;IAEjC,YAAY,MAAwB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,+DAA+D;QAC/D,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE;gBACd,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;aAClD;YACD,SAAS,EAAE,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,uBAAuB;YACnE,WAAW,EAAE,CAAC,EAAE,gBAAgB;YAChC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE,sBAAsB;SACxD,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,KAAgB;QAC7C,IAAI,CAAC;YACJ,iCAAiC;YACjC,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAEzD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACvB,MAAM,CAAC,KAAK,CAAC,wCAAwC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACrF,CAAC;YAED,WAAW;YACX,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAE3E,iBAAiB;YACjB,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;YAEvD,0CAA0C;YAC1C,OAAO;gBACN,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aACvF,CAAC;QACH,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CAAC,MAAc,EAAE,KAAgB;QACrD,IAAI,QAAQ,GAAG,MAAM,CAAC;QAEtB,0CAA0C;QAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAChD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;QAED,qBAAqB;QACrB,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,sBAAsB;QACtB,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACtE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAC7D,CAAC;QAED,kBAAkB;QAClB,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,sBAAsB;QACtB,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAChE,CAAC;QAED,eAAe;QACf,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CAAC,OAAe;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAE/B,uBAAuB;QACvB,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;YAEjD,0BAA0B;YAC1B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC7D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/C,MAAM,CAAC,IAAI,CAAC,sCAAsC,MAAM,CAAC,QAAQ,uBAAuB,CAAC,CAAC;oBAC1F,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAC3B,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,kCAAkC;gBAClC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;YAC3B,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACR,uCAAuC;YACvC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAEpE,iDAAiD;YACjD,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,UAAU,GACf,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC9B,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC7B,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC/B,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAElC,OAAO;gBACN,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;gBACvC,MAAM,EAAE,OAAO;aACf,CAAC;QACH,CAAC;IACF,CAAC;CACD"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Hook System Types
3
+ *
4
+ * Defines interfaces and types for the CodeMie hooks system.
5
+ * Hooks allow users to execute custom shell commands or LLM-based prompts
6
+ * at key lifecycle points (PreToolUse, PostToolUse, UserPromptSubmit, Stop).
7
+ */
8
+ /**
9
+ * Input data passed to hooks via stdin (JSON format)
10
+ */
11
+ export interface HookInput {
12
+ /** Unique session identifier */
13
+ session_id: string;
14
+ /** Path to session transcript file */
15
+ transcript_path: string;
16
+ /** Current working directory */
17
+ cwd: string;
18
+ /** Permission mode (e.g., 'auto', 'manual') */
19
+ permission_mode: string;
20
+ /** Hook event name (PreToolUse, PostToolUse, etc.) */
21
+ hook_event_name: string;
22
+ /** Tool name (for PreToolUse/PostToolUse) */
23
+ tool_name?: string;
24
+ /** Tool input arguments (for PreToolUse/PostToolUse) */
25
+ tool_input?: Record<string, unknown>;
26
+ /** Tool use identifier */
27
+ tool_use_id?: string;
28
+ /** Tool output/result (for PostToolUse) */
29
+ tool_output?: string;
30
+ /** Tool metadata (for PostToolUse) */
31
+ tool_metadata?: Record<string, unknown>;
32
+ /** User prompt text (for UserPromptSubmit) */
33
+ prompt?: string;
34
+ /** Agent name */
35
+ agent_name?: string;
36
+ /** Profile name */
37
+ profile_name?: string;
38
+ /** Tool execution history (for Stop hooks) */
39
+ tool_execution_history?: Array<{
40
+ toolName: string;
41
+ success: boolean;
42
+ exitCode?: number;
43
+ duration?: number;
44
+ errorMessage?: string;
45
+ }>;
46
+ /** Execution statistics (for Stop hooks) */
47
+ execution_stats?: {
48
+ totalToolCalls: number;
49
+ successfulTools: number;
50
+ failedTools: number;
51
+ };
52
+ }
53
+ /**
54
+ * Output data returned by hooks via stdout (JSON format)
55
+ */
56
+ export interface HookResult {
57
+ /** Hook decision (allow, deny, block, approve) */
58
+ decision?: 'allow' | 'deny' | 'block' | 'approve';
59
+ /** Human-readable reason for decision */
60
+ reason?: string;
61
+ /** Whether to suppress tool output from being shown to user */
62
+ suppressOutput?: boolean;
63
+ /** Modified tool input (for PreToolUse) */
64
+ updatedInput?: Record<string, unknown>;
65
+ /** Additional context to inject into conversation */
66
+ additionalContext?: string;
67
+ /** Permission decision (for PermissionRequest hooks) */
68
+ permissionDecision?: 'allow' | 'deny' | 'ask';
69
+ /** Reason for permission decision */
70
+ permissionDecisionReason?: string;
71
+ }
72
+ /**
73
+ * Hook type enumeration
74
+ */
75
+ export type HookType = 'command' | 'prompt';
76
+ /**
77
+ * Hook configuration
78
+ */
79
+ export interface HookConfig {
80
+ /** Hook type (command executes shell script, prompt calls LLM) */
81
+ type: HookType;
82
+ /** Shell command path (required for command hooks) */
83
+ command?: string;
84
+ /** LLM prompt template (required for prompt hooks) */
85
+ prompt?: string;
86
+ /** Timeout in milliseconds (default: 60000) */
87
+ timeout?: number;
88
+ }
89
+ /**
90
+ * Hook matcher configuration
91
+ * Matches tool names against patterns to determine which hooks to run
92
+ */
93
+ export interface HookMatcher {
94
+ /** Pattern to match tool names (regex, wildcard *, or literal) */
95
+ matcher?: string;
96
+ /** Hooks to execute when matcher matches */
97
+ hooks: HookConfig[];
98
+ }
99
+ /**
100
+ * Complete hooks configuration
101
+ * Maps hook event names to arrays of matchers
102
+ */
103
+ export interface HooksConfiguration {
104
+ /** Hooks executed before tool use (can block/modify) */
105
+ PreToolUse?: HookMatcher[];
106
+ /** Hooks executed after tool completes (informational) */
107
+ PostToolUse?: HookMatcher[];
108
+ /** Hooks executed before processing user prompt (can block/add context) */
109
+ UserPromptSubmit?: HookMatcher[];
110
+ /** Hooks executed when agent completes (can continue execution) */
111
+ Stop?: HookMatcher[];
112
+ /** Hooks executed when subagent stops (already implemented) */
113
+ SubagentStop?: HookMatcher[];
114
+ /** Hooks executed at session start (already implemented) */
115
+ SessionStart?: HookMatcher[];
116
+ /** Hooks executed at session end (already implemented) */
117
+ SessionEnd?: HookMatcher[];
118
+ }
119
+ /**
120
+ * Hook execution context
121
+ * Internal state passed between hook execution methods
122
+ */
123
+ export interface HookExecutionContext {
124
+ /** Session ID */
125
+ sessionId: string;
126
+ /** Working directory */
127
+ workingDir: string;
128
+ /** Transcript file path */
129
+ transcriptPath: string;
130
+ /** Permission mode */
131
+ permissionMode: string;
132
+ /** Agent name */
133
+ agentName?: string;
134
+ /** Profile name */
135
+ profileName?: string;
136
+ }
137
+ /**
138
+ * Aggregated result from multiple hooks
139
+ */
140
+ export interface AggregatedHookResult extends HookResult {
141
+ /** Number of hooks executed */
142
+ hooksExecuted: number;
143
+ /** Number of hooks that succeeded */
144
+ hooksSucceeded: number;
145
+ /** Number of hooks that failed */
146
+ hooksFailed: number;
147
+ /** Individual hook errors (non-blocking) */
148
+ errors?: Array<{
149
+ hook: string;
150
+ error: string;
151
+ }>;
152
+ }
153
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Hook System Types
3
+ *
4
+ * Defines interfaces and types for the CodeMie hooks system.
5
+ * Hooks allow users to execute custom shell commands or LLM-based prompts
6
+ * at key lifecycle points (PreToolUse, PostToolUse, UserPromptSubmit, Stop).
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -16,6 +16,7 @@
16
16
  */
17
17
  import type { SessionMetric, MetricsSyncResponse } from './metrics-types.js';
18
18
  import type { Session } from '../../../../../../agents/core/session/types.js';
19
+ import type { MCPConfigSummary } from '../../../../../../agents/core/types.js';
19
20
  /**
20
21
  * Session start status object with reason
21
22
  */
@@ -74,10 +75,11 @@ export declare class MetricsSender {
74
75
  * @param workingDirectory - Current working directory (for git branch detection)
75
76
  * @param status - Session start status object with status and optional reason
76
77
  * @param error - Optional error information (required if status=failed)
78
+ * @param mcpSummary - Optional MCP configuration summary
77
79
  */
78
80
  sendSessionStart(session: Pick<Session, 'sessionId' | 'agentName' | 'provider' | 'project' | 'startTime' | 'workingDirectory'> & {
79
81
  model?: string;
80
- }, workingDirectory: string, status?: SessionStartStatus, error?: SessionError): Promise<MetricsSyncResponse>;
82
+ }, workingDirectory: string, status?: SessionStartStatus, error?: SessionError, mcpSummary?: MCPConfigSummary): Promise<MetricsSyncResponse>;
81
83
  /**
82
84
  * Send session end metric
83
85
  * Called when agent process exits
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-api-client.d.ts","sourceRoot":"","sources":["../../../../../../../src/providers/plugins/sso/session/processors/metrics/metrics-api-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAoB,mBAAmB,EAAmB,MAAM,oBAAoB,CAAC;AAChH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gDAAgD,CAAC;AAmJ9E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,oBAAoB,+BAA+B;IACnE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,6BAA6B;IAE/D,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,oBAAoB;IAgBzC;;;;;;;;OAQG;IACG,gBAAgB,CACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,kBAAkB,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAClI,gBAAgB,EAAE,MAAM,EACxB,MAAM,GAAE,kBAA0C,EAClD,KAAK,CAAC,EAAE,YAAY,GACnB,OAAO,CAAC,mBAAmB,CAAC;IAmF/B;;;;;;;;;OASG;IACG,cAAc,CAClB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,kBAAkB,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAClI,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,YAAY,GACnB,OAAO,CAAC,mBAAmB,CAAC;IAoF/B;;;;;OAKG;IACG,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkC5E;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;CAU1B"}
1
+ {"version":3,"file":"metrics-api-client.d.ts","sourceRoot":"","sources":["../../../../../../../src/providers/plugins/sso/session/processors/metrics/metrics-api-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAoB,mBAAmB,EAAmB,MAAM,oBAAoB,CAAC;AAChH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gDAAgD,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAmJ/E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,oBAAoB,+BAA+B;IACnE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,6BAA6B;IAE/D,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,oBAAoB;IAgBzC;;;;;;;;;OASG;IACG,gBAAgB,CACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,kBAAkB,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAClI,gBAAgB,EAAE,MAAM,EACxB,MAAM,GAAE,kBAA0C,EAClD,KAAK,CAAC,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;IA+F/B;;;;;;;;;OASG;IACG,cAAc,CAClB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,kBAAkB,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAClI,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,YAAY,GACnB,OAAO,CAAC,mBAAmB,CAAC;IAoF/B;;;;;OAKG;IACG,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkC5E;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;CAU1B"}
@@ -179,8 +179,9 @@ export class MetricsSender {
179
179
  * @param workingDirectory - Current working directory (for git branch detection)
180
180
  * @param status - Session start status object with status and optional reason
181
181
  * @param error - Optional error information (required if status=failed)
182
+ * @param mcpSummary - Optional MCP configuration summary
182
183
  */
183
- async sendSessionStart(session, workingDirectory, status = { status: 'started' }, error) {
184
+ async sendSessionStart(session, workingDirectory, status = { status: 'started' }, error, mcpSummary) {
184
185
  // Detect git branch
185
186
  const branch = await detectGitBranch(workingDirectory);
186
187
  // Extract repository from working directory
@@ -215,7 +216,18 @@ export class MetricsSender {
215
216
  count: 1,
216
217
  // Lifecycle status
217
218
  status: status.status,
218
- ...(status.reason && { reason: status.reason })
219
+ ...(status.reason && { reason: status.reason }),
220
+ // MCP Configuration (only if provided)
221
+ ...(mcpSummary && {
222
+ mcp_total_servers: mcpSummary.totalServers,
223
+ mcp_local_servers: mcpSummary.localServers,
224
+ mcp_project_servers: mcpSummary.projectServers,
225
+ mcp_user_servers: mcpSummary.userServers,
226
+ mcp_server_names: mcpSummary.serverNames,
227
+ mcp_local_server_names: mcpSummary.localServerNames,
228
+ mcp_project_server_names: mcpSummary.projectServerNames,
229
+ mcp_user_server_names: mcpSummary.userServerNames
230
+ })
219
231
  };
220
232
  // Add error details if session start failed
221
233
  if (status.status === 'failed' && error) {
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-api-client.js","sourceRoot":"","sources":["../../../../../../../src/providers/plugins/sso/session/processors/metrics/metrics-api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics-api-client.js","sourceRoot":"","sources":["../../../../../../../src/providers/plugins/sso/session/processors/metrics/metrics-api-client.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,14 @@ export interface SessionAttributes {
44
44
  session_duration_ms: number;
45
45
  had_errors: boolean;
46
46
  errors?: Record<string, string[]>;
47
+ mcp_total_servers?: number;
48
+ mcp_local_servers?: number;
49
+ mcp_project_servers?: number;
50
+ mcp_user_servers?: number;
51
+ mcp_server_names?: string[];
52
+ mcp_local_server_names?: string[];
53
+ mcp_project_server_names?: string[];
54
+ mcp_user_server_names?: string[];
47
55
  count: number;
48
56
  }
49
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-types.d.ts","sourceRoot":"","sources":["../../../../../../../src/providers/plugins/sso/session/processors/metrics/metrics-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,kBAAkB,EAAE,MAAM,CAAC;IAG3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,6BAA6B,EAAE,MAAM,CAAC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IAGpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAG1B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"metrics-types.d.ts","sourceRoot":"","sources":["../../../../../../../src/providers/plugins/sso/session/processors/metrics/metrics-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,kBAAkB,EAAE,MAAM,CAAC;IAG3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,6BAA6B,EAAE,MAAM,CAAC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IAGpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAG1B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAGlC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -114,6 +114,11 @@ export declare class ConfigLoader {
114
114
  * Validate required configuration
115
115
  */
116
116
  private static validate;
117
+ /**
118
+ * Validate hooks configuration structure
119
+ * Ensures hooks follow the correct schema and don't contain invalid patterns
120
+ */
121
+ private static validateHooksConfiguration;
117
122
  /**
118
123
  * Load configuration with source tracking
119
124
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
@@ -416,6 +416,79 @@ export class ConfigLoader {
416
416
  if (!config.model) {
417
417
  throw new Error('CODEMIE_MODEL is required. Run: codemie setup');
418
418
  }
419
+ // Validate hooks configuration if present
420
+ if (config.hooks) {
421
+ this.validateHooksConfiguration(config.hooks);
422
+ }
423
+ }
424
+ /**
425
+ * Validate hooks configuration structure
426
+ * Ensures hooks follow the correct schema and don't contain invalid patterns
427
+ */
428
+ static validateHooksConfiguration(hooks) {
429
+ if (!hooks || typeof hooks !== 'object') {
430
+ throw new Error('Invalid hooks configuration: must be an object');
431
+ }
432
+ const validEventNames = [
433
+ 'PreToolUse',
434
+ 'PostToolUse',
435
+ 'UserPromptSubmit',
436
+ 'Stop',
437
+ 'SubagentStop',
438
+ 'SessionStart',
439
+ 'SessionEnd',
440
+ ];
441
+ for (const [eventName, matchers] of Object.entries(hooks)) {
442
+ // Validate event name
443
+ if (!validEventNames.includes(eventName)) {
444
+ throw new Error(`Invalid hook event: "${eventName}". Valid events: ${validEventNames.join(', ')}`);
445
+ }
446
+ // Validate matchers array
447
+ if (!Array.isArray(matchers)) {
448
+ throw new Error(`Invalid hooks configuration: ${eventName} must be an array of matchers`);
449
+ }
450
+ // Validate each matcher
451
+ for (const matcher of matchers) {
452
+ if (!matcher || typeof matcher !== 'object') {
453
+ throw new Error(`Invalid hook matcher in ${eventName}: must be an object`);
454
+ }
455
+ // Validate matcher pattern (optional for some events)
456
+ if (matcher.matcher !== undefined && typeof matcher.matcher !== 'string') {
457
+ throw new Error(`Invalid hook matcher pattern in ${eventName}: must be a string`);
458
+ }
459
+ // Validate hooks array
460
+ if (!Array.isArray(matcher.hooks)) {
461
+ throw new Error(`Invalid hook matcher in ${eventName}: hooks must be an array`);
462
+ }
463
+ // Validate each hook
464
+ for (const hook of matcher.hooks) {
465
+ if (!hook || typeof hook !== 'object') {
466
+ throw new Error(`Invalid hook in ${eventName}: must be an object`);
467
+ }
468
+ // Validate hook type
469
+ if (!hook.type) {
470
+ throw new Error(`Invalid hook in ${eventName}: missing required field "type"`);
471
+ }
472
+ if (hook.type !== 'command' && hook.type !== 'prompt') {
473
+ throw new Error(`Invalid hook type in ${eventName}: "${hook.type}". Must be "command" or "prompt"`);
474
+ }
475
+ // Validate command hooks
476
+ if (hook.type === 'command' && !hook.command) {
477
+ throw new Error(`Invalid command hook in ${eventName}: missing required field "command"`);
478
+ }
479
+ // Validate prompt hooks
480
+ if (hook.type === 'prompt' && !hook.prompt) {
481
+ throw new Error(`Invalid prompt hook in ${eventName}: missing required field "prompt"`);
482
+ }
483
+ // Validate timeout if present
484
+ if (hook.timeout !== undefined) {
485
+ if (typeof hook.timeout !== 'number' || hook.timeout <= 0) {
486
+ throw new Error(`Invalid hook timeout in ${eventName}: must be a positive number`);
487
+ }
488
+ }
489
+ }
490
+ }
491
+ }
419
492
  }
420
493
  /**
421
494
  * Load configuration with source tracking