@hiai-gg/hiai-opencode 0.1.7 → 0.1.8

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 (1188) hide show
  1. package/AGENTS.md +35 -0
  2. package/ARCHITECTURE.md +39 -0
  3. package/README.md +28 -8
  4. package/dist/agents/coder/agent.d.ts +2 -2
  5. package/dist/agents/dynamic-agent-core-sections.d.ts +3 -1
  6. package/dist/agents/guard/agent.d.ts +4 -15
  7. package/dist/agents/prompt-library/index.d.ts +1 -0
  8. package/dist/agents/prompt-library/integration-map.d.ts +9 -0
  9. package/dist/agents/strategist/system-prompt.d.ts +5 -8
  10. package/dist/agents/sub/agent.d.ts +6 -8
  11. package/dist/agents/sub/index.d.ts +0 -4
  12. package/dist/hooks/keyword-detector/ultrawork/default.d.ts +1 -1
  13. package/dist/hooks/keyword-detector/ultrawork/gemini.d.ts +1 -1
  14. package/dist/hooks/keyword-detector/ultrawork/gpt.d.ts +1 -1
  15. package/dist/hooks/keyword-detector/ultrawork/intent-gate.d.ts +0 -0
  16. package/dist/hooks/keyword-detector/ultrawork/planner.d.ts +1 -1
  17. package/dist/index.js +1442 -4098
  18. package/dist/shared/index.d.ts +1 -0
  19. package/dist/shared/learn-system.d.ts +18 -0
  20. package/hiai-opencode.json +4 -5
  21. package/package.json +3 -3
  22. package/dist/agents/bob/default.d.ts +0 -10
  23. package/dist/agents/bob/gemini.d.ts +0 -21
  24. package/dist/agents/bob/gpt-pro.d.ts +0 -27
  25. package/dist/agents/bob/index.d.ts +0 -11
  26. package/dist/agents/coder/gpt-codex.d.ts +0 -20
  27. package/dist/agents/coder/gpt-pro.d.ts +0 -25
  28. package/dist/agents/guard/gemini-prompt-sections.d.ts +0 -12
  29. package/dist/agents/guard/gemini.d.ts +0 -2
  30. package/dist/agents/guard/gpt-prompt-sections.d.ts +0 -12
  31. package/dist/agents/guard/gpt.d.ts +0 -2
  32. package/dist/agents/strategist/gemini.d.ts +0 -13
  33. package/dist/agents/strategist/gpt.d.ts +0 -12
  34. package/dist/agents/sub/gemini.d.ts +0 -10
  35. package/dist/agents/sub/gpt-codex.d.ts +0 -8
  36. package/dist/agents/sub/gpt-pro.d.ts +0 -11
  37. package/dist/agents/sub/gpt.d.ts +0 -9
  38. package/dist/skills/index.d.ts +0 -7
  39. package/dist/testing/module-mock-lifecycle.d.ts +0 -21
  40. package/src/AGENTS.md +0 -41
  41. package/src/agents/AGENTS.md +0 -74
  42. package/src/agents/agent-builder.ts +0 -50
  43. package/src/agents/agent-skills.ts +0 -70
  44. package/src/agents/bob/AGENTS.md +0 -29
  45. package/src/agents/bob/default.ts +0 -134
  46. package/src/agents/bob/gemini.ts +0 -238
  47. package/src/agents/bob/gpt-pro.ts +0 -432
  48. package/src/agents/bob/index.ts +0 -19
  49. package/src/agents/bob.ts +0 -531
  50. package/src/agents/brainstormer.ts +0 -72
  51. package/src/agents/builtin-agents/agent-overrides.ts +0 -75
  52. package/src/agents/builtin-agents/available-skills.ts +0 -35
  53. package/src/agents/builtin-agents/bob-agent.ts +0 -96
  54. package/src/agents/builtin-agents/coder-agent.ts +0 -98
  55. package/src/agents/builtin-agents/environment-context.ts +0 -16
  56. package/src/agents/builtin-agents/general-agents.ts +0 -122
  57. package/src/agents/builtin-agents/guard-agent.ts +0 -66
  58. package/src/agents/builtin-agents/model-resolution.ts +0 -31
  59. package/src/agents/builtin-agents/resolve-file-uri.ts +0 -42
  60. package/src/agents/builtin-agents.ts +0 -250
  61. package/src/agents/coder/AGENTS.md +0 -34
  62. package/src/agents/coder/agent.ts +0 -162
  63. package/src/agents/coder/gpt-codex.ts +0 -406
  64. package/src/agents/coder/gpt-pro.ts +0 -321
  65. package/src/agents/coder/gpt.ts +0 -255
  66. package/src/agents/coder/index.ts +0 -8
  67. package/src/agents/critic/agent.ts +0 -106
  68. package/src/agents/custom-agent-summaries.ts +0 -61
  69. package/src/agents/designer.ts +0 -70
  70. package/src/agents/dynamic-agent-category-skills-guide.ts +0 -144
  71. package/src/agents/dynamic-agent-core-sections.ts +0 -273
  72. package/src/agents/dynamic-agent-policy-sections.ts +0 -182
  73. package/src/agents/dynamic-agent-prompt-builder.ts +0 -32
  74. package/src/agents/dynamic-agent-prompt-types.ts +0 -24
  75. package/src/agents/dynamic-agent-tool-categorization.ts +0 -45
  76. package/src/agents/env-context.ts +0 -16
  77. package/src/agents/gpt-apply-patch-guard.ts +0 -7
  78. package/src/agents/guard/agent.ts +0 -146
  79. package/src/agents/guard/default-prompt-sections.ts +0 -305
  80. package/src/agents/guard/default.ts +0 -23
  81. package/src/agents/guard/gemini-prompt-sections.ts +0 -293
  82. package/src/agents/guard/gemini.ts +0 -23
  83. package/src/agents/guard/gpt-prompt-sections.ts +0 -296
  84. package/src/agents/guard/gpt.ts +0 -23
  85. package/src/agents/guard/index.ts +0 -2
  86. package/src/agents/guard/prompt-section-builder.ts +0 -104
  87. package/src/agents/guard/shared-prompt.ts +0 -172
  88. package/src/agents/index.ts +0 -5
  89. package/src/agents/platform-adapter.ts +0 -236
  90. package/src/agents/platform-manager.ts +0 -73
  91. package/src/agents/prompt-library/identity.ts +0 -14
  92. package/src/agents/prompt-library/index.ts +0 -7
  93. package/src/agents/prompt-library/intent-gate.ts +0 -149
  94. package/src/agents/prompt-library/orchestration.ts +0 -60
  95. package/src/agents/prompt-library/platform.ts +0 -70
  96. package/src/agents/prompt-library/specialized.ts +0 -39
  97. package/src/agents/prompt-library/strategy.ts +0 -80
  98. package/src/agents/prompt-library/todo-discipline.ts +0 -23
  99. package/src/agents/quality-guardian.ts +0 -76
  100. package/src/agents/researcher.ts +0 -74
  101. package/src/agents/strategist/AGENTS.md +0 -37
  102. package/src/agents/strategist/behavioral-summary.ts +0 -79
  103. package/src/agents/strategist/gemini.ts +0 -334
  104. package/src/agents/strategist/gpt.ts +0 -461
  105. package/src/agents/strategist/high-accuracy-mode.ts +0 -78
  106. package/src/agents/strategist/identity-constraints.ts +0 -336
  107. package/src/agents/strategist/index.ts +0 -6
  108. package/src/agents/strategist/interview-mode.ts +0 -335
  109. package/src/agents/strategist/plan-generation.ts +0 -213
  110. package/src/agents/strategist/plan-template.ts +0 -325
  111. package/src/agents/strategist/system-prompt.ts +0 -68
  112. package/src/agents/sub/agent.ts +0 -141
  113. package/src/agents/sub/default.ts +0 -52
  114. package/src/agents/sub/gemini.ts +0 -194
  115. package/src/agents/sub/gpt-codex.ts +0 -156
  116. package/src/agents/sub/gpt-pro.ts +0 -161
  117. package/src/agents/sub/gpt.ts +0 -157
  118. package/src/agents/sub/index.ts +0 -13
  119. package/src/agents/types.ts +0 -147
  120. package/src/agents/ui.ts +0 -59
  121. package/src/config/data/model-capabilities.json +0 -40690
  122. package/src/config/defaults.ts +0 -230
  123. package/src/config/hiai-opencode.schema.json +0 -12
  124. package/src/config/index.ts +0 -65
  125. package/src/config/loader.test.ts +0 -80
  126. package/src/config/loader.ts +0 -188
  127. package/src/config/model-slots-and-export.test.ts +0 -73
  128. package/src/config/platform-schema.ts +0 -242
  129. package/src/config/schema/agent-definitions.ts +0 -5
  130. package/src/config/schema/agent-names.ts +0 -66
  131. package/src/config/schema/agent-overrides.ts +0 -97
  132. package/src/config/schema/babysitting.ts +0 -7
  133. package/src/config/schema/background-task.ts +0 -29
  134. package/src/config/schema/bob-agent.ts +0 -11
  135. package/src/config/schema/bob.ts +0 -17
  136. package/src/config/schema/browser-automation.ts +0 -24
  137. package/src/config/schema/categories.ts +0 -45
  138. package/src/config/schema/claude-code.ts +0 -13
  139. package/src/config/schema/commands.ts +0 -16
  140. package/src/config/schema/comment-checker.ts +0 -8
  141. package/src/config/schema/dynamic-context-pruning.ts +0 -53
  142. package/src/config/schema/experimental.ts +0 -27
  143. package/src/config/schema/fallback-models.ts +0 -31
  144. package/src/config/schema/fast-apply.ts +0 -14
  145. package/src/config/schema/git-env-prefix.ts +0 -28
  146. package/src/config/schema/git-master.ts +0 -14
  147. package/src/config/schema/hooks.ts +0 -59
  148. package/src/config/schema/index.ts +0 -52
  149. package/src/config/schema/internal/permission.ts +0 -20
  150. package/src/config/schema/model-capabilities.ts +0 -10
  151. package/src/config/schema/notification.ts +0 -8
  152. package/src/config/schema/oh-my-opencode-config.ts +0 -88
  153. package/src/config/schema/openclaw.ts +0 -50
  154. package/src/config/schema/ralph-loop.ts +0 -11
  155. package/src/config/schema/runtime-fallback.ts +0 -18
  156. package/src/config/schema/skill-discovery.ts +0 -25
  157. package/src/config/schema/skills.ts +0 -39
  158. package/src/config/schema/start-work.ts +0 -7
  159. package/src/config/schema/tmux.ts +0 -28
  160. package/src/config/types.ts +0 -221
  161. package/src/create-hooks.ts +0 -93
  162. package/src/create-managers.ts +0 -116
  163. package/src/create-runtime-tmux-config.ts +0 -18
  164. package/src/create-tools.ts +0 -56
  165. package/src/features/background-agent/AGENTS.md +0 -56
  166. package/src/features/background-agent/abort-with-timeout.ts +0 -35
  167. package/src/features/background-agent/background-task-notification-template.ts +0 -74
  168. package/src/features/background-agent/compaction-aware-message-resolver.ts +0 -164
  169. package/src/features/background-agent/concurrency.ts +0 -137
  170. package/src/features/background-agent/constants.ts +0 -58
  171. package/src/features/background-agent/duration-formatter.ts +0 -14
  172. package/src/features/background-agent/error-classifier.ts +0 -83
  173. package/src/features/background-agent/fallback-retry-handler.ts +0 -134
  174. package/src/features/background-agent/index.ts +0 -2
  175. package/src/features/background-agent/loop-detector.ts +0 -102
  176. package/src/features/background-agent/manager.ts +0 -2220
  177. package/src/features/background-agent/opencode-client.ts +0 -3
  178. package/src/features/background-agent/process-cleanup.ts +0 -98
  179. package/src/features/background-agent/remove-task-toast-tracking.ts +0 -8
  180. package/src/features/background-agent/session-existence.ts +0 -57
  181. package/src/features/background-agent/session-idle-event-handler.ts +0 -93
  182. package/src/features/background-agent/session-status-classifier.ts +0 -20
  183. package/src/features/background-agent/spawner/parent-directory-resolver.ts +0 -24
  184. package/src/features/background-agent/spawner.ts +0 -327
  185. package/src/features/background-agent/state.ts +0 -199
  186. package/src/features/background-agent/subagent-spawn-limits.ts +0 -97
  187. package/src/features/background-agent/task-history.ts +0 -79
  188. package/src/features/background-agent/task-poller.ts +0 -225
  189. package/src/features/background-agent/types.ts +0 -100
  190. package/src/features/boulder-state/constants.ts +0 -13
  191. package/src/features/boulder-state/index.ts +0 -4
  192. package/src/features/boulder-state/storage.ts +0 -336
  193. package/src/features/boulder-state/top-level-task.ts +0 -78
  194. package/src/features/boulder-state/types.ts +0 -61
  195. package/src/features/builtin-commands/commands.ts +0 -157
  196. package/src/features/builtin-commands/index.ts +0 -2
  197. package/src/features/builtin-commands/templates/doctor.ts +0 -43
  198. package/src/features/builtin-commands/templates/handoff.ts +0 -177
  199. package/src/features/builtin-commands/templates/init-deep.ts +0 -305
  200. package/src/features/builtin-commands/templates/mcp-status.ts +0 -36
  201. package/src/features/builtin-commands/templates/ralph-loop.ts +0 -66
  202. package/src/features/builtin-commands/templates/refactor.ts +0 -619
  203. package/src/features/builtin-commands/templates/remove-ai-slops.ts +0 -96
  204. package/src/features/builtin-commands/templates/start-work.ts +0 -128
  205. package/src/features/builtin-commands/templates/stop-continuation.ts +0 -13
  206. package/src/features/builtin-commands/types.ts +0 -9
  207. package/src/features/builtin-skills/index.ts +0 -2
  208. package/src/features/builtin-skills/materialize.ts +0 -338
  209. package/src/features/builtin-skills/skills/ai-slop-remover.ts +0 -145
  210. package/src/features/builtin-skills/skills/dev-browser.ts +0 -221
  211. package/src/features/builtin-skills/skills/frontend-ui-ux.ts +0 -79
  212. package/src/features/builtin-skills/skills/git-master-sections/commit-workflow.ts +0 -509
  213. package/src/features/builtin-skills/skills/git-master-sections/history-search-workflow.ts +0 -229
  214. package/src/features/builtin-skills/skills/git-master-sections/overview.ts +0 -64
  215. package/src/features/builtin-skills/skills/git-master-sections/quick-reference.ts +0 -86
  216. package/src/features/builtin-skills/skills/git-master-sections/rebase-workflow.ts +0 -181
  217. package/src/features/builtin-skills/skills/git-master-skill-metadata.ts +0 -4
  218. package/src/features/builtin-skills/skills/git-master.ts +0 -28
  219. package/src/features/builtin-skills/skills/hiai-opencode-setup.ts +0 -69
  220. package/src/features/builtin-skills/skills/index.ts +0 -9
  221. package/src/features/builtin-skills/skills/playwright-cli.ts +0 -268
  222. package/src/features/builtin-skills/skills/playwright.ts +0 -488
  223. package/src/features/builtin-skills/skills/review-work.ts +0 -536
  224. package/src/features/builtin-skills/skills/website-copywriting.ts +0 -41
  225. package/src/features/builtin-skills/skills.test.ts +0 -8
  226. package/src/features/builtin-skills/skills.ts +0 -50
  227. package/src/features/builtin-skills/types.ts +0 -16
  228. package/src/features/claude-code-agent-loader/agent-definitions-loader.ts +0 -87
  229. package/src/features/claude-code-agent-loader/claude-model-mapper.ts +0 -53
  230. package/src/features/claude-code-agent-loader/index.ts +0 -5
  231. package/src/features/claude-code-agent-loader/json-agent-loader.ts +0 -53
  232. package/src/features/claude-code-agent-loader/loader.ts +0 -86
  233. package/src/features/claude-code-agent-loader/opencode-config-agents-reader.ts +0 -125
  234. package/src/features/claude-code-agent-loader/types.ts +0 -31
  235. package/src/features/claude-code-command-loader/index.ts +0 -2
  236. package/src/features/claude-code-command-loader/loader.ts +0 -169
  237. package/src/features/claude-code-command-loader/types.ts +0 -46
  238. package/src/features/claude-code-mcp-loader/configure-allowed-env-vars.ts +0 -48
  239. package/src/features/claude-code-mcp-loader/env-expander.ts +0 -51
  240. package/src/features/claude-code-mcp-loader/index.ts +0 -12
  241. package/src/features/claude-code-mcp-loader/loader.ts +0 -156
  242. package/src/features/claude-code-mcp-loader/scope-filter.ts +0 -17
  243. package/src/features/claude-code-mcp-loader/transformer.ts +0 -57
  244. package/src/features/claude-code-mcp-loader/types.ts +0 -51
  245. package/src/features/claude-code-plugin-loader/agent-loader.ts +0 -59
  246. package/src/features/claude-code-plugin-loader/command-loader.ts +0 -53
  247. package/src/features/claude-code-plugin-loader/discovery.ts +0 -251
  248. package/src/features/claude-code-plugin-loader/hook-loader.ts +0 -26
  249. package/src/features/claude-code-plugin-loader/index.ts +0 -10
  250. package/src/features/claude-code-plugin-loader/loader.ts +0 -134
  251. package/src/features/claude-code-plugin-loader/mcp-server-loader.ts +0 -59
  252. package/src/features/claude-code-plugin-loader/plugin-path-resolver.ts +0 -23
  253. package/src/features/claude-code-plugin-loader/scope-filter.ts +0 -29
  254. package/src/features/claude-code-plugin-loader/skill-loader.ts +0 -62
  255. package/src/features/claude-code-plugin-loader/types.ts +0 -255
  256. package/src/features/claude-code-session-state/index.ts +0 -1
  257. package/src/features/claude-code-session-state/state.ts +0 -154
  258. package/src/features/claude-tasks/session-storage.ts +0 -52
  259. package/src/features/claude-tasks/storage.ts +0 -169
  260. package/src/features/claude-tasks/types.ts +0 -20
  261. package/src/features/context-injector/collector.ts +0 -91
  262. package/src/features/context-injector/index.ts +0 -14
  263. package/src/features/context-injector/injector.ts +0 -167
  264. package/src/features/context-injector/types.ts +0 -91
  265. package/src/features/hook-message-injector/constants.ts +0 -1
  266. package/src/features/hook-message-injector/index.ts +0 -11
  267. package/src/features/hook-message-injector/injector.ts +0 -437
  268. package/src/features/hook-message-injector/types.ts +0 -49
  269. package/src/features/mcp-oauth/AGENTS.md +0 -54
  270. package/src/features/mcp-oauth/callback-server.ts +0 -106
  271. package/src/features/mcp-oauth/dcr.ts +0 -98
  272. package/src/features/mcp-oauth/discovery.ts +0 -134
  273. package/src/features/mcp-oauth/oauth-authorization-flow.ts +0 -150
  274. package/src/features/mcp-oauth/provider.ts +0 -215
  275. package/src/features/mcp-oauth/refresh-mutex.ts +0 -58
  276. package/src/features/mcp-oauth/resource-indicator.ts +0 -16
  277. package/src/features/mcp-oauth/schema.ts +0 -8
  278. package/src/features/mcp-oauth/step-up.ts +0 -79
  279. package/src/features/mcp-oauth/storage.ts +0 -155
  280. package/src/features/opencode-skill-loader/AGENTS.md +0 -59
  281. package/src/features/opencode-skill-loader/allowed-tools-parser.ts +0 -9
  282. package/src/features/opencode-skill-loader/async-loader.ts +0 -213
  283. package/src/features/opencode-skill-loader/blocking.ts +0 -62
  284. package/src/features/opencode-skill-loader/config-source-discovery.ts +0 -114
  285. package/src/features/opencode-skill-loader/discover-worker.ts +0 -56
  286. package/src/features/opencode-skill-loader/git-master-template-injection.ts +0 -150
  287. package/src/features/opencode-skill-loader/index.ts +0 -17
  288. package/src/features/opencode-skill-loader/loaded-skill-from-path.ts +0 -73
  289. package/src/features/opencode-skill-loader/loaded-skill-template-extractor.ts +0 -16
  290. package/src/features/opencode-skill-loader/loader.ts +0 -183
  291. package/src/features/opencode-skill-loader/merger/builtin-skill-converter.ts +0 -26
  292. package/src/features/opencode-skill-loader/merger/config-skill-entry-loader.ts +0 -117
  293. package/src/features/opencode-skill-loader/merger/scope-priority.ts +0 -10
  294. package/src/features/opencode-skill-loader/merger/skill-definition-merger.ts +0 -31
  295. package/src/features/opencode-skill-loader/merger/skills-config-normalizer.ts +0 -19
  296. package/src/features/opencode-skill-loader/merger.ts +0 -96
  297. package/src/features/opencode-skill-loader/skill-content.ts +0 -11
  298. package/src/features/opencode-skill-loader/skill-deduplication.ts +0 -13
  299. package/src/features/opencode-skill-loader/skill-definition-record.ts +0 -11
  300. package/src/features/opencode-skill-loader/skill-directory-loader.ts +0 -112
  301. package/src/features/opencode-skill-loader/skill-discovery.ts +0 -76
  302. package/src/features/opencode-skill-loader/skill-mcp-config.ts +0 -45
  303. package/src/features/opencode-skill-loader/skill-resolution-options.ts +0 -9
  304. package/src/features/opencode-skill-loader/skill-template-resolver.ts +0 -97
  305. package/src/features/opencode-skill-loader/types.ts +0 -38
  306. package/src/features/run-continuation-state/constants.ts +0 -1
  307. package/src/features/run-continuation-state/index.ts +0 -3
  308. package/src/features/run-continuation-state/storage.ts +0 -80
  309. package/src/features/run-continuation-state/types.ts +0 -15
  310. package/src/features/skill-mcp-manager/AGENTS.md +0 -111
  311. package/src/features/skill-mcp-manager/cleanup.ts +0 -153
  312. package/src/features/skill-mcp-manager/connection-type.ts +0 -26
  313. package/src/features/skill-mcp-manager/connection.ts +0 -146
  314. package/src/features/skill-mcp-manager/env-cleaner.ts +0 -59
  315. package/src/features/skill-mcp-manager/error-redaction.ts +0 -47
  316. package/src/features/skill-mcp-manager/http-client.ts +0 -126
  317. package/src/features/skill-mcp-manager/index.ts +0 -2
  318. package/src/features/skill-mcp-manager/manager.ts +0 -178
  319. package/src/features/skill-mcp-manager/oauth-handler.ts +0 -160
  320. package/src/features/skill-mcp-manager/stdio-client.ts +0 -112
  321. package/src/features/skill-mcp-manager/types.ts +0 -96
  322. package/src/features/task-toast-manager/index.ts +0 -2
  323. package/src/features/task-toast-manager/manager.ts +0 -251
  324. package/src/features/task-toast-manager/types.ts +0 -29
  325. package/src/features/tmux-subagent/action-executor-core.ts +0 -82
  326. package/src/features/tmux-subagent/action-executor.ts +0 -137
  327. package/src/features/tmux-subagent/cleanup.ts +0 -42
  328. package/src/features/tmux-subagent/decision-engine.ts +0 -22
  329. package/src/features/tmux-subagent/event-handlers.ts +0 -6
  330. package/src/features/tmux-subagent/grid-planning.ts +0 -137
  331. package/src/features/tmux-subagent/index.ts +0 -16
  332. package/src/features/tmux-subagent/manager.ts +0 -969
  333. package/src/features/tmux-subagent/oldest-agent-pane.ts +0 -37
  334. package/src/features/tmux-subagent/pane-split-availability.ts +0 -77
  335. package/src/features/tmux-subagent/pane-state-parser.ts +0 -135
  336. package/src/features/tmux-subagent/pane-state-querier.ts +0 -76
  337. package/src/features/tmux-subagent/polling-constants.ts +0 -6
  338. package/src/features/tmux-subagent/polling-manager.ts +0 -167
  339. package/src/features/tmux-subagent/polling.ts +0 -183
  340. package/src/features/tmux-subagent/session-created-event.ts +0 -44
  341. package/src/features/tmux-subagent/session-created-handler.ts +0 -175
  342. package/src/features/tmux-subagent/session-deleted-handler.ts +0 -50
  343. package/src/features/tmux-subagent/session-message-count.ts +0 -3
  344. package/src/features/tmux-subagent/session-ready-waiter.ts +0 -44
  345. package/src/features/tmux-subagent/session-status-parser.ts +0 -17
  346. package/src/features/tmux-subagent/spawn-action-decider.ts +0 -147
  347. package/src/features/tmux-subagent/spawn-target-finder.ts +0 -146
  348. package/src/features/tmux-subagent/tmux-grid-constants.ts +0 -57
  349. package/src/features/tmux-subagent/tracked-session-state.ts +0 -29
  350. package/src/features/tmux-subagent/types.ts +0 -54
  351. package/src/features/tool-metadata-store/index.ts +0 -7
  352. package/src/features/tool-metadata-store/store.ts +0 -84
  353. package/src/hooks/agent-usage-reminder/constants.ts +0 -52
  354. package/src/hooks/agent-usage-reminder/hook.ts +0 -134
  355. package/src/hooks/agent-usage-reminder/index.ts +0 -1
  356. package/src/hooks/agent-usage-reminder/storage.ts +0 -42
  357. package/src/hooks/agent-usage-reminder/types.ts +0 -6
  358. package/src/hooks/anthropic-context-window-limit-recovery/AGENTS.md +0 -49
  359. package/src/hooks/anthropic-context-window-limit-recovery/aggressive-truncation-strategy.ts +0 -87
  360. package/src/hooks/anthropic-context-window-limit-recovery/client.ts +0 -21
  361. package/src/hooks/anthropic-context-window-limit-recovery/deduplication-recovery.ts +0 -77
  362. package/src/hooks/anthropic-context-window-limit-recovery/empty-content-recovery-sdk.ts +0 -199
  363. package/src/hooks/anthropic-context-window-limit-recovery/empty-content-recovery.ts +0 -149
  364. package/src/hooks/anthropic-context-window-limit-recovery/executor.ts +0 -83
  365. package/src/hooks/anthropic-context-window-limit-recovery/index.ts +0 -8
  366. package/src/hooks/anthropic-context-window-limit-recovery/message-builder.ts +0 -190
  367. package/src/hooks/anthropic-context-window-limit-recovery/message-storage-directory.ts +0 -40
  368. package/src/hooks/anthropic-context-window-limit-recovery/parser.ts +0 -209
  369. package/src/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.ts +0 -189
  370. package/src/hooks/anthropic-context-window-limit-recovery/pruning-tool-output-truncation.ts +0 -142
  371. package/src/hooks/anthropic-context-window-limit-recovery/pruning-types.ts +0 -44
  372. package/src/hooks/anthropic-context-window-limit-recovery/recovery-hook.test-support.ts +0 -119
  373. package/src/hooks/anthropic-context-window-limit-recovery/recovery-hook.ts +0 -193
  374. package/src/hooks/anthropic-context-window-limit-recovery/recovery-strategy.ts +0 -2
  375. package/src/hooks/anthropic-context-window-limit-recovery/session-timeout-map.ts +0 -20
  376. package/src/hooks/anthropic-context-window-limit-recovery/state.ts +0 -78
  377. package/src/hooks/anthropic-context-window-limit-recovery/storage-paths.ts +0 -6
  378. package/src/hooks/anthropic-context-window-limit-recovery/storage.ts +0 -18
  379. package/src/hooks/anthropic-context-window-limit-recovery/summarize-retry-strategy.ts +0 -218
  380. package/src/hooks/anthropic-context-window-limit-recovery/target-token-truncation.ts +0 -196
  381. package/src/hooks/anthropic-context-window-limit-recovery/tool-part-types.ts +0 -38
  382. package/src/hooks/anthropic-context-window-limit-recovery/tool-result-storage-sdk.ts +0 -123
  383. package/src/hooks/anthropic-context-window-limit-recovery/tool-result-storage.ts +0 -119
  384. package/src/hooks/anthropic-context-window-limit-recovery/types.ts +0 -44
  385. package/src/hooks/anthropic-effort/hook.ts +0 -93
  386. package/src/hooks/anthropic-effort/index.ts +0 -1
  387. package/src/hooks/auto-slash-command/constants.ts +0 -12
  388. package/src/hooks/auto-slash-command/detector.ts +0 -88
  389. package/src/hooks/auto-slash-command/executor.ts +0 -165
  390. package/src/hooks/auto-slash-command/hook.ts +0 -238
  391. package/src/hooks/auto-slash-command/index.ts +0 -7
  392. package/src/hooks/auto-slash-command/processed-command-store.ts +0 -74
  393. package/src/hooks/auto-slash-command/types.ts +0 -42
  394. package/src/hooks/background-notification/hook.ts +0 -54
  395. package/src/hooks/background-notification/index.ts +0 -2
  396. package/src/hooks/background-notification/types.ts +0 -5
  397. package/src/hooks/bash-file-read-guard.ts +0 -44
  398. package/src/hooks/category-skill-reminder/formatter.ts +0 -37
  399. package/src/hooks/category-skill-reminder/hook.ts +0 -142
  400. package/src/hooks/category-skill-reminder/index.ts +0 -1
  401. package/src/hooks/claude-code-hooks/AGENTS.md +0 -41
  402. package/src/hooks/claude-code-hooks/claude-code-hooks-hook.ts +0 -28
  403. package/src/hooks/claude-code-hooks/config-loader.ts +0 -151
  404. package/src/hooks/claude-code-hooks/config.ts +0 -147
  405. package/src/hooks/claude-code-hooks/dispatch-hook.ts +0 -27
  406. package/src/hooks/claude-code-hooks/execute-http-hook.ts +0 -116
  407. package/src/hooks/claude-code-hooks/handlers/chat-message-handler.ts +0 -140
  408. package/src/hooks/claude-code-hooks/handlers/pre-compact-handler.ts +0 -41
  409. package/src/hooks/claude-code-hooks/handlers/session-event-handler.ts +0 -137
  410. package/src/hooks/claude-code-hooks/handlers/tool-execute-after-handler.ts +0 -160
  411. package/src/hooks/claude-code-hooks/handlers/tool-execute-before-handler.ts +0 -93
  412. package/src/hooks/claude-code-hooks/index.ts +0 -1
  413. package/src/hooks/claude-code-hooks/plugin-config.ts +0 -12
  414. package/src/hooks/claude-code-hooks/post-tool-use.ts +0 -195
  415. package/src/hooks/claude-code-hooks/pre-compact.ts +0 -105
  416. package/src/hooks/claude-code-hooks/pre-tool-use.ts +0 -168
  417. package/src/hooks/claude-code-hooks/session-hook-state.ts +0 -17
  418. package/src/hooks/claude-code-hooks/stop.ts +0 -118
  419. package/src/hooks/claude-code-hooks/todo.ts +0 -76
  420. package/src/hooks/claude-code-hooks/tool-input-cache.ts +0 -82
  421. package/src/hooks/claude-code-hooks/transcript.ts +0 -248
  422. package/src/hooks/claude-code-hooks/types.ts +0 -214
  423. package/src/hooks/claude-code-hooks/user-prompt-submit.ts +0 -121
  424. package/src/hooks/comment-checker/cli-runner.ts +0 -127
  425. package/src/hooks/comment-checker/cli.ts +0 -269
  426. package/src/hooks/comment-checker/downloader.ts +0 -170
  427. package/src/hooks/comment-checker/hook.ts +0 -192
  428. package/src/hooks/comment-checker/index.ts +0 -1
  429. package/src/hooks/comment-checker/pending-calls.ts +0 -45
  430. package/src/hooks/comment-checker/types.ts +0 -33
  431. package/src/hooks/compaction-context-injector/compaction-context-prompt.ts +0 -56
  432. package/src/hooks/compaction-context-injector/constants.ts +0 -5
  433. package/src/hooks/compaction-context-injector/hook.ts +0 -164
  434. package/src/hooks/compaction-context-injector/index.ts +0 -1
  435. package/src/hooks/compaction-context-injector/recovery-prompt-config.ts +0 -77
  436. package/src/hooks/compaction-context-injector/recovery.ts +0 -163
  437. package/src/hooks/compaction-context-injector/session-id.ts +0 -8
  438. package/src/hooks/compaction-context-injector/session-prompt-config-resolver.ts +0 -120
  439. package/src/hooks/compaction-context-injector/tail-monitor.ts +0 -52
  440. package/src/hooks/compaction-context-injector/types.ts +0 -25
  441. package/src/hooks/compaction-context-injector/validated-model.ts +0 -47
  442. package/src/hooks/compaction-todo-preserver/hook.ts +0 -127
  443. package/src/hooks/compaction-todo-preserver/index.ts +0 -2
  444. package/src/hooks/context-window-monitor.ts +0 -113
  445. package/src/hooks/delegate-task-retry/guidance.ts +0 -45
  446. package/src/hooks/delegate-task-retry/hook.ts +0 -22
  447. package/src/hooks/delegate-task-retry/index.ts +0 -4
  448. package/src/hooks/delegate-task-retry/patterns.ts +0 -77
  449. package/src/hooks/directory-agents-injector/constants.ts +0 -7
  450. package/src/hooks/directory-agents-injector/finder.ts +0 -38
  451. package/src/hooks/directory-agents-injector/hook.ts +0 -80
  452. package/src/hooks/directory-agents-injector/index.ts +0 -1
  453. package/src/hooks/directory-agents-injector/injector.ts +0 -59
  454. package/src/hooks/directory-agents-injector/storage.ts +0 -8
  455. package/src/hooks/directory-readme-injector/constants.ts +0 -7
  456. package/src/hooks/directory-readme-injector/finder.ts +0 -33
  457. package/src/hooks/directory-readme-injector/hook.ts +0 -80
  458. package/src/hooks/directory-readme-injector/index.ts +0 -1
  459. package/src/hooks/directory-readme-injector/injector.ts +0 -59
  460. package/src/hooks/directory-readme-injector/storage.ts +0 -8
  461. package/src/hooks/edit-error-recovery/hook.ts +0 -58
  462. package/src/hooks/edit-error-recovery/index.ts +0 -5
  463. package/src/hooks/empty-task-response-detector.ts +0 -27
  464. package/src/hooks/fast-apply/hook.ts +0 -11
  465. package/src/hooks/fast-apply/index.ts +0 -1
  466. package/src/hooks/fast-apply/ollama-client.ts +0 -53
  467. package/src/hooks/fast-apply/tool-execute-before-handler.ts +0 -86
  468. package/src/hooks/guard/AGENTS.md +0 -64
  469. package/src/hooks/guard/background-launch-session-tracking.ts +0 -97
  470. package/src/hooks/guard/bob-path.ts +0 -8
  471. package/src/hooks/guard/boulder-continuation-injector.ts +0 -109
  472. package/src/hooks/guard/boulder-session-lineage.ts +0 -44
  473. package/src/hooks/guard/event-handler.ts +0 -104
  474. package/src/hooks/guard/final-wave-approval-gate.ts +0 -47
  475. package/src/hooks/guard/final-wave-plan-state.ts +0 -60
  476. package/src/hooks/guard/guard-hook.ts +0 -27
  477. package/src/hooks/guard/hook-name.ts +0 -1
  478. package/src/hooks/guard/idle-event.ts +0 -341
  479. package/src/hooks/guard/index.ts +0 -3
  480. package/src/hooks/guard/is-abort-error.ts +0 -20
  481. package/src/hooks/guard/recent-model-resolver.ts +0 -89
  482. package/src/hooks/guard/resolve-active-boulder-session.ts +0 -29
  483. package/src/hooks/guard/session-last-agent.ts +0 -153
  484. package/src/hooks/guard/subagent-session-id.ts +0 -54
  485. package/src/hooks/guard/system-reminder-templates.ts +0 -249
  486. package/src/hooks/guard/task-context.ts +0 -45
  487. package/src/hooks/guard/tool-execute-after.ts +0 -209
  488. package/src/hooks/guard/tool-execute-before.ts +0 -102
  489. package/src/hooks/guard/tsconfig.json +0 -9
  490. package/src/hooks/guard/types.ts +0 -45
  491. package/src/hooks/guard/verification-reminders.ts +0 -197
  492. package/src/hooks/guard/write-edit-tool-policy.ts +0 -5
  493. package/src/hooks/hashline-edit-diff-enhancer/hook.ts +0 -106
  494. package/src/hooks/hashline-read-enhancer/hook.ts +0 -193
  495. package/src/hooks/hashline-read-enhancer/index.ts +0 -1
  496. package/src/hooks/index.ts +0 -56
  497. package/src/hooks/interactive-bash-session/constants.ts +0 -13
  498. package/src/hooks/interactive-bash-session/hook.ts +0 -125
  499. package/src/hooks/interactive-bash-session/index.ts +0 -3
  500. package/src/hooks/interactive-bash-session/interactive-bash-session-tracker.ts +0 -119
  501. package/src/hooks/interactive-bash-session/parser.ts +0 -118
  502. package/src/hooks/interactive-bash-session/state-manager.ts +0 -35
  503. package/src/hooks/interactive-bash-session/storage.ts +0 -59
  504. package/src/hooks/interactive-bash-session/tmux-command-parser.ts +0 -125
  505. package/src/hooks/interactive-bash-session/types.ts +0 -11
  506. package/src/hooks/json-error-recovery/hook.ts +0 -58
  507. package/src/hooks/json-error-recovery/index.ts +0 -6
  508. package/src/hooks/keyword-detector/AGENTS.md +0 -57
  509. package/src/hooks/keyword-detector/analyze/default.ts +0 -28
  510. package/src/hooks/keyword-detector/analyze/index.ts +0 -1
  511. package/src/hooks/keyword-detector/constants.ts +0 -45
  512. package/src/hooks/keyword-detector/detector.ts +0 -53
  513. package/src/hooks/keyword-detector/hook.ts +0 -143
  514. package/src/hooks/keyword-detector/index.ts +0 -5
  515. package/src/hooks/keyword-detector/search/default.ts +0 -20
  516. package/src/hooks/keyword-detector/search/index.ts +0 -1
  517. package/src/hooks/keyword-detector/types.ts +0 -4
  518. package/src/hooks/keyword-detector/ultrawork/default.ts +0 -302
  519. package/src/hooks/keyword-detector/ultrawork/gemini.ts +0 -290
  520. package/src/hooks/keyword-detector/ultrawork/gpt.ts +0 -171
  521. package/src/hooks/keyword-detector/ultrawork/index.ts +0 -56
  522. package/src/hooks/keyword-detector/ultrawork/planner.ts +0 -140
  523. package/src/hooks/keyword-detector/ultrawork/source-detector.ts +0 -65
  524. package/src/hooks/legacy-plugin-toast/auto-migrate-runner.ts +0 -2
  525. package/src/hooks/legacy-plugin-toast/auto-migrate.ts +0 -64
  526. package/src/hooks/legacy-plugin-toast/hook.ts +0 -68
  527. package/src/hooks/legacy-plugin-toast/index.ts +0 -1
  528. package/src/hooks/legacy-plugin-toast/plugin-entry-migrator.ts +0 -1
  529. package/src/hooks/model-fallback/chat-message-fallback-handler.ts +0 -74
  530. package/src/hooks/model-fallback/hook.ts +0 -201
  531. package/src/hooks/model-fallback/next-fallback.ts +0 -84
  532. package/src/hooks/non-interactive-env/constants.ts +0 -70
  533. package/src/hooks/non-interactive-env/detector.ts +0 -19
  534. package/src/hooks/non-interactive-env/index.ts +0 -5
  535. package/src/hooks/non-interactive-env/non-interactive-env-hook.ts +0 -73
  536. package/src/hooks/non-interactive-env/types.ts +0 -3
  537. package/src/hooks/preemptive-compaction-degradation-monitor.ts +0 -212
  538. package/src/hooks/preemptive-compaction-no-text-tail.ts +0 -70
  539. package/src/hooks/preemptive-compaction.ts +0 -218
  540. package/src/hooks/question-label-truncator/hook.ts +0 -62
  541. package/src/hooks/question-label-truncator/index.ts +0 -1
  542. package/src/hooks/ralph-loop/AGENTS.md +0 -62
  543. package/src/hooks/ralph-loop/command-arguments.ts +0 -30
  544. package/src/hooks/ralph-loop/completion-handler.ts +0 -65
  545. package/src/hooks/ralph-loop/completion-promise-detector-test-input.ts +0 -23
  546. package/src/hooks/ralph-loop/completion-promise-detector.ts +0 -165
  547. package/src/hooks/ralph-loop/constants.ts +0 -7
  548. package/src/hooks/ralph-loop/continuation-prompt-builder.ts +0 -77
  549. package/src/hooks/ralph-loop/continuation-prompt-injector.ts +0 -91
  550. package/src/hooks/ralph-loop/index.ts +0 -6
  551. package/src/hooks/ralph-loop/iteration-continuation.ts +0 -64
  552. package/src/hooks/ralph-loop/logician-verification-detector.ts +0 -88
  553. package/src/hooks/ralph-loop/loop-session-recovery.ts +0 -33
  554. package/src/hooks/ralph-loop/loop-state-controller.ts +0 -178
  555. package/src/hooks/ralph-loop/message-storage-directory.ts +0 -1
  556. package/src/hooks/ralph-loop/pending-verification-handler.ts +0 -152
  557. package/src/hooks/ralph-loop/ralph-loop-event-handler.ts +0 -231
  558. package/src/hooks/ralph-loop/ralph-loop-hook.ts +0 -90
  559. package/src/hooks/ralph-loop/session-event-handler.ts +0 -56
  560. package/src/hooks/ralph-loop/session-reset-strategy.ts +0 -69
  561. package/src/hooks/ralph-loop/storage.ts +0 -164
  562. package/src/hooks/ralph-loop/types.ts +0 -25
  563. package/src/hooks/ralph-loop/verification-failure-handler.ts +0 -103
  564. package/src/hooks/ralph-loop/with-timeout.ts +0 -20
  565. package/src/hooks/read-image-resizer/hook.ts +0 -209
  566. package/src/hooks/read-image-resizer/image-dimensions.ts +0 -191
  567. package/src/hooks/read-image-resizer/image-resizer.ts +0 -191
  568. package/src/hooks/read-image-resizer/index.ts +0 -1
  569. package/src/hooks/read-image-resizer/png-fallback-resizer.ts +0 -359
  570. package/src/hooks/read-image-resizer/types.ts +0 -16
  571. package/src/hooks/rules-injector/AGENTS.md +0 -53
  572. package/src/hooks/rules-injector/cache.ts +0 -27
  573. package/src/hooks/rules-injector/constants.ts +0 -31
  574. package/src/hooks/rules-injector/finder.ts +0 -3
  575. package/src/hooks/rules-injector/hook.ts +0 -94
  576. package/src/hooks/rules-injector/index.ts +0 -2
  577. package/src/hooks/rules-injector/injector.ts +0 -189
  578. package/src/hooks/rules-injector/matcher.ts +0 -63
  579. package/src/hooks/rules-injector/output-path.ts +0 -22
  580. package/src/hooks/rules-injector/parser.ts +0 -211
  581. package/src/hooks/rules-injector/project-root-finder.ts +0 -36
  582. package/src/hooks/rules-injector/rule-distance.ts +0 -53
  583. package/src/hooks/rules-injector/rule-file-finder.ts +0 -139
  584. package/src/hooks/rules-injector/rule-file-scanner.ts +0 -55
  585. package/src/hooks/rules-injector/storage.ts +0 -59
  586. package/src/hooks/rules-injector/types.ts +0 -57
  587. package/src/hooks/runtime-fallback/AGENTS.md +0 -102
  588. package/src/hooks/runtime-fallback/agent-resolver.ts +0 -50
  589. package/src/hooks/runtime-fallback/auto-retry-signal.ts +0 -32
  590. package/src/hooks/runtime-fallback/auto-retry.ts +0 -228
  591. package/src/hooks/runtime-fallback/chat-message-handler.ts +0 -62
  592. package/src/hooks/runtime-fallback/constants.ts +0 -47
  593. package/src/hooks/runtime-fallback/error-classifier.ts +0 -183
  594. package/src/hooks/runtime-fallback/event-handler.ts +0 -213
  595. package/src/hooks/runtime-fallback/fallback-bootstrap-model.ts +0 -63
  596. package/src/hooks/runtime-fallback/fallback-models.ts +0 -86
  597. package/src/hooks/runtime-fallback/fallback-retry-dispatcher.ts +0 -55
  598. package/src/hooks/runtime-fallback/fallback-state.ts +0 -74
  599. package/src/hooks/runtime-fallback/hook.ts +0 -87
  600. package/src/hooks/runtime-fallback/index.ts +0 -2
  601. package/src/hooks/runtime-fallback/last-user-retry-parts.ts +0 -20
  602. package/src/hooks/runtime-fallback/message-update-handler.ts +0 -168
  603. package/src/hooks/runtime-fallback/retry-model-payload.ts +0 -30
  604. package/src/hooks/runtime-fallback/session-messages.ts +0 -38
  605. package/src/hooks/runtime-fallback/session-status-handler.ts +0 -126
  606. package/src/hooks/runtime-fallback/types.ts +0 -77
  607. package/src/hooks/runtime-fallback/visible-assistant-response.ts +0 -80
  608. package/src/hooks/session-notification-content.ts +0 -145
  609. package/src/hooks/session-notification-formatting.ts +0 -25
  610. package/src/hooks/session-notification-scheduler.ts +0 -188
  611. package/src/hooks/session-notification-sender.ts +0 -117
  612. package/src/hooks/session-notification-utils.ts +0 -80
  613. package/src/hooks/session-notification.ts +0 -219
  614. package/src/hooks/session-recovery/AGENTS.md +0 -59
  615. package/src/hooks/session-recovery/constants.ts +0 -5
  616. package/src/hooks/session-recovery/detect-error-type.ts +0 -102
  617. package/src/hooks/session-recovery/hook.ts +0 -166
  618. package/src/hooks/session-recovery/index.ts +0 -7
  619. package/src/hooks/session-recovery/recover-empty-content-message-sdk.ts +0 -201
  620. package/src/hooks/session-recovery/recover-thinking-block-order.ts +0 -137
  621. package/src/hooks/session-recovery/recover-thinking-disabled-violation.ts +0 -75
  622. package/src/hooks/session-recovery/recover-tool-result-missing.ts +0 -108
  623. package/src/hooks/session-recovery/recover-unavailable-tool.ts +0 -108
  624. package/src/hooks/session-recovery/resume.ts +0 -49
  625. package/src/hooks/session-recovery/storage/empty-messages.ts +0 -47
  626. package/src/hooks/session-recovery/storage/empty-text.ts +0 -118
  627. package/src/hooks/session-recovery/storage/message-dir.ts +0 -1
  628. package/src/hooks/session-recovery/storage/messages-reader.ts +0 -83
  629. package/src/hooks/session-recovery/storage/orphan-thinking-search.ts +0 -43
  630. package/src/hooks/session-recovery/storage/part-content.ts +0 -28
  631. package/src/hooks/session-recovery/storage/part-id.ts +0 -5
  632. package/src/hooks/session-recovery/storage/parts-reader.ts +0 -56
  633. package/src/hooks/session-recovery/storage/text-part-injector.ts +0 -63
  634. package/src/hooks/session-recovery/storage/thinking-block-search.ts +0 -42
  635. package/src/hooks/session-recovery/storage/thinking-prepend.ts +0 -223
  636. package/src/hooks/session-recovery/storage/thinking-strip.ts +0 -67
  637. package/src/hooks/session-recovery/storage.ts +0 -34
  638. package/src/hooks/session-recovery/types.ts +0 -101
  639. package/src/hooks/session-todo-status.ts +0 -20
  640. package/src/hooks/shared/compaction-model-resolver.ts +0 -34
  641. package/src/hooks/shared/shared/compaction-model-resolver.ts +0 -34
  642. package/src/hooks/start-work/context-info-builder.ts +0 -319
  643. package/src/hooks/start-work/index.ts +0 -4
  644. package/src/hooks/start-work/parse-user-request.ts +0 -32
  645. package/src/hooks/start-work/start-work-hook.ts +0 -135
  646. package/src/hooks/start-work/worktree-block.ts +0 -11
  647. package/src/hooks/start-work/worktree-detector.ts +0 -77
  648. package/src/hooks/stop-continuation-guard/hook.ts +0 -122
  649. package/src/hooks/stop-continuation-guard/index.ts +0 -2
  650. package/src/hooks/strategist-md-only/agent-matcher.ts +0 -5
  651. package/src/hooks/strategist-md-only/agent-resolution.ts +0 -70
  652. package/src/hooks/strategist-md-only/constants.ts +0 -78
  653. package/src/hooks/strategist-md-only/hook.ts +0 -82
  654. package/src/hooks/strategist-md-only/index.ts +0 -2
  655. package/src/hooks/strategist-md-only/path-policy.ts +0 -41
  656. package/src/hooks/sub-notepad/constants.ts +0 -29
  657. package/src/hooks/sub-notepad/hook.ts +0 -44
  658. package/src/hooks/sub-notepad/index.ts +0 -3
  659. package/src/hooks/task-reminder/hook.ts +0 -59
  660. package/src/hooks/task-reminder/index.ts +0 -1
  661. package/src/hooks/task-resume-info/hook.ts +0 -39
  662. package/src/hooks/task-resume-info/index.ts +0 -1
  663. package/src/hooks/tasks-todowrite-disabler/constants.ts +0 -30
  664. package/src/hooks/tasks-todowrite-disabler/hook.ts +0 -34
  665. package/src/hooks/tasks-todowrite-disabler/index.ts +0 -2
  666. package/src/hooks/think-mode/detector.ts +0 -59
  667. package/src/hooks/think-mode/hook.ts +0 -76
  668. package/src/hooks/think-mode/index.ts +0 -5
  669. package/src/hooks/think-mode/switcher.ts +0 -100
  670. package/src/hooks/think-mode/types.ts +0 -16
  671. package/src/hooks/thinking-block-validator/hook.ts +0 -181
  672. package/src/hooks/thinking-block-validator/index.ts +0 -1
  673. package/src/hooks/todo-continuation-enforcer/AGENTS.md +0 -65
  674. package/src/hooks/todo-continuation-enforcer/abort-detection.ts +0 -17
  675. package/src/hooks/todo-continuation-enforcer/compaction-guard.ts +0 -39
  676. package/src/hooks/todo-continuation-enforcer/constants.ts +0 -25
  677. package/src/hooks/todo-continuation-enforcer/continuation-injection.ts +0 -222
  678. package/src/hooks/todo-continuation-enforcer/countdown.ts +0 -86
  679. package/src/hooks/todo-continuation-enforcer/handler.ts +0 -99
  680. package/src/hooks/todo-continuation-enforcer/idle-event.ts +0 -225
  681. package/src/hooks/todo-continuation-enforcer/index.ts +0 -59
  682. package/src/hooks/todo-continuation-enforcer/message-directory.ts +0 -1
  683. package/src/hooks/todo-continuation-enforcer/non-idle-events.ts +0 -107
  684. package/src/hooks/todo-continuation-enforcer/pending-question-detection.ts +0 -40
  685. package/src/hooks/todo-continuation-enforcer/resolve-message-info.ts +0 -48
  686. package/src/hooks/todo-continuation-enforcer/session-state.ts +0 -283
  687. package/src/hooks/todo-continuation-enforcer/stagnation-detection.ts +0 -36
  688. package/src/hooks/todo-continuation-enforcer/todo.ts +0 -11
  689. package/src/hooks/todo-continuation-enforcer/token-limit-detection.ts +0 -38
  690. package/src/hooks/todo-continuation-enforcer/types.ts +0 -74
  691. package/src/hooks/todo-description-override/description.ts +0 -28
  692. package/src/hooks/todo-description-override/hook.ts +0 -14
  693. package/src/hooks/todo-description-override/index.ts +0 -1
  694. package/src/hooks/tool-output-truncator.ts +0 -66
  695. package/src/hooks/tool-pair-validator/hook.ts +0 -184
  696. package/src/hooks/tool-pair-validator/index.ts +0 -1
  697. package/src/hooks/unstable-agent-babysitter/index.ts +0 -9
  698. package/src/hooks/unstable-agent-babysitter/task-message-analyzer.ts +0 -110
  699. package/src/hooks/unstable-agent-babysitter/unstable-agent-babysitter-hook.ts +0 -238
  700. package/src/hooks/webfetch-redirect-guard/constants.ts +0 -11
  701. package/src/hooks/webfetch-redirect-guard/hook.ts +0 -123
  702. package/src/hooks/webfetch-redirect-guard/index.ts +0 -1
  703. package/src/hooks/webfetch-redirect-guard/redirect-resolution.ts +0 -89
  704. package/src/hooks/write-existing-file-guard/hook.ts +0 -108
  705. package/src/hooks/write-existing-file-guard/index.ts +0 -1
  706. package/src/hooks/write-existing-file-guard/session-read-permissions.ts +0 -36
  707. package/src/hooks/write-existing-file-guard/tool-execute-before-handler.ts +0 -176
  708. package/src/index.ts +0 -254
  709. package/src/internals/plugins/pty/LICENSE +0 -21
  710. package/src/internals/plugins/pty/constants.ts +0 -7
  711. package/src/internals/plugins/pty/plugin.ts +0 -28
  712. package/src/internals/plugins/pty/pty/buffer.ts +0 -75
  713. package/src/internals/plugins/pty/pty/formatters.ts +0 -22
  714. package/src/internals/plugins/pty/pty/manager.ts +0 -175
  715. package/src/internals/plugins/pty/pty/notification-manager.ts +0 -75
  716. package/src/internals/plugins/pty/pty/output-manager.ts +0 -29
  717. package/src/internals/plugins/pty/pty/permissions.ts +0 -115
  718. package/src/internals/plugins/pty/pty/session-lifecycle.ts +0 -161
  719. package/src/internals/plugins/pty/pty/tools/kill.ts +0 -41
  720. package/src/internals/plugins/pty/pty/tools/kill.txt +0 -25
  721. package/src/internals/plugins/pty/pty/tools/list.ts +0 -25
  722. package/src/internals/plugins/pty/pty/tools/list.txt +0 -22
  723. package/src/internals/plugins/pty/pty/tools/read.ts +0 -234
  724. package/src/internals/plugins/pty/pty/tools/read.txt +0 -39
  725. package/src/internals/plugins/pty/pty/tools/spawn.ts +0 -71
  726. package/src/internals/plugins/pty/pty/tools/spawn.txt +0 -47
  727. package/src/internals/plugins/pty/pty/tools/write.ts +0 -96
  728. package/src/internals/plugins/pty/pty/tools/write.txt +0 -28
  729. package/src/internals/plugins/pty/pty/types.ts +0 -67
  730. package/src/internals/plugins/pty/pty/utils.ts +0 -21
  731. package/src/internals/plugins/pty/pty/wildcard.ts +0 -62
  732. package/src/internals/plugins/pty/shared/constants.ts +0 -7
  733. package/src/internals/plugins/pty/types.ts +0 -7
  734. package/src/internals/plugins/subtask2/LICENSE +0 -128
  735. package/src/internals/plugins/subtask2/commands/index.ts +0 -7
  736. package/src/internals/plugins/subtask2/commands/loader.ts +0 -39
  737. package/src/internals/plugins/subtask2/commands/manifest.ts +0 -60
  738. package/src/internals/plugins/subtask2/commands/resolver.ts +0 -28
  739. package/src/internals/plugins/subtask2/core/plugin.ts +0 -52
  740. package/src/internals/plugins/subtask2/core/state.ts +0 -764
  741. package/src/internals/plugins/subtask2/features/auto.ts +0 -57
  742. package/src/internals/plugins/subtask2/features/index.ts +0 -9
  743. package/src/internals/plugins/subtask2/features/inline-subtasks.ts +0 -205
  744. package/src/internals/plugins/subtask2/features/parallel.ts +0 -148
  745. package/src/internals/plugins/subtask2/features/results.ts +0 -48
  746. package/src/internals/plugins/subtask2/features/returns.ts +0 -273
  747. package/src/internals/plugins/subtask2/features/turns.ts +0 -190
  748. package/src/internals/plugins/subtask2/hooks/command-hooks.ts +0 -283
  749. package/src/internals/plugins/subtask2/hooks/message-hooks.ts +0 -603
  750. package/src/internals/plugins/subtask2/hooks/session-idle-hook.ts +0 -358
  751. package/src/internals/plugins/subtask2/hooks/tool-hooks.ts +0 -309
  752. package/src/internals/plugins/subtask2/loop.ts +0 -122
  753. package/src/internals/plugins/subtask2/parsing/auto.ts +0 -33
  754. package/src/internals/plugins/subtask2/parsing/commands.ts +0 -154
  755. package/src/internals/plugins/subtask2/parsing/frontmatter.ts +0 -20
  756. package/src/internals/plugins/subtask2/parsing/index.ts +0 -10
  757. package/src/internals/plugins/subtask2/parsing/overrides.ts +0 -68
  758. package/src/internals/plugins/subtask2/parsing/parallel.ts +0 -91
  759. package/src/internals/plugins/subtask2/parsing/turns.ts +0 -78
  760. package/src/internals/plugins/subtask2/types.ts +0 -41
  761. package/src/internals/plugins/subtask2/utils/config.ts +0 -100
  762. package/src/internals/plugins/subtask2/utils/index.ts +0 -7
  763. package/src/internals/plugins/subtask2/utils/logger.ts +0 -67
  764. package/src/internals/plugins/subtask2/utils/prompts.ts +0 -117
  765. package/src/lsp/index.ts +0 -16
  766. package/src/mcp/context7.ts +0 -9
  767. package/src/mcp/index.ts +0 -53
  768. package/src/mcp/registry.ts +0 -164
  769. package/src/mcp/types.ts +0 -19
  770. package/src/permissions/index.ts +0 -25
  771. package/src/plugin/AGENTS.md +0 -54
  772. package/src/plugin/available-categories.ts +0 -24
  773. package/src/plugin/chat-headers.ts +0 -141
  774. package/src/plugin/chat-message.ts +0 -307
  775. package/src/plugin/chat-params.ts +0 -182
  776. package/src/plugin/command-execute-before.ts +0 -80
  777. package/src/plugin/event.ts +0 -639
  778. package/src/plugin/hooks/create-continuation-hooks.ts +0 -128
  779. package/src/plugin/hooks/create-core-hooks.ts +0 -47
  780. package/src/plugin/hooks/create-session-hooks.ts +0 -269
  781. package/src/plugin/hooks/create-skill-hooks.ts +0 -50
  782. package/src/plugin/hooks/create-tool-guard-hooks.ts +0 -159
  783. package/src/plugin/hooks/create-transform-hooks.ts +0 -85
  784. package/src/plugin/messages-transform.ts +0 -28
  785. package/src/plugin/normalize-tool-arg-schemas.ts +0 -75
  786. package/src/plugin/recent-synthetic-idles.ts +0 -20
  787. package/src/plugin/session-agent-resolver.ts +0 -37
  788. package/src/plugin/session-status-normalizer.ts +0 -22
  789. package/src/plugin/skill-context.ts +0 -150
  790. package/src/plugin/skill-discovery-config.ts +0 -32
  791. package/src/plugin/startup-diagnostics.ts +0 -27
  792. package/src/plugin/system-transform.ts +0 -6
  793. package/src/plugin/tool-execute-after.ts +0 -178
  794. package/src/plugin/tool-execute-before.ts +0 -222
  795. package/src/plugin/tool-registry.ts +0 -286
  796. package/src/plugin/types.ts +0 -26
  797. package/src/plugin/ultrawork-db-model-override.ts +0 -142
  798. package/src/plugin/ultrawork-model-override.ts +0 -196
  799. package/src/plugin/ultrawork-variant-availability.ts +0 -51
  800. package/src/plugin/unstable-agent-babysitter.ts +0 -41
  801. package/src/plugin-config.ts +0 -314
  802. package/src/plugin-dispose.ts +0 -51
  803. package/src/plugin-handlers/AGENTS.md +0 -92
  804. package/src/plugin-handlers/agent-config-handler.ts +0 -510
  805. package/src/plugin-handlers/agent-key-remapper.ts +0 -39
  806. package/src/plugin-handlers/agent-override-protection.ts +0 -38
  807. package/src/plugin-handlers/agent-priority-order.ts +0 -63
  808. package/src/plugin-handlers/category-config-resolver.ts +0 -9
  809. package/src/plugin-handlers/command-config-handler.ts +0 -115
  810. package/src/plugin-handlers/config-handler.ts +0 -61
  811. package/src/plugin-handlers/index.ts +0 -10
  812. package/src/plugin-handlers/mcp-config-handler.test.ts +0 -63
  813. package/src/plugin-handlers/mcp-config-handler.ts +0 -220
  814. package/src/plugin-handlers/plan-model-inheritance.ts +0 -27
  815. package/src/plugin-handlers/plugin-components-loader.ts +0 -70
  816. package/src/plugin-handlers/provider-config-handler.ts +0 -73
  817. package/src/plugin-handlers/strategist-agent-config-builder.ts +0 -128
  818. package/src/plugin-handlers/tool-config-handler.ts +0 -193
  819. package/src/plugin-interface.ts +0 -83
  820. package/src/plugin-state.ts +0 -18
  821. package/src/shared/AGENTS.md +0 -54
  822. package/src/shared/agent-display-names.test.ts +0 -9
  823. package/src/shared/agent-display-names.ts +0 -187
  824. package/src/shared/agent-tool-restrictions.ts +0 -80
  825. package/src/shared/agent-variant.ts +0 -101
  826. package/src/shared/agents-config-dir.ts +0 -23
  827. package/src/shared/archive-entry-validator.ts +0 -83
  828. package/src/shared/background-output-consumption.ts +0 -69
  829. package/src/shared/binary-downloader.ts +0 -127
  830. package/src/shared/claude-config-dir.ts +0 -16
  831. package/src/shared/closure-protocol.ts +0 -53
  832. package/src/shared/command-executor/embedded-commands.ts +0 -26
  833. package/src/shared/command-executor/execute-command.ts +0 -28
  834. package/src/shared/command-executor/execute-hook-command.ts +0 -129
  835. package/src/shared/command-executor/home-directory.ts +0 -5
  836. package/src/shared/command-executor/resolve-commands-in-text.ts +0 -49
  837. package/src/shared/command-executor/shell-path.ts +0 -27
  838. package/src/shared/command-executor.ts +0 -5
  839. package/src/shared/compaction-agent-config-checkpoint.ts +0 -42
  840. package/src/shared/compaction-marker.ts +0 -61
  841. package/src/shared/config-errors.ts +0 -18
  842. package/src/shared/connected-providers-cache.ts +0 -215
  843. package/src/shared/contains-path.ts +0 -50
  844. package/src/shared/context-limit-resolver.ts +0 -42
  845. package/src/shared/data-path.ts +0 -64
  846. package/src/shared/deep-merge.ts +0 -53
  847. package/src/shared/disabled-tools.ts +0 -19
  848. package/src/shared/dynamic-truncator.ts +0 -222
  849. package/src/shared/external-plugin-detector.ts +0 -139
  850. package/src/shared/fallback-chain-from-models.ts +0 -124
  851. package/src/shared/fallback-model-availability.ts +0 -102
  852. package/src/shared/file-reference-resolver.ts +0 -99
  853. package/src/shared/file-utils.ts +0 -34
  854. package/src/shared/first-message-variant.ts +0 -28
  855. package/src/shared/frontmatter.ts +0 -31
  856. package/src/shared/git-worktree/collect-git-diff-stats.ts +0 -56
  857. package/src/shared/git-worktree/format-file-changes.ts +0 -46
  858. package/src/shared/git-worktree/index.ts +0 -7
  859. package/src/shared/git-worktree/parse-diff-numstat.ts +0 -27
  860. package/src/shared/git-worktree/parse-status-porcelain-line.ts +0 -27
  861. package/src/shared/git-worktree/parse-status-porcelain.ts +0 -15
  862. package/src/shared/git-worktree/types.ts +0 -8
  863. package/src/shared/hook-disabled.ts +0 -22
  864. package/src/shared/index.ts +0 -80
  865. package/src/shared/internal-initiator-marker.ts +0 -18
  866. package/src/shared/is-abort-error.ts +0 -20
  867. package/src/shared/json-file-cache-store.ts +0 -98
  868. package/src/shared/jsonc-parser.ts +0 -98
  869. package/src/shared/known-variants.ts +0 -16
  870. package/src/shared/legacy-plugin-warning.ts +0 -68
  871. package/src/shared/load-opencode-plugins.ts +0 -60
  872. package/src/shared/log-legacy-plugin-startup-warning.ts +0 -44
  873. package/src/shared/logger.ts +0 -56
  874. package/src/shared/mcp-static-export.ts +0 -119
  875. package/src/shared/merge-categories.ts +0 -18
  876. package/src/shared/migrate-legacy-config-file.ts +0 -66
  877. package/src/shared/migrate-legacy-plugin-entry.ts +0 -75
  878. package/src/shared/migration/agent-category.ts +0 -60
  879. package/src/shared/migration/agent-names.ts +0 -108
  880. package/src/shared/migration/config-migration.ts +0 -210
  881. package/src/shared/migration/hook-names.ts +0 -40
  882. package/src/shared/migration/migrations-sidecar.ts +0 -92
  883. package/src/shared/migration/model-versions.ts +0 -50
  884. package/src/shared/migration.ts +0 -5
  885. package/src/shared/mode-routing.test.ts +0 -88
  886. package/src/shared/mode-routing.ts +0 -30
  887. package/src/shared/model-availability.ts +0 -294
  888. package/src/shared/model-capabilities/bundled-snapshot.ts +0 -15
  889. package/src/shared/model-capabilities/get-model-capabilities.ts +0 -140
  890. package/src/shared/model-capabilities/index.ts +0 -9
  891. package/src/shared/model-capabilities/runtime-model-readers.ts +0 -190
  892. package/src/shared/model-capabilities/types.ts +0 -80
  893. package/src/shared/model-capabilities-cache.ts +0 -213
  894. package/src/shared/model-capability-aliases.ts +0 -108
  895. package/src/shared/model-capability-guardrails.ts +0 -149
  896. package/src/shared/model-capability-heuristics.ts +0 -32
  897. package/src/shared/model-error-classifier.ts +0 -214
  898. package/src/shared/model-format-normalizer.ts +0 -20
  899. package/src/shared/model-normalization.ts +0 -8
  900. package/src/shared/model-requirements.ts +0 -26
  901. package/src/shared/model-resolution-pipeline.ts +0 -216
  902. package/src/shared/model-resolution-types.ts +0 -41
  903. package/src/shared/model-resolver.ts +0 -106
  904. package/src/shared/model-sanitizer.ts +0 -12
  905. package/src/shared/model-settings-compatibility.ts +0 -200
  906. package/src/shared/model-suggestion-retry.ts +0 -182
  907. package/src/shared/normalize-sdk-response.ts +0 -36
  908. package/src/shared/opencode-command-dirs.ts +0 -36
  909. package/src/shared/opencode-config-dir-types.ts +0 -15
  910. package/src/shared/opencode-config-dir.ts +0 -135
  911. package/src/shared/opencode-http-api.ts +0 -140
  912. package/src/shared/opencode-message-dir.ts +0 -29
  913. package/src/shared/opencode-server-auth.ts +0 -190
  914. package/src/shared/opencode-storage-detection.ts +0 -34
  915. package/src/shared/opencode-storage-paths.ts +0 -7
  916. package/src/shared/opencode-version.ts +0 -80
  917. package/src/shared/parse-tools-config.ts +0 -25
  918. package/src/shared/pattern-matcher.ts +0 -46
  919. package/src/shared/permission-compat.ts +0 -86
  920. package/src/shared/plugin-command-discovery.ts +0 -28
  921. package/src/shared/plugin-entry-migrator.ts +0 -21
  922. package/src/shared/plugin-identity.ts +0 -8
  923. package/src/shared/port-utils.ts +0 -48
  924. package/src/shared/project-discovery-dirs.ts +0 -101
  925. package/src/shared/prompt-timeout-context.ts +0 -49
  926. package/src/shared/prompt-tools.ts +0 -35
  927. package/src/shared/provider-model-id-transform.ts +0 -58
  928. package/src/shared/question-denied-session-permission.ts +0 -9
  929. package/src/shared/record-type-guard.ts +0 -3
  930. package/src/shared/resolve-agent-definition-paths.ts +0 -22
  931. package/src/shared/retry-status-utils.ts +0 -19
  932. package/src/shared/runtime-plugin-config.ts +0 -98
  933. package/src/shared/safe-create-hook.ts +0 -24
  934. package/src/shared/session-category-registry.ts +0 -27
  935. package/src/shared/session-cursor.ts +0 -108
  936. package/src/shared/session-directory-resolver.ts +0 -41
  937. package/src/shared/session-injected-paths.ts +0 -59
  938. package/src/shared/session-model-state.ts +0 -15
  939. package/src/shared/session-prompt-params-helpers.ts +0 -31
  940. package/src/shared/session-prompt-params-state.ts +0 -37
  941. package/src/shared/session-tools-store.ts +0 -18
  942. package/src/shared/session-utils.ts +0 -25
  943. package/src/shared/shell-env.ts +0 -175
  944. package/src/shared/skill-path-resolver.ts +0 -26
  945. package/src/shared/snake-case.ts +0 -44
  946. package/src/shared/spawn-with-windows-hide.ts +0 -84
  947. package/src/shared/startup-diagnostics.ts +0 -76
  948. package/src/shared/system-directive.ts +0 -67
  949. package/src/shared/task-system-enabled.ts +0 -9
  950. package/src/shared/tmux/constants.ts +0 -12
  951. package/src/shared/tmux/index.ts +0 -3
  952. package/src/shared/tmux/tmux-utils/environment.ts +0 -13
  953. package/src/shared/tmux/tmux-utils/layout.ts +0 -96
  954. package/src/shared/tmux/tmux-utils/pane-close.ts +0 -48
  955. package/src/shared/tmux/tmux-utils/pane-dimensions.ts +0 -28
  956. package/src/shared/tmux/tmux-utils/pane-replace.ts +0 -73
  957. package/src/shared/tmux/tmux-utils/pane-spawn.ts +0 -94
  958. package/src/shared/tmux/tmux-utils/server-health.ts +0 -62
  959. package/src/shared/tmux/tmux-utils/session-spawn.ts +0 -145
  960. package/src/shared/tmux/tmux-utils/window-spawn.ts +0 -93
  961. package/src/shared/tmux/tmux-utils.ts +0 -15
  962. package/src/shared/tmux/types.ts +0 -4
  963. package/src/shared/tool-name.ts +0 -27
  964. package/src/shared/truncate-description.ts +0 -11
  965. package/src/shared/vision-capable-models-cache.ts +0 -17
  966. package/src/shared/write-file-atomically.ts +0 -31
  967. package/src/shared/zip-entry-listing/powershell-zip-entry-listing.ts +0 -99
  968. package/src/shared/zip-entry-listing/python-zip-entry-listing.ts +0 -55
  969. package/src/shared/zip-entry-listing/read-zip-symlink-target.ts +0 -23
  970. package/src/shared/zip-entry-listing/tar-zip-entry-listing.ts +0 -93
  971. package/src/shared/zip-entry-listing/zipinfo-zip-entry-listing.ts +0 -72
  972. package/src/shared/zip-entry-listing.ts +0 -13
  973. package/src/shared/zip-extractor.ts +0 -118
  974. package/src/skills/index.ts +0 -56
  975. package/src/testing/module-mock-lifecycle.ts +0 -143
  976. package/src/tools/AGENTS.md +0 -108
  977. package/src/tools/ast-grep/cli-binary-path-resolution.ts +0 -60
  978. package/src/tools/ast-grep/cli.ts +0 -177
  979. package/src/tools/ast-grep/constants.ts +0 -5
  980. package/src/tools/ast-grep/downloader.ts +0 -119
  981. package/src/tools/ast-grep/environment-check.ts +0 -59
  982. package/src/tools/ast-grep/index.ts +0 -5
  983. package/src/tools/ast-grep/language-support.ts +0 -60
  984. package/src/tools/ast-grep/process-output-timeout.ts +0 -28
  985. package/src/tools/ast-grep/result-formatter.ts +0 -102
  986. package/src/tools/ast-grep/sg-cli-path.ts +0 -102
  987. package/src/tools/ast-grep/sg-compact-json-output.ts +0 -54
  988. package/src/tools/ast-grep/tools.ts +0 -117
  989. package/src/tools/ast-grep/types.ts +0 -60
  990. package/src/tools/background-task/AGENTS.md +0 -53
  991. package/src/tools/background-task/clients.ts +0 -32
  992. package/src/tools/background-task/constants.ts +0 -9
  993. package/src/tools/background-task/create-background-cancel.ts +0 -115
  994. package/src/tools/background-task/create-background-output.ts +0 -159
  995. package/src/tools/background-task/create-background-task.ts +0 -126
  996. package/src/tools/background-task/delay.ts +0 -3
  997. package/src/tools/background-task/full-session-format.ts +0 -148
  998. package/src/tools/background-task/index.ts +0 -8
  999. package/src/tools/background-task/message-dir.ts +0 -1
  1000. package/src/tools/background-task/session-messages.ts +0 -22
  1001. package/src/tools/background-task/task-result-format.ts +0 -113
  1002. package/src/tools/background-task/task-status-format.ts +0 -72
  1003. package/src/tools/background-task/time-format.ts +0 -30
  1004. package/src/tools/background-task/tools.ts +0 -11
  1005. package/src/tools/background-task/truncate-text.ts +0 -4
  1006. package/src/tools/background-task/types.ts +0 -72
  1007. package/src/tools/call-omo-agent/AGENTS.md +0 -51
  1008. package/src/tools/call-omo-agent/agent-resolver.ts +0 -64
  1009. package/src/tools/call-omo-agent/background-agent-executor.ts +0 -91
  1010. package/src/tools/call-omo-agent/background-executor.ts +0 -98
  1011. package/src/tools/call-omo-agent/completion-poller.ts +0 -65
  1012. package/src/tools/call-omo-agent/constants.ts +0 -23
  1013. package/src/tools/call-omo-agent/index.ts +0 -3
  1014. package/src/tools/call-omo-agent/message-dir.ts +0 -1
  1015. package/src/tools/call-omo-agent/message-processor.ts +0 -86
  1016. package/src/tools/call-omo-agent/message-storage-directory.ts +0 -1
  1017. package/src/tools/call-omo-agent/session-creator.ts +0 -70
  1018. package/src/tools/call-omo-agent/subagent-session-creator.ts +0 -74
  1019. package/src/tools/call-omo-agent/sync-executor.ts +0 -148
  1020. package/src/tools/call-omo-agent/tool-context-with-metadata.ts +0 -10
  1021. package/src/tools/call-omo-agent/tools.ts +0 -199
  1022. package/src/tools/call-omo-agent/types.ts +0 -34
  1023. package/src/tools/delegate-task/AGENTS.md +0 -58
  1024. package/src/tools/delegate-task/anthropic-categories.ts +0 -62
  1025. package/src/tools/delegate-task/available-models.ts +0 -64
  1026. package/src/tools/delegate-task/background-continuation.ts +0 -68
  1027. package/src/tools/delegate-task/background-task.ts +0 -165
  1028. package/src/tools/delegate-task/builtin-categories.ts +0 -35
  1029. package/src/tools/delegate-task/builtin-category-definition.ts +0 -8
  1030. package/src/tools/delegate-task/cancel-unstable-agent-task.ts +0 -19
  1031. package/src/tools/delegate-task/categories.test.ts +0 -87
  1032. package/src/tools/delegate-task/categories.ts +0 -77
  1033. package/src/tools/delegate-task/category-resolver.ts +0 -309
  1034. package/src/tools/delegate-task/constants.ts +0 -351
  1035. package/src/tools/delegate-task/delegated-model-config.ts +0 -20
  1036. package/src/tools/delegate-task/error-formatting.ts +0 -51
  1037. package/src/tools/delegate-task/executor-types.ts +0 -39
  1038. package/src/tools/delegate-task/executor.ts +0 -16
  1039. package/src/tools/delegate-task/fallback-entry-resolution.ts +0 -27
  1040. package/src/tools/delegate-task/fallback-entry-settings.ts +0 -20
  1041. package/src/tools/delegate-task/git-categories.ts +0 -30
  1042. package/src/tools/delegate-task/google-categories.ts +0 -130
  1043. package/src/tools/delegate-task/index.ts +0 -4
  1044. package/src/tools/delegate-task/kimi-categories.ts +0 -40
  1045. package/src/tools/delegate-task/model-selection.ts +0 -201
  1046. package/src/tools/delegate-task/model-string-parser.test.ts +0 -90
  1047. package/src/tools/delegate-task/model-string-parser.ts +0 -63
  1048. package/src/tools/delegate-task/openai-categories.ts +0 -132
  1049. package/src/tools/delegate-task/parent-context-resolver.ts +0 -47
  1050. package/src/tools/delegate-task/prompt-builder.ts +0 -107
  1051. package/src/tools/delegate-task/resolve-call-id.ts +0 -5
  1052. package/src/tools/delegate-task/skill-resolver.ts +0 -22
  1053. package/src/tools/delegate-task/sub-agent.ts +0 -80
  1054. package/src/tools/delegate-task/subagent-discovery.test.ts +0 -123
  1055. package/src/tools/delegate-task/subagent-discovery.ts +0 -152
  1056. package/src/tools/delegate-task/subagent-resolver.ts +0 -242
  1057. package/src/tools/delegate-task/sync-continuation-deps.ts +0 -9
  1058. package/src/tools/delegate-task/sync-continuation.ts +0 -149
  1059. package/src/tools/delegate-task/sync-prompt-sender.ts +0 -137
  1060. package/src/tools/delegate-task/sync-result-fetcher.ts +0 -60
  1061. package/src/tools/delegate-task/sync-session-creator.ts +0 -29
  1062. package/src/tools/delegate-task/sync-session-poller.ts +0 -188
  1063. package/src/tools/delegate-task/sync-task-deps.ts +0 -13
  1064. package/src/tools/delegate-task/sync-task-fallback.ts +0 -68
  1065. package/src/tools/delegate-task/sync-task.ts +0 -243
  1066. package/src/tools/delegate-task/time-formatter.ts +0 -13
  1067. package/src/tools/delegate-task/timing.ts +0 -46
  1068. package/src/tools/delegate-task/token-limiter.ts +0 -123
  1069. package/src/tools/delegate-task/tools.ts +0 -259
  1070. package/src/tools/delegate-task/types.ts +0 -89
  1071. package/src/tools/delegate-task/unstable-agent-task.ts +0 -243
  1072. package/src/tools/glob/cli.ts +0 -206
  1073. package/src/tools/glob/constants.ts +0 -12
  1074. package/src/tools/glob/index.ts +0 -1
  1075. package/src/tools/glob/result-formatter.ts +0 -26
  1076. package/src/tools/glob/tools.ts +0 -49
  1077. package/src/tools/glob/types.ts +0 -23
  1078. package/src/tools/grep/cli.ts +0 -279
  1079. package/src/tools/grep/constants.ts +0 -141
  1080. package/src/tools/grep/downloader.ts +0 -128
  1081. package/src/tools/grep/index.ts +0 -1
  1082. package/src/tools/grep/result-formatter.ts +0 -60
  1083. package/src/tools/grep/tools.ts +0 -75
  1084. package/src/tools/grep/types.ts +0 -42
  1085. package/src/tools/hashline-edit/AGENTS.md +0 -92
  1086. package/src/tools/hashline-edit/autocorrect-replacement-lines.ts +0 -179
  1087. package/src/tools/hashline-edit/constants.ts +0 -10
  1088. package/src/tools/hashline-edit/diff-utils.ts +0 -53
  1089. package/src/tools/hashline-edit/edit-deduplication.ts +0 -43
  1090. package/src/tools/hashline-edit/edit-operation-primitives.ts +0 -126
  1091. package/src/tools/hashline-edit/edit-operations.ts +0 -103
  1092. package/src/tools/hashline-edit/edit-ordering.ts +0 -56
  1093. package/src/tools/hashline-edit/edit-text-normalization.ts +0 -111
  1094. package/src/tools/hashline-edit/file-text-canonicalization.ts +0 -44
  1095. package/src/tools/hashline-edit/formatter-trigger.ts +0 -132
  1096. package/src/tools/hashline-edit/hash-computation.ts +0 -154
  1097. package/src/tools/hashline-edit/hashline-chunk-formatter.ts +0 -52
  1098. package/src/tools/hashline-edit/hashline-edit-diff.ts +0 -31
  1099. package/src/tools/hashline-edit/hashline-edit-executor.ts +0 -197
  1100. package/src/tools/hashline-edit/index.ts +0 -20
  1101. package/src/tools/hashline-edit/normalize-edits.ts +0 -95
  1102. package/src/tools/hashline-edit/tool-description.ts +0 -95
  1103. package/src/tools/hashline-edit/tools.ts +0 -42
  1104. package/src/tools/hashline-edit/types.ts +0 -20
  1105. package/src/tools/hashline-edit/validation.ts +0 -181
  1106. package/src/tools/index.ts +0 -64
  1107. package/src/tools/interactive-bash/constants.ts +0 -18
  1108. package/src/tools/interactive-bash/index.ts +0 -4
  1109. package/src/tools/interactive-bash/tmux-path-resolver.ts +0 -71
  1110. package/src/tools/interactive-bash/tools.ts +0 -136
  1111. package/src/tools/look-at/assistant-message-extractor.ts +0 -67
  1112. package/src/tools/look-at/constants.ts +0 -3
  1113. package/src/tools/look-at/image-converter.ts +0 -164
  1114. package/src/tools/look-at/index.ts +0 -3
  1115. package/src/tools/look-at/look-at-arguments.ts +0 -34
  1116. package/src/tools/look-at/mime-type-inference.ts +0 -94
  1117. package/src/tools/look-at/multimodal-agent-metadata.ts +0 -166
  1118. package/src/tools/look-at/multimodal-fallback-chain.ts +0 -66
  1119. package/src/tools/look-at/session-poller.ts +0 -42
  1120. package/src/tools/look-at/tools.ts +0 -245
  1121. package/src/tools/look-at/types.ts +0 -5
  1122. package/src/tools/lsp/AGENTS.md +0 -70
  1123. package/src/tools/lsp/client.ts +0 -3
  1124. package/src/tools/lsp/config.ts +0 -3
  1125. package/src/tools/lsp/constants.ts +0 -7
  1126. package/src/tools/lsp/diagnostics-tool.ts +0 -75
  1127. package/src/tools/lsp/directory-diagnostics.ts +0 -163
  1128. package/src/tools/lsp/find-references-tool.ts +0 -43
  1129. package/src/tools/lsp/goto-definition-tool.ts +0 -42
  1130. package/src/tools/lsp/index.ts +0 -9
  1131. package/src/tools/lsp/infer-extension.ts +0 -65
  1132. package/src/tools/lsp/language-config.ts +0 -5
  1133. package/src/tools/lsp/language-mappings.ts +0 -171
  1134. package/src/tools/lsp/lsp-client-connection.ts +0 -66
  1135. package/src/tools/lsp/lsp-client-transport.ts +0 -210
  1136. package/src/tools/lsp/lsp-client-wrapper.ts +0 -116
  1137. package/src/tools/lsp/lsp-client.ts +0 -129
  1138. package/src/tools/lsp/lsp-formatters.ts +0 -193
  1139. package/src/tools/lsp/lsp-manager-process-cleanup.ts +0 -83
  1140. package/src/tools/lsp/lsp-manager-temp-directory-cleanup.ts +0 -29
  1141. package/src/tools/lsp/lsp-process.ts +0 -158
  1142. package/src/tools/lsp/lsp-server.ts +0 -217
  1143. package/src/tools/lsp/rename-tools.ts +0 -53
  1144. package/src/tools/lsp/server-config-loader.ts +0 -116
  1145. package/src/tools/lsp/server-definitions.ts +0 -91
  1146. package/src/tools/lsp/server-installation.ts +0 -58
  1147. package/src/tools/lsp/server-path-bases.ts +0 -16
  1148. package/src/tools/lsp/server-resolution.ts +0 -109
  1149. package/src/tools/lsp/symbols-tool.ts +0 -76
  1150. package/src/tools/lsp/tools.ts +0 -5
  1151. package/src/tools/lsp/types.ts +0 -124
  1152. package/src/tools/lsp/workspace-edit.ts +0 -121
  1153. package/src/tools/session-manager/constants.ts +0 -93
  1154. package/src/tools/session-manager/file-storage.ts +0 -203
  1155. package/src/tools/session-manager/index.ts +0 -3
  1156. package/src/tools/session-manager/sdk-storage.ts +0 -135
  1157. package/src/tools/session-manager/sdk-unavailable.ts +0 -43
  1158. package/src/tools/session-manager/session-formatter.ts +0 -199
  1159. package/src/tools/session-manager/storage.ts +0 -161
  1160. package/src/tools/session-manager/tools.ts +0 -197
  1161. package/src/tools/session-manager/types.ts +0 -99
  1162. package/src/tools/shared/semaphore.ts +0 -32
  1163. package/src/tools/skill/constants.ts +0 -14
  1164. package/src/tools/skill/description-formatter.ts +0 -61
  1165. package/src/tools/skill/index.ts +0 -3
  1166. package/src/tools/skill/mcp-capability-formatter.ts +0 -97
  1167. package/src/tools/skill/native-skills.ts +0 -62
  1168. package/src/tools/skill/scope-priority.ts +0 -17
  1169. package/src/tools/skill/skill-body.ts +0 -26
  1170. package/src/tools/skill/skill-matcher.ts +0 -40
  1171. package/src/tools/skill/tools.ts +0 -196
  1172. package/src/tools/skill/types.ts +0 -48
  1173. package/src/tools/skill-mcp/constants.ts +0 -9
  1174. package/src/tools/skill-mcp/index.ts +0 -3
  1175. package/src/tools/skill-mcp/tools.test.ts +0 -44
  1176. package/src/tools/skill-mcp/tools.ts +0 -242
  1177. package/src/tools/skill-mcp/types.ts +0 -8
  1178. package/src/tools/slashcommand/command-discovery.ts +0 -161
  1179. package/src/tools/slashcommand/command-output-formatter.ts +0 -75
  1180. package/src/tools/slashcommand/index.ts +0 -2
  1181. package/src/tools/slashcommand/types.ts +0 -21
  1182. package/src/tools/task/index.ts +0 -7
  1183. package/src/tools/task/task-create.ts +0 -113
  1184. package/src/tools/task/task-get.ts +0 -47
  1185. package/src/tools/task/task-list.ts +0 -79
  1186. package/src/tools/task/task-update.ts +0 -152
  1187. package/src/tools/task/todo-sync.ts +0 -205
  1188. package/src/tools/task/types.ts +0 -77
