@hiai-gg/hiai-opencode 0.1.7 → 0.1.9

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 (1195) hide show
  1. package/AGENTS.md +35 -0
  2. package/ARCHITECTURE.md +39 -0
  3. package/README.md +96 -9
  4. package/dist/agents/coder/agent.d.ts +2 -2
  5. package/dist/agents/dynamic-agent-core-sections.d.ts +3 -1
  6. package/dist/agents/guard/agent.d.ts +4 -15
  7. package/dist/agents/prompt-library/index.d.ts +1 -0
  8. package/dist/agents/prompt-library/integration-map.d.ts +9 -0
  9. package/dist/agents/strategist/system-prompt.d.ts +5 -8
  10. package/dist/agents/sub/agent.d.ts +6 -8
  11. package/dist/agents/sub/index.d.ts +0 -4
  12. package/dist/config/schema/oh-my-opencode-config.d.ts +2 -0
  13. package/dist/config/schema/ralph-loop.d.ts +2 -0
  14. package/dist/hooks/keyword-detector/ultrawork/default.d.ts +1 -1
  15. package/dist/hooks/keyword-detector/ultrawork/gemini.d.ts +1 -1
  16. package/dist/hooks/keyword-detector/ultrawork/gpt.d.ts +1 -1
  17. package/dist/hooks/keyword-detector/ultrawork/intent-gate.d.ts +0 -0
  18. package/dist/hooks/keyword-detector/ultrawork/planner.d.ts +1 -1
  19. package/dist/hooks/todo-continuation-enforcer/auto-loop.d.ts +23 -0
  20. package/dist/hooks/todo-continuation-enforcer/handler.d.ts +5 -0
  21. package/dist/hooks/todo-continuation-enforcer/idle-event.d.ts +5 -0
  22. package/dist/hooks/todo-continuation-enforcer/types.d.ts +18 -0
  23. package/dist/index.js +1532 -4127
  24. package/dist/plugin/hooks/create-continuation-hooks.d.ts +2 -1
  25. package/dist/shared/index.d.ts +1 -0
  26. package/dist/shared/learn-system.d.ts +18 -0
  27. package/hiai-opencode.json +8 -5
  28. package/package.json +3 -3
  29. package/dist/agents/bob/default.d.ts +0 -10
  30. package/dist/agents/bob/gemini.d.ts +0 -21
  31. package/dist/agents/bob/gpt-pro.d.ts +0 -27
  32. package/dist/agents/bob/index.d.ts +0 -11
  33. package/dist/agents/coder/gpt-codex.d.ts +0 -20
  34. package/dist/agents/coder/gpt-pro.d.ts +0 -25
  35. package/dist/agents/guard/gemini-prompt-sections.d.ts +0 -12
  36. package/dist/agents/guard/gemini.d.ts +0 -2
  37. package/dist/agents/guard/gpt-prompt-sections.d.ts +0 -12
  38. package/dist/agents/guard/gpt.d.ts +0 -2
  39. package/dist/agents/strategist/gemini.d.ts +0 -13
  40. package/dist/agents/strategist/gpt.d.ts +0 -12
  41. package/dist/agents/sub/gemini.d.ts +0 -10
  42. package/dist/agents/sub/gpt-codex.d.ts +0 -8
  43. package/dist/agents/sub/gpt-pro.d.ts +0 -11
  44. package/dist/agents/sub/gpt.d.ts +0 -9
  45. package/dist/skills/index.d.ts +0 -7
  46. package/dist/testing/module-mock-lifecycle.d.ts +0 -21
  47. package/src/AGENTS.md +0 -41
  48. package/src/agents/AGENTS.md +0 -74
  49. package/src/agents/agent-builder.ts +0 -50
  50. package/src/agents/agent-skills.ts +0 -70
  51. package/src/agents/bob/AGENTS.md +0 -29
  52. package/src/agents/bob/default.ts +0 -134
  53. package/src/agents/bob/gemini.ts +0 -238
  54. package/src/agents/bob/gpt-pro.ts +0 -432
  55. package/src/agents/bob/index.ts +0 -19
  56. package/src/agents/bob.ts +0 -531
  57. package/src/agents/brainstormer.ts +0 -72
  58. package/src/agents/builtin-agents/agent-overrides.ts +0 -75
  59. package/src/agents/builtin-agents/available-skills.ts +0 -35
  60. package/src/agents/builtin-agents/bob-agent.ts +0 -96
  61. package/src/agents/builtin-agents/coder-agent.ts +0 -98
  62. package/src/agents/builtin-agents/environment-context.ts +0 -16
  63. package/src/agents/builtin-agents/general-agents.ts +0 -122
  64. package/src/agents/builtin-agents/guard-agent.ts +0 -66
  65. package/src/agents/builtin-agents/model-resolution.ts +0 -31
  66. package/src/agents/builtin-agents/resolve-file-uri.ts +0 -42
  67. package/src/agents/builtin-agents.ts +0 -250
  68. package/src/agents/coder/AGENTS.md +0 -34
  69. package/src/agents/coder/agent.ts +0 -162
  70. package/src/agents/coder/gpt-codex.ts +0 -406
  71. package/src/agents/coder/gpt-pro.ts +0 -321
  72. package/src/agents/coder/gpt.ts +0 -255
  73. package/src/agents/coder/index.ts +0 -8
  74. package/src/agents/critic/agent.ts +0 -106
  75. package/src/agents/custom-agent-summaries.ts +0 -61
  76. package/src/agents/designer.ts +0 -70
  77. package/src/agents/dynamic-agent-category-skills-guide.ts +0 -144
  78. package/src/agents/dynamic-agent-core-sections.ts +0 -273
  79. package/src/agents/dynamic-agent-policy-sections.ts +0 -182
  80. package/src/agents/dynamic-agent-prompt-builder.ts +0 -32
  81. package/src/agents/dynamic-agent-prompt-types.ts +0 -24
  82. package/src/agents/dynamic-agent-tool-categorization.ts +0 -45
  83. package/src/agents/env-context.ts +0 -16
  84. package/src/agents/gpt-apply-patch-guard.ts +0 -7
  85. package/src/agents/guard/agent.ts +0 -146
  86. package/src/agents/guard/default-prompt-sections.ts +0 -305
  87. package/src/agents/guard/default.ts +0 -23
  88. package/src/agents/guard/gemini-prompt-sections.ts +0 -293
  89. package/src/agents/guard/gemini.ts +0 -23
  90. package/src/agents/guard/gpt-prompt-sections.ts +0 -296
  91. package/src/agents/guard/gpt.ts +0 -23
  92. package/src/agents/guard/index.ts +0 -2
  93. package/src/agents/guard/prompt-section-builder.ts +0 -104
  94. package/src/agents/guard/shared-prompt.ts +0 -172
  95. package/src/agents/index.ts +0 -5
  96. package/src/agents/platform-adapter.ts +0 -236
  97. package/src/agents/platform-manager.ts +0 -73
  98. package/src/agents/prompt-library/identity.ts +0 -14
  99. package/src/agents/prompt-library/index.ts +0 -7
  100. package/src/agents/prompt-library/intent-gate.ts +0 -149
  101. package/src/agents/prompt-library/orchestration.ts +0 -60
  102. package/src/agents/prompt-library/platform.ts +0 -70
  103. package/src/agents/prompt-library/specialized.ts +0 -39
  104. package/src/agents/prompt-library/strategy.ts +0 -80
  105. package/src/agents/prompt-library/todo-discipline.ts +0 -23
  106. package/src/agents/quality-guardian.ts +0 -76
  107. package/src/agents/researcher.ts +0 -74
  108. package/src/agents/strategist/AGENTS.md +0 -37
  109. package/src/agents/strategist/behavioral-summary.ts +0 -79
  110. package/src/agents/strategist/gemini.ts +0 -334
  111. package/src/agents/strategist/gpt.ts +0 -461
  112. package/src/agents/strategist/high-accuracy-mode.ts +0 -78
  113. package/src/agents/strategist/identity-constraints.ts +0 -336
  114. package/src/agents/strategist/index.ts +0 -6
  115. package/src/agents/strategist/interview-mode.ts +0 -335
  116. package/src/agents/strategist/plan-generation.ts +0 -213
  117. package/src/agents/strategist/plan-template.ts +0 -325
  118. package/src/agents/strategist/system-prompt.ts +0 -68
  119. package/src/agents/sub/agent.ts +0 -141
  120. package/src/agents/sub/default.ts +0 -52
  121. package/src/agents/sub/gemini.ts +0 -194
  122. package/src/agents/sub/gpt-codex.ts +0 -156
  123. package/src/agents/sub/gpt-pro.ts +0 -161
  124. package/src/agents/sub/gpt.ts +0 -157
  125. package/src/agents/sub/index.ts +0 -13
  126. package/src/agents/types.ts +0 -147
  127. package/src/agents/ui.ts +0 -59
  128. package/src/config/data/model-capabilities.json +0 -40690
  129. package/src/config/defaults.ts +0 -230
  130. package/src/config/hiai-opencode.schema.json +0 -12
  131. package/src/config/index.ts +0 -65
  132. package/src/config/loader.test.ts +0 -80
  133. package/src/config/loader.ts +0 -188
  134. package/src/config/model-slots-and-export.test.ts +0 -73
  135. package/src/config/platform-schema.ts +0 -242
  136. package/src/config/schema/agent-definitions.ts +0 -5
  137. package/src/config/schema/agent-names.ts +0 -66
  138. package/src/config/schema/agent-overrides.ts +0 -97
  139. package/src/config/schema/babysitting.ts +0 -7
  140. package/src/config/schema/background-task.ts +0 -29
  141. package/src/config/schema/bob-agent.ts +0 -11
  142. package/src/config/schema/bob.ts +0 -17
  143. package/src/config/schema/browser-automation.ts +0 -24
  144. package/src/config/schema/categories.ts +0 -45
  145. package/src/config/schema/claude-code.ts +0 -13
  146. package/src/config/schema/commands.ts +0 -16
  147. package/src/config/schema/comment-checker.ts +0 -8
  148. package/src/config/schema/dynamic-context-pruning.ts +0 -53
  149. package/src/config/schema/experimental.ts +0 -27
  150. package/src/config/schema/fallback-models.ts +0 -31
  151. package/src/config/schema/fast-apply.ts +0 -14
  152. package/src/config/schema/git-env-prefix.ts +0 -28
  153. package/src/config/schema/git-master.ts +0 -14
  154. package/src/config/schema/hooks.ts +0 -59
  155. package/src/config/schema/index.ts +0 -52
  156. package/src/config/schema/internal/permission.ts +0 -20
  157. package/src/config/schema/model-capabilities.ts +0 -10
  158. package/src/config/schema/notification.ts +0 -8
  159. package/src/config/schema/oh-my-opencode-config.ts +0 -88
  160. package/src/config/schema/openclaw.ts +0 -50
  161. package/src/config/schema/ralph-loop.ts +0 -11
  162. package/src/config/schema/runtime-fallback.ts +0 -18
  163. package/src/config/schema/skill-discovery.ts +0 -25
  164. package/src/config/schema/skills.ts +0 -39
  165. package/src/config/schema/start-work.ts +0 -7
  166. package/src/config/schema/tmux.ts +0 -28
  167. package/src/config/types.ts +0 -221
  168. package/src/create-hooks.ts +0 -93
  169. package/src/create-managers.ts +0 -116
  170. package/src/create-runtime-tmux-config.ts +0 -18
  171. package/src/create-tools.ts +0 -56
  172. package/src/features/background-agent/AGENTS.md +0 -56
  173. package/src/features/background-agent/abort-with-timeout.ts +0 -35
  174. package/src/features/background-agent/background-task-notification-template.ts +0 -74
  175. package/src/features/background-agent/compaction-aware-message-resolver.ts +0 -164
  176. package/src/features/background-agent/concurrency.ts +0 -137
  177. package/src/features/background-agent/constants.ts +0 -58
  178. package/src/features/background-agent/duration-formatter.ts +0 -14
  179. package/src/features/background-agent/error-classifier.ts +0 -83
  180. package/src/features/background-agent/fallback-retry-handler.ts +0 -134
  181. package/src/features/background-agent/index.ts +0 -2
  182. package/src/features/background-agent/loop-detector.ts +0 -102
  183. package/src/features/background-agent/manager.ts +0 -2220
  184. package/src/features/background-agent/opencode-client.ts +0 -3
  185. package/src/features/background-agent/process-cleanup.ts +0 -98
  186. package/src/features/background-agent/remove-task-toast-tracking.ts +0 -8
  187. package/src/features/background-agent/session-existence.ts +0 -57
  188. package/src/features/background-agent/session-idle-event-handler.ts +0 -93
  189. package/src/features/background-agent/session-status-classifier.ts +0 -20
  190. package/src/features/background-agent/spawner/parent-directory-resolver.ts +0 -24
  191. package/src/features/background-agent/spawner.ts +0 -327
  192. package/src/features/background-agent/state.ts +0 -199
  193. package/src/features/background-agent/subagent-spawn-limits.ts +0 -97
  194. package/src/features/background-agent/task-history.ts +0 -79
  195. package/src/features/background-agent/task-poller.ts +0 -225
  196. package/src/features/background-agent/types.ts +0 -100
  197. package/src/features/boulder-state/constants.ts +0 -13
  198. package/src/features/boulder-state/index.ts +0 -4
  199. package/src/features/boulder-state/storage.ts +0 -336
  200. package/src/features/boulder-state/top-level-task.ts +0 -78
  201. package/src/features/boulder-state/types.ts +0 -61
  202. package/src/features/builtin-commands/commands.ts +0 -157
  203. package/src/features/builtin-commands/index.ts +0 -2
  204. package/src/features/builtin-commands/templates/doctor.ts +0 -43
  205. package/src/features/builtin-commands/templates/handoff.ts +0 -177
  206. package/src/features/builtin-commands/templates/init-deep.ts +0 -305
  207. package/src/features/builtin-commands/templates/mcp-status.ts +0 -36
  208. package/src/features/builtin-commands/templates/ralph-loop.ts +0 -66
  209. package/src/features/builtin-commands/templates/refactor.ts +0 -619
  210. package/src/features/builtin-commands/templates/remove-ai-slops.ts +0 -96
  211. package/src/features/builtin-commands/templates/start-work.ts +0 -128
  212. package/src/features/builtin-commands/templates/stop-continuation.ts +0 -13
  213. package/src/features/builtin-commands/types.ts +0 -9
  214. package/src/features/builtin-skills/index.ts +0 -2
  215. package/src/features/builtin-skills/materialize.ts +0 -338
  216. package/src/features/builtin-skills/skills/ai-slop-remover.ts +0 -145
  217. package/src/features/builtin-skills/skills/dev-browser.ts +0 -221
  218. package/src/features/builtin-skills/skills/frontend-ui-ux.ts +0 -79
  219. package/src/features/builtin-skills/skills/git-master-sections/commit-workflow.ts +0 -509
  220. package/src/features/builtin-skills/skills/git-master-sections/history-search-workflow.ts +0 -229
  221. package/src/features/builtin-skills/skills/git-master-sections/overview.ts +0 -64
  222. package/src/features/builtin-skills/skills/git-master-sections/quick-reference.ts +0 -86
  223. package/src/features/builtin-skills/skills/git-master-sections/rebase-workflow.ts +0 -181
  224. package/src/features/builtin-skills/skills/git-master-skill-metadata.ts +0 -4
  225. package/src/features/builtin-skills/skills/git-master.ts +0 -28
  226. package/src/features/builtin-skills/skills/hiai-opencode-setup.ts +0 -69
  227. package/src/features/builtin-skills/skills/index.ts +0 -9
  228. package/src/features/builtin-skills/skills/playwright-cli.ts +0 -268
  229. package/src/features/builtin-skills/skills/playwright.ts +0 -488
  230. package/src/features/builtin-skills/skills/review-work.ts +0 -536
  231. package/src/features/builtin-skills/skills/website-copywriting.ts +0 -41
  232. package/src/features/builtin-skills/skills.test.ts +0 -8
  233. package/src/features/builtin-skills/skills.ts +0 -50
  234. package/src/features/builtin-skills/types.ts +0 -16
  235. package/src/features/claude-code-agent-loader/agent-definitions-loader.ts +0 -87
  236. package/src/features/claude-code-agent-loader/claude-model-mapper.ts +0 -53
  237. package/src/features/claude-code-agent-loader/index.ts +0 -5
  238. package/src/features/claude-code-agent-loader/json-agent-loader.ts +0 -53
  239. package/src/features/claude-code-agent-loader/loader.ts +0 -86
  240. package/src/features/claude-code-agent-loader/opencode-config-agents-reader.ts +0 -125
  241. package/src/features/claude-code-agent-loader/types.ts +0 -31
  242. package/src/features/claude-code-command-loader/index.ts +0 -2
  243. package/src/features/claude-code-command-loader/loader.ts +0 -169
  244. package/src/features/claude-code-command-loader/types.ts +0 -46
  245. package/src/features/claude-code-mcp-loader/configure-allowed-env-vars.ts +0 -48
  246. package/src/features/claude-code-mcp-loader/env-expander.ts +0 -51
  247. package/src/features/claude-code-mcp-loader/index.ts +0 -12
  248. package/src/features/claude-code-mcp-loader/loader.ts +0 -156
  249. package/src/features/claude-code-mcp-loader/scope-filter.ts +0 -17
  250. package/src/features/claude-code-mcp-loader/transformer.ts +0 -57
  251. package/src/features/claude-code-mcp-loader/types.ts +0 -51
  252. package/src/features/claude-code-plugin-loader/agent-loader.ts +0 -59
  253. package/src/features/claude-code-plugin-loader/command-loader.ts +0 -53
  254. package/src/features/claude-code-plugin-loader/discovery.ts +0 -251
  255. package/src/features/claude-code-plugin-loader/hook-loader.ts +0 -26
  256. package/src/features/claude-code-plugin-loader/index.ts +0 -10
  257. package/src/features/claude-code-plugin-loader/loader.ts +0 -134
  258. package/src/features/claude-code-plugin-loader/mcp-server-loader.ts +0 -59
  259. package/src/features/claude-code-plugin-loader/plugin-path-resolver.ts +0 -23
  260. package/src/features/claude-code-plugin-loader/scope-filter.ts +0 -29
  261. package/src/features/claude-code-plugin-loader/skill-loader.ts +0 -62
  262. package/src/features/claude-code-plugin-loader/types.ts +0 -255
  263. package/src/features/claude-code-session-state/index.ts +0 -1
  264. package/src/features/claude-code-session-state/state.ts +0 -154
  265. package/src/features/claude-tasks/session-storage.ts +0 -52
  266. package/src/features/claude-tasks/storage.ts +0 -169
  267. package/src/features/claude-tasks/types.ts +0 -20
  268. package/src/features/context-injector/collector.ts +0 -91
  269. package/src/features/context-injector/index.ts +0 -14
  270. package/src/features/context-injector/injector.ts +0 -167
  271. package/src/features/context-injector/types.ts +0 -91
  272. package/src/features/hook-message-injector/constants.ts +0 -1
  273. package/src/features/hook-message-injector/index.ts +0 -11
  274. package/src/features/hook-message-injector/injector.ts +0 -437
  275. package/src/features/hook-message-injector/types.ts +0 -49
  276. package/src/features/mcp-oauth/AGENTS.md +0 -54
  277. package/src/features/mcp-oauth/callback-server.ts +0 -106
  278. package/src/features/mcp-oauth/dcr.ts +0 -98
  279. package/src/features/mcp-oauth/discovery.ts +0 -134
  280. package/src/features/mcp-oauth/oauth-authorization-flow.ts +0 -150
  281. package/src/features/mcp-oauth/provider.ts +0 -215
  282. package/src/features/mcp-oauth/refresh-mutex.ts +0 -58
  283. package/src/features/mcp-oauth/resource-indicator.ts +0 -16
  284. package/src/features/mcp-oauth/schema.ts +0 -8
  285. package/src/features/mcp-oauth/step-up.ts +0 -79
  286. package/src/features/mcp-oauth/storage.ts +0 -155
  287. package/src/features/opencode-skill-loader/AGENTS.md +0 -59
  288. package/src/features/opencode-skill-loader/allowed-tools-parser.ts +0 -9
  289. package/src/features/opencode-skill-loader/async-loader.ts +0 -213
  290. package/src/features/opencode-skill-loader/blocking.ts +0 -62
  291. package/src/features/opencode-skill-loader/config-source-discovery.ts +0 -114
  292. package/src/features/opencode-skill-loader/discover-worker.ts +0 -56
  293. package/src/features/opencode-skill-loader/git-master-template-injection.ts +0 -150
  294. package/src/features/opencode-skill-loader/index.ts +0 -17
  295. package/src/features/opencode-skill-loader/loaded-skill-from-path.ts +0 -73
  296. package/src/features/opencode-skill-loader/loaded-skill-template-extractor.ts +0 -16
  297. package/src/features/opencode-skill-loader/loader.ts +0 -183
  298. package/src/features/opencode-skill-loader/merger/builtin-skill-converter.ts +0 -26
  299. package/src/features/opencode-skill-loader/merger/config-skill-entry-loader.ts +0 -117
  300. package/src/features/opencode-skill-loader/merger/scope-priority.ts +0 -10
  301. package/src/features/opencode-skill-loader/merger/skill-definition-merger.ts +0 -31
  302. package/src/features/opencode-skill-loader/merger/skills-config-normalizer.ts +0 -19
  303. package/src/features/opencode-skill-loader/merger.ts +0 -96
  304. package/src/features/opencode-skill-loader/skill-content.ts +0 -11
  305. package/src/features/opencode-skill-loader/skill-deduplication.ts +0 -13
  306. package/src/features/opencode-skill-loader/skill-definition-record.ts +0 -11
  307. package/src/features/opencode-skill-loader/skill-directory-loader.ts +0 -112
  308. package/src/features/opencode-skill-loader/skill-discovery.ts +0 -76
  309. package/src/features/opencode-skill-loader/skill-mcp-config.ts +0 -45
  310. package/src/features/opencode-skill-loader/skill-resolution-options.ts +0 -9
  311. package/src/features/opencode-skill-loader/skill-template-resolver.ts +0 -97
  312. package/src/features/opencode-skill-loader/types.ts +0 -38
  313. package/src/features/run-continuation-state/constants.ts +0 -1
  314. package/src/features/run-continuation-state/index.ts +0 -3
  315. package/src/features/run-continuation-state/storage.ts +0 -80
  316. package/src/features/run-continuation-state/types.ts +0 -15
  317. package/src/features/skill-mcp-manager/AGENTS.md +0 -111
  318. package/src/features/skill-mcp-manager/cleanup.ts +0 -153
  319. package/src/features/skill-mcp-manager/connection-type.ts +0 -26
  320. package/src/features/skill-mcp-manager/connection.ts +0 -146
  321. package/src/features/skill-mcp-manager/env-cleaner.ts +0 -59
  322. package/src/features/skill-mcp-manager/error-redaction.ts +0 -47
  323. package/src/features/skill-mcp-manager/http-client.ts +0 -126
  324. package/src/features/skill-mcp-manager/index.ts +0 -2
  325. package/src/features/skill-mcp-manager/manager.ts +0 -178
  326. package/src/features/skill-mcp-manager/oauth-handler.ts +0 -160
  327. package/src/features/skill-mcp-manager/stdio-client.ts +0 -112
  328. package/src/features/skill-mcp-manager/types.ts +0 -96
  329. package/src/features/task-toast-manager/index.ts +0 -2
  330. package/src/features/task-toast-manager/manager.ts +0 -251
  331. package/src/features/task-toast-manager/types.ts +0 -29
  332. package/src/features/tmux-subagent/action-executor-core.ts +0 -82
  333. package/src/features/tmux-subagent/action-executor.ts +0 -137
  334. package/src/features/tmux-subagent/cleanup.ts +0 -42
  335. package/src/features/tmux-subagent/decision-engine.ts +0 -22
  336. package/src/features/tmux-subagent/event-handlers.ts +0 -6
  337. package/src/features/tmux-subagent/grid-planning.ts +0 -137
  338. package/src/features/tmux-subagent/index.ts +0 -16
  339. package/src/features/tmux-subagent/manager.ts +0 -969
  340. package/src/features/tmux-subagent/oldest-agent-pane.ts +0 -37
  341. package/src/features/tmux-subagent/pane-split-availability.ts +0 -77
  342. package/src/features/tmux-subagent/pane-state-parser.ts +0 -135
  343. package/src/features/tmux-subagent/pane-state-querier.ts +0 -76
  344. package/src/features/tmux-subagent/polling-constants.ts +0 -6
  345. package/src/features/tmux-subagent/polling-manager.ts +0 -167
  346. package/src/features/tmux-subagent/polling.ts +0 -183
  347. package/src/features/tmux-subagent/session-created-event.ts +0 -44
  348. package/src/features/tmux-subagent/session-created-handler.ts +0 -175
  349. package/src/features/tmux-subagent/session-deleted-handler.ts +0 -50
  350. package/src/features/tmux-subagent/session-message-count.ts +0 -3
  351. package/src/features/tmux-subagent/session-ready-waiter.ts +0 -44
  352. package/src/features/tmux-subagent/session-status-parser.ts +0 -17
  353. package/src/features/tmux-subagent/spawn-action-decider.ts +0 -147
  354. package/src/features/tmux-subagent/spawn-target-finder.ts +0 -146
  355. package/src/features/tmux-subagent/tmux-grid-constants.ts +0 -57
  356. package/src/features/tmux-subagent/tracked-session-state.ts +0 -29
  357. package/src/features/tmux-subagent/types.ts +0 -54
  358. package/src/features/tool-metadata-store/index.ts +0 -7
  359. package/src/features/tool-metadata-store/store.ts +0 -84
  360. package/src/hooks/agent-usage-reminder/constants.ts +0 -52
  361. package/src/hooks/agent-usage-reminder/hook.ts +0 -134
  362. package/src/hooks/agent-usage-reminder/index.ts +0 -1
  363. package/src/hooks/agent-usage-reminder/storage.ts +0 -42
  364. package/src/hooks/agent-usage-reminder/types.ts +0 -6
  365. package/src/hooks/anthropic-context-window-limit-recovery/AGENTS.md +0 -49
  366. package/src/hooks/anthropic-context-window-limit-recovery/aggressive-truncation-strategy.ts +0 -87
  367. package/src/hooks/anthropic-context-window-limit-recovery/client.ts +0 -21
  368. package/src/hooks/anthropic-context-window-limit-recovery/deduplication-recovery.ts +0 -77
  369. package/src/hooks/anthropic-context-window-limit-recovery/empty-content-recovery-sdk.ts +0 -199
  370. package/src/hooks/anthropic-context-window-limit-recovery/empty-content-recovery.ts +0 -149
  371. package/src/hooks/anthropic-context-window-limit-recovery/executor.ts +0 -83
  372. package/src/hooks/anthropic-context-window-limit-recovery/index.ts +0 -8
  373. package/src/hooks/anthropic-context-window-limit-recovery/message-builder.ts +0 -190
  374. package/src/hooks/anthropic-context-window-limit-recovery/message-storage-directory.ts +0 -40
  375. package/src/hooks/anthropic-context-window-limit-recovery/parser.ts +0 -209
  376. package/src/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.ts +0 -189
  377. package/src/hooks/anthropic-context-window-limit-recovery/pruning-tool-output-truncation.ts +0 -142
  378. package/src/hooks/anthropic-context-window-limit-recovery/pruning-types.ts +0 -44
  379. package/src/hooks/anthropic-context-window-limit-recovery/recovery-hook.test-support.ts +0 -119
  380. package/src/hooks/anthropic-context-window-limit-recovery/recovery-hook.ts +0 -193
  381. package/src/hooks/anthropic-context-window-limit-recovery/recovery-strategy.ts +0 -2
  382. package/src/hooks/anthropic-context-window-limit-recovery/session-timeout-map.ts +0 -20
  383. package/src/hooks/anthropic-context-window-limit-recovery/state.ts +0 -78
  384. package/src/hooks/anthropic-context-window-limit-recovery/storage-paths.ts +0 -6
  385. package/src/hooks/anthropic-context-window-limit-recovery/storage.ts +0 -18
  386. package/src/hooks/anthropic-context-window-limit-recovery/summarize-retry-strategy.ts +0 -218
  387. package/src/hooks/anthropic-context-window-limit-recovery/target-token-truncation.ts +0 -196
  388. package/src/hooks/anthropic-context-window-limit-recovery/tool-part-types.ts +0 -38
  389. package/src/hooks/anthropic-context-window-limit-recovery/tool-result-storage-sdk.ts +0 -123
  390. package/src/hooks/anthropic-context-window-limit-recovery/tool-result-storage.ts +0 -119
  391. package/src/hooks/anthropic-context-window-limit-recovery/types.ts +0 -44
  392. package/src/hooks/anthropic-effort/hook.ts +0 -93
  393. package/src/hooks/anthropic-effort/index.ts +0 -1
  394. package/src/hooks/auto-slash-command/constants.ts +0 -12
  395. package/src/hooks/auto-slash-command/detector.ts +0 -88
  396. package/src/hooks/auto-slash-command/executor.ts +0 -165
  397. package/src/hooks/auto-slash-command/hook.ts +0 -238
  398. package/src/hooks/auto-slash-command/index.ts +0 -7
  399. package/src/hooks/auto-slash-command/processed-command-store.ts +0 -74
  400. package/src/hooks/auto-slash-command/types.ts +0 -42
  401. package/src/hooks/background-notification/hook.ts +0 -54
  402. package/src/hooks/background-notification/index.ts +0 -2
  403. package/src/hooks/background-notification/types.ts +0 -5
  404. package/src/hooks/bash-file-read-guard.ts +0 -44
  405. package/src/hooks/category-skill-reminder/formatter.ts +0 -37
  406. package/src/hooks/category-skill-reminder/hook.ts +0 -142
  407. package/src/hooks/category-skill-reminder/index.ts +0 -1
  408. package/src/hooks/claude-code-hooks/AGENTS.md +0 -41
  409. package/src/hooks/claude-code-hooks/claude-code-hooks-hook.ts +0 -28
  410. package/src/hooks/claude-code-hooks/config-loader.ts +0 -151
  411. package/src/hooks/claude-code-hooks/config.ts +0 -147
  412. package/src/hooks/claude-code-hooks/dispatch-hook.ts +0 -27
  413. package/src/hooks/claude-code-hooks/execute-http-hook.ts +0 -116
  414. package/src/hooks/claude-code-hooks/handlers/chat-message-handler.ts +0 -140
  415. package/src/hooks/claude-code-hooks/handlers/pre-compact-handler.ts +0 -41
  416. package/src/hooks/claude-code-hooks/handlers/session-event-handler.ts +0 -137
  417. package/src/hooks/claude-code-hooks/handlers/tool-execute-after-handler.ts +0 -160
  418. package/src/hooks/claude-code-hooks/handlers/tool-execute-before-handler.ts +0 -93
  419. package/src/hooks/claude-code-hooks/index.ts +0 -1
  420. package/src/hooks/claude-code-hooks/plugin-config.ts +0 -12
  421. package/src/hooks/claude-code-hooks/post-tool-use.ts +0 -195
  422. package/src/hooks/claude-code-hooks/pre-compact.ts +0 -105
  423. package/src/hooks/claude-code-hooks/pre-tool-use.ts +0 -168
  424. package/src/hooks/claude-code-hooks/session-hook-state.ts +0 -17
  425. package/src/hooks/claude-code-hooks/stop.ts +0 -118
  426. package/src/hooks/claude-code-hooks/todo.ts +0 -76
  427. package/src/hooks/claude-code-hooks/tool-input-cache.ts +0 -82
  428. package/src/hooks/claude-code-hooks/transcript.ts +0 -248
  429. package/src/hooks/claude-code-hooks/types.ts +0 -214
  430. package/src/hooks/claude-code-hooks/user-prompt-submit.ts +0 -121
  431. package/src/hooks/comment-checker/cli-runner.ts +0 -127
  432. package/src/hooks/comment-checker/cli.ts +0 -269
  433. package/src/hooks/comment-checker/downloader.ts +0 -170
  434. package/src/hooks/comment-checker/hook.ts +0 -192
  435. package/src/hooks/comment-checker/index.ts +0 -1
  436. package/src/hooks/comment-checker/pending-calls.ts +0 -45
  437. package/src/hooks/comment-checker/types.ts +0 -33
  438. package/src/hooks/compaction-context-injector/compaction-context-prompt.ts +0 -56
  439. package/src/hooks/compaction-context-injector/constants.ts +0 -5
  440. package/src/hooks/compaction-context-injector/hook.ts +0 -164
  441. package/src/hooks/compaction-context-injector/index.ts +0 -1
  442. package/src/hooks/compaction-context-injector/recovery-prompt-config.ts +0 -77
  443. package/src/hooks/compaction-context-injector/recovery.ts +0 -163
  444. package/src/hooks/compaction-context-injector/session-id.ts +0 -8
  445. package/src/hooks/compaction-context-injector/session-prompt-config-resolver.ts +0 -120
  446. package/src/hooks/compaction-context-injector/tail-monitor.ts +0 -52
  447. package/src/hooks/compaction-context-injector/types.ts +0 -25
  448. package/src/hooks/compaction-context-injector/validated-model.ts +0 -47
  449. package/src/hooks/compaction-todo-preserver/hook.ts +0 -127
  450. package/src/hooks/compaction-todo-preserver/index.ts +0 -2
  451. package/src/hooks/context-window-monitor.ts +0 -113
  452. package/src/hooks/delegate-task-retry/guidance.ts +0 -45
  453. package/src/hooks/delegate-task-retry/hook.ts +0 -22
  454. package/src/hooks/delegate-task-retry/index.ts +0 -4
  455. package/src/hooks/delegate-task-retry/patterns.ts +0 -77
  456. package/src/hooks/directory-agents-injector/constants.ts +0 -7
  457. package/src/hooks/directory-agents-injector/finder.ts +0 -38
  458. package/src/hooks/directory-agents-injector/hook.ts +0 -80
  459. package/src/hooks/directory-agents-injector/index.ts +0 -1
  460. package/src/hooks/directory-agents-injector/injector.ts +0 -59
  461. package/src/hooks/directory-agents-injector/storage.ts +0 -8
  462. package/src/hooks/directory-readme-injector/constants.ts +0 -7
  463. package/src/hooks/directory-readme-injector/finder.ts +0 -33
  464. package/src/hooks/directory-readme-injector/hook.ts +0 -80
  465. package/src/hooks/directory-readme-injector/index.ts +0 -1
  466. package/src/hooks/directory-readme-injector/injector.ts +0 -59
  467. package/src/hooks/directory-readme-injector/storage.ts +0 -8
  468. package/src/hooks/edit-error-recovery/hook.ts +0 -58
  469. package/src/hooks/edit-error-recovery/index.ts +0 -5
  470. package/src/hooks/empty-task-response-detector.ts +0 -27
  471. package/src/hooks/fast-apply/hook.ts +0 -11
  472. package/src/hooks/fast-apply/index.ts +0 -1
  473. package/src/hooks/fast-apply/ollama-client.ts +0 -53
  474. package/src/hooks/fast-apply/tool-execute-before-handler.ts +0 -86
  475. package/src/hooks/guard/AGENTS.md +0 -64
  476. package/src/hooks/guard/background-launch-session-tracking.ts +0 -97
  477. package/src/hooks/guard/bob-path.ts +0 -8
  478. package/src/hooks/guard/boulder-continuation-injector.ts +0 -109
  479. package/src/hooks/guard/boulder-session-lineage.ts +0 -44
  480. package/src/hooks/guard/event-handler.ts +0 -104
  481. package/src/hooks/guard/final-wave-approval-gate.ts +0 -47
  482. package/src/hooks/guard/final-wave-plan-state.ts +0 -60
  483. package/src/hooks/guard/guard-hook.ts +0 -27
  484. package/src/hooks/guard/hook-name.ts +0 -1
  485. package/src/hooks/guard/idle-event.ts +0 -341
  486. package/src/hooks/guard/index.ts +0 -3
  487. package/src/hooks/guard/is-abort-error.ts +0 -20
  488. package/src/hooks/guard/recent-model-resolver.ts +0 -89
  489. package/src/hooks/guard/resolve-active-boulder-session.ts +0 -29
  490. package/src/hooks/guard/session-last-agent.ts +0 -153
  491. package/src/hooks/guard/subagent-session-id.ts +0 -54
  492. package/src/hooks/guard/system-reminder-templates.ts +0 -249
  493. package/src/hooks/guard/task-context.ts +0 -45
  494. package/src/hooks/guard/tool-execute-after.ts +0 -209
  495. package/src/hooks/guard/tool-execute-before.ts +0 -102
  496. package/src/hooks/guard/tsconfig.json +0 -9
  497. package/src/hooks/guard/types.ts +0 -45
  498. package/src/hooks/guard/verification-reminders.ts +0 -197
  499. package/src/hooks/guard/write-edit-tool-policy.ts +0 -5
  500. package/src/hooks/hashline-edit-diff-enhancer/hook.ts +0 -106
  501. package/src/hooks/hashline-read-enhancer/hook.ts +0 -193
  502. package/src/hooks/hashline-read-enhancer/index.ts +0 -1
  503. package/src/hooks/index.ts +0 -56
  504. package/src/hooks/interactive-bash-session/constants.ts +0 -13
  505. package/src/hooks/interactive-bash-session/hook.ts +0 -125
  506. package/src/hooks/interactive-bash-session/index.ts +0 -3
  507. package/src/hooks/interactive-bash-session/interactive-bash-session-tracker.ts +0 -119
  508. package/src/hooks/interactive-bash-session/parser.ts +0 -118
  509. package/src/hooks/interactive-bash-session/state-manager.ts +0 -35
  510. package/src/hooks/interactive-bash-session/storage.ts +0 -59
  511. package/src/hooks/interactive-bash-session/tmux-command-parser.ts +0 -125
  512. package/src/hooks/interactive-bash-session/types.ts +0 -11
  513. package/src/hooks/json-error-recovery/hook.ts +0 -58
  514. package/src/hooks/json-error-recovery/index.ts +0 -6
  515. package/src/hooks/keyword-detector/AGENTS.md +0 -57
  516. package/src/hooks/keyword-detector/analyze/default.ts +0 -28
  517. package/src/hooks/keyword-detector/analyze/index.ts +0 -1
  518. package/src/hooks/keyword-detector/constants.ts +0 -45
  519. package/src/hooks/keyword-detector/detector.ts +0 -53
  520. package/src/hooks/keyword-detector/hook.ts +0 -143
  521. package/src/hooks/keyword-detector/index.ts +0 -5
  522. package/src/hooks/keyword-detector/search/default.ts +0 -20
  523. package/src/hooks/keyword-detector/search/index.ts +0 -1
  524. package/src/hooks/keyword-detector/types.ts +0 -4
  525. package/src/hooks/keyword-detector/ultrawork/default.ts +0 -302
  526. package/src/hooks/keyword-detector/ultrawork/gemini.ts +0 -290
  527. package/src/hooks/keyword-detector/ultrawork/gpt.ts +0 -171
  528. package/src/hooks/keyword-detector/ultrawork/index.ts +0 -56
  529. package/src/hooks/keyword-detector/ultrawork/planner.ts +0 -140
  530. package/src/hooks/keyword-detector/ultrawork/source-detector.ts +0 -65
  531. package/src/hooks/legacy-plugin-toast/auto-migrate-runner.ts +0 -2
  532. package/src/hooks/legacy-plugin-toast/auto-migrate.ts +0 -64
  533. package/src/hooks/legacy-plugin-toast/hook.ts +0 -68
  534. package/src/hooks/legacy-plugin-toast/index.ts +0 -1
  535. package/src/hooks/legacy-plugin-toast/plugin-entry-migrator.ts +0 -1
  536. package/src/hooks/model-fallback/chat-message-fallback-handler.ts +0 -74
  537. package/src/hooks/model-fallback/hook.ts +0 -201
  538. package/src/hooks/model-fallback/next-fallback.ts +0 -84
  539. package/src/hooks/non-interactive-env/constants.ts +0 -70
  540. package/src/hooks/non-interactive-env/detector.ts +0 -19
  541. package/src/hooks/non-interactive-env/index.ts +0 -5
  542. package/src/hooks/non-interactive-env/non-interactive-env-hook.ts +0 -73
  543. package/src/hooks/non-interactive-env/types.ts +0 -3
  544. package/src/hooks/preemptive-compaction-degradation-monitor.ts +0 -212
  545. package/src/hooks/preemptive-compaction-no-text-tail.ts +0 -70
  546. package/src/hooks/preemptive-compaction.ts +0 -218
  547. package/src/hooks/question-label-truncator/hook.ts +0 -62
  548. package/src/hooks/question-label-truncator/index.ts +0 -1
  549. package/src/hooks/ralph-loop/AGENTS.md +0 -62
  550. package/src/hooks/ralph-loop/command-arguments.ts +0 -30
  551. package/src/hooks/ralph-loop/completion-handler.ts +0 -65
  552. package/src/hooks/ralph-loop/completion-promise-detector-test-input.ts +0 -23
  553. package/src/hooks/ralph-loop/completion-promise-detector.ts +0 -165
  554. package/src/hooks/ralph-loop/constants.ts +0 -7
  555. package/src/hooks/ralph-loop/continuation-prompt-builder.ts +0 -77
  556. package/src/hooks/ralph-loop/continuation-prompt-injector.ts +0 -91
  557. package/src/hooks/ralph-loop/index.ts +0 -6
  558. package/src/hooks/ralph-loop/iteration-continuation.ts +0 -64
  559. package/src/hooks/ralph-loop/logician-verification-detector.ts +0 -88
  560. package/src/hooks/ralph-loop/loop-session-recovery.ts +0 -33
  561. package/src/hooks/ralph-loop/loop-state-controller.ts +0 -178
  562. package/src/hooks/ralph-loop/message-storage-directory.ts +0 -1
  563. package/src/hooks/ralph-loop/pending-verification-handler.ts +0 -152
  564. package/src/hooks/ralph-loop/ralph-loop-event-handler.ts +0 -231
  565. package/src/hooks/ralph-loop/ralph-loop-hook.ts +0 -90
  566. package/src/hooks/ralph-loop/session-event-handler.ts +0 -56
  567. package/src/hooks/ralph-loop/session-reset-strategy.ts +0 -69
  568. package/src/hooks/ralph-loop/storage.ts +0 -164
  569. package/src/hooks/ralph-loop/types.ts +0 -25
  570. package/src/hooks/ralph-loop/verification-failure-handler.ts +0 -103
  571. package/src/hooks/ralph-loop/with-timeout.ts +0 -20
  572. package/src/hooks/read-image-resizer/hook.ts +0 -209
  573. package/src/hooks/read-image-resizer/image-dimensions.ts +0 -191
  574. package/src/hooks/read-image-resizer/image-resizer.ts +0 -191
  575. package/src/hooks/read-image-resizer/index.ts +0 -1
  576. package/src/hooks/read-image-resizer/png-fallback-resizer.ts +0 -359
  577. package/src/hooks/read-image-resizer/types.ts +0 -16
  578. package/src/hooks/rules-injector/AGENTS.md +0 -53
  579. package/src/hooks/rules-injector/cache.ts +0 -27
  580. package/src/hooks/rules-injector/constants.ts +0 -31
  581. package/src/hooks/rules-injector/finder.ts +0 -3
  582. package/src/hooks/rules-injector/hook.ts +0 -94
  583. package/src/hooks/rules-injector/index.ts +0 -2
  584. package/src/hooks/rules-injector/injector.ts +0 -189
  585. package/src/hooks/rules-injector/matcher.ts +0 -63
  586. package/src/hooks/rules-injector/output-path.ts +0 -22
  587. package/src/hooks/rules-injector/parser.ts +0 -211
  588. package/src/hooks/rules-injector/project-root-finder.ts +0 -36
  589. package/src/hooks/rules-injector/rule-distance.ts +0 -53
  590. package/src/hooks/rules-injector/rule-file-finder.ts +0 -139
  591. package/src/hooks/rules-injector/rule-file-scanner.ts +0 -55
  592. package/src/hooks/rules-injector/storage.ts +0 -59
  593. package/src/hooks/rules-injector/types.ts +0 -57
  594. package/src/hooks/runtime-fallback/AGENTS.md +0 -102
  595. package/src/hooks/runtime-fallback/agent-resolver.ts +0 -50
  596. package/src/hooks/runtime-fallback/auto-retry-signal.ts +0 -32
  597. package/src/hooks/runtime-fallback/auto-retry.ts +0 -228
  598. package/src/hooks/runtime-fallback/chat-message-handler.ts +0 -62
  599. package/src/hooks/runtime-fallback/constants.ts +0 -47
  600. package/src/hooks/runtime-fallback/error-classifier.ts +0 -183
  601. package/src/hooks/runtime-fallback/event-handler.ts +0 -213
  602. package/src/hooks/runtime-fallback/fallback-bootstrap-model.ts +0 -63
  603. package/src/hooks/runtime-fallback/fallback-models.ts +0 -86
  604. package/src/hooks/runtime-fallback/fallback-retry-dispatcher.ts +0 -55
  605. package/src/hooks/runtime-fallback/fallback-state.ts +0 -74
  606. package/src/hooks/runtime-fallback/hook.ts +0 -87
  607. package/src/hooks/runtime-fallback/index.ts +0 -2
  608. package/src/hooks/runtime-fallback/last-user-retry-parts.ts +0 -20
  609. package/src/hooks/runtime-fallback/message-update-handler.ts +0 -168
  610. package/src/hooks/runtime-fallback/retry-model-payload.ts +0 -30
  611. package/src/hooks/runtime-fallback/session-messages.ts +0 -38
  612. package/src/hooks/runtime-fallback/session-status-handler.ts +0 -126
  613. package/src/hooks/runtime-fallback/types.ts +0 -77
  614. package/src/hooks/runtime-fallback/visible-assistant-response.ts +0 -80
  615. package/src/hooks/session-notification-content.ts +0 -145
  616. package/src/hooks/session-notification-formatting.ts +0 -25
  617. package/src/hooks/session-notification-scheduler.ts +0 -188
  618. package/src/hooks/session-notification-sender.ts +0 -117
  619. package/src/hooks/session-notification-utils.ts +0 -80
  620. package/src/hooks/session-notification.ts +0 -219
  621. package/src/hooks/session-recovery/AGENTS.md +0 -59
  622. package/src/hooks/session-recovery/constants.ts +0 -5
  623. package/src/hooks/session-recovery/detect-error-type.ts +0 -102
  624. package/src/hooks/session-recovery/hook.ts +0 -166
  625. package/src/hooks/session-recovery/index.ts +0 -7
  626. package/src/hooks/session-recovery/recover-empty-content-message-sdk.ts +0 -201
  627. package/src/hooks/session-recovery/recover-thinking-block-order.ts +0 -137
  628. package/src/hooks/session-recovery/recover-thinking-disabled-violation.ts +0 -75
  629. package/src/hooks/session-recovery/recover-tool-result-missing.ts +0 -108
  630. package/src/hooks/session-recovery/recover-unavailable-tool.ts +0 -108
  631. package/src/hooks/session-recovery/resume.ts +0 -49
  632. package/src/hooks/session-recovery/storage/empty-messages.ts +0 -47
  633. package/src/hooks/session-recovery/storage/empty-text.ts +0 -118
  634. package/src/hooks/session-recovery/storage/message-dir.ts +0 -1
  635. package/src/hooks/session-recovery/storage/messages-reader.ts +0 -83
  636. package/src/hooks/session-recovery/storage/orphan-thinking-search.ts +0 -43
  637. package/src/hooks/session-recovery/storage/part-content.ts +0 -28
  638. package/src/hooks/session-recovery/storage/part-id.ts +0 -5
  639. package/src/hooks/session-recovery/storage/parts-reader.ts +0 -56
  640. package/src/hooks/session-recovery/storage/text-part-injector.ts +0 -63
  641. package/src/hooks/session-recovery/storage/thinking-block-search.ts +0 -42
  642. package/src/hooks/session-recovery/storage/thinking-prepend.ts +0 -223
  643. package/src/hooks/session-recovery/storage/thinking-strip.ts +0 -67
  644. package/src/hooks/session-recovery/storage.ts +0 -34
  645. package/src/hooks/session-recovery/types.ts +0 -101
  646. package/src/hooks/session-todo-status.ts +0 -20
  647. package/src/hooks/shared/compaction-model-resolver.ts +0 -34
  648. package/src/hooks/shared/shared/compaction-model-resolver.ts +0 -34
  649. package/src/hooks/start-work/context-info-builder.ts +0 -319
  650. package/src/hooks/start-work/index.ts +0 -4
  651. package/src/hooks/start-work/parse-user-request.ts +0 -32
  652. package/src/hooks/start-work/start-work-hook.ts +0 -135
  653. package/src/hooks/start-work/worktree-block.ts +0 -11
  654. package/src/hooks/start-work/worktree-detector.ts +0 -77
  655. package/src/hooks/stop-continuation-guard/hook.ts +0 -122
  656. package/src/hooks/stop-continuation-guard/index.ts +0 -2
  657. package/src/hooks/strategist-md-only/agent-matcher.ts +0 -5
  658. package/src/hooks/strategist-md-only/agent-resolution.ts +0 -70
  659. package/src/hooks/strategist-md-only/constants.ts +0 -78
  660. package/src/hooks/strategist-md-only/hook.ts +0 -82
  661. package/src/hooks/strategist-md-only/index.ts +0 -2
  662. package/src/hooks/strategist-md-only/path-policy.ts +0 -41
  663. package/src/hooks/sub-notepad/constants.ts +0 -29
  664. package/src/hooks/sub-notepad/hook.ts +0 -44
  665. package/src/hooks/sub-notepad/index.ts +0 -3
  666. package/src/hooks/task-reminder/hook.ts +0 -59
  667. package/src/hooks/task-reminder/index.ts +0 -1
  668. package/src/hooks/task-resume-info/hook.ts +0 -39
  669. package/src/hooks/task-resume-info/index.ts +0 -1
  670. package/src/hooks/tasks-todowrite-disabler/constants.ts +0 -30
  671. package/src/hooks/tasks-todowrite-disabler/hook.ts +0 -34
  672. package/src/hooks/tasks-todowrite-disabler/index.ts +0 -2
  673. package/src/hooks/think-mode/detector.ts +0 -59
  674. package/src/hooks/think-mode/hook.ts +0 -76
  675. package/src/hooks/think-mode/index.ts +0 -5
  676. package/src/hooks/think-mode/switcher.ts +0 -100
  677. package/src/hooks/think-mode/types.ts +0 -16
  678. package/src/hooks/thinking-block-validator/hook.ts +0 -181
  679. package/src/hooks/thinking-block-validator/index.ts +0 -1
  680. package/src/hooks/todo-continuation-enforcer/AGENTS.md +0 -65
  681. package/src/hooks/todo-continuation-enforcer/abort-detection.ts +0 -17
  682. package/src/hooks/todo-continuation-enforcer/compaction-guard.ts +0 -39
  683. package/src/hooks/todo-continuation-enforcer/constants.ts +0 -25
  684. package/src/hooks/todo-continuation-enforcer/continuation-injection.ts +0 -222
  685. package/src/hooks/todo-continuation-enforcer/countdown.ts +0 -86
  686. package/src/hooks/todo-continuation-enforcer/handler.ts +0 -99
  687. package/src/hooks/todo-continuation-enforcer/idle-event.ts +0 -225
  688. package/src/hooks/todo-continuation-enforcer/index.ts +0 -59
  689. package/src/hooks/todo-continuation-enforcer/message-directory.ts +0 -1
  690. package/src/hooks/todo-continuation-enforcer/non-idle-events.ts +0 -107
  691. package/src/hooks/todo-continuation-enforcer/pending-question-detection.ts +0 -40
  692. package/src/hooks/todo-continuation-enforcer/resolve-message-info.ts +0 -48
  693. package/src/hooks/todo-continuation-enforcer/session-state.ts +0 -283
  694. package/src/hooks/todo-continuation-enforcer/stagnation-detection.ts +0 -36
  695. package/src/hooks/todo-continuation-enforcer/todo.ts +0 -11
  696. package/src/hooks/todo-continuation-enforcer/token-limit-detection.ts +0 -38
  697. package/src/hooks/todo-continuation-enforcer/types.ts +0 -74
  698. package/src/hooks/todo-description-override/description.ts +0 -28
  699. package/src/hooks/todo-description-override/hook.ts +0 -14
  700. package/src/hooks/todo-description-override/index.ts +0 -1
  701. package/src/hooks/tool-output-truncator.ts +0 -66
  702. package/src/hooks/tool-pair-validator/hook.ts +0 -184
  703. package/src/hooks/tool-pair-validator/index.ts +0 -1
  704. package/src/hooks/unstable-agent-babysitter/index.ts +0 -9
  705. package/src/hooks/unstable-agent-babysitter/task-message-analyzer.ts +0 -110
  706. package/src/hooks/unstable-agent-babysitter/unstable-agent-babysitter-hook.ts +0 -238
  707. package/src/hooks/webfetch-redirect-guard/constants.ts +0 -11
  708. package/src/hooks/webfetch-redirect-guard/hook.ts +0 -123
  709. package/src/hooks/webfetch-redirect-guard/index.ts +0 -1
  710. package/src/hooks/webfetch-redirect-guard/redirect-resolution.ts +0 -89
  711. package/src/hooks/write-existing-file-guard/hook.ts +0 -108
  712. package/src/hooks/write-existing-file-guard/index.ts +0 -1
  713. package/src/hooks/write-existing-file-guard/session-read-permissions.ts +0 -36
  714. package/src/hooks/write-existing-file-guard/tool-execute-before-handler.ts +0 -176
  715. package/src/index.ts +0 -254
  716. package/src/internals/plugins/pty/LICENSE +0 -21
  717. package/src/internals/plugins/pty/constants.ts +0 -7
  718. package/src/internals/plugins/pty/plugin.ts +0 -28
  719. package/src/internals/plugins/pty/pty/buffer.ts +0 -75
  720. package/src/internals/plugins/pty/pty/formatters.ts +0 -22
  721. package/src/internals/plugins/pty/pty/manager.ts +0 -175
  722. package/src/internals/plugins/pty/pty/notification-manager.ts +0 -75
  723. package/src/internals/plugins/pty/pty/output-manager.ts +0 -29
  724. package/src/internals/plugins/pty/pty/permissions.ts +0 -115
  725. package/src/internals/plugins/pty/pty/session-lifecycle.ts +0 -161
  726. package/src/internals/plugins/pty/pty/tools/kill.ts +0 -41
  727. package/src/internals/plugins/pty/pty/tools/kill.txt +0 -25
  728. package/src/internals/plugins/pty/pty/tools/list.ts +0 -25
  729. package/src/internals/plugins/pty/pty/tools/list.txt +0 -22
  730. package/src/internals/plugins/pty/pty/tools/read.ts +0 -234
  731. package/src/internals/plugins/pty/pty/tools/read.txt +0 -39
  732. package/src/internals/plugins/pty/pty/tools/spawn.ts +0 -71
  733. package/src/internals/plugins/pty/pty/tools/spawn.txt +0 -47
  734. package/src/internals/plugins/pty/pty/tools/write.ts +0 -96
  735. package/src/internals/plugins/pty/pty/tools/write.txt +0 -28
  736. package/src/internals/plugins/pty/pty/types.ts +0 -67
  737. package/src/internals/plugins/pty/pty/utils.ts +0 -21
  738. package/src/internals/plugins/pty/pty/wildcard.ts +0 -62
  739. package/src/internals/plugins/pty/shared/constants.ts +0 -7
  740. package/src/internals/plugins/pty/types.ts +0 -7
  741. package/src/internals/plugins/subtask2/LICENSE +0 -128
  742. package/src/internals/plugins/subtask2/commands/index.ts +0 -7
  743. package/src/internals/plugins/subtask2/commands/loader.ts +0 -39
  744. package/src/internals/plugins/subtask2/commands/manifest.ts +0 -60
  745. package/src/internals/plugins/subtask2/commands/resolver.ts +0 -28
  746. package/src/internals/plugins/subtask2/core/plugin.ts +0 -52
  747. package/src/internals/plugins/subtask2/core/state.ts +0 -764
  748. package/src/internals/plugins/subtask2/features/auto.ts +0 -57
  749. package/src/internals/plugins/subtask2/features/index.ts +0 -9
  750. package/src/internals/plugins/subtask2/features/inline-subtasks.ts +0 -205
  751. package/src/internals/plugins/subtask2/features/parallel.ts +0 -148
  752. package/src/internals/plugins/subtask2/features/results.ts +0 -48
  753. package/src/internals/plugins/subtask2/features/returns.ts +0 -273
  754. package/src/internals/plugins/subtask2/features/turns.ts +0 -190
  755. package/src/internals/plugins/subtask2/hooks/command-hooks.ts +0 -283
  756. package/src/internals/plugins/subtask2/hooks/message-hooks.ts +0 -603
  757. package/src/internals/plugins/subtask2/hooks/session-idle-hook.ts +0 -358
  758. package/src/internals/plugins/subtask2/hooks/tool-hooks.ts +0 -309
  759. package/src/internals/plugins/subtask2/loop.ts +0 -122
  760. package/src/internals/plugins/subtask2/parsing/auto.ts +0 -33
  761. package/src/internals/plugins/subtask2/parsing/commands.ts +0 -154
  762. package/src/internals/plugins/subtask2/parsing/frontmatter.ts +0 -20
  763. package/src/internals/plugins/subtask2/parsing/index.ts +0 -10
  764. package/src/internals/plugins/subtask2/parsing/overrides.ts +0 -68
  765. package/src/internals/plugins/subtask2/parsing/parallel.ts +0 -91
  766. package/src/internals/plugins/subtask2/parsing/turns.ts +0 -78
  767. package/src/internals/plugins/subtask2/types.ts +0 -41
  768. package/src/internals/plugins/subtask2/utils/config.ts +0 -100
  769. package/src/internals/plugins/subtask2/utils/index.ts +0 -7
  770. package/src/internals/plugins/subtask2/utils/logger.ts +0 -67
  771. package/src/internals/plugins/subtask2/utils/prompts.ts +0 -117
  772. package/src/lsp/index.ts +0 -16
  773. package/src/mcp/context7.ts +0 -9
  774. package/src/mcp/index.ts +0 -53
  775. package/src/mcp/registry.ts +0 -164
  776. package/src/mcp/types.ts +0 -19
  777. package/src/permissions/index.ts +0 -25
  778. package/src/plugin/AGENTS.md +0 -54
  779. package/src/plugin/available-categories.ts +0 -24
  780. package/src/plugin/chat-headers.ts +0 -141
  781. package/src/plugin/chat-message.ts +0 -307
  782. package/src/plugin/chat-params.ts +0 -182
  783. package/src/plugin/command-execute-before.ts +0 -80
  784. package/src/plugin/event.ts +0 -639
  785. package/src/plugin/hooks/create-continuation-hooks.ts +0 -128
  786. package/src/plugin/hooks/create-core-hooks.ts +0 -47
  787. package/src/plugin/hooks/create-session-hooks.ts +0 -269
  788. package/src/plugin/hooks/create-skill-hooks.ts +0 -50
  789. package/src/plugin/hooks/create-tool-guard-hooks.ts +0 -159
  790. package/src/plugin/hooks/create-transform-hooks.ts +0 -85
  791. package/src/plugin/messages-transform.ts +0 -28
  792. package/src/plugin/normalize-tool-arg-schemas.ts +0 -75
  793. package/src/plugin/recent-synthetic-idles.ts +0 -20
  794. package/src/plugin/session-agent-resolver.ts +0 -37
  795. package/src/plugin/session-status-normalizer.ts +0 -22
  796. package/src/plugin/skill-context.ts +0 -150
  797. package/src/plugin/skill-discovery-config.ts +0 -32
  798. package/src/plugin/startup-diagnostics.ts +0 -27
  799. package/src/plugin/system-transform.ts +0 -6
  800. package/src/plugin/tool-execute-after.ts +0 -178
  801. package/src/plugin/tool-execute-before.ts +0 -222
  802. package/src/plugin/tool-registry.ts +0 -286
  803. package/src/plugin/types.ts +0 -26
  804. package/src/plugin/ultrawork-db-model-override.ts +0 -142
  805. package/src/plugin/ultrawork-model-override.ts +0 -196
  806. package/src/plugin/ultrawork-variant-availability.ts +0 -51
  807. package/src/plugin/unstable-agent-babysitter.ts +0 -41
  808. package/src/plugin-config.ts +0 -314
  809. package/src/plugin-dispose.ts +0 -51
  810. package/src/plugin-handlers/AGENTS.md +0 -92
  811. package/src/plugin-handlers/agent-config-handler.ts +0 -510
  812. package/src/plugin-handlers/agent-key-remapper.ts +0 -39
  813. package/src/plugin-handlers/agent-override-protection.ts +0 -38
  814. package/src/plugin-handlers/agent-priority-order.ts +0 -63
  815. package/src/plugin-handlers/category-config-resolver.ts +0 -9
  816. package/src/plugin-handlers/command-config-handler.ts +0 -115
  817. package/src/plugin-handlers/config-handler.ts +0 -61
  818. package/src/plugin-handlers/index.ts +0 -10
  819. package/src/plugin-handlers/mcp-config-handler.test.ts +0 -63
  820. package/src/plugin-handlers/mcp-config-handler.ts +0 -220
  821. package/src/plugin-handlers/plan-model-inheritance.ts +0 -27
  822. package/src/plugin-handlers/plugin-components-loader.ts +0 -70
  823. package/src/plugin-handlers/provider-config-handler.ts +0 -73
  824. package/src/plugin-handlers/strategist-agent-config-builder.ts +0 -128
  825. package/src/plugin-handlers/tool-config-handler.ts +0 -193
  826. package/src/plugin-interface.ts +0 -83
  827. package/src/plugin-state.ts +0 -18
  828. package/src/shared/AGENTS.md +0 -54
  829. package/src/shared/agent-display-names.test.ts +0 -9
  830. package/src/shared/agent-display-names.ts +0 -187
  831. package/src/shared/agent-tool-restrictions.ts +0 -80
  832. package/src/shared/agent-variant.ts +0 -101
  833. package/src/shared/agents-config-dir.ts +0 -23
  834. package/src/shared/archive-entry-validator.ts +0 -83
  835. package/src/shared/background-output-consumption.ts +0 -69
  836. package/src/shared/binary-downloader.ts +0 -127
  837. package/src/shared/claude-config-dir.ts +0 -16
  838. package/src/shared/closure-protocol.ts +0 -53
  839. package/src/shared/command-executor/embedded-commands.ts +0 -26
  840. package/src/shared/command-executor/execute-command.ts +0 -28
  841. package/src/shared/command-executor/execute-hook-command.ts +0 -129
  842. package/src/shared/command-executor/home-directory.ts +0 -5
  843. package/src/shared/command-executor/resolve-commands-in-text.ts +0 -49
  844. package/src/shared/command-executor/shell-path.ts +0 -27
  845. package/src/shared/command-executor.ts +0 -5
  846. package/src/shared/compaction-agent-config-checkpoint.ts +0 -42
  847. package/src/shared/compaction-marker.ts +0 -61
  848. package/src/shared/config-errors.ts +0 -18
  849. package/src/shared/connected-providers-cache.ts +0 -215
  850. package/src/shared/contains-path.ts +0 -50
  851. package/src/shared/context-limit-resolver.ts +0 -42
  852. package/src/shared/data-path.ts +0 -64
  853. package/src/shared/deep-merge.ts +0 -53
  854. package/src/shared/disabled-tools.ts +0 -19
  855. package/src/shared/dynamic-truncator.ts +0 -222
  856. package/src/shared/external-plugin-detector.ts +0 -139
  857. package/src/shared/fallback-chain-from-models.ts +0 -124
  858. package/src/shared/fallback-model-availability.ts +0 -102
  859. package/src/shared/file-reference-resolver.ts +0 -99
  860. package/src/shared/file-utils.ts +0 -34
  861. package/src/shared/first-message-variant.ts +0 -28
  862. package/src/shared/frontmatter.ts +0 -31
  863. package/src/shared/git-worktree/collect-git-diff-stats.ts +0 -56
  864. package/src/shared/git-worktree/format-file-changes.ts +0 -46
  865. package/src/shared/git-worktree/index.ts +0 -7
  866. package/src/shared/git-worktree/parse-diff-numstat.ts +0 -27
  867. package/src/shared/git-worktree/parse-status-porcelain-line.ts +0 -27
  868. package/src/shared/git-worktree/parse-status-porcelain.ts +0 -15
  869. package/src/shared/git-worktree/types.ts +0 -8
  870. package/src/shared/hook-disabled.ts +0 -22
  871. package/src/shared/index.ts +0 -80
  872. package/src/shared/internal-initiator-marker.ts +0 -18
  873. package/src/shared/is-abort-error.ts +0 -20
  874. package/src/shared/json-file-cache-store.ts +0 -98
  875. package/src/shared/jsonc-parser.ts +0 -98
  876. package/src/shared/known-variants.ts +0 -16
  877. package/src/shared/legacy-plugin-warning.ts +0 -68
  878. package/src/shared/load-opencode-plugins.ts +0 -60
  879. package/src/shared/log-legacy-plugin-startup-warning.ts +0 -44
  880. package/src/shared/logger.ts +0 -56
  881. package/src/shared/mcp-static-export.ts +0 -119
  882. package/src/shared/merge-categories.ts +0 -18
  883. package/src/shared/migrate-legacy-config-file.ts +0 -66
  884. package/src/shared/migrate-legacy-plugin-entry.ts +0 -75
  885. package/src/shared/migration/agent-category.ts +0 -60
  886. package/src/shared/migration/agent-names.ts +0 -108
  887. package/src/shared/migration/config-migration.ts +0 -210
  888. package/src/shared/migration/hook-names.ts +0 -40
  889. package/src/shared/migration/migrations-sidecar.ts +0 -92
  890. package/src/shared/migration/model-versions.ts +0 -50
  891. package/src/shared/migration.ts +0 -5
  892. package/src/shared/mode-routing.test.ts +0 -88
  893. package/src/shared/mode-routing.ts +0 -30
  894. package/src/shared/model-availability.ts +0 -294
  895. package/src/shared/model-capabilities/bundled-snapshot.ts +0 -15
  896. package/src/shared/model-capabilities/get-model-capabilities.ts +0 -140
  897. package/src/shared/model-capabilities/index.ts +0 -9
  898. package/src/shared/model-capabilities/runtime-model-readers.ts +0 -190
  899. package/src/shared/model-capabilities/types.ts +0 -80
  900. package/src/shared/model-capabilities-cache.ts +0 -213
  901. package/src/shared/model-capability-aliases.ts +0 -108
  902. package/src/shared/model-capability-guardrails.ts +0 -149
  903. package/src/shared/model-capability-heuristics.ts +0 -32
  904. package/src/shared/model-error-classifier.ts +0 -214
  905. package/src/shared/model-format-normalizer.ts +0 -20
  906. package/src/shared/model-normalization.ts +0 -8
  907. package/src/shared/model-requirements.ts +0 -26
  908. package/src/shared/model-resolution-pipeline.ts +0 -216
  909. package/src/shared/model-resolution-types.ts +0 -41
  910. package/src/shared/model-resolver.ts +0 -106
  911. package/src/shared/model-sanitizer.ts +0 -12
  912. package/src/shared/model-settings-compatibility.ts +0 -200
  913. package/src/shared/model-suggestion-retry.ts +0 -182
  914. package/src/shared/normalize-sdk-response.ts +0 -36
  915. package/src/shared/opencode-command-dirs.ts +0 -36
  916. package/src/shared/opencode-config-dir-types.ts +0 -15
  917. package/src/shared/opencode-config-dir.ts +0 -135
  918. package/src/shared/opencode-http-api.ts +0 -140
  919. package/src/shared/opencode-message-dir.ts +0 -29
  920. package/src/shared/opencode-server-auth.ts +0 -190
  921. package/src/shared/opencode-storage-detection.ts +0 -34
  922. package/src/shared/opencode-storage-paths.ts +0 -7
  923. package/src/shared/opencode-version.ts +0 -80
  924. package/src/shared/parse-tools-config.ts +0 -25
  925. package/src/shared/pattern-matcher.ts +0 -46
  926. package/src/shared/permission-compat.ts +0 -86
  927. package/src/shared/plugin-command-discovery.ts +0 -28
  928. package/src/shared/plugin-entry-migrator.ts +0 -21
  929. package/src/shared/plugin-identity.ts +0 -8
  930. package/src/shared/port-utils.ts +0 -48
  931. package/src/shared/project-discovery-dirs.ts +0 -101
  932. package/src/shared/prompt-timeout-context.ts +0 -49
  933. package/src/shared/prompt-tools.ts +0 -35
  934. package/src/shared/provider-model-id-transform.ts +0 -58
  935. package/src/shared/question-denied-session-permission.ts +0 -9
  936. package/src/shared/record-type-guard.ts +0 -3
  937. package/src/shared/resolve-agent-definition-paths.ts +0 -22
  938. package/src/shared/retry-status-utils.ts +0 -19
  939. package/src/shared/runtime-plugin-config.ts +0 -98
  940. package/src/shared/safe-create-hook.ts +0 -24
  941. package/src/shared/session-category-registry.ts +0 -27
  942. package/src/shared/session-cursor.ts +0 -108
  943. package/src/shared/session-directory-resolver.ts +0 -41
  944. package/src/shared/session-injected-paths.ts +0 -59
  945. package/src/shared/session-model-state.ts +0 -15
  946. package/src/shared/session-prompt-params-helpers.ts +0 -31
  947. package/src/shared/session-prompt-params-state.ts +0 -37
  948. package/src/shared/session-tools-store.ts +0 -18
  949. package/src/shared/session-utils.ts +0 -25
  950. package/src/shared/shell-env.ts +0 -175
  951. package/src/shared/skill-path-resolver.ts +0 -26
  952. package/src/shared/snake-case.ts +0 -44
  953. package/src/shared/spawn-with-windows-hide.ts +0 -84
  954. package/src/shared/startup-diagnostics.ts +0 -76
  955. package/src/shared/system-directive.ts +0 -67
  956. package/src/shared/task-system-enabled.ts +0 -9
  957. package/src/shared/tmux/constants.ts +0 -12
  958. package/src/shared/tmux/index.ts +0 -3
  959. package/src/shared/tmux/tmux-utils/environment.ts +0 -13
  960. package/src/shared/tmux/tmux-utils/layout.ts +0 -96
  961. package/src/shared/tmux/tmux-utils/pane-close.ts +0 -48
  962. package/src/shared/tmux/tmux-utils/pane-dimensions.ts +0 -28
  963. package/src/shared/tmux/tmux-utils/pane-replace.ts +0 -73
  964. package/src/shared/tmux/tmux-utils/pane-spawn.ts +0 -94
  965. package/src/shared/tmux/tmux-utils/server-health.ts +0 -62
  966. package/src/shared/tmux/tmux-utils/session-spawn.ts +0 -145
  967. package/src/shared/tmux/tmux-utils/window-spawn.ts +0 -93
  968. package/src/shared/tmux/tmux-utils.ts +0 -15
  969. package/src/shared/tmux/types.ts +0 -4
  970. package/src/shared/tool-name.ts +0 -27
  971. package/src/shared/truncate-description.ts +0 -11
  972. package/src/shared/vision-capable-models-cache.ts +0 -17
  973. package/src/shared/write-file-atomically.ts +0 -31
  974. package/src/shared/zip-entry-listing/powershell-zip-entry-listing.ts +0 -99
  975. package/src/shared/zip-entry-listing/python-zip-entry-listing.ts +0 -55
  976. package/src/shared/zip-entry-listing/read-zip-symlink-target.ts +0 -23
  977. package/src/shared/zip-entry-listing/tar-zip-entry-listing.ts +0 -93
  978. package/src/shared/zip-entry-listing/zipinfo-zip-entry-listing.ts +0 -72
  979. package/src/shared/zip-entry-listing.ts +0 -13
  980. package/src/shared/zip-extractor.ts +0 -118
  981. package/src/skills/index.ts +0 -56
  982. package/src/testing/module-mock-lifecycle.ts +0 -143
  983. package/src/tools/AGENTS.md +0 -108
  984. package/src/tools/ast-grep/cli-binary-path-resolution.ts +0 -60
  985. package/src/tools/ast-grep/cli.ts +0 -177
  986. package/src/tools/ast-grep/constants.ts +0 -5
  987. package/src/tools/ast-grep/downloader.ts +0 -119
  988. package/src/tools/ast-grep/environment-check.ts +0 -59
  989. package/src/tools/ast-grep/index.ts +0 -5
  990. package/src/tools/ast-grep/language-support.ts +0 -60
  991. package/src/tools/ast-grep/process-output-timeout.ts +0 -28
  992. package/src/tools/ast-grep/result-formatter.ts +0 -102
  993. package/src/tools/ast-grep/sg-cli-path.ts +0 -102
  994. package/src/tools/ast-grep/sg-compact-json-output.ts +0 -54
  995. package/src/tools/ast-grep/tools.ts +0 -117
  996. package/src/tools/ast-grep/types.ts +0 -60
  997. package/src/tools/background-task/AGENTS.md +0 -53
  998. package/src/tools/background-task/clients.ts +0 -32
  999. package/src/tools/background-task/constants.ts +0 -9
  1000. package/src/tools/background-task/create-background-cancel.ts +0 -115
  1001. package/src/tools/background-task/create-background-output.ts +0 -159
  1002. package/src/tools/background-task/create-background-task.ts +0 -126
  1003. package/src/tools/background-task/delay.ts +0 -3
  1004. package/src/tools/background-task/full-session-format.ts +0 -148
  1005. package/src/tools/background-task/index.ts +0 -8
  1006. package/src/tools/background-task/message-dir.ts +0 -1
  1007. package/src/tools/background-task/session-messages.ts +0 -22
  1008. package/src/tools/background-task/task-result-format.ts +0 -113
  1009. package/src/tools/background-task/task-status-format.ts +0 -72
  1010. package/src/tools/background-task/time-format.ts +0 -30
  1011. package/src/tools/background-task/tools.ts +0 -11
  1012. package/src/tools/background-task/truncate-text.ts +0 -4
  1013. package/src/tools/background-task/types.ts +0 -72
  1014. package/src/tools/call-omo-agent/AGENTS.md +0 -51
  1015. package/src/tools/call-omo-agent/agent-resolver.ts +0 -64
  1016. package/src/tools/call-omo-agent/background-agent-executor.ts +0 -91
  1017. package/src/tools/call-omo-agent/background-executor.ts +0 -98
  1018. package/src/tools/call-omo-agent/completion-poller.ts +0 -65
  1019. package/src/tools/call-omo-agent/constants.ts +0 -23
  1020. package/src/tools/call-omo-agent/index.ts +0 -3
  1021. package/src/tools/call-omo-agent/message-dir.ts +0 -1
  1022. package/src/tools/call-omo-agent/message-processor.ts +0 -86
  1023. package/src/tools/call-omo-agent/message-storage-directory.ts +0 -1
  1024. package/src/tools/call-omo-agent/session-creator.ts +0 -70
  1025. package/src/tools/call-omo-agent/subagent-session-creator.ts +0 -74
  1026. package/src/tools/call-omo-agent/sync-executor.ts +0 -148
  1027. package/src/tools/call-omo-agent/tool-context-with-metadata.ts +0 -10
  1028. package/src/tools/call-omo-agent/tools.ts +0 -199
  1029. package/src/tools/call-omo-agent/types.ts +0 -34
  1030. package/src/tools/delegate-task/AGENTS.md +0 -58
  1031. package/src/tools/delegate-task/anthropic-categories.ts +0 -62
  1032. package/src/tools/delegate-task/available-models.ts +0 -64
  1033. package/src/tools/delegate-task/background-continuation.ts +0 -68
  1034. package/src/tools/delegate-task/background-task.ts +0 -165
  1035. package/src/tools/delegate-task/builtin-categories.ts +0 -35
  1036. package/src/tools/delegate-task/builtin-category-definition.ts +0 -8
  1037. package/src/tools/delegate-task/cancel-unstable-agent-task.ts +0 -19
  1038. package/src/tools/delegate-task/categories.test.ts +0 -87
  1039. package/src/tools/delegate-task/categories.ts +0 -77
  1040. package/src/tools/delegate-task/category-resolver.ts +0 -309
  1041. package/src/tools/delegate-task/constants.ts +0 -351
  1042. package/src/tools/delegate-task/delegated-model-config.ts +0 -20
  1043. package/src/tools/delegate-task/error-formatting.ts +0 -51
  1044. package/src/tools/delegate-task/executor-types.ts +0 -39
  1045. package/src/tools/delegate-task/executor.ts +0 -16
  1046. package/src/tools/delegate-task/fallback-entry-resolution.ts +0 -27
  1047. package/src/tools/delegate-task/fallback-entry-settings.ts +0 -20
  1048. package/src/tools/delegate-task/git-categories.ts +0 -30
  1049. package/src/tools/delegate-task/google-categories.ts +0 -130
  1050. package/src/tools/delegate-task/index.ts +0 -4
  1051. package/src/tools/delegate-task/kimi-categories.ts +0 -40
  1052. package/src/tools/delegate-task/model-selection.ts +0 -201
  1053. package/src/tools/delegate-task/model-string-parser.test.ts +0 -90
  1054. package/src/tools/delegate-task/model-string-parser.ts +0 -63
  1055. package/src/tools/delegate-task/openai-categories.ts +0 -132
  1056. package/src/tools/delegate-task/parent-context-resolver.ts +0 -47
  1057. package/src/tools/delegate-task/prompt-builder.ts +0 -107
  1058. package/src/tools/delegate-task/resolve-call-id.ts +0 -5
  1059. package/src/tools/delegate-task/skill-resolver.ts +0 -22
  1060. package/src/tools/delegate-task/sub-agent.ts +0 -80
  1061. package/src/tools/delegate-task/subagent-discovery.test.ts +0 -123
  1062. package/src/tools/delegate-task/subagent-discovery.ts +0 -152
  1063. package/src/tools/delegate-task/subagent-resolver.ts +0 -242
  1064. package/src/tools/delegate-task/sync-continuation-deps.ts +0 -9
  1065. package/src/tools/delegate-task/sync-continuation.ts +0 -149
  1066. package/src/tools/delegate-task/sync-prompt-sender.ts +0 -137
  1067. package/src/tools/delegate-task/sync-result-fetcher.ts +0 -60
  1068. package/src/tools/delegate-task/sync-session-creator.ts +0 -29
  1069. package/src/tools/delegate-task/sync-session-poller.ts +0 -188
  1070. package/src/tools/delegate-task/sync-task-deps.ts +0 -13
  1071. package/src/tools/delegate-task/sync-task-fallback.ts +0 -68
  1072. package/src/tools/delegate-task/sync-task.ts +0 -243
  1073. package/src/tools/delegate-task/time-formatter.ts +0 -13
  1074. package/src/tools/delegate-task/timing.ts +0 -46
  1075. package/src/tools/delegate-task/token-limiter.ts +0 -123
  1076. package/src/tools/delegate-task/tools.ts +0 -259
  1077. package/src/tools/delegate-task/types.ts +0 -89
  1078. package/src/tools/delegate-task/unstable-agent-task.ts +0 -243
  1079. package/src/tools/glob/cli.ts +0 -206
  1080. package/src/tools/glob/constants.ts +0 -12
  1081. package/src/tools/glob/index.ts +0 -1
  1082. package/src/tools/glob/result-formatter.ts +0 -26
  1083. package/src/tools/glob/tools.ts +0 -49
  1084. package/src/tools/glob/types.ts +0 -23
  1085. package/src/tools/grep/cli.ts +0 -279
  1086. package/src/tools/grep/constants.ts +0 -141
  1087. package/src/tools/grep/downloader.ts +0 -128
  1088. package/src/tools/grep/index.ts +0 -1
  1089. package/src/tools/grep/result-formatter.ts +0 -60
  1090. package/src/tools/grep/tools.ts +0 -75
  1091. package/src/tools/grep/types.ts +0 -42
  1092. package/src/tools/hashline-edit/AGENTS.md +0 -92
  1093. package/src/tools/hashline-edit/autocorrect-replacement-lines.ts +0 -179
  1094. package/src/tools/hashline-edit/constants.ts +0 -10
  1095. package/src/tools/hashline-edit/diff-utils.ts +0 -53
  1096. package/src/tools/hashline-edit/edit-deduplication.ts +0 -43
  1097. package/src/tools/hashline-edit/edit-operation-primitives.ts +0 -126
  1098. package/src/tools/hashline-edit/edit-operations.ts +0 -103
  1099. package/src/tools/hashline-edit/edit-ordering.ts +0 -56
  1100. package/src/tools/hashline-edit/edit-text-normalization.ts +0 -111
  1101. package/src/tools/hashline-edit/file-text-canonicalization.ts +0 -44
  1102. package/src/tools/hashline-edit/formatter-trigger.ts +0 -132
  1103. package/src/tools/hashline-edit/hash-computation.ts +0 -154
  1104. package/src/tools/hashline-edit/hashline-chunk-formatter.ts +0 -52
  1105. package/src/tools/hashline-edit/hashline-edit-diff.ts +0 -31
  1106. package/src/tools/hashline-edit/hashline-edit-executor.ts +0 -197
  1107. package/src/tools/hashline-edit/index.ts +0 -20
  1108. package/src/tools/hashline-edit/normalize-edits.ts +0 -95
  1109. package/src/tools/hashline-edit/tool-description.ts +0 -95
  1110. package/src/tools/hashline-edit/tools.ts +0 -42
  1111. package/src/tools/hashline-edit/types.ts +0 -20
  1112. package/src/tools/hashline-edit/validation.ts +0 -181
  1113. package/src/tools/index.ts +0 -64
  1114. package/src/tools/interactive-bash/constants.ts +0 -18
  1115. package/src/tools/interactive-bash/index.ts +0 -4
  1116. package/src/tools/interactive-bash/tmux-path-resolver.ts +0 -71
  1117. package/src/tools/interactive-bash/tools.ts +0 -136
  1118. package/src/tools/look-at/assistant-message-extractor.ts +0 -67
  1119. package/src/tools/look-at/constants.ts +0 -3
  1120. package/src/tools/look-at/image-converter.ts +0 -164
  1121. package/src/tools/look-at/index.ts +0 -3
  1122. package/src/tools/look-at/look-at-arguments.ts +0 -34
  1123. package/src/tools/look-at/mime-type-inference.ts +0 -94
  1124. package/src/tools/look-at/multimodal-agent-metadata.ts +0 -166
  1125. package/src/tools/look-at/multimodal-fallback-chain.ts +0 -66
  1126. package/src/tools/look-at/session-poller.ts +0 -42
  1127. package/src/tools/look-at/tools.ts +0 -245
  1128. package/src/tools/look-at/types.ts +0 -5
  1129. package/src/tools/lsp/AGENTS.md +0 -70
  1130. package/src/tools/lsp/client.ts +0 -3
  1131. package/src/tools/lsp/config.ts +0 -3
  1132. package/src/tools/lsp/constants.ts +0 -7
  1133. package/src/tools/lsp/diagnostics-tool.ts +0 -75
  1134. package/src/tools/lsp/directory-diagnostics.ts +0 -163
  1135. package/src/tools/lsp/find-references-tool.ts +0 -43
  1136. package/src/tools/lsp/goto-definition-tool.ts +0 -42
  1137. package/src/tools/lsp/index.ts +0 -9
  1138. package/src/tools/lsp/infer-extension.ts +0 -65
  1139. package/src/tools/lsp/language-config.ts +0 -5
  1140. package/src/tools/lsp/language-mappings.ts +0 -171
  1141. package/src/tools/lsp/lsp-client-connection.ts +0 -66
  1142. package/src/tools/lsp/lsp-client-transport.ts +0 -210
  1143. package/src/tools/lsp/lsp-client-wrapper.ts +0 -116
  1144. package/src/tools/lsp/lsp-client.ts +0 -129
  1145. package/src/tools/lsp/lsp-formatters.ts +0 -193
  1146. package/src/tools/lsp/lsp-manager-process-cleanup.ts +0 -83
  1147. package/src/tools/lsp/lsp-manager-temp-directory-cleanup.ts +0 -29
  1148. package/src/tools/lsp/lsp-process.ts +0 -158
  1149. package/src/tools/lsp/lsp-server.ts +0 -217
  1150. package/src/tools/lsp/rename-tools.ts +0 -53
  1151. package/src/tools/lsp/server-config-loader.ts +0 -116
  1152. package/src/tools/lsp/server-definitions.ts +0 -91
  1153. package/src/tools/lsp/server-installation.ts +0 -58
  1154. package/src/tools/lsp/server-path-bases.ts +0 -16
  1155. package/src/tools/lsp/server-resolution.ts +0 -109
  1156. package/src/tools/lsp/symbols-tool.ts +0 -76
  1157. package/src/tools/lsp/tools.ts +0 -5
  1158. package/src/tools/lsp/types.ts +0 -124
  1159. package/src/tools/lsp/workspace-edit.ts +0 -121
  1160. package/src/tools/session-manager/constants.ts +0 -93
  1161. package/src/tools/session-manager/file-storage.ts +0 -203
  1162. package/src/tools/session-manager/index.ts +0 -3
  1163. package/src/tools/session-manager/sdk-storage.ts +0 -135
  1164. package/src/tools/session-manager/sdk-unavailable.ts +0 -43
  1165. package/src/tools/session-manager/session-formatter.ts +0 -199
  1166. package/src/tools/session-manager/storage.ts +0 -161
  1167. package/src/tools/session-manager/tools.ts +0 -197
  1168. package/src/tools/session-manager/types.ts +0 -99
  1169. package/src/tools/shared/semaphore.ts +0 -32
  1170. package/src/tools/skill/constants.ts +0 -14
  1171. package/src/tools/skill/description-formatter.ts +0 -61
  1172. package/src/tools/skill/index.ts +0 -3
  1173. package/src/tools/skill/mcp-capability-formatter.ts +0 -97
  1174. package/src/tools/skill/native-skills.ts +0 -62
  1175. package/src/tools/skill/scope-priority.ts +0 -17
  1176. package/src/tools/skill/skill-body.ts +0 -26
  1177. package/src/tools/skill/skill-matcher.ts +0 -40
  1178. package/src/tools/skill/tools.ts +0 -196
  1179. package/src/tools/skill/types.ts +0 -48
  1180. package/src/tools/skill-mcp/constants.ts +0 -9
  1181. package/src/tools/skill-mcp/index.ts +0 -3
  1182. package/src/tools/skill-mcp/tools.test.ts +0 -44
  1183. package/src/tools/skill-mcp/tools.ts +0 -242
  1184. package/src/tools/skill-mcp/types.ts +0 -8
  1185. package/src/tools/slashcommand/command-discovery.ts +0 -161
  1186. package/src/tools/slashcommand/command-output-formatter.ts +0 -75
  1187. package/src/tools/slashcommand/index.ts +0 -2
  1188. package/src/tools/slashcommand/types.ts +0 -21
  1189. package/src/tools/task/index.ts +0 -7
  1190. package/src/tools/task/task-create.ts +0 -113
  1191. package/src/tools/task/task-get.ts +0 -47
  1192. package/src/tools/task/task-list.ts +0 -79
  1193. package/src/tools/task/task-update.ts +0 -152
  1194. package/src/tools/task/todo-sync.ts +0 -205
  1195. package/src/tools/task/types.ts +0 -77
