@hiai-gg/hiai-opencode 0.1.6 → 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 (1219) hide show
  1. package/.env.example +7 -0
  2. package/AGENTS.md +81 -1
  3. package/ARCHITECTURE.md +45 -3
  4. package/README.md +99 -18
  5. package/assets/cli/hiai-opencode.mjs +78 -0
  6. package/config/hiai-opencode.schema.json +16 -1
  7. package/dist/agents/agent-skills.d.ts +7 -0
  8. package/dist/agents/brainstormer.d.ts +7 -0
  9. package/dist/agents/coder/agent.d.ts +2 -2
  10. package/dist/agents/coder/gpt.d.ts +2 -1
  11. package/dist/agents/designer.d.ts +7 -0
  12. package/dist/agents/dynamic-agent-core-sections.d.ts +3 -1
  13. package/dist/agents/guard/agent.d.ts +4 -15
  14. package/dist/agents/prompt-library/index.d.ts +1 -0
  15. package/dist/agents/prompt-library/integration-map.d.ts +9 -0
  16. package/dist/agents/strategist/system-prompt.d.ts +5 -8
  17. package/dist/agents/sub/agent.d.ts +6 -8
  18. package/dist/agents/sub/index.d.ts +0 -4
  19. package/dist/agents/types.d.ts +3 -1
  20. package/dist/config/index.d.ts +0 -1
  21. package/dist/config/platform-schema.d.ts +32 -0
  22. package/dist/config/schema/hooks.d.ts +0 -2
  23. package/dist/config/schema/index.d.ts +0 -2
  24. package/dist/config/schema/oh-my-opencode-config.d.ts +0 -6
  25. package/dist/config/types.d.ts +3 -1
  26. package/dist/create-hooks.d.ts +0 -2
  27. package/dist/features/builtin-skills/skills/index.d.ts +1 -0
  28. package/dist/features/builtin-skills/skills/website-copywriting.d.ts +2 -0
  29. package/dist/hooks/agent-usage-reminder/constants.d.ts +1 -1
  30. package/dist/hooks/index.d.ts +0 -2
  31. package/dist/hooks/keyword-detector/ultrawork/default.d.ts +1 -1
  32. package/dist/hooks/keyword-detector/ultrawork/gemini.d.ts +1 -1
  33. package/dist/hooks/keyword-detector/ultrawork/gpt.d.ts +1 -1
  34. package/dist/hooks/keyword-detector/ultrawork/intent-gate.d.ts +0 -0
  35. package/dist/hooks/keyword-detector/ultrawork/planner.d.ts +1 -1
  36. package/dist/index.js +9119 -156678
  37. package/dist/mcp/index.d.ts +0 -1
  38. package/dist/mcp/registry.d.ts +1 -1
  39. package/dist/plugin/hooks/create-core-hooks.d.ts +0 -2
  40. package/dist/plugin/hooks/create-session-hooks.d.ts +1 -3
  41. package/dist/plugin/startup-diagnostics.d.ts +1 -0
  42. package/dist/shared/index.d.ts +1 -0
  43. package/dist/shared/learn-system.d.ts +18 -0
  44. package/dist/shared/logger.d.ts +2 -0
  45. package/dist/shared/mode-routing.d.ts +6 -0
  46. package/dist/tools/delegate-task/git-categories.d.ts +2 -0
  47. package/dist/tools/delegate-task/sub-agent.d.ts +2 -0
  48. package/dist/tools/skill-mcp/constants.d.ts +1 -1
  49. package/hiai-opencode.json +48 -20
  50. package/package.json +8 -5
  51. package/dist/agents/bob/default.d.ts +0 -9
  52. package/dist/agents/bob/gemini.d.ts +0 -20
  53. package/dist/agents/bob/gpt-pro.d.ts +0 -26
  54. package/dist/agents/bob/index.d.ts +0 -11
  55. package/dist/agents/coder/gpt-codex.d.ts +0 -20
  56. package/dist/agents/coder/gpt-pro.d.ts +0 -24
  57. package/dist/agents/guard/gemini-prompt-sections.d.ts +0 -12
  58. package/dist/agents/guard/gemini.d.ts +0 -2
  59. package/dist/agents/guard/gpt-prompt-sections.d.ts +0 -12
  60. package/dist/agents/guard/gpt.d.ts +0 -2
  61. package/dist/agents/strategist/gemini.d.ts +0 -12
  62. package/dist/agents/strategist/gpt.d.ts +0 -11
  63. package/dist/agents/sub/gemini.d.ts +0 -10
  64. package/dist/agents/sub/gpt-codex.d.ts +0 -8
  65. package/dist/agents/sub/gpt-pro.d.ts +0 -11
  66. package/dist/agents/sub/gpt.d.ts +0 -9
  67. package/dist/config/schema/websearch.d.ts +0 -13
  68. package/dist/hooks/no-bob-gpt/hook.d.ts +0 -16
  69. package/dist/hooks/no-bob-gpt/index.d.ts +0 -1
  70. package/dist/hooks/no-coder-non-gpt/hook.d.ts +0 -20
  71. package/dist/hooks/no-coder-non-gpt/index.d.ts +0 -1
  72. package/dist/mcp/grep-app.d.ts +0 -6
  73. package/dist/mcp/omo-mcp-index.d.ts +0 -10
  74. package/dist/mcp/websearch.d.ts +0 -11
  75. package/dist/skills/index.d.ts +0 -7
  76. package/dist/testing/module-mock-lifecycle.d.ts +0 -21
  77. package/src/AGENTS.md +0 -41
  78. package/src/agents/AGENTS.md +0 -74
  79. package/src/agents/agent-builder.ts +0 -50
  80. package/src/agents/bob/AGENTS.md +0 -29
  81. package/src/agents/bob/default.ts +0 -133
  82. package/src/agents/bob/gemini.ts +0 -237
  83. package/src/agents/bob/gpt-pro.ts +0 -431
  84. package/src/agents/bob/index.ts +0 -19
  85. package/src/agents/bob.ts +0 -529
  86. package/src/agents/builtin-agents/agent-overrides.ts +0 -75
  87. package/src/agents/builtin-agents/available-skills.ts +0 -35
  88. package/src/agents/builtin-agents/bob-agent.ts +0 -96
  89. package/src/agents/builtin-agents/coder-agent.ts +0 -98
  90. package/src/agents/builtin-agents/environment-context.ts +0 -16
  91. package/src/agents/builtin-agents/general-agents.ts +0 -122
  92. package/src/agents/builtin-agents/guard-agent.ts +0 -66
  93. package/src/agents/builtin-agents/model-resolution.ts +0 -31
  94. package/src/agents/builtin-agents/resolve-file-uri.ts +0 -42
  95. package/src/agents/builtin-agents.ts +0 -194
  96. package/src/agents/coder/AGENTS.md +0 -34
  97. package/src/agents/coder/agent.ts +0 -162
  98. package/src/agents/coder/gpt-codex.ts +0 -405
  99. package/src/agents/coder/gpt-pro.ts +0 -320
  100. package/src/agents/coder/gpt.ts +0 -254
  101. package/src/agents/coder/index.ts +0 -8
  102. package/src/agents/critic/agent.ts +0 -105
  103. package/src/agents/custom-agent-summaries.ts +0 -61
  104. package/src/agents/dynamic-agent-category-skills-guide.ts +0 -138
  105. package/src/agents/dynamic-agent-core-sections.ts +0 -273
  106. package/src/agents/dynamic-agent-policy-sections.ts +0 -182
  107. package/src/agents/dynamic-agent-prompt-builder.ts +0 -32
  108. package/src/agents/dynamic-agent-prompt-types.ts +0 -24
  109. package/src/agents/dynamic-agent-tool-categorization.ts +0 -45
  110. package/src/agents/env-context.ts +0 -16
  111. package/src/agents/gpt-apply-patch-guard.ts +0 -7
  112. package/src/agents/guard/agent.ts +0 -146
  113. package/src/agents/guard/default-prompt-sections.ts +0 -305
  114. package/src/agents/guard/default.ts +0 -22
  115. package/src/agents/guard/gemini-prompt-sections.ts +0 -293
  116. package/src/agents/guard/gemini.ts +0 -22
  117. package/src/agents/guard/gpt-prompt-sections.ts +0 -296
  118. package/src/agents/guard/gpt.ts +0 -22
  119. package/src/agents/guard/index.ts +0 -2
  120. package/src/agents/guard/prompt-section-builder.ts +0 -104
  121. package/src/agents/guard/shared-prompt.ts +0 -172
  122. package/src/agents/index.ts +0 -5
  123. package/src/agents/platform-adapter.ts +0 -236
  124. package/src/agents/platform-manager.ts +0 -57
  125. package/src/agents/prompt-library/identity.ts +0 -14
  126. package/src/agents/prompt-library/index.ts +0 -7
  127. package/src/agents/prompt-library/intent-gate.ts +0 -149
  128. package/src/agents/prompt-library/orchestration.ts +0 -60
  129. package/src/agents/prompt-library/platform.ts +0 -36
  130. package/src/agents/prompt-library/specialized.ts +0 -39
  131. package/src/agents/prompt-library/strategy.ts +0 -80
  132. package/src/agents/prompt-library/todo-discipline.ts +0 -23
  133. package/src/agents/quality-guardian.ts +0 -76
  134. package/src/agents/researcher.ts +0 -73
  135. package/src/agents/strategist/AGENTS.md +0 -37
  136. package/src/agents/strategist/behavioral-summary.ts +0 -79
  137. package/src/agents/strategist/gemini.ts +0 -333
  138. package/src/agents/strategist/gpt.ts +0 -460
  139. package/src/agents/strategist/high-accuracy-mode.ts +0 -78
  140. package/src/agents/strategist/identity-constraints.ts +0 -336
  141. package/src/agents/strategist/index.ts +0 -6
  142. package/src/agents/strategist/interview-mode.ts +0 -335
  143. package/src/agents/strategist/plan-generation.ts +0 -213
  144. package/src/agents/strategist/plan-template.ts +0 -325
  145. package/src/agents/strategist/system-prompt.ts +0 -68
  146. package/src/agents/sub/agent.ts +0 -141
  147. package/src/agents/sub/default.ts +0 -52
  148. package/src/agents/sub/gemini.ts +0 -194
  149. package/src/agents/sub/gpt-codex.ts +0 -156
  150. package/src/agents/sub/gpt-pro.ts +0 -161
  151. package/src/agents/sub/gpt.ts +0 -157
  152. package/src/agents/sub/index.ts +0 -13
  153. package/src/agents/types.ts +0 -144
  154. package/src/agents/ui.ts +0 -58
  155. package/src/config/data/model-capabilities.json +0 -40690
  156. package/src/config/defaults.ts +0 -211
  157. package/src/config/hiai-opencode.schema.json +0 -12
  158. package/src/config/index.ts +0 -66
  159. package/src/config/loader.test.ts +0 -80
  160. package/src/config/loader.ts +0 -188
  161. package/src/config/model-slots-and-export.test.ts +0 -55
  162. package/src/config/platform-schema.ts +0 -240
  163. package/src/config/schema/agent-definitions.ts +0 -5
  164. package/src/config/schema/agent-names.ts +0 -66
  165. package/src/config/schema/agent-overrides.ts +0 -97
  166. package/src/config/schema/babysitting.ts +0 -7
  167. package/src/config/schema/background-task.ts +0 -29
  168. package/src/config/schema/bob-agent.ts +0 -11
  169. package/src/config/schema/bob.ts +0 -17
  170. package/src/config/schema/browser-automation.ts +0 -24
  171. package/src/config/schema/categories.ts +0 -45
  172. package/src/config/schema/claude-code.ts +0 -13
  173. package/src/config/schema/commands.ts +0 -16
  174. package/src/config/schema/comment-checker.ts +0 -8
  175. package/src/config/schema/dynamic-context-pruning.ts +0 -53
  176. package/src/config/schema/experimental.ts +0 -27
  177. package/src/config/schema/fallback-models.ts +0 -31
  178. package/src/config/schema/fast-apply.ts +0 -14
  179. package/src/config/schema/git-env-prefix.ts +0 -28
  180. package/src/config/schema/git-master.ts +0 -14
  181. package/src/config/schema/hooks.ts +0 -61
  182. package/src/config/schema/index.ts +0 -54
  183. package/src/config/schema/internal/permission.ts +0 -20
  184. package/src/config/schema/model-capabilities.ts +0 -10
  185. package/src/config/schema/notification.ts +0 -8
  186. package/src/config/schema/oh-my-opencode-config.ts +0 -90
  187. package/src/config/schema/openclaw.ts +0 -50
  188. package/src/config/schema/ralph-loop.ts +0 -11
  189. package/src/config/schema/runtime-fallback.ts +0 -18
  190. package/src/config/schema/skill-discovery.ts +0 -25
  191. package/src/config/schema/skills.ts +0 -39
  192. package/src/config/schema/start-work.ts +0 -7
  193. package/src/config/schema/tmux.ts +0 -28
  194. package/src/config/schema/websearch.ts +0 -15
  195. package/src/config/types.ts +0 -219
  196. package/src/create-hooks.ts +0 -93
  197. package/src/create-managers.ts +0 -116
  198. package/src/create-runtime-tmux-config.ts +0 -18
  199. package/src/create-tools.ts +0 -56
  200. package/src/features/background-agent/AGENTS.md +0 -56
  201. package/src/features/background-agent/abort-with-timeout.ts +0 -35
  202. package/src/features/background-agent/background-task-notification-template.ts +0 -74
  203. package/src/features/background-agent/compaction-aware-message-resolver.ts +0 -164
  204. package/src/features/background-agent/concurrency.ts +0 -137
  205. package/src/features/background-agent/constants.ts +0 -58
  206. package/src/features/background-agent/duration-formatter.ts +0 -14
  207. package/src/features/background-agent/error-classifier.ts +0 -83
  208. package/src/features/background-agent/fallback-retry-handler.ts +0 -134
  209. package/src/features/background-agent/index.ts +0 -2
  210. package/src/features/background-agent/loop-detector.ts +0 -102
  211. package/src/features/background-agent/manager.ts +0 -2220
  212. package/src/features/background-agent/opencode-client.ts +0 -3
  213. package/src/features/background-agent/process-cleanup.ts +0 -98
  214. package/src/features/background-agent/remove-task-toast-tracking.ts +0 -8
  215. package/src/features/background-agent/session-existence.ts +0 -57
  216. package/src/features/background-agent/session-idle-event-handler.ts +0 -93
  217. package/src/features/background-agent/session-status-classifier.ts +0 -20
  218. package/src/features/background-agent/spawner/parent-directory-resolver.ts +0 -24
  219. package/src/features/background-agent/spawner.ts +0 -327
  220. package/src/features/background-agent/state.ts +0 -199
  221. package/src/features/background-agent/subagent-spawn-limits.ts +0 -97
  222. package/src/features/background-agent/task-history.ts +0 -79
  223. package/src/features/background-agent/task-poller.ts +0 -225
  224. package/src/features/background-agent/types.ts +0 -100
  225. package/src/features/boulder-state/constants.ts +0 -13
  226. package/src/features/boulder-state/index.ts +0 -4
  227. package/src/features/boulder-state/storage.ts +0 -336
  228. package/src/features/boulder-state/top-level-task.ts +0 -78
  229. package/src/features/boulder-state/types.ts +0 -61
  230. package/src/features/builtin-commands/commands.ts +0 -157
  231. package/src/features/builtin-commands/index.ts +0 -2
  232. package/src/features/builtin-commands/templates/doctor.ts +0 -43
  233. package/src/features/builtin-commands/templates/handoff.ts +0 -177
  234. package/src/features/builtin-commands/templates/init-deep.ts +0 -305
  235. package/src/features/builtin-commands/templates/mcp-status.ts +0 -36
  236. package/src/features/builtin-commands/templates/ralph-loop.ts +0 -66
  237. package/src/features/builtin-commands/templates/refactor.ts +0 -619
  238. package/src/features/builtin-commands/templates/remove-ai-slops.ts +0 -96
  239. package/src/features/builtin-commands/templates/start-work.ts +0 -128
  240. package/src/features/builtin-commands/templates/stop-continuation.ts +0 -13
  241. package/src/features/builtin-commands/types.ts +0 -9
  242. package/src/features/builtin-skills/index.ts +0 -2
  243. package/src/features/builtin-skills/materialize.ts +0 -338
  244. package/src/features/builtin-skills/skills/ai-slop-remover.ts +0 -145
  245. package/src/features/builtin-skills/skills/dev-browser.ts +0 -221
  246. package/src/features/builtin-skills/skills/frontend-ui-ux.ts +0 -79
  247. package/src/features/builtin-skills/skills/git-master-sections/commit-workflow.ts +0 -509
  248. package/src/features/builtin-skills/skills/git-master-sections/history-search-workflow.ts +0 -229
  249. package/src/features/builtin-skills/skills/git-master-sections/overview.ts +0 -64
  250. package/src/features/builtin-skills/skills/git-master-sections/quick-reference.ts +0 -86
  251. package/src/features/builtin-skills/skills/git-master-sections/rebase-workflow.ts +0 -181
  252. package/src/features/builtin-skills/skills/git-master-skill-metadata.ts +0 -4
  253. package/src/features/builtin-skills/skills/git-master.ts +0 -28
  254. package/src/features/builtin-skills/skills/hiai-opencode-setup.ts +0 -69
  255. package/src/features/builtin-skills/skills/index.ts +0 -8
  256. package/src/features/builtin-skills/skills/playwright-cli.ts +0 -268
  257. package/src/features/builtin-skills/skills/playwright.ts +0 -488
  258. package/src/features/builtin-skills/skills/review-work.ts +0 -536
  259. package/src/features/builtin-skills/skills.ts +0 -48
  260. package/src/features/builtin-skills/types.ts +0 -16
  261. package/src/features/claude-code-agent-loader/agent-definitions-loader.ts +0 -87
  262. package/src/features/claude-code-agent-loader/claude-model-mapper.ts +0 -53
  263. package/src/features/claude-code-agent-loader/index.ts +0 -5
  264. package/src/features/claude-code-agent-loader/json-agent-loader.ts +0 -53
  265. package/src/features/claude-code-agent-loader/loader.ts +0 -86
  266. package/src/features/claude-code-agent-loader/opencode-config-agents-reader.ts +0 -125
  267. package/src/features/claude-code-agent-loader/types.ts +0 -31
  268. package/src/features/claude-code-command-loader/index.ts +0 -2
  269. package/src/features/claude-code-command-loader/loader.ts +0 -169
  270. package/src/features/claude-code-command-loader/types.ts +0 -46
  271. package/src/features/claude-code-mcp-loader/configure-allowed-env-vars.ts +0 -48
  272. package/src/features/claude-code-mcp-loader/env-expander.ts +0 -51
  273. package/src/features/claude-code-mcp-loader/index.ts +0 -12
  274. package/src/features/claude-code-mcp-loader/loader.ts +0 -156
  275. package/src/features/claude-code-mcp-loader/scope-filter.ts +0 -17
  276. package/src/features/claude-code-mcp-loader/transformer.ts +0 -57
  277. package/src/features/claude-code-mcp-loader/types.ts +0 -51
  278. package/src/features/claude-code-plugin-loader/agent-loader.ts +0 -59
  279. package/src/features/claude-code-plugin-loader/command-loader.ts +0 -53
  280. package/src/features/claude-code-plugin-loader/discovery.ts +0 -251
  281. package/src/features/claude-code-plugin-loader/hook-loader.ts +0 -26
  282. package/src/features/claude-code-plugin-loader/index.ts +0 -10
  283. package/src/features/claude-code-plugin-loader/loader.ts +0 -134
  284. package/src/features/claude-code-plugin-loader/mcp-server-loader.ts +0 -59
  285. package/src/features/claude-code-plugin-loader/plugin-path-resolver.ts +0 -23
  286. package/src/features/claude-code-plugin-loader/scope-filter.ts +0 -29
  287. package/src/features/claude-code-plugin-loader/skill-loader.ts +0 -62
  288. package/src/features/claude-code-plugin-loader/types.ts +0 -255
  289. package/src/features/claude-code-session-state/index.ts +0 -1
  290. package/src/features/claude-code-session-state/state.ts +0 -154
  291. package/src/features/claude-tasks/session-storage.ts +0 -52
  292. package/src/features/claude-tasks/storage.ts +0 -169
  293. package/src/features/claude-tasks/types.ts +0 -20
  294. package/src/features/context-injector/collector.ts +0 -91
  295. package/src/features/context-injector/index.ts +0 -14
  296. package/src/features/context-injector/injector.ts +0 -167
  297. package/src/features/context-injector/types.ts +0 -91
  298. package/src/features/hook-message-injector/constants.ts +0 -1
  299. package/src/features/hook-message-injector/index.ts +0 -11
  300. package/src/features/hook-message-injector/injector.ts +0 -437
  301. package/src/features/hook-message-injector/types.ts +0 -49
  302. package/src/features/mcp-oauth/AGENTS.md +0 -54
  303. package/src/features/mcp-oauth/callback-server.ts +0 -106
  304. package/src/features/mcp-oauth/dcr.ts +0 -98
  305. package/src/features/mcp-oauth/discovery.ts +0 -134
  306. package/src/features/mcp-oauth/oauth-authorization-flow.ts +0 -150
  307. package/src/features/mcp-oauth/provider.ts +0 -215
  308. package/src/features/mcp-oauth/refresh-mutex.ts +0 -58
  309. package/src/features/mcp-oauth/resource-indicator.ts +0 -16
  310. package/src/features/mcp-oauth/schema.ts +0 -8
  311. package/src/features/mcp-oauth/step-up.ts +0 -79
  312. package/src/features/mcp-oauth/storage.ts +0 -155
  313. package/src/features/opencode-skill-loader/AGENTS.md +0 -59
  314. package/src/features/opencode-skill-loader/allowed-tools-parser.ts +0 -9
  315. package/src/features/opencode-skill-loader/async-loader.ts +0 -213
  316. package/src/features/opencode-skill-loader/blocking.ts +0 -62
  317. package/src/features/opencode-skill-loader/config-source-discovery.ts +0 -114
  318. package/src/features/opencode-skill-loader/discover-worker.ts +0 -56
  319. package/src/features/opencode-skill-loader/git-master-template-injection.ts +0 -150
  320. package/src/features/opencode-skill-loader/index.ts +0 -17
  321. package/src/features/opencode-skill-loader/loaded-skill-from-path.ts +0 -73
  322. package/src/features/opencode-skill-loader/loaded-skill-template-extractor.ts +0 -16
  323. package/src/features/opencode-skill-loader/loader.ts +0 -183
  324. package/src/features/opencode-skill-loader/merger/builtin-skill-converter.ts +0 -26
  325. package/src/features/opencode-skill-loader/merger/config-skill-entry-loader.ts +0 -117
  326. package/src/features/opencode-skill-loader/merger/scope-priority.ts +0 -10
  327. package/src/features/opencode-skill-loader/merger/skill-definition-merger.ts +0 -31
  328. package/src/features/opencode-skill-loader/merger/skills-config-normalizer.ts +0 -19
  329. package/src/features/opencode-skill-loader/merger.ts +0 -96
  330. package/src/features/opencode-skill-loader/skill-content.ts +0 -11
  331. package/src/features/opencode-skill-loader/skill-deduplication.ts +0 -13
  332. package/src/features/opencode-skill-loader/skill-definition-record.ts +0 -11
  333. package/src/features/opencode-skill-loader/skill-directory-loader.ts +0 -112
  334. package/src/features/opencode-skill-loader/skill-discovery.ts +0 -76
  335. package/src/features/opencode-skill-loader/skill-mcp-config.ts +0 -45
  336. package/src/features/opencode-skill-loader/skill-resolution-options.ts +0 -9
  337. package/src/features/opencode-skill-loader/skill-template-resolver.ts +0 -97
  338. package/src/features/opencode-skill-loader/types.ts +0 -38
  339. package/src/features/run-continuation-state/constants.ts +0 -1
  340. package/src/features/run-continuation-state/index.ts +0 -3
  341. package/src/features/run-continuation-state/storage.ts +0 -80
  342. package/src/features/run-continuation-state/types.ts +0 -15
  343. package/src/features/skill-mcp-manager/AGENTS.md +0 -111
  344. package/src/features/skill-mcp-manager/cleanup.ts +0 -153
  345. package/src/features/skill-mcp-manager/connection-type.ts +0 -26
  346. package/src/features/skill-mcp-manager/connection.ts +0 -146
  347. package/src/features/skill-mcp-manager/env-cleaner.ts +0 -59
  348. package/src/features/skill-mcp-manager/error-redaction.ts +0 -47
  349. package/src/features/skill-mcp-manager/http-client.ts +0 -126
  350. package/src/features/skill-mcp-manager/index.ts +0 -2
  351. package/src/features/skill-mcp-manager/manager.ts +0 -178
  352. package/src/features/skill-mcp-manager/oauth-handler.ts +0 -160
  353. package/src/features/skill-mcp-manager/stdio-client.ts +0 -112
  354. package/src/features/skill-mcp-manager/types.ts +0 -96
  355. package/src/features/task-toast-manager/index.ts +0 -2
  356. package/src/features/task-toast-manager/manager.ts +0 -251
  357. package/src/features/task-toast-manager/types.ts +0 -29
  358. package/src/features/tmux-subagent/action-executor-core.ts +0 -82
  359. package/src/features/tmux-subagent/action-executor.ts +0 -137
  360. package/src/features/tmux-subagent/cleanup.ts +0 -42
  361. package/src/features/tmux-subagent/decision-engine.ts +0 -22
  362. package/src/features/tmux-subagent/event-handlers.ts +0 -6
  363. package/src/features/tmux-subagent/grid-planning.ts +0 -137
  364. package/src/features/tmux-subagent/index.ts +0 -16
  365. package/src/features/tmux-subagent/manager.ts +0 -969
  366. package/src/features/tmux-subagent/oldest-agent-pane.ts +0 -37
  367. package/src/features/tmux-subagent/pane-split-availability.ts +0 -77
  368. package/src/features/tmux-subagent/pane-state-parser.ts +0 -135
  369. package/src/features/tmux-subagent/pane-state-querier.ts +0 -76
  370. package/src/features/tmux-subagent/polling-constants.ts +0 -6
  371. package/src/features/tmux-subagent/polling-manager.ts +0 -167
  372. package/src/features/tmux-subagent/polling.ts +0 -183
  373. package/src/features/tmux-subagent/session-created-event.ts +0 -44
  374. package/src/features/tmux-subagent/session-created-handler.ts +0 -175
  375. package/src/features/tmux-subagent/session-deleted-handler.ts +0 -50
  376. package/src/features/tmux-subagent/session-message-count.ts +0 -3
  377. package/src/features/tmux-subagent/session-ready-waiter.ts +0 -44
  378. package/src/features/tmux-subagent/session-status-parser.ts +0 -17
  379. package/src/features/tmux-subagent/spawn-action-decider.ts +0 -147
  380. package/src/features/tmux-subagent/spawn-target-finder.ts +0 -146
  381. package/src/features/tmux-subagent/tmux-grid-constants.ts +0 -57
  382. package/src/features/tmux-subagent/tracked-session-state.ts +0 -29
  383. package/src/features/tmux-subagent/types.ts +0 -54
  384. package/src/features/tool-metadata-store/index.ts +0 -7
  385. package/src/features/tool-metadata-store/store.ts +0 -84
  386. package/src/hooks/agent-usage-reminder/constants.ts +0 -52
  387. package/src/hooks/agent-usage-reminder/hook.ts +0 -134
  388. package/src/hooks/agent-usage-reminder/index.ts +0 -1
  389. package/src/hooks/agent-usage-reminder/storage.ts +0 -42
  390. package/src/hooks/agent-usage-reminder/types.ts +0 -6
  391. package/src/hooks/anthropic-context-window-limit-recovery/AGENTS.md +0 -49
  392. package/src/hooks/anthropic-context-window-limit-recovery/aggressive-truncation-strategy.ts +0 -87
  393. package/src/hooks/anthropic-context-window-limit-recovery/client.ts +0 -21
  394. package/src/hooks/anthropic-context-window-limit-recovery/deduplication-recovery.ts +0 -77
  395. package/src/hooks/anthropic-context-window-limit-recovery/empty-content-recovery-sdk.ts +0 -199
  396. package/src/hooks/anthropic-context-window-limit-recovery/empty-content-recovery.ts +0 -149
  397. package/src/hooks/anthropic-context-window-limit-recovery/executor.ts +0 -83
  398. package/src/hooks/anthropic-context-window-limit-recovery/index.ts +0 -8
  399. package/src/hooks/anthropic-context-window-limit-recovery/message-builder.ts +0 -190
  400. package/src/hooks/anthropic-context-window-limit-recovery/message-storage-directory.ts +0 -40
  401. package/src/hooks/anthropic-context-window-limit-recovery/parser.ts +0 -209
  402. package/src/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.ts +0 -189
  403. package/src/hooks/anthropic-context-window-limit-recovery/pruning-tool-output-truncation.ts +0 -142
  404. package/src/hooks/anthropic-context-window-limit-recovery/pruning-types.ts +0 -44
  405. package/src/hooks/anthropic-context-window-limit-recovery/recovery-hook.test-support.ts +0 -119
  406. package/src/hooks/anthropic-context-window-limit-recovery/recovery-hook.ts +0 -193
  407. package/src/hooks/anthropic-context-window-limit-recovery/recovery-strategy.ts +0 -2
  408. package/src/hooks/anthropic-context-window-limit-recovery/session-timeout-map.ts +0 -20
  409. package/src/hooks/anthropic-context-window-limit-recovery/state.ts +0 -78
  410. package/src/hooks/anthropic-context-window-limit-recovery/storage-paths.ts +0 -6
  411. package/src/hooks/anthropic-context-window-limit-recovery/storage.ts +0 -18
  412. package/src/hooks/anthropic-context-window-limit-recovery/summarize-retry-strategy.ts +0 -218
  413. package/src/hooks/anthropic-context-window-limit-recovery/target-token-truncation.ts +0 -196
  414. package/src/hooks/anthropic-context-window-limit-recovery/tool-part-types.ts +0 -38
  415. package/src/hooks/anthropic-context-window-limit-recovery/tool-result-storage-sdk.ts +0 -123
  416. package/src/hooks/anthropic-context-window-limit-recovery/tool-result-storage.ts +0 -119
  417. package/src/hooks/anthropic-context-window-limit-recovery/types.ts +0 -44
  418. package/src/hooks/anthropic-effort/hook.ts +0 -93
  419. package/src/hooks/anthropic-effort/index.ts +0 -1
  420. package/src/hooks/auto-slash-command/constants.ts +0 -12
  421. package/src/hooks/auto-slash-command/detector.ts +0 -88
  422. package/src/hooks/auto-slash-command/executor.ts +0 -165
  423. package/src/hooks/auto-slash-command/hook.ts +0 -238
  424. package/src/hooks/auto-slash-command/index.ts +0 -7
  425. package/src/hooks/auto-slash-command/processed-command-store.ts +0 -74
  426. package/src/hooks/auto-slash-command/types.ts +0 -42
  427. package/src/hooks/background-notification/hook.ts +0 -54
  428. package/src/hooks/background-notification/index.ts +0 -2
  429. package/src/hooks/background-notification/types.ts +0 -5
  430. package/src/hooks/bash-file-read-guard.ts +0 -44
  431. package/src/hooks/category-skill-reminder/formatter.ts +0 -37
  432. package/src/hooks/category-skill-reminder/hook.ts +0 -142
  433. package/src/hooks/category-skill-reminder/index.ts +0 -1
  434. package/src/hooks/claude-code-hooks/AGENTS.md +0 -41
  435. package/src/hooks/claude-code-hooks/claude-code-hooks-hook.ts +0 -28
  436. package/src/hooks/claude-code-hooks/config-loader.ts +0 -151
  437. package/src/hooks/claude-code-hooks/config.ts +0 -147
  438. package/src/hooks/claude-code-hooks/dispatch-hook.ts +0 -27
  439. package/src/hooks/claude-code-hooks/execute-http-hook.ts +0 -116
  440. package/src/hooks/claude-code-hooks/handlers/chat-message-handler.ts +0 -140
  441. package/src/hooks/claude-code-hooks/handlers/pre-compact-handler.ts +0 -41
  442. package/src/hooks/claude-code-hooks/handlers/session-event-handler.ts +0 -137
  443. package/src/hooks/claude-code-hooks/handlers/tool-execute-after-handler.ts +0 -160
  444. package/src/hooks/claude-code-hooks/handlers/tool-execute-before-handler.ts +0 -93
  445. package/src/hooks/claude-code-hooks/index.ts +0 -1
  446. package/src/hooks/claude-code-hooks/plugin-config.ts +0 -12
  447. package/src/hooks/claude-code-hooks/post-tool-use.ts +0 -195
  448. package/src/hooks/claude-code-hooks/pre-compact.ts +0 -105
  449. package/src/hooks/claude-code-hooks/pre-tool-use.ts +0 -168
  450. package/src/hooks/claude-code-hooks/session-hook-state.ts +0 -17
  451. package/src/hooks/claude-code-hooks/stop.ts +0 -118
  452. package/src/hooks/claude-code-hooks/todo.ts +0 -76
  453. package/src/hooks/claude-code-hooks/tool-input-cache.ts +0 -82
  454. package/src/hooks/claude-code-hooks/transcript.ts +0 -248
  455. package/src/hooks/claude-code-hooks/types.ts +0 -214
  456. package/src/hooks/claude-code-hooks/user-prompt-submit.ts +0 -121
  457. package/src/hooks/comment-checker/cli-runner.ts +0 -127
  458. package/src/hooks/comment-checker/cli.ts +0 -269
  459. package/src/hooks/comment-checker/downloader.ts +0 -170
  460. package/src/hooks/comment-checker/hook.ts +0 -192
  461. package/src/hooks/comment-checker/index.ts +0 -1
  462. package/src/hooks/comment-checker/pending-calls.ts +0 -45
  463. package/src/hooks/comment-checker/types.ts +0 -33
  464. package/src/hooks/compaction-context-injector/compaction-context-prompt.ts +0 -56
  465. package/src/hooks/compaction-context-injector/constants.ts +0 -5
  466. package/src/hooks/compaction-context-injector/hook.ts +0 -164
  467. package/src/hooks/compaction-context-injector/index.ts +0 -1
  468. package/src/hooks/compaction-context-injector/recovery-prompt-config.ts +0 -77
  469. package/src/hooks/compaction-context-injector/recovery.ts +0 -163
  470. package/src/hooks/compaction-context-injector/session-id.ts +0 -8
  471. package/src/hooks/compaction-context-injector/session-prompt-config-resolver.ts +0 -120
  472. package/src/hooks/compaction-context-injector/tail-monitor.ts +0 -52
  473. package/src/hooks/compaction-context-injector/types.ts +0 -25
  474. package/src/hooks/compaction-context-injector/validated-model.ts +0 -47
  475. package/src/hooks/compaction-todo-preserver/hook.ts +0 -127
  476. package/src/hooks/compaction-todo-preserver/index.ts +0 -2
  477. package/src/hooks/context-window-monitor.ts +0 -113
  478. package/src/hooks/delegate-task-retry/guidance.ts +0 -45
  479. package/src/hooks/delegate-task-retry/hook.ts +0 -22
  480. package/src/hooks/delegate-task-retry/index.ts +0 -4
  481. package/src/hooks/delegate-task-retry/patterns.ts +0 -77
  482. package/src/hooks/directory-agents-injector/constants.ts +0 -7
  483. package/src/hooks/directory-agents-injector/finder.ts +0 -38
  484. package/src/hooks/directory-agents-injector/hook.ts +0 -80
  485. package/src/hooks/directory-agents-injector/index.ts +0 -1
  486. package/src/hooks/directory-agents-injector/injector.ts +0 -59
  487. package/src/hooks/directory-agents-injector/storage.ts +0 -8
  488. package/src/hooks/directory-readme-injector/constants.ts +0 -7
  489. package/src/hooks/directory-readme-injector/finder.ts +0 -33
  490. package/src/hooks/directory-readme-injector/hook.ts +0 -80
  491. package/src/hooks/directory-readme-injector/index.ts +0 -1
  492. package/src/hooks/directory-readme-injector/injector.ts +0 -59
  493. package/src/hooks/directory-readme-injector/storage.ts +0 -8
  494. package/src/hooks/edit-error-recovery/hook.ts +0 -58
  495. package/src/hooks/edit-error-recovery/index.ts +0 -5
  496. package/src/hooks/empty-task-response-detector.ts +0 -27
  497. package/src/hooks/fast-apply/hook.ts +0 -11
  498. package/src/hooks/fast-apply/index.ts +0 -1
  499. package/src/hooks/fast-apply/ollama-client.ts +0 -53
  500. package/src/hooks/fast-apply/tool-execute-before-handler.ts +0 -86
  501. package/src/hooks/guard/AGENTS.md +0 -64
  502. package/src/hooks/guard/background-launch-session-tracking.ts +0 -97
  503. package/src/hooks/guard/bob-path.ts +0 -8
  504. package/src/hooks/guard/boulder-continuation-injector.ts +0 -109
  505. package/src/hooks/guard/boulder-session-lineage.ts +0 -44
  506. package/src/hooks/guard/event-handler.ts +0 -104
  507. package/src/hooks/guard/final-wave-approval-gate.ts +0 -47
  508. package/src/hooks/guard/final-wave-plan-state.ts +0 -60
  509. package/src/hooks/guard/guard-hook.ts +0 -27
  510. package/src/hooks/guard/hook-name.ts +0 -1
  511. package/src/hooks/guard/idle-event.ts +0 -341
  512. package/src/hooks/guard/index.ts +0 -3
  513. package/src/hooks/guard/is-abort-error.ts +0 -20
  514. package/src/hooks/guard/recent-model-resolver.ts +0 -89
  515. package/src/hooks/guard/resolve-active-boulder-session.ts +0 -29
  516. package/src/hooks/guard/session-last-agent.ts +0 -153
  517. package/src/hooks/guard/subagent-session-id.ts +0 -54
  518. package/src/hooks/guard/system-reminder-templates.ts +0 -249
  519. package/src/hooks/guard/task-context.ts +0 -45
  520. package/src/hooks/guard/tool-execute-after.ts +0 -209
  521. package/src/hooks/guard/tool-execute-before.ts +0 -102
  522. package/src/hooks/guard/tsconfig.json +0 -9
  523. package/src/hooks/guard/types.ts +0 -45
  524. package/src/hooks/guard/verification-reminders.ts +0 -197
  525. package/src/hooks/guard/write-edit-tool-policy.ts +0 -5
  526. package/src/hooks/hashline-edit-diff-enhancer/hook.ts +0 -106
  527. package/src/hooks/hashline-read-enhancer/hook.ts +0 -193
  528. package/src/hooks/hashline-read-enhancer/index.ts +0 -1
  529. package/src/hooks/index.ts +0 -58
  530. package/src/hooks/interactive-bash-session/constants.ts +0 -13
  531. package/src/hooks/interactive-bash-session/hook.ts +0 -125
  532. package/src/hooks/interactive-bash-session/index.ts +0 -3
  533. package/src/hooks/interactive-bash-session/interactive-bash-session-tracker.ts +0 -119
  534. package/src/hooks/interactive-bash-session/parser.ts +0 -118
  535. package/src/hooks/interactive-bash-session/state-manager.ts +0 -35
  536. package/src/hooks/interactive-bash-session/storage.ts +0 -59
  537. package/src/hooks/interactive-bash-session/tmux-command-parser.ts +0 -125
  538. package/src/hooks/interactive-bash-session/types.ts +0 -11
  539. package/src/hooks/json-error-recovery/hook.ts +0 -58
  540. package/src/hooks/json-error-recovery/index.ts +0 -6
  541. package/src/hooks/keyword-detector/AGENTS.md +0 -57
  542. package/src/hooks/keyword-detector/analyze/default.ts +0 -28
  543. package/src/hooks/keyword-detector/analyze/index.ts +0 -1
  544. package/src/hooks/keyword-detector/constants.ts +0 -45
  545. package/src/hooks/keyword-detector/detector.ts +0 -53
  546. package/src/hooks/keyword-detector/hook.ts +0 -143
  547. package/src/hooks/keyword-detector/index.ts +0 -5
  548. package/src/hooks/keyword-detector/search/default.ts +0 -20
  549. package/src/hooks/keyword-detector/search/index.ts +0 -1
  550. package/src/hooks/keyword-detector/types.ts +0 -4
  551. package/src/hooks/keyword-detector/ultrawork/default.ts +0 -302
  552. package/src/hooks/keyword-detector/ultrawork/gemini.ts +0 -290
  553. package/src/hooks/keyword-detector/ultrawork/gpt.ts +0 -173
  554. package/src/hooks/keyword-detector/ultrawork/index.ts +0 -56
  555. package/src/hooks/keyword-detector/ultrawork/planner.ts +0 -140
  556. package/src/hooks/keyword-detector/ultrawork/source-detector.ts +0 -65
  557. package/src/hooks/legacy-plugin-toast/auto-migrate-runner.ts +0 -2
  558. package/src/hooks/legacy-plugin-toast/auto-migrate.ts +0 -64
  559. package/src/hooks/legacy-plugin-toast/hook.ts +0 -68
  560. package/src/hooks/legacy-plugin-toast/index.ts +0 -1
  561. package/src/hooks/legacy-plugin-toast/plugin-entry-migrator.ts +0 -1
  562. package/src/hooks/model-fallback/chat-message-fallback-handler.ts +0 -74
  563. package/src/hooks/model-fallback/hook.ts +0 -201
  564. package/src/hooks/model-fallback/next-fallback.ts +0 -84
  565. package/src/hooks/no-bob-gpt/hook.ts +0 -56
  566. package/src/hooks/no-bob-gpt/index.ts +0 -1
  567. package/src/hooks/no-coder-non-gpt/hook.ts +0 -67
  568. package/src/hooks/no-coder-non-gpt/index.ts +0 -1
  569. package/src/hooks/non-interactive-env/constants.ts +0 -70
  570. package/src/hooks/non-interactive-env/detector.ts +0 -19
  571. package/src/hooks/non-interactive-env/index.ts +0 -5
  572. package/src/hooks/non-interactive-env/non-interactive-env-hook.ts +0 -73
  573. package/src/hooks/non-interactive-env/types.ts +0 -3
  574. package/src/hooks/preemptive-compaction-degradation-monitor.ts +0 -212
  575. package/src/hooks/preemptive-compaction-no-text-tail.ts +0 -70
  576. package/src/hooks/preemptive-compaction.ts +0 -218
  577. package/src/hooks/question-label-truncator/hook.ts +0 -62
  578. package/src/hooks/question-label-truncator/index.ts +0 -1
  579. package/src/hooks/ralph-loop/AGENTS.md +0 -62
  580. package/src/hooks/ralph-loop/command-arguments.ts +0 -30
  581. package/src/hooks/ralph-loop/completion-handler.ts +0 -65
  582. package/src/hooks/ralph-loop/completion-promise-detector-test-input.ts +0 -23
  583. package/src/hooks/ralph-loop/completion-promise-detector.ts +0 -165
  584. package/src/hooks/ralph-loop/constants.ts +0 -7
  585. package/src/hooks/ralph-loop/continuation-prompt-builder.ts +0 -77
  586. package/src/hooks/ralph-loop/continuation-prompt-injector.ts +0 -91
  587. package/src/hooks/ralph-loop/index.ts +0 -6
  588. package/src/hooks/ralph-loop/iteration-continuation.ts +0 -64
  589. package/src/hooks/ralph-loop/logician-verification-detector.ts +0 -88
  590. package/src/hooks/ralph-loop/loop-session-recovery.ts +0 -33
  591. package/src/hooks/ralph-loop/loop-state-controller.ts +0 -178
  592. package/src/hooks/ralph-loop/message-storage-directory.ts +0 -1
  593. package/src/hooks/ralph-loop/pending-verification-handler.ts +0 -152
  594. package/src/hooks/ralph-loop/ralph-loop-event-handler.ts +0 -231
  595. package/src/hooks/ralph-loop/ralph-loop-hook.ts +0 -90
  596. package/src/hooks/ralph-loop/session-event-handler.ts +0 -56
  597. package/src/hooks/ralph-loop/session-reset-strategy.ts +0 -69
  598. package/src/hooks/ralph-loop/storage.ts +0 -164
  599. package/src/hooks/ralph-loop/types.ts +0 -25
  600. package/src/hooks/ralph-loop/verification-failure-handler.ts +0 -103
  601. package/src/hooks/ralph-loop/with-timeout.ts +0 -20
  602. package/src/hooks/read-image-resizer/hook.ts +0 -209
  603. package/src/hooks/read-image-resizer/image-dimensions.ts +0 -191
  604. package/src/hooks/read-image-resizer/image-resizer.ts +0 -191
  605. package/src/hooks/read-image-resizer/index.ts +0 -1
  606. package/src/hooks/read-image-resizer/png-fallback-resizer.ts +0 -359
  607. package/src/hooks/read-image-resizer/types.ts +0 -16
  608. package/src/hooks/rules-injector/AGENTS.md +0 -53
  609. package/src/hooks/rules-injector/cache.ts +0 -27
  610. package/src/hooks/rules-injector/constants.ts +0 -31
  611. package/src/hooks/rules-injector/finder.ts +0 -3
  612. package/src/hooks/rules-injector/hook.ts +0 -94
  613. package/src/hooks/rules-injector/index.ts +0 -2
  614. package/src/hooks/rules-injector/injector.ts +0 -189
  615. package/src/hooks/rules-injector/matcher.ts +0 -63
  616. package/src/hooks/rules-injector/output-path.ts +0 -22
  617. package/src/hooks/rules-injector/parser.ts +0 -211
  618. package/src/hooks/rules-injector/project-root-finder.ts +0 -36
  619. package/src/hooks/rules-injector/rule-distance.ts +0 -53
  620. package/src/hooks/rules-injector/rule-file-finder.ts +0 -139
  621. package/src/hooks/rules-injector/rule-file-scanner.ts +0 -55
  622. package/src/hooks/rules-injector/storage.ts +0 -59
  623. package/src/hooks/rules-injector/types.ts +0 -57
  624. package/src/hooks/runtime-fallback/AGENTS.md +0 -102
  625. package/src/hooks/runtime-fallback/agent-resolver.ts +0 -50
  626. package/src/hooks/runtime-fallback/auto-retry-signal.ts +0 -32
  627. package/src/hooks/runtime-fallback/auto-retry.ts +0 -228
  628. package/src/hooks/runtime-fallback/chat-message-handler.ts +0 -62
  629. package/src/hooks/runtime-fallback/constants.ts +0 -47
  630. package/src/hooks/runtime-fallback/error-classifier.ts +0 -183
  631. package/src/hooks/runtime-fallback/event-handler.ts +0 -213
  632. package/src/hooks/runtime-fallback/fallback-bootstrap-model.ts +0 -63
  633. package/src/hooks/runtime-fallback/fallback-models.ts +0 -86
  634. package/src/hooks/runtime-fallback/fallback-retry-dispatcher.ts +0 -55
  635. package/src/hooks/runtime-fallback/fallback-state.ts +0 -74
  636. package/src/hooks/runtime-fallback/hook.ts +0 -87
  637. package/src/hooks/runtime-fallback/index.ts +0 -2
  638. package/src/hooks/runtime-fallback/last-user-retry-parts.ts +0 -20
  639. package/src/hooks/runtime-fallback/message-update-handler.ts +0 -168
  640. package/src/hooks/runtime-fallback/retry-model-payload.ts +0 -30
  641. package/src/hooks/runtime-fallback/session-messages.ts +0 -38
  642. package/src/hooks/runtime-fallback/session-status-handler.ts +0 -126
  643. package/src/hooks/runtime-fallback/types.ts +0 -77
  644. package/src/hooks/runtime-fallback/visible-assistant-response.ts +0 -80
  645. package/src/hooks/session-notification-content.ts +0 -145
  646. package/src/hooks/session-notification-formatting.ts +0 -25
  647. package/src/hooks/session-notification-scheduler.ts +0 -188
  648. package/src/hooks/session-notification-sender.ts +0 -117
  649. package/src/hooks/session-notification-utils.ts +0 -80
  650. package/src/hooks/session-notification.ts +0 -219
  651. package/src/hooks/session-recovery/AGENTS.md +0 -59
  652. package/src/hooks/session-recovery/constants.ts +0 -5
  653. package/src/hooks/session-recovery/detect-error-type.ts +0 -102
  654. package/src/hooks/session-recovery/hook.ts +0 -166
  655. package/src/hooks/session-recovery/index.ts +0 -7
  656. package/src/hooks/session-recovery/recover-empty-content-message-sdk.ts +0 -201
  657. package/src/hooks/session-recovery/recover-thinking-block-order.ts +0 -137
  658. package/src/hooks/session-recovery/recover-thinking-disabled-violation.ts +0 -75
  659. package/src/hooks/session-recovery/recover-tool-result-missing.ts +0 -108
  660. package/src/hooks/session-recovery/recover-unavailable-tool.ts +0 -108
  661. package/src/hooks/session-recovery/resume.ts +0 -49
  662. package/src/hooks/session-recovery/storage/empty-messages.ts +0 -47
  663. package/src/hooks/session-recovery/storage/empty-text.ts +0 -118
  664. package/src/hooks/session-recovery/storage/message-dir.ts +0 -1
  665. package/src/hooks/session-recovery/storage/messages-reader.ts +0 -83
  666. package/src/hooks/session-recovery/storage/orphan-thinking-search.ts +0 -43
  667. package/src/hooks/session-recovery/storage/part-content.ts +0 -28
  668. package/src/hooks/session-recovery/storage/part-id.ts +0 -5
  669. package/src/hooks/session-recovery/storage/parts-reader.ts +0 -56
  670. package/src/hooks/session-recovery/storage/text-part-injector.ts +0 -63
  671. package/src/hooks/session-recovery/storage/thinking-block-search.ts +0 -42
  672. package/src/hooks/session-recovery/storage/thinking-prepend.ts +0 -223
  673. package/src/hooks/session-recovery/storage/thinking-strip.ts +0 -67
  674. package/src/hooks/session-recovery/storage.ts +0 -34
  675. package/src/hooks/session-recovery/types.ts +0 -101
  676. package/src/hooks/session-todo-status.ts +0 -20
  677. package/src/hooks/shared/compaction-model-resolver.ts +0 -34
  678. package/src/hooks/shared/shared/compaction-model-resolver.ts +0 -34
  679. package/src/hooks/start-work/context-info-builder.ts +0 -319
  680. package/src/hooks/start-work/index.ts +0 -4
  681. package/src/hooks/start-work/parse-user-request.ts +0 -32
  682. package/src/hooks/start-work/start-work-hook.ts +0 -135
  683. package/src/hooks/start-work/worktree-block.ts +0 -11
  684. package/src/hooks/start-work/worktree-detector.ts +0 -77
  685. package/src/hooks/stop-continuation-guard/hook.ts +0 -122
  686. package/src/hooks/stop-continuation-guard/index.ts +0 -2
  687. package/src/hooks/strategist-md-only/agent-matcher.ts +0 -5
  688. package/src/hooks/strategist-md-only/agent-resolution.ts +0 -70
  689. package/src/hooks/strategist-md-only/constants.ts +0 -78
  690. package/src/hooks/strategist-md-only/hook.ts +0 -82
  691. package/src/hooks/strategist-md-only/index.ts +0 -2
  692. package/src/hooks/strategist-md-only/path-policy.ts +0 -41
  693. package/src/hooks/sub-notepad/constants.ts +0 -29
  694. package/src/hooks/sub-notepad/hook.ts +0 -44
  695. package/src/hooks/sub-notepad/index.ts +0 -3
  696. package/src/hooks/task-reminder/hook.ts +0 -59
  697. package/src/hooks/task-reminder/index.ts +0 -1
  698. package/src/hooks/task-resume-info/hook.ts +0 -39
  699. package/src/hooks/task-resume-info/index.ts +0 -1
  700. package/src/hooks/tasks-todowrite-disabler/constants.ts +0 -30
  701. package/src/hooks/tasks-todowrite-disabler/hook.ts +0 -34
  702. package/src/hooks/tasks-todowrite-disabler/index.ts +0 -2
  703. package/src/hooks/think-mode/detector.ts +0 -59
  704. package/src/hooks/think-mode/hook.ts +0 -76
  705. package/src/hooks/think-mode/index.ts +0 -5
  706. package/src/hooks/think-mode/switcher.ts +0 -100
  707. package/src/hooks/think-mode/types.ts +0 -16
  708. package/src/hooks/thinking-block-validator/hook.ts +0 -181
  709. package/src/hooks/thinking-block-validator/index.ts +0 -1
  710. package/src/hooks/todo-continuation-enforcer/AGENTS.md +0 -65
  711. package/src/hooks/todo-continuation-enforcer/abort-detection.ts +0 -17
  712. package/src/hooks/todo-continuation-enforcer/compaction-guard.ts +0 -39
  713. package/src/hooks/todo-continuation-enforcer/constants.ts +0 -25
  714. package/src/hooks/todo-continuation-enforcer/continuation-injection.ts +0 -222
  715. package/src/hooks/todo-continuation-enforcer/countdown.ts +0 -86
  716. package/src/hooks/todo-continuation-enforcer/handler.ts +0 -99
  717. package/src/hooks/todo-continuation-enforcer/idle-event.ts +0 -225
  718. package/src/hooks/todo-continuation-enforcer/index.ts +0 -59
  719. package/src/hooks/todo-continuation-enforcer/message-directory.ts +0 -1
  720. package/src/hooks/todo-continuation-enforcer/non-idle-events.ts +0 -107
  721. package/src/hooks/todo-continuation-enforcer/pending-question-detection.ts +0 -40
  722. package/src/hooks/todo-continuation-enforcer/resolve-message-info.ts +0 -48
  723. package/src/hooks/todo-continuation-enforcer/session-state.ts +0 -283
  724. package/src/hooks/todo-continuation-enforcer/stagnation-detection.ts +0 -36
  725. package/src/hooks/todo-continuation-enforcer/todo.ts +0 -11
  726. package/src/hooks/todo-continuation-enforcer/token-limit-detection.ts +0 -38
  727. package/src/hooks/todo-continuation-enforcer/types.ts +0 -74
  728. package/src/hooks/todo-description-override/description.ts +0 -28
  729. package/src/hooks/todo-description-override/hook.ts +0 -14
  730. package/src/hooks/todo-description-override/index.ts +0 -1
  731. package/src/hooks/tool-output-truncator.ts +0 -66
  732. package/src/hooks/tool-pair-validator/hook.ts +0 -184
  733. package/src/hooks/tool-pair-validator/index.ts +0 -1
  734. package/src/hooks/unstable-agent-babysitter/index.ts +0 -9
  735. package/src/hooks/unstable-agent-babysitter/task-message-analyzer.ts +0 -110
  736. package/src/hooks/unstable-agent-babysitter/unstable-agent-babysitter-hook.ts +0 -238
  737. package/src/hooks/webfetch-redirect-guard/constants.ts +0 -11
  738. package/src/hooks/webfetch-redirect-guard/hook.ts +0 -123
  739. package/src/hooks/webfetch-redirect-guard/index.ts +0 -1
  740. package/src/hooks/webfetch-redirect-guard/redirect-resolution.ts +0 -89
  741. package/src/hooks/write-existing-file-guard/hook.ts +0 -108
  742. package/src/hooks/write-existing-file-guard/index.ts +0 -1
  743. package/src/hooks/write-existing-file-guard/session-read-permissions.ts +0 -36
  744. package/src/hooks/write-existing-file-guard/tool-execute-before-handler.ts +0 -176
  745. package/src/index.ts +0 -252
  746. package/src/internals/plugins/pty/LICENSE +0 -21
  747. package/src/internals/plugins/pty/constants.ts +0 -7
  748. package/src/internals/plugins/pty/plugin.ts +0 -28
  749. package/src/internals/plugins/pty/pty/buffer.ts +0 -75
  750. package/src/internals/plugins/pty/pty/formatters.ts +0 -22
  751. package/src/internals/plugins/pty/pty/manager.ts +0 -175
  752. package/src/internals/plugins/pty/pty/notification-manager.ts +0 -75
  753. package/src/internals/plugins/pty/pty/output-manager.ts +0 -29
  754. package/src/internals/plugins/pty/pty/permissions.ts +0 -115
  755. package/src/internals/plugins/pty/pty/session-lifecycle.ts +0 -161
  756. package/src/internals/plugins/pty/pty/tools/kill.ts +0 -41
  757. package/src/internals/plugins/pty/pty/tools/kill.txt +0 -25
  758. package/src/internals/plugins/pty/pty/tools/list.ts +0 -25
  759. package/src/internals/plugins/pty/pty/tools/list.txt +0 -22
  760. package/src/internals/plugins/pty/pty/tools/read.ts +0 -234
  761. package/src/internals/plugins/pty/pty/tools/read.txt +0 -39
  762. package/src/internals/plugins/pty/pty/tools/spawn.ts +0 -71
  763. package/src/internals/plugins/pty/pty/tools/spawn.txt +0 -47
  764. package/src/internals/plugins/pty/pty/tools/write.ts +0 -96
  765. package/src/internals/plugins/pty/pty/tools/write.txt +0 -28
  766. package/src/internals/plugins/pty/pty/types.ts +0 -67
  767. package/src/internals/plugins/pty/pty/utils.ts +0 -21
  768. package/src/internals/plugins/pty/pty/wildcard.ts +0 -62
  769. package/src/internals/plugins/pty/shared/constants.ts +0 -7
  770. package/src/internals/plugins/pty/types.ts +0 -7
  771. package/src/internals/plugins/subtask2/LICENSE +0 -128
  772. package/src/internals/plugins/subtask2/commands/index.ts +0 -7
  773. package/src/internals/plugins/subtask2/commands/loader.ts +0 -39
  774. package/src/internals/plugins/subtask2/commands/manifest.ts +0 -64
  775. package/src/internals/plugins/subtask2/commands/resolver.ts +0 -28
  776. package/src/internals/plugins/subtask2/core/plugin.ts +0 -52
  777. package/src/internals/plugins/subtask2/core/state.ts +0 -764
  778. package/src/internals/plugins/subtask2/features/auto.ts +0 -57
  779. package/src/internals/plugins/subtask2/features/index.ts +0 -9
  780. package/src/internals/plugins/subtask2/features/inline-subtasks.ts +0 -205
  781. package/src/internals/plugins/subtask2/features/parallel.ts +0 -148
  782. package/src/internals/plugins/subtask2/features/results.ts +0 -48
  783. package/src/internals/plugins/subtask2/features/returns.ts +0 -273
  784. package/src/internals/plugins/subtask2/features/turns.ts +0 -190
  785. package/src/internals/plugins/subtask2/hooks/command-hooks.ts +0 -283
  786. package/src/internals/plugins/subtask2/hooks/message-hooks.ts +0 -603
  787. package/src/internals/plugins/subtask2/hooks/session-idle-hook.ts +0 -358
  788. package/src/internals/plugins/subtask2/hooks/tool-hooks.ts +0 -309
  789. package/src/internals/plugins/subtask2/loop.ts +0 -122
  790. package/src/internals/plugins/subtask2/parsing/auto.ts +0 -33
  791. package/src/internals/plugins/subtask2/parsing/commands.ts +0 -154
  792. package/src/internals/plugins/subtask2/parsing/frontmatter.ts +0 -20
  793. package/src/internals/plugins/subtask2/parsing/index.ts +0 -10
  794. package/src/internals/plugins/subtask2/parsing/overrides.ts +0 -68
  795. package/src/internals/plugins/subtask2/parsing/parallel.ts +0 -88
  796. package/src/internals/plugins/subtask2/parsing/turns.ts +0 -78
  797. package/src/internals/plugins/subtask2/types.ts +0 -41
  798. package/src/internals/plugins/subtask2/utils/config.ts +0 -100
  799. package/src/internals/plugins/subtask2/utils/index.ts +0 -7
  800. package/src/internals/plugins/subtask2/utils/logger.ts +0 -67
  801. package/src/internals/plugins/subtask2/utils/prompts.ts +0 -117
  802. package/src/lsp/index.ts +0 -16
  803. package/src/mcp/context7.ts +0 -9
  804. package/src/mcp/grep-app.ts +0 -6
  805. package/src/mcp/index.ts +0 -54
  806. package/src/mcp/omo-mcp-index.ts +0 -30
  807. package/src/mcp/registry.ts +0 -137
  808. package/src/mcp/types.ts +0 -19
  809. package/src/mcp/websearch.ts +0 -44
  810. package/src/permissions/index.ts +0 -25
  811. package/src/plugin/AGENTS.md +0 -54
  812. package/src/plugin/available-categories.ts +0 -24
  813. package/src/plugin/chat-headers.ts +0 -141
  814. package/src/plugin/chat-message.ts +0 -309
  815. package/src/plugin/chat-params.ts +0 -182
  816. package/src/plugin/command-execute-before.ts +0 -80
  817. package/src/plugin/event.ts +0 -639
  818. package/src/plugin/hooks/create-continuation-hooks.ts +0 -128
  819. package/src/plugin/hooks/create-core-hooks.ts +0 -47
  820. package/src/plugin/hooks/create-session-hooks.ts +0 -286
  821. package/src/plugin/hooks/create-skill-hooks.ts +0 -50
  822. package/src/plugin/hooks/create-tool-guard-hooks.ts +0 -159
  823. package/src/plugin/hooks/create-transform-hooks.ts +0 -85
  824. package/src/plugin/messages-transform.ts +0 -28
  825. package/src/plugin/normalize-tool-arg-schemas.ts +0 -75
  826. package/src/plugin/recent-synthetic-idles.ts +0 -20
  827. package/src/plugin/session-agent-resolver.ts +0 -37
  828. package/src/plugin/session-status-normalizer.ts +0 -22
  829. package/src/plugin/skill-context.ts +0 -150
  830. package/src/plugin/skill-discovery-config.ts +0 -32
  831. package/src/plugin/system-transform.ts +0 -6
  832. package/src/plugin/tool-execute-after.ts +0 -178
  833. package/src/plugin/tool-execute-before.ts +0 -222
  834. package/src/plugin/tool-registry.ts +0 -286
  835. package/src/plugin/types.ts +0 -26
  836. package/src/plugin/ultrawork-db-model-override.ts +0 -142
  837. package/src/plugin/ultrawork-model-override.ts +0 -196
  838. package/src/plugin/ultrawork-variant-availability.ts +0 -51
  839. package/src/plugin/unstable-agent-babysitter.ts +0 -41
  840. package/src/plugin-config.ts +0 -314
  841. package/src/plugin-dispose.ts +0 -51
  842. package/src/plugin-handlers/AGENTS.md +0 -92
  843. package/src/plugin-handlers/agent-config-handler.ts +0 -509
  844. package/src/plugin-handlers/agent-key-remapper.ts +0 -39
  845. package/src/plugin-handlers/agent-override-protection.ts +0 -38
  846. package/src/plugin-handlers/agent-priority-order.ts +0 -63
  847. package/src/plugin-handlers/category-config-resolver.ts +0 -9
  848. package/src/plugin-handlers/command-config-handler.ts +0 -115
  849. package/src/plugin-handlers/config-handler.ts +0 -61
  850. package/src/plugin-handlers/index.ts +0 -10
  851. package/src/plugin-handlers/mcp-config-handler.ts +0 -205
  852. package/src/plugin-handlers/plan-model-inheritance.ts +0 -27
  853. package/src/plugin-handlers/plugin-components-loader.ts +0 -70
  854. package/src/plugin-handlers/provider-config-handler.ts +0 -73
  855. package/src/plugin-handlers/strategist-agent-config-builder.ts +0 -128
  856. package/src/plugin-handlers/tool-config-handler.ts +0 -193
  857. package/src/plugin-interface.ts +0 -83
  858. package/src/plugin-state.ts +0 -18
  859. package/src/shared/AGENTS.md +0 -54
  860. package/src/shared/agent-display-names.ts +0 -182
  861. package/src/shared/agent-tool-restrictions.ts +0 -80
  862. package/src/shared/agent-variant.ts +0 -101
  863. package/src/shared/agents-config-dir.ts +0 -23
  864. package/src/shared/archive-entry-validator.ts +0 -83
  865. package/src/shared/background-output-consumption.ts +0 -69
  866. package/src/shared/binary-downloader.ts +0 -127
  867. package/src/shared/claude-config-dir.ts +0 -16
  868. package/src/shared/closure-protocol.ts +0 -53
  869. package/src/shared/command-executor/embedded-commands.ts +0 -26
  870. package/src/shared/command-executor/execute-command.ts +0 -28
  871. package/src/shared/command-executor/execute-hook-command.ts +0 -129
  872. package/src/shared/command-executor/home-directory.ts +0 -5
  873. package/src/shared/command-executor/resolve-commands-in-text.ts +0 -49
  874. package/src/shared/command-executor/shell-path.ts +0 -27
  875. package/src/shared/command-executor.ts +0 -5
  876. package/src/shared/compaction-agent-config-checkpoint.ts +0 -42
  877. package/src/shared/compaction-marker.ts +0 -61
  878. package/src/shared/config-errors.ts +0 -18
  879. package/src/shared/connected-providers-cache.ts +0 -215
  880. package/src/shared/contains-path.ts +0 -50
  881. package/src/shared/context-limit-resolver.ts +0 -42
  882. package/src/shared/data-path.ts +0 -64
  883. package/src/shared/deep-merge.ts +0 -53
  884. package/src/shared/disabled-tools.ts +0 -19
  885. package/src/shared/dynamic-truncator.ts +0 -222
  886. package/src/shared/external-plugin-detector.ts +0 -139
  887. package/src/shared/fallback-chain-from-models.ts +0 -124
  888. package/src/shared/fallback-model-availability.ts +0 -102
  889. package/src/shared/file-reference-resolver.ts +0 -99
  890. package/src/shared/file-utils.ts +0 -34
  891. package/src/shared/first-message-variant.ts +0 -28
  892. package/src/shared/frontmatter.ts +0 -31
  893. package/src/shared/git-worktree/collect-git-diff-stats.ts +0 -56
  894. package/src/shared/git-worktree/format-file-changes.ts +0 -46
  895. package/src/shared/git-worktree/index.ts +0 -7
  896. package/src/shared/git-worktree/parse-diff-numstat.ts +0 -27
  897. package/src/shared/git-worktree/parse-status-porcelain-line.ts +0 -27
  898. package/src/shared/git-worktree/parse-status-porcelain.ts +0 -15
  899. package/src/shared/git-worktree/types.ts +0 -8
  900. package/src/shared/hook-disabled.ts +0 -22
  901. package/src/shared/index.ts +0 -80
  902. package/src/shared/internal-initiator-marker.ts +0 -18
  903. package/src/shared/is-abort-error.ts +0 -20
  904. package/src/shared/json-file-cache-store.ts +0 -98
  905. package/src/shared/jsonc-parser.ts +0 -98
  906. package/src/shared/known-variants.ts +0 -16
  907. package/src/shared/legacy-plugin-warning.ts +0 -68
  908. package/src/shared/load-opencode-plugins.ts +0 -60
  909. package/src/shared/log-legacy-plugin-startup-warning.ts +0 -46
  910. package/src/shared/logger.ts +0 -48
  911. package/src/shared/mcp-static-export.ts +0 -121
  912. package/src/shared/merge-categories.ts +0 -18
  913. package/src/shared/migrate-legacy-config-file.ts +0 -66
  914. package/src/shared/migrate-legacy-plugin-entry.ts +0 -75
  915. package/src/shared/migration/agent-category.ts +0 -60
  916. package/src/shared/migration/agent-names.ts +0 -100
  917. package/src/shared/migration/config-migration.ts +0 -210
  918. package/src/shared/migration/hook-names.ts +0 -40
  919. package/src/shared/migration/migrations-sidecar.ts +0 -92
  920. package/src/shared/migration/model-versions.ts +0 -50
  921. package/src/shared/migration.ts +0 -5
  922. package/src/shared/model-availability.ts +0 -294
  923. package/src/shared/model-capabilities/bundled-snapshot.ts +0 -15
  924. package/src/shared/model-capabilities/get-model-capabilities.ts +0 -140
  925. package/src/shared/model-capabilities/index.ts +0 -9
  926. package/src/shared/model-capabilities/runtime-model-readers.ts +0 -190
  927. package/src/shared/model-capabilities/types.ts +0 -80
  928. package/src/shared/model-capabilities-cache.ts +0 -213
  929. package/src/shared/model-capability-aliases.ts +0 -108
  930. package/src/shared/model-capability-guardrails.ts +0 -149
  931. package/src/shared/model-capability-heuristics.ts +0 -32
  932. package/src/shared/model-error-classifier.ts +0 -214
  933. package/src/shared/model-format-normalizer.ts +0 -20
  934. package/src/shared/model-normalization.ts +0 -8
  935. package/src/shared/model-requirements.ts +0 -26
  936. package/src/shared/model-resolution-pipeline.ts +0 -216
  937. package/src/shared/model-resolution-types.ts +0 -41
  938. package/src/shared/model-resolver.ts +0 -106
  939. package/src/shared/model-sanitizer.ts +0 -12
  940. package/src/shared/model-settings-compatibility.ts +0 -200
  941. package/src/shared/model-suggestion-retry.ts +0 -182
  942. package/src/shared/normalize-sdk-response.ts +0 -36
  943. package/src/shared/opencode-command-dirs.ts +0 -36
  944. package/src/shared/opencode-config-dir-types.ts +0 -15
  945. package/src/shared/opencode-config-dir.ts +0 -135
  946. package/src/shared/opencode-http-api.ts +0 -140
  947. package/src/shared/opencode-message-dir.ts +0 -29
  948. package/src/shared/opencode-server-auth.ts +0 -190
  949. package/src/shared/opencode-storage-detection.ts +0 -34
  950. package/src/shared/opencode-storage-paths.ts +0 -7
  951. package/src/shared/opencode-version.ts +0 -80
  952. package/src/shared/parse-tools-config.ts +0 -25
  953. package/src/shared/pattern-matcher.ts +0 -46
  954. package/src/shared/permission-compat.ts +0 -86
  955. package/src/shared/plugin-command-discovery.ts +0 -28
  956. package/src/shared/plugin-entry-migrator.ts +0 -21
  957. package/src/shared/plugin-identity.ts +0 -8
  958. package/src/shared/port-utils.ts +0 -48
  959. package/src/shared/project-discovery-dirs.ts +0 -101
  960. package/src/shared/prompt-timeout-context.ts +0 -49
  961. package/src/shared/prompt-tools.ts +0 -35
  962. package/src/shared/provider-model-id-transform.ts +0 -58
  963. package/src/shared/question-denied-session-permission.ts +0 -9
  964. package/src/shared/record-type-guard.ts +0 -3
  965. package/src/shared/resolve-agent-definition-paths.ts +0 -22
  966. package/src/shared/retry-status-utils.ts +0 -19
  967. package/src/shared/runtime-plugin-config.ts +0 -98
  968. package/src/shared/safe-create-hook.ts +0 -24
  969. package/src/shared/session-category-registry.ts +0 -27
  970. package/src/shared/session-cursor.ts +0 -108
  971. package/src/shared/session-directory-resolver.ts +0 -41
  972. package/src/shared/session-injected-paths.ts +0 -59
  973. package/src/shared/session-model-state.ts +0 -15
  974. package/src/shared/session-prompt-params-helpers.ts +0 -31
  975. package/src/shared/session-prompt-params-state.ts +0 -37
  976. package/src/shared/session-tools-store.ts +0 -18
  977. package/src/shared/session-utils.ts +0 -25
  978. package/src/shared/shell-env.ts +0 -175
  979. package/src/shared/skill-path-resolver.ts +0 -26
  980. package/src/shared/snake-case.ts +0 -44
  981. package/src/shared/spawn-with-windows-hide.ts +0 -84
  982. package/src/shared/startup-diagnostics.ts +0 -77
  983. package/src/shared/system-directive.ts +0 -67
  984. package/src/shared/task-system-enabled.ts +0 -9
  985. package/src/shared/tmux/constants.ts +0 -12
  986. package/src/shared/tmux/index.ts +0 -3
  987. package/src/shared/tmux/tmux-utils/environment.ts +0 -13
  988. package/src/shared/tmux/tmux-utils/layout.ts +0 -96
  989. package/src/shared/tmux/tmux-utils/pane-close.ts +0 -48
  990. package/src/shared/tmux/tmux-utils/pane-dimensions.ts +0 -28
  991. package/src/shared/tmux/tmux-utils/pane-replace.ts +0 -73
  992. package/src/shared/tmux/tmux-utils/pane-spawn.ts +0 -94
  993. package/src/shared/tmux/tmux-utils/server-health.ts +0 -62
  994. package/src/shared/tmux/tmux-utils/session-spawn.ts +0 -145
  995. package/src/shared/tmux/tmux-utils/window-spawn.ts +0 -93
  996. package/src/shared/tmux/tmux-utils.ts +0 -15
  997. package/src/shared/tmux/types.ts +0 -4
  998. package/src/shared/tool-name.ts +0 -27
  999. package/src/shared/truncate-description.ts +0 -11
  1000. package/src/shared/vision-capable-models-cache.ts +0 -17
  1001. package/src/shared/write-file-atomically.ts +0 -31
  1002. package/src/shared/zip-entry-listing/powershell-zip-entry-listing.ts +0 -99
  1003. package/src/shared/zip-entry-listing/python-zip-entry-listing.ts +0 -55
  1004. package/src/shared/zip-entry-listing/read-zip-symlink-target.ts +0 -23
  1005. package/src/shared/zip-entry-listing/tar-zip-entry-listing.ts +0 -93
  1006. package/src/shared/zip-entry-listing/zipinfo-zip-entry-listing.ts +0 -72
  1007. package/src/shared/zip-entry-listing.ts +0 -13
  1008. package/src/shared/zip-extractor.ts +0 -118
  1009. package/src/skills/index.ts +0 -56
  1010. package/src/testing/module-mock-lifecycle.ts +0 -143
  1011. package/src/tools/AGENTS.md +0 -108
  1012. package/src/tools/ast-grep/cli-binary-path-resolution.ts +0 -60
  1013. package/src/tools/ast-grep/cli.ts +0 -177
  1014. package/src/tools/ast-grep/constants.ts +0 -5
  1015. package/src/tools/ast-grep/downloader.ts +0 -119
  1016. package/src/tools/ast-grep/environment-check.ts +0 -59
  1017. package/src/tools/ast-grep/index.ts +0 -5
  1018. package/src/tools/ast-grep/language-support.ts +0 -60
  1019. package/src/tools/ast-grep/process-output-timeout.ts +0 -28
  1020. package/src/tools/ast-grep/result-formatter.ts +0 -102
  1021. package/src/tools/ast-grep/sg-cli-path.ts +0 -102
  1022. package/src/tools/ast-grep/sg-compact-json-output.ts +0 -54
  1023. package/src/tools/ast-grep/tools.ts +0 -117
  1024. package/src/tools/ast-grep/types.ts +0 -60
  1025. package/src/tools/background-task/AGENTS.md +0 -53
  1026. package/src/tools/background-task/clients.ts +0 -32
  1027. package/src/tools/background-task/constants.ts +0 -9
  1028. package/src/tools/background-task/create-background-cancel.ts +0 -115
  1029. package/src/tools/background-task/create-background-output.ts +0 -159
  1030. package/src/tools/background-task/create-background-task.ts +0 -126
  1031. package/src/tools/background-task/delay.ts +0 -3
  1032. package/src/tools/background-task/full-session-format.ts +0 -148
  1033. package/src/tools/background-task/index.ts +0 -8
  1034. package/src/tools/background-task/message-dir.ts +0 -1
  1035. package/src/tools/background-task/session-messages.ts +0 -22
  1036. package/src/tools/background-task/task-result-format.ts +0 -113
  1037. package/src/tools/background-task/task-status-format.ts +0 -72
  1038. package/src/tools/background-task/time-format.ts +0 -30
  1039. package/src/tools/background-task/tools.ts +0 -11
  1040. package/src/tools/background-task/truncate-text.ts +0 -4
  1041. package/src/tools/background-task/types.ts +0 -72
  1042. package/src/tools/call-omo-agent/AGENTS.md +0 -51
  1043. package/src/tools/call-omo-agent/agent-resolver.ts +0 -64
  1044. package/src/tools/call-omo-agent/background-agent-executor.ts +0 -91
  1045. package/src/tools/call-omo-agent/background-executor.ts +0 -98
  1046. package/src/tools/call-omo-agent/completion-poller.ts +0 -65
  1047. package/src/tools/call-omo-agent/constants.ts +0 -23
  1048. package/src/tools/call-omo-agent/index.ts +0 -3
  1049. package/src/tools/call-omo-agent/message-dir.ts +0 -1
  1050. package/src/tools/call-omo-agent/message-processor.ts +0 -86
  1051. package/src/tools/call-omo-agent/message-storage-directory.ts +0 -1
  1052. package/src/tools/call-omo-agent/session-creator.ts +0 -70
  1053. package/src/tools/call-omo-agent/subagent-session-creator.ts +0 -74
  1054. package/src/tools/call-omo-agent/sync-executor.ts +0 -148
  1055. package/src/tools/call-omo-agent/tool-context-with-metadata.ts +0 -10
  1056. package/src/tools/call-omo-agent/tools.ts +0 -192
  1057. package/src/tools/call-omo-agent/types.ts +0 -34
  1058. package/src/tools/delegate-task/AGENTS.md +0 -58
  1059. package/src/tools/delegate-task/anthropic-categories.ts +0 -62
  1060. package/src/tools/delegate-task/available-models.ts +0 -64
  1061. package/src/tools/delegate-task/background-continuation.ts +0 -68
  1062. package/src/tools/delegate-task/background-task.ts +0 -165
  1063. package/src/tools/delegate-task/builtin-categories.ts +0 -33
  1064. package/src/tools/delegate-task/builtin-category-definition.ts +0 -8
  1065. package/src/tools/delegate-task/cancel-unstable-agent-task.ts +0 -19
  1066. package/src/tools/delegate-task/categories.ts +0 -77
  1067. package/src/tools/delegate-task/category-resolver.ts +0 -310
  1068. package/src/tools/delegate-task/constants.ts +0 -351
  1069. package/src/tools/delegate-task/delegated-model-config.ts +0 -20
  1070. package/src/tools/delegate-task/error-formatting.ts +0 -51
  1071. package/src/tools/delegate-task/executor-types.ts +0 -39
  1072. package/src/tools/delegate-task/executor.ts +0 -16
  1073. package/src/tools/delegate-task/fallback-entry-resolution.ts +0 -27
  1074. package/src/tools/delegate-task/fallback-entry-settings.ts +0 -20
  1075. package/src/tools/delegate-task/google-categories.ts +0 -130
  1076. package/src/tools/delegate-task/index.ts +0 -4
  1077. package/src/tools/delegate-task/kimi-categories.ts +0 -40
  1078. package/src/tools/delegate-task/model-selection.ts +0 -201
  1079. package/src/tools/delegate-task/model-string-parser.ts +0 -63
  1080. package/src/tools/delegate-task/openai-categories.ts +0 -128
  1081. package/src/tools/delegate-task/parent-context-resolver.ts +0 -47
  1082. package/src/tools/delegate-task/prompt-builder.ts +0 -107
  1083. package/src/tools/delegate-task/resolve-call-id.ts +0 -5
  1084. package/src/tools/delegate-task/skill-resolver.ts +0 -22
  1085. package/src/tools/delegate-task/sub-agent.ts +0 -70
  1086. package/src/tools/delegate-task/subagent-discovery.ts +0 -152
  1087. package/src/tools/delegate-task/subagent-resolver.ts +0 -225
  1088. package/src/tools/delegate-task/sync-continuation-deps.ts +0 -9
  1089. package/src/tools/delegate-task/sync-continuation.ts +0 -149
  1090. package/src/tools/delegate-task/sync-prompt-sender.ts +0 -137
  1091. package/src/tools/delegate-task/sync-result-fetcher.ts +0 -60
  1092. package/src/tools/delegate-task/sync-session-creator.ts +0 -29
  1093. package/src/tools/delegate-task/sync-session-poller.ts +0 -188
  1094. package/src/tools/delegate-task/sync-task-deps.ts +0 -13
  1095. package/src/tools/delegate-task/sync-task-fallback.ts +0 -68
  1096. package/src/tools/delegate-task/sync-task.ts +0 -243
  1097. package/src/tools/delegate-task/time-formatter.ts +0 -13
  1098. package/src/tools/delegate-task/timing.ts +0 -46
  1099. package/src/tools/delegate-task/token-limiter.ts +0 -123
  1100. package/src/tools/delegate-task/tools.ts +0 -259
  1101. package/src/tools/delegate-task/types.ts +0 -89
  1102. package/src/tools/delegate-task/unstable-agent-task.ts +0 -243
  1103. package/src/tools/glob/cli.ts +0 -206
  1104. package/src/tools/glob/constants.ts +0 -12
  1105. package/src/tools/glob/index.ts +0 -1
  1106. package/src/tools/glob/result-formatter.ts +0 -26
  1107. package/src/tools/glob/tools.ts +0 -49
  1108. package/src/tools/glob/types.ts +0 -23
  1109. package/src/tools/grep/cli.ts +0 -279
  1110. package/src/tools/grep/constants.ts +0 -141
  1111. package/src/tools/grep/downloader.ts +0 -128
  1112. package/src/tools/grep/index.ts +0 -1
  1113. package/src/tools/grep/result-formatter.ts +0 -60
  1114. package/src/tools/grep/tools.ts +0 -75
  1115. package/src/tools/grep/types.ts +0 -42
  1116. package/src/tools/hashline-edit/AGENTS.md +0 -92
  1117. package/src/tools/hashline-edit/autocorrect-replacement-lines.ts +0 -179
  1118. package/src/tools/hashline-edit/constants.ts +0 -10
  1119. package/src/tools/hashline-edit/diff-utils.ts +0 -53
  1120. package/src/tools/hashline-edit/edit-deduplication.ts +0 -43
  1121. package/src/tools/hashline-edit/edit-operation-primitives.ts +0 -126
  1122. package/src/tools/hashline-edit/edit-operations.ts +0 -103
  1123. package/src/tools/hashline-edit/edit-ordering.ts +0 -56
  1124. package/src/tools/hashline-edit/edit-text-normalization.ts +0 -111
  1125. package/src/tools/hashline-edit/file-text-canonicalization.ts +0 -44
  1126. package/src/tools/hashline-edit/formatter-trigger.ts +0 -132
  1127. package/src/tools/hashline-edit/hash-computation.ts +0 -154
  1128. package/src/tools/hashline-edit/hashline-chunk-formatter.ts +0 -52
  1129. package/src/tools/hashline-edit/hashline-edit-diff.ts +0 -31
  1130. package/src/tools/hashline-edit/hashline-edit-executor.ts +0 -197
  1131. package/src/tools/hashline-edit/index.ts +0 -20
  1132. package/src/tools/hashline-edit/normalize-edits.ts +0 -95
  1133. package/src/tools/hashline-edit/tool-description.ts +0 -95
  1134. package/src/tools/hashline-edit/tools.ts +0 -42
  1135. package/src/tools/hashline-edit/types.ts +0 -20
  1136. package/src/tools/hashline-edit/validation.ts +0 -181
  1137. package/src/tools/index.ts +0 -64
  1138. package/src/tools/interactive-bash/constants.ts +0 -18
  1139. package/src/tools/interactive-bash/index.ts +0 -4
  1140. package/src/tools/interactive-bash/tmux-path-resolver.ts +0 -71
  1141. package/src/tools/interactive-bash/tools.ts +0 -136
  1142. package/src/tools/look-at/assistant-message-extractor.ts +0 -67
  1143. package/src/tools/look-at/constants.ts +0 -3
  1144. package/src/tools/look-at/image-converter.ts +0 -164
  1145. package/src/tools/look-at/index.ts +0 -3
  1146. package/src/tools/look-at/look-at-arguments.ts +0 -34
  1147. package/src/tools/look-at/mime-type-inference.ts +0 -94
  1148. package/src/tools/look-at/multimodal-agent-metadata.ts +0 -166
  1149. package/src/tools/look-at/multimodal-fallback-chain.ts +0 -66
  1150. package/src/tools/look-at/session-poller.ts +0 -42
  1151. package/src/tools/look-at/tools.ts +0 -245
  1152. package/src/tools/look-at/types.ts +0 -5
  1153. package/src/tools/lsp/AGENTS.md +0 -70
  1154. package/src/tools/lsp/client.ts +0 -3
  1155. package/src/tools/lsp/config.ts +0 -3
  1156. package/src/tools/lsp/constants.ts +0 -7
  1157. package/src/tools/lsp/diagnostics-tool.ts +0 -75
  1158. package/src/tools/lsp/directory-diagnostics.ts +0 -163
  1159. package/src/tools/lsp/find-references-tool.ts +0 -43
  1160. package/src/tools/lsp/goto-definition-tool.ts +0 -42
  1161. package/src/tools/lsp/index.ts +0 -9
  1162. package/src/tools/lsp/infer-extension.ts +0 -65
  1163. package/src/tools/lsp/language-config.ts +0 -5
  1164. package/src/tools/lsp/language-mappings.ts +0 -171
  1165. package/src/tools/lsp/lsp-client-connection.ts +0 -66
  1166. package/src/tools/lsp/lsp-client-transport.ts +0 -210
  1167. package/src/tools/lsp/lsp-client-wrapper.ts +0 -116
  1168. package/src/tools/lsp/lsp-client.ts +0 -129
  1169. package/src/tools/lsp/lsp-formatters.ts +0 -193
  1170. package/src/tools/lsp/lsp-manager-process-cleanup.ts +0 -83
  1171. package/src/tools/lsp/lsp-manager-temp-directory-cleanup.ts +0 -29
  1172. package/src/tools/lsp/lsp-process.ts +0 -158
  1173. package/src/tools/lsp/lsp-server.ts +0 -217
  1174. package/src/tools/lsp/rename-tools.ts +0 -53
  1175. package/src/tools/lsp/server-config-loader.ts +0 -116
  1176. package/src/tools/lsp/server-definitions.ts +0 -91
  1177. package/src/tools/lsp/server-installation.ts +0 -58
  1178. package/src/tools/lsp/server-path-bases.ts +0 -16
  1179. package/src/tools/lsp/server-resolution.ts +0 -109
  1180. package/src/tools/lsp/symbols-tool.ts +0 -76
  1181. package/src/tools/lsp/tools.ts +0 -5
  1182. package/src/tools/lsp/types.ts +0 -124
  1183. package/src/tools/lsp/workspace-edit.ts +0 -121
  1184. package/src/tools/session-manager/constants.ts +0 -93
  1185. package/src/tools/session-manager/file-storage.ts +0 -203
  1186. package/src/tools/session-manager/index.ts +0 -3
  1187. package/src/tools/session-manager/sdk-storage.ts +0 -135
  1188. package/src/tools/session-manager/sdk-unavailable.ts +0 -43
  1189. package/src/tools/session-manager/session-formatter.ts +0 -199
  1190. package/src/tools/session-manager/storage.ts +0 -161
  1191. package/src/tools/session-manager/tools.ts +0 -197
  1192. package/src/tools/session-manager/types.ts +0 -99
  1193. package/src/tools/shared/semaphore.ts +0 -32
  1194. package/src/tools/skill/constants.ts +0 -14
  1195. package/src/tools/skill/description-formatter.ts +0 -61
  1196. package/src/tools/skill/index.ts +0 -3
  1197. package/src/tools/skill/mcp-capability-formatter.ts +0 -97
  1198. package/src/tools/skill/native-skills.ts +0 -62
  1199. package/src/tools/skill/scope-priority.ts +0 -17
  1200. package/src/tools/skill/skill-body.ts +0 -26
  1201. package/src/tools/skill/skill-matcher.ts +0 -40
  1202. package/src/tools/skill/tools.ts +0 -196
  1203. package/src/tools/skill/types.ts +0 -48
  1204. package/src/tools/skill-mcp/constants.ts +0 -9
  1205. package/src/tools/skill-mcp/index.ts +0 -3
  1206. package/src/tools/skill-mcp/tools.test.ts +0 -44
  1207. package/src/tools/skill-mcp/tools.ts +0 -242
  1208. package/src/tools/skill-mcp/types.ts +0 -8
  1209. package/src/tools/slashcommand/command-discovery.ts +0 -161
  1210. package/src/tools/slashcommand/command-output-formatter.ts +0 -75
  1211. package/src/tools/slashcommand/index.ts +0 -2
  1212. package/src/tools/slashcommand/types.ts +0 -21
  1213. package/src/tools/task/index.ts +0 -7
  1214. package/src/tools/task/task-create.ts +0 -113
  1215. package/src/tools/task/task-get.ts +0 -47
  1216. package/src/tools/task/task-list.ts +0 -79
  1217. package/src/tools/task/task-update.ts +0 -152
  1218. package/src/tools/task/todo-sync.ts +0 -205
  1219. package/src/tools/task/types.ts +0 -77
