wiggum-cli 0.12.0 → 0.12.1
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/dist/ai/agents/codebase-analyst.d.ts +0 -1
- package/dist/ai/agents/codebase-analyst.js +0 -1
- package/dist/ai/agents/codebase-analyzer.d.ts +0 -1
- package/dist/ai/agents/codebase-analyzer.js +0 -1
- package/dist/ai/agents/context-enricher.d.ts +0 -1
- package/dist/ai/agents/context-enricher.js +0 -1
- package/dist/ai/agents/evaluator-optimizer.d.ts +0 -1
- package/dist/ai/agents/evaluator-optimizer.js +0 -1
- package/dist/ai/agents/index.d.ts +0 -1
- package/dist/ai/agents/index.js +0 -1
- package/dist/ai/agents/mcp-detector.d.ts +0 -1
- package/dist/ai/agents/mcp-detector.js +0 -1
- package/dist/ai/agents/orchestrator.d.ts +0 -1
- package/dist/ai/agents/orchestrator.js +0 -1
- package/dist/ai/agents/planning-orchestrator.d.ts +0 -1
- package/dist/ai/agents/planning-orchestrator.js +0 -1
- package/dist/ai/agents/stack-researcher.d.ts +0 -1
- package/dist/ai/agents/stack-researcher.js +0 -1
- package/dist/ai/agents/stack-utils.d.ts +0 -1
- package/dist/ai/agents/stack-utils.js +0 -1
- package/dist/ai/agents/synthesis-agent.d.ts +0 -1
- package/dist/ai/agents/synthesis-agent.js +0 -1
- package/dist/ai/agents/tech-researcher.d.ts +0 -1
- package/dist/ai/agents/tech-researcher.js +0 -1
- package/dist/ai/agents/types.d.ts +0 -1
- package/dist/ai/agents/types.js +0 -1
- package/dist/ai/conversation/conversation-manager.d.ts +0 -1
- package/dist/ai/conversation/conversation-manager.js +0 -1
- package/dist/ai/conversation/index.d.ts +0 -1
- package/dist/ai/conversation/index.js +0 -1
- package/dist/ai/conversation/interview-tools.d.ts +0 -1
- package/dist/ai/conversation/interview-tools.js +0 -1
- package/dist/ai/conversation/spec-generator.d.ts +0 -1
- package/dist/ai/conversation/spec-generator.js +0 -1
- package/dist/ai/conversation/url-fetcher.d.ts +0 -1
- package/dist/ai/conversation/url-fetcher.js +0 -1
- package/dist/ai/enhancer.d.ts +0 -1
- package/dist/ai/enhancer.js +0 -1
- package/dist/ai/index.d.ts +0 -1
- package/dist/ai/index.js +0 -1
- package/dist/ai/prompts.d.ts +0 -1
- package/dist/ai/prompts.js +0 -1
- package/dist/ai/providers.d.ts +0 -1
- package/dist/ai/providers.js +0 -1
- package/dist/ai/tools/context7.d.ts +0 -1
- package/dist/ai/tools/context7.js +0 -1
- package/dist/ai/tools/index.d.ts +0 -1
- package/dist/ai/tools/index.js +0 -1
- package/dist/ai/tools/tavily.d.ts +0 -1
- package/dist/ai/tools/tavily.js +0 -1
- package/dist/ai/tools.d.ts +0 -1
- package/dist/ai/tools.js +0 -1
- package/dist/commands/config.d.ts +0 -1
- package/dist/commands/config.js +0 -1
- package/dist/commands/init.d.ts +0 -1
- package/dist/commands/init.js +0 -1
- package/dist/commands/monitor.d.ts +0 -1
- package/dist/commands/monitor.js +0 -1
- package/dist/commands/new.d.ts +0 -1
- package/dist/commands/new.js +0 -1
- package/dist/commands/run.d.ts +0 -1
- package/dist/commands/run.js +0 -1
- package/dist/context/convert.d.ts +0 -1
- package/dist/context/convert.js +0 -1
- package/dist/context/index.d.ts +0 -1
- package/dist/context/index.js +0 -1
- package/dist/context/storage.d.ts +0 -1
- package/dist/context/storage.js +0 -1
- package/dist/context/types.d.ts +0 -1
- package/dist/context/types.js +0 -1
- package/dist/generator/config.d.ts +0 -1
- package/dist/generator/config.js +0 -1
- package/dist/generator/index.d.ts +0 -1
- package/dist/generator/index.js +0 -1
- package/dist/generator/templates.d.ts +0 -1
- package/dist/generator/templates.js +0 -1
- package/dist/generator/writer.d.ts +0 -1
- package/dist/generator/writer.js +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/repl/command-parser.d.ts +0 -1
- package/dist/repl/command-parser.js +0 -1
- package/dist/repl/index.d.ts +0 -1
- package/dist/repl/index.js +0 -1
- package/dist/repl/session-state.d.ts +0 -1
- package/dist/repl/session-state.js +0 -1
- package/dist/scanner/detectors/core/framework.d.ts +0 -1
- package/dist/scanner/detectors/core/framework.js +0 -1
- package/dist/scanner/detectors/core/packageManager.d.ts +0 -1
- package/dist/scanner/detectors/core/packageManager.js +0 -1
- package/dist/scanner/detectors/core/styling.d.ts +0 -1
- package/dist/scanner/detectors/core/styling.js +0 -1
- package/dist/scanner/detectors/core/testing.d.ts +0 -1
- package/dist/scanner/detectors/core/testing.js +0 -1
- package/dist/scanner/detectors/data/api.d.ts +0 -1
- package/dist/scanner/detectors/data/api.js +0 -1
- package/dist/scanner/detectors/data/database.d.ts +0 -1
- package/dist/scanner/detectors/data/database.js +0 -1
- package/dist/scanner/detectors/data/orm.d.ts +0 -1
- package/dist/scanner/detectors/data/orm.js +0 -1
- package/dist/scanner/detectors/frontend/formHandling.d.ts +0 -1
- package/dist/scanner/detectors/frontend/formHandling.js +0 -1
- package/dist/scanner/detectors/frontend/stateManagement.d.ts +0 -1
- package/dist/scanner/detectors/frontend/stateManagement.js +0 -1
- package/dist/scanner/detectors/frontend/uiComponents.d.ts +0 -1
- package/dist/scanner/detectors/frontend/uiComponents.js +0 -1
- package/dist/scanner/detectors/infra/deployment.d.ts +0 -1
- package/dist/scanner/detectors/infra/deployment.js +0 -1
- package/dist/scanner/detectors/infra/monorepo.d.ts +0 -1
- package/dist/scanner/detectors/infra/monorepo.js +0 -1
- package/dist/scanner/detectors/mcp/mcpProject.d.ts +0 -1
- package/dist/scanner/detectors/mcp/mcpProject.js +0 -1
- package/dist/scanner/detectors/mcp/mcpServers.d.ts +0 -1
- package/dist/scanner/detectors/mcp/mcpServers.js +0 -1
- package/dist/scanner/detectors/services/analytics.d.ts +0 -1
- package/dist/scanner/detectors/services/analytics.js +0 -1
- package/dist/scanner/detectors/services/auth.d.ts +0 -1
- package/dist/scanner/detectors/services/auth.js +0 -1
- package/dist/scanner/detectors/services/email.d.ts +0 -1
- package/dist/scanner/detectors/services/email.js +0 -1
- package/dist/scanner/detectors/services/payments.d.ts +0 -1
- package/dist/scanner/detectors/services/payments.js +0 -1
- package/dist/scanner/detectors/utils.d.ts +0 -1
- package/dist/scanner/detectors/utils.js +0 -1
- package/dist/scanner/index.d.ts +0 -1
- package/dist/scanner/index.js +0 -1
- package/dist/scanner/registry.d.ts +0 -1
- package/dist/scanner/registry.js +0 -1
- package/dist/scanner/types.d.ts +0 -1
- package/dist/scanner/types.js +0 -1
- package/dist/tui/app.d.ts +0 -1
- package/dist/tui/app.js +0 -1
- package/dist/tui/components/ActionOutput.d.ts +0 -1
- package/dist/tui/components/ActionOutput.js +0 -1
- package/dist/tui/components/ChatInput.d.ts +0 -1
- package/dist/tui/components/ChatInput.js +0 -1
- package/dist/tui/components/CommandDropdown.d.ts +0 -1
- package/dist/tui/components/CommandDropdown.js +0 -1
- package/dist/tui/components/Confirm.d.ts +0 -1
- package/dist/tui/components/Confirm.js +0 -1
- package/dist/tui/components/ErrorCard.d.ts +0 -1
- package/dist/tui/components/ErrorCard.js +0 -1
- package/dist/tui/components/FooterStatusBar.d.ts +0 -1
- package/dist/tui/components/FooterStatusBar.js +0 -1
- package/dist/tui/components/MessageList.d.ts +0 -1
- package/dist/tui/components/MessageList.js +0 -1
- package/dist/tui/components/MultiSelect.d.ts +0 -1
- package/dist/tui/components/MultiSelect.js +0 -1
- package/dist/tui/components/PasswordInput.d.ts +0 -1
- package/dist/tui/components/PasswordInput.js +0 -1
- package/dist/tui/components/PhaseHeader.d.ts +0 -1
- package/dist/tui/components/PhaseHeader.js +0 -1
- package/dist/tui/components/Select.d.ts +0 -1
- package/dist/tui/components/Select.js +0 -1
- package/dist/tui/components/StatusLine.d.ts +0 -1
- package/dist/tui/components/StatusLine.js +0 -1
- package/dist/tui/components/StreamingText.d.ts +0 -1
- package/dist/tui/components/StreamingText.js +0 -1
- package/dist/tui/components/ToolCallCard.d.ts +0 -1
- package/dist/tui/components/ToolCallCard.js +0 -1
- package/dist/tui/components/WiggumBanner.d.ts +0 -1
- package/dist/tui/components/WiggumBanner.js +0 -1
- package/dist/tui/components/WorkingIndicator.d.ts +0 -1
- package/dist/tui/components/WorkingIndicator.js +0 -1
- package/dist/tui/components/index.d.ts +0 -1
- package/dist/tui/components/index.js +0 -1
- package/dist/tui/hooks/index.d.ts +0 -1
- package/dist/tui/hooks/index.js +0 -1
- package/dist/tui/hooks/useCommandHistory.d.ts +0 -1
- package/dist/tui/hooks/useCommandHistory.js +0 -1
- package/dist/tui/hooks/useInit.d.ts +0 -1
- package/dist/tui/hooks/useInit.js +0 -1
- package/dist/tui/hooks/useSpecGenerator.d.ts +0 -1
- package/dist/tui/hooks/useSpecGenerator.js +0 -1
- package/dist/tui/hooks/useSync.d.ts +0 -1
- package/dist/tui/hooks/useSync.js +0 -1
- package/dist/tui/index.d.ts +0 -1
- package/dist/tui/index.js +0 -1
- package/dist/tui/orchestration/index.d.ts +0 -1
- package/dist/tui/orchestration/index.js +0 -1
- package/dist/tui/orchestration/interview-orchestrator.d.ts +0 -1
- package/dist/tui/orchestration/interview-orchestrator.js +0 -1
- package/dist/tui/screens/InitScreen.d.ts +0 -1
- package/dist/tui/screens/InitScreen.js +0 -1
- package/dist/tui/screens/InterviewScreen.d.ts +0 -1
- package/dist/tui/screens/InterviewScreen.js +0 -1
- package/dist/tui/screens/MainShell.d.ts +0 -1
- package/dist/tui/screens/MainShell.js +0 -1
- package/dist/tui/screens/RunScreen.d.ts +0 -1
- package/dist/tui/screens/RunScreen.js +0 -1
- package/dist/tui/screens/WelcomeScreen.d.ts +0 -1
- package/dist/tui/screens/WelcomeScreen.js +0 -1
- package/dist/tui/screens/index.d.ts +0 -1
- package/dist/tui/screens/index.js +0 -1
- package/dist/tui/theme.d.ts +0 -1
- package/dist/tui/theme.js +0 -1
- package/dist/tui/types/interview.d.ts +0 -1
- package/dist/tui/types/interview.js +0 -1
- package/dist/tui/utils/input-utils.d.ts +0 -1
- package/dist/tui/utils/input-utils.js +0 -1
- package/dist/tui/utils/loop-status.d.ts +0 -1
- package/dist/tui/utils/loop-status.js +0 -1
- package/dist/utils/colors.d.ts +0 -1
- package/dist/utils/colors.js +0 -1
- package/dist/utils/config.d.ts +0 -1
- package/dist/utils/config.js +0 -1
- package/dist/utils/env.d.ts +0 -1
- package/dist/utils/env.js +0 -1
- package/dist/utils/header.d.ts +0 -1
- package/dist/utils/header.js +0 -1
- package/dist/utils/json-repair.d.ts +0 -1
- package/dist/utils/json-repair.js +0 -1
- package/dist/utils/logger.d.ts +0 -1
- package/dist/utils/logger.js +0 -1
- package/dist/utils/spinner.d.ts +0 -1
- package/dist/utils/spinner.js +0 -1
- package/dist/utils/tracing.d.ts +0 -1
- package/dist/utils/tracing.js +0 -1
- package/dist/utils/tui.d.ts +0 -1
- package/dist/utils/tui.js +0 -1
- package/dist/utils/update-check.d.ts +0 -1
- package/dist/utils/update-check.js +0 -1
- package/package.json +2 -4
- package/CONTRIBUTING.md +0 -162
- package/dist/__test-utils__/fixtures.d.ts +0 -17
- package/dist/__test-utils__/fixtures.d.ts.map +0 -1
- package/dist/__test-utils__/fixtures.js +0 -32
- package/dist/__test-utils__/fixtures.js.map +0 -1
- package/dist/__test-utils__/ink-helpers.d.ts +0 -43
- package/dist/__test-utils__/ink-helpers.d.ts.map +0 -1
- package/dist/__test-utils__/ink-helpers.js +0 -62
- package/dist/__test-utils__/ink-helpers.js.map +0 -1
- package/dist/__test-utils__/mock-ai.d.ts +0 -99
- package/dist/__test-utils__/mock-ai.d.ts.map +0 -1
- package/dist/__test-utils__/mock-ai.js +0 -75
- package/dist/__test-utils__/mock-ai.js.map +0 -1
- package/dist/__test-utils__/mock-tracing.d.ts +0 -18
- package/dist/__test-utils__/mock-tracing.d.ts.map +0 -1
- package/dist/__test-utils__/mock-tracing.js +0 -24
- package/dist/__test-utils__/mock-tracing.js.map +0 -1
- package/dist/__test-utils__/setup.d.ts +0 -8
- package/dist/__test-utils__/setup.d.ts.map +0 -1
- package/dist/__test-utils__/setup.js +0 -21
- package/dist/__test-utils__/setup.js.map +0 -1
- package/dist/ai/agents/codebase-analyst.d.ts.map +0 -1
- package/dist/ai/agents/codebase-analyst.js.map +0 -1
- package/dist/ai/agents/codebase-analyzer.d.ts.map +0 -1
- package/dist/ai/agents/codebase-analyzer.js.map +0 -1
- package/dist/ai/agents/context-enricher.d.ts.map +0 -1
- package/dist/ai/agents/context-enricher.js.map +0 -1
- package/dist/ai/agents/evaluator-optimizer.d.ts.map +0 -1
- package/dist/ai/agents/evaluator-optimizer.js.map +0 -1
- package/dist/ai/agents/index.d.ts.map +0 -1
- package/dist/ai/agents/index.js.map +0 -1
- package/dist/ai/agents/mcp-detector.d.ts.map +0 -1
- package/dist/ai/agents/mcp-detector.js.map +0 -1
- package/dist/ai/agents/orchestrator.d.ts.map +0 -1
- package/dist/ai/agents/orchestrator.js.map +0 -1
- package/dist/ai/agents/planning-orchestrator.d.ts.map +0 -1
- package/dist/ai/agents/planning-orchestrator.js.map +0 -1
- package/dist/ai/agents/stack-researcher.d.ts.map +0 -1
- package/dist/ai/agents/stack-researcher.js.map +0 -1
- package/dist/ai/agents/stack-utils.d.ts.map +0 -1
- package/dist/ai/agents/stack-utils.js.map +0 -1
- package/dist/ai/agents/synthesis-agent.d.ts.map +0 -1
- package/dist/ai/agents/synthesis-agent.js.map +0 -1
- package/dist/ai/agents/tech-researcher.d.ts.map +0 -1
- package/dist/ai/agents/tech-researcher.js.map +0 -1
- package/dist/ai/agents/types.d.ts.map +0 -1
- package/dist/ai/agents/types.js.map +0 -1
- package/dist/ai/conversation/conversation-manager.d.ts.map +0 -1
- package/dist/ai/conversation/conversation-manager.js.map +0 -1
- package/dist/ai/conversation/index.d.ts.map +0 -1
- package/dist/ai/conversation/index.js.map +0 -1
- package/dist/ai/conversation/interview-tools.d.ts.map +0 -1
- package/dist/ai/conversation/interview-tools.js.map +0 -1
- package/dist/ai/conversation/spec-generator.d.ts.map +0 -1
- package/dist/ai/conversation/spec-generator.js.map +0 -1
- package/dist/ai/conversation/url-fetcher.d.ts.map +0 -1
- package/dist/ai/conversation/url-fetcher.js.map +0 -1
- package/dist/ai/enhancer.d.ts.map +0 -1
- package/dist/ai/enhancer.js.map +0 -1
- package/dist/ai/index.d.ts.map +0 -1
- package/dist/ai/index.js.map +0 -1
- package/dist/ai/prompts.d.ts.map +0 -1
- package/dist/ai/prompts.js.map +0 -1
- package/dist/ai/providers.d.ts.map +0 -1
- package/dist/ai/providers.js.map +0 -1
- package/dist/ai/tools/context7.d.ts.map +0 -1
- package/dist/ai/tools/context7.js.map +0 -1
- package/dist/ai/tools/index.d.ts.map +0 -1
- package/dist/ai/tools/index.js.map +0 -1
- package/dist/ai/tools/tavily.d.ts.map +0 -1
- package/dist/ai/tools/tavily.js.map +0 -1
- package/dist/ai/tools.d.ts.map +0 -1
- package/dist/ai/tools.js.map +0 -1
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/monitor.d.ts.map +0 -1
- package/dist/commands/monitor.js.map +0 -1
- package/dist/commands/new.d.ts.map +0 -1
- package/dist/commands/new.js.map +0 -1
- package/dist/commands/run.d.ts.map +0 -1
- package/dist/commands/run.js.map +0 -1
- package/dist/context/convert.d.ts.map +0 -1
- package/dist/context/convert.js.map +0 -1
- package/dist/context/index.d.ts.map +0 -1
- package/dist/context/index.js.map +0 -1
- package/dist/context/storage.d.ts.map +0 -1
- package/dist/context/storage.js.map +0 -1
- package/dist/context/types.d.ts.map +0 -1
- package/dist/context/types.js.map +0 -1
- package/dist/generator/config.d.ts.map +0 -1
- package/dist/generator/config.js.map +0 -1
- package/dist/generator/index.d.ts.map +0 -1
- package/dist/generator/index.js.map +0 -1
- package/dist/generator/templates.d.ts.map +0 -1
- package/dist/generator/templates.js.map +0 -1
- package/dist/generator/writer.d.ts.map +0 -1
- package/dist/generator/writer.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/repl/command-parser.d.ts.map +0 -1
- package/dist/repl/command-parser.js.map +0 -1
- package/dist/repl/index.d.ts.map +0 -1
- package/dist/repl/index.js.map +0 -1
- package/dist/repl/session-state.d.ts.map +0 -1
- package/dist/repl/session-state.js.map +0 -1
- package/dist/scanner/detectors/core/framework.d.ts.map +0 -1
- package/dist/scanner/detectors/core/framework.js.map +0 -1
- package/dist/scanner/detectors/core/packageManager.d.ts.map +0 -1
- package/dist/scanner/detectors/core/packageManager.js.map +0 -1
- package/dist/scanner/detectors/core/styling.d.ts.map +0 -1
- package/dist/scanner/detectors/core/styling.js.map +0 -1
- package/dist/scanner/detectors/core/testing.d.ts.map +0 -1
- package/dist/scanner/detectors/core/testing.js.map +0 -1
- package/dist/scanner/detectors/data/api.d.ts.map +0 -1
- package/dist/scanner/detectors/data/api.js.map +0 -1
- package/dist/scanner/detectors/data/database.d.ts.map +0 -1
- package/dist/scanner/detectors/data/database.js.map +0 -1
- package/dist/scanner/detectors/data/orm.d.ts.map +0 -1
- package/dist/scanner/detectors/data/orm.js.map +0 -1
- package/dist/scanner/detectors/frontend/formHandling.d.ts.map +0 -1
- package/dist/scanner/detectors/frontend/formHandling.js.map +0 -1
- package/dist/scanner/detectors/frontend/stateManagement.d.ts.map +0 -1
- package/dist/scanner/detectors/frontend/stateManagement.js.map +0 -1
- package/dist/scanner/detectors/frontend/uiComponents.d.ts.map +0 -1
- package/dist/scanner/detectors/frontend/uiComponents.js.map +0 -1
- package/dist/scanner/detectors/infra/deployment.d.ts.map +0 -1
- package/dist/scanner/detectors/infra/deployment.js.map +0 -1
- package/dist/scanner/detectors/infra/monorepo.d.ts.map +0 -1
- package/dist/scanner/detectors/infra/monorepo.js.map +0 -1
- package/dist/scanner/detectors/mcp/mcpProject.d.ts.map +0 -1
- package/dist/scanner/detectors/mcp/mcpProject.js.map +0 -1
- package/dist/scanner/detectors/mcp/mcpServers.d.ts.map +0 -1
- package/dist/scanner/detectors/mcp/mcpServers.js.map +0 -1
- package/dist/scanner/detectors/services/analytics.d.ts.map +0 -1
- package/dist/scanner/detectors/services/analytics.js.map +0 -1
- package/dist/scanner/detectors/services/auth.d.ts.map +0 -1
- package/dist/scanner/detectors/services/auth.js.map +0 -1
- package/dist/scanner/detectors/services/email.d.ts.map +0 -1
- package/dist/scanner/detectors/services/email.js.map +0 -1
- package/dist/scanner/detectors/services/payments.d.ts.map +0 -1
- package/dist/scanner/detectors/services/payments.js.map +0 -1
- package/dist/scanner/detectors/utils.d.ts.map +0 -1
- package/dist/scanner/detectors/utils.js.map +0 -1
- package/dist/scanner/index.d.ts.map +0 -1
- package/dist/scanner/index.js.map +0 -1
- package/dist/scanner/registry.d.ts.map +0 -1
- package/dist/scanner/registry.js.map +0 -1
- package/dist/scanner/types.d.ts.map +0 -1
- package/dist/scanner/types.js.map +0 -1
- package/dist/tui/app.d.ts.map +0 -1
- package/dist/tui/app.js.map +0 -1
- package/dist/tui/components/ActionOutput.d.ts.map +0 -1
- package/dist/tui/components/ActionOutput.js.map +0 -1
- package/dist/tui/components/ChatInput.d.ts.map +0 -1
- package/dist/tui/components/ChatInput.js.map +0 -1
- package/dist/tui/components/ChatInput.test.d.ts +0 -2
- package/dist/tui/components/ChatInput.test.d.ts.map +0 -1
- package/dist/tui/components/ChatInput.test.js +0 -75
- package/dist/tui/components/ChatInput.test.js.map +0 -1
- package/dist/tui/components/CommandDropdown.d.ts.map +0 -1
- package/dist/tui/components/CommandDropdown.js.map +0 -1
- package/dist/tui/components/Confirm.d.ts.map +0 -1
- package/dist/tui/components/Confirm.js.map +0 -1
- package/dist/tui/components/ErrorCard.d.ts.map +0 -1
- package/dist/tui/components/ErrorCard.js.map +0 -1
- package/dist/tui/components/FooterStatusBar.d.ts.map +0 -1
- package/dist/tui/components/FooterStatusBar.js.map +0 -1
- package/dist/tui/components/MessageList.d.ts.map +0 -1
- package/dist/tui/components/MessageList.js.map +0 -1
- package/dist/tui/components/MultiSelect.d.ts.map +0 -1
- package/dist/tui/components/MultiSelect.js.map +0 -1
- package/dist/tui/components/PasswordInput.d.ts.map +0 -1
- package/dist/tui/components/PasswordInput.js.map +0 -1
- package/dist/tui/components/PhaseHeader.d.ts.map +0 -1
- package/dist/tui/components/PhaseHeader.js.map +0 -1
- package/dist/tui/components/Select.d.ts.map +0 -1
- package/dist/tui/components/Select.js.map +0 -1
- package/dist/tui/components/StatusLine.d.ts.map +0 -1
- package/dist/tui/components/StatusLine.js.map +0 -1
- package/dist/tui/components/StreamingText.d.ts.map +0 -1
- package/dist/tui/components/StreamingText.js.map +0 -1
- package/dist/tui/components/ToolCallCard.d.ts.map +0 -1
- package/dist/tui/components/ToolCallCard.js.map +0 -1
- package/dist/tui/components/WiggumBanner.d.ts.map +0 -1
- package/dist/tui/components/WiggumBanner.js.map +0 -1
- package/dist/tui/components/WorkingIndicator.d.ts.map +0 -1
- package/dist/tui/components/WorkingIndicator.js.map +0 -1
- package/dist/tui/components/WorkingIndicator.test.d.ts +0 -2
- package/dist/tui/components/WorkingIndicator.test.d.ts.map +0 -1
- package/dist/tui/components/WorkingIndicator.test.js +0 -26
- package/dist/tui/components/WorkingIndicator.test.js.map +0 -1
- package/dist/tui/components/index.d.ts.map +0 -1
- package/dist/tui/components/index.js.map +0 -1
- package/dist/tui/demo.d.ts +0 -8
- package/dist/tui/demo.d.ts.map +0 -1
- package/dist/tui/demo.js +0 -69
- package/dist/tui/demo.js.map +0 -1
- package/dist/tui/hooks/index.d.ts.map +0 -1
- package/dist/tui/hooks/index.js.map +0 -1
- package/dist/tui/hooks/useCommandHistory.d.ts.map +0 -1
- package/dist/tui/hooks/useCommandHistory.js.map +0 -1
- package/dist/tui/hooks/useInit.d.ts.map +0 -1
- package/dist/tui/hooks/useInit.js.map +0 -1
- package/dist/tui/hooks/useSpecGenerator.d.ts.map +0 -1
- package/dist/tui/hooks/useSpecGenerator.js.map +0 -1
- package/dist/tui/hooks/useSync.d.ts.map +0 -1
- package/dist/tui/hooks/useSync.js.map +0 -1
- package/dist/tui/index.d.ts.map +0 -1
- package/dist/tui/index.js.map +0 -1
- package/dist/tui/orchestration/index.d.ts.map +0 -1
- package/dist/tui/orchestration/index.js.map +0 -1
- package/dist/tui/orchestration/interview-orchestrator.d.ts.map +0 -1
- package/dist/tui/orchestration/interview-orchestrator.js.map +0 -1
- package/dist/tui/screens/InitScreen.d.ts.map +0 -1
- package/dist/tui/screens/InitScreen.js.map +0 -1
- package/dist/tui/screens/InterviewScreen.d.ts.map +0 -1
- package/dist/tui/screens/InterviewScreen.integration.test.d.ts +0 -7
- package/dist/tui/screens/InterviewScreen.integration.test.d.ts.map +0 -1
- package/dist/tui/screens/InterviewScreen.integration.test.js +0 -149
- package/dist/tui/screens/InterviewScreen.integration.test.js.map +0 -1
- package/dist/tui/screens/InterviewScreen.js.map +0 -1
- package/dist/tui/screens/MainShell.d.ts.map +0 -1
- package/dist/tui/screens/MainShell.js.map +0 -1
- package/dist/tui/screens/MainShell.test.d.ts +0 -2
- package/dist/tui/screens/MainShell.test.d.ts.map +0 -1
- package/dist/tui/screens/MainShell.test.js +0 -103
- package/dist/tui/screens/MainShell.test.js.map +0 -1
- package/dist/tui/screens/RunScreen.d.ts.map +0 -1
- package/dist/tui/screens/RunScreen.js.map +0 -1
- package/dist/tui/screens/WelcomeScreen.d.ts.map +0 -1
- package/dist/tui/screens/WelcomeScreen.js.map +0 -1
- package/dist/tui/screens/WelcomeScreen.test.d.ts +0 -2
- package/dist/tui/screens/WelcomeScreen.test.d.ts.map +0 -1
- package/dist/tui/screens/WelcomeScreen.test.js +0 -51
- package/dist/tui/screens/WelcomeScreen.test.js.map +0 -1
- package/dist/tui/screens/index.d.ts.map +0 -1
- package/dist/tui/screens/index.js.map +0 -1
- package/dist/tui/theme.d.ts.map +0 -1
- package/dist/tui/theme.js.map +0 -1
- package/dist/tui/types/interview.d.ts.map +0 -1
- package/dist/tui/types/interview.js.map +0 -1
- package/dist/tui/utils/input-utils.d.ts.map +0 -1
- package/dist/tui/utils/input-utils.js.map +0 -1
- package/dist/tui/utils/loop-status.d.ts.map +0 -1
- package/dist/tui/utils/loop-status.js.map +0 -1
- package/dist/utils/colors.d.ts.map +0 -1
- package/dist/utils/colors.js.map +0 -1
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/env.d.ts.map +0 -1
- package/dist/utils/env.js.map +0 -1
- package/dist/utils/header.d.ts.map +0 -1
- package/dist/utils/header.js.map +0 -1
- package/dist/utils/json-repair.d.ts.map +0 -1
- package/dist/utils/json-repair.js.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/spinner.d.ts.map +0 -1
- package/dist/utils/spinner.js.map +0 -1
- package/dist/utils/tracing.d.ts.map +0 -1
- package/dist/utils/tracing.js.map +0 -1
- package/dist/utils/tui.d.ts.map +0 -1
- package/dist/utils/tui.js.map +0 -1
- package/dist/utils/update-check.d.ts.map +0 -1
- package/dist/utils/update-check.js.map +0 -1
|
@@ -257,4 +257,3 @@ export function RunScreen({ featureName, projectRoot, sessionState, onComplete,
|
|
|
257
257
|
const phaseLine = isStarting ? 'Starting...' : status.phase;
|
|
258
258
|
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [error && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: theme.colors.error, children: ["Error: ", error] }) })), !error && (_jsxs(_Fragment, { children: [_jsxs(Box, { marginTop: 1, flexDirection: "row", children: [_jsx(Text, { children: "Phase: " }), _jsx(Text, { color: colors.yellow, children: phaseLine }), _jsx(Text, { dimColor: true, children: theme.statusLine.separator }), _jsx(Text, { children: "Iter: " }), _jsx(Text, { color: colors.green, children: status.iteration }), _jsxs(Text, { dimColor: true, children: ["/", status.maxIterations || maxIterationsRef.current || '-'] }), _jsx(Text, { dimColor: true, children: theme.statusLine.separator }), _jsx(Text, { children: "Branch: " }), _jsx(Text, { color: colors.blue, children: branch })] }), _jsxs(Box, { marginTop: 1, flexDirection: "row", children: [_jsx(Text, { children: "Tokens: " }), _jsx(Text, { color: colors.pink, children: formatNumber(totalTokens) }), _jsxs(Text, { dimColor: true, children: [" (in:", formatNumber(status.tokensInput), " out:", formatNumber(status.tokensOutput), ")"] }), _jsx(Text, { dimColor: true, children: theme.statusLine.separator }), _jsxs(Text, { dimColor: true, children: ["Elapsed: ", formatDuration(startTimeRef.current)] })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Box, { flexDirection: "row", alignItems: "center", gap: 1, children: [_jsx(Text, { bold: true, children: "Implementation:" }), _jsx(ProgressBar, { percent: percentTasks }), _jsxs(Text, { children: [percentTasks, "%"] }), _jsxs(Text, { color: colors.green, children: ["\u2713 ", tasks.tasksDone] }), _jsxs(Text, { color: colors.yellow, children: ["\u25CB ", tasks.tasksPending] })] }), totalE2e > 0 && (_jsxs(Box, { flexDirection: "row", alignItems: "center", gap: 1, children: [_jsx(Text, { bold: true, children: "E2E Tests:" }), _jsx(ProgressBar, { percent: percentE2e }), _jsxs(Text, { children: [percentE2e, "%"] }), _jsxs(Text, { color: colors.green, children: ["\u2713 ", tasks.e2eDone] }), _jsxs(Text, { color: colors.yellow, children: ["\u25CB ", tasks.e2ePending] })] })), _jsxs(Box, { flexDirection: "row", alignItems: "center", gap: 1, marginTop: 1, children: [_jsx(Text, { bold: true, children: "Overall:" }), _jsx(ProgressBar, { percent: percentAll }), _jsxs(Text, { children: [percentAll, "%"] }), _jsxs(Text, { color: colors.green, children: ["\u2713 ", doneAll] }), _jsxs(Text, { color: colors.yellow, children: ["\u25CB ", totalAll - doneAll] })] })] }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { dimColor: true, children: ["Tip: /monitor ", featureName, " in another terminal for details"] }) }), _jsx(Box, { children: _jsx(Text, { dimColor: true, children: "Press Ctrl+C to stop the loop" }) })] })), showConfirm && (_jsx(Box, { marginTop: 1, children: _jsx(Confirm, { message: stopRequestedRef.current ? 'Stopping loop...' : 'Stop the feature loop?', onConfirm: handleConfirm, onCancel: () => setShowConfirm(false), initialValue: false }) })), _jsx(FooterStatusBar, { action: "Run Loop", phase: phaseLine, path: featureName })] }));
|
|
259
259
|
}
|
|
260
|
-
//# sourceMappingURL=RunScreen.js.map
|
|
@@ -52,4 +52,3 @@ export function WelcomeScreen({ provider, model, version, isInitialized, onConti
|
|
|
52
52
|
const statusColor = isInitialized ? colors.green : colors.orange;
|
|
53
53
|
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(WiggumBanner, {}), _jsxs(Box, { marginTop: 1, flexDirection: "row", children: [_jsxs(Text, { color: colors.pink, children: ["v", versionDisplay] }), _jsx(Text, { dimColor: true, children: separator }), provider ? (_jsx(Text, { color: colors.blue, children: modelDisplay })) : (_jsx(Text, { color: colors.orange, children: modelDisplay })), _jsx(Text, { dimColor: true, children: separator }), _jsx(Text, { color: statusColor, children: statusText })] }), _jsx(Box, { marginTop: 2, children: _jsxs(Text, { dimColor: true, children: ["Tip: ", isInitialized ? '/new <feature> to create spec' : '/init to set up', ", /help for commands"] }) })] }));
|
|
54
54
|
}
|
|
55
|
-
//# sourceMappingURL=WelcomeScreen.js.map
|
|
@@ -11,4 +11,3 @@ export { MainShell } from './MainShell.js';
|
|
|
11
11
|
export type { MainShellProps, NavigationTarget, NavigationProps } from './MainShell.js';
|
|
12
12
|
export { RunScreen } from './RunScreen.js';
|
|
13
13
|
export type { RunScreenProps, RunSummary } from './RunScreen.js';
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/tui/theme.d.ts
CHANGED
package/dist/tui/theme.js
CHANGED
|
@@ -39,4 +39,3 @@ export type InterviewAnswer = {
|
|
|
39
39
|
* Map selected option IDs to their labels, falling back to raw IDs for unmatched entries
|
|
40
40
|
*/
|
|
41
41
|
export declare function resolveOptionLabels(options: readonly InterviewOption[], selectedIds: readonly string[]): string[];
|
|
42
|
-
//# sourceMappingURL=interview.d.ts.map
|
package/dist/utils/colors.d.ts
CHANGED
package/dist/utils/colors.js
CHANGED
package/dist/utils/config.d.ts
CHANGED
package/dist/utils/config.js
CHANGED
package/dist/utils/env.d.ts
CHANGED
package/dist/utils/env.js
CHANGED
package/dist/utils/header.d.ts
CHANGED
package/dist/utils/header.js
CHANGED
package/dist/utils/logger.d.ts
CHANGED
package/dist/utils/logger.js
CHANGED
package/dist/utils/spinner.d.ts
CHANGED
package/dist/utils/spinner.js
CHANGED
package/dist/utils/tracing.d.ts
CHANGED
package/dist/utils/tracing.js
CHANGED
package/dist/utils/tui.d.ts
CHANGED
package/dist/utils/tui.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wiggum-cli",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.1",
|
|
4
4
|
"description": "AI-powered feature development loop CLI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -9,8 +9,7 @@
|
|
|
9
9
|
"bin",
|
|
10
10
|
"src/templates",
|
|
11
11
|
"LICENSE",
|
|
12
|
-
"README.md"
|
|
13
|
-
"CONTRIBUTING.md"
|
|
12
|
+
"README.md"
|
|
14
13
|
],
|
|
15
14
|
"bin": {
|
|
16
15
|
"wiggum": "bin/ralph.js"
|
|
@@ -40,7 +39,6 @@
|
|
|
40
39
|
"@ai-sdk/anthropic": "^3.0.15",
|
|
41
40
|
"@ai-sdk/openai": "^3.0.12",
|
|
42
41
|
"@braintrust/otel": "^0.2.0",
|
|
43
|
-
"@clack/prompts": "^0.7.0",
|
|
44
42
|
"@upstash/context7-tools-ai-sdk": "^0.2.1",
|
|
45
43
|
"ai": "^6.0.41",
|
|
46
44
|
"braintrust": "^2.0.2",
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
# Contributing to Wiggum CLI
|
|
2
|
-
|
|
3
|
-
Thanks for your interest in contributing! This guide covers everything you need to get started.
|
|
4
|
-
|
|
5
|
-
## What We Accept
|
|
6
|
-
|
|
7
|
-
### Always welcome
|
|
8
|
-
- **Bug fixes** — Found something broken? PRs welcome
|
|
9
|
-
- **Documentation** — Improvements, typos, examples, tutorials
|
|
10
|
-
- **Scanner detectors** — Add support for new frameworks, tools, or tech stacks
|
|
11
|
-
- **Templates** — New spec templates, prompt guides, or workflow examples
|
|
12
|
-
|
|
13
|
-
### Requires discussion first
|
|
14
|
-
- **New commands** — Open an issue before coding to align on scope
|
|
15
|
-
- **TUI components** — Discuss architecture impacts first
|
|
16
|
-
- **Integrations** — New API integrations need maintainer approval
|
|
17
|
-
- **Large refactors** — These need alignment first
|
|
18
|
-
|
|
19
|
-
## Getting Started
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
git clone https://github.com/federiconeri/wiggum-cli.git
|
|
23
|
-
cd wiggum-cli
|
|
24
|
-
npm install
|
|
25
|
-
npm run build
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
### Prerequisites
|
|
29
|
-
|
|
30
|
-
- **Node.js** >= 18.0.0
|
|
31
|
-
- **npm**
|
|
32
|
-
- **Git**
|
|
33
|
-
|
|
34
|
-
## Development
|
|
35
|
-
|
|
36
|
-
### Build
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
npm run build # Compile TypeScript + copy templates
|
|
40
|
-
npm run dev # Watch mode (recompiles on save)
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Test
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
npm test # Run all tests (vitest)
|
|
47
|
-
npm run test:watch # Watch mode
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Run locally
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
npm start # Runs bin/ralph.js
|
|
54
|
-
# or
|
|
55
|
-
node bin/ralph.js
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## Project Structure
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
src/
|
|
62
|
-
├── ai/ # AI agents, conversation management, enhancers
|
|
63
|
-
├── commands/ # CLI command handlers (init, new, run, etc.)
|
|
64
|
-
├── context/ # Project context storage and conversion
|
|
65
|
-
├── generator/ # Template-based file generation
|
|
66
|
-
├── repl/ # REPL/interactive shell logic
|
|
67
|
-
├── scanner/ # Tech stack detection (80+ technologies)
|
|
68
|
-
├── templates/ # Templates for prompts, scripts, configs
|
|
69
|
-
├── terminal/ # Terminal utilities
|
|
70
|
-
├── tui/ # Ink-based terminal UI (screens, components, hooks)
|
|
71
|
-
├── utils/ # Shared utilities (config, env, tracing)
|
|
72
|
-
└── index.ts # Entry point
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
Tests live next to source files as `*.test.ts`.
|
|
76
|
-
|
|
77
|
-
## Making Changes
|
|
78
|
-
|
|
79
|
-
### Branch naming
|
|
80
|
-
|
|
81
|
-
```
|
|
82
|
-
feat/short-description # New features
|
|
83
|
-
fix/short-description # Bug fixes
|
|
84
|
-
chore/short-description # Maintenance, refactoring
|
|
85
|
-
docs/short-description # Documentation
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### Commit messages
|
|
89
|
-
|
|
90
|
-
We use [Conventional Commits](https://www.conventionalcommits.org/):
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
feat: add spec autocomplete to /run command
|
|
94
|
-
fix(tui): handle empty input in interview screen
|
|
95
|
-
chore: bump version to 0.11.19
|
|
96
|
-
docs: update CLI reference in README
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
**Format:** `type(scope): description`
|
|
100
|
-
|
|
101
|
-
| Type | When to use |
|
|
102
|
-
|------|------------|
|
|
103
|
-
| `feat` | New feature or capability |
|
|
104
|
-
| `fix` | Bug fix |
|
|
105
|
-
| `chore` | Maintenance, deps, version bumps |
|
|
106
|
-
| `docs` | Documentation only |
|
|
107
|
-
| `refactor` | Code change that neither fixes nor adds a feature |
|
|
108
|
-
| `test` | Adding or updating tests |
|
|
109
|
-
|
|
110
|
-
Common scopes: `tui`, `ai`, `cli`, `scanner`, `loop`.
|
|
111
|
-
|
|
112
|
-
## Pull Requests
|
|
113
|
-
|
|
114
|
-
1. Fork the repo and create your branch from `main`
|
|
115
|
-
2. Make your changes and add tests if applicable
|
|
116
|
-
3. Ensure `npm test` and `npm run build` pass
|
|
117
|
-
4. Write a clear PR title using the commit convention format
|
|
118
|
-
5. Reference the related issue in your PR description
|
|
119
|
-
6. Keep PRs small and focused — single-purpose PRs are easier to review
|
|
120
|
-
|
|
121
|
-
## Code Style
|
|
122
|
-
|
|
123
|
-
- **TypeScript** with strict mode enabled
|
|
124
|
-
- **ESM** modules (`import`/`export`, `.js` extensions in imports)
|
|
125
|
-
- **React JSX** for TUI components (Ink)
|
|
126
|
-
- Run `npm run build` to catch type errors before submitting
|
|
127
|
-
|
|
128
|
-
## Reporting Bugs
|
|
129
|
-
|
|
130
|
-
[Open an issue](https://github.com/federiconeri/wiggum-cli/issues/new) with:
|
|
131
|
-
|
|
132
|
-
- Steps to reproduce
|
|
133
|
-
- Expected vs actual behavior
|
|
134
|
-
- Node.js version (`node -v`)
|
|
135
|
-
- Wiggum version (`wiggum --version`)
|
|
136
|
-
- OS and terminal
|
|
137
|
-
|
|
138
|
-
## Feature Requests
|
|
139
|
-
|
|
140
|
-
[Open an issue](https://github.com/federiconeri/wiggum-cli/issues/new) describing:
|
|
141
|
-
|
|
142
|
-
- The problem you're trying to solve
|
|
143
|
-
- Your proposed solution
|
|
144
|
-
- Any alternatives you considered
|
|
145
|
-
|
|
146
|
-
## Out of Scope
|
|
147
|
-
|
|
148
|
-
We don't accept PRs for these areas without prior discussion:
|
|
149
|
-
|
|
150
|
-
- **Core AI logic** — Maintained internally to ensure consistency and quality
|
|
151
|
-
- **Paid features** — Dashboard, API infrastructure, cloud environment, and notification systems are developed separately
|
|
152
|
-
- **Large refactors without discussion** — These need alignment with the maintainer first
|
|
153
|
-
|
|
154
|
-
PRs in these areas without prior discussion will likely be closed.
|
|
155
|
-
|
|
156
|
-
## Security Issues
|
|
157
|
-
|
|
158
|
-
Please don't open a public issue. Email security concerns directly to the maintainers.
|
|
159
|
-
|
|
160
|
-
## License
|
|
161
|
-
|
|
162
|
-
By contributing, you agree that your contributions will be licensed under the project's [MIT + Commons Clause license](LICENSE).
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data factories for test fixtures
|
|
3
|
-
*
|
|
4
|
-
* Provides factory functions to build typed test data with sensible defaults.
|
|
5
|
-
* Use the `overrides` parameter to customize specific fields per test.
|
|
6
|
-
*/
|
|
7
|
-
import type { SessionState } from '../repl/session-state.js';
|
|
8
|
-
import type { ScanResult } from '../scanner/types.js';
|
|
9
|
-
/**
|
|
10
|
-
* Create a SessionState with sensible defaults.
|
|
11
|
-
*/
|
|
12
|
-
export declare function createTestSessionState(overrides?: Partial<SessionState>): SessionState;
|
|
13
|
-
/**
|
|
14
|
-
* Create a ScanResult with sensible defaults.
|
|
15
|
-
*/
|
|
16
|
-
export declare function createTestScanResult(overrides?: Partial<ScanResult>): ScanResult;
|
|
17
|
-
//# sourceMappingURL=fixtures.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/__test-utils__/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,YAAY,CAU1F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,UAAU,CAOpF"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data factories for test fixtures
|
|
3
|
-
*
|
|
4
|
-
* Provides factory functions to build typed test data with sensible defaults.
|
|
5
|
-
* Use the `overrides` parameter to customize specific fields per test.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Create a SessionState with sensible defaults.
|
|
9
|
-
*/
|
|
10
|
-
export function createTestSessionState(overrides = {}) {
|
|
11
|
-
return {
|
|
12
|
-
projectRoot: '/tmp/test-project',
|
|
13
|
-
config: null,
|
|
14
|
-
provider: 'anthropic',
|
|
15
|
-
model: 'sonnet',
|
|
16
|
-
conversationMode: false,
|
|
17
|
-
initialized: true,
|
|
18
|
-
...overrides,
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Create a ScanResult with sensible defaults.
|
|
23
|
-
*/
|
|
24
|
-
export function createTestScanResult(overrides = {}) {
|
|
25
|
-
return {
|
|
26
|
-
projectRoot: '/tmp/test-project',
|
|
27
|
-
stack: {},
|
|
28
|
-
scanTime: 42,
|
|
29
|
-
...overrides,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=fixtures.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/__test-utils__/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAAmC,EAAE;IAC1E,OAAO;QACL,WAAW,EAAE,mBAAmB;QAChC,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,QAAQ;QACf,gBAAgB,EAAE,KAAK;QACvB,WAAW,EAAE,IAAI;QACjB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAAiC,EAAE;IACtE,OAAO;QACL,WAAW,EAAE,mBAAmB;QAChC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,GAAG,SAAS;KACb,CAAC;AACJ,CAAC"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ink test utilities
|
|
3
|
-
*
|
|
4
|
-
* Helpers for rendering and interacting with Ink components in tests.
|
|
5
|
-
* Built on top of ink-testing-library.
|
|
6
|
-
*/
|
|
7
|
-
import { render } from 'ink-testing-library';
|
|
8
|
-
type Instance = ReturnType<typeof render>;
|
|
9
|
-
/**
|
|
10
|
-
* Wait for a short period to let React effects settle.
|
|
11
|
-
*/
|
|
12
|
-
export declare function wait(ms?: number): Promise<void>;
|
|
13
|
-
/**
|
|
14
|
-
* Render and wait for effects to settle.
|
|
15
|
-
* Returns the ink-testing-library Instance.
|
|
16
|
-
*
|
|
17
|
-
* IMPORTANT: Always use this (or manually wait after render) before
|
|
18
|
-
* writing to stdin, because React 18 useEffect runs asynchronously.
|
|
19
|
-
*/
|
|
20
|
-
export declare function renderAndWait(renderFn: () => Instance, delayMs?: number): Promise<Instance>;
|
|
21
|
-
/**
|
|
22
|
-
* Strip ANSI escape codes from a string for clean assertions.
|
|
23
|
-
*/
|
|
24
|
-
export declare function stripAnsi(text: string): string;
|
|
25
|
-
/**
|
|
26
|
-
* Send a string of text as key-by-key input.
|
|
27
|
-
* Each character is written individually to simulate real typing,
|
|
28
|
-
* which is required because Ink's useInput processes multi-char
|
|
29
|
-
* writes as paste events.
|
|
30
|
-
*
|
|
31
|
-
* Waits before and after writing to allow React effects to settle.
|
|
32
|
-
*/
|
|
33
|
-
export declare function type(instance: Instance, text: string): Promise<void>;
|
|
34
|
-
/**
|
|
35
|
-
* Press Enter (carriage return).
|
|
36
|
-
*/
|
|
37
|
-
export declare function pressEnter(instance: Instance): void;
|
|
38
|
-
/**
|
|
39
|
-
* Press Escape.
|
|
40
|
-
*/
|
|
41
|
-
export declare function pressEscape(instance: Instance): void;
|
|
42
|
-
export {};
|
|
43
|
-
//# sourceMappingURL=ink-helpers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ink-helpers.d.ts","sourceRoot":"","sources":["../../src/__test-utils__/ink-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;AAE1C;;GAEG;AACH,wBAAgB,IAAI,CAAC,EAAE,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3C;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,QAAQ,EACxB,OAAO,SAAK,GACX,OAAO,CAAC,QAAQ,CAAC,CAInB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED;;;;;;;GAOG;AACH,wBAAsB,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS1E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAEnD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAEpD"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ink test utilities
|
|
3
|
-
*
|
|
4
|
-
* Helpers for rendering and interacting with Ink components in tests.
|
|
5
|
-
* Built on top of ink-testing-library.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Wait for a short period to let React effects settle.
|
|
9
|
-
*/
|
|
10
|
-
export function wait(ms = 50) {
|
|
11
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Render and wait for effects to settle.
|
|
15
|
-
* Returns the ink-testing-library Instance.
|
|
16
|
-
*
|
|
17
|
-
* IMPORTANT: Always use this (or manually wait after render) before
|
|
18
|
-
* writing to stdin, because React 18 useEffect runs asynchronously.
|
|
19
|
-
*/
|
|
20
|
-
export async function renderAndWait(renderFn, delayMs = 50) {
|
|
21
|
-
const instance = renderFn();
|
|
22
|
-
await wait(delayMs);
|
|
23
|
-
return instance;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Strip ANSI escape codes from a string for clean assertions.
|
|
27
|
-
*/
|
|
28
|
-
export function stripAnsi(text) {
|
|
29
|
-
// eslint-disable-next-line no-control-regex
|
|
30
|
-
return text.replace(/\u001b\[[0-9;]*m/g, '');
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Send a string of text as key-by-key input.
|
|
34
|
-
* Each character is written individually to simulate real typing,
|
|
35
|
-
* which is required because Ink's useInput processes multi-char
|
|
36
|
-
* writes as paste events.
|
|
37
|
-
*
|
|
38
|
-
* Waits before and after writing to allow React effects to settle.
|
|
39
|
-
*/
|
|
40
|
-
export async function type(instance, text) {
|
|
41
|
-
for (const char of text) {
|
|
42
|
-
instance.stdin.write(char);
|
|
43
|
-
// Yield to let React commit the state update before the next char.
|
|
44
|
-
// Without this, React batches consecutive synchronous writes and
|
|
45
|
-
// only the last write in each batch survives (stale closure values).
|
|
46
|
-
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
47
|
-
}
|
|
48
|
-
await wait(30);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Press Enter (carriage return).
|
|
52
|
-
*/
|
|
53
|
-
export function pressEnter(instance) {
|
|
54
|
-
instance.stdin.write('\r');
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Press Escape.
|
|
58
|
-
*/
|
|
59
|
-
export function pressEscape(instance) {
|
|
60
|
-
instance.stdin.write('\u001b');
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=ink-helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ink-helpers.js","sourceRoot":"","sources":["../../src/__test-utils__/ink-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE;IAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAwB,EACxB,OAAO,GAAG,EAAE;IAEZ,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,4CAA4C;IAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,QAAkB,EAAE,IAAY;IACzD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,mEAAmE;QACnE,iEAAiE;QACjE,qEAAqE;QACrE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAkB;IAC3C,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC5C,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC"}
|