@@ -1,79 +0,0 @@
1
- export interface StepUpInfo {
2
- requiredScopes: string[]
3
- error?: string
4
- errorDescription?: string
5
- }
6
-
7
- export function parseWwwAuthenticate(header: string): StepUpInfo | null {
8
- const trimmed = header.trim()
9
- const lowerHeader = trimmed.toLowerCase()
10
- const bearerIndex = lowerHeader.indexOf("bearer")
11
- if (bearerIndex === -1) {
12
- return null
13
- }
14
-
15
- const params = trimmed.slice(bearerIndex + "bearer".length).trim()
16
- if (params.length === 0) {
17
- return null
18
- }
19
-
20
- const scope = extractParam(params, "scope")
21
- if (scope === null) {
22
- return null
23
- }
24
-
25
- const requiredScopes = scope
26
- .split(/\s+/)
27
- .filter((s) => s.length > 0)
28
-
29
- if (requiredScopes.length === 0) {
30
- return null
31
- }
32
-
33
- const info: StepUpInfo = { requiredScopes }
34
-
35
- const error = extractParam(params, "error")
36
- if (error !== null) {
37
- info.error = error
38
- }
39
-
40
- const errorDescription = extractParam(params, "error_description")
41
- if (errorDescription !== null) {
42
- info.errorDescription = errorDescription
43
- }
44
-
45
- return info
46
- }
47
-
48
- function extractParam(params: string, name: string): string | null {
49
- const quotedPattern = new RegExp(`${name}="([^"]*)"`)
50
- const quotedMatch = quotedPattern.exec(params)
51
- if (quotedMatch) {
52
- return quotedMatch[1]
53
- }
54
-
55
- const unquotedPattern = new RegExp(`${name}=([^\\s,]+)`)
56
- const unquotedMatch = unquotedPattern.exec(params)
57
- return unquotedMatch?.[1] ?? null
58
- }
59
-
60
- export function mergeScopes(existing: string[], required: string[]): string[] {
61
- const set = new Set(existing)
62
- for (const scope of required) {
63
- set.add(scope)
64
- }
65
- return [...set]
66
- }
67
-
68
- export function isStepUpRequired(statusCode: number, headers: Record<string, string>): StepUpInfo | null {
69
- if (statusCode !== 403) {
70
- return null
71
- }
72
-
73
- const wwwAuth = headers["www-authenticate"] ?? headers["WWW-Authenticate"]
74
- if (!wwwAuth) {
75
- return null
76
- }
77
-
78
- return parseWwwAuthenticate(wwwAuth)
79
- }
@@ -1,155 +0,0 @@
1
- import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs"
2
- import { dirname, join } from "node:path"
3
- import { getOpenCodeConfigDir } from "../../shared"
4
-
5
- export interface OAuthTokenData {
6
- accessToken: string
7
- refreshToken?: string
8
- expiresAt?: number
9
- clientInfo?: {
10
- clientId: string
11
- clientSecret?: string
12
- }
13
- }
14
-
15
- type TokenStore = Record<string, OAuthTokenData>
16
-
17
- const STORAGE_FILE_NAME = "mcp-oauth.json"
18
-
19
- export function getMcpOauthStoragePath(): string {
20
- return join(getOpenCodeConfigDir({ binary: "opencode" }), STORAGE_FILE_NAME)
21
- }
22
-
23
- function normalizeHost(serverHost: string): string {
24
- let host = serverHost.trim()
25
- if (!host) return host
26
-
27
- if (host.includes("://")) {
28
- try {
29
- host = new URL(host).hostname
30
- } catch {
31
- host = host.split("/")[0]
32
- }
33
- } else {
34
- host = host.split("/")[0]
35
- }
36
-
37
- if (host.startsWith("[")) {
38
- const closing = host.indexOf("]")
39
- if (closing !== -1) {
40
- host = host.slice(0, closing + 1)
41
- }
42
- return host
43
- }
44
-
45
- if (host.includes(":")) {
46
- host = host.split(":")[0]
47
- }
48
-
49
- return host
50
- }
51
-
52
- function normalizeResource(resource: string): string {
53
- return resource.replace(/^\/+/, "")
54
- }
55
-
56
- function buildKey(serverHost: string, resource: string): string {
57
- const host = normalizeHost(serverHost)
58
- const normalizedResource = normalizeResource(resource)
59
- return `${host}/${normalizedResource}`
60
- }
61
-
62
- function readStore(): TokenStore | null {
63
- const filePath = getMcpOauthStoragePath()
64
- if (!existsSync(filePath)) {
65
- return null
66
- }
67
-
68
- try {
69
- const content = readFileSync(filePath, "utf-8")
70
- return JSON.parse(content) as TokenStore
71
- } catch {
72
- return null
73
- }
74
- }
75
-
76
- function writeStore(store: TokenStore): boolean {
77
- const filePath = getMcpOauthStoragePath()
78
-
79
- try {
80
- const dir = dirname(filePath)
81
- if (!existsSync(dir)) {
82
- mkdirSync(dir, { recursive: true })
83
- }
84
-
85
- const tempPath = `${filePath}.tmp.${Date.now()}`
86
- writeFileSync(tempPath, JSON.stringify(store, null, 2), { encoding: "utf-8", mode: 0o600 })
87
- chmodSync(tempPath, 0o600)
88
- renameSync(tempPath, filePath)
89
- return true
90
- } catch {
91
- return false
92
- }
93
- }
94
-
95
- export function loadToken(serverHost: string, resource: string): OAuthTokenData | null {
96
- const store = readStore()
97
- if (!store) return null
98
-
99
- const key = buildKey(serverHost, resource)
100
- return store[key] ?? null
101
- }
102
-
103
- export function saveToken(serverHost: string, resource: string, token: OAuthTokenData): boolean {
104
- const store = readStore() ?? {}
105
- const key = buildKey(serverHost, resource)
106
- store[key] = token
107
- return writeStore(store)
108
- }
109
-
110
- export function deleteToken(serverHost: string, resource: string): boolean {
111
- const store = readStore()
112
- if (!store) return true
113
-
114
- const key = buildKey(serverHost, resource)
115
- if (!(key in store)) {
116
- return true
117
- }
118
-
119
- delete store[key]
120
-
121
- if (Object.keys(store).length === 0) {
122
- try {
123
- const filePath = getMcpOauthStoragePath()
124
- if (existsSync(filePath)) {
125
- unlinkSync(filePath)
126
- }
127
- return true
128
- } catch {
129
- return false
130
- }
131
- }
132
-
133
- return writeStore(store)
134
- }
135
-
136
- export function listTokensByHost(serverHost: string): TokenStore {
137
- const store = readStore()
138
- if (!store) return {}
139
-
140
- const host = normalizeHost(serverHost)
141
- const prefix = `${host}/`
142
- const result: TokenStore = {}
143
-
144
- for (const [key, value] of Object.entries(store)) {
145
- if (key.startsWith(prefix)) {
146
- result[key] = value
147
- }
148
- }
149
-
150
- return result
151
- }
152
-
153
- export function listAllTokens(): TokenStore {
154
- return readStore() ?? {}
155
- }
@@ -1,59 +0,0 @@
1
- # src/features/opencode-skill-loader/ — 4-Scope Skill Discovery
2
-
3
- **Generated:** 2026-04-11
4
-
5
- ## OVERVIEW
6
-
7
- 28 files (~3.2k LOC). Discovers, parses, merges, and resolves SKILL.md files from 4 scopes with priority deduplication.
8
-
9
- ## 4-SCOPE PRIORITY (highest → lowest)
10
-
11
- ```
12
- 1. Project (.opencode/skills/)
13
- 2. OpenCode config (~/.config/opencode/skills/)
14
- 3. User (~/.config/opencode/oh-my-opencode/skills/)
15
- 4. Global (built-in skills)
16
- ```
17
-
18
- Same-named skill at higher scope overrides lower.
19
-
20
- ## KEY FILES
21
-
22
- | File | Purpose |
23
- |------|---------|
24
- | `loader.ts` | Main `loadSkills()` — orchestrates discovery → parse → merge |
25
- | `async-loader.ts` | Async variant for non-blocking skill loading |
26
- | `blocking.ts` | Sync variant for initial load |
27
- | `merger.ts` | Priority-based deduplication across scopes |
28
- | `skill-content.ts` | YAML frontmatter parsing from SKILL.md |
29
- | `skill-discovery.ts` | Find SKILL.md files in directory trees |
30
- | `skill-directory-loader.ts` | Load all skills from a single directory |
31
- | `config-source-discovery.ts` | Discover scope directories from config |
32
- | `skill-template-resolver.ts` | Variable substitution in skill templates |
33
- | `skill-mcp-config.ts` | Extract MCP configs from skill YAML |
34
- | `types.ts` | `LoadedSkill`, `SkillScope`, `SkillDiscoveryResult` |
35
-
36
- ## SKILL FORMAT (SKILL.md)
37
-
38
- ```markdown
39
- ---
40
- name: my-skill
41
- description: What this skill does
42
- tools: [Bash, Read, Write]
43
- mcp:
44
- - name: my-mcp
45
- type: stdio
46
- command: npx
47
- args: [-y, my-mcp-server]
48
- ---
49
-
50
- Skill content (instructions for the agent)...
51
- ```
52
-
53
- ## MERGER SUBDIRECTORY
54
-
55
- Handles complex merge logic when skills from multiple scopes have overlapping names or MCP configs.
56
-
57
- ## TEMPLATE RESOLUTION
58
-
59
- Variables like `{{directory}}`, `{{agent}}` in skill content get resolved at load time based on current context.
@@ -1,9 +0,0 @@
1
- export function parseAllowedTools(allowedTools: string | string[] | undefined): string[] | undefined {
2
- if (!allowedTools) return undefined
3
-
4
- if (Array.isArray(allowedTools)) {
5
- return allowedTools.map((tool) => tool.trim()).filter(Boolean)
6
- }
7
-
8
- return allowedTools.split(/\s+/).filter(Boolean)
9
- }
@@ -1,213 +0,0 @@
1
- import { readFile, readdir } from "fs/promises"
2
- import type { Dirent } from "fs"
3
- import { join, basename } from "path"
4
- import yaml from "js-yaml"
5
- import { parseFrontmatter } from "../../shared/frontmatter"
6
- import { sanitizeModelField } from "../../shared/model-sanitizer"
7
- import { resolveSymlink, isMarkdownFile } from "../../shared/file-utils"
8
- import { resolveSkillPathReferences } from "../../shared/skill-path-resolver"
9
- import type { CommandDefinition } from "../claude-code-command-loader/types"
10
- import type { SkillScope, SkillMetadata, LoadedSkill } from "./types"
11
- import type { SkillMcpConfig } from "../skill-mcp-manager/types"
12
-
13
- export async function mapWithConcurrency<T, R>(
14
- items: T[],
15
- mapper: (item: T) => Promise<R>,
16
- concurrency: number
17
- ): Promise<R[]> {
18
- const results: R[] = new Array(items.length)
19
- let index = 0
20
-
21
- const worker = async () => {
22
- while (index < items.length) {
23
- const currentIndex = index++
24
- results[currentIndex] = await mapper(items[currentIndex])
25
- }
26
- }
27
-
28
- const workers = Array.from({ length: Math.min(concurrency, items.length) }, () => worker())
29
- await Promise.all(workers)
30
-
31
- return results
32
- }
33
-
34
- function parseSkillMcpConfigFromFrontmatter(content: string): SkillMcpConfig | undefined {
35
- const frontmatterMatch = content.match(/^---\r?\n([\s\S]*?)\r?\n---/)
36
- if (!frontmatterMatch) return undefined
37
-
38
- try {
39
- const parsed = yaml.load(frontmatterMatch[1]) as Record<string, unknown>
40
- if (parsed && typeof parsed === "object" && "mcp" in parsed && parsed.mcp) {
41
- return parsed.mcp as SkillMcpConfig
42
- }
43
- } catch {
44
- return undefined
45
- }
46
- return undefined
47
- }
48
-
49
- export async function loadMcpJsonFromDirAsync(skillDir: string): Promise<SkillMcpConfig | undefined> {
50
- const mcpJsonPath = join(skillDir, "mcp.json")
51
-
52
- try {
53
- const content = await readFile(mcpJsonPath, "utf-8")
54
- const parsed = JSON.parse(content) as Record<string, unknown>
55
-
56
- if (parsed && typeof parsed === "object" && "mcpServers" in parsed && parsed.mcpServers) {
57
- return parsed.mcpServers as SkillMcpConfig
58
- }
59
-
60
- if (parsed && typeof parsed === "object" && !("mcpServers" in parsed)) {
61
- const hasCommandField = Object.values(parsed).some(
62
- (v) => v && typeof v === "object" && "command" in (v as Record<string, unknown>)
63
- )
64
- if (hasCommandField) {
65
- return parsed as SkillMcpConfig
66
- }
67
- }
68
- } catch {
69
- return undefined
70
- }
71
- return undefined
72
- }
73
-
74
- export async function loadSkillFromPathAsync(
75
- skillPath: string,
76
- resolvedPath: string,
77
- defaultName: string,
78
- scope: SkillScope,
79
- namePrefix = ""
80
- ): Promise<LoadedSkill | null> {
81
- try {
82
- const content = await readFile(skillPath, "utf-8")
83
- const { data, body, parseError } = parseFrontmatter<SkillMetadata>(content)
84
- if (parseError) return null
85
-
86
- const frontmatterMcp = parseSkillMcpConfigFromFrontmatter(content)
87
- const mcpJsonMcp = await loadMcpJsonFromDirAsync(resolvedPath)
88
- const mcpConfig = mcpJsonMcp || frontmatterMcp
89
-
90
- const baseName = String(data.name || defaultName)
91
- const skillName = namePrefix ? `${namePrefix}/${baseName}` : baseName
92
- const originalDescription = data.description || ""
93
- const isOpencodeSource = scope === "opencode" || scope === "opencode-project"
94
- const formattedDescription = `(${scope} - Skill) ${originalDescription}`
95
-
96
- const resolvedBody = resolveSkillPathReferences(body.trim(), resolvedPath)
97
- const wrappedTemplate = `<skill-instruction>
98
- Base directory for this skill: ${resolvedPath}/
99
- File references (@path) in this skill are relative to this directory.
100
-
101
- ${resolvedBody}
102
- </skill-instruction>
103
-
104
- <user-request>
105
- $ARGUMENTS
106
- </user-request>`
107
-
108
- const definition: CommandDefinition = {
109
- name: skillName,
110
- description: formattedDescription,
111
- template: wrappedTemplate,
112
- model: sanitizeModelField(data.model, isOpencodeSource ? "opencode" : "claude-code"),
113
- agent: data.agent,
114
- subtask: data.subtask,
115
- argumentHint: data["argument-hint"],
116
- }
117
-
118
- return {
119
- name: skillName,
120
- path: skillPath,
121
- resolvedPath,
122
- definition,
123
- scope,
124
- license: data.license,
125
- compatibility: data.compatibility,
126
- metadata: data.metadata,
127
- allowedTools: parseAllowedTools(data["allowed-tools"]),
128
- mcpConfig,
129
- }
130
- } catch {
131
- return null
132
- }
133
- }
134
-
135
- function parseAllowedTools(allowedTools: string | string[] | undefined): string[] | undefined {
136
- if (!allowedTools) return undefined
137
-
138
- // Handle YAML array format: already parsed as string[]
139
- if (Array.isArray(allowedTools)) {
140
- return allowedTools.map(t => t.trim()).filter(Boolean)
141
- }
142
-
143
- // Handle space-separated string format: "Read Write Edit Bash"
144
- return allowedTools.split(/\s+/).filter(Boolean)
145
- }
146
-
147
- export async function discoverSkillsInDirAsync(
148
- skillsDir: string,
149
- scope: SkillScope = "opencode-project",
150
- namePrefix = "",
151
- depth = 0,
152
- maxDepth = 2
153
- ): Promise<LoadedSkill[]> {
154
- try {
155
- const entries = await readdir(skillsDir, { withFileTypes: true })
156
-
157
- const processEntry = async (entry: Dirent): Promise<LoadedSkill | LoadedSkill[] | null> => {
158
- if (entry.name.startsWith(".")) return null
159
-
160
- const entryPath = join(skillsDir, entry.name)
161
-
162
- if (entry.isDirectory() || entry.isSymbolicLink()) {
163
- const resolvedPath = resolveSymlink(entryPath)
164
- const dirName = entry.name
165
-
166
- const skillMdPath = join(resolvedPath, "SKILL.md")
167
- try {
168
- await readFile(skillMdPath, "utf-8")
169
- return await loadSkillFromPathAsync(skillMdPath, resolvedPath, dirName, scope, namePrefix)
170
- } catch {
171
- const namedSkillMdPath = join(resolvedPath, `${dirName}.md`)
172
- try {
173
- await readFile(namedSkillMdPath, "utf-8")
174
- return await loadSkillFromPathAsync(namedSkillMdPath, resolvedPath, dirName, scope, namePrefix)
175
- } catch {
176
- if (depth >= maxDepth) {
177
- return null
178
- }
179
-
180
- const nestedPrefix = namePrefix ? `${namePrefix}/${dirName}` : dirName
181
- const nestedSkills = await discoverSkillsInDirAsync(
182
- resolvedPath,
183
- scope,
184
- nestedPrefix,
185
- depth + 1,
186
- maxDepth
187
- )
188
-
189
- return nestedSkills.length > 0 ? nestedSkills : null
190
- }
191
- }
192
- }
193
-
194
- if (isMarkdownFile(entry)) {
195
- const skillName = basename(entry.name, ".md")
196
- return await loadSkillFromPathAsync(entryPath, skillsDir, skillName, scope, namePrefix)
197
- }
198
-
199
- return null
200
- }
201
-
202
- const skillPromises = await mapWithConcurrency(entries, processEntry, 16)
203
- return skillPromises.flatMap((skill): LoadedSkill[] => {
204
- if (skill === null) return []
205
- return Array.isArray(skill) ? skill : [skill]
206
- })
207
- } catch (error: unknown) {
208
- if (error && typeof error === "object" && "code" in error && error.code === "ENOENT") {
209
- return []
210
- }
211
- return []
212
- }
213
- }
@@ -1,62 +0,0 @@
1
- import { Worker, MessageChannel, receiveMessageOnPort } from "worker_threads"
2
- import type { LoadedSkill, SkillScope } from "./types"
3
-
4
- interface WorkerInput {
5
- dirs: string[]
6
- scopes: SkillScope[]
7
- }
8
-
9
- interface WorkerOutputSuccess {
10
- ok: true
11
- skills: LoadedSkill[]
12
- }
13
-
14
- interface WorkerOutputError {
15
- ok: false
16
- error: { message: string; stack?: string }
17
- }
18
-
19
- type WorkerOutput = WorkerOutputSuccess | WorkerOutputError
20
-
21
- const TIMEOUT_MS = 30000
22
-
23
- export function discoverAllSkillsBlocking(dirs: string[], scopes: SkillScope[]): LoadedSkill[] {
24
- const signal = new Int32Array(new SharedArrayBuffer(4))
25
- const { port1, port2 } = new MessageChannel()
26
-
27
- const worker = new Worker(new URL("./discover-worker.ts", import.meta.url), {
28
- // workerData is structured-cloned; pass the SharedArrayBuffer and recreate the view in the worker.
29
- workerData: { signalBuffer: signal.buffer },
30
- })
31
-
32
- const input: WorkerInput = { dirs, scopes }
33
- // Avoid a race where the worker hasn't attached listeners to the MessagePort yet.
34
- worker.postMessage({ port: port2, input }, [port2])
35
-
36
- const waitResult = Atomics.wait(signal, 0, 0, TIMEOUT_MS)
37
-
38
- if (waitResult === "timed-out") {
39
- worker.terminate()
40
- port1.close()
41
- throw new Error(`Worker timeout after ${TIMEOUT_MS}ms`)
42
- }
43
-
44
- const message = receiveMessageOnPort(port1)
45
-
46
- worker.terminate()
47
- port1.close()
48
-
49
- if (!message) {
50
- throw new Error("Worker did not return result")
51
- }
52
-
53
- const output = message.message as WorkerOutput
54
-
55
- if (output.ok === false) {
56
- const error = new Error(output.error.message)
57
- error.stack = output.error.stack
58
- throw error
59
- }
60
-
61
- return output.skills
62
- }
@@ -1,114 +0,0 @@
1
- import { promises as fs } from "fs"
2
- import { homedir } from "os"
3
- import { dirname, extname, isAbsolute, join, relative } from "path"
4
- import picomatch from "picomatch"
5
- import type { SkillsConfig } from "../../config/schema"
6
- import { normalizeSkillsConfig } from "./merger/skills-config-normalizer"
7
- import { deduplicateSkillsByName } from "./skill-deduplication"
8
- import { loadSkillsFromDir } from "./skill-directory-loader"
9
- import { inferSkillNameFromFileName, loadSkillFromPath } from "./loaded-skill-from-path"
10
- import type { LoadedSkill } from "./types"
11
-
12
- const MAX_RECURSIVE_DEPTH = 10
13
-
14
- function isHttpUrl(path: string): boolean {
15
- return path.startsWith("http://") || path.startsWith("https://")
16
- }
17
-
18
- function toAbsolutePath(path: string, configDir: string): string {
19
- if (path === "~") {
20
- return homedir()
21
- }
22
-
23
- if (path.startsWith("~/")) {
24
- return join(homedir(), path.slice(2))
25
- }
26
-
27
- if (isAbsolute(path)) {
28
- return path
29
- }
30
- return join(configDir, path)
31
- }
32
-
33
- function isMarkdownPath(path: string): boolean {
34
- return extname(path).toLowerCase() === ".md"
35
- }
36
-
37
- export function normalizePathForGlob(path: string): string {
38
- return path.split("\\").join("/")
39
- }
40
-
41
- function filterByGlob(skills: LoadedSkill[], sourceBaseDir: string, globPattern?: string): LoadedSkill[] {
42
- if (!globPattern) return skills
43
-
44
- return skills.filter((skill) => {
45
- if (!skill.path) return false
46
- const rel = normalizePathForGlob(relative(sourceBaseDir, skill.path))
47
- return picomatch.isMatch(rel, globPattern, { dot: true, bash: true })
48
- })
49
- }
50
-
51
- async function loadSourcePath(options: {
52
- sourcePath: string
53
- recursive: boolean
54
- globPattern?: string
55
- configDir: string
56
- }): Promise<LoadedSkill[]> {
57
- if (isHttpUrl(options.sourcePath)) {
58
- return []
59
- }
60
-
61
- const absolutePath = toAbsolutePath(options.sourcePath, options.configDir)
62
- const stat = await fs.stat(absolutePath).catch(() => null)
63
- if (!stat) return []
64
-
65
- if (stat.isFile()) {
66
- if (!isMarkdownPath(absolutePath)) return []
67
- const loaded = await loadSkillFromPath({
68
- skillPath: absolutePath,
69
- resolvedPath: dirname(absolutePath),
70
- defaultName: inferSkillNameFromFileName(absolutePath),
71
- scope: "config",
72
- })
73
- if (!loaded) return []
74
- return filterByGlob([loaded], dirname(absolutePath), options.globPattern)
75
- }
76
-
77
- if (!stat.isDirectory()) return []
78
-
79
- const directorySkills = await loadSkillsFromDir({
80
- skillsDir: absolutePath,
81
- scope: "config",
82
- maxDepth: options.recursive ? MAX_RECURSIVE_DEPTH : 0,
83
- })
84
- return filterByGlob(directorySkills, absolutePath, options.globPattern)
85
- }
86
-
87
- export async function discoverConfigSourceSkills(options: {
88
- config: SkillsConfig | undefined
89
- configDir: string
90
- }): Promise<LoadedSkill[]> {
91
- const normalized = normalizeSkillsConfig(options.config)
92
- if (normalized.sources.length === 0) return []
93
-
94
- const loadedBySource = await Promise.all(
95
- normalized.sources.map((source) => {
96
- if (typeof source === "string") {
97
- return loadSourcePath({
98
- sourcePath: source,
99
- recursive: false,
100
- configDir: options.configDir,
101
- })
102
- }
103
-
104
- return loadSourcePath({
105
- sourcePath: source.path,
106
- recursive: source.recursive ?? false,
107
- globPattern: source.glob,
108
- configDir: options.configDir,
109
- })
110
- }),
111
- )
112
-
113
- return deduplicateSkillsByName(loadedBySource.flat())
114
- }