@@ -1,188 +0,0 @@
1
- import type { PluginInput } from "@opencode-ai/plugin"
2
- import type { Platform } from "./session-notification-sender"
3
-
4
- type SessionNotificationConfig = {
5
- playSound: boolean
6
- soundPath: string
7
- idleConfirmationDelay: number
8
- skipIfIncompleteTodos: boolean
9
- maxTrackedSessions: number
10
- /** Grace period in ms to ignore late-arriving activity events after scheduling (default: 100) */
11
- activityGracePeriodMs?: number
12
- }
13
-
14
- export function createIdleNotificationScheduler(options: {
15
- ctx: PluginInput
16
- platform: Platform
17
- config: SessionNotificationConfig
18
- hasIncompleteTodos: (ctx: PluginInput, sessionID: string) => Promise<boolean>
19
- send: (ctx: PluginInput, platform: Platform, sessionID: string) => Promise<void>
20
- playSound: (ctx: PluginInput, platform: Platform, soundPath: string) => Promise<void>
21
- }) {
22
- const notifiedSessions = new Set<string>()
23
- const pendingTimers = new Map<string, ReturnType<typeof setTimeout>>()
24
- const sessionActivitySinceIdle = new Set<string>()
25
- const notificationVersions = new Map<string, number>()
26
- const executingNotifications = new Set<string>()
27
- const scheduledAt = new Map<string, number>()
28
-
29
- const activityGracePeriodMs = options.config.activityGracePeriodMs ?? 100
30
-
31
- function cleanupOldSessions(): void {
32
- const maxSessions = options.config.maxTrackedSessions
33
- if (notifiedSessions.size > maxSessions) {
34
- const sessionsToRemove = Array.from(notifiedSessions).slice(0, notifiedSessions.size - maxSessions)
35
- sessionsToRemove.forEach((id) => {
36
- notifiedSessions.delete(id)
37
- })
38
- }
39
- if (sessionActivitySinceIdle.size > maxSessions) {
40
- const sessionsToRemove = Array.from(sessionActivitySinceIdle).slice(0, sessionActivitySinceIdle.size - maxSessions)
41
- sessionsToRemove.forEach((id) => {
42
- sessionActivitySinceIdle.delete(id)
43
- })
44
- }
45
- if (notificationVersions.size > maxSessions) {
46
- const sessionsToRemove = Array.from(notificationVersions.keys()).slice(0, notificationVersions.size - maxSessions)
47
- sessionsToRemove.forEach((id) => {
48
- notificationVersions.delete(id)
49
- })
50
- }
51
- if (executingNotifications.size > maxSessions) {
52
- const sessionsToRemove = Array.from(executingNotifications).slice(0, executingNotifications.size - maxSessions)
53
- sessionsToRemove.forEach((id) => {
54
- executingNotifications.delete(id)
55
- })
56
- }
57
- if (scheduledAt.size > maxSessions) {
58
- const sessionsToRemove = Array.from(scheduledAt.keys()).slice(0, scheduledAt.size - maxSessions)
59
- sessionsToRemove.forEach((id) => {
60
- scheduledAt.delete(id)
61
- })
62
- }
63
- }
64
-
65
- function cancelPendingNotification(sessionID: string): void {
66
- const timer = pendingTimers.get(sessionID)
67
- if (timer) {
68
- clearTimeout(timer)
69
- pendingTimers.delete(sessionID)
70
- }
71
- scheduledAt.delete(sessionID)
72
- sessionActivitySinceIdle.add(sessionID)
73
- notificationVersions.set(sessionID, (notificationVersions.get(sessionID) ?? 0) + 1)
74
- }
75
-
76
- function markSessionActivity(sessionID: string): void {
77
- const scheduledTime = scheduledAt.get(sessionID)
78
- if (
79
- activityGracePeriodMs > 0 &&
80
- scheduledTime !== undefined &&
81
- Date.now() - scheduledTime <= activityGracePeriodMs
82
- ) {
83
- return
84
- }
85
-
86
- cancelPendingNotification(sessionID)
87
- if (!executingNotifications.has(sessionID)) {
88
- notifiedSessions.delete(sessionID)
89
- }
90
- }
91
-
92
- async function executeNotification(sessionID: string, version: number): Promise<void> {
93
- if (executingNotifications.has(sessionID)) {
94
- pendingTimers.delete(sessionID)
95
- scheduledAt.delete(sessionID)
96
- return
97
- }
98
-
99
- if (notificationVersions.get(sessionID) !== version) {
100
- pendingTimers.delete(sessionID)
101
- scheduledAt.delete(sessionID)
102
- return
103
- }
104
-
105
- if (sessionActivitySinceIdle.has(sessionID)) {
106
- sessionActivitySinceIdle.delete(sessionID)
107
- pendingTimers.delete(sessionID)
108
- scheduledAt.delete(sessionID)
109
- return
110
- }
111
-
112
- if (notifiedSessions.has(sessionID)) {
113
- pendingTimers.delete(sessionID)
114
- scheduledAt.delete(sessionID)
115
- return
116
- }
117
-
118
- executingNotifications.add(sessionID)
119
- try {
120
- if (options.config.skipIfIncompleteTodos) {
121
- const hasPendingWork = await options.hasIncompleteTodos(options.ctx, sessionID)
122
- if (notificationVersions.get(sessionID) !== version) {
123
- return
124
- }
125
- if (hasPendingWork) return
126
- }
127
-
128
- if (notificationVersions.get(sessionID) !== version) {
129
- return
130
- }
131
-
132
- if (sessionActivitySinceIdle.has(sessionID)) {
133
- sessionActivitySinceIdle.delete(sessionID)
134
- return
135
- }
136
-
137
- notifiedSessions.add(sessionID)
138
-
139
- await options.send(options.ctx, options.platform, sessionID)
140
-
141
- if (options.config.playSound && options.config.soundPath) {
142
- await options.playSound(options.ctx, options.platform, options.config.soundPath)
143
- }
144
- } finally {
145
- executingNotifications.delete(sessionID)
146
- pendingTimers.delete(sessionID)
147
- scheduledAt.delete(sessionID)
148
- if (sessionActivitySinceIdle.has(sessionID)) {
149
- notifiedSessions.delete(sessionID)
150
- sessionActivitySinceIdle.delete(sessionID)
151
- }
152
- }
153
- }
154
-
155
- function scheduleIdleNotification(sessionID: string): void {
156
- if (notifiedSessions.has(sessionID)) return
157
- if (pendingTimers.has(sessionID)) return
158
- if (executingNotifications.has(sessionID)) return
159
-
160
- sessionActivitySinceIdle.delete(sessionID)
161
- scheduledAt.set(sessionID, Date.now())
162
-
163
- const currentVersion = (notificationVersions.get(sessionID) ?? 0) + 1
164
- notificationVersions.set(sessionID, currentVersion)
165
-
166
- const timer = setTimeout(() => {
167
- executeNotification(sessionID, currentVersion)
168
- }, options.config.idleConfirmationDelay)
169
-
170
- pendingTimers.set(sessionID, timer)
171
- cleanupOldSessions()
172
- }
173
-
174
- function deleteSession(sessionID: string): void {
175
- cancelPendingNotification(sessionID)
176
- notifiedSessions.delete(sessionID)
177
- sessionActivitySinceIdle.delete(sessionID)
178
- notificationVersions.delete(sessionID)
179
- executingNotifications.delete(sessionID)
180
- scheduledAt.delete(sessionID)
181
- }
182
-
183
- return {
184
- markSessionActivity,
185
- scheduleIdleNotification,
186
- deleteSession,
187
- }
188
- }
@@ -1,117 +0,0 @@
1
- import type { PluginInput } from "@opencode-ai/plugin"
2
- import { platform } from "os"
3
- import {
4
- getOsascriptPath,
5
- getNotifySendPath,
6
- getPowershellPath,
7
- getAfplayPath,
8
- getPaplayPath,
9
- getAplayPath,
10
- getTerminalNotifierPath,
11
- } from "./session-notification-utils"
12
- import { buildWindowsToastScript, escapeAppleScriptText, escapePowerShellSingleQuotedText } from "./session-notification-formatting"
13
-
14
- export type Platform = "darwin" | "linux" | "win32" | "unsupported"
15
-
16
- export function detectPlatform(): Platform {
17
- const detected = platform()
18
- if (detected === "darwin" || detected === "linux" || detected === "win32") return detected
19
- return "unsupported"
20
- }
21
-
22
- export function getDefaultSoundPath(platform: Platform): string {
23
- switch (platform) {
24
- case "darwin":
25
- return "/System/Library/Sounds/Glass.aiff"
26
- case "linux":
27
- return "/usr/share/sounds/freedesktop/stereo/complete.oga"
28
- case "win32":
29
- return "C:\\Windows\\Media\\notify.wav"
30
- default:
31
- return ""
32
- }
33
- }
34
-
35
- export async function sendSessionNotification(
36
- ctx: PluginInput,
37
- platform: Platform,
38
- title: string,
39
- message: string
40
- ): Promise<void> {
41
- switch (platform) {
42
- case "darwin": {
43
- // Try terminal-notifier first - deterministic click-to-focus
44
- const terminalNotifierPath = await getTerminalNotifierPath()
45
- if (terminalNotifierPath) {
46
- const bundleId = process.env.__CFBundleIdentifier
47
- try {
48
- if (bundleId) {
49
- await ctx.$`${terminalNotifierPath} -title ${title} -message ${message} -activate ${bundleId}`.quiet()
50
- } else {
51
- await ctx.$`${terminalNotifierPath} -title ${title} -message ${message}`.quiet()
52
- }
53
- break
54
- } catch {
55
- }
56
- }
57
-
58
- // Fallback: osascript (click may open Finder instead of terminal)
59
- const osascriptPath = await getOsascriptPath()
60
- if (!osascriptPath) return
61
-
62
- const escapedTitle = escapeAppleScriptText(title)
63
- const escapedMessage = escapeAppleScriptText(message)
64
- await ctx.$`${osascriptPath} -e ${"display notification \"" + escapedMessage + "\" with title \"" + escapedTitle + "\""}`.nothrow().quiet()
65
- break
66
- }
67
- case "linux": {
68
- const notifySendPath = await getNotifySendPath()
69
- if (!notifySendPath) return
70
-
71
- await ctx.$`${notifySendPath} ${title} ${message} 2>/dev/null`.nothrow().quiet()
72
- break
73
- }
74
- case "win32": {
75
- const powershellPath = await getPowershellPath()
76
- if (!powershellPath) return
77
-
78
- const toastScript = buildWindowsToastScript(title, message)
79
- await ctx.$`${powershellPath} -Command ${toastScript}`.nothrow().quiet()
80
- break
81
- }
82
- }
83
- }
84
-
85
- export async function playSessionNotificationSound(
86
- ctx: PluginInput,
87
- platform: Platform,
88
- soundPath: string
89
- ): Promise<void> {
90
- switch (platform) {
91
- case "darwin": {
92
- const afplayPath = await getAfplayPath()
93
- if (!afplayPath) return
94
- ctx.$`${afplayPath} ${soundPath}`.nothrow().quiet()
95
- break
96
- }
97
- case "linux": {
98
- const paplayPath = await getPaplayPath()
99
- if (paplayPath) {
100
- ctx.$`${paplayPath} ${soundPath} 2>/dev/null`.nothrow().quiet()
101
- } else {
102
- const aplayPath = await getAplayPath()
103
- if (aplayPath) {
104
- ctx.$`${aplayPath} ${soundPath} 2>/dev/null`.nothrow().quiet()
105
- }
106
- }
107
- break
108
- }
109
- case "win32": {
110
- const powershellPath = await getPowershellPath()
111
- if (!powershellPath) return
112
- const escaped = escapePowerShellSingleQuotedText(soundPath)
113
- ctx.$`${powershellPath} -Command ${"(New-Object Media.SoundPlayer '" + escaped + "').PlaySync()"}`.nothrow().quiet()
114
- break
115
- }
116
- }
117
- }
@@ -1,80 +0,0 @@
1
- import { log } from "../shared/logger"
2
-
3
- declare const Bun: {
4
- which(commandName: string): string | null
5
- }
6
-
7
- type Platform = "darwin" | "linux" | "win32" | "unsupported"
8
-
9
- async function findCommand(commandName: string): Promise<string | null> {
10
- try {
11
- return Bun.which(commandName)
12
- } catch (error) {
13
- log("[session-notification] failed to resolve command path", {
14
- commandName,
15
- error: error instanceof Error ? error.message : String(error),
16
- })
17
- return null
18
- }
19
- }
20
-
21
- function logBackgroundCheckError(commandName: string, error: unknown): void {
22
- log("[session-notification] background command check failed", {
23
- commandName,
24
- error: error instanceof Error ? error.message : String(error),
25
- })
26
- }
27
-
28
- function createCommandFinder(commandName: string): () => Promise<string | null> {
29
- let cachedPath: string | null = null
30
- let pending: Promise<string | null> | null = null
31
-
32
- return async () => {
33
- if (cachedPath !== null) return cachedPath
34
- if (pending) return pending
35
-
36
- pending = (async () => {
37
- const path = await findCommand(commandName)
38
- cachedPath = path
39
- return path
40
- })()
41
-
42
- return pending
43
- }
44
- }
45
-
46
- export const getNotifySendPath = createCommandFinder("notify-send")
47
- export const getOsascriptPath = createCommandFinder("osascript")
48
- export const getPowershellPath = createCommandFinder("powershell")
49
- export const getAfplayPath = createCommandFinder("afplay")
50
- export const getPaplayPath = createCommandFinder("paplay")
51
- export const getAplayPath = createCommandFinder("aplay")
52
- export const getTerminalNotifierPath = createCommandFinder("terminal-notifier")
53
-
54
- export function startBackgroundCheck(platform: Platform): void {
55
- if (platform === "darwin") {
56
- getOsascriptPath().catch((error) => {
57
- logBackgroundCheckError("osascript", error)
58
- })
59
- getAfplayPath().catch((error) => {
60
- logBackgroundCheckError("afplay", error)
61
- })
62
- getTerminalNotifierPath().catch((error) => {
63
- logBackgroundCheckError("terminal-notifier", error)
64
- })
65
- } else if (platform === "linux") {
66
- getNotifySendPath().catch((error) => {
67
- logBackgroundCheckError("notify-send", error)
68
- })
69
- getPaplayPath().catch((error) => {
70
- logBackgroundCheckError("paplay", error)
71
- })
72
- getAplayPath().catch((error) => {
73
- logBackgroundCheckError("aplay", error)
74
- })
75
- } else if (platform === "win32") {
76
- getPowershellPath().catch((error) => {
77
- logBackgroundCheckError("powershell", error)
78
- })
79
- }
80
- }
@@ -1,219 +0,0 @@
1
- import type { PluginInput } from "@opencode-ai/plugin"
2
- import { subagentSessions, getMainSessionID } from "../features/claude-code-session-state"
3
- import {
4
- startBackgroundCheck,
5
- } from "./session-notification-utils"
6
- import { buildReadyNotificationContent } from "./session-notification-content"
7
- import {
8
- type Platform,
9
- } from "./session-notification-sender"
10
- import * as sessionNotificationSender from "./session-notification-sender"
11
- import { hasIncompleteTodos } from "./session-todo-status"
12
- import { createIdleNotificationScheduler } from "./session-notification-scheduler"
13
-
14
- interface SessionNotificationConfig {
15
- title?: string
16
- message?: string
17
- questionMessage?: string
18
- permissionMessage?: string
19
- playSound?: boolean
20
- soundPath?: string
21
- /** Delay in ms before sending notification to confirm session is still idle (default: 1500) */
22
- idleConfirmationDelay?: number
23
- /** Skip notification if there are incomplete todos (default: true) */
24
- skipIfIncompleteTodos?: boolean
25
- /** Maximum number of sessions to track before cleanup (default: 100) */
26
- maxTrackedSessions?: number
27
- enforceMainSessionFilter?: boolean
28
- /** Grace period in ms to ignore late-arriving activity events after scheduling (default: 100) */
29
- activityGracePeriodMs?: number
30
- }
31
- export function createSessionNotification(
32
- ctx: PluginInput,
33
- config: SessionNotificationConfig = {}
34
- ) {
35
- const currentPlatform: Platform = sessionNotificationSender.detectPlatform()
36
- const defaultSoundPath = sessionNotificationSender.getDefaultSoundPath(currentPlatform)
37
-
38
- startBackgroundCheck(currentPlatform)
39
-
40
- const mergedConfig = {
41
- title: "OpenCode",
42
- message: "Agent is ready for input",
43
- questionMessage: "Agent is asking a question",
44
- permissionMessage: "Agent needs permission to continue",
45
- playSound: false,
46
- soundPath: defaultSoundPath,
47
- idleConfirmationDelay: 1500,
48
- skipIfIncompleteTodos: true,
49
- maxTrackedSessions: 100,
50
- enforceMainSessionFilter: true,
51
- ...config,
52
- }
53
-
54
- const scheduler = createIdleNotificationScheduler({
55
- ctx,
56
- platform: currentPlatform,
57
- config: mergedConfig,
58
- hasIncompleteTodos,
59
- send: async (hookCtx, platform, sessionID) => {
60
- if (
61
- typeof hookCtx.client.session.get !== "function"
62
- && typeof hookCtx.client.session.messages !== "function"
63
- ) {
64
- await sessionNotificationSender.sendSessionNotification(
65
- hookCtx,
66
- platform,
67
- mergedConfig.title,
68
- mergedConfig.message,
69
- )
70
- return
71
- }
72
-
73
- const content = await buildReadyNotificationContent(hookCtx, {
74
- sessionID,
75
- baseTitle: mergedConfig.title,
76
- baseMessage: mergedConfig.message,
77
- })
78
-
79
- await sessionNotificationSender.sendSessionNotification(hookCtx, platform, content.title, content.message)
80
- },
81
- playSound: sessionNotificationSender.playSessionNotificationSound,
82
- })
83
-
84
- const QUESTION_TOOLS = new Set(["question", "ask_user_question", "askuserquestion"])
85
- const PERMISSION_EVENTS = new Set(["permission.ask", "permission.asked", "permission.updated", "permission.requested"])
86
- const PERMISSION_HINT_PATTERN = /\b(permission|approve|approval|allow|deny|consent)\b/i
87
-
88
- const getSessionID = (properties: Record<string, unknown> | undefined): string | undefined => {
89
- const sessionID = properties?.sessionID
90
- if (typeof sessionID === "string" && sessionID.length > 0) return sessionID
91
-
92
- const sessionId = properties?.sessionId
93
- if (typeof sessionId === "string" && sessionId.length > 0) return sessionId
94
-
95
- const info = properties?.info as Record<string, unknown> | undefined
96
- const infoSessionID = info?.sessionID
97
- if (typeof infoSessionID === "string" && infoSessionID.length > 0) return infoSessionID
98
-
99
- const infoSessionId = info?.sessionId
100
- if (typeof infoSessionId === "string" && infoSessionId.length > 0) return infoSessionId
101
-
102
- return undefined
103
- }
104
-
105
- const shouldNotifyForSession = (sessionID: string): boolean => {
106
- if (subagentSessions.has(sessionID)) return false
107
-
108
- if (mergedConfig.enforceMainSessionFilter) {
109
- const mainSessionID = getMainSessionID()
110
- if (mainSessionID && sessionID !== mainSessionID) return false
111
- }
112
-
113
- return true
114
- }
115
-
116
- const getEventToolName = (properties: Record<string, unknown> | undefined): string | undefined => {
117
- const tool = properties?.tool
118
- if (typeof tool === "string" && tool.length > 0) return tool
119
-
120
- const name = properties?.name
121
- if (typeof name === "string" && name.length > 0) return name
122
-
123
- return undefined
124
- }
125
-
126
- const getQuestionText = (properties: Record<string, unknown> | undefined): string => {
127
- const args = properties?.args as Record<string, unknown> | undefined
128
- const questions = args?.questions
129
- if (!Array.isArray(questions) || questions.length === 0) return ""
130
-
131
- const firstQuestion = questions[0] as Record<string, unknown> | undefined
132
- const questionText = firstQuestion?.question
133
- return typeof questionText === "string" ? questionText : ""
134
- }
135
-
136
- return async ({ event }: { event: { type: string; properties?: unknown } }) => {
137
- if (currentPlatform === "unsupported") return
138
-
139
- const props = event.properties as Record<string, unknown> | undefined
140
-
141
- if (event.type === "session.created") {
142
- const info = props?.info as Record<string, unknown> | undefined
143
- const sessionID = info?.id as string | undefined
144
- if (sessionID) {
145
- scheduler.markSessionActivity(sessionID)
146
- }
147
- return
148
- }
149
-
150
- if (event.type === "session.idle") {
151
- const sessionID = getSessionID(props)
152
- if (!sessionID) return
153
-
154
- if (!shouldNotifyForSession(sessionID)) return
155
-
156
- scheduler.scheduleIdleNotification(sessionID)
157
- return
158
- }
159
-
160
- if (event.type === "message.updated") {
161
- const info = props?.info as Record<string, unknown> | undefined
162
- const sessionID = getSessionID({ ...props, info })
163
- if (sessionID) {
164
- scheduler.markSessionActivity(sessionID)
165
- }
166
- return
167
- }
168
-
169
- if (PERMISSION_EVENTS.has(event.type)) {
170
- const sessionID = getSessionID(props)
171
- if (!sessionID) return
172
- if (!shouldNotifyForSession(sessionID)) return
173
-
174
- scheduler.markSessionActivity(sessionID)
175
- await sessionNotificationSender.sendSessionNotification(
176
- ctx,
177
- currentPlatform,
178
- mergedConfig.title,
179
- mergedConfig.permissionMessage,
180
- )
181
- if (mergedConfig.playSound && mergedConfig.soundPath) {
182
- await sessionNotificationSender.playSessionNotificationSound(ctx, currentPlatform, mergedConfig.soundPath)
183
- }
184
- return
185
- }
186
-
187
- if (event.type === "tool.execute.before" || event.type === "tool.execute.after") {
188
- const sessionID = getSessionID(props)
189
- if (sessionID) {
190
- scheduler.markSessionActivity(sessionID)
191
-
192
- if (event.type === "tool.execute.before") {
193
- const toolName = getEventToolName(props)?.toLowerCase()
194
- if (toolName && QUESTION_TOOLS.has(toolName)) {
195
- if (!shouldNotifyForSession(sessionID)) return
196
-
197
- const questionText = getQuestionText(props)
198
- const message = PERMISSION_HINT_PATTERN.test(questionText)
199
- ? mergedConfig.permissionMessage
200
- : mergedConfig.questionMessage
201
-
202
- await sessionNotificationSender.sendSessionNotification(ctx, currentPlatform, mergedConfig.title, message)
203
- if (mergedConfig.playSound && mergedConfig.soundPath) {
204
- await sessionNotificationSender.playSessionNotificationSound(ctx, currentPlatform, mergedConfig.soundPath)
205
- }
206
- }
207
- }
208
- }
209
- return
210
- }
211
-
212
- if (event.type === "session.deleted") {
213
- const sessionInfo = props?.info as { id?: string } | undefined
214
- if (sessionInfo?.id) {
215
- scheduler.deleteSession(sessionInfo.id)
216
- }
217
- }
218
- }
219
- }
@@ -1,59 +0,0 @@
1
- # src/hooks/session-recovery/ — Auto Session Error Recovery
2
-
3
- **Generated:** 2026-04-11
4
-
5
- ## OVERVIEW
6
-
7
- 16 files + storage/ subdir. Session Tier hook handling `session.error` events. Detects recoverable error types, applies targeted recovery strategies, and resumes the session transparently.
8
-
9
- ## RECOVERY STRATEGIES
10
-
11
- | Error Type | File | Recovery Action |
12
- |------------|------|-----------------|
13
- | `tool_result_missing` | `recover-tool-result-missing.ts` | Reconstruct missing tool results from storage |
14
- | `thinking_block_order` | `recover-thinking-block-order.ts` | Reorder malformed thinking blocks |
15
- | `thinking_disabled_violation` | `recover-thinking-disabled-violation.ts` | Strip thinking blocks when disabled |
16
- | `empty_content_message` | `recover-empty-content-message*.ts` | Handle empty/null content blocks |
17
-
18
- ## KEY FILES
19
-
20
- | File | Purpose |
21
- |------|---------|
22
- | `hook.ts` | `createSessionRecoveryHook()` — error detection, strategy dispatch, resume |
23
- | `detect-error-type.ts` | `detectErrorType(error)` → `RecoveryErrorType \| null` |
24
- | `resume.ts` | `resumeSession()` — rebuild session context, trigger retry |
25
- | `storage.ts` | Per-session message storage for recovery reconstruction |
26
- | `recover-tool-result-missing.ts` | Reconstruct tool results from stored metadata |
27
- | `recover-thinking-block-order.ts` | Fix malformed thinking block sequences |
28
- | `recover-thinking-disabled-violation.ts` | Remove thinking blocks from model context |
29
- | `recover-empty-content-message.ts` | Handle empty assistant messages |
30
- | `recover-empty-content-message-sdk.ts` | SDK variant for empty content recovery |
31
- | `types.ts` | `StoredMessageMeta`, `StoredPart`, `ResumeConfig`, `MessageData` |
32
-
33
- ## STORAGE SUBDIRECTORY
34
-
35
- ```
36
- storage/
37
- ├── message-store.ts # In-memory + file message cache
38
- ├── part-store.ts # Individual message parts storage
39
- └── index.ts # Barrel export
40
- ```
41
-
42
- Stores message metadata and parts per session for recovery reconstruction.
43
-
44
- ## HOOK INTERFACE
45
-
46
- ```typescript
47
- interface SessionRecoveryHook {
48
- handleSessionRecovery: (info: MessageInfo) => Promise<boolean>
49
- isRecoverableError: (error: unknown) => boolean
50
- setOnAbortCallback: (cb: (sessionID: string) => void) => void
51
- setOnRecoveryCompleteCallback: (cb: (sessionID: string) => void) => void
52
- }
53
- ```
54
-
55
- ## NOTES
56
-
57
- - Guards with `processingErrors` Set to prevent duplicate recovery attempts on same error
58
- - Supports `experimental` config for behavior flags
59
- - Distinct from `anthropic-context-window-limit-recovery` (handles token limit; this handles structural errors)
@@ -1,5 +0,0 @@
1
- export { OPENCODE_STORAGE, MESSAGE_STORAGE, PART_STORAGE } from "../../shared"
2
-
3
- export const THINKING_TYPES = new Set(["thinking", "redacted_thinking", "reasoning"])
4
- export const META_TYPES = new Set(["step-start", "step-finish"])
5
- export const CONTENT_TYPES = new Set(["text", "tool", "tool_use", "tool_result"])