@@ -1,38 +0,0 @@
1
- import type { CommandDefinition } from "../claude-code-command-loader/types"
2
- import type { SkillMcpConfig } from "../skill-mcp-manager/types"
3
-
4
- export type SkillScope = "builtin" | "config" | "user" | "project" | "opencode" | "opencode-project"
5
-
6
- export interface SkillMetadata {
7
- name?: string
8
- description?: string
9
- model?: string
10
- "argument-hint"?: string
11
- agent?: string
12
- subtask?: boolean
13
- license?: string
14
- compatibility?: string
15
- metadata?: Record<string, string>
16
- "allowed-tools"?: string | string[]
17
- mcp?: SkillMcpConfig
18
- }
19
-
20
- export interface LazyContentLoader {
21
- loaded: boolean
22
- content?: string
23
- load: () => Promise<string>
24
- }
25
-
26
- export interface LoadedSkill {
27
- name: string
28
- path?: string
29
- resolvedPath?: string
30
- definition: CommandDefinition
31
- scope: SkillScope
32
- license?: string
33
- compatibility?: string
34
- metadata?: Record<string, string>
35
- allowedTools?: string[]
36
- mcpConfig?: SkillMcpConfig
37
- lazyContent?: LazyContentLoader
38
- }
@@ -1 +0,0 @@
1
- export const CONTINUATION_MARKER_DIR = ".bob/run-continuation"
@@ -1,3 +0,0 @@
1
- export * from "./types"
2
- export * from "./constants"
3
- export * from "./storage"
@@ -1,80 +0,0 @@
1
- import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs"
2
- import { join } from "node:path"
3
- import { CONTINUATION_MARKER_DIR } from "./constants"
4
- import type {
5
- ContinuationMarker,
6
- ContinuationMarkerSource,
7
- ContinuationMarkerState,
8
- } from "./types"
9
-
10
- function getMarkerPath(directory: string, sessionID: string): string {
11
- return join(directory, CONTINUATION_MARKER_DIR, `${sessionID}.json`)
12
- }
13
-
14
- export function readContinuationMarker(
15
- directory: string,
16
- sessionID: string,
17
- ): ContinuationMarker | null {
18
- const markerPath = getMarkerPath(directory, sessionID)
19
- if (!existsSync(markerPath)) return null
20
-
21
- try {
22
- const raw = readFileSync(markerPath, "utf-8")
23
- const parsed = JSON.parse(raw)
24
- if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) return null
25
- return parsed as ContinuationMarker
26
- } catch {
27
- return null
28
- }
29
- }
30
-
31
- export function setContinuationMarkerSource(
32
- directory: string,
33
- sessionID: string,
34
- source: ContinuationMarkerSource,
35
- state: ContinuationMarkerState,
36
- reason?: string,
37
- ): ContinuationMarker {
38
- const now = new Date().toISOString()
39
- const existing = readContinuationMarker(directory, sessionID)
40
- const next: ContinuationMarker = {
41
- sessionID,
42
- updatedAt: now,
43
- sources: {
44
- ...(existing?.sources ?? {}),
45
- [source]: {
46
- state,
47
- ...(reason ? { reason } : {}),
48
- updatedAt: now,
49
- },
50
- },
51
- }
52
-
53
- const markerPath = getMarkerPath(directory, sessionID)
54
- mkdirSync(join(directory, CONTINUATION_MARKER_DIR), { recursive: true })
55
- writeFileSync(markerPath, JSON.stringify(next, null, 2), "utf-8")
56
- return next
57
- }
58
-
59
- export function clearContinuationMarker(directory: string, sessionID: string): void {
60
- const markerPath = getMarkerPath(directory, sessionID)
61
- if (!existsSync(markerPath)) return
62
-
63
- try {
64
- rmSync(markerPath)
65
- } catch {
66
- }
67
- }
68
-
69
- export function isContinuationMarkerActive(marker: ContinuationMarker | null): boolean {
70
- if (!marker) return false
71
- return Object.values(marker.sources).some((entry) => entry?.state === "active")
72
- }
73
-
74
- export function getActiveContinuationMarkerReason(marker: ContinuationMarker | null): string | null {
75
- if (!marker) return null
76
- const active = Object.entries(marker.sources).find(([, entry]) => entry?.state === "active")
77
- if (!active || !active[1]) return null
78
- const [source, entry] = active
79
- return entry.reason ?? `${source} continuation is active`
80
- }
@@ -1,15 +0,0 @@
1
- export type ContinuationMarkerSource = "todo" | "stop"
2
-
3
- export type ContinuationMarkerState = "idle" | "active" | "stopped"
4
-
5
- export interface ContinuationMarkerSourceEntry {
6
- state: ContinuationMarkerState
7
- reason?: string
8
- updatedAt: string
9
- }
10
-
11
- export interface ContinuationMarker {
12
- sessionID: string
13
- updatedAt: string
14
- sources: Partial<Record<ContinuationMarkerSource, ContinuationMarkerSourceEntry>>
15
- }
@@ -1,111 +0,0 @@
1
- # src/features/skill-mcp-manager/ — Skill-Embedded MCP Client Lifecycle
2
-
3
- **Generated:** 2026-04-11
4
-
5
- ## OVERVIEW
6
-
7
- 18 files. Manages **tier 3** of the MCP system: skill-embedded MCP servers declared in SKILL.md YAML frontmatter. Per-session client isolation, dual transport (stdio + HTTP), OAuth 2.0 with step-up authentication, idle cleanup.
8
-
9
- ## THREE-TIER MCP CONTEXT
10
-
11
- | Tier | Manager | Scope |
12
- |------|---------|-------|
13
- | 1. Built-in | `createBuiltinMcps()` (src/mcp/) | Global, 3 remote HTTP |
14
- | 2. Claude Code | `claude-code-mcp-loader` (src/features/) | From `.mcp.json` |
15
- | 3. **Skill-embedded** | **`SkillMcpManager` (this module)** | **Per-session, from SKILL.md YAML** |
16
-
17
- ## CLIENT KEY FORMAT
18
-
19
- ```
20
- ${sessionID}:${skillName}:${serverName}
21
- ```
22
-
23
- Enables: per-session isolation, same skill usable in multiple sessions concurrently, multiple servers per skill.
24
-
25
- ## DUAL TRANSPORT
26
-
27
- | Type | File | Backend |
28
- |------|------|---------|
29
- | **stdio** | `stdio-client.ts` | `StdioClientTransport` (local process) |
30
- | **http** | `http-client.ts` | `StreamableHTTPClientTransport` (remote) |
31
-
32
- **Detection** (connection-type.ts): explicit `type` field → URL presence → command presence. Legacy `"sse"` mapped to http.
33
-
34
- ## STATE
35
-
36
- ```typescript
37
- interface SkillMcpManagerState {
38
- clients: Map<clientKey, ManagedClient> // Active connections
39
- pendingConnections: Map<clientKey, Promise<Client>> // Race prevention
40
- disconnectedSessions: Map<sessionID, generation> // Stale connection detection
41
- authProviders: Map<url, OAuthProvider> // OAuth state per server
42
- inFlightConnections: Map<sessionID, count> // Connection counting
43
- }
44
- ```
45
-
46
- ## KEY FILES
47
-
48
- | File | Purpose |
49
- |------|---------|
50
- | `manager.ts` | `SkillMcpManager` class — main API (getOrCreateClient, disconnectSession, listTools, callTool, etc.) |
51
- | `types.ts` | `ManagedStdioClient`, `ManagedHttpClient`, `SkillMcpManagerState`, `ConnectionType` |
52
- | `connection.ts` | Client factory with race prevention, retry, env var expansion |
53
- | `connection-type.ts` | Detect stdio vs http from config (legacy sse → http) |
54
- | `stdio-client.ts` | Stdio transport factory |
55
- | `http-client.ts` | HTTP transport factory |
56
- | `cleanup.ts` | SIGINT/SIGTERM handlers, idle timer (60s interval, 5min TTL) |
57
- | `oauth-handler.ts` | OAuth token management, refresh, step-up (403 scope escalation) |
58
- | `env-cleaner.ts` | Filter npm/pnpm/yarn config + 25+ secret patterns (_KEY, _SECRET, _TOKEN) |
59
- | `error-redaction.ts` | Redact sensitive data from error messages before logging |
60
-
61
- ## LIFECYCLE INTEGRATION
62
-
63
- **Hook**: `src/plugin/event.ts` on `session.deleted`:
64
- ```typescript
65
- await managers.skillMcpManager.disconnectSession(sessionInfo.id)
66
- ```
67
-
68
- ## LIFECYCLE FLOW
69
-
70
- ```
71
- 1. session.created → No action (lazy connection)
72
- 2. First MCP tool call → getOrCreateClient() creates + caches
73
- 3. Ongoing use → lastUsedAt timestamp updated
74
- 4. Idle >5min → cleanup timer removes
75
- 5. session.deleted → disconnectSession() closes session clients
76
- 6. Process exit → disconnectAll() via SIGINT/SIGTERM handlers
77
- ```
78
-
79
- ## RACE CONDITION PREVENTION
80
-
81
- - **pendingConnections**: Deduplicates concurrent connection attempts for same key
82
- - **inFlightConnections**: Per-session counter, prevents premature cleanup during connection setup
83
- - **shutdownGeneration**: Counter-based stale connection detection after disconnect
84
-
85
- ## PUBLIC API
86
-
87
- ```typescript
88
- class SkillMcpManager {
89
- constructor(options?: { createOAuthProvider? })
90
- getOrCreateClient(info, config): Promise<Client>
91
- disconnectSession(sessionID): Promise<void>
92
- disconnectAll(): Promise<void>
93
- listTools/Resources/Prompts(info, context): Promise<...[]>
94
- callTool(info, context, name, args): Promise<unknown>
95
- readResource(info, context, uri): Promise<unknown>
96
- getPrompt(info, context, name, args): Promise<unknown>
97
- getConnectedServers(): string[]
98
- isConnected(info): boolean
99
- }
100
- ```
101
-
102
- ## RETRY SEMANTICS
103
-
104
- - `getOrCreateClientWithRetry()` — 3 attempts with force reconnect on failure
105
- - `withOperationRetry()` — OAuth-aware wrapper: step-up on 403, token refresh on 401
106
-
107
- ## SECURITY
108
-
109
- - **env-cleaner.ts** — strips npm/pnpm config vars (prevents pnpm project isolation issues) and secret patterns before stdio spawn
110
- - **error-redaction.ts** — masks tokens/secrets in error messages before logger.log
111
- - **OAuth isolation** — auth providers keyed by server URL, tokens never cross servers
@@ -1,153 +0,0 @@
1
- import type { ManagedClient, SkillMcpManagerState } from "./types"
2
-
3
- async function closeManagedClient(managed: ManagedClient): Promise<void> {
4
- try {
5
- await managed.client.close()
6
- } catch {
7
- // Ignore close errors - process may already be terminated
8
- }
9
-
10
- try {
11
- await managed.transport.close()
12
- } catch {
13
- // Transport may already be terminated
14
- }
15
- }
16
-
17
- export function registerProcessCleanup(state: SkillMcpManagerState): void {
18
- if (state.cleanupRegistered) return
19
- state.cleanupRegistered = true
20
-
21
- const cleanup = async (): Promise<void> => {
22
- state.shutdownGeneration++
23
- for (const managed of state.clients.values()) {
24
- await closeManagedClient(managed)
25
- }
26
- state.clients.clear()
27
- state.pendingConnections.clear()
28
- state.disconnectedSessions.clear()
29
- }
30
-
31
- // Note: Node's 'exit' event is synchronous-only, so we rely on signal handlers for async cleanup.
32
- // Signal handlers invoke the async cleanup function and ignore errors so they don't block or throw.
33
- // Don't call process.exit() here - let the background-agent manager handle the final process exit.
34
- // Use void + catch to trigger async cleanup without awaiting it in the signal handler.
35
-
36
- const register = (signal: NodeJS.Signals) => {
37
- const listener = () => void cleanup().catch(() => {})
38
- state.cleanupHandlers.push({ signal, listener })
39
- process.on(signal, listener)
40
- }
41
-
42
- register("SIGINT")
43
- register("SIGTERM")
44
- if (process.platform === "win32") {
45
- register("SIGBREAK")
46
- }
47
- }
48
-
49
- export function unregisterProcessCleanup(state: SkillMcpManagerState): void {
50
- if (!state.cleanupRegistered) return
51
- for (const { signal, listener } of state.cleanupHandlers) {
52
- process.off(signal, listener)
53
- }
54
- state.cleanupHandlers = []
55
- state.cleanupRegistered = false
56
- }
57
-
58
- export function startCleanupTimer(state: SkillMcpManagerState): void {
59
- if (state.cleanupInterval) return
60
-
61
- state.cleanupInterval = setInterval(() => {
62
- void cleanupIdleClients(state).catch(() => {})
63
- }, 60_000)
64
-
65
- state.cleanupInterval.unref()
66
- }
67
-
68
- export function stopCleanupTimer(state: SkillMcpManagerState): void {
69
- if (!state.cleanupInterval) return
70
- clearInterval(state.cleanupInterval)
71
- state.cleanupInterval = null
72
- }
73
-
74
- async function cleanupIdleClients(state: SkillMcpManagerState): Promise<void> {
75
- const now = Date.now()
76
-
77
- for (const [key, managed] of state.clients) {
78
- if (now - managed.lastUsedAt > state.idleTimeoutMs) {
79
- state.clients.delete(key)
80
- await closeManagedClient(managed)
81
- }
82
- }
83
-
84
- if (state.clients.size === 0 && state.pendingConnections.size === 0) {
85
- stopCleanupTimer(state)
86
- unregisterProcessCleanup(state)
87
- }
88
- }
89
-
90
- export async function disconnectSession(state: SkillMcpManagerState, sessionID: string): Promise<void> {
91
- let hasPendingForSession = false
92
- for (const key of state.pendingConnections.keys()) {
93
- if (key.startsWith(`${sessionID}:`)) {
94
- hasPendingForSession = true
95
- break
96
- }
97
- }
98
- if (hasPendingForSession) {
99
- state.disconnectedSessions.set(sessionID, (state.disconnectedSessions.get(sessionID) ?? 0) + 1)
100
- }
101
- const keysToRemove: string[] = []
102
-
103
- for (const [key, managed] of state.clients.entries()) {
104
- if (key.startsWith(`${sessionID}:`)) {
105
- keysToRemove.push(key)
106
- // Delete from map first to prevent re-entrancy during async close
107
- state.clients.delete(key)
108
- await closeManagedClient(managed)
109
- }
110
- }
111
-
112
- for (const key of state.pendingConnections.keys()) {
113
- if (key.startsWith(`${sessionID}:`)) {
114
- keysToRemove.push(key)
115
- }
116
- }
117
-
118
- for (const key of keysToRemove) {
119
- state.pendingConnections.delete(key)
120
- }
121
-
122
- if (state.clients.size === 0 && state.pendingConnections.size === 0) {
123
- stopCleanupTimer(state)
124
- unregisterProcessCleanup(state)
125
- }
126
- }
127
-
128
- export async function disconnectAll(state: SkillMcpManagerState): Promise<void> {
129
- state.shutdownGeneration++
130
- state.disposed = true
131
- stopCleanupTimer(state)
132
- unregisterProcessCleanup(state)
133
-
134
- const clients = Array.from(state.clients.values())
135
- state.clients.clear()
136
- state.pendingConnections.clear()
137
- state.disconnectedSessions.clear()
138
- state.inFlightConnections.clear()
139
- state.authProviders.clear()
140
-
141
- for (const managed of clients) {
142
- await closeManagedClient(managed)
143
- }
144
- }
145
-
146
- export async function forceReconnect(state: SkillMcpManagerState, clientKey: string): Promise<boolean> {
147
- const existing = state.clients.get(clientKey)
148
- if (!existing) return false
149
-
150
- state.clients.delete(clientKey)
151
- await closeManagedClient(existing)
152
- return true
153
- }
@@ -1,26 +0,0 @@
1
- import type { ClaudeCodeMcpServer } from "../claude-code-mcp-loader/types"
2
- import type { ConnectionType } from "./types"
3
-
4
- /**
5
- * Determines connection type from MCP server configuration.
6
- * Priority: explicit type field > url presence > command presence
7
- */
8
- export function getConnectionType(config: ClaudeCodeMcpServer): ConnectionType | null {
9
- // Explicit type takes priority
10
- if (config.type === "http" || config.type === "sse") {
11
- return "http"
12
- }
13
- if (config.type === "stdio") {
14
- return "stdio"
15
- }
16
-
17
- // Infer from available fields
18
- if (config.url) {
19
- return "http"
20
- }
21
- if (config.command) {
22
- return "stdio"
23
- }
24
-
25
- return null
26
- }
@@ -1,146 +0,0 @@
1
- import type { ClaudeCodeMcpServer } from "../claude-code-mcp-loader/types"
2
- import { expandEnvVarsInObject } from "../claude-code-mcp-loader/env-expander"
3
- import { forceReconnect } from "./cleanup"
4
- import { getConnectionType } from "./connection-type"
5
- import { createHttpClient } from "./http-client"
6
- import { createStdioClient } from "./stdio-client"
7
- import type { McpClient, SkillMcpClientConnectionParams, SkillMcpClientInfo, SkillMcpManagerState } from "./types"
8
-
9
- function removeClientIfCurrent(state: SkillMcpManagerState, clientKey: string, client: McpClient): void {
10
- const managed = state.clients.get(clientKey)
11
- if (managed?.client === client) {
12
- state.clients.delete(clientKey)
13
- }
14
- }
15
-
16
- const PROJECT_SCOPES = new Set(["project", "opencode-project", "local"])
17
-
18
- export async function getOrCreateClient(params: {
19
- state: SkillMcpManagerState
20
- clientKey: string
21
- info: SkillMcpClientInfo
22
- config: ClaudeCodeMcpServer
23
- }): Promise<McpClient> {
24
- const { state, clientKey, info, config } = params
25
-
26
- if (state.disposed) {
27
- throw new Error(`MCP manager for "${info.sessionID}" has been shut down, cannot create new connections.`)
28
- }
29
-
30
- const existing = state.clients.get(clientKey)
31
- if (existing) {
32
- existing.lastUsedAt = Date.now()
33
- return existing.client
34
- }
35
-
36
- // Prevent race condition: if a connection is already in progress, wait for it
37
- const pending = state.pendingConnections.get(clientKey)
38
- if (pending) {
39
- return pending
40
- }
41
-
42
- const isTrusted = !PROJECT_SCOPES.has(info.scope ?? "")
43
- const expandedConfig = expandEnvVarsInObject(config, { trusted: isTrusted })
44
- let currentConnectionPromise!: Promise<McpClient>
45
- state.inFlightConnections.set(info.sessionID, (state.inFlightConnections.get(info.sessionID) ?? 0) + 1)
46
- currentConnectionPromise = (async () => {
47
- const disconnectGenAtStart = state.disconnectedSessions.get(info.sessionID) ?? 0
48
- const shutdownGenAtStart = state.shutdownGeneration
49
-
50
- const client = await createClient({ state, clientKey, info, config: expandedConfig })
51
-
52
- const isStale = state.pendingConnections.has(clientKey) && state.pendingConnections.get(clientKey) !== currentConnectionPromise
53
- if (isStale) {
54
- removeClientIfCurrent(state, clientKey, client)
55
- try { await client.close() } catch {}
56
- throw new Error(`Connection for "${info.sessionID}" was superseded by a newer connection attempt.`)
57
- }
58
-
59
- if (state.shutdownGeneration !== shutdownGenAtStart) {
60
- removeClientIfCurrent(state, clientKey, client)
61
- try { await client.close() } catch {}
62
- throw new Error(`Shutdown occurred during MCP connection for "${info.sessionID}"`)
63
- }
64
-
65
- const currentDisconnectGen = state.disconnectedSessions.get(info.sessionID) ?? 0
66
- if (currentDisconnectGen > disconnectGenAtStart) {
67
- await forceReconnect(state, clientKey)
68
- throw new Error(`Session "${info.sessionID}" disconnected during MCP connection setup.`)
69
- }
70
-
71
- return client
72
- })()
73
-
74
- state.pendingConnections.set(clientKey, currentConnectionPromise)
75
-
76
- try {
77
- const client = await currentConnectionPromise
78
- return client
79
- } finally {
80
- if (state.pendingConnections.get(clientKey) === currentConnectionPromise) {
81
- state.pendingConnections.delete(clientKey)
82
- }
83
- const remaining = (state.inFlightConnections.get(info.sessionID) ?? 1) - 1
84
- if (remaining <= 0) {
85
- state.inFlightConnections.delete(info.sessionID)
86
- state.disconnectedSessions.delete(info.sessionID)
87
- } else {
88
- state.inFlightConnections.set(info.sessionID, remaining)
89
- }
90
- }
91
- }
92
-
93
- export async function getOrCreateClientWithRetryImpl(params: {
94
- state: SkillMcpManagerState
95
- clientKey: string
96
- info: SkillMcpClientInfo
97
- config: ClaudeCodeMcpServer
98
- }): Promise<McpClient> {
99
- const { state, clientKey } = params
100
-
101
- try {
102
- return await getOrCreateClient(params)
103
- } catch (error) {
104
- const didReconnect = await forceReconnect(state, clientKey)
105
- if (!didReconnect) {
106
- throw error
107
- }
108
- return await getOrCreateClient(params)
109
- }
110
- }
111
-
112
- async function createClient(params: {
113
- state: SkillMcpManagerState
114
- clientKey: string
115
- info: SkillMcpClientInfo
116
- config: ClaudeCodeMcpServer
117
- }): Promise<McpClient> {
118
- const { info, config } = params
119
- const connectionType = getConnectionType(config)
120
-
121
- if (!connectionType) {
122
- throw new Error(
123
- `MCP server "${info.serverName}" has no valid connection configuration.\n\n` +
124
- `The MCP configuration in skill "${info.skillName}" must specify either:\n` +
125
- ` - A URL for HTTP connection (remote MCP server)\n` +
126
- ` - A command for stdio connection (local MCP process)\n\n` +
127
- `Examples:\n` +
128
- ` HTTP:\n` +
129
- ` mcp:\n` +
130
- ` ${info.serverName}:\n` +
131
- ` url: https://mcp.example.com/mcp\n` +
132
- ` headers:\n` +
133
- " Authorization: Bearer ${API_KEY}\n\n" +
134
- ` Stdio:\n` +
135
- ` mcp:\n` +
136
- ` ${info.serverName}:\n` +
137
- ` command: npx\n` +
138
- ` args: [-y, @some/mcp-server]`
139
- )
140
- }
141
-
142
- if (connectionType === "http") {
143
- return await createHttpClient(params satisfies SkillMcpClientConnectionParams)
144
- }
145
- return await createStdioClient(params satisfies SkillMcpClientConnectionParams)
146
- }
@@ -1,59 +0,0 @@
1
- // Filters npm/pnpm/yarn config env vars that break MCP servers in pnpm projects (#456)
2
- // Also filters secret-containing env vars to prevent exposure to malicious stdio MCP servers (#B-02)
3
- export const EXCLUDED_ENV_PATTERNS: RegExp[] = [
4
- // npm/pnpm/yarn config patterns (original)
5
- /^NPM_CONFIG_/i,
6
- /^npm_config_/,
7
- /^YARN_/,
8
- /^PNPM_/,
9
- /^NO_UPDATE_NOTIFIER$/,
10
-
11
- // Specific high-risk secret env vars (explicit blocks)
12
- /^ANTHROPIC_API_KEY$/i,
13
- /^AWS_ACCESS_KEY_ID$/i,
14
- /^AWS_SECRET_ACCESS_KEY$/i,
15
- /^GOOGLE_APPLICATION_CREDENTIALS$/i,
16
- /^GOOGLE_CLOUD_PROJECT$/i,
17
- /^GITHUB_TOKEN$/i,
18
- /^DATABASE_URL$/i,
19
- /^OPENAI_API_KEY$/i,
20
- /^AZURE_/i,
21
- /^GCP_/i,
22
- /^FIREBASE_/i,
23
- /^HEROKU_/i,
24
- /^DOCKER_AUTH/i,
25
- /^KUBECONFIG$/i,
26
- /^VAULT_/i,
27
-
28
- // Suffix-based patterns for common secret naming conventions
29
- /_KEY$/i,
30
- /_SECRET$/i,
31
- /_TOKEN$/i,
32
- /_PASSWORD$/i,
33
- /_CREDENTIAL$/i,
34
- /_CREDENTIALS$/i,
35
- /_API_KEY$/i,
36
- ]
37
-
38
- export function createCleanMcpEnvironment(
39
- customEnv: Record<string, string> = {}
40
- ): Record<string, string> {
41
- const mergedEnv: Record<string, string> = {}
42
-
43
- for (const [key, value] of Object.entries(process.env)) {
44
- if (value === undefined) continue
45
- mergedEnv[key] = value
46
- }
47
-
48
- Object.assign(mergedEnv, customEnv)
49
-
50
- const cleanEnv: Record<string, string> = {}
51
- for (const [key, value] of Object.entries(mergedEnv)) {
52
- const shouldExclude = EXCLUDED_ENV_PATTERNS.some((pattern) => pattern.test(key))
53
- if (!shouldExclude) {
54
- cleanEnv[key] = value
55
- }
56
- }
57
-
58
- return cleanEnv
59
- }
@@ -1,47 +0,0 @@
1
- // Redacts sensitive tokens from error messages to prevent credential exposure
2
- // Follows same patterns as env-cleaner.ts for consistency
3
-
4
- const SENSITIVE_PATTERNS: RegExp[] = [
5
- // API keys and tokens in common formats
6
- /[a-zA-Z0-9_-]*(?:api[_-]?key|apikey)["\s]*[:=]["\s]*([a-zA-Z0-9_-]{16,})/gi,
7
- /[a-zA-Z0-9_-]*(?:auth[_-]?token|authtoken)["\s]*[:=]["\s]*([a-zA-Z0-9_-]{16,})/gi,
8
- /[a-zA-Z0-9_-]*(?:access[_-]?token|accesstoken)["\s]*[:=]["\s]*([a-zA-Z0-9_-]{16,})/gi,
9
- /[a-zA-Z0-9_-]*(?:secret)["\s]*[:=]["\s]*([a-zA-Z0-9_-]{16,})/gi,
10
- /[a-zA-Z0-9_-]*(?:password)["\s]*[:=]["\s]*([a-zA-Z0-9_-]{8,})/gi,
11
-
12
- // Bearer tokens
13
- /bearer\s+([a-zA-Z0-9_-]{20,})/gi,
14
-
15
- // Common token prefixes
16
- /sk-[a-zA-Z0-9]{20,}/g, // OpenAI-style secret keys
17
- /gh[pousr]_[a-zA-Z0-9]{20,}/gi, // GitHub tokens
18
- /glpat-[a-zA-Z0-9_-]{20,}/gi, // GitLab tokens
19
- /[A-Za-z0-9_]{20,}-[A-Za-z0-9_]{10,}-[A-Za-z0-9_]{10,}/g, // Common JWT-like patterns
20
- ]
21
-
22
- const REDACTION_MARKER = "[REDACTED]"
23
-
24
- /**
25
- * Redacts sensitive tokens from a string.
26
- * Used for error messages that may contain command-line arguments or environment info.
27
- */
28
- export function redactSensitiveData(input: string): string {
29
- let result = input
30
-
31
- for (const pattern of SENSITIVE_PATTERNS) {
32
- result = result.replace(pattern, REDACTION_MARKER)
33
- }
34
-
35
- return result
36
- }
37
-
38
- /**
39
- * Redacts sensitive data from an Error object, returning a new Error.
40
- * Preserves the stack trace but redacts the message.
41
- */
42
- export function redactErrorSensitiveData(error: Error): Error {
43
- const redactedMessage = redactSensitiveData(error.message)
44
- const redactedError = new Error(redactedMessage)
45
- redactedError.stack = error.stack ? redactSensitiveData(error.stack) : undefined
46
- return redactedError
47
- }