@codemieai/code 0.0.31 → 0.0.33

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 (86) 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/codemie-code/ui/todoPanel.d.ts.map +1 -1
  12. package/dist/agents/codemie-code/ui/todoPanel.js +4 -0
  13. package/dist/agents/codemie-code/ui/todoPanel.js.map +1 -1
  14. package/dist/agents/core/BaseAgentAdapter.d.ts +9 -1
  15. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  16. package/dist/agents/core/BaseAgentAdapter.js +24 -2
  17. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  18. package/dist/agents/core/session/SessionStore.d.ts +15 -0
  19. package/dist/agents/core/session/SessionStore.d.ts.map +1 -1
  20. package/dist/agents/core/session/SessionStore.js +46 -0
  21. package/dist/agents/core/session/SessionStore.js.map +1 -1
  22. package/dist/agents/core/session/types.d.ts +2 -0
  23. package/dist/agents/core/session/types.d.ts.map +1 -1
  24. package/dist/agents/core/types.d.ts +74 -0
  25. package/dist/agents/core/types.d.ts.map +1 -1
  26. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
  27. package/dist/agents/plugins/claude/claude.plugin.js +18 -0
  28. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  29. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
  30. package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/code-review-agent-template.md.template +466 -0
  31. package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/solution-architect-agent.md.template +487 -0
  32. package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/unit-tester-agent.md.template +805 -0
  33. package/dist/agents/plugins/claude/plugin/commands/codemie-commit.md +31 -0
  34. package/dist/agents/plugins/claude/plugin/commands/codemie-init.md +1 -1
  35. package/dist/agents/plugins/claude/plugin/commands/codemie-pr.md +25 -0
  36. package/dist/agents/plugins/claude/plugin/commands/codemie-subagents.md +616 -0
  37. package/dist/agents/plugins/claude/plugin/hooks/hooks.json +11 -0
  38. package/dist/agents/plugins/gemini/extension/gemini-extension.json +1 -1
  39. package/dist/agents/plugins/gemini/extension/hooks/hooks.json +12 -0
  40. package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -1
  41. package/dist/agents/plugins/gemini/gemini.plugin.js +16 -1
  42. package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
  43. package/dist/cli/commands/hook.d.ts.map +1 -1
  44. package/dist/cli/commands/hook.js +78 -7
  45. package/dist/cli/commands/hook.js.map +1 -1
  46. package/dist/env/types.d.ts +2 -0
  47. package/dist/env/types.d.ts.map +1 -1
  48. package/dist/env/types.js.map +1 -1
  49. package/dist/hooks/decision.d.ts +53 -0
  50. package/dist/hooks/decision.d.ts.map +1 -0
  51. package/dist/hooks/decision.js +201 -0
  52. package/dist/hooks/decision.js.map +1 -0
  53. package/dist/hooks/executor.d.ts +154 -0
  54. package/dist/hooks/executor.d.ts.map +1 -0
  55. package/dist/hooks/executor.js +415 -0
  56. package/dist/hooks/executor.js.map +1 -0
  57. package/dist/hooks/matcher.d.ts +41 -0
  58. package/dist/hooks/matcher.d.ts.map +1 -0
  59. package/dist/hooks/matcher.js +93 -0
  60. package/dist/hooks/matcher.js.map +1 -0
  61. package/dist/hooks/prompt-executor.d.ts +57 -0
  62. package/dist/hooks/prompt-executor.d.ts.map +1 -0
  63. package/dist/hooks/prompt-executor.js +141 -0
  64. package/dist/hooks/prompt-executor.js.map +1 -0
  65. package/dist/hooks/types.d.ts +153 -0
  66. package/dist/hooks/types.d.ts.map +1 -0
  67. package/dist/hooks/types.js +9 -0
  68. package/dist/hooks/types.js.map +1 -0
  69. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts +6 -3
  70. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts.map +1 -1
  71. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js +20 -4
  72. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -1
  73. package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts +8 -0
  74. package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts.map +1 -1
  75. package/dist/utils/config.d.ts +5 -0
  76. package/dist/utils/config.d.ts.map +1 -1
  77. package/dist/utils/config.js +73 -0
  78. package/dist/utils/config.js.map +1 -1
  79. package/dist/utils/exec.d.ts.map +1 -1
  80. package/dist/utils/exec.js +11 -1
  81. package/dist/utils/exec.js.map +1 -1
  82. package/dist/utils/mcp-config.d.ts +25 -0
  83. package/dist/utils/mcp-config.d.ts.map +1 -0
  84. package/dist/utils/mcp-config.js +197 -0
  85. package/dist/utils/mcp-config.js.map +1 -0
  86. package/package.json +1 -1
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Hook Matcher
3
+ *
4
+ * Provides pattern matching logic for determining which hooks should execute
5
+ * for a given tool name. Supports literal matches, wildcards, and regex patterns.
6
+ */
7
+ import { logger } from '../utils/logger.js';
8
+ export class HookMatcher {
9
+ /**
10
+ * Check if a pattern matches a tool name
11
+ *
12
+ * @param pattern - Pattern to match (regex, wildcard *, or literal string)
13
+ * @param toolName - Tool name to test against pattern
14
+ * @returns true if pattern matches tool name
15
+ *
16
+ * @example
17
+ * HookMatcher.matches('*', 'Bash') // true (wildcard)
18
+ * HookMatcher.matches('Bash|Write', 'Bash') // true (regex)
19
+ * HookMatcher.matches('Bash', 'Bash') // true (literal)
20
+ * HookMatcher.matches('Bash', 'Read') // false
21
+ */
22
+ static matches(pattern, toolName) {
23
+ try {
24
+ // Handle wildcard - matches everything
25
+ if (pattern === '*') {
26
+ return true;
27
+ }
28
+ // Handle regex patterns (contains special regex characters)
29
+ // Common regex chars: | (alternation), [] (character class), {} (quantifier), () (group)
30
+ if (/[|[\]{}()]/.test(pattern)) {
31
+ try {
32
+ // Wrap pattern with anchors to match full tool name
33
+ const regex = new RegExp(`^(${pattern})$`);
34
+ return regex.test(toolName);
35
+ }
36
+ catch (error) {
37
+ // Invalid regex, treat as literal string
38
+ logger.warn(`Invalid regex pattern "${pattern}", treating as literal: ${error}`);
39
+ return pattern === toolName;
40
+ }
41
+ }
42
+ // Literal string match
43
+ return pattern === toolName;
44
+ }
45
+ catch (error) {
46
+ logger.error(`Error matching pattern "${pattern}" against "${toolName}": ${error}`);
47
+ return false;
48
+ }
49
+ }
50
+ /**
51
+ * Find all patterns that match a tool name
52
+ *
53
+ * @param patterns - Array of patterns to test
54
+ * @param toolName - Tool name to match against
55
+ * @returns Array of matching patterns
56
+ */
57
+ static findMatches(patterns, toolName) {
58
+ return patterns.filter((pattern) => this.matches(pattern, toolName));
59
+ }
60
+ /**
61
+ * Validate a pattern for common mistakes
62
+ *
63
+ * @param pattern - Pattern to validate
64
+ * @returns Validation result with any warnings
65
+ */
66
+ static validate(pattern) {
67
+ const warnings = [];
68
+ // Check for empty pattern
69
+ if (!pattern || pattern.trim() === '') {
70
+ return { valid: false, warnings: ['Pattern cannot be empty'] };
71
+ }
72
+ // Check for potential regex mistakes
73
+ if (/[|[\]{}()]/.test(pattern)) {
74
+ try {
75
+ new RegExp(`^(${pattern})$`);
76
+ }
77
+ catch (error) {
78
+ warnings.push(`Pattern appears to be regex but is invalid: ${error}`);
79
+ return { valid: false, warnings };
80
+ }
81
+ // Warn about unescaped dots (likely mistake)
82
+ if (/(?<!\\)\./.test(pattern)) {
83
+ warnings.push('Pattern contains unescaped dots (.) which match any character in regex');
84
+ }
85
+ }
86
+ // Warn about trailing/leading spaces
87
+ if (pattern !== pattern.trim()) {
88
+ warnings.push('Pattern contains leading/trailing spaces');
89
+ }
90
+ return { valid: true, warnings };
91
+ }
92
+ }
93
+ //# sourceMappingURL=matcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/hooks/matcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,OAAO,WAAW;IACvB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,QAAgB;QAC/C,IAAI,CAAC;YACJ,uCAAuC;YACvC,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACb,CAAC;YAED,4DAA4D;YAC5D,yFAAyF;YACzF,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACJ,oDAAoD;oBACpD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;oBAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,yCAAyC;oBACzC,MAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,2BAA2B,KAAK,EAAE,CAAC,CAAC;oBACjF,OAAO,OAAO,KAAK,QAAQ,CAAC;gBAC7B,CAAC;YACF,CAAC;YAED,uBAAuB;YACvB,OAAO,OAAO,KAAK,QAAQ,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,cAAc,QAAQ,MAAM,KAAK,EAAE,CAAC,CAAC;YACpF,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,QAAkB,EAAE,QAAgB;QACtD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAe;QAC9B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,0BAA0B;QAC1B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAChE,CAAC;QAED,qCAAqC;QACrC,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACJ,IAAI,MAAM,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,+CAA+C,KAAK,EAAE,CAAC,CAAC;gBACtE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACnC,CAAC;YAED,6CAA6C;YAC7C,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;YACzF,CAAC;QACF,CAAC;QAED,qCAAqC;QACrC,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAClC,CAAC;CACD"}
@@ -0,0 +1,57 @@
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 type { HookInput, HookResult } from './types.js';
9
+ /**
10
+ * Configuration for prompt hook executor
11
+ */
12
+ export interface PromptHookConfig {
13
+ /** LLM API key */
14
+ apiKey: string;
15
+ /** LLM base URL */
16
+ baseUrl?: string;
17
+ /** Model name (default: gpt-3.5-turbo for speed) */
18
+ model?: string;
19
+ /** Request timeout in milliseconds */
20
+ timeout?: number;
21
+ /** Debug mode */
22
+ debug?: boolean;
23
+ }
24
+ /**
25
+ * Prompt hook executor
26
+ * Uses LLM to evaluate hooks based on prompt templates
27
+ */
28
+ export declare class PromptHookExecutor {
29
+ private llm;
30
+ private config;
31
+ constructor(config: PromptHookConfig);
32
+ /**
33
+ * Execute a prompt hook
34
+ *
35
+ * @param prompt - Prompt template (can contain $ARGUMENTS placeholder)
36
+ * @param input - Hook input data
37
+ * @returns Hook result from LLM
38
+ */
39
+ execute(prompt: string, input: HookInput): Promise<HookResult>;
40
+ /**
41
+ * Resolve prompt template by replacing placeholders
42
+ *
43
+ * @param prompt - Prompt template
44
+ * @param input - Hook input data
45
+ * @returns Resolved prompt
46
+ */
47
+ private resolvePrompt;
48
+ /**
49
+ * Parse LLM response into hook result
50
+ * Expects JSON response, but handles plain text gracefully
51
+ *
52
+ * @param content - LLM response content
53
+ * @returns Parsed hook result
54
+ */
55
+ private parseResponse;
56
+ }
57
+ //# sourceMappingURL=prompt-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-executor.d.ts","sourceRoot":"","sources":["../../src/hooks/prompt-executor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IAEf,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iBAAiB;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,gBAAgB;IAmBpC;;;;;;OAMG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAyBpE;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAsCrB;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;CAsCrB"}
@@ -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":"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"}
@@ -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
@@ -85,12 +87,13 @@ export declare class MetricsSender {
85
87
  * @param session - Session metadata (with optional model)
86
88
  * @param workingDirectory - Current working directory (for git branch detection)
87
89
  * @param status - Session end status object with status and optional reason
88
- * @param durationMs - Session duration in milliseconds
90
+ * @param durationMs - Wall-clock session duration in milliseconds
89
91
  * @param error - Optional error information (for failed sessions)
92
+ * @param activeDurationMs - Optional active duration excluding idle time
90
93
  */
91
94
  sendSessionEnd(session: Pick<Session, 'sessionId' | 'agentName' | 'provider' | 'project' | 'startTime' | 'workingDirectory'> & {
92
95
  model?: string;
93
- }, workingDirectory: string, status: SessionEndStatus, durationMs: number, error?: SessionError): Promise<MetricsSyncResponse>;
96
+ }, workingDirectory: string, status: SessionEndStatus, durationMs: number, error?: SessionError, activeDurationMs?: number): Promise<MetricsSyncResponse>;
94
97
  /**
95
98
  * Send aggregated session metric
96
99
  * Called by SSO metrics sync plugin for periodic sync
@@ -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;;;;;;;;;;OAUG;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,EACpB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,mBAAmB,CAAC;IAuF/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) {
@@ -257,10 +269,11 @@ export class MetricsSender {
257
269
  * @param session - Session metadata (with optional model)
258
270
  * @param workingDirectory - Current working directory (for git branch detection)
259
271
  * @param status - Session end status object with status and optional reason
260
- * @param durationMs - Session duration in milliseconds
272
+ * @param durationMs - Wall-clock session duration in milliseconds
261
273
  * @param error - Optional error information (for failed sessions)
274
+ * @param activeDurationMs - Optional active duration excluding idle time
262
275
  */
263
- async sendSessionEnd(session, workingDirectory, status, durationMs, error) {
276
+ async sendSessionEnd(session, workingDirectory, status, durationMs, error, activeDurationMs) {
264
277
  // Detect git branch
265
278
  const branch = await detectGitBranch(workingDirectory);
266
279
  // Extract repository from working directory
@@ -291,6 +304,9 @@ export class MetricsSender {
291
304
  total_lines_removed: 0,
292
305
  // Session metadata
293
306
  session_duration_ms: durationMs,
307
+ ...(activeDurationMs !== undefined && { active_duration_ms: activeDurationMs }),
308
+ start_time: session.startTime,
309
+ end_time: Date.now(),
294
310
  had_errors: status.status === 'failed',
295
311
  count: 1,
296
312
  // Lifecycle status
@@ -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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"}