@codemieai/code 0.0.41 → 0.0.43

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 (196) hide show
  1. package/README.md +3 -3
  2. package/dist/agents/codemie-code/agent.d.ts.map +1 -1
  3. package/dist/agents/codemie-code/agent.js +5 -0
  4. package/dist/agents/codemie-code/agent.js.map +1 -1
  5. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  6. package/dist/agents/core/AgentCLI.js +43 -16
  7. package/dist/agents/core/AgentCLI.js.map +1 -1
  8. package/dist/agents/core/BaseAgentAdapter.d.ts +1 -0
  9. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  10. package/dist/agents/core/BaseAgentAdapter.js +49 -15
  11. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  12. package/dist/agents/core/plugin-injector.d.ts +18 -0
  13. package/dist/agents/core/plugin-injector.d.ts.map +1 -0
  14. package/dist/agents/core/plugin-injector.js +50 -0
  15. package/dist/agents/core/plugin-injector.js.map +1 -0
  16. package/dist/agents/core/session/ensure-session.d.ts +10 -0
  17. package/dist/agents/core/session/ensure-session.d.ts.map +1 -0
  18. package/dist/agents/core/session/ensure-session.js +58 -0
  19. package/dist/agents/core/session/ensure-session.js.map +1 -0
  20. package/dist/agents/core/temp-config.d.ts +10 -0
  21. package/dist/agents/core/temp-config.d.ts.map +1 -0
  22. package/dist/agents/core/temp-config.js +45 -0
  23. package/dist/agents/core/temp-config.js.map +1 -0
  24. package/dist/agents/core/types.d.ts +8 -0
  25. package/dist/agents/core/types.d.ts.map +1 -1
  26. package/dist/agents/plugins/claude/claude-acp.plugin.d.ts +7 -0
  27. package/dist/agents/plugins/claude/claude-acp.plugin.d.ts.map +1 -1
  28. package/dist/agents/plugins/claude/claude-acp.plugin.js +10 -0
  29. package/dist/agents/plugins/claude/claude-acp.plugin.js.map +1 -1
  30. package/dist/agents/plugins/claude/claude.plugin-installer.d.ts +11 -0
  31. package/dist/agents/plugins/claude/claude.plugin-installer.d.ts.map +1 -1
  32. package/dist/agents/plugins/claude/claude.plugin-installer.js +32 -0
  33. package/dist/agents/plugins/claude/claude.plugin-installer.js.map +1 -1
  34. package/dist/agents/plugins/claude/claude.plugin.js +4 -4
  35. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  36. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
  37. package/dist/agents/plugins/claude/plugin/hooks/hooks.json +10 -0
  38. package/dist/agents/plugins/claude/plugin/hooks/hooks.windows.json +98 -0
  39. package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-auto-wrapper.sh +81 -0
  40. package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-baseline.sh +39 -0
  41. package/dist/agents/plugins/claude/sounds-installer.d.ts.map +1 -1
  42. package/dist/agents/plugins/claude/sounds-installer.js +0 -4
  43. package/dist/agents/plugins/claude/sounds-installer.js.map +1 -1
  44. package/dist/agents/plugins/codemie-code-hooks/index.d.ts +3 -0
  45. package/dist/agents/plugins/codemie-code-hooks/index.d.ts.map +1 -0
  46. package/dist/agents/plugins/codemie-code-hooks/index.js +3 -0
  47. package/dist/agents/plugins/codemie-code-hooks/index.js.map +1 -0
  48. package/dist/agents/plugins/codemie-code-hooks/inject-hooks.d.ts +3 -0
  49. package/dist/agents/plugins/codemie-code-hooks/inject-hooks.d.ts.map +1 -0
  50. package/dist/agents/plugins/codemie-code-hooks/inject-hooks.js +6 -0
  51. package/dist/agents/plugins/codemie-code-hooks/inject-hooks.js.map +1 -0
  52. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.d.ts +15 -0
  53. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.d.ts.map +1 -0
  54. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.js +522 -0
  55. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.js.map +1 -0
  56. package/dist/agents/plugins/codemie-code.plugin.d.ts +5 -2
  57. package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
  58. package/dist/agents/plugins/codemie-code.plugin.js +235 -148
  59. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  60. package/dist/agents/plugins/gemini/gemini.plugin.js +1 -1
  61. package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
  62. package/dist/agents/plugins/opencode/opencode-message-types.d.ts +2 -0
  63. package/dist/agents/plugins/opencode/opencode-message-types.d.ts.map +1 -1
  64. package/dist/agents/plugins/opencode/opencode-message-types.js.map +1 -1
  65. package/dist/agents/plugins/opencode/opencode-model-configs.d.ts.map +1 -1
  66. package/dist/agents/plugins/opencode/opencode-model-configs.js +89 -0
  67. package/dist/agents/plugins/opencode/opencode-model-configs.js.map +1 -1
  68. package/dist/agents/plugins/opencode/opencode.paths.d.ts +16 -1
  69. package/dist/agents/plugins/opencode/opencode.paths.d.ts.map +1 -1
  70. package/dist/agents/plugins/opencode/opencode.paths.js +43 -5
  71. package/dist/agents/plugins/opencode/opencode.paths.js.map +1 -1
  72. package/dist/agents/plugins/opencode/opencode.plugin.d.ts.map +1 -1
  73. package/dist/agents/plugins/opencode/opencode.plugin.js +35 -120
  74. package/dist/agents/plugins/opencode/opencode.plugin.js.map +1 -1
  75. package/dist/agents/plugins/opencode/opencode.session.d.ts +5 -0
  76. package/dist/agents/plugins/opencode/opencode.session.d.ts.map +1 -1
  77. package/dist/agents/plugins/opencode/opencode.session.js +99 -2
  78. package/dist/agents/plugins/opencode/opencode.session.js.map +1 -1
  79. package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts +59 -0
  80. package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts.map +1 -0
  81. package/dist/agents/plugins/opencode/opencode.sqlite-reader.js +200 -0
  82. package/dist/agents/plugins/opencode/opencode.sqlite-reader.js.map +1 -0
  83. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts +3 -0
  84. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts.map +1 -1
  85. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js +35 -13
  86. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js.map +1 -1
  87. package/dist/agents/plugins/reasoning-sanitizer/index.d.ts +3 -0
  88. package/dist/agents/plugins/reasoning-sanitizer/index.d.ts.map +1 -0
  89. package/dist/agents/plugins/reasoning-sanitizer/index.js +3 -0
  90. package/dist/agents/plugins/reasoning-sanitizer/index.js.map +1 -0
  91. package/dist/agents/plugins/reasoning-sanitizer/inject-sanitizer.d.ts +3 -0
  92. package/dist/agents/plugins/reasoning-sanitizer/inject-sanitizer.d.ts.map +1 -0
  93. package/dist/agents/plugins/reasoning-sanitizer/inject-sanitizer.js +6 -0
  94. package/dist/agents/plugins/reasoning-sanitizer/inject-sanitizer.js.map +1 -0
  95. package/dist/agents/plugins/reasoning-sanitizer/reasoning-sanitizer-source.d.ts +17 -0
  96. package/dist/agents/plugins/reasoning-sanitizer/reasoning-sanitizer-source.d.ts.map +1 -0
  97. package/dist/agents/plugins/reasoning-sanitizer/reasoning-sanitizer-source.js +40 -0
  98. package/dist/agents/plugins/reasoning-sanitizer/reasoning-sanitizer-source.js.map +1 -0
  99. package/dist/cli/commands/analytics/data-loader.js +1 -1
  100. package/dist/cli/commands/analytics/data-loader.js.map +1 -1
  101. package/dist/cli/commands/doctor/checks/JWTAuthCheck.d.ts +9 -0
  102. package/dist/cli/commands/doctor/checks/JWTAuthCheck.d.ts.map +1 -0
  103. package/dist/cli/commands/doctor/checks/JWTAuthCheck.js +113 -0
  104. package/dist/cli/commands/doctor/checks/JWTAuthCheck.js.map +1 -0
  105. package/dist/cli/commands/doctor/checks/index.d.ts +1 -0
  106. package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -1
  107. package/dist/cli/commands/doctor/checks/index.js +1 -0
  108. package/dist/cli/commands/doctor/checks/index.js.map +1 -1
  109. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  110. package/dist/cli/commands/doctor/index.js +93 -88
  111. package/dist/cli/commands/doctor/index.js.map +1 -1
  112. package/dist/cli/commands/hook.js +5 -5
  113. package/dist/cli/commands/hook.js.map +1 -1
  114. package/dist/cli/commands/test-metrics.d.ts +17 -0
  115. package/dist/cli/commands/test-metrics.d.ts.map +1 -0
  116. package/dist/cli/commands/test-metrics.js +198 -0
  117. package/dist/cli/commands/test-metrics.js.map +1 -0
  118. package/dist/cli/index.js +2 -0
  119. package/dist/cli/index.js.map +1 -1
  120. package/dist/env/types.d.ts +12 -2
  121. package/dist/env/types.d.ts.map +1 -1
  122. package/dist/env/types.js.map +1 -1
  123. package/dist/providers/core/types.d.ts +22 -1
  124. package/dist/providers/core/types.d.ts.map +1 -1
  125. package/dist/providers/core/types.js +12 -1
  126. package/dist/providers/core/types.js.map +1 -1
  127. package/dist/providers/index.d.ts +2 -0
  128. package/dist/providers/index.d.ts.map +1 -1
  129. package/dist/providers/index.js +2 -0
  130. package/dist/providers/index.js.map +1 -1
  131. package/dist/providers/integration/setup-ui.d.ts.map +1 -1
  132. package/dist/providers/integration/setup-ui.js +3 -1
  133. package/dist/providers/integration/setup-ui.js.map +1 -1
  134. package/dist/providers/plugins/bedrock/bedrock.utils.d.ts +12 -0
  135. package/dist/providers/plugins/bedrock/bedrock.utils.d.ts.map +1 -0
  136. package/dist/providers/plugins/bedrock/bedrock.utils.js +19 -0
  137. package/dist/providers/plugins/bedrock/bedrock.utils.js.map +1 -0
  138. package/dist/providers/plugins/jwt/index.d.ts +9 -0
  139. package/dist/providers/plugins/jwt/index.d.ts.map +1 -0
  140. package/dist/providers/plugins/jwt/index.js +13 -0
  141. package/dist/providers/plugins/jwt/index.js.map +1 -0
  142. package/dist/providers/plugins/jwt/jwt.setup-steps.d.ts +9 -0
  143. package/dist/providers/plugins/jwt/jwt.setup-steps.d.ts.map +1 -0
  144. package/dist/providers/plugins/jwt/jwt.setup-steps.js +153 -0
  145. package/dist/providers/plugins/jwt/jwt.setup-steps.js.map +1 -0
  146. package/dist/providers/plugins/jwt/jwt.template.d.ts +12 -0
  147. package/dist/providers/plugins/jwt/jwt.template.d.ts.map +1 -0
  148. package/dist/providers/plugins/jwt/jwt.template.js +55 -0
  149. package/dist/providers/plugins/jwt/jwt.template.js.map +1 -0
  150. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +3 -1
  151. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
  152. package/dist/providers/plugins/sso/proxy/plugins/index.js +5 -1
  153. package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
  154. package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.d.ts +16 -0
  155. package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.d.ts.map +1 -0
  156. package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.js +53 -0
  157. package/dist/providers/plugins/sso/proxy/plugins/jwt-auth.plugin.js.map +1 -0
  158. package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.d.ts +25 -0
  159. package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.d.ts.map +1 -0
  160. package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.js +74 -0
  161. package/dist/providers/plugins/sso/proxy/plugins/request-sanitizer.plugin.js.map +1 -0
  162. package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.d.ts.map +1 -1
  163. package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.js +13 -2
  164. package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.js.map +1 -1
  165. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.d.ts.map +1 -1
  166. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js +6 -3
  167. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js.map +1 -1
  168. package/dist/providers/plugins/sso/proxy/plugins/types.d.ts +2 -2
  169. package/dist/providers/plugins/sso/proxy/plugins/types.d.ts.map +1 -1
  170. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +2 -0
  171. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
  172. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts +4 -0
  173. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
  174. package/dist/providers/plugins/sso/proxy/sso.proxy.js +39 -10
  175. package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
  176. package/dist/providers/plugins/sso/sso.http-client.d.ts +38 -8
  177. package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -1
  178. package/dist/providers/plugins/sso/sso.http-client.js +83 -85
  179. package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
  180. package/dist/providers/plugins/sso/sso.models.d.ts.map +1 -1
  181. package/dist/providers/plugins/sso/sso.models.js +3 -3
  182. package/dist/providers/plugins/sso/sso.models.js.map +1 -1
  183. package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
  184. package/dist/providers/plugins/sso/sso.setup-steps.js +4 -1
  185. package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
  186. package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -1
  187. package/dist/providers/plugins/sso/sso.template.js +7 -0
  188. package/dist/providers/plugins/sso/sso.template.js.map +1 -1
  189. package/dist/utils/paths.d.ts +1 -1
  190. package/dist/utils/paths.js +1 -1
  191. package/dist/utils/security.d.ts +18 -1
  192. package/dist/utils/security.d.ts.map +1 -1
  193. package/dist/utils/security.js +102 -0
  194. package/dist/utils/security.js.map +1 -1
  195. package/package.json +1 -1
  196. package/scripts/copy-mr-skill-to-global.ts +0 -252
