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,12 @@
1
+ import type { SessionMessage, SessionInfo, TodoItem, SessionMetadata } from "./types";
2
+ export interface GetMainSessionsOptions {
3
+ directory?: string;
4
+ }
5
+ export declare function getMainSessions(options: GetMainSessionsOptions): Promise<SessionMetadata[]>;
6
+ export declare function getAllSessions(): Promise<string[]>;
7
+ export declare function getMessageDir(sessionID: string): string;
8
+ export declare function sessionExists(sessionID: string): boolean;
9
+ export declare function readSessionMessages(sessionID: string): Promise<SessionMessage[]>;
10
+ export declare function readSessionTodos(sessionID: string): Promise<TodoItem[]>;
11
+ export declare function readSessionTranscript(sessionID: string): Promise<number>;
12
+ export declare function getSessionInfo(sessionID: string): Promise<SessionInfo | null>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import { type ToolDefinition } from "@opencode-ai/plugin/tool";
2
+ export declare const session_list: ToolDefinition;
3
+ export declare const session_read: ToolDefinition;
4
+ export declare const session_search: ToolDefinition;
5
+ export declare const session_info: ToolDefinition;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,89 @@
1
+ export interface SessionMessage {
2
+ id: string;
3
+ role: "user" | "assistant";
4
+ agent?: string;
5
+ time?: {
6
+ created: number;
7
+ updated?: number;
8
+ };
9
+ parts: MessagePart[];
10
+ }
11
+ export interface MessagePart {
12
+ id: string;
13
+ type: string;
14
+ text?: string;
15
+ thinking?: string;
16
+ tool?: string;
17
+ callID?: string;
18
+ input?: Record<string, unknown>;
19
+ output?: string;
20
+ error?: string;
21
+ }
22
+ export interface SessionInfo {
23
+ id: string;
24
+ message_count: number;
25
+ first_message?: Date;
26
+ last_message?: Date;
27
+ agents_used: string[];
28
+ has_todos: boolean;
29
+ has_transcript: boolean;
30
+ todos?: TodoItem[];
31
+ transcript_entries?: number;
32
+ }
33
+ export interface TodoItem {
34
+ id: string;
35
+ content: string;
36
+ status: "pending" | "in_progress" | "completed" | "cancelled";
37
+ priority?: string;
38
+ }
39
+ export interface SearchResult {
40
+ session_id: string;
41
+ message_id: string;
42
+ role: string;
43
+ excerpt: string;
44
+ match_count: number;
45
+ timestamp?: number;
46
+ }
47
+ export interface SessionMetadata {
48
+ id: string;
49
+ version?: string;
50
+ projectID: string;
51
+ directory: string;
52
+ title?: string;
53
+ parentID?: string;
54
+ time: {
55
+ created: number;
56
+ updated: number;
57
+ };
58
+ summary?: {
59
+ additions: number;
60
+ deletions: number;
61
+ files: number;
62
+ };
63
+ }
64
+ export interface SessionListArgs {
65
+ limit?: number;
66
+ offset?: number;
67
+ from_date?: string;
68
+ to_date?: string;
69
+ project_path?: string;
70
+ }
71
+ export interface SessionReadArgs {
72
+ session_id: string;
73
+ include_todos?: boolean;
74
+ include_transcript?: boolean;
75
+ limit?: number;
76
+ }
77
+ export interface SessionSearchArgs {
78
+ query: string;
79
+ session_id?: string;
80
+ case_sensitive?: boolean;
81
+ limit?: number;
82
+ }
83
+ export interface SessionInfoArgs {
84
+ session_id: string;
85
+ }
86
+ export interface SessionDeleteArgs {
87
+ session_id: string;
88
+ confirm: boolean;
89
+ }
@@ -0,0 +1,11 @@
1
+ import type { SessionInfo, SessionMessage, SearchResult } from "./types";
2
+ export declare function formatSessionList(sessionIDs: string[]): Promise<string>;
3
+ export declare function formatSessionMessages(messages: SessionMessage[], includeTodos?: boolean, todos?: Array<{
4
+ id: string;
5
+ content: string;
6
+ status: string;
7
+ }>): string;
8
+ export declare function formatSessionInfo(info: SessionInfo): string;
9
+ export declare function formatSearchResults(results: SearchResult[]): string;
10
+ export declare function filterSessionsByDate(sessionIDs: string[], fromDate?: string, toDate?: string): Promise<string[]>;
11
+ export declare function searchInSession(sessionID: string, query: string, caseSensitive?: boolean, maxResults?: number): Promise<SearchResult[]>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare const TOOL_NAME: "skill";
2
+ export declare const TOOL_DESCRIPTION_NO_SKILLS = "Load a skill to get detailed instructions for a specific task. No skills are currently available.";
3
+ export declare const TOOL_DESCRIPTION_PREFIX = "Load a skill to get detailed instructions for a specific task.\n\nSkills provide specialized knowledge and step-by-step guidance.\nUse this when a task matches an available skill's description.";
@@ -0,0 +1,3 @@
1
+ export * from "./constants";
2
+ export * from "./types";
3
+ export { skill, createSkillTool } from "./tools";
@@ -0,0 +1,4 @@
1
+ import { type ToolDefinition } from "@opencode-ai/plugin";
2
+ import type { SkillLoadOptions } from "./types";
3
+ export declare function createSkillTool(options?: SkillLoadOptions): ToolDefinition;
4
+ export declare const skill: ToolDefinition;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import type { SkillScope, LoadedSkill } from "../../features/opencode-skill-loader/types";
2
+ import type { SkillMcpManager } from "../../features/skill-mcp-manager";
3
+ export interface SkillArgs {
4
+ name: string;
5
+ }
6
+ export interface SkillInfo {
7
+ name: string;
8
+ description: string;
9
+ location?: string;
10
+ scope: SkillScope;
11
+ license?: string;
12
+ compatibility?: string;
13
+ metadata?: Record<string, string>;
14
+ allowedTools?: string[];
15
+ }
16
+ export interface SkillLoadOptions {
17
+ /** When true, only load from OpenCode paths (.opencode/skill/, ~/.config/opencode/skill/) */
18
+ opencodeOnly?: boolean;
19
+ /** Pre-merged skills to use instead of discovering */
20
+ skills?: LoadedSkill[];
21
+ /** MCP manager for querying skill-embedded MCP servers */
22
+ mcpManager?: SkillMcpManager;
23
+ /** Session ID getter for MCP client identification */
24
+ getSessionID?: () => string;
25
+ }
@@ -0,0 +1,2 @@
1
+ export declare const SKILL_MCP_TOOL_NAME = "skill_mcp";
2
+ export declare const SKILL_MCP_DESCRIPTION = "Invoke MCP server operations from skill-embedded MCPs. Requires mcp_name plus exactly one of: tool_name, resource_name, or prompt_name.";
@@ -0,0 +1,3 @@
1
+ export * from "./constants";
2
+ export * from "./types";
3
+ export { createSkillMcpTool } from "./tools";
@@ -0,0 +1,11 @@
1
+ import { type ToolDefinition } from "@opencode-ai/plugin";
2
+ import type { SkillMcpManager } from "../../features/skill-mcp-manager";
3
+ import type { LoadedSkill } from "../../features/opencode-skill-loader/types";
4
+ interface SkillMcpToolOptions {
5
+ manager: SkillMcpManager;
6
+ getLoadedSkills: () => LoadedSkill[];
7
+ getSessionID: () => string;
8
+ }
9
+ export declare function applyGrepFilter(output: string, pattern: string | undefined): string;
10
+ export declare function createSkillMcpTool(options: SkillMcpToolOptions): ToolDefinition;
11
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ export interface SkillMcpArgs {
2
+ mcp_name: string;
3
+ tool_name?: string;
4
+ resource_name?: string;
5
+ prompt_name?: string;
6
+ arguments?: string;
7
+ grep?: string;
8
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./types";
2
+ export { slashcommand, createSlashcommandTool, discoverCommandsSync } from "./tools";
@@ -0,0 +1,5 @@
1
+ import { type ToolDefinition } from "@opencode-ai/plugin";
2
+ import type { CommandInfo, SlashcommandToolOptions } from "./types";
3
+ export declare function discoverCommandsSync(): CommandInfo[];
4
+ export declare function createSlashcommandTool(options?: SlashcommandToolOptions): ToolDefinition;
5
+ export declare const slashcommand: ToolDefinition;
@@ -0,0 +1,24 @@
1
+ import type { LoadedSkill, LazyContentLoader } from "../../features/opencode-skill-loader";
2
+ export type CommandScope = "builtin" | "config" | "user" | "project" | "opencode" | "opencode-project";
3
+ export interface CommandMetadata {
4
+ name: string;
5
+ description: string;
6
+ argumentHint?: string;
7
+ model?: string;
8
+ agent?: string;
9
+ subtask?: boolean;
10
+ }
11
+ export interface CommandInfo {
12
+ name: string;
13
+ path?: string;
14
+ metadata: CommandMetadata;
15
+ content?: string;
16
+ scope: CommandScope;
17
+ lazyContentLoader?: LazyContentLoader;
18
+ }
19
+ export interface SlashcommandToolOptions {
20
+ /** Pre-loaded commands (skip discovery if provided) */
21
+ commands?: CommandInfo[];
22
+ /** Pre-loaded skills (skip discovery if provided) */
23
+ skills?: LoadedSkill[];
24
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * 명확성 판단 모듈
3
+ * 사용자 요청의 명확성/모호성을 판단
4
+ */
5
+ import type { ClarityResult } from "./types";
6
+ /**
7
+ * 요청의 명확성을 판단
8
+ * @param request 사용자 요청 텍스트
9
+ * @returns 명확성 판단 결과
10
+ */
11
+ export declare function checkClarity(request: string): ClarityResult;
12
+ /**
13
+ * AI 컨텍스트용 명확성 판단 프롬프트 생성
14
+ * @param request 사용자 요청
15
+ * @returns AI에게 전달할 판단 가이드
16
+ */
17
+ export declare function generateClarityPrompt(request: string): string;
18
+ /**
19
+ * 요청이 명확한지 빠르게 판단 (AI 호출 전 사전 체크)
20
+ * @param request 사용자 요청
21
+ * @returns 명확하면 true
22
+ */
23
+ export declare function isRequestClear(request: string): boolean;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Spec 시스템
3
+ * 비개발자를 위한 요청 명확화 및 스펙 문서 관리
4
+ */
5
+ export type { SpecStatus, SpecMetadata, SpecFile, SpecScenario, ClarityResult, Ambiguity, AmbiguityCategory, SuggestedQuestion, SpecConfirmationChoice, SpecConfirmationResult, } from "./types";
6
+ export { checkClarity, isRequestClear, generateClarityPrompt } from "./clarity-checker";
7
+ export { getSpecsDir, generateSpecFilename, getSpecFilePath, createSpecFile, readSpecFile, markSpecAsCompleted, listSpecFiles, listActiveSpecs, } from "./spec-file-manager";
8
+ export { inferCategory, buildScenarios, extractRequirements, buildSpec, generateSpecConfirmationMessage, parseUserChoice, } from "./scenario-builder";
9
+ export type { ScenarioContext, FeatureCategory } from "./scenario-builder";
@@ -0,0 +1,56 @@
1
+ /**
2
+ * 시나리오 빌더
3
+ * 사용자 요청과 Q&A를 바탕으로 시나리오 생성
4
+ */
5
+ import type { SpecScenario, SpecFile } from "./types";
6
+ /** 시나리오 생성 컨텍스트 */
7
+ export interface ScenarioContext {
8
+ /** 원본 요청 */
9
+ originalRequest: string;
10
+ /** 질문-답변 목록 */
11
+ qna: Array<{
12
+ question: string;
13
+ answer: string;
14
+ }>;
15
+ /** 기능 카테고리 */
16
+ category?: FeatureCategory;
17
+ }
18
+ /** 기능 카테고리 */
19
+ export type FeatureCategory = "ui-change" | "feature-add" | "bug-fix" | "refactor" | "content-update" | "style-change";
20
+ /**
21
+ * 요청에서 기능 카테고리 추론
22
+ * @param request 사용자 요청
23
+ * @returns 추론된 카테고리
24
+ */
25
+ export declare function inferCategory(request: string): FeatureCategory;
26
+ /**
27
+ * 컨텍스트를 바탕으로 시나리오 생성
28
+ * @param context 시나리오 생성 컨텍스트
29
+ * @returns 생성된 시나리오 목록
30
+ */
31
+ export declare function buildScenarios(context: ScenarioContext): SpecScenario[];
32
+ /**
33
+ * 요구사항 추출
34
+ * @param context 컨텍스트
35
+ * @returns 요구사항 목록
36
+ */
37
+ export declare function extractRequirements(context: ScenarioContext): string[];
38
+ /**
39
+ * 전체 Spec 파일 데이터 생성
40
+ * @param context 컨텍스트
41
+ * @param title 기능명
42
+ * @returns Spec 파일 데이터
43
+ */
44
+ export declare function buildSpec(context: ScenarioContext, title: string): Omit<SpecFile, "path" | "filename">;
45
+ /**
46
+ * Spec 확인 메시지 생성
47
+ * @param specPath Spec 파일 경로
48
+ * @returns 사용자에게 보여줄 확인 메시지
49
+ */
50
+ export declare function generateSpecConfirmationMessage(specPath: string): string;
51
+ /**
52
+ * 사용자 응답을 선택 타입으로 파싱
53
+ * @param response 사용자 응답
54
+ * @returns 선택 타입 또는 null
55
+ */
56
+ export declare function parseUserChoice(response: string): "proceed" | "modify" | "question" | null;
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Spec 파일 관리자
3
+ * md 파일 생성, 읽기, 수정, 파일명 변경 관리
4
+ */
5
+ import type { SpecFile } from "./types";
6
+ /**
7
+ * Spec 디렉토리 경로 가져오기
8
+ * @param projectRoot 프로젝트 루트 경로
9
+ * @returns Spec 디렉토리 절대 경로
10
+ */
11
+ export declare function getSpecsDir(projectRoot: string): string;
12
+ /**
13
+ * Spec 파일명 생성
14
+ * @param title 기능명
15
+ * @param isCompleted 완료 여부
16
+ * @returns 파일명 (확장자 포함)
17
+ */
18
+ export declare function generateSpecFilename(title: string, isCompleted?: boolean): string;
19
+ /**
20
+ * Spec 파일 경로 생성
21
+ * @param projectRoot 프로젝트 루트
22
+ * @param title 기능명
23
+ * @param isCompleted 완료 여부
24
+ * @returns 파일 절대 경로
25
+ */
26
+ export declare function getSpecFilePath(projectRoot: string, title: string, isCompleted?: boolean): string;
27
+ /**
28
+ * Spec 파일을 md 형식으로 생성
29
+ * @param projectRoot 프로젝트 루트
30
+ * @param spec Spec 데이터
31
+ * @returns 생성된 파일 경로
32
+ */
33
+ export declare function createSpecFile(projectRoot: string, spec: Omit<SpecFile, "path" | "filename">): Promise<string>;
34
+ /**
35
+ * Spec 파일 읽기
36
+ * @param filePath 파일 경로
37
+ * @returns Spec 객체
38
+ */
39
+ export declare function readSpecFile(filePath: string): Promise<SpecFile>;
40
+ /**
41
+ * Spec 파일을 완료 상태로 변경 (파일명 변경)
42
+ * @param projectRoot 프로젝트 루트
43
+ * @param currentPath 현재 파일 경로
44
+ * @returns 새 파일 경로
45
+ */
46
+ export declare function markSpecAsCompleted(projectRoot: string, currentPath: string): Promise<string>;
47
+ /**
48
+ * 모든 Spec 파일 목록 가져오기
49
+ * @param projectRoot 프로젝트 루트
50
+ * @param includeCompleted 완료된 것 포함 여부
51
+ * @returns Spec 파일 경로 목록
52
+ */
53
+ export declare function listSpecFiles(projectRoot: string, includeCompleted?: boolean): Promise<string[]>;
54
+ /**
55
+ * 진행 중인 Spec 파일만 가져오기
56
+ * @param projectRoot 프로젝트 루트
57
+ * @returns 진행 중인 Spec 파일 경로 목록
58
+ */
59
+ export declare function listActiveSpecs(projectRoot: string): Promise<string[]>;
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Spec 시스템 타입 정의
3
+ */
4
+ /** Spec 파일 상태 */
5
+ export type SpecStatus = "검토 중" | "확정" | "완료";
6
+ /** Spec 파일 메타데이터 */
7
+ export interface SpecMetadata {
8
+ /** 기능명 */
9
+ title: string;
10
+ /** 생성일 */
11
+ createdAt: Date;
12
+ /** 상태 */
13
+ status: SpecStatus;
14
+ /** 원본 요청 */
15
+ originalRequest: string;
16
+ /** 질문-답변 목록 */
17
+ qna?: Array<{
18
+ question: string;
19
+ answer: string;
20
+ }>;
21
+ }
22
+ /** Spec 파일 구조 */
23
+ export interface SpecFile {
24
+ /** 파일 경로 */
25
+ path: string;
26
+ /** 파일명 */
27
+ filename: string;
28
+ /** 메타데이터 */
29
+ metadata: SpecMetadata;
30
+ /** 요구사항 목록 */
31
+ requirements: string[];
32
+ /** 시나리오 목록 */
33
+ scenarios: SpecScenario[];
34
+ /** 사용자 수정 요청 */
35
+ userModifications?: string[];
36
+ /** AI 메모 */
37
+ aiNotes?: string[];
38
+ }
39
+ /** 시나리오 */
40
+ export interface SpecScenario {
41
+ /** 시나리오 이름 */
42
+ name: string;
43
+ /** 단계별 설명 */
44
+ steps: string[];
45
+ /** 기대 결과 */
46
+ expectedResult: string;
47
+ }
48
+ /** 명확성 판단 결과 */
49
+ export interface ClarityResult {
50
+ /** 명확한지 여부 */
51
+ isClear: boolean;
52
+ /** 확신도 (0-100) */
53
+ confidence: number;
54
+ /** 불명확한 부분들 */
55
+ ambiguities: Ambiguity[];
56
+ /** 추천 질문들 */
57
+ suggestedQuestions: SuggestedQuestion[];
58
+ }
59
+ /** 불명확한 부분 */
60
+ export interface Ambiguity {
61
+ /** 불명확한 내용 */
62
+ content: string;
63
+ /** 불명확한 이유 */
64
+ reason: string;
65
+ /** 카테고리 */
66
+ category: AmbiguityCategory;
67
+ }
68
+ /** 불명확 카테고리 */
69
+ export type AmbiguityCategory = "target" | "behavior" | "value" | "scope" | "condition" | "priority";
70
+ /** 추천 질문 */
71
+ export interface SuggestedQuestion {
72
+ /** 질문 내용 */
73
+ question: string;
74
+ /** 선택지 (있는 경우) */
75
+ options?: string[];
76
+ /** 질문 카테고리 */
77
+ category: AmbiguityCategory;
78
+ }
79
+ /** Spec 확인 사용자 응답 */
80
+ export type SpecConfirmationChoice = "1" | "2" | "3" | "proceed" | "modify" | "question";
81
+ /** Spec 확인 결과 */
82
+ export interface SpecConfirmationResult {
83
+ /** 선택한 옵션 */
84
+ choice: SpecConfirmationChoice;
85
+ /** 수정 내용 (2번 선택 시) */
86
+ modifications?: string;
87
+ /** 추가 질문 답변 (3번 선택 시) */
88
+ additionalAnswers?: Array<{
89
+ question: string;
90
+ answer: string;
91
+ }>;
92
+ }
@@ -0,0 +1,98 @@
1
+ /**
2
+ * 시도 추적 모듈
3
+ * 현재 세션 내 시도 기록 및 관리
4
+ */
5
+ import type { Attempt, AttemptResult, StatusFile } from "./types";
6
+ /**
7
+ * Status 디렉토리 경로 가져오기
8
+ * @param projectRoot 프로젝트 루트 경로
9
+ * @returns Status 디렉토리 절대 경로
10
+ */
11
+ export declare function getStatusDir(projectRoot: string): string;
12
+ /**
13
+ * Status 파일명 생성
14
+ * @param task 태스크 설명
15
+ * @param sessionId 세션 ID
16
+ * @returns 파일명 (확장자 포함)
17
+ */
18
+ export declare function generateStatusFilename(task: string, sessionId: string): string;
19
+ /**
20
+ * 새 Status 파일 생성
21
+ * @param projectRoot 프로젝트 루트
22
+ * @param task 태스크 설명
23
+ * @param sessionId 세션 ID
24
+ * @param specFile 관련 Spec 파일 (선택)
25
+ * @returns 생성된 Status 객체
26
+ */
27
+ export declare function createStatus(projectRoot: string, task: string, sessionId: string, specFile?: string): Promise<StatusFile>;
28
+ /**
29
+ * 시도 기록 추가
30
+ * @param projectRoot 프로젝트 루트
31
+ * @param sessionId 세션 ID
32
+ * @param method 시도한 방법
33
+ * @param result 결과
34
+ * @param reason 실패 이유 (선택)
35
+ * @param files 관련 파일들 (선택)
36
+ * @returns 업데이트된 Status
37
+ */
38
+ export declare function recordAttempt(projectRoot: string, sessionId: string, method: string, result: AttemptResult, reason?: string, files?: string[]): Promise<StatusFile | null>;
39
+ /**
40
+ * 교훈 추가
41
+ * @param projectRoot 프로젝트 루트
42
+ * @param sessionId 세션 ID
43
+ * @param lesson 배운 교훈
44
+ * @returns 업데이트된 Status
45
+ */
46
+ export declare function addLesson(projectRoot: string, sessionId: string, lesson: string): Promise<StatusFile | null>;
47
+ /**
48
+ * Status 완료 처리
49
+ * @param projectRoot 프로젝트 루트
50
+ * @param sessionId 세션 ID
51
+ * @param finalStatus 최종 상태
52
+ * @returns 업데이트된 Status
53
+ */
54
+ export declare function completeStatus(projectRoot: string, sessionId: string, finalStatus?: "completed" | "failed" | "abandoned"): Promise<StatusFile | null>;
55
+ /**
56
+ * 현재 세션의 Status 가져오기
57
+ * @param projectRoot 프로젝트 루트
58
+ * @param sessionId 세션 ID
59
+ * @returns Status 또는 null
60
+ */
61
+ export declare function getStatus(projectRoot: string, sessionId: string): Promise<StatusFile | null>;
62
+ /**
63
+ * 현재 세션의 실패 기록 가져오기
64
+ * @param projectRoot 프로젝트 루트
65
+ * @param sessionId 세션 ID
66
+ * @returns 실패한 시도 목록
67
+ */
68
+ export declare function getFailedAttempts(projectRoot: string, sessionId: string): Promise<Attempt[]>;
69
+ /**
70
+ * 특정 방법이 이미 실패했는지 확인
71
+ * @param projectRoot 프로젝트 루트
72
+ * @param sessionId 세션 ID
73
+ * @param method 확인할 방법
74
+ * @returns 실패 여부
75
+ */
76
+ export declare function hasMethodFailed(projectRoot: string, sessionId: string, method: string): Promise<boolean>;
77
+ /**
78
+ * 회피해야 할 방법들 가져오기
79
+ * @param projectRoot 프로젝트 루트
80
+ * @param sessionId 세션 ID
81
+ * @returns 회피할 방법과 이유 목록
82
+ */
83
+ export declare function getAvoidMethods(projectRoot: string, sessionId: string): Promise<Array<{
84
+ method: string;
85
+ reason: string;
86
+ }>>;
87
+ /**
88
+ * 세션 캐시 클리어
89
+ * @param sessionId 클리어할 세션 ID (없으면 전체)
90
+ */
91
+ export declare function clearSessionCache(sessionId?: string): void;
92
+ /**
93
+ * AI 컨텍스트용 Status 요약 생성
94
+ * @param projectRoot 프로젝트 루트
95
+ * @param sessionId 세션 ID
96
+ * @returns AI에게 전달할 Status 요약
97
+ */
98
+ export declare function generateStatusSummary(projectRoot: string, sessionId: string): Promise<string | null>;
@@ -0,0 +1,48 @@
1
+ /**
2
+ * 실패 분석 모듈
3
+ * 실패 패턴 감지 및 대안 제시
4
+ */
5
+ import type { Attempt, FailureAnalysis, FailurePattern, LessonExtraction } from "./types";
6
+ /**
7
+ * 실패 원인에서 패턴 감지
8
+ * @param reason 실패 이유
9
+ * @param errorMessage 에러 메시지 (선택)
10
+ * @returns 감지된 패턴
11
+ */
12
+ export declare function detectFailurePattern(reason?: string, errorMessage?: string): FailurePattern;
13
+ /**
14
+ * 실패 시도 분석
15
+ * @param attempt 실패한 시도
16
+ * @returns 분석 결과
17
+ */
18
+ export declare function analyzeFailure(attempt: Attempt): FailureAnalysis;
19
+ /**
20
+ * 여러 실패 시도 분석
21
+ * @param attempts 실패한 시도들
22
+ * @returns 종합 분석 결과
23
+ */
24
+ export declare function analyzeMultipleFailures(attempts: Attempt[]): FailureAnalysis;
25
+ /**
26
+ * 실패 패턴 설명 가져오기
27
+ * @param pattern 실패 패턴
28
+ * @returns 한국어 설명
29
+ */
30
+ export declare function getPatternDescription(pattern: FailurePattern): string;
31
+ /**
32
+ * 권장 대안 가져오기
33
+ * @param pattern 실패 패턴
34
+ * @returns 대안 목록
35
+ */
36
+ export declare function getAlternatives(pattern: FailurePattern): string[];
37
+ /**
38
+ * 여러 시도에서 교훈 추출
39
+ * @param attempts 시도 목록
40
+ * @returns 추출된 교훈들
41
+ */
42
+ export declare function extractLessons(attempts: Attempt[]): LessonExtraction[];
43
+ /**
44
+ * AI 컨텍스트용 실패 분석 요약 생성
45
+ * @param attempts 실패한 시도들
46
+ * @returns AI에게 전달할 분석 요약
47
+ */
48
+ export declare function generateFailureAnalysisSummary(attempts: Attempt[]): string;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Status 시스템
3
+ * 현재 세션 내 시도 기록 및 실패 분석
4
+ */
5
+ export type { AttemptResult, Attempt, StatusFile, TaskStatus, FailureAnalysis, FailurePattern, StatusFilter, LessonExtraction, } from "./types";
6
+ export { getStatusDir, generateStatusFilename, createStatus, recordAttempt, addLesson, completeStatus, getStatus, getFailedAttempts, hasMethodFailed, getAvoidMethods, clearSessionCache, generateStatusSummary, } from "./attempt-tracker";
7
+ export { detectFailurePattern, analyzeFailure, analyzeMultipleFailures, getPatternDescription, getAlternatives, extractLessons, generateFailureAnalysisSummary, } from "./failure-analyzer";