homer-simpson 0.1.0

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 (442) hide show
  1. package/LICENSE.md +82 -0
  2. package/README.ja.md +1107 -0
  3. package/README.md +1274 -0
  4. package/README.zh-cn.md +1107 -0
  5. package/dist/agents/architect.d.ts +5 -0
  6. package/dist/agents/bart.d.ts +3 -0
  7. package/dist/agents/build-prompt.d.ts +31 -0
  8. package/dist/agents/comic-book-guy.d.ts +5 -0
  9. package/dist/agents/consultant.d.ts +19 -0
  10. package/dist/agents/designer.d.ts +5 -0
  11. package/dist/agents/edna.d.ts +5 -0
  12. package/dist/agents/explorer.d.ts +5 -0
  13. package/dist/agents/grandpa.d.ts +6 -0
  14. package/dist/agents/homer-prompt-builder.d.ts +26 -0
  15. package/dist/agents/homer.d.ts +4 -0
  16. package/dist/agents/index.d.ts +5 -0
  17. package/dist/agents/lisa.d.ts +5 -0
  18. package/dist/agents/milhouse.d.ts +5 -0
  19. package/dist/agents/orchestrator.d.ts +20 -0
  20. package/dist/agents/plan-prompt.d.ts +64 -0
  21. package/dist/agents/prometheus-prompt.d.ts +27 -0
  22. package/dist/agents/researcher.d.ts +5 -0
  23. package/dist/agents/reviewer.d.ts +6 -0
  24. package/dist/agents/santas-little-helper.d.ts +5 -0
  25. package/dist/agents/types.d.ts +49 -0
  26. package/dist/agents/utils.d.ts +13 -0
  27. package/dist/agents/utils.test.d.ts +1 -0
  28. package/dist/agents/viewer.d.ts +5 -0
  29. package/dist/agents/writer.d.ts +5 -0
  30. package/dist/auth/antigravity/accounts.d.ts +40 -0
  31. package/dist/auth/antigravity/accounts.test.d.ts +1 -0
  32. package/dist/auth/antigravity/browser.d.ts +27 -0
  33. package/dist/auth/antigravity/browser.test.d.ts +1 -0
  34. package/dist/auth/antigravity/cli.d.ts +2 -0
  35. package/dist/auth/antigravity/cli.test.d.ts +1 -0
  36. package/dist/auth/antigravity/constants.d.ts +98 -0
  37. package/dist/auth/antigravity/constants.test.d.ts +1 -0
  38. package/dist/auth/antigravity/fetch.d.ts +69 -0
  39. package/dist/auth/antigravity/index.d.ts +13 -0
  40. package/dist/auth/antigravity/integration.test.d.ts +10 -0
  41. package/dist/auth/antigravity/message-converter.d.ts +54 -0
  42. package/dist/auth/antigravity/oauth.d.ts +51 -0
  43. package/dist/auth/antigravity/oauth.test.d.ts +1 -0
  44. package/dist/auth/antigravity/plugin.d.ts +54 -0
  45. package/dist/auth/antigravity/project.d.ts +10 -0
  46. package/dist/auth/antigravity/request.d.ts +116 -0
  47. package/dist/auth/antigravity/request.test.d.ts +1 -0
  48. package/dist/auth/antigravity/response.d.ts +137 -0
  49. package/dist/auth/antigravity/storage.d.ts +5 -0
  50. package/dist/auth/antigravity/storage.test.d.ts +1 -0
  51. package/dist/auth/antigravity/thinking.d.ts +278 -0
  52. package/dist/auth/antigravity/thinking.test.d.ts +10 -0
  53. package/dist/auth/antigravity/thought-signature-store.d.ts +52 -0
  54. package/dist/auth/antigravity/token.d.ts +38 -0
  55. package/dist/auth/antigravity/token.test.d.ts +1 -0
  56. package/dist/auth/antigravity/tools.d.ts +119 -0
  57. package/dist/auth/antigravity/types.d.ts +229 -0
  58. package/dist/cli/commands/auth.d.ts +2 -0
  59. package/dist/cli/config-manager.d.ts +91 -0
  60. package/dist/cli/config-manager.test.d.ts +1 -0
  61. package/dist/cli/doctor/checks/auth.d.ts +7 -0
  62. package/dist/cli/doctor/checks/auth.test.d.ts +1 -0
  63. package/dist/cli/doctor/checks/config.d.ts +8 -0
  64. package/dist/cli/doctor/checks/config.test.d.ts +1 -0
  65. package/dist/cli/doctor/checks/dependencies.d.ts +8 -0
  66. package/dist/cli/doctor/checks/dependencies.test.d.ts +1 -0
  67. package/dist/cli/doctor/checks/gh.d.ts +13 -0
  68. package/dist/cli/doctor/checks/gh.test.d.ts +1 -0
  69. package/dist/cli/doctor/checks/index.d.ts +11 -0
  70. package/dist/cli/doctor/checks/lsp.d.ts +8 -0
  71. package/dist/cli/doctor/checks/lsp.test.d.ts +1 -0
  72. package/dist/cli/doctor/checks/mcp.d.ts +6 -0
  73. package/dist/cli/doctor/checks/mcp.test.d.ts +1 -0
  74. package/dist/cli/doctor/checks/opencode.d.ts +10 -0
  75. package/dist/cli/doctor/checks/opencode.test.d.ts +1 -0
  76. package/dist/cli/doctor/checks/plugin.d.ts +4 -0
  77. package/dist/cli/doctor/checks/plugin.test.d.ts +1 -0
  78. package/dist/cli/doctor/checks/version.d.ts +4 -0
  79. package/dist/cli/doctor/checks/version.test.d.ts +1 -0
  80. package/dist/cli/doctor/constants.d.ts +40 -0
  81. package/dist/cli/doctor/formatter.d.ts +12 -0
  82. package/dist/cli/doctor/formatter.test.d.ts +1 -0
  83. package/dist/cli/doctor/index.d.ts +5 -0
  84. package/dist/cli/doctor/runner.d.ts +7 -0
  85. package/dist/cli/doctor/runner.test.d.ts +1 -0
  86. package/dist/cli/doctor/types.d.ts +91 -0
  87. package/dist/cli/get-local-version/formatter.d.ts +3 -0
  88. package/dist/cli/get-local-version/index.d.ts +3 -0
  89. package/dist/cli/get-local-version/types.d.ts +13 -0
  90. package/dist/cli/index.d.ts +2 -0
  91. package/dist/cli/index.js +23631 -0
  92. package/dist/cli/install.d.ts +2 -0
  93. package/dist/cli/run/completion.d.ts +2 -0
  94. package/dist/cli/run/completion.test.d.ts +1 -0
  95. package/dist/cli/run/events.d.ts +11 -0
  96. package/dist/cli/run/events.test.d.ts +1 -0
  97. package/dist/cli/run/index.d.ts +2 -0
  98. package/dist/cli/run/runner.d.ts +2 -0
  99. package/dist/cli/run/types.d.ts +71 -0
  100. package/dist/cli/types.d.ts +27 -0
  101. package/dist/config/index.d.ts +4 -0
  102. package/dist/config/presets.d.ts +89 -0
  103. package/dist/config/schema.d.ts +1952 -0
  104. package/dist/config/schema.test.d.ts +1 -0
  105. package/dist/features/background-agent/concurrency.d.ts +10 -0
  106. package/dist/features/background-agent/concurrency.test.d.ts +1 -0
  107. package/dist/features/background-agent/index.d.ts +3 -0
  108. package/dist/features/background-agent/manager.d.ts +70 -0
  109. package/dist/features/background-agent/manager.test.d.ts +1 -0
  110. package/dist/features/background-agent/types.d.ts +68 -0
  111. package/dist/features/builtin-commands/commands.d.ts +2 -0
  112. package/dist/features/builtin-commands/index.d.ts +2 -0
  113. package/dist/features/builtin-commands/templates/init-deep.d.ts +1 -0
  114. package/dist/features/builtin-commands/templates/ralph-loop.d.ts +2 -0
  115. package/dist/features/builtin-commands/templates/refactor.d.ts +1 -0
  116. package/dist/features/builtin-commands/templates/start-work.d.ts +1 -0
  117. package/dist/features/builtin-commands/types.d.ts +6 -0
  118. package/dist/features/builtin-skills/index.d.ts +2 -0
  119. package/dist/features/builtin-skills/skills.d.ts +2 -0
  120. package/dist/features/builtin-skills/types.d.ts +15 -0
  121. package/dist/features/claude-code-agent-loader/index.d.ts +2 -0
  122. package/dist/features/claude-code-agent-loader/loader.d.ts +3 -0
  123. package/dist/features/claude-code-agent-loader/types.d.ts +14 -0
  124. package/dist/features/claude-code-command-loader/index.d.ts +2 -0
  125. package/dist/features/claude-code-command-loader/loader.d.ts +6 -0
  126. package/dist/features/claude-code-command-loader/types.d.ts +42 -0
  127. package/dist/features/claude-code-mcp-loader/env-expander.d.ts +2 -0
  128. package/dist/features/claude-code-mcp-loader/index.d.ts +10 -0
  129. package/dist/features/claude-code-mcp-loader/loader.d.ts +4 -0
  130. package/dist/features/claude-code-mcp-loader/loader.test.d.ts +1 -0
  131. package/dist/features/claude-code-mcp-loader/transformer.d.ts +2 -0
  132. package/dist/features/claude-code-mcp-loader/types.d.ts +35 -0
  133. package/dist/features/claude-code-plugin-loader/index.d.ts +3 -0
  134. package/dist/features/claude-code-plugin-loader/loader.d.ts +20 -0
  135. package/dist/features/claude-code-plugin-loader/types.d.ts +186 -0
  136. package/dist/features/claude-code-session-state/index.d.ts +1 -0
  137. package/dist/features/claude-code-session-state/state.d.ts +4 -0
  138. package/dist/features/context-injector/collector.d.ts +11 -0
  139. package/dist/features/context-injector/collector.test.d.ts +1 -0
  140. package/dist/features/context-injector/index.d.ts +3 -0
  141. package/dist/features/context-injector/injector.d.ts +39 -0
  142. package/dist/features/context-injector/injector.test.d.ts +1 -0
  143. package/dist/features/context-injector/types.d.ts +83 -0
  144. package/dist/features/donut-state/constants.d.ts +10 -0
  145. package/dist/features/donut-state/index.d.ts +3 -0
  146. package/dist/features/donut-state/storage.d.ts +28 -0
  147. package/dist/features/donut-state/storage.test.d.ts +1 -0
  148. package/dist/features/donut-state/types.d.ts +24 -0
  149. package/dist/features/hook-message-injector/constants.d.ts +3 -0
  150. package/dist/features/hook-message-injector/index.d.ts +4 -0
  151. package/dist/features/hook-message-injector/injector.d.ts +11 -0
  152. package/dist/features/hook-message-injector/types.d.ts +44 -0
  153. package/dist/features/opencode-skill-loader/async-loader.d.ts +6 -0
  154. package/dist/features/opencode-skill-loader/async-loader.test.d.ts +1 -0
  155. package/dist/features/opencode-skill-loader/blocking.d.ts +2 -0
  156. package/dist/features/opencode-skill-loader/blocking.test.d.ts +1 -0
  157. package/dist/features/opencode-skill-loader/discover-worker.d.ts +1 -0
  158. package/dist/features/opencode-skill-loader/index.d.ts +4 -0
  159. package/dist/features/opencode-skill-loader/loader.d.ts +16 -0
  160. package/dist/features/opencode-skill-loader/loader.test.d.ts +1 -0
  161. package/dist/features/opencode-skill-loader/merger.d.ts +7 -0
  162. package/dist/features/opencode-skill-loader/skill-content.d.ts +5 -0
  163. package/dist/features/opencode-skill-loader/skill-content.test.d.ts +1 -0
  164. package/dist/features/opencode-skill-loader/types.d.ts +34 -0
  165. package/dist/features/skill-mcp-manager/env-cleaner.d.ts +2 -0
  166. package/dist/features/skill-mcp-manager/env-cleaner.test.d.ts +1 -0
  167. package/dist/features/skill-mcp-manager/index.d.ts +2 -0
  168. package/dist/features/skill-mcp-manager/manager.d.ts +29 -0
  169. package/dist/features/skill-mcp-manager/manager.test.d.ts +1 -0
  170. package/dist/features/skill-mcp-manager/types.d.ts +11 -0
  171. package/dist/features/task-toast-manager/index.d.ts +2 -0
  172. package/dist/features/task-toast-manager/manager.d.ts +56 -0
  173. package/dist/features/task-toast-manager/manager.test.d.ts +1 -0
  174. package/dist/features/task-toast-manager/types.d.ts +16 -0
  175. package/dist/google-auth.d.ts +3 -0
  176. package/dist/google-auth.js +3871 -0
  177. package/dist/hooks/agent-usage-reminder/constants.d.ts +5 -0
  178. package/dist/hooks/agent-usage-reminder/index.d.ts +22 -0
  179. package/dist/hooks/agent-usage-reminder/storage.d.ts +4 -0
  180. package/dist/hooks/agent-usage-reminder/types.d.ts +6 -0
  181. package/dist/hooks/anthropic-context-window-limit-recovery/executor.d.ts +4 -0
  182. package/dist/hooks/anthropic-context-window-limit-recovery/executor.test.d.ts +1 -0
  183. package/dist/hooks/anthropic-context-window-limit-recovery/index.d.ts +17 -0
  184. package/dist/hooks/anthropic-context-window-limit-recovery/parser.d.ts +2 -0
  185. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.d.ts +7 -0
  186. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.test.d.ts +1 -0
  187. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-executor.d.ts +3 -0
  188. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-purge-errors.d.ts +7 -0
  189. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-storage.d.ts +2 -0
  190. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-supersede.d.ts +6 -0
  191. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-types.d.ts +36 -0
  192. package/dist/hooks/anthropic-context-window-limit-recovery/storage.d.ts +28 -0
  193. package/dist/hooks/anthropic-context-window-limit-recovery/storage.test.d.ts +1 -0
  194. package/dist/hooks/anthropic-context-window-limit-recovery/types.d.ts +42 -0
  195. package/dist/hooks/auto-slash-command/constants.d.ts +5 -0
  196. package/dist/hooks/auto-slash-command/detector.d.ts +9 -0
  197. package/dist/hooks/auto-slash-command/detector.test.d.ts +1 -0
  198. package/dist/hooks/auto-slash-command/executor.d.ts +11 -0
  199. package/dist/hooks/auto-slash-command/index.d.ts +12 -0
  200. package/dist/hooks/auto-slash-command/index.test.d.ts +1 -0
  201. package/dist/hooks/auto-slash-command/types.d.ts +27 -0
  202. package/dist/hooks/auto-update-checker/cache.d.ts +3 -0
  203. package/dist/hooks/auto-update-checker/checker.d.ts +20 -0
  204. package/dist/hooks/auto-update-checker/constants.d.ts +13 -0
  205. package/dist/hooks/auto-update-checker/index.d.ts +16 -0
  206. package/dist/hooks/auto-update-checker/index.test.d.ts +1 -0
  207. package/dist/hooks/auto-update-checker/types.d.ts +25 -0
  208. package/dist/hooks/background-compaction/index.d.ts +19 -0
  209. package/dist/hooks/background-notification/index.d.ts +18 -0
  210. package/dist/hooks/background-notification/types.d.ts +4 -0
  211. package/dist/hooks/claude-code-hooks/config-loader.d.ts +13 -0
  212. package/dist/hooks/claude-code-hooks/config.d.ts +3 -0
  213. package/dist/hooks/claude-code-hooks/index.d.ts +48 -0
  214. package/dist/hooks/claude-code-hooks/plugin-config.d.ts +8 -0
  215. package/dist/hooks/claude-code-hooks/post-tool-use.d.ts +40 -0
  216. package/dist/hooks/claude-code-hooks/pre-compact.d.ts +16 -0
  217. package/dist/hooks/claude-code-hooks/pre-tool-use.d.ts +25 -0
  218. package/dist/hooks/claude-code-hooks/stop.d.ts +20 -0
  219. package/dist/hooks/claude-code-hooks/todo.d.ts +12 -0
  220. package/dist/hooks/claude-code-hooks/tool-input-cache.d.ts +5 -0
  221. package/dist/hooks/claude-code-hooks/transcript.d.ts +38 -0
  222. package/dist/hooks/claude-code-hooks/types.d.ts +183 -0
  223. package/dist/hooks/claude-code-hooks/user-prompt-submit.d.ts +22 -0
  224. package/dist/hooks/comment-checker/cli.d.ts +53 -0
  225. package/dist/hooks/comment-checker/constants.d.ts +3 -0
  226. package/dist/hooks/comment-checker/downloader.d.ts +25 -0
  227. package/dist/hooks/comment-checker/filters/bdd.d.ts +2 -0
  228. package/dist/hooks/comment-checker/filters/directive.d.ts +2 -0
  229. package/dist/hooks/comment-checker/filters/docstring.d.ts +2 -0
  230. package/dist/hooks/comment-checker/filters/index.d.ts +7 -0
  231. package/dist/hooks/comment-checker/filters/shebang.d.ts +2 -0
  232. package/dist/hooks/comment-checker/index.d.ts +19 -0
  233. package/dist/hooks/comment-checker/output/formatter.d.ts +2 -0
  234. package/dist/hooks/comment-checker/output/index.d.ts +2 -0
  235. package/dist/hooks/comment-checker/output/xml-builder.d.ts +2 -0
  236. package/dist/hooks/comment-checker/types.d.ts +31 -0
  237. package/dist/hooks/compaction-context-injector/index.d.ts +2 -0
  238. package/dist/hooks/context-window-monitor.d.ts +18 -0
  239. package/dist/hooks/directory-agents-injector/constants.d.ts +3 -0
  240. package/dist/hooks/directory-agents-injector/index.d.ts +26 -0
  241. package/dist/hooks/directory-agents-injector/storage.d.ts +3 -0
  242. package/dist/hooks/directory-agents-injector/types.d.ts +5 -0
  243. package/dist/hooks/directory-readme-injector/constants.d.ts +3 -0
  244. package/dist/hooks/directory-readme-injector/index.d.ts +26 -0
  245. package/dist/hooks/directory-readme-injector/storage.d.ts +3 -0
  246. package/dist/hooks/directory-readme-injector/types.d.ts +5 -0
  247. package/dist/hooks/edit-error-recovery/index.d.ts +31 -0
  248. package/dist/hooks/edit-error-recovery/index.test.d.ts +1 -0
  249. package/dist/hooks/empty-message-sanitizer/index.d.ts +12 -0
  250. package/dist/hooks/empty-task-response-detector.d.ts +12 -0
  251. package/dist/hooks/homer-orchestrator/index.d.ts +35 -0
  252. package/dist/hooks/homer-orchestrator/index.test.d.ts +1 -0
  253. package/dist/hooks/index.d.ts +32 -0
  254. package/dist/hooks/interactive-bash-session/constants.d.ts +4 -0
  255. package/dist/hooks/interactive-bash-session/index.d.ts +23 -0
  256. package/dist/hooks/interactive-bash-session/storage.d.ts +4 -0
  257. package/dist/hooks/interactive-bash-session/types.d.ts +10 -0
  258. package/dist/hooks/keyword-detector/constants.d.ts +12 -0
  259. package/dist/hooks/keyword-detector/detector.d.ts +11 -0
  260. package/dist/hooks/keyword-detector/index.d.ts +31 -0
  261. package/dist/hooks/keyword-detector/index.test.d.ts +1 -0
  262. package/dist/hooks/keyword-detector/types.d.ts +4 -0
  263. package/dist/hooks/non-interactive-env/constants.d.ts +34 -0
  264. package/dist/hooks/non-interactive-env/detector.d.ts +1 -0
  265. package/dist/hooks/non-interactive-env/index.d.ts +14 -0
  266. package/dist/hooks/non-interactive-env/index.test.d.ts +1 -0
  267. package/dist/hooks/non-interactive-env/types.d.ts +3 -0
  268. package/dist/hooks/preemptive-compaction/constants.d.ts +3 -0
  269. package/dist/hooks/preemptive-compaction/index.d.ts +24 -0
  270. package/dist/hooks/preemptive-compaction/types.d.ts +17 -0
  271. package/dist/hooks/prometheus-md-only/constants.d.ts +6 -0
  272. package/dist/hooks/prometheus-md-only/index.d.ts +12 -0
  273. package/dist/hooks/prometheus-md-only/index.test.d.ts +1 -0
  274. package/dist/hooks/ralph-loop/constants.d.ts +5 -0
  275. package/dist/hooks/ralph-loop/index.d.ts +20 -0
  276. package/dist/hooks/ralph-loop/index.test.d.ts +1 -0
  277. package/dist/hooks/ralph-loop/storage.d.ts +6 -0
  278. package/dist/hooks/ralph-loop/types.d.ts +16 -0
  279. package/dist/hooks/rules-injector/constants.d.ts +8 -0
  280. package/dist/hooks/rules-injector/finder.d.ts +33 -0
  281. package/dist/hooks/rules-injector/finder.test.d.ts +1 -0
  282. package/dist/hooks/rules-injector/index.d.ts +26 -0
  283. package/dist/hooks/rules-injector/matcher.d.ts +21 -0
  284. package/dist/hooks/rules-injector/parser.d.ts +18 -0
  285. package/dist/hooks/rules-injector/parser.test.d.ts +1 -0
  286. package/dist/hooks/rules-injector/storage.d.ts +9 -0
  287. package/dist/hooks/rules-injector/types.d.ts +54 -0
  288. package/dist/hooks/session-notification-utils.d.ts +9 -0
  289. package/dist/hooks/session-notification.d.ts +20 -0
  290. package/dist/hooks/session-notification.test.d.ts +1 -0
  291. package/dist/hooks/session-recovery/constants.d.ts +6 -0
  292. package/dist/hooks/session-recovery/index.d.ts +22 -0
  293. package/dist/hooks/session-recovery/index.test.d.ts +1 -0
  294. package/dist/hooks/session-recovery/storage.d.ts +19 -0
  295. package/dist/hooks/session-recovery/types.d.ts +90 -0
  296. package/dist/hooks/start-work/index.d.ts +16 -0
  297. package/dist/hooks/start-work/index.test.d.ts +1 -0
  298. package/dist/hooks/status-recorder/index.d.ts +51 -0
  299. package/dist/hooks/task-resume-info/index.d.ts +11 -0
  300. package/dist/hooks/think-mode/detector.d.ts +5 -0
  301. package/dist/hooks/think-mode/index.d.ts +14 -0
  302. package/dist/hooks/think-mode/index.test.d.ts +1 -0
  303. package/dist/hooks/think-mode/switcher.d.ts +57 -0
  304. package/dist/hooks/think-mode/switcher.test.d.ts +1 -0
  305. package/dist/hooks/think-mode/types.d.ts +21 -0
  306. package/dist/hooks/thinking-block-validator/index.d.ts +30 -0
  307. package/dist/hooks/todo-continuation-enforcer.d.ts +17 -0
  308. package/dist/hooks/todo-continuation-enforcer.test.d.ts +1 -0
  309. package/dist/hooks/tool-output-truncator.d.ts +17 -0
  310. package/dist/hooks/tool-output-truncator.test.d.ts +1 -0
  311. package/dist/index.d.ts +5 -0
  312. package/dist/index.js +57170 -0
  313. package/dist/mcp/context7.d.ts +5 -0
  314. package/dist/mcp/grep-app.d.ts +5 -0
  315. package/dist/mcp/index.d.ts +8 -0
  316. package/dist/mcp/index.test.d.ts +1 -0
  317. package/dist/mcp/types.d.ts +9 -0
  318. package/dist/mcp/websearch.d.ts +8 -0
  319. package/dist/plugin-config.d.ts +4 -0
  320. package/dist/plugin-handlers/config-handler.d.ts +10 -0
  321. package/dist/plugin-handlers/index.d.ts +1 -0
  322. package/dist/plugin-state.d.ts +6 -0
  323. package/dist/shared/agent-display.d.ts +43 -0
  324. package/dist/shared/agent-display.test.d.ts +1 -0
  325. package/dist/shared/claude-config-dir.d.ts +1 -0
  326. package/dist/shared/claude-config-dir.test.d.ts +1 -0
  327. package/dist/shared/command-executor.d.ts +21 -0
  328. package/dist/shared/config-errors.d.ts +7 -0
  329. package/dist/shared/config-path.d.ts +17 -0
  330. package/dist/shared/data-path.d.ts +14 -0
  331. package/dist/shared/deep-merge.d.ts +13 -0
  332. package/dist/shared/dynamic-truncator.d.ts +27 -0
  333. package/dist/shared/external-plugin-detector.d.ts +18 -0
  334. package/dist/shared/external-plugin-detector.test.d.ts +1 -0
  335. package/dist/shared/file-reference-resolver.d.ts +1 -0
  336. package/dist/shared/file-utils.d.ts +7 -0
  337. package/dist/shared/frontmatter.d.ts +7 -0
  338. package/dist/shared/frontmatter.test.d.ts +1 -0
  339. package/dist/shared/hook-disabled.d.ts +2 -0
  340. package/dist/shared/index.d.ts +24 -0
  341. package/dist/shared/jsonc-parser.d.ts +15 -0
  342. package/dist/shared/jsonc-parser.test.d.ts +1 -0
  343. package/dist/shared/logger.d.ts +2 -0
  344. package/dist/shared/messages.d.ts +33 -0
  345. package/dist/shared/messages.test.d.ts +1 -0
  346. package/dist/shared/migration.d.ts +17 -0
  347. package/dist/shared/migration.test.d.ts +1 -0
  348. package/dist/shared/model-sanitizer.d.ts +3 -0
  349. package/dist/shared/opencode-config-dir.d.ts +19 -0
  350. package/dist/shared/opencode-config-dir.test.d.ts +1 -0
  351. package/dist/shared/opencode-version.d.ts +10 -0
  352. package/dist/shared/opencode-version.test.d.ts +1 -0
  353. package/dist/shared/pattern-matcher.d.ts +3 -0
  354. package/dist/shared/permission-compat.d.ts +12 -0
  355. package/dist/shared/permission-compat.test.d.ts +1 -0
  356. package/dist/shared/snake-case.d.ts +4 -0
  357. package/dist/shared/tool-name.d.ts +1 -0
  358. package/dist/tools/ast-grep/cli.d.ts +15 -0
  359. package/dist/tools/ast-grep/constants.d.ts +29 -0
  360. package/dist/tools/ast-grep/downloader.d.ts +5 -0
  361. package/dist/tools/ast-grep/index.d.ts +8 -0
  362. package/dist/tools/ast-grep/napi.d.ts +13 -0
  363. package/dist/tools/ast-grep/tools.d.ts +3 -0
  364. package/dist/tools/ast-grep/types.d.ts +58 -0
  365. package/dist/tools/ast-grep/utils.d.ts +5 -0
  366. package/dist/tools/background-task/constants.d.ts +3 -0
  367. package/dist/tools/background-task/index.d.ts +3 -0
  368. package/dist/tools/background-task/tools.d.ts +7 -0
  369. package/dist/tools/background-task/types.d.ts +14 -0
  370. package/dist/tools/call-homer-agent/constants.d.ts +2 -0
  371. package/dist/tools/call-homer-agent/index.d.ts +3 -0
  372. package/dist/tools/call-homer-agent/tools.d.ts +3 -0
  373. package/dist/tools/call-homer-agent/types.d.ts +24 -0
  374. package/dist/tools/glob/cli.d.ts +7 -0
  375. package/dist/tools/glob/constants.d.ts +6 -0
  376. package/dist/tools/glob/index.d.ts +2 -0
  377. package/dist/tools/glob/tools.d.ts +2 -0
  378. package/dist/tools/glob/types.d.ts +19 -0
  379. package/dist/tools/glob/utils.d.ts +2 -0
  380. package/dist/tools/grep/cli.d.ts +3 -0
  381. package/dist/tools/grep/constants.d.ts +17 -0
  382. package/dist/tools/grep/downloader.d.ts +3 -0
  383. package/dist/tools/grep/downloader.test.d.ts +1 -0
  384. package/dist/tools/grep/index.d.ts +2 -0
  385. package/dist/tools/grep/tools.d.ts +2 -0
  386. package/dist/tools/grep/types.d.ts +36 -0
  387. package/dist/tools/grep/utils.d.ts +3 -0
  388. package/dist/tools/homer-task/constants.d.ts +12 -0
  389. package/dist/tools/homer-task/index.d.ts +3 -0
  390. package/dist/tools/homer-task/tools.d.ts +16 -0
  391. package/dist/tools/homer-task/tools.test.d.ts +1 -0
  392. package/dist/tools/homer-task/types.d.ts +9 -0
  393. package/dist/tools/index.d.ts +16 -0
  394. package/dist/tools/interactive-bash/constants.d.ts +3 -0
  395. package/dist/tools/interactive-bash/index.d.ts +3 -0
  396. package/dist/tools/interactive-bash/tools.d.ts +7 -0
  397. package/dist/tools/interactive-bash/types.d.ts +3 -0
  398. package/dist/tools/interactive-bash/utils.d.ts +3 -0
  399. package/dist/tools/look-at/constants.d.ts +2 -0
  400. package/dist/tools/look-at/index.d.ts +3 -0
  401. package/dist/tools/look-at/tools.d.ts +2 -0
  402. package/dist/tools/look-at/types.d.ts +4 -0
  403. package/dist/tools/lsp/client.d.ts +60 -0
  404. package/dist/tools/lsp/config.d.ts +17 -0
  405. package/dist/tools/lsp/constants.d.ts +9 -0
  406. package/dist/tools/lsp/index.d.ts +6 -0
  407. package/dist/tools/lsp/tools.d.ts +12 -0
  408. package/dist/tools/lsp/types.d.ts +156 -0
  409. package/dist/tools/lsp/utils.d.ts +29 -0
  410. package/dist/tools/session-manager/constants.d.ts +12 -0
  411. package/dist/tools/session-manager/index.d.ts +3 -0
  412. package/dist/tools/session-manager/storage.d.ts +12 -0
  413. package/dist/tools/session-manager/storage.test.d.ts +1 -0
  414. package/dist/tools/session-manager/tools.d.ts +5 -0
  415. package/dist/tools/session-manager/tools.test.d.ts +1 -0
  416. package/dist/tools/session-manager/types.d.ts +89 -0
  417. package/dist/tools/session-manager/utils.d.ts +11 -0
  418. package/dist/tools/session-manager/utils.test.d.ts +1 -0
  419. package/dist/tools/skill/constants.d.ts +3 -0
  420. package/dist/tools/skill/index.d.ts +3 -0
  421. package/dist/tools/skill/tools.d.ts +4 -0
  422. package/dist/tools/skill/tools.test.d.ts +1 -0
  423. package/dist/tools/skill/types.d.ts +25 -0
  424. package/dist/tools/skill-mcp/constants.d.ts +2 -0
  425. package/dist/tools/skill-mcp/index.d.ts +3 -0
  426. package/dist/tools/skill-mcp/tools.d.ts +11 -0
  427. package/dist/tools/skill-mcp/tools.test.d.ts +1 -0
  428. package/dist/tools/skill-mcp/types.d.ts +8 -0
  429. package/dist/tools/slashcommand/index.d.ts +2 -0
  430. package/dist/tools/slashcommand/tools.d.ts +5 -0
  431. package/dist/tools/slashcommand/types.d.ts +24 -0
  432. package/dist/tools/spec-system/clarity-checker.d.ts +23 -0
  433. package/dist/tools/spec-system/clarity-checker.test.d.ts +1 -0
  434. package/dist/tools/spec-system/index.d.ts +9 -0
  435. package/dist/tools/spec-system/scenario-builder.d.ts +56 -0
  436. package/dist/tools/spec-system/spec-file-manager.d.ts +59 -0
  437. package/dist/tools/spec-system/types.d.ts +92 -0
  438. package/dist/tools/status-recorder/attempt-tracker.d.ts +98 -0
  439. package/dist/tools/status-recorder/failure-analyzer.d.ts +48 -0
  440. package/dist/tools/status-recorder/index.d.ts +7 -0
  441. package/dist/tools/status-recorder/types.d.ts +80 -0
  442. package/package.json +82 -0