@@ -1 +1 @@
1
- {"version":3,"file":"claude.plugin.js","sourceRoot":"","sources":["../../../../src/agents/plugins/claude/claude.plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.plugin.js","sourceRoot":"","sources":["../../../../src/agents/plugins/claude/claude.plugin.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@
5
5
  "name": "AI/Run CodeMie",
6
6
  "email": "support@codemieai.com"
7
7
  },
8
- "version": "1.0.8"
8
+ "version": "1.0.9"
9
9
  }
@@ -12,6 +12,10 @@
12
12
  {
13
13
  "type": "command",
14
14
  "command": "~/.codemie/claude-plugin/sounds/play-random-sound.sh ~/.codemie/sounds/SessionStart"
15
+ },
16
+ {
17
+ "type": "command",
18
+ "command": "~/.codemie/claude-plugin/scripts/bash/rtk-baseline.sh"
15
19
  }
16
20
  ]
17
21
  }
@@ -93,6 +97,12 @@
93
97
  }
94
98
  ]
95
99
  }
100
+ ],
101
+ "PreToolUse": [
102
+ {
103
+ "matcher": "Bash",
104
+ "hooks": ["~/.codemie/claude-plugin/scripts/bash/rtk-auto-wrapper.sh"]
105
+ }
96
106
  ]
