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.
- package/LICENSE.md +82 -0
- package/README.ja.md +1107 -0
- package/README.md +1274 -0
- package/README.zh-cn.md +1107 -0
- package/dist/agents/architect.d.ts +5 -0
- package/dist/agents/bart.d.ts +3 -0
- package/dist/agents/build-prompt.d.ts +31 -0
- package/dist/agents/comic-book-guy.d.ts +5 -0
- package/dist/agents/consultant.d.ts +19 -0
- package/dist/agents/designer.d.ts +5 -0
- package/dist/agents/edna.d.ts +5 -0
- package/dist/agents/explorer.d.ts +5 -0
- package/dist/agents/grandpa.d.ts +6 -0
- package/dist/agents/homer-prompt-builder.d.ts +26 -0
- package/dist/agents/homer.d.ts +4 -0
- package/dist/agents/index.d.ts +5 -0
- package/dist/agents/lisa.d.ts +5 -0
- package/dist/agents/milhouse.d.ts +5 -0
- package/dist/agents/orchestrator.d.ts +20 -0
- package/dist/agents/plan-prompt.d.ts +64 -0
- package/dist/agents/prometheus-prompt.d.ts +27 -0
- package/dist/agents/researcher.d.ts +5 -0
- package/dist/agents/reviewer.d.ts +6 -0
- package/dist/agents/santas-little-helper.d.ts +5 -0
- package/dist/agents/types.d.ts +49 -0
- package/dist/agents/utils.d.ts +13 -0
- package/dist/agents/utils.test.d.ts +1 -0
- package/dist/agents/viewer.d.ts +5 -0
- package/dist/agents/writer.d.ts +5 -0
- package/dist/auth/antigravity/accounts.d.ts +40 -0
- package/dist/auth/antigravity/accounts.test.d.ts +1 -0
- package/dist/auth/antigravity/browser.d.ts +27 -0
- package/dist/auth/antigravity/browser.test.d.ts +1 -0
- package/dist/auth/antigravity/cli.d.ts +2 -0
- package/dist/auth/antigravity/cli.test.d.ts +1 -0
- package/dist/auth/antigravity/constants.d.ts +98 -0
- package/dist/auth/antigravity/constants.test.d.ts +1 -0
- package/dist/auth/antigravity/fetch.d.ts +69 -0
- package/dist/auth/antigravity/index.d.ts +13 -0
- package/dist/auth/antigravity/integration.test.d.ts +10 -0
- package/dist/auth/antigravity/message-converter.d.ts +54 -0
- package/dist/auth/antigravity/oauth.d.ts +51 -0
- package/dist/auth/antigravity/oauth.test.d.ts +1 -0
- package/dist/auth/antigravity/plugin.d.ts +54 -0
- package/dist/auth/antigravity/project.d.ts +10 -0
- package/dist/auth/antigravity/request.d.ts +116 -0
- package/dist/auth/antigravity/request.test.d.ts +1 -0
- package/dist/auth/antigravity/response.d.ts +137 -0
- package/dist/auth/antigravity/storage.d.ts +5 -0
- package/dist/auth/antigravity/storage.test.d.ts +1 -0
- package/dist/auth/antigravity/thinking.d.ts +278 -0
- package/dist/auth/antigravity/thinking.test.d.ts +10 -0
- package/dist/auth/antigravity/thought-signature-store.d.ts +52 -0
- package/dist/auth/antigravity/token.d.ts +38 -0
- package/dist/auth/antigravity/token.test.d.ts +1 -0
- package/dist/auth/antigravity/tools.d.ts +119 -0
- package/dist/auth/antigravity/types.d.ts +229 -0
- package/dist/cli/commands/auth.d.ts +2 -0
- package/dist/cli/config-manager.d.ts +91 -0
- package/dist/cli/config-manager.test.d.ts +1 -0
- package/dist/cli/doctor/checks/auth.d.ts +7 -0
- package/dist/cli/doctor/checks/auth.test.d.ts +1 -0
- package/dist/cli/doctor/checks/config.d.ts +8 -0
- package/dist/cli/doctor/checks/config.test.d.ts +1 -0
- package/dist/cli/doctor/checks/dependencies.d.ts +8 -0
- package/dist/cli/doctor/checks/dependencies.test.d.ts +1 -0
- package/dist/cli/doctor/checks/gh.d.ts +13 -0
- package/dist/cli/doctor/checks/gh.test.d.ts +1 -0
- package/dist/cli/doctor/checks/index.d.ts +11 -0
- package/dist/cli/doctor/checks/lsp.d.ts +8 -0
- package/dist/cli/doctor/checks/lsp.test.d.ts +1 -0
- package/dist/cli/doctor/checks/mcp.d.ts +6 -0
- package/dist/cli/doctor/checks/mcp.test.d.ts +1 -0
- package/dist/cli/doctor/checks/opencode.d.ts +10 -0
- package/dist/cli/doctor/checks/opencode.test.d.ts +1 -0
- package/dist/cli/doctor/checks/plugin.d.ts +4 -0
- package/dist/cli/doctor/checks/plugin.test.d.ts +1 -0
- package/dist/cli/doctor/checks/version.d.ts +4 -0
- package/dist/cli/doctor/checks/version.test.d.ts +1 -0
- package/dist/cli/doctor/constants.d.ts +40 -0
- package/dist/cli/doctor/formatter.d.ts +12 -0
- package/dist/cli/doctor/formatter.test.d.ts +1 -0
- package/dist/cli/doctor/index.d.ts +5 -0
- package/dist/cli/doctor/runner.d.ts +7 -0
- package/dist/cli/doctor/runner.test.d.ts +1 -0
- package/dist/cli/doctor/types.d.ts +91 -0
- package/dist/cli/get-local-version/formatter.d.ts +3 -0
- package/dist/cli/get-local-version/index.d.ts +3 -0
- package/dist/cli/get-local-version/types.d.ts +13 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +23631 -0
- package/dist/cli/install.d.ts +2 -0
- package/dist/cli/run/completion.d.ts +2 -0
- package/dist/cli/run/completion.test.d.ts +1 -0
- package/dist/cli/run/events.d.ts +11 -0
- package/dist/cli/run/events.test.d.ts +1 -0
- package/dist/cli/run/index.d.ts +2 -0
- package/dist/cli/run/runner.d.ts +2 -0
- package/dist/cli/run/types.d.ts +71 -0
- package/dist/cli/types.d.ts +27 -0
- package/dist/config/index.d.ts +4 -0
- package/dist/config/presets.d.ts +89 -0
- package/dist/config/schema.d.ts +1952 -0
- package/dist/config/schema.test.d.ts +1 -0
- package/dist/features/background-agent/concurrency.d.ts +10 -0
- package/dist/features/background-agent/concurrency.test.d.ts +1 -0
- package/dist/features/background-agent/index.d.ts +3 -0
- package/dist/features/background-agent/manager.d.ts +70 -0
- package/dist/features/background-agent/manager.test.d.ts +1 -0
- package/dist/features/background-agent/types.d.ts +68 -0
- package/dist/features/builtin-commands/commands.d.ts +2 -0
- package/dist/features/builtin-commands/index.d.ts +2 -0
- package/dist/features/builtin-commands/templates/init-deep.d.ts +1 -0
- package/dist/features/builtin-commands/templates/ralph-loop.d.ts +2 -0
- package/dist/features/builtin-commands/templates/refactor.d.ts +1 -0
- package/dist/features/builtin-commands/templates/start-work.d.ts +1 -0
- package/dist/features/builtin-commands/types.d.ts +6 -0
- package/dist/features/builtin-skills/index.d.ts +2 -0
- package/dist/features/builtin-skills/skills.d.ts +2 -0
- package/dist/features/builtin-skills/types.d.ts +15 -0
- package/dist/features/claude-code-agent-loader/index.d.ts +2 -0
- package/dist/features/claude-code-agent-loader/loader.d.ts +3 -0
- package/dist/features/claude-code-agent-loader/types.d.ts +14 -0
- package/dist/features/claude-code-command-loader/index.d.ts +2 -0
- package/dist/features/claude-code-command-loader/loader.d.ts +6 -0
- package/dist/features/claude-code-command-loader/types.d.ts +42 -0
- package/dist/features/claude-code-mcp-loader/env-expander.d.ts +2 -0
- package/dist/features/claude-code-mcp-loader/index.d.ts +10 -0
- package/dist/features/claude-code-mcp-loader/loader.d.ts +4 -0
- package/dist/features/claude-code-mcp-loader/loader.test.d.ts +1 -0
- package/dist/features/claude-code-mcp-loader/transformer.d.ts +2 -0
- package/dist/features/claude-code-mcp-loader/types.d.ts +35 -0
- package/dist/features/claude-code-plugin-loader/index.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/loader.d.ts +20 -0
- package/dist/features/claude-code-plugin-loader/types.d.ts +186 -0
- package/dist/features/claude-code-session-state/index.d.ts +1 -0
- package/dist/features/claude-code-session-state/state.d.ts +4 -0
- package/dist/features/context-injector/collector.d.ts +11 -0
- package/dist/features/context-injector/collector.test.d.ts +1 -0
- package/dist/features/context-injector/index.d.ts +3 -0
- package/dist/features/context-injector/injector.d.ts +39 -0
- package/dist/features/context-injector/injector.test.d.ts +1 -0
- package/dist/features/context-injector/types.d.ts +83 -0
- package/dist/features/donut-state/constants.d.ts +10 -0
- package/dist/features/donut-state/index.d.ts +3 -0
- package/dist/features/donut-state/storage.d.ts +28 -0
- package/dist/features/donut-state/storage.test.d.ts +1 -0
- package/dist/features/donut-state/types.d.ts +24 -0
- package/dist/features/hook-message-injector/constants.d.ts +3 -0
- package/dist/features/hook-message-injector/index.d.ts +4 -0
- package/dist/features/hook-message-injector/injector.d.ts +11 -0
- package/dist/features/hook-message-injector/types.d.ts +44 -0
- package/dist/features/opencode-skill-loader/async-loader.d.ts +6 -0
- package/dist/features/opencode-skill-loader/async-loader.test.d.ts +1 -0
- package/dist/features/opencode-skill-loader/blocking.d.ts +2 -0
- package/dist/features/opencode-skill-loader/blocking.test.d.ts +1 -0
- package/dist/features/opencode-skill-loader/discover-worker.d.ts +1 -0
- package/dist/features/opencode-skill-loader/index.d.ts +4 -0
- package/dist/features/opencode-skill-loader/loader.d.ts +16 -0
- package/dist/features/opencode-skill-loader/loader.test.d.ts +1 -0
- package/dist/features/opencode-skill-loader/merger.d.ts +7 -0
- package/dist/features/opencode-skill-loader/skill-content.d.ts +5 -0
- package/dist/features/opencode-skill-loader/skill-content.test.d.ts +1 -0
- package/dist/features/opencode-skill-loader/types.d.ts +34 -0
- package/dist/features/skill-mcp-manager/env-cleaner.d.ts +2 -0
- package/dist/features/skill-mcp-manager/env-cleaner.test.d.ts +1 -0
- package/dist/features/skill-mcp-manager/index.d.ts +2 -0
- package/dist/features/skill-mcp-manager/manager.d.ts +29 -0
- package/dist/features/skill-mcp-manager/manager.test.d.ts +1 -0
- package/dist/features/skill-mcp-manager/types.d.ts +11 -0
- package/dist/features/task-toast-manager/index.d.ts +2 -0
- package/dist/features/task-toast-manager/manager.d.ts +56 -0
- package/dist/features/task-toast-manager/manager.test.d.ts +1 -0
- package/dist/features/task-toast-manager/types.d.ts +16 -0
- package/dist/google-auth.d.ts +3 -0
- package/dist/google-auth.js +3871 -0
- package/dist/hooks/agent-usage-reminder/constants.d.ts +5 -0
- package/dist/hooks/agent-usage-reminder/index.d.ts +22 -0
- package/dist/hooks/agent-usage-reminder/storage.d.ts +4 -0
- package/dist/hooks/agent-usage-reminder/types.d.ts +6 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/executor.d.ts +4 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/executor.test.d.ts +1 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/index.d.ts +17 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/parser.d.ts +2 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.d.ts +7 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.test.d.ts +1 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-executor.d.ts +3 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-purge-errors.d.ts +7 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-storage.d.ts +2 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-supersede.d.ts +6 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-types.d.ts +36 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/storage.d.ts +28 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/storage.test.d.ts +1 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/types.d.ts +42 -0
- package/dist/hooks/auto-slash-command/constants.d.ts +5 -0
- package/dist/hooks/auto-slash-command/detector.d.ts +9 -0
- package/dist/hooks/auto-slash-command/detector.test.d.ts +1 -0
- package/dist/hooks/auto-slash-command/executor.d.ts +11 -0
- package/dist/hooks/auto-slash-command/index.d.ts +12 -0
- package/dist/hooks/auto-slash-command/index.test.d.ts +1 -0
- package/dist/hooks/auto-slash-command/types.d.ts +27 -0
- package/dist/hooks/auto-update-checker/cache.d.ts +3 -0
- package/dist/hooks/auto-update-checker/checker.d.ts +20 -0
- package/dist/hooks/auto-update-checker/constants.d.ts +13 -0
- package/dist/hooks/auto-update-checker/index.d.ts +16 -0
- package/dist/hooks/auto-update-checker/index.test.d.ts +1 -0
- package/dist/hooks/auto-update-checker/types.d.ts +25 -0
- package/dist/hooks/background-compaction/index.d.ts +19 -0
- package/dist/hooks/background-notification/index.d.ts +18 -0
- package/dist/hooks/background-notification/types.d.ts +4 -0
- package/dist/hooks/claude-code-hooks/config-loader.d.ts +13 -0
- package/dist/hooks/claude-code-hooks/config.d.ts +3 -0
- package/dist/hooks/claude-code-hooks/index.d.ts +48 -0
- package/dist/hooks/claude-code-hooks/plugin-config.d.ts +8 -0
- package/dist/hooks/claude-code-hooks/post-tool-use.d.ts +40 -0
- package/dist/hooks/claude-code-hooks/pre-compact.d.ts +16 -0
- package/dist/hooks/claude-code-hooks/pre-tool-use.d.ts +25 -0
- package/dist/hooks/claude-code-hooks/stop.d.ts +20 -0
- package/dist/hooks/claude-code-hooks/todo.d.ts +12 -0
- package/dist/hooks/claude-code-hooks/tool-input-cache.d.ts +5 -0
- package/dist/hooks/claude-code-hooks/transcript.d.ts +38 -0
- package/dist/hooks/claude-code-hooks/types.d.ts +183 -0
- package/dist/hooks/claude-code-hooks/user-prompt-submit.d.ts +22 -0
- package/dist/hooks/comment-checker/cli.d.ts +53 -0
- package/dist/hooks/comment-checker/constants.d.ts +3 -0
- package/dist/hooks/comment-checker/downloader.d.ts +25 -0
- package/dist/hooks/comment-checker/filters/bdd.d.ts +2 -0
- package/dist/hooks/comment-checker/filters/directive.d.ts +2 -0
- package/dist/hooks/comment-checker/filters/docstring.d.ts +2 -0
- package/dist/hooks/comment-checker/filters/index.d.ts +7 -0
- package/dist/hooks/comment-checker/filters/shebang.d.ts +2 -0
- package/dist/hooks/comment-checker/index.d.ts +19 -0
- package/dist/hooks/comment-checker/output/formatter.d.ts +2 -0
- package/dist/hooks/comment-checker/output/index.d.ts +2 -0
- package/dist/hooks/comment-checker/output/xml-builder.d.ts +2 -0
- package/dist/hooks/comment-checker/types.d.ts +31 -0
- package/dist/hooks/compaction-context-injector/index.d.ts +2 -0
- package/dist/hooks/context-window-monitor.d.ts +18 -0
- package/dist/hooks/directory-agents-injector/constants.d.ts +3 -0
- package/dist/hooks/directory-agents-injector/index.d.ts +26 -0
- package/dist/hooks/directory-agents-injector/storage.d.ts +3 -0
- package/dist/hooks/directory-agents-injector/types.d.ts +5 -0
- package/dist/hooks/directory-readme-injector/constants.d.ts +3 -0
- package/dist/hooks/directory-readme-injector/index.d.ts +26 -0
- package/dist/hooks/directory-readme-injector/storage.d.ts +3 -0
- package/dist/hooks/directory-readme-injector/types.d.ts +5 -0
- package/dist/hooks/edit-error-recovery/index.d.ts +31 -0
- package/dist/hooks/edit-error-recovery/index.test.d.ts +1 -0
- package/dist/hooks/empty-message-sanitizer/index.d.ts +12 -0
- package/dist/hooks/empty-task-response-detector.d.ts +12 -0
- package/dist/hooks/homer-orchestrator/index.d.ts +35 -0
- package/dist/hooks/homer-orchestrator/index.test.d.ts +1 -0
- package/dist/hooks/index.d.ts +32 -0
- package/dist/hooks/interactive-bash-session/constants.d.ts +4 -0
- package/dist/hooks/interactive-bash-session/index.d.ts +23 -0
- package/dist/hooks/interactive-bash-session/storage.d.ts +4 -0
- package/dist/hooks/interactive-bash-session/types.d.ts +10 -0
- package/dist/hooks/keyword-detector/constants.d.ts +12 -0
- package/dist/hooks/keyword-detector/detector.d.ts +11 -0
- package/dist/hooks/keyword-detector/index.d.ts +31 -0
- package/dist/hooks/keyword-detector/index.test.d.ts +1 -0
- package/dist/hooks/keyword-detector/types.d.ts +4 -0
- package/dist/hooks/non-interactive-env/constants.d.ts +34 -0
- package/dist/hooks/non-interactive-env/detector.d.ts +1 -0
- package/dist/hooks/non-interactive-env/index.d.ts +14 -0
- package/dist/hooks/non-interactive-env/index.test.d.ts +1 -0
- package/dist/hooks/non-interactive-env/types.d.ts +3 -0
- package/dist/hooks/preemptive-compaction/constants.d.ts +3 -0
- package/dist/hooks/preemptive-compaction/index.d.ts +24 -0
- package/dist/hooks/preemptive-compaction/types.d.ts +17 -0
- package/dist/hooks/prometheus-md-only/constants.d.ts +6 -0
- package/dist/hooks/prometheus-md-only/index.d.ts +12 -0
- package/dist/hooks/prometheus-md-only/index.test.d.ts +1 -0
- package/dist/hooks/ralph-loop/constants.d.ts +5 -0
- package/dist/hooks/ralph-loop/index.d.ts +20 -0
- package/dist/hooks/ralph-loop/index.test.d.ts +1 -0
- package/dist/hooks/ralph-loop/storage.d.ts +6 -0
- package/dist/hooks/ralph-loop/types.d.ts +16 -0
- package/dist/hooks/rules-injector/constants.d.ts +8 -0
- package/dist/hooks/rules-injector/finder.d.ts +33 -0
- package/dist/hooks/rules-injector/finder.test.d.ts +1 -0
- package/dist/hooks/rules-injector/index.d.ts +26 -0
- package/dist/hooks/rules-injector/matcher.d.ts +21 -0
- package/dist/hooks/rules-injector/parser.d.ts +18 -0
- package/dist/hooks/rules-injector/parser.test.d.ts +1 -0
- package/dist/hooks/rules-injector/storage.d.ts +9 -0
- package/dist/hooks/rules-injector/types.d.ts +54 -0
- package/dist/hooks/session-notification-utils.d.ts +9 -0
- package/dist/hooks/session-notification.d.ts +20 -0
- package/dist/hooks/session-notification.test.d.ts +1 -0
- package/dist/hooks/session-recovery/constants.d.ts +6 -0
- package/dist/hooks/session-recovery/index.d.ts +22 -0
- package/dist/hooks/session-recovery/index.test.d.ts +1 -0
- package/dist/hooks/session-recovery/storage.d.ts +19 -0
- package/dist/hooks/session-recovery/types.d.ts +90 -0
- package/dist/hooks/start-work/index.d.ts +16 -0
- package/dist/hooks/start-work/index.test.d.ts +1 -0
- package/dist/hooks/status-recorder/index.d.ts +51 -0
- package/dist/hooks/task-resume-info/index.d.ts +11 -0
- package/dist/hooks/think-mode/detector.d.ts +5 -0
- package/dist/hooks/think-mode/index.d.ts +14 -0
- package/dist/hooks/think-mode/index.test.d.ts +1 -0
- package/dist/hooks/think-mode/switcher.d.ts +57 -0
- package/dist/hooks/think-mode/switcher.test.d.ts +1 -0
- package/dist/hooks/think-mode/types.d.ts +21 -0
- package/dist/hooks/thinking-block-validator/index.d.ts +30 -0
- package/dist/hooks/todo-continuation-enforcer.d.ts +17 -0
- package/dist/hooks/todo-continuation-enforcer.test.d.ts +1 -0
- package/dist/hooks/tool-output-truncator.d.ts +17 -0
- package/dist/hooks/tool-output-truncator.test.d.ts +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +57170 -0
- package/dist/mcp/context7.d.ts +5 -0
- package/dist/mcp/grep-app.d.ts +5 -0
- package/dist/mcp/index.d.ts +8 -0
- package/dist/mcp/index.test.d.ts +1 -0
- package/dist/mcp/types.d.ts +9 -0
- package/dist/mcp/websearch.d.ts +8 -0
- package/dist/plugin-config.d.ts +4 -0
- package/dist/plugin-handlers/config-handler.d.ts +10 -0
- package/dist/plugin-handlers/index.d.ts +1 -0
- package/dist/plugin-state.d.ts +6 -0
- package/dist/shared/agent-display.d.ts +43 -0
- package/dist/shared/agent-display.test.d.ts +1 -0
- package/dist/shared/claude-config-dir.d.ts +1 -0
- package/dist/shared/claude-config-dir.test.d.ts +1 -0
- package/dist/shared/command-executor.d.ts +21 -0
- package/dist/shared/config-errors.d.ts +7 -0
- package/dist/shared/config-path.d.ts +17 -0
- package/dist/shared/data-path.d.ts +14 -0
- package/dist/shared/deep-merge.d.ts +13 -0
- package/dist/shared/dynamic-truncator.d.ts +27 -0
- package/dist/shared/external-plugin-detector.d.ts +18 -0
- package/dist/shared/external-plugin-detector.test.d.ts +1 -0
- package/dist/shared/file-reference-resolver.d.ts +1 -0
- package/dist/shared/file-utils.d.ts +7 -0
- package/dist/shared/frontmatter.d.ts +7 -0
- package/dist/shared/frontmatter.test.d.ts +1 -0
- package/dist/shared/hook-disabled.d.ts +2 -0
- package/dist/shared/index.d.ts +24 -0
- package/dist/shared/jsonc-parser.d.ts +15 -0
- package/dist/shared/jsonc-parser.test.d.ts +1 -0
- package/dist/shared/logger.d.ts +2 -0
- package/dist/shared/messages.d.ts +33 -0
- package/dist/shared/messages.test.d.ts +1 -0
- package/dist/shared/migration.d.ts +17 -0
- package/dist/shared/migration.test.d.ts +1 -0
- package/dist/shared/model-sanitizer.d.ts +3 -0
- package/dist/shared/opencode-config-dir.d.ts +19 -0
- package/dist/shared/opencode-config-dir.test.d.ts +1 -0
- package/dist/shared/opencode-version.d.ts +10 -0
- package/dist/shared/opencode-version.test.d.ts +1 -0
- package/dist/shared/pattern-matcher.d.ts +3 -0
- package/dist/shared/permission-compat.d.ts +12 -0
- package/dist/shared/permission-compat.test.d.ts +1 -0
- package/dist/shared/snake-case.d.ts +4 -0
- package/dist/shared/tool-name.d.ts +1 -0
- package/dist/tools/ast-grep/cli.d.ts +15 -0
- package/dist/tools/ast-grep/constants.d.ts +29 -0
- package/dist/tools/ast-grep/downloader.d.ts +5 -0
- package/dist/tools/ast-grep/index.d.ts +8 -0
- package/dist/tools/ast-grep/napi.d.ts +13 -0
- package/dist/tools/ast-grep/tools.d.ts +3 -0
- package/dist/tools/ast-grep/types.d.ts +58 -0
- package/dist/tools/ast-grep/utils.d.ts +5 -0
- package/dist/tools/background-task/constants.d.ts +3 -0
- package/dist/tools/background-task/index.d.ts +3 -0
- package/dist/tools/background-task/tools.d.ts +7 -0
- package/dist/tools/background-task/types.d.ts +14 -0
- package/dist/tools/call-homer-agent/constants.d.ts +2 -0
- package/dist/tools/call-homer-agent/index.d.ts +3 -0
- package/dist/tools/call-homer-agent/tools.d.ts +3 -0
- package/dist/tools/call-homer-agent/types.d.ts +24 -0
- package/dist/tools/glob/cli.d.ts +7 -0
- package/dist/tools/glob/constants.d.ts +6 -0
- package/dist/tools/glob/index.d.ts +2 -0
- package/dist/tools/glob/tools.d.ts +2 -0
- package/dist/tools/glob/types.d.ts +19 -0
- package/dist/tools/glob/utils.d.ts +2 -0
- package/dist/tools/grep/cli.d.ts +3 -0
- package/dist/tools/grep/constants.d.ts +17 -0
- package/dist/tools/grep/downloader.d.ts +3 -0
- package/dist/tools/grep/downloader.test.d.ts +1 -0
- package/dist/tools/grep/index.d.ts +2 -0
- package/dist/tools/grep/tools.d.ts +2 -0
- package/dist/tools/grep/types.d.ts +36 -0
- package/dist/tools/grep/utils.d.ts +3 -0
- package/dist/tools/homer-task/constants.d.ts +12 -0
- package/dist/tools/homer-task/index.d.ts +3 -0
- package/dist/tools/homer-task/tools.d.ts +16 -0
- package/dist/tools/homer-task/tools.test.d.ts +1 -0
- package/dist/tools/homer-task/types.d.ts +9 -0
- package/dist/tools/index.d.ts +16 -0
- package/dist/tools/interactive-bash/constants.d.ts +3 -0
- package/dist/tools/interactive-bash/index.d.ts +3 -0
- package/dist/tools/interactive-bash/tools.d.ts +7 -0
- package/dist/tools/interactive-bash/types.d.ts +3 -0
- package/dist/tools/interactive-bash/utils.d.ts +3 -0
- package/dist/tools/look-at/constants.d.ts +2 -0
- package/dist/tools/look-at/index.d.ts +3 -0
- package/dist/tools/look-at/tools.d.ts +2 -0
- package/dist/tools/look-at/types.d.ts +4 -0
- package/dist/tools/lsp/client.d.ts +60 -0
- package/dist/tools/lsp/config.d.ts +17 -0
- package/dist/tools/lsp/constants.d.ts +9 -0
- package/dist/tools/lsp/index.d.ts +6 -0
- package/dist/tools/lsp/tools.d.ts +12 -0
- package/dist/tools/lsp/types.d.ts +156 -0
- package/dist/tools/lsp/utils.d.ts +29 -0
- package/dist/tools/session-manager/constants.d.ts +12 -0
- package/dist/tools/session-manager/index.d.ts +3 -0
- package/dist/tools/session-manager/storage.d.ts +12 -0
- package/dist/tools/session-manager/storage.test.d.ts +1 -0
- package/dist/tools/session-manager/tools.d.ts +5 -0
- package/dist/tools/session-manager/tools.test.d.ts +1 -0
- package/dist/tools/session-manager/types.d.ts +89 -0
- package/dist/tools/session-manager/utils.d.ts +11 -0
- package/dist/tools/session-manager/utils.test.d.ts +1 -0
- package/dist/tools/skill/constants.d.ts +3 -0
- package/dist/tools/skill/index.d.ts +3 -0
- package/dist/tools/skill/tools.d.ts +4 -0
- package/dist/tools/skill/tools.test.d.ts +1 -0
- package/dist/tools/skill/types.d.ts +25 -0
- package/dist/tools/skill-mcp/constants.d.ts +2 -0
- package/dist/tools/skill-mcp/index.d.ts +3 -0
- package/dist/tools/skill-mcp/tools.d.ts +11 -0
- package/dist/tools/skill-mcp/tools.test.d.ts +1 -0
- package/dist/tools/skill-mcp/types.d.ts +8 -0
- package/dist/tools/slashcommand/index.d.ts +2 -0
- package/dist/tools/slashcommand/tools.d.ts +5 -0
- package/dist/tools/slashcommand/types.d.ts +24 -0
- package/dist/tools/spec-system/clarity-checker.d.ts +23 -0
- package/dist/tools/spec-system/clarity-checker.test.d.ts +1 -0
- package/dist/tools/spec-system/index.d.ts +9 -0
- package/dist/tools/spec-system/scenario-builder.d.ts +56 -0
- package/dist/tools/spec-system/spec-file-manager.d.ts +59 -0
- package/dist/tools/spec-system/types.d.ts +92 -0
- package/dist/tools/status-recorder/attempt-tracker.d.ts +98 -0
- package/dist/tools/status-recorder/failure-analyzer.d.ts +48 -0
- package/dist/tools/status-recorder/index.d.ts +7 -0
- package/dist/tools/status-recorder/types.d.ts +80 -0
- 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 @@
|
|
|
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,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,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";
|