@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
@@ -37,6 +37,18 @@
37
37
  ]
38
38
  }
39
39
  ],
40
+ "BeforeAgent": [
41
+ {
42
+ "hooks": [
43
+ {
44
+ "type": "command",
45
+ "command": "codemie hook",
46
+ "name": "CodeMie User Prompt Submit",
47
+ "timeout": 2000
48
+ }
49
+ ]
50
+ }
51
+ ],
40
52
  "PreCompress": [
41
53
  {
42
54
  "hooks": [
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.plugin.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/gemini/gemini.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAoE7F;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,aA2ClC,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,kBAAkB,CAAyB;;IAYnD;;;OAGG;IACH,kBAAkB,IAAI,eAAe;IAIrC;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;OAGG;IACH,qBAAqB,IAAI,sBAAsB;CAGhD"}
1
+ {"version":3,"file":"gemini.plugin.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/gemini/gemini.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAoF7F;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,aA2ClC,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,kBAAkB,CAAyB;;IAYnD;;;OAGG;IACH,kBAAkB,IAAI,eAAe;IAIrC;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;OAGG;IACH,qBAAqB,IAAI,sBAAsB;CAGhD"}
@@ -32,6 +32,20 @@ const metadata = {
32
32
  home: '.gemini',
33
33
  settings: 'settings.json'
34
34
  },
35
+ // MCP configuration paths for Gemini CLI
36
+ // - User: ~/.gemini/settings.json → mcpServers (available across all projects)
37
+ // - Project: .gemini/settings.json → mcpServers (project-specific)
38
+ // Note: Gemini doesn't have a "local" scope like Claude
39
+ mcpConfig: {
40
+ project: {
41
+ path: '.gemini/settings.json',
42
+ jsonPath: 'mcpServers'
43
+ },
44
+ user: {
45
+ path: '~/.gemini/settings.json',
46
+ jsonPath: 'mcpServers'
47
+ }
48
+ },
35
49
  // Hook configuration: event name mapping
36
50
  hookConfig: {
37
51
  /**
@@ -46,7 +60,7 @@ const metadata = {
46
60
  * - Notification → PermissionRequest (Gemini's notification system)
47
61
  *
48
62
  * Unsupported events (silently ignored by router):
49
- * - BeforeAgent, BeforeModel, AfterModel, BeforeToolSelection, BeforeTool, AfterTool
63
+ * - BeforeModel, AfterModel, BeforeToolSelection, BeforeTool, AfterTool
50
64
  */
51
65
  eventNameMapping: {
52
66
  // Direct mappings (same name)
@@ -55,6 +69,7 @@ const metadata = {
55
69
  // Renamed mappings
56
70
  'PreCompress': 'PreCompact', // Gemini's PreCompress = Claude's PreCompact
57
71
  'AfterAgent': 'Stop', // Gemini's AfterAgent = Claude's Stop
72
+ 'BeforeAgent': 'UserPromptSubmit', // Gemini's BeforeAgent = Claude's UserPromptSubmit
58
73
  'Notification': 'PermissionRequest' // Gemini's Notification = Claude's PermissionRequest
59
74
  }
60
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.plugin.js","sourceRoot":"","sources":["../../../../src/agents/plugins/gemini/gemini.plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.plugin.js","sourceRoot":"","sources":["../../../../src/agents/plugins/gemini/gemini.plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAi1BpC;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAqH3C"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA45BpC;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAqH3C"}
@@ -70,6 +70,8 @@ async function handleSessionStart(event, _rawInput, sessionId) {
70
70
  */
71
71
  async function handleSessionEnd(event, sessionId) {
72
72
  logger.info(`[hook:SessionEnd] ${JSON.stringify(event)}`);
73
+ // 0. Final activity accumulation (handles edge case: session ends without Stop)
74
+ await accumulateActiveDuration(sessionId);
73
75
  // 1. TRANSFORMATION: Transform remaining messages → JSONL (pending)
74
76
  await performIncrementalSync(event, 'SessionEnd', sessionId);
75
77
  // 2. API SYNC: Sync pending data to API using SessionSyncer
@@ -235,11 +237,60 @@ async function buildProcessingContext(sessionId, agentSessionId, agentSessionFil
235
237
  agentSessionFile
236
238
  };
237
239
  }
240
+ /**
241
+ * Helper: Start activity tracking for a session
242
+ * Called on UserPromptSubmit to mark the start of active time
243
+ *
244
+ * @param sessionId - The CodeMie session ID
245
+ */
246
+ async function startActivityTracking(sessionId) {
247
+ try {
248
+ const { SessionStore } = await import('../../agents/core/session/SessionStore.js');
249
+ const sessionStore = new SessionStore();
250
+ await sessionStore.startActivityTracking(sessionId);
251
+ }
252
+ catch (error) {
253
+ const errorMessage = error instanceof Error ? error.message : String(error);
254
+ logger.warn(`[hook] Failed to start activity tracking: ${errorMessage}`);
255
+ // Don't throw - activity tracking failure should not block user prompts
256
+ }
257
+ }
258
+ /**
259
+ * Helper: Accumulate active duration for a session
260
+ * Called on Stop/SessionEnd to mark the end of active time
261
+ *
262
+ * @param sessionId - The CodeMie session ID
263
+ * @returns The duration accumulated in this call (0 if no active period)
264
+ */
265
+ async function accumulateActiveDuration(sessionId) {
266
+ try {
267
+ const { SessionStore } = await import('../../agents/core/session/SessionStore.js');
268
+ const sessionStore = new SessionStore();
269
+ return await sessionStore.accumulateActiveDuration(sessionId);
270
+ }
271
+ catch (error) {
272
+ const errorMessage = error instanceof Error ? error.message : String(error);
273
+ logger.warn(`[hook] Failed to accumulate active duration: ${errorMessage}`);
274
+ // Don't throw - duration tracking failure should not block session operations
275
+ return 0;
276
+ }
277
+ }
278
+ /**
279
+ * Handle UserPromptSubmit event
280
+ * Starts activity tracking to measure active session time
281
+ */
282
+ async function handleUserPromptSubmit(event, sessionId) {
283
+ logger.info(`[hook:UserPromptSubmit] ${JSON.stringify(event)}`);
284
+ await startActivityTracking(sessionId);
285
+ }
238
286
  /**
239
287
  * Handle Stop event
240
288
  * Extracts metrics and conversations from agent session file incrementally
241
289
  */
242
290
  async function handleStop(event, sessionId) {
291
+ // Accumulate active duration FIRST (marks end of active period)
292
+ await accumulateActiveDuration(sessionId);
293
+ // Then sync metrics/conversations
243
294
  await performIncrementalSync(event, 'Stop', sessionId);
244
295
  }
245
296
  /**
@@ -330,6 +381,10 @@ async function routeHookEvent(event, rawInput, sessionId, agentName) {
330
381
  logger.info(`[hook:router] Calling handleStop`);
331
382
  await handleStop(event, sessionId);
332
383
  break;
384
+ case 'UserPromptSubmit':
385
+ logger.info(`[hook:router] Calling handleUserPromptSubmit`);
386
+ await handleUserPromptSubmit(event, sessionId);
387
+ break;
333
388
  case 'SubagentStop':
334
389
  logger.info(`[hook:router] Calling handleSubagentStop`);
335
390
  await handleSubagentStop(event, sessionId);
@@ -394,6 +449,7 @@ async function createSessionRecord(event, sessionId) {
394
449
  workingDirectory,
395
450
  ...(gitBranch && { gitBranch }),
396
451
  status: 'active',
452
+ activeDurationMs: 0, // Initialize active duration tracking
397
453
  correlation: {
398
454
  status: 'matched',
399
455
  agentSessionId: event.session_id,
@@ -441,6 +497,18 @@ async function sendSessionStartMetrics(event, sessionId, agentSessionId) {
441
497
  }
442
498
  // Determine working directory
443
499
  const workingDirectory = event.cwd || process.cwd();
500
+ // Detect MCP servers using agent-specific configuration (non-blocking)
501
+ let mcpSummary;
502
+ try {
503
+ const agent = AgentRegistry.getAgent(agentName);
504
+ if (agent?.getMCPConfigSummary) {
505
+ mcpSummary = await agent.getMCPConfigSummary(workingDirectory);
506
+ logger.debug('[hook:SessionStart] MCP detection', { total: mcpSummary.totalServers });
507
+ }
508
+ }
509
+ catch (error) {
510
+ logger.debug('[hook:SessionStart] MCP detection failed, continuing without MCP data', error);
511
+ }
444
512
  // Load SSO credentials
445
513
  const { CodeMieSSO } = await import('../../providers/plugins/sso/sso.auth.js');
446
514
  const sso = new CodeMieSSO();
@@ -477,7 +545,9 @@ async function sendSessionStartMetrics(event, sessionId, agentSessionId) {
477
545
  model,
478
546
  startTime: Date.now(),
479
547
  workingDirectory
480
- }, workingDirectory, status);
548
+ }, workingDirectory, status, undefined, // error
549
+ mcpSummary // MCP configuration summary
550
+ );
481
551
  logger.info('[hook:SessionStart] Session start metrics sent successfully');
482
552
  }
483
553
  catch (error) {
@@ -634,8 +704,9 @@ async function sendSessionEndMetrics(event, sessionId, agentSessionId) {
634
704
  logger.warn(`[hook:SessionEnd] Session not found for metrics: ${sessionId}`);
635
705
  return;
636
706
  }
637
- // Calculate duration
638
- const durationMs = Date.now() - session.startTime;
707
+ // Calculate durations
708
+ const wallClockDurationMs = Date.now() - session.startTime;
709
+ const activeDurationMs = session.activeDurationMs || undefined;
639
710
  // Build status object with reason from event
640
711
  // Status is "completed" for normal session endings, with reason from Claude (e.g., "exit", "logout")
641
712
  const status = {
@@ -673,13 +744,13 @@ async function sendSessionEndMetrics(event, sessionId, agentSessionId) {
673
744
  model,
674
745
  startTime: session.startTime,
675
746
  workingDirectory: session.workingDirectory
676
- }, session.workingDirectory, status, durationMs
677
- // error parameter omitted - undefined for normal termination
678
- );
747
+ }, session.workingDirectory, status, wallClockDurationMs, undefined, // error parameter - undefined for normal termination
748
+ activeDurationMs);
679
749
  logger.info('[hook:SessionEnd] Session end metrics sent successfully', {
680
750
  status,
681
751
  reason: event.reason,
682
- durationMs
752
+ wallClockDurationMs,
753
+ activeDurationMs
683
754
  });
684
755
  }
685
756
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/cli/commands/hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/cli/commands/hook.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Configuration types for CodeMie Code
3
3
  */
4
+ import type { HooksConfiguration } from '../hooks/types.js';
4
5
  /**
5
6
  * Minimal CodeMie integration info for config storage
6
7
  */
@@ -43,6 +44,7 @@ export interface ProviderProfile {
43
44
  dryRun?: boolean;
44
45
  };
45
46
  };
47
+ hooks?: HooksConfiguration;
46
48
  }
47
49
  /**
48
50
  * Legacy single-provider configuration (version 1)
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/env/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/env/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/env/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmGH;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAW;IAC/C,OAAO,OAAO,CACZ,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,aAAa,CAC1E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAW;IACxC,OAAO,OAAO,CACZ,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAClF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/env/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwGH;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAW;IAC/C,OAAO,OAAO,CACZ,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,aAAa,CAC1E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAW;IACxC,OAAO,OAAO,CACZ,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAClF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Hook Decision Parser
3
+ *
4
+ * Parses and validates hook output (JSON decisions) and merges results
5
+ * from multiple hooks according to priority rules.
6
+ */
7
+ import type { HookResult, AggregatedHookResult } from './types.js';
8
+ export declare class DecisionParser {
9
+ /**
10
+ * Parse JSON output from hook
11
+ *
12
+ * @param stdout - Standard output from hook (should be JSON)
13
+ * @param stderr - Standard error from hook (for logging)
14
+ * @param exitCode - Exit code from hook process
15
+ * @returns Parsed hook result or default allow decision
16
+ */
17
+ static parse(stdout: string, stderr: string, exitCode: number): HookResult;
18
+ /**
19
+ * Validate hook result structure
20
+ *
21
+ * @param result - Parsed hook result
22
+ * @returns Validated result (with defaults filled in)
23
+ */
24
+ static validateResult(result: HookResult): HookResult;
25
+ /**
26
+ * Merge results from multiple hooks according to priority rules
27
+ *
28
+ * Priority order (highest to lowest):
29
+ * 1. block - Prevents execution completely
30
+ * 2. deny - Denies current operation
31
+ * 3. approve - Explicitly approves
32
+ * 4. allow - Default, allows execution
33
+ *
34
+ * @param results - Array of hook results (from Promise.allSettled)
35
+ * @returns Aggregated result with highest-priority decision
36
+ */
37
+ static merge(results: PromiseSettledResult<HookResult>[]): AggregatedHookResult;
38
+ /**
39
+ * Check if a result is blocking (prevents execution)
40
+ *
41
+ * @param result - Hook result to check
42
+ * @returns true if result blocks execution
43
+ */
44
+ static isBlocking(result: HookResult): boolean;
45
+ /**
46
+ * Check if an aggregated result is blocking
47
+ *
48
+ * @param result - Aggregated hook result
49
+ * @returns true if any hook blocked execution
50
+ */
51
+ static isAggregatedBlocking(result: AggregatedHookResult): boolean;
52
+ }
53
+ //# sourceMappingURL=decision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision.d.ts","sourceRoot":"","sources":["../../src/hooks/decision.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEnE,qBAAa,cAAc;IAC1B;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU;IA+C1E;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU;IAwCrD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,CACX,OAAO,EAAE,oBAAoB,CAAC,UAAU,CAAC,EAAE,GACzC,oBAAoB;IAqFvB;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAI9C;;;;;OAKG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO;CAGlE"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Hook Decision Parser
3
+ *
4
+ * Parses and validates hook output (JSON decisions) and merges results
5
+ * from multiple hooks according to priority rules.
6
+ */
7
+ import { logger } from '../utils/logger.js';
8
+ export class DecisionParser {
9
+ /**
10
+ * Parse JSON output from hook
11
+ *
12
+ * @param stdout - Standard output from hook (should be JSON)
13
+ * @param stderr - Standard error from hook (for logging)
14
+ * @param exitCode - Exit code from hook process
15
+ * @returns Parsed hook result or default allow decision
16
+ */
17
+ static parse(stdout, stderr, exitCode) {
18
+ // Handle exit code 2 (blocking error - requires agent retry)
19
+ if (exitCode === 2) {
20
+ // Extract feedback from both stderr and stdout for agent to process
21
+ const feedback = [stderr, stdout.trim()].filter(Boolean).join('\n\n');
22
+ return {
23
+ decision: 'block',
24
+ reason: stderr || 'Hook returned blocking error (exit code 2)',
25
+ additionalContext: feedback || undefined,
26
+ };
27
+ }
28
+ // Handle non-zero exit codes (non-blocking errors - informational)
29
+ if (exitCode !== 0) {
30
+ logger.warn(`Hook failed with exit code ${exitCode}: ${stderr}`);
31
+ // Include output as informational feedback for agent
32
+ const feedback = [stderr, stdout.trim()].filter(Boolean).join('\n\n');
33
+ return {
34
+ decision: 'allow',
35
+ reason: `Hook failed but execution continues (exit code ${exitCode})`,
36
+ additionalContext: feedback || undefined,
37
+ };
38
+ }
39
+ // Try to parse JSON output
40
+ const trimmedOutput = stdout.trim();
41
+ if (!trimmedOutput) {
42
+ // Empty output means allow
43
+ return { decision: 'allow' };
44
+ }
45
+ try {
46
+ const result = JSON.parse(trimmedOutput);
47
+ return this.validateResult(result);
48
+ }
49
+ catch {
50
+ // Not valid JSON - treat as informational output
51
+ logger.debug(`Hook returned non-JSON output, treating as informational`);
52
+ return {
53
+ decision: 'allow',
54
+ additionalContext: trimmedOutput,
55
+ };
56
+ }
57
+ }
58
+ /**
59
+ * Validate hook result structure
60
+ *
61
+ * @param result - Parsed hook result
62
+ * @returns Validated result (with defaults filled in)
63
+ */
64
+ static validateResult(result) {
65
+ // Validate decision field
66
+ if (result.decision) {
67
+ const validDecisions = ['allow', 'deny', 'block', 'approve'];
68
+ if (!validDecisions.includes(result.decision)) {
69
+ logger.warn(`Invalid decision value "${result.decision}", defaulting to allow`);
70
+ result.decision = 'allow';
71
+ }
72
+ }
73
+ else {
74
+ // Default to allow if no decision specified
75
+ result.decision = 'allow';
76
+ }
77
+ // Validate reason field
78
+ if (result.reason && typeof result.reason !== 'string') {
79
+ logger.warn('Invalid reason field (not a string), removing');
80
+ delete result.reason;
81
+ }
82
+ // Validate suppressOutput field
83
+ if (result.suppressOutput !== undefined && typeof result.suppressOutput !== 'boolean') {
84
+ logger.warn('Invalid suppressOutput field (not a boolean), removing');
85
+ delete result.suppressOutput;
86
+ }
87
+ // Validate updatedInput field
88
+ if (result.updatedInput !== undefined && typeof result.updatedInput !== 'object') {
89
+ logger.warn('Invalid updatedInput field (not an object), removing');
90
+ delete result.updatedInput;
91
+ }
92
+ // Validate additionalContext field
93
+ if (result.additionalContext !== undefined && typeof result.additionalContext !== 'string') {
94
+ logger.warn('Invalid additionalContext field (not a string), removing');
95
+ delete result.additionalContext;
96
+ }
97
+ return result;
98
+ }
99
+ /**
100
+ * Merge results from multiple hooks according to priority rules
101
+ *
102
+ * Priority order (highest to lowest):
103
+ * 1. block - Prevents execution completely
104
+ * 2. deny - Denies current operation
105
+ * 3. approve - Explicitly approves
106
+ * 4. allow - Default, allows execution
107
+ *
108
+ * @param results - Array of hook results (from Promise.allSettled)
109
+ * @returns Aggregated result with highest-priority decision
110
+ */
111
+ static merge(results) {
112
+ const aggregated = {
113
+ decision: 'allow',
114
+ hooksExecuted: results.length,
115
+ hooksSucceeded: 0,
116
+ hooksFailed: 0,
117
+ errors: [],
118
+ };
119
+ // Collect all successful results and errors
120
+ const successfulResults = [];
121
+ for (const result of results) {
122
+ if (result.status === 'fulfilled') {
123
+ successfulResults.push(result.value);
124
+ aggregated.hooksSucceeded++;
125
+ }
126
+ else {
127
+ aggregated.hooksFailed++;
128
+ aggregated.errors?.push({
129
+ hook: 'unknown',
130
+ error: result.reason?.message || String(result.reason),
131
+ });
132
+ logger.error(`Hook execution failed: ${result.reason}`);
133
+ }
134
+ }
135
+ // If all hooks failed, return allow (fail open)
136
+ if (successfulResults.length === 0) {
137
+ return aggregated;
138
+ }
139
+ // Apply priority rules to determine final decision
140
+ // Priority: block > deny > approve > allow
141
+ const priorities = {
142
+ block: 4,
143
+ deny: 3,
144
+ approve: 2,
145
+ allow: 1,
146
+ };
147
+ let highestPriority = 0;
148
+ let finalResult = { decision: 'allow' };
149
+ for (const result of successfulResults) {
150
+ const priority = priorities[result.decision || 'allow'];
151
+ if (priority > highestPriority) {
152
+ highestPriority = priority;
153
+ finalResult = result;
154
+ }
155
+ }
156
+ // Merge final result into aggregated
157
+ Object.assign(aggregated, finalResult);
158
+ // Collect all additional context from successful hooks
159
+ const contexts = successfulResults
160
+ .map((r) => r.additionalContext)
161
+ .filter((c) => !!c);
162
+ if (contexts.length > 0) {
163
+ aggregated.additionalContext = contexts.join('\n\n');
164
+ }
165
+ // Merge updatedInput from all hooks (later hooks override earlier)
166
+ const updatedInputs = successfulResults
167
+ .map((r) => r.updatedInput)
168
+ .filter((u) => !!u);
169
+ if (updatedInputs.length > 0) {
170
+ aggregated.updatedInput = Object.assign({}, ...updatedInputs);
171
+ }
172
+ // Collect reasons from blocking/denying hooks
173
+ const blockingReasons = successfulResults
174
+ .filter((r) => r.decision === 'block' || r.decision === 'deny')
175
+ .map((r) => r.reason)
176
+ .filter((r) => !!r);
177
+ if (blockingReasons.length > 0 && !aggregated.reason) {
178
+ aggregated.reason = blockingReasons.join('; ');
179
+ }
180
+ return aggregated;
181
+ }
182
+ /**
183
+ * Check if a result is blocking (prevents execution)
184
+ *
185
+ * @param result - Hook result to check
186
+ * @returns true if result blocks execution
187
+ */
188
+ static isBlocking(result) {
189
+ return result.decision === 'block' || result.decision === 'deny';
190
+ }
191
+ /**
192
+ * Check if an aggregated result is blocking
193
+ *
194
+ * @param result - Aggregated hook result
195
+ * @returns true if any hook blocked execution
196
+ */
197
+ static isAggregatedBlocking(result) {
198
+ return this.isBlocking(result);
199
+ }
200
+ }
201
+ //# sourceMappingURL=decision.js.map