97
107
  }
98
108
  }
@@ -0,0 +1,98 @@
1
+ {
2
+ "description": "CodeMie session tracking hooks - unified command handler",
3
+ "hooks": {
4
+ "SessionStart": [
5
+ {
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "codemie hook",
10
+ "timeout": 5
11
+ },
12
+ {
13
+ "type": "command",
14
+ "command": "powershell -ExecutionPolicy Bypass -NonInteractive -File \"%USERPROFILE%\\.codemie\\claude-plugin\\sounds\\play-random-sound.ps1\" \"%USERPROFILE%\\.codemie\\sounds\\SessionStart\""
15
+ }
16
+ ]
17
+ }
18
+ ],
19
+ "SessionEnd": [
20
+ {
21
+ "hooks": [
22
+ {
23
+ "type": "command",
24
+ "command": "codemie hook",
25
+ "timeout": 10
26
+ }
27
+ ]
28
+ }
29
+ ],
30
+ "PermissionRequest": [
31
+ {
32
+ "hooks": [
33
+ {
34
+ "type": "command",
35
+ "command": "codemie hook",
36
+ "timeout": 2
37
+ },
38
+ {
39
+ "type": "command",
40
+ "command": "powershell -ExecutionPolicy Bypass -NonInteractive -File \"%USERPROFILE%\\.codemie\\claude-plugin\\sounds\\play-random-sound.ps1\" \"%USERPROFILE%\\.codemie\\sounds\\PermissionRequest\""
41
+ }
42
+ ]
43
+ }
44
+ ],
45
+ "SubagentStop": [
46
+ {
47
+ "hooks": [
48
+ {
49
+ "type": "command",
50
+ "command": "codemie hook",
51
+ "timeout": 3
52
+ }
53
+ ]
54
+ }
55
+ ],
56
+ "Stop": [
57
+ {
58
+ "hooks": [
59
+ {
60
+ "type": "command",
61
+ "command": "codemie hook",
62
+ "timeout": 2
63
+ },
64
+ {
65
+ "type": "command",
66
+ "command": "powershell -ExecutionPolicy Bypass -NonInteractive -File \"%USERPROFILE%\\.codemie\\claude-plugin\\sounds\\play-random-sound.ps1\" \"%USERPROFILE%\\.codemie\\sounds\\Stop\""
67
+ }
68
+ ]
69
+ }
70
+ ],
71
+ "UserPromptSubmit": [
72
+ {
73
+ "hooks": [
74
+ {
75
+ "type": "command",
76
+ "command": "codemie hook",
77
+ "timeout": 2
78
+ },
79
+ {
80
+ "type": "command",
81
+ "command": "powershell -ExecutionPolicy Bypass -NonInteractive -File \"%USERPROFILE%\\.codemie\\claude-plugin\\sounds\\play-random-sound.ps1\" \"%USERPROFILE%\\.codemie\\sounds\\UserPromptSubmit\""
82
+ }
83
+ ]
84
+ }
85
+ ],
86
+ "PreCompact": [
87
+ {
88
+ "hooks": [
89
+ {
90
+ "type": "command",
91
+ "command": "codemie hook",
92
+ "timeout": 2
93
+ }
94
+ ]
95
+ }
96
+ ]
97
+ }
98
+ }
@@ -0,0 +1,81 @@
1
+ #!/bin/bash
2
+ # RTK Auto-Wrapper Hook
3
+ # Automatically wraps high-verbosity commands with RTK for token optimization
4
+ #
5
+ # Hook: PreToolUse
6
+ # Matcher: Bash
7
+ # Purpose: Intercept bash commands and suggest RTK wrapper if applicable
8
+ #
9
+ # Installation:
10
+ # 1. Copy to .claude/hooks/bash/rtk-auto-wrapper.sh
11
+ # 2. Make executable: chmod +x .claude/hooks/bash/rtk-auto-wrapper.sh
12
+ # 3. Add to settings.json:
13
+ # {
14
+ # "hooks": {
15
+ # "PreToolUse": [{
16
+ # "matcher": "Bash",
17
+ # "hooks": [".claude/hooks/bash/rtk-auto-wrapper.sh"]
18
+ # }]
19
+ # }
20
+ # }
21
+ #
22
+ # Or use `rtk init` for automatic hook setup.
23
+
24
+ # Check if RTK is installed
25
+ if ! command -v rtk &> /dev/null; then
26
+ # RTK not installed, skip silently
27
+ exit 0
28
+ fi
29
+
30
+ # Parse tool input to get the bash command
31
+ COMMAND=$(echo "$TOOL_INPUT" | jq -r '.command // empty' 2>/dev/null)
32
+
33
+ if [ -z "$COMMAND" ]; then
34
+ # No command found, continue
35
+ exit 0
36
+ fi
37
+
38
+ # Define RTK-optimizable commands with their savings
39
+ declare -A RTK_COMMANDS=(
40
+ ["git log"]="92.3"
41
+ ["git status"]="76.0"
42
+ ["git diff"]="55.9"
43
+ ["find"]="76.3"
44
+ ["cargo test"]="90.0"
45
+ ["cargo build"]="80.0"
46
+ ["cargo clippy"]="80.0"
47
+ ["pnpm list"]="82.0"
48
+ ["pnpm outdated"]="90.0"
49
+ ["pnpm test"]="90.0"
50
+ ["python pytest"]="90.0"
51
+ ["python -m pytest"]="90.0"
52
+ ["go test"]="90.0"
53
+ )
54
+
55
+ # Check if command matches RTK-optimizable pattern
56
+ for cmd in "${!RTK_COMMANDS[@]}"; do
57
+ if [[ "$COMMAND" == "$cmd"* ]] && [[ "$COMMAND" != "rtk "* ]]; then
58
+ savings="${RTK_COMMANDS[$cmd]}"
59
+
60
+ # Suggest RTK wrapper
61
+ cat << EOF
62
+ RTK Optimization Available
63
+
64
+ Command: $COMMAND
65
+ Suggested: rtk $COMMAND
66
+ Token Savings: ~${savings}%
67
+
68
+ Using RTK wrapper automatically.
69
+ EOF
70
+
71
+ # Modify command to use RTK
72
+ # Note: This is informational only - actual command modification
73
+ # requires additionalContext return (Claude Code v2.1.9+)
74
+
75
+ # For now, just inform user
76
+ exit 0
77
+ fi
78
+ done
79
+
80
+ # Continue with original command
81
+ exit 0
@@ -0,0 +1,39 @@
1
+ #!/bin/bash
2
+ # .claude/hooks/rtk-baseline.sh
3
+ # Event: SessionStart
4
+ # Save RTK gain baseline for session-summary.sh delta tracking
5
+ #
6
+ # This hook captures RTK's cumulative stats at session start.
7
+ # At session end, session-summary.sh reads this baseline, captures current stats,
8
+ # and computes the delta to show per-session RTK savings.
9
+ #
10
+ # Configuration:
11
+ # SESSION_SUMMARY_RTK=0 - Force disable (skip baseline capture)
12
+ # SESSION_SUMMARY_RTK=1 - Force enable
13
+ # (default: auto-detect if rtk is in PATH)
14
+ #
15
+ # Place in: ~/.claude/hooks/rtk-baseline.sh
16
+ # Register in: ~/.claude/settings.json under SessionStart event
17
+
18
+ set -euo pipefail
19
+
20
+ RTK_ENABLED="${SESSION_SUMMARY_RTK:-auto}"
21
+
22
+ # Auto-detect RTK availability
23
+ if [[ "$RTK_ENABLED" == "auto" ]]; then
24
+ command -v rtk &>/dev/null && RTK_ENABLED=1 || RTK_ENABLED=0
25
+ fi
26
+
27
+ # Skip if disabled or RTK not available
28
+ if [[ "$RTK_ENABLED" != "1" ]]; then
29
+ exit 0
30
+ fi
31
+
32
+ # Build baseline file path (must match session-summary.sh)
33
+ baseline_key=$(echo "${CLAUDE_PROJECT_DIR:-$(pwd)}" | tr '/' '-')
34
+ baseline_file="/tmp/rtk-baseline${baseline_key}.txt"
35
+
36
+ # Capture current RTK cumulative stats
37
+ rtk gain > "$baseline_file" 2>/dev/null || true
38
+
39
+ exit 0
@@ -1 +1 @@
1
- {"version":3,"file":"sounds-installer.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/claude/sounds-installer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2GH;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqD5D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAI3C"}
1
+ {"version":3,"file":"sounds-installer.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/claude/sounds-installer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuGH;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqD5D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAI3C"}
@@ -95,10 +95,6 @@ function displayPostInstallInstructions() {
95
95
  console.log(chalk.dim(' Script would appear after codemie-claude first run'));
96
96
  console.log(chalk.white('💡 If script did not appear, remove ~/.codemie/claude-plugin directory and restart codemie-claude'));
97
97
  console.log();
98
- console.log(chalk.bold.yellow('⚠️ WINDOWS USERS:'));
99
- console.log(chalk.yellow(' After codemie-claude first run, edit ~/.codemie/claude-plugin/hooks/hooks.json'));
100
- console.log(chalk.yellow(' Change all instances of "play-random-sound.sh" to "play-random-sound.ps1"'));
101
- console.log();
102
98
  }