@@ -0,0 +1,5 @@
1
+ export declare const context7: {
2
+ type: "remote";
3
+ url: string;
4
+ enabled: boolean;
5
+ };
@@ -0,0 +1,5 @@
1
+ export declare const grep_app: {
2
+ type: "remote";
3
+ url: string;
4
+ enabled: boolean;
5
+ };
@@ -0,0 +1,8 @@
1
+ export { McpNameSchema, type McpName } from "./types";
2
+ type RemoteMcpConfig = {
3
+ type: "remote";
4
+ url: string;
5
+ enabled: boolean;
6
+ headers?: Record<string, string>;
7
+ };
8
+ export declare function createBuiltinMcps(disabledMcps?: string[]): Record<string, RemoteMcpConfig>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+ export declare const McpNameSchema: z.ZodEnum<{
3
+ websearch: "websearch";
4
+ context7: "context7";
5
+ grep_app: "grep_app";
6
+ }>;
7
+ export type McpName = z.infer<typeof McpNameSchema>;
8
+ export declare const AnyMcpNameSchema: z.ZodString;
9
+ export type AnyMcpName = z.infer<typeof AnyMcpNameSchema>;
@@ -0,0 +1,8 @@
1
+ export declare const websearch: {
2
+ type: "remote";
3
+ url: string;
4
+ enabled: boolean;
5
+ headers: {
6
+ "x-api-key": string;
7
+ } | undefined;
8
+ };
@@ -0,0 +1,4 @@
1
+ import { type HomerSimpsonConfig } from "./config";
2
+ export declare function loadConfigFromPath(configPath: string, ctx: unknown): HomerSimpsonConfig | null;
3
+ export declare function mergeConfigs(base: HomerSimpsonConfig, override: HomerSimpsonConfig): HomerSimpsonConfig;
4
+ export declare function loadPluginConfig(directory: string, ctx: unknown): HomerSimpsonConfig;
@@ -0,0 +1,10 @@
1
+ import type { HomerSimpsonConfig } from "../config";
2
+ import type { ModelCacheState } from "../plugin-state";
3
+ export interface ConfigHandlerDeps {
4
+ ctx: {
5
+ directory: string;
6
+ };
7
+ pluginConfig: HomerSimpsonConfig;
8
+ modelCacheState: ModelCacheState;
9
+ }
10
+ export declare function createConfigHandler(deps: ConfigHandlerDeps): (config: Record<string, unknown>) => Promise<void>;
@@ -0,0 +1 @@
1
+ export { createConfigHandler, type ConfigHandlerDeps } from "./config-handler";
@@ -0,0 +1,6 @@
1
+ export interface ModelCacheState {
2
+ modelContextLimitsCache: Map<string, number>;
3
+ anthropicContext1MEnabled: boolean;
4
+ }
5
+ export declare function createModelCacheState(): ModelCacheState;
6
+ export declare function getModelLimit(state: ModelCacheState, providerID: string, modelID: string): number | undefined;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * 에이전트 표시 이름 모듈
3
+ * 그리스 신화 기반 내부 이름을 사용자 친화적인 한국어로 변환
4
+ */
5
+ /**
6
+ * 에이전트 내부 이름을 표시용 이름으로 변환
7
+ * @param agentName 내부 에이전트 이름
8
+ * @returns 사용자 친화적인 표시 이름
9
+ */
10
+ export declare function getAgentDisplayName(agentName: string): string;
11
+ /**
12
+ * 에이전트 역할 설명 가져오기
13
+ * @param agentName 내부 에이전트 이름
14
+ * @returns 에이전트 역할 설명
15
+ */
16
+ export declare function getAgentDescription(agentName: string): string | undefined;
17
+ /**
18
+ * 에이전트 작업 시작 메시지 생성
19
+ * @param agentName 에이전트 이름
20
+ * @param task 작업 내용 (선택)
21
+ * @returns 친화적인 작업 시작 메시지
22
+ */
23
+ export declare function agentStartMessage(agentName: string, task?: string): string;
24
+ /**
25
+ * 에이전트 작업 완료 메시지 생성
26
+ * @param agentName 에이전트 이름
27
+ * @param task 작업 내용 (선택)
28
+ * @returns 친화적인 작업 완료 메시지
29
+ */
30
+ export declare function agentCompleteMessage(agentName: string, task?: string): string;
31
+ /**
32
+ * 에이전트 위임 메시지 생성
33
+ * @param fromAgent 위임하는 에이전트
34
+ * @param toAgent 위임받는 에이전트
35
+ * @param task 위임 작업 (선택)
36
+ * @returns 친화적인 위임 메시지
37
+ */
38
+ export declare function agentDelegateMessage(fromAgent: string, toAgent: string, task?: string): string;
39
+ /**
40
+ * 모든 에이전트 표시 이름 목록 가져오기
41
+ * @returns 에이전트 이름 매핑 객체
42
+ */
43
+ export declare function getAllAgentDisplayNames(): Record<string, string>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export declare function getClaudeConfigDir(): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ export interface CommandResult {
2
+ exitCode: number;
3
+ stdout?: string;
4
+ stderr?: string;
5
+ }
6
+ export interface ExecuteHookOptions {
7
+ forceZsh?: boolean;
8
+ zshPath?: string;
9
+ }
10
+ /**
11
+ * Execute a hook command with stdin input
12
+ */
13
+ export declare function executeHookCommand(command: string, stdin: string, cwd: string, options?: ExecuteHookOptions): Promise<CommandResult>;
14
+ /**
15
+ * Execute a simple command and return output
16
+ */
17
+ export declare function executeCommand(command: string): Promise<string>;
18
+ /**
19
+ * Resolve embedded commands in text recursively
20
+ */
21
+ export declare function resolveCommandsInText(text: string, depth?: number, maxDepth?: number): Promise<string>;
@@ -0,0 +1,7 @@
1
+ export type ConfigLoadError = {
2
+ path: string;
3
+ error: string;
4
+ };
5
+ export declare function getConfigLoadErrors(): ConfigLoadError[];
6
+ export declare function clearConfigLoadErrors(): void;
7
+ export declare function addConfigLoadError(error: ConfigLoadError): void;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Returns the user-level config directory based on the OS.
3
+ * - Linux/macOS: XDG_CONFIG_HOME or ~/.config
4
+ * - Windows: Checks ~/.config first (cross-platform), then %APPDATA% (fallback)
5
+ *
6
+ * On Windows, prioritizes ~/.config for cross-platform consistency.
7
+ * Falls back to %APPDATA% for backward compatibility with existing installations.
8
+ */
9
+ export declare function getUserConfigDir(): string;
10
+ /**
11
+ * Returns the full path to the user-level homer-simpson config file.
12
+ */
13
+ export declare function getUserConfigPath(): string;
14
+ /**
15
+ * Returns the full path to the project-level homer-simpson config file.
16
+ */
17
+ export declare function getProjectConfigPath(directory: string): string;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Returns the user-level data directory.
3
+ * Matches OpenCode's behavior via xdg-basedir:
4
+ * - All platforms: XDG_DATA_HOME or ~/.local/share
5
+ *
6
+ * Note: OpenCode uses xdg-basedir which returns ~/.local/share on ALL platforms
7
+ * including Windows, so we match that behavior exactly.
8
+ */
9
+ export declare function getDataDir(): string;
10
+ /**
11
+ * Returns the OpenCode storage directory path.
12
+ * All platforms: ~/.local/share/opencode/storage
13
+ */
14
+ export declare function getOpenCodeStorageDir(): string;
@@ -0,0 +1,13 @@
1
+ export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
2
+ /**
3
+ * Deep merges two objects, with override values taking precedence.
4
+ * - Objects are recursively merged
5
+ * - Arrays are replaced (not concatenated)
6
+ * - undefined values in override do not overwrite base values
7
+ *
8
+ * @example
9
+ * deepMerge({ a: 1, b: { c: 2, d: 3 } }, { b: { c: 10 }, e: 5 })
10
+ * // => { a: 1, b: { c: 10, d: 3 }, e: 5 }
11
+ */
12
+ export declare function deepMerge<T extends Record<string, unknown>>(base: T, override: Partial<T>, depth?: number): T;
13
+ export declare function deepMerge<T extends Record<string, unknown>>(base: T | undefined, override: T | undefined, depth?: number): T | undefined;
@@ -0,0 +1,27 @@
1
+ import type { PluginInput } from "@opencode-ai/plugin";
2
+ export interface TruncationResult {
3
+ result: string;
4
+ truncated: boolean;
5
+ removedCount?: number;
6
+ }
7
+ export interface TruncationOptions {
8
+ targetMaxTokens?: number;
9
+ preserveHeaderLines?: number;
10
+ contextWindowLimit?: number;
11
+ }
12
+ export declare function truncateToTokenLimit(output: string, maxTokens: number, preserveHeaderLines?: number): TruncationResult;
13
+ export declare function getContextWindowUsage(ctx: PluginInput, sessionID: string): Promise<{
14
+ usedTokens: number;
15
+ remainingTokens: number;
16
+ usagePercentage: number;
17
+ } | null>;
18
+ export declare function dynamicTruncate(ctx: PluginInput, sessionID: string, output: string, options?: TruncationOptions): Promise<TruncationResult>;
19
+ export declare function createDynamicTruncator(ctx: PluginInput): {
20
+ truncate: (sessionID: string, output: string, options?: TruncationOptions) => Promise<TruncationResult>;
21
+ getUsage: (sessionID: string) => Promise<{
22
+ usedTokens: number;
23
+ remainingTokens: number;
24
+ usagePercentage: number;
25
+ } | null>;
26
+ truncateSync: (output: string, maxTokens: number, preserveHeaderLines?: number) => TruncationResult;
27
+ };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Detects external plugins that may conflict with homer-simpson features.
3
+ * Used to prevent crashes from concurrent notification plugins.
4
+ */
5
+ export interface ExternalNotifierResult {
6
+ detected: boolean;
7
+ pluginName: string | null;
8
+ allPlugins: string[];
9
+ }
10
+ /**
11
+ * Detect if any external notification plugin is configured.
12
+ * Returns information about detected plugins for logging/warning.
13
+ */
14
+ export declare function detectExternalNotificationPlugin(directory: string): ExternalNotifierResult;
15
+ /**
16
+ * Generate a warning message for users with conflicting notification plugins.
17
+ */
18
+ export declare function getNotificationConflictWarning(pluginName: string): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export declare function resolveFileReferencesInText(text: string, cwd?: string, depth?: number, maxDepth?: number): Promise<string>;
@@ -0,0 +1,7 @@
1
+ export declare function isMarkdownFile(entry: {
2
+ name: string;
3
+ isFile: () => boolean;
4
+ }): boolean;
5
+ export declare function isSymbolicLink(filePath: string): boolean;
6
+ export declare function resolveSymlink(filePath: string): string;
7
+ export declare function resolveSymlinkAsync(filePath: string): Promise<string>;
@@ -0,0 +1,7 @@
1
+ export interface FrontmatterResult<T = Record<string, unknown>> {
2
+ data: T;
3
+ body: string;
4
+ hadFrontmatter: boolean;
5
+ parseError: boolean;
6
+ }
7
+ export declare function parseFrontmatter<T = Record<string, unknown>>(content: string): FrontmatterResult<T>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { ClaudeHookEvent, PluginConfig } from "../hooks/claude-code-hooks/types";
2
+ export declare function isHookDisabled(config: PluginConfig, hookType: ClaudeHookEvent): boolean;
@@ -0,0 +1,24 @@
1
+ export * from "./frontmatter";
2
+ export * from "./command-executor";
3
+ export * from "./file-reference-resolver";
4
+ export * from "./model-sanitizer";
5
+ export * from "./logger";
6
+ export * from "./snake-case";
7
+ export * from "./tool-name";
8
+ export * from "./pattern-matcher";
9
+ export * from "./hook-disabled";
10
+ export * from "./deep-merge";
11
+ export * from "./file-utils";
12
+ export * from "./dynamic-truncator";
13
+ export * from "./config-path";
14
+ export * from "./data-path";
15
+ export * from "./config-errors";
16
+ export * from "./claude-config-dir";
17
+ export * from "./jsonc-parser";
18
+ export * from "./migration";
19
+ export * from "./opencode-config-dir";
20
+ export * from "./opencode-version";
21
+ export * from "./permission-compat";
22
+ export * from "./external-plugin-detector";
23
+ export * from "./messages";
24
+ export * from "./agent-display";
@@ -0,0 +1,15 @@
1
+ export interface JsoncParseResult<T> {
2
+ data: T | null;
3
+ errors: Array<{
4
+ message: string;
5
+ offset: number;
6
+ length: number;
7
+ }>;
8
+ }
9
+ export declare function parseJsonc<T = unknown>(content: string): T;
10
+ export declare function parseJsoncSafe<T = unknown>(content: string): JsoncParseResult<T>;
11
+ export declare function readJsoncFile<T = unknown>(filePath: string): T | null;
12
+ export declare function detectConfigFile(basePath: string): {
13
+ format: "json" | "jsonc" | "none";
14
+ path: string;
15
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare function log(message: string, data?: unknown): void;
2
+ export declare function getLogFilePath(): string;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * 메시지 친화화 모듈
3
+ * 기술적인 메시지를 비개발자도 이해할 수 있는 자연어로 변환
4
+ */
5
+ /**
6
+ * 기술적인 메시지를 친화적인 표현으로 변환
7
+ * @param message 원본 메시지
8
+ * @returns 친화적인 메시지
9
+ */
10
+ export declare function friendlyMessage(message: string): string;
11
+ /**
12
+ * 토스트 메시지 친화화
13
+ * @param title 토스트 제목
14
+ * @param message 토스트 본문
15
+ * @returns 친화적인 토스트 메시지
16
+ */
17
+ export declare function friendlyToast(title: string, message?: string): {
18
+ title: string;
19
+ message?: string;
20
+ };
21
+ /**
22
+ * 에러 메시지 친화화
23
+ * @param error 에러 객체 또는 메시지
24
+ * @returns 친화적인 에러 메시지
25
+ */
26
+ export declare function friendlyError(error: unknown): string;
27
+ /**
28
+ * 진행 상태 메시지 생성
29
+ * @param action 현재 작업
30
+ * @param target 대상 (파일명, 기능명 등)
31
+ * @returns 친화적인 진행 상태 메시지
32
+ */
33
+ export declare function progressMessage(action: string, target?: string): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ export declare const AGENT_NAME_MAP: Record<string, string>;
2
+ export declare const HOOK_NAME_MAP: Record<string, string>;
3
+ export declare const MODEL_TO_CATEGORY_MAP: Record<string, string>;
4
+ export declare function migrateAgentNames(agents: Record<string, unknown>): {
5
+ migrated: Record<string, unknown>;
6
+ changed: boolean;
7
+ };
8
+ export declare function migrateHookNames(hooks: string[]): {
9
+ migrated: string[];
10
+ changed: boolean;
11
+ };
12
+ export declare function migrateAgentConfigToCategory(config: Record<string, unknown>): {
13
+ migrated: Record<string, unknown>;
14
+ changed: boolean;
15
+ };
16
+ export declare function shouldDeleteAgentConfig(config: Record<string, unknown>, category: string): boolean;
17
+ export declare function migrateConfigFile(configPath: string, rawConfig: Record<string, unknown>): boolean;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ type CommandSource = "claude-code" | "opencode";
2
+ export declare function sanitizeModelField(model: unknown, source?: CommandSource): string | undefined;
3
+ export {};
@@ -0,0 +1,19 @@
1
+ export type OpenCodeBinaryType = "opencode" | "opencode-desktop";
2
+ export interface OpenCodeConfigDirOptions {
3
+ binary: OpenCodeBinaryType;
4
+ version?: string | null;
5
+ checkExisting?: boolean;
6
+ }
7
+ export interface OpenCodeConfigPaths {
8
+ configDir: string;
9
+ configJson: string;
10
+ configJsonc: string;
11
+ packageJson: string;
12
+ homerConfig: string;
13
+ }
14
+ export declare const TAURI_APP_IDENTIFIER = "ai.opencode.desktop";
15
+ export declare const TAURI_APP_IDENTIFIER_DEV = "ai.opencode.desktop.dev";
16
+ export declare function isDevBuild(version: string | null | undefined): boolean;
17
+ export declare function getOpenCodeConfigDir(options: OpenCodeConfigDirOptions): string;
18
+ export declare function getOpenCodeConfigPaths(options: OpenCodeConfigDirOptions): OpenCodeConfigPaths;
19
+ export declare function detectExistingConfigDir(binary: OpenCodeBinaryType, version?: string | null): string | null;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ export declare const PERMISSION_BREAKING_VERSION = "1.1.1";
2
+ export declare function parseVersion(version: string): number[];
3
+ export declare function compareVersions(a: string, b: string): -1 | 0 | 1;
4
+ export declare function isVersionGte(a: string, b: string): boolean;
5
+ export declare function isVersionLt(a: string, b: string): boolean;
6
+ export declare function getOpenCodeVersion(): string | null;
7
+ export declare function supportsNewPermissionSystem(): boolean;
8
+ export declare function usesLegacyToolsSystem(): boolean;
9
+ export declare function resetVersionCache(): void;
10
+ export declare function setVersionCache(version: string | null): void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { ClaudeHooksConfig, HookMatcher } from "../hooks/claude-code-hooks/types";
2
+ export declare function matchesToolMatcher(toolName: string, matcher: string): boolean;
3
+ export declare function findMatchingHooks(config: ClaudeHooksConfig, eventName: keyof ClaudeHooksConfig, toolName?: string): HookMatcher[];
@@ -0,0 +1,12 @@
1
+ export type PermissionValue = "ask" | "allow" | "deny";
2
+ export interface LegacyToolsFormat {
3
+ tools: Record<string, boolean>;
4
+ }
5
+ export interface NewPermissionFormat {
6
+ permission: Record<string, PermissionValue>;
7
+ }
8
+ export type VersionAwareRestrictions = LegacyToolsFormat | NewPermissionFormat;
9
+ export declare function createAgentToolRestrictions(denyTools: string[]): VersionAwareRestrictions;
10
+ export declare function migrateToolsToPermission(tools: Record<string, boolean>): Record<string, PermissionValue>;
11
+ export declare function migratePermissionToTools(permission: Record<string, PermissionValue>): Record<string, boolean>;
12
+ export declare function migrateAgentConfig(config: Record<string, unknown>): Record<string, unknown>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare function camelToSnake(str: string): string;
2
+ export declare function snakeToCamel(str: string): string;
3
+ export declare function objectToSnakeCase(obj: Record<string, unknown>, deep?: boolean): Record<string, unknown>;
4
+ export declare function objectToCamelCase(obj: Record<string, unknown>, deep?: boolean): Record<string, unknown>;
@@ -0,0 +1 @@
1
+ export declare function transformToolName(toolName: string): string;
@@ -0,0 +1,15 @@
1
+ import type { CliLanguage, SgResult } from "./types";
2
+ export interface RunOptions {
3
+ pattern: string;
4
+ lang: CliLanguage;
5
+ paths?: string[];
6
+ globs?: string[];
7
+ rewrite?: string;
8
+ context?: number;
9
+ updateAll?: boolean;
10
+ }
11
+ export declare function getAstGrepPath(): Promise<string | null>;
12
+ export declare function startBackgroundInit(): void;
13
+ export declare function runSg(options: RunOptions): Promise<SgResult>;
14
+ export declare function isCliAvailable(): boolean;
15
+ export declare function ensureCliAvailable(): Promise<boolean>;
@@ -0,0 +1,29 @@
1
+ export declare function findSgCliPathSync(): string | null;
2
+ export declare function getSgCliPath(): string;
3
+ export declare function setSgCliPath(path: string): void;
4
+ export declare const CLI_LANGUAGES: readonly ["bash", "c", "cpp", "csharp", "css", "elixir", "go", "haskell", "html", "java", "javascript", "json", "kotlin", "lua", "nix", "php", "python", "ruby", "rust", "scala", "solidity", "swift", "typescript", "tsx", "yaml"];
5
+ export declare const NAPI_LANGUAGES: readonly ["html", "javascript", "tsx", "css", "typescript"];
6
+ export declare const DEFAULT_TIMEOUT_MS = 300000;
7
+ export declare const DEFAULT_MAX_OUTPUT_BYTES: number;
8
+ export declare const DEFAULT_MAX_MATCHES = 500;
9
+ export declare const LANG_EXTENSIONS: Record<string, string[]>;
10
+ export interface EnvironmentCheckResult {
11
+ cli: {
12
+ available: boolean;
13
+ path: string;
14
+ error?: string;
15
+ };
16
+ napi: {
17
+ available: boolean;
18
+ error?: string;
19
+ };
20
+ }
21
+ /**
22
+ * Check if ast-grep CLI and NAPI are available.
23
+ * Call this at startup to provide early feedback about missing dependencies.
24
+ */
25
+ export declare function checkEnvironment(): EnvironmentCheckResult;
26
+ /**
27
+ * Format environment check result as user-friendly message.
28
+ */
29
+ export declare function formatEnvironmentCheck(result: EnvironmentCheckResult): string;
@@ -0,0 +1,5 @@
1
+ export declare function getCacheDir(): string;
2
+ export declare function getBinaryName(): string;
3
+ export declare function getCachedBinaryPath(): string | null;
4
+ export declare function downloadAstGrep(version?: string): Promise<string | null>;
5
+ export declare function ensureAstGrepBinary(): Promise<string | null>;
@@ -0,0 +1,8 @@
1
+ import type { ToolDefinition } from "@opencode-ai/plugin";
2
+ import { ast_grep_search, ast_grep_replace } from "./tools";
3
+ export declare const builtinTools: Record<string, ToolDefinition>;
4
+ export { ast_grep_search, ast_grep_replace };
5
+ export { ensureAstGrepBinary, getCachedBinaryPath, getCacheDir } from "./downloader";
6
+ export { getAstGrepPath, isCliAvailable, ensureCliAvailable, startBackgroundInit } from "./cli";
7
+ export { checkEnvironment, formatEnvironmentCheck } from "./constants";
8
+ export type { EnvironmentCheckResult } from "./constants";
@@ -0,0 +1,13 @@
1
+ import type { NapiLanguage, AnalyzeResult, MetaVariable } from "./types";
2
+ export declare function parseCode(code: string, lang: NapiLanguage): import("@ast-grep/napi").SgRoot<import("@ast-grep/napi/types/staticTypes").TypesMap>;
3
+ export declare function findPattern(root: ReturnType<typeof parseCode>, pattern: string): import("@ast-grep/napi").SgNode<import("@ast-grep/napi/types/staticTypes").TypesMap, import("@ast-grep/napi/types/staticTypes").Kinds<import("@ast-grep/napi/types/staticTypes").TypesMap>>[];
4
+ export declare function extractMetaVariables(node: ReturnType<ReturnType<typeof parseCode>["root"]>, pattern: string): MetaVariable[];
5
+ export declare function analyzeCode(code: string, lang: NapiLanguage, pattern: string, shouldExtractMetaVars: boolean): AnalyzeResult[];
6
+ export declare function transformCode(code: string, lang: NapiLanguage, pattern: string, rewrite: string): {
7
+ transformed: string;
8
+ editCount: number;
9
+ };
10
+ export declare function getRootInfo(code: string, lang: NapiLanguage): {
11
+ kind: string;
12
+ childCount: number;
13
+ };
@@ -0,0 +1,3 @@
1
+ import { type ToolDefinition } from "@opencode-ai/plugin/tool";
2
+ export declare const ast_grep_search: ToolDefinition;
3
+ export declare const ast_grep_replace: ToolDefinition;
@@ -0,0 +1,58 @@
1
+ import type { CLI_LANGUAGES, NAPI_LANGUAGES } from "./constants";
2
+ export type CliLanguage = (typeof CLI_LANGUAGES)[number];
3
+ export type NapiLanguage = (typeof NAPI_LANGUAGES)[number];
4
+ export interface Position {
5
+ line: number;
6
+ column: number;
7
+ }
8
+ export interface Range {
9
+ start: Position;
10
+ end: Position;
11
+ }
12
+ export interface CliMatch {
13
+ text: string;
14
+ range: {
15
+ byteOffset: {
16
+ start: number;
17
+ end: number;
18
+ };
19
+ start: Position;
20
+ end: Position;
21
+ };
22
+ file: string;
23
+ lines: string;
24
+ charCount: {
25
+ leading: number;
26
+ trailing: number;
27
+ };
28
+ language: string;
29
+ }
30
+ export interface SearchMatch {
31
+ file: string;
32
+ text: string;
33
+ range: Range;
34
+ lines: string;
35
+ }
36
+ export interface MetaVariable {
37
+ name: string;
38
+ text: string;
39
+ kind: string;
40
+ }
41
+ export interface AnalyzeResult {
42
+ text: string;
43
+ range: Range;
44
+ kind: string;
45
+ metaVariables: MetaVariable[];
46
+ }
47
+ export interface TransformResult {
48
+ original: string;
49
+ transformed: string;
50
+ editCount: number;
51
+ }
52
+ export interface SgResult {
53
+ matches: CliMatch[];
54
+ totalMatches: number;
55
+ truncated: boolean;
56
+ truncatedReason?: "max_matches" | "max_output_bytes" | "timeout";
57
+ error?: string;
58
+ }
@@ -0,0 +1,5 @@
1
+ import type { AnalyzeResult, SgResult } from "./types";
2
+ export declare function formatSearchResult(result: SgResult): string;
3
+ export declare function formatReplaceResult(result: SgResult, isDryRun: boolean): string;
4
+ export declare function formatAnalyzeResult(results: AnalyzeResult[], extractedMetaVars: boolean): string;
5
+ export declare function formatTransformResult(_original: string, transformed: string, editCount: number): string;
@@ -0,0 +1,3 @@
1
+ export declare const BACKGROUND_TASK_DESCRIPTION = "Run agent task in background. Returns task_id immediately; notifies on completion.\n\nUse `background_output` to get results. Prompts MUST be in English.";
2
+ export declare const BACKGROUND_OUTPUT_DESCRIPTION = "Get output from background task. System notifies on completion, so block=true rarely needed.";
3
+ export declare const BACKGROUND_CANCEL_DESCRIPTION = "Cancel running background task(s). Use all=true to cancel ALL before final answer.";
@@ -0,0 +1,3 @@
1
+ export { createBackgroundOutput, createBackgroundCancel, } from "./tools";
2
+ export type * from "./types";
3
+ export * from "./constants";