103
99
  /**
104
100
  * Install fun sounds system
@@ -1 +1 @@
1
- {"version":3,"file":"sounds-installer.js","sourceRoot":"","sources":["../../../../src/agents/plugins/claude/sounds-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sounds-installer.js","sourceRoot":"","sources":["../../../../src/agents/plugins/claude/sounds-installer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { getHooksPluginFileUrl, cleanupHooksPlugin } from './inject-hooks.js';
2
+ export { SHELL_HOOKS_PLUGIN_SOURCE } from './shell-hooks-source.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codemie-code-hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { getHooksPluginFileUrl, cleanupHooksPlugin } from './inject-hooks.js';
2
+ export { SHELL_HOOKS_PLUGIN_SOURCE } from './shell-hooks-source.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/agents/plugins/codemie-code-hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const getHooksPluginFileUrl: () => string;
2
+ export declare const cleanupHooksPlugin: () => void;
3
+ //# sourceMappingURL=inject-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject-hooks.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codemie-code-hooks/inject-hooks.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB,cAA4B,CAAC;AAC/D,eAAO,MAAM,kBAAkB,YAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { createPluginInjector } from '../../core/plugin-injector.js';
2
+ import { SHELL_HOOKS_PLUGIN_SOURCE } from './shell-hooks-source.js';
3
+ const injector = createPluginInjector('shell-hooks.ts', SHELL_HOOKS_PLUGIN_SOURCE, 'hooks');
4
+ export const getHooksPluginFileUrl = injector.getPluginFileUrl;
5
+ export const cleanupHooksPlugin = injector.cleanup;
6
+ //# sourceMappingURL=inject-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject-hooks.js","sourceRoot":"","sources":["../../../../src/agents/plugins/codemie-code-hooks/inject-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,OAAO,CAAC,CAAC;AAE5F,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;AAC/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Shell Hooks Plugin Source
3
+ *
4
+ * Contains the OpenCode plugin TypeScript source as a string constant.
5
+ * At runtime this is written to a temp file and loaded by the OpenCode binary.
6
+ *
7
+ * The plugin reads hooks configuration from the OPENCODE_HOOKS environment variable
8
+ * (Anthropic/Claude Code format) and maps them to OpenCode plugin lifecycle hooks.
9
+ *
10
+ * Why a string constant: The plugin uses `import type { Plugin } from "@opencode-ai/plugin"`
11
+ * which doesn't exist in codemie-code's dependencies. Embedding as a string avoids
12
+ * TypeScript compilation issues. Bun strips the type import at runtime.
13
+ */
14
+ export declare const SHELL_HOOKS_PLUGIN_SOURCE = "\nimport type { Plugin } from \"@opencode-ai/plugin\";\nimport { execSync, spawn } from \"child_process\";\nimport { readFileSync, existsSync } from \"fs\";\nimport { join } from \"path\";\n\n// \u2500\u2500\u2500 Types \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\ninterface HookConfig {\n type: \"command\" | \"prompt\" | \"agent\";\n command?: string;\n timeout?: number; // seconds\n async?: boolean;\n}\n\ninterface HookMatcherEntry {\n matcher?: string;\n hooks: HookConfig[];\n}\n\ntype HookEventName =\n | \"PreToolUse\"\n | \"PostToolUse\"\n | \"UserPromptSubmit\"\n | \"PermissionRequest\"\n | \"PreCompact\"\n | \"SessionStart\"\n | \"SessionEnd\"\n | \"Stop\"\n | \"Notification\";\n\ninterface HooksConfig {\n hooks?: Partial<Record<HookEventName, HookMatcherEntry[]>>;\n}\n\ninterface HookStdinPayload {\n hook_event_name: string;\n session_id: string;\n cwd: string;\n permission_mode: string;\n transcript_path: string;\n tool_name?: string;\n tool_input?: Record<string, unknown>;\n tool_output?: string;\n prompt?: string;\n [key: string]: unknown;\n}\n\n// \u2500\u2500\u2500 Matcher (ported from codemie-code src/hooks/matcher.ts) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\nfunction matchesPattern(pattern: string, toolName: string): boolean {\n try {\n if (!pattern || pattern === \"*\") return true;\n if (/[|[\\]{}()]/.test(pattern)) {\n try {\n return new RegExp(\"^(\" + pattern + \")$\").test(toolName);\n } catch {\n return pattern === toolName;\n }\n }\n return pattern === toolName;\n } catch {\n return false;\n }\n}\n\n// \u2500\u2500\u2500 Config Loading \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\nfunction loadHooksConfig(): HooksConfig {\n // Priority 1: OPENCODE_HOOKS env var (set by codemie-code)\n const envHooks = process.env.OPENCODE_HOOKS;\n if (envHooks) {\n try {\n const parsed = JSON.parse(envHooks);\n if (parsed.hooks && Object.keys(parsed.hooks).length > 0) {\n return parsed as HooksConfig;\n }\n } catch {\n // Fall through to file-based config\n }\n }\n\n // Priority 2: .opencode/hooks.json in project directory\n const projectDir = process.env.OPENCODE_PROJECT_DIR || process.cwd();\n const hooksFile = join(projectDir, \".opencode\", \"hooks.json\");\n if (existsSync(hooksFile)) {\n try {\n const content = readFileSync(hooksFile, \"utf-8\");\n const parsed = JSON.parse(content);\n if (parsed.hooks) return parsed as HooksConfig;\n } catch {\n // Ignore parse errors\n }\n }\n\n return { hooks: {} };\n}\n\n// \u2500\u2500\u2500 Hook Resolution \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\nfunction getMatchingCommands(\n config: HooksConfig,\n event: HookEventName,\n toolName?: string,\n): Array<{ command: string; timeout: number; isAsync: boolean }> {\n const matchers = config.hooks?.[event];\n if (!matchers || matchers.length === 0) return [];\n\n const result: Array<{ command: string; timeout: number; isAsync: boolean }> = [];\n\n for (const entry of matchers) {\n const pattern = entry.matcher || \"*\";\n const shouldMatch = !toolName || matchesPattern(pattern, toolName);\n if (!shouldMatch) continue;\n\n for (const hook of entry.hooks) {\n // Only support \"command\" type \u2014 skip \"prompt\" and \"agent\"\n if (hook.type !== \"command\" || !hook.command) continue;\n result.push({\n command: hook.command,\n timeout: (hook.timeout || 60) * 1000, // seconds \u2192 ms\n isAsync: hook.async === true,\n });\n }\n }\n\n return result;\n}\n\n// \u2500\u2500\u2500 Shell Execution \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\nfunction buildEnvVars(sessionId: string, event: string): Record<string, string> {\n const projectDir = process.env.OPENCODE_PROJECT_DIR || process.cwd();\n return {\n OPENCODE_PROJECT_DIR: projectDir,\n OPENCODE_SESSION_ID: sessionId,\n OPENCODE_HOOK_EVENT: event,\n CLAUDE_PROJECT_DIR: projectDir, // Anthropic alias\n };\n}\n\ninterface ExecResult {\n stdout: string;\n stderr: string;\n exitCode: number;\n}\n\nfunction execCommand(\n command: string,\n stdin: string,\n env: Record<string, string>,\n timeout: number,\n): ExecResult {\n try {\n const stdout = execSync(command, {\n input: stdin,\n timeout,\n env: { ...process.env, ...env },\n encoding: \"utf-8\",\n maxBuffer: 1024 * 1024,\n stdio: [\"pipe\", \"pipe\", \"pipe\"],\n });\n return { stdout: stdout || \"\", stderr: \"\", exitCode: 0 };\n } catch (err: any) {\n return {\n stdout: err.stdout || \"\",\n stderr: err.stderr || \"\",\n exitCode: typeof err.status === \"number\" ? err.status : 1,\n };\n }\n}\n\nfunction execCommandAsync(\n command: string,\n stdin: string,\n env: Record<string, string>,\n): void {\n const child = spawn(\"sh\", [\"-c\", command], {\n env: { ...process.env, ...env },\n stdio: [\"pipe\", \"ignore\", \"ignore\"],\n detached: true,\n });\n if (child.stdin) {\n child.stdin.write(stdin);\n child.stdin.end();\n }\n child.unref();\n}\n\n// \u2500\u2500\u2500 Response Parsing \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\ninterface ParsedResponse {\n blocked: boolean;\n reason?: string;\n updatedInput?: Record<string, unknown>;\n permissionDecision?: \"allow\" | \"deny\" | \"ask\";\n additionalContext?: string;\n}\n\nfunction parseResponse(\n result: ExecResult,\n event: HookEventName,\n): ParsedResponse {\n // Exit code 2 = block\n if (result.exitCode === 2) {\n const reason = [result.stderr, result.stdout.trim()].filter(Boolean).join(\"\\n\");\n return { blocked: true, reason: reason || \"Hook blocked execution (exit code 2)\" };\n }\n\n // Non-zero, non-2 = non-blocking error (allow)\n if (result.exitCode !== 0) {\n return { blocked: false };\n }\n\n // Parse stdout JSON\n const trimmed = result.stdout.trim();\n if (!trimmed) return { blocked: false };\n\n try {\n const json = JSON.parse(trimmed);\n\n // PreToolUse: check for hookSpecificOutput.updatedInput or plain object \u2192 merge into args\n if (event === \"PreToolUse\") {\n const updated = json.hookSpecificOutput?.updatedInput || json.updatedInput;\n if (updated && typeof updated === \"object\") {\n return { blocked: false, updatedInput: updated };\n }\n // If it's a plain object without known keys, treat as updatedInput\n if (typeof json === \"object\" && !json.hookSpecificOutput && !json.decision) {\n return { blocked: false, updatedInput: json };\n }\n }\n\n // PermissionRequest: check for permissionDecision\n if (event === \"PermissionRequest\") {\n const decision =\n json.hookSpecificOutput?.permissionDecision || json.permissionDecision;\n if (decision && [\"allow\", \"deny\", \"ask\"].includes(decision)) {\n return { blocked: false, permissionDecision: decision };\n }\n // Plain string\n if (typeof json === \"string\" && [\"allow\", \"deny\", \"ask\"].includes(json)) {\n return { blocked: false, permissionDecision: json };\n }\n }\n\n // PreCompact: additionalContext\n if (event === \"PreCompact\") {\n const context = json.additionalContext || json.context;\n if (typeof context === \"string\") {\n return { blocked: false, additionalContext: context };\n }\n }\n\n return { blocked: false };\n } catch {\n // Non-JSON output \u2014 treat as informational\n return { blocked: false };\n }\n}\n\n// \u2500\u2500\u2500 Plugin Definition \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\nconst config = loadHooksConfig();\nconst hasHooks = config.hooks && Object.keys(config.hooks).length > 0;\n\nconst plugin: Plugin = {\n name: \"shell-hooks\",\n ...(hasHooks\n ? {\n hooks: {\n // PreToolUse \u2192 tool.execute.before (blocking)\n tool: {\n execute: {\n before: async (input) => {\n const commands = getMatchingCommands(config, \"PreToolUse\", input.tool);\n if (commands.length === 0) return input;\n\n const sessionId = process.env.OPENCODE_SESSION_ID || \"\";\n const env = buildEnvVars(sessionId, \"PreToolUse\");\n const payload: HookStdinPayload = {\n hook_event_name: \"PreToolUse\",\n session_id: sessionId,\n cwd: process.cwd(),\n permission_mode: \"default\",\n transcript_path: \"\",\n tool_name: input.tool,\n tool_input: input.args as Record<string, unknown>,\n };\n const stdin = JSON.stringify(payload);\n\n let mergedInput = { ...input };\n for (const cmd of commands) {\n if (cmd.isAsync) {\n execCommandAsync(cmd.command, stdin, env);\n continue;\n }\n const result = execCommand(cmd.command, stdin, env, cmd.timeout);\n const parsed = parseResponse(result, \"PreToolUse\");\n if (parsed.blocked) {\n throw new Error(parsed.reason || \"Hook blocked tool execution\");\n }\n if (parsed.updatedInput) {\n mergedInput = {\n ...mergedInput,\n args: { ...(mergedInput.args as Record<string, unknown>), ...parsed.updatedInput },\n };\n }\n }\n return mergedInput;\n },\n\n // PostToolUse \u2192 tool.execute.after (fire-and-forget)\n after: async (output) => {\n const commands = getMatchingCommands(config, \"PostToolUse\", output.tool);\n if (commands.length === 0) return output;\n\n const sessionId = process.env.OPENCODE_SESSION_ID || \"\";\n const env = buildEnvVars(sessionId, \"PostToolUse\");\n const payload: HookStdinPayload = {\n hook_event_name: \"PostToolUse\",\n session_id: sessionId,\n cwd: process.cwd(),\n permission_mode: \"default\",\n transcript_path: \"\",\n tool_name: output.tool,\n tool_input: output.args as Record<string, unknown>,\n tool_output: typeof output.result === \"string\" ? output.result : JSON.stringify(output.result),\n };\n const stdin = JSON.stringify(payload);\n\n for (const cmd of commands) {\n if (cmd.isAsync) {\n execCommandAsync(cmd.command, stdin, env);\n continue;\n }\n try {\n execCommand(cmd.command, stdin, env, cmd.timeout);\n } catch {\n // PostToolUse is fire-and-forget\n }\n }\n return output;\n },\n },\n },\n\n // UserPromptSubmit \u2192 chat.message (blocking)\n chat: {\n message: async (input) => {\n const commands = getMatchingCommands(config, \"UserPromptSubmit\");\n if (commands.length === 0) return input;\n\n const sessionId = process.env.OPENCODE_SESSION_ID || \"\";\n const env = buildEnvVars(sessionId, \"UserPromptSubmit\");\n const payload: HookStdinPayload = {\n hook_event_name: \"UserPromptSubmit\",\n session_id: sessionId,\n cwd: process.cwd(),\n permission_mode: \"default\",\n transcript_path: \"\",\n prompt: Array.isArray(input.parts)\n ? input.parts\n .filter((p: any) => p.type === \"text\")\n .map((p: any) => p.text)\n .join(\"\\n\")\n : String(input.parts),\n };\n const stdin = JSON.stringify(payload);\n\n for (const cmd of commands) {\n if (cmd.isAsync) {\n execCommandAsync(cmd.command, stdin, env);\n continue;\n }\n const result = execCommand(cmd.command, stdin, env, cmd.timeout);\n const parsed = parseResponse(result, \"UserPromptSubmit\");\n if (parsed.blocked) {\n // Clear message parts to block submission\n return { ...input, parts: [] };\n }\n }\n return input;\n },\n },\n\n // PermissionRequest \u2192 permission.ask (blocking)\n permission: {\n ask: async (input) => {\n const commands = getMatchingCommands(config, \"PermissionRequest\", input.tool);\n if (commands.length === 0) return input;\n\n const sessionId = process.env.OPENCODE_SESSION_ID || \"\";\n const env = buildEnvVars(sessionId, \"PermissionRequest\");\n const payload: HookStdinPayload = {\n hook_event_name: \"PermissionRequest\",\n session_id: sessionId,\n cwd: process.cwd(),\n permission_mode: \"default\",\n transcript_path: \"\",\n tool_name: input.tool,\n tool_input: input.args as Record<string, unknown>,\n };\n const stdin = JSON.stringify(payload);\n\n for (const cmd of commands) {\n if (cmd.isAsync) {\n execCommandAsync(cmd.command, stdin, env);\n continue;\n }\n const result = execCommand(cmd.command, stdin, env, cmd.timeout);\n const parsed = parseResponse(result, \"PermissionRequest\");\n if (parsed.permissionDecision === \"allow\") {\n return { ...input, allowed: true };\n }\n if (parsed.permissionDecision === \"deny\") {\n return { ...input, allowed: false };\n }\n }\n return input;\n },\n },\n\n // PreCompact \u2192 experimental.session.compacting (non-blocking)\n experimental: {\n session: {\n compacting: async (input) => {\n const commands = getMatchingCommands(config, \"PreCompact\");\n if (commands.length === 0) return input;\n\n const sessionId = process.env.OPENCODE_SESSION_ID || \"\";\n const env = buildEnvVars(sessionId, \"PreCompact\");\n const payload: HookStdinPayload = {\n hook_event_name: \"PreCompact\",\n session_id: sessionId,\n cwd: process.cwd(),\n permission_mode: \"default\",\n transcript_path: \"\",\n };\n const stdin = JSON.stringify(payload);\n\n for (const cmd of commands) {\n if (cmd.isAsync) {\n execCommandAsync(cmd.command, stdin, env);\n continue;\n }\n try {\n const result = execCommand(cmd.command, stdin, env, cmd.timeout);\n const parsed = parseResponse(result, \"PreCompact\");\n if (parsed.additionalContext) {\n return {\n ...input,\n context: ((input as any).context || \"\") + \"\\n\" + parsed.additionalContext,\n };\n }\n } catch {\n // Non-blocking\n }\n }\n return input;\n },\n },\n },\n\n // SessionStart/SessionEnd/Stop/Notification \u2192 event (non-blocking)\n event: async (input) => {\n let hookEvent: HookEventName | undefined;\n const eventType = (input as any).type || (input as any).event;\n if (eventType === \"session.created\") hookEvent = \"SessionStart\";\n else if (eventType === \"session.deleted\") hookEvent = \"SessionEnd\";\n else if (eventType === \"session.idle\") hookEvent = \"Stop\";\n else if (eventType === \"session.error\") hookEvent = \"Notification\";\n\n if (!hookEvent) return;\n\n const commands = getMatchingCommands(config, hookEvent);\n if (commands.length === 0) return;\n\n const sessionId = process.env.OPENCODE_SESSION_ID || \"\";\n const env = buildEnvVars(sessionId, hookEvent);\n const payload: HookStdinPayload = {\n hook_event_name: hookEvent,\n session_id: sessionId,\n cwd: process.cwd(),\n permission_mode: \"default\",\n transcript_path: \"\",\n };\n const stdin = JSON.stringify(payload);\n\n for (const cmd of commands) {\n if (cmd.isAsync) {\n execCommandAsync(cmd.command, stdin, env);\n continue;\n }\n try {\n execCommand(cmd.command, stdin, env, cmd.timeout);\n } catch {\n // Event hooks are non-blocking\n }\n }\n },\n },\n }\n : {}),\n};\n\nexport default plugin;\n";
15
+ //# sourceMappingURL=shell-hooks-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-hooks-source.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codemie-code-hooks/shell-hooks-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,yBAAyB,stmBA2frC,CAAC"}