codehere 0.2.0 → 0.4.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.
Potentially problematic release.
This version of codehere might be problematic. Click here for more details.
- package/README.md +223 -42
- package/dist/application/agents/documentation-agent.d.ts +24 -0
- package/dist/application/agents/documentation-agent.d.ts.map +1 -0
- package/dist/application/agents/documentation-agent.js +399 -0
- package/dist/application/agents/documentation-agent.js.map +1 -0
- package/dist/application/agents/execution-agent.d.ts +11 -0
- package/dist/application/agents/execution-agent.d.ts.map +1 -1
- package/dist/application/agents/execution-agent.js +289 -80
- package/dist/application/agents/execution-agent.js.map +1 -1
- package/dist/application/agents/multi-agent-orchestrator.d.ts +4 -0
- package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -1
- package/dist/application/agents/multi-agent-orchestrator.js +86 -0
- package/dist/application/agents/multi-agent-orchestrator.js.map +1 -1
- package/dist/application/agents/planning-agent.d.ts +3 -0
- package/dist/application/agents/planning-agent.d.ts.map +1 -1
- package/dist/application/agents/planning-agent.js +132 -64
- package/dist/application/agents/planning-agent.js.map +1 -1
- package/dist/application/agents/product-requirements-agent.d.ts +21 -0
- package/dist/application/agents/product-requirements-agent.d.ts.map +1 -0
- package/dist/application/agents/product-requirements-agent.js +247 -0
- package/dist/application/agents/product-requirements-agent.js.map +1 -0
- package/dist/application/agents/validation-agent.d.ts +5 -1
- package/dist/application/agents/validation-agent.d.ts.map +1 -1
- package/dist/application/agents/validation-agent.js +156 -21
- package/dist/application/agents/validation-agent.js.map +1 -1
- package/dist/application/services/dependency-container.d.ts +25 -2
- package/dist/application/services/dependency-container.d.ts.map +1 -1
- package/dist/application/services/dependency-container.js +163 -1
- package/dist/application/services/dependency-container.js.map +1 -1
- package/dist/application/services/intelligent-router.d.ts +13 -0
- package/dist/application/services/intelligent-router.d.ts.map +1 -1
- package/dist/application/services/intelligent-router.js +300 -87
- package/dist/application/services/intelligent-router.js.map +1 -1
- package/dist/application/use-cases/ask-question-use-case.d.ts +31 -0
- package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -1
- package/dist/application/use-cases/ask-question-use-case.js +254 -55
- package/dist/application/use-cases/ask-question-use-case.js.map +1 -1
- package/dist/application/use-cases/edit-file-use-case.d.ts.map +1 -1
- package/dist/application/use-cases/edit-file-use-case.js +86 -4
- package/dist/application/use-cases/edit-file-use-case.js.map +1 -1
- package/dist/application/use-cases/planning-use-case.d.ts.map +1 -1
- package/dist/application/use-cases/planning-use-case.js +10 -1
- package/dist/application/use-cases/planning-use-case.js.map +1 -1
- package/dist/application/use-cases/react-orchestration-use-case.d.ts.map +1 -1
- package/dist/application/use-cases/react-orchestration-use-case.js +6 -2
- package/dist/application/use-cases/react-orchestration-use-case.js.map +1 -1
- package/dist/domain/entities/documentation.d.ts +35 -0
- package/dist/domain/entities/documentation.d.ts.map +1 -0
- package/dist/domain/entities/documentation.js +6 -0
- package/dist/domain/entities/documentation.js.map +1 -0
- package/dist/domain/entities/product-requirements.d.ts +50 -0
- package/dist/domain/entities/product-requirements.d.ts.map +1 -0
- package/dist/domain/entities/product-requirements.js +6 -0
- package/dist/domain/entities/product-requirements.js.map +1 -0
- package/dist/domain/entities/task.d.ts +152 -0
- package/dist/domain/entities/task.d.ts.map +1 -0
- package/dist/domain/entities/task.js +61 -0
- package/dist/domain/entities/task.js.map +1 -0
- package/dist/domain/interfaces/agent.interface.d.ts +15 -0
- package/dist/domain/interfaces/agent.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/agent.interface.js +6 -0
- package/dist/domain/interfaces/agent.interface.js.map +1 -0
- package/dist/domain/services/environment-mode-manager.d.ts +18 -0
- package/dist/domain/services/environment-mode-manager.d.ts.map +1 -0
- package/dist/domain/services/environment-mode-manager.js +37 -0
- package/dist/domain/services/environment-mode-manager.js.map +1 -0
- package/dist/domain/services/react-loop.d.ts +8 -0
- package/dist/domain/services/react-loop.d.ts.map +1 -1
- package/dist/domain/services/react-loop.js +82 -6
- package/dist/domain/services/react-loop.js.map +1 -1
- package/dist/domain/services/risk-tier-detector.d.ts +18 -0
- package/dist/domain/services/risk-tier-detector.d.ts.map +1 -0
- package/dist/domain/services/risk-tier-detector.js +65 -0
- package/dist/domain/services/risk-tier-detector.js.map +1 -0
- package/dist/formatter.d.ts +2 -2
- package/dist/formatter.d.ts.map +1 -1
- package/dist/formatter.js +40 -20
- package/dist/formatter.js.map +1 -1
- package/dist/index.js +218 -125
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/ai/cohere-ai-service.d.ts +3 -1
- package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +1 -1
- package/dist/infrastructure/ai/cohere-ai-service.js +65 -5
- package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -1
- package/dist/infrastructure/ai/fake-ai-service.d.ts +22 -0
- package/dist/infrastructure/ai/fake-ai-service.d.ts.map +1 -0
- package/dist/infrastructure/ai/fake-ai-service.js +59 -0
- package/dist/infrastructure/ai/fake-ai-service.js.map +1 -0
- package/dist/infrastructure/ai/provider-ai-service.d.ts +59 -0
- package/dist/infrastructure/ai/provider-ai-service.d.ts.map +1 -0
- package/dist/infrastructure/ai/provider-ai-service.js +477 -0
- package/dist/infrastructure/ai/provider-ai-service.js.map +1 -0
- package/dist/infrastructure/cache/embedding-cache.d.ts +13 -1
- package/dist/infrastructure/cache/embedding-cache.d.ts.map +1 -1
- package/dist/infrastructure/cache/embedding-cache.js +80 -9
- package/dist/infrastructure/cache/embedding-cache.js.map +1 -1
- package/dist/infrastructure/cache/query-result-cache.d.ts +68 -0
- package/dist/infrastructure/cache/query-result-cache.d.ts.map +1 -0
- package/dist/infrastructure/cache/query-result-cache.js +138 -0
- package/dist/infrastructure/cache/query-result-cache.js.map +1 -0
- package/dist/infrastructure/cache/response-cache.d.ts +86 -0
- package/dist/infrastructure/cache/response-cache.d.ts.map +1 -0
- package/dist/infrastructure/cache/response-cache.js +224 -0
- package/dist/infrastructure/cache/response-cache.js.map +1 -0
- package/dist/infrastructure/cache/security-scan-cache.d.ts +57 -0
- package/dist/infrastructure/cache/security-scan-cache.d.ts.map +1 -0
- package/dist/infrastructure/cache/security-scan-cache.js +124 -0
- package/dist/infrastructure/cache/security-scan-cache.js.map +1 -0
- package/dist/infrastructure/completion/bash-completion.d.ts +8 -0
- package/dist/infrastructure/completion/bash-completion.d.ts.map +1 -0
- package/dist/infrastructure/completion/bash-completion.js +101 -0
- package/dist/infrastructure/completion/bash-completion.js.map +1 -0
- package/dist/infrastructure/completion/completion-generator.d.ts +42 -0
- package/dist/infrastructure/completion/completion-generator.d.ts.map +1 -0
- package/dist/infrastructure/completion/completion-generator.js +184 -0
- package/dist/infrastructure/completion/completion-generator.js.map +1 -0
- package/dist/infrastructure/completion/fish-completion.d.ts +8 -0
- package/dist/infrastructure/completion/fish-completion.d.ts.map +1 -0
- package/dist/infrastructure/completion/fish-completion.js +65 -0
- package/dist/infrastructure/completion/fish-completion.js.map +1 -0
- package/dist/infrastructure/completion/zsh-completion.d.ts +8 -0
- package/dist/infrastructure/completion/zsh-completion.d.ts.map +1 -0
- package/dist/infrastructure/completion/zsh-completion.js +85 -0
- package/dist/infrastructure/completion/zsh-completion.js.map +1 -0
- package/dist/infrastructure/context/context-compressor.d.ts +94 -0
- package/dist/infrastructure/context/context-compressor.d.ts.map +1 -0
- package/dist/infrastructure/context/context-compressor.js +329 -0
- package/dist/infrastructure/context/context-compressor.js.map +1 -0
- package/dist/infrastructure/context/conversation-context.d.ts +58 -0
- package/dist/infrastructure/context/conversation-context.d.ts.map +1 -0
- package/dist/infrastructure/context/conversation-context.js +170 -0
- package/dist/infrastructure/context/conversation-context.js.map +1 -0
- package/dist/infrastructure/context/session-manager.d.ts +26 -0
- package/dist/infrastructure/context/session-manager.d.ts.map +1 -0
- package/dist/infrastructure/context/session-manager.js +98 -0
- package/dist/infrastructure/context/session-manager.js.map +1 -0
- package/dist/infrastructure/cost/cost-tracker.d.ts +1 -0
- package/dist/infrastructure/cost/cost-tracker.d.ts.map +1 -1
- package/dist/infrastructure/cost/cost-tracker.js +12 -5
- package/dist/infrastructure/cost/cost-tracker.js.map +1 -1
- package/dist/infrastructure/governance/nist-ai-rmf.d.ts +6 -8
- package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +1 -1
- package/dist/infrastructure/governance/nist-ai-rmf.js +6 -8
- package/dist/infrastructure/governance/nist-ai-rmf.js.map +1 -1
- package/dist/infrastructure/governance/policy-as-code.d.ts +6 -8
- package/dist/infrastructure/governance/policy-as-code.d.ts.map +1 -1
- package/dist/infrastructure/governance/policy-as-code.js +24 -11
- package/dist/infrastructure/governance/policy-as-code.js.map +1 -1
- package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +7 -9
- package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +1 -1
- package/dist/infrastructure/governance/prompt-to-code-lineage.js +7 -9
- package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +1 -1
- package/dist/infrastructure/observability/execution-tracer.d.ts +5 -2
- package/dist/infrastructure/observability/execution-tracer.d.ts.map +1 -1
- package/dist/infrastructure/observability/execution-tracer.js +45 -8
- package/dist/infrastructure/observability/execution-tracer.js.map +1 -1
- package/dist/infrastructure/providers/cohere-provider.d.ts +39 -0
- package/dist/infrastructure/providers/cohere-provider.d.ts.map +1 -0
- package/dist/infrastructure/providers/cohere-provider.js +359 -0
- package/dist/infrastructure/providers/cohere-provider.js.map +1 -0
- package/dist/infrastructure/providers/fake-provider.d.ts +43 -0
- package/dist/infrastructure/providers/fake-provider.d.ts.map +1 -0
- package/dist/infrastructure/providers/fake-provider.js +130 -0
- package/dist/infrastructure/providers/fake-provider.js.map +1 -0
- package/dist/infrastructure/providers/local-llm-provider.d.ts +49 -0
- package/dist/infrastructure/providers/local-llm-provider.d.ts.map +1 -0
- package/dist/infrastructure/providers/local-llm-provider.js +330 -0
- package/dist/infrastructure/providers/local-llm-provider.js.map +1 -0
- package/dist/infrastructure/providers/model-config.types.d.ts +70 -0
- package/dist/infrastructure/providers/model-config.types.d.ts.map +1 -0
- package/dist/infrastructure/providers/model-config.types.js +9 -0
- package/dist/infrastructure/providers/model-config.types.js.map +1 -0
- package/dist/infrastructure/providers/model-provider.interface.d.ts +113 -0
- package/dist/infrastructure/providers/model-provider.interface.d.ts.map +1 -0
- package/dist/infrastructure/providers/model-provider.interface.js +8 -0
- package/dist/infrastructure/providers/model-provider.interface.js.map +1 -0
- package/dist/infrastructure/providers/openai-provider.d.ts +38 -0
- package/dist/infrastructure/providers/openai-provider.d.ts.map +1 -0
- package/dist/infrastructure/providers/openai-provider.js +413 -0
- package/dist/infrastructure/providers/openai-provider.js.map +1 -0
- package/dist/infrastructure/providers/operation-provider-resolver.d.ts +48 -0
- package/dist/infrastructure/providers/operation-provider-resolver.d.ts.map +1 -0
- package/dist/infrastructure/providers/operation-provider-resolver.js +105 -0
- package/dist/infrastructure/providers/operation-provider-resolver.js.map +1 -0
- package/dist/infrastructure/providers/provider-config-loader.d.ts +37 -0
- package/dist/infrastructure/providers/provider-config-loader.d.ts.map +1 -0
- package/dist/infrastructure/providers/provider-config-loader.js +120 -0
- package/dist/infrastructure/providers/provider-config-loader.js.map +1 -0
- package/dist/infrastructure/providers/provider-registry.d.ts +53 -0
- package/dist/infrastructure/providers/provider-registry.d.ts.map +1 -0
- package/dist/infrastructure/providers/provider-registry.js +88 -0
- package/dist/infrastructure/providers/provider-registry.js.map +1 -0
- package/dist/infrastructure/security/ai-sast-scanner.d.ts +4 -0
- package/dist/infrastructure/security/ai-sast-scanner.d.ts.map +1 -1
- package/dist/infrastructure/security/ai-sast-scanner.js +82 -4
- package/dist/infrastructure/security/ai-sast-scanner.js.map +1 -1
- package/dist/infrastructure/security/enhanced-security-gate.d.ts +2 -0
- package/dist/infrastructure/security/enhanced-security-gate.d.ts.map +1 -1
- package/dist/infrastructure/security/enhanced-security-gate.js +74 -15
- package/dist/infrastructure/security/enhanced-security-gate.js.map +1 -1
- package/dist/infrastructure/storage/plan-repository.d.ts +38 -0
- package/dist/infrastructure/storage/plan-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/plan-repository.js +133 -0
- package/dist/infrastructure/storage/plan-repository.js.map +1 -0
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +11 -0
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -1
- package/dist/infrastructure/storage/sqlite-embedding-repository.js +121 -6
- package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -1
- package/dist/infrastructure/storage/task-helpers.d.ts +58 -0
- package/dist/infrastructure/storage/task-helpers.d.ts.map +1 -0
- package/dist/infrastructure/storage/task-helpers.js +157 -0
- package/dist/infrastructure/storage/task-helpers.js.map +1 -0
- package/dist/infrastructure/storage/task-repository.d.ts +67 -0
- package/dist/infrastructure/storage/task-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/task-repository.js +205 -0
- package/dist/infrastructure/storage/task-repository.js.map +1 -0
- package/dist/infrastructure/ux/bi-directional-learning.d.ts +22 -0
- package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +1 -1
- package/dist/infrastructure/ux/bi-directional-learning.js +144 -7
- package/dist/infrastructure/ux/bi-directional-learning.js.map +1 -1
- package/dist/infrastructure/ux/capability-boundaries.d.ts +50 -0
- package/dist/infrastructure/ux/capability-boundaries.d.ts.map +1 -0
- package/dist/infrastructure/ux/capability-boundaries.js +167 -0
- package/dist/infrastructure/ux/capability-boundaries.js.map +1 -0
- package/dist/infrastructure/ux/comprehensive-formatter.d.ts +63 -0
- package/dist/infrastructure/ux/comprehensive-formatter.d.ts.map +1 -0
- package/dist/infrastructure/ux/comprehensive-formatter.js +212 -0
- package/dist/infrastructure/ux/comprehensive-formatter.js.map +1 -0
- package/dist/infrastructure/ux/contextual-feature-discovery.d.ts +24 -0
- package/dist/infrastructure/ux/contextual-feature-discovery.d.ts.map +1 -0
- package/dist/infrastructure/ux/contextual-feature-discovery.js +144 -0
- package/dist/infrastructure/ux/contextual-feature-discovery.js.map +1 -0
- package/dist/infrastructure/ux/expectation-management.d.ts +33 -0
- package/dist/infrastructure/ux/expectation-management.d.ts.map +1 -1
- package/dist/infrastructure/ux/expectation-management.js +138 -4
- package/dist/infrastructure/ux/expectation-management.js.map +1 -1
- package/dist/infrastructure/ux/feature-discovery.d.ts +47 -0
- package/dist/infrastructure/ux/feature-discovery.d.ts.map +1 -0
- package/dist/infrastructure/ux/feature-discovery.js +190 -0
- package/dist/infrastructure/ux/feature-discovery.js.map +1 -0
- package/dist/infrastructure/ux/feedback-prompt.d.ts +42 -0
- package/dist/infrastructure/ux/feedback-prompt.d.ts.map +1 -0
- package/dist/infrastructure/ux/feedback-prompt.js +181 -0
- package/dist/infrastructure/ux/feedback-prompt.js.map +1 -0
- package/dist/infrastructure/ux/hitl-review-portal.d.ts +47 -0
- package/dist/infrastructure/ux/hitl-review-portal.d.ts.map +1 -0
- package/dist/infrastructure/ux/hitl-review-portal.js +228 -0
- package/dist/infrastructure/ux/hitl-review-portal.js.map +1 -0
- package/dist/infrastructure/ux/hitl-validation.d.ts +35 -0
- package/dist/infrastructure/ux/hitl-validation.d.ts.map +1 -1
- package/dist/infrastructure/ux/hitl-validation.js +86 -0
- package/dist/infrastructure/ux/hitl-validation.js.map +1 -1
- package/dist/infrastructure/ux/progress-indicator.d.ts +55 -0
- package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -0
- package/dist/infrastructure/ux/progress-indicator.js +131 -0
- package/dist/infrastructure/ux/progress-indicator.js.map +1 -0
- package/dist/infrastructure/ux/progressive-disclosure.d.ts.map +1 -1
- package/dist/infrastructure/ux/progressive-disclosure.js +2 -1
- package/dist/infrastructure/ux/progressive-disclosure.js.map +1 -1
- package/dist/infrastructure/ux/proportional-friction.d.ts +73 -0
- package/dist/infrastructure/ux/proportional-friction.d.ts.map +1 -0
- package/dist/infrastructure/ux/proportional-friction.js +200 -0
- package/dist/infrastructure/ux/proportional-friction.js.map +1 -0
- package/dist/infrastructure/ux/review-checkpoint.d.ts +35 -0
- package/dist/infrastructure/ux/review-checkpoint.d.ts.map +1 -0
- package/dist/infrastructure/ux/review-checkpoint.js +119 -0
- package/dist/infrastructure/ux/review-checkpoint.js.map +1 -0
- package/dist/infrastructure/ux/staged-feature-intro.d.ts +47 -0
- package/dist/infrastructure/ux/staged-feature-intro.d.ts.map +1 -0
- package/dist/infrastructure/ux/staged-feature-intro.js +144 -0
- package/dist/infrastructure/ux/staged-feature-intro.js.map +1 -0
- package/dist/infrastructure/ux/syntax-highlighter.d.ts +21 -0
- package/dist/infrastructure/ux/syntax-highlighter.d.ts.map +1 -0
- package/dist/infrastructure/ux/syntax-highlighter.js +172 -0
- package/dist/infrastructure/ux/syntax-highlighter.js.map +1 -0
- package/dist/infrastructure/validation/agent-feedback.d.ts +115 -0
- package/dist/infrastructure/validation/agent-feedback.d.ts.map +1 -0
- package/dist/infrastructure/validation/agent-feedback.js +227 -0
- package/dist/infrastructure/validation/agent-feedback.js.map +1 -0
- package/dist/infrastructure/validation/agent-validation-helper.d.ts +75 -0
- package/dist/infrastructure/validation/agent-validation-helper.d.ts.map +1 -0
- package/dist/infrastructure/validation/agent-validation-helper.js +88 -0
- package/dist/infrastructure/validation/agent-validation-helper.js.map +1 -0
- package/dist/infrastructure/validation/feedback-stats.d.ts +99 -0
- package/dist/infrastructure/validation/feedback-stats.d.ts.map +1 -0
- package/dist/infrastructure/validation/feedback-stats.js +173 -0
- package/dist/infrastructure/validation/feedback-stats.js.map +1 -0
- package/dist/infrastructure/validation/review-handler.d.ts +54 -0
- package/dist/infrastructure/validation/review-handler.d.ts.map +1 -0
- package/dist/infrastructure/validation/review-handler.js +206 -0
- package/dist/infrastructure/validation/review-handler.js.map +1 -0
- package/dist/infrastructure/validation/summary-aggregator.d.ts +42 -0
- package/dist/infrastructure/validation/summary-aggregator.d.ts.map +1 -0
- package/dist/infrastructure/validation/summary-aggregator.js +156 -0
- package/dist/infrastructure/validation/summary-aggregator.js.map +1 -0
- package/dist/infrastructure/validation/summary-extractor.d.ts +59 -0
- package/dist/infrastructure/validation/summary-extractor.d.ts.map +1 -0
- package/dist/infrastructure/validation/summary-extractor.js +102 -0
- package/dist/infrastructure/validation/summary-extractor.js.map +1 -0
- package/dist/infrastructure/validation/trace-summary.d.ts +72 -0
- package/dist/infrastructure/validation/trace-summary.d.ts.map +1 -0
- package/dist/infrastructure/validation/trace-summary.js +371 -0
- package/dist/infrastructure/validation/trace-summary.js.map +1 -0
- package/dist/infrastructure/validation/trust-config.d.ts +27 -0
- package/dist/infrastructure/validation/trust-config.d.ts.map +1 -0
- package/dist/infrastructure/validation/trust-config.js +113 -0
- package/dist/infrastructure/validation/trust-config.js.map +1 -0
- package/dist/infrastructure/xai/attention-visualizer.d.ts +6 -8
- package/dist/infrastructure/xai/attention-visualizer.d.ts.map +1 -1
- package/dist/infrastructure/xai/attention-visualizer.js +6 -8
- package/dist/infrastructure/xai/attention-visualizer.js.map +1 -1
- package/dist/infrastructure/xai/cot-visualizer.d.ts +6 -8
- package/dist/infrastructure/xai/cot-visualizer.d.ts.map +1 -1
- package/dist/infrastructure/xai/cot-visualizer.js +62 -18
- package/dist/infrastructure/xai/cot-visualizer.js.map +1 -1
- package/dist/infrastructure/xai/decision-tree-log.d.ts +6 -10
- package/dist/infrastructure/xai/decision-tree-log.d.ts.map +1 -1
- package/dist/infrastructure/xai/decision-tree-log.js +6 -10
- package/dist/infrastructure/xai/decision-tree-log.js.map +1 -1
- package/dist/infrastructure/xai/interactive-xai.d.ts +6 -8
- package/dist/infrastructure/xai/interactive-xai.d.ts.map +1 -1
- package/dist/infrastructure/xai/interactive-xai.js +6 -8
- package/dist/infrastructure/xai/interactive-xai.js.map +1 -1
- package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +6 -9
- package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +1 -1
- package/dist/infrastructure/xai/uncertainty-quantifier.js +6 -9
- package/dist/infrastructure/xai/uncertainty-quantifier.js.map +1 -1
- package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/ask-command.js +152 -13
- package/dist/presentation/cli/commands/ask-command.js.map +1 -1
- package/dist/presentation/cli/commands/docs-command.d.ts +12 -0
- package/dist/presentation/cli/commands/docs-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/docs-command.js +196 -0
- package/dist/presentation/cli/commands/docs-command.js.map +1 -0
- package/dist/presentation/cli/commands/fix-command.d.ts +8 -0
- package/dist/presentation/cli/commands/fix-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/fix-command.js +309 -0
- package/dist/presentation/cli/commands/fix-command.js.map +1 -0
- package/dist/presentation/cli/commands/help-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/help-command.js +2 -0
- package/dist/presentation/cli/commands/help-command.js.map +1 -1
- package/dist/presentation/cli/commands/orchestrate-command.d.ts +2 -0
- package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/orchestrate-command.js +88 -1
- package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -1
- package/dist/presentation/cli/commands/plan-command.d.ts +1 -0
- package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/plan-command.js +136 -7
- package/dist/presentation/cli/commands/plan-command.js.map +1 -1
- package/dist/presentation/cli/commands/product-command.d.ts +12 -0
- package/dist/presentation/cli/commands/product-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/product-command.js +188 -0
- package/dist/presentation/cli/commands/product-command.js.map +1 -0
- package/dist/presentation/cli/commands/react-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/react-command.js +98 -16
- package/dist/presentation/cli/commands/react-command.js.map +1 -1
- package/dist/presentation/cli/commands/review-command.d.ts +14 -0
- package/dist/presentation/cli/commands/review-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/review-command.js +22 -0
- package/dist/presentation/cli/commands/review-command.js.map +1 -0
- package/dist/presentation/cli/commands/run-command.d.ts +15 -0
- package/dist/presentation/cli/commands/run-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/run-command.js +29 -0
- package/dist/presentation/cli/commands/run-command.js.map +1 -0
- package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/setup-command.js +67 -12
- package/dist/presentation/cli/commands/setup-command.js.map +1 -1
- package/dist/presentation/cli/commands/smart-command.d.ts +3 -1
- package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/smart-command.js +227 -23
- package/dist/presentation/cli/commands/smart-command.js.map +1 -1
- package/dist/presentation/cli/commands/status-command.d.ts +11 -0
- package/dist/presentation/cli/commands/status-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/status-command.js +176 -0
- package/dist/presentation/cli/commands/status-command.js.map +1 -0
- package/dist/presentation/cli/commands/suggest-command.d.ts +13 -0
- package/dist/presentation/cli/commands/suggest-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/suggest-command.js +25 -0
- package/dist/presentation/cli/commands/suggest-command.js.map +1 -0
- package/dist/presentation/cli/commands/trace-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/trace-command.js +9 -5
- package/dist/presentation/cli/commands/trace-command.js.map +1 -1
- package/dist/presentation/cli/commands/undo-command.js +15 -6
- package/dist/presentation/cli/commands/undo-command.js.map +1 -1
- package/dist/presentation/cli/error-display.d.ts +2 -0
- package/dist/presentation/cli/error-display.d.ts.map +1 -1
- package/dist/presentation/cli/error-display.js +220 -2
- package/dist/presentation/cli/error-display.js.map +1 -1
- package/dist/presentation/cli/keyboard-shortcuts.d.ts +27 -0
- package/dist/presentation/cli/keyboard-shortcuts.d.ts.map +1 -0
- package/dist/presentation/cli/keyboard-shortcuts.js +77 -0
- package/dist/presentation/cli/keyboard-shortcuts.js.map +1 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +39 -2
- package/dist/session.js.map +1 -1
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +8 -5
- package/dist/ui.js.map +1 -1
- package/dist/utils/version.js +2 -2
- package/dist/verification/backup.d.ts.map +1 -1
- package/dist/verification/backup.js +24 -3
- package/dist/verification/backup.js.map +1 -1
- package/dist/verification/compiler.js +47 -12
- package/dist/verification/compiler.js.map +1 -1
- package/package.json +10 -2
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
* - Limitation warnings
|
|
10
10
|
* - Contextual disclaimers
|
|
11
11
|
* - Error prevention messaging
|
|
12
|
+
* - First-time AI operation disclaimers
|
|
13
|
+
* - Uncertainty indicators
|
|
12
14
|
*/
|
|
13
15
|
export type OperationRisk = 'low' | 'medium' | 'high' | 'critical';
|
|
14
16
|
export type CapabilityLevel = 'confident' | 'moderate' | 'uncertain' | 'risky';
|
|
@@ -33,9 +35,14 @@ export interface CapabilityAssessment {
|
|
|
33
35
|
* Expectation Management System
|
|
34
36
|
* Manages user expectations and communicates AI limitations clearly
|
|
35
37
|
*/
|
|
38
|
+
export interface AIDisclaimerNotice {
|
|
39
|
+
shown: boolean;
|
|
40
|
+
shownDate?: string;
|
|
41
|
+
}
|
|
36
42
|
export declare class ExpectationManagement {
|
|
37
43
|
private messages;
|
|
38
44
|
private shownMessages;
|
|
45
|
+
private disclaimerShown;
|
|
39
46
|
constructor();
|
|
40
47
|
/**
|
|
41
48
|
* Assess capability for an operation
|
|
@@ -61,5 +68,31 @@ export declare class ExpectationManagement {
|
|
|
61
68
|
private initializeDefaultMessages;
|
|
62
69
|
private matchesContext;
|
|
63
70
|
private generateRecommendedApproach;
|
|
71
|
+
/**
|
|
72
|
+
* Check if first-time AI operation disclaimer should be shown
|
|
73
|
+
*/
|
|
74
|
+
shouldShowFirstTimeDisclaimer(): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Get first-time AI operation disclaimer notice
|
|
77
|
+
*/
|
|
78
|
+
getFirstTimeDisclaimer(): string;
|
|
79
|
+
/**
|
|
80
|
+
* Mark first-time disclaimer as shown
|
|
81
|
+
*/
|
|
82
|
+
markDisclaimerShown(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Get uncertainty indicator message
|
|
85
|
+
*/
|
|
86
|
+
getUncertaintyIndicator(confidence: number): string | null;
|
|
87
|
+
/**
|
|
88
|
+
* Get capability boundaries notice
|
|
89
|
+
*/
|
|
90
|
+
getCapabilityBoundaries(): string;
|
|
91
|
+
/**
|
|
92
|
+
* Format disclaimer for console display (honest tone, no anthropomorphization)
|
|
93
|
+
*/
|
|
94
|
+
formatDisclaimerForConsole(): string;
|
|
95
|
+
private loadDisclaimerState;
|
|
96
|
+
private saveDisclaimerState;
|
|
64
97
|
}
|
|
65
98
|
//# sourceMappingURL=expectation-management.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expectation-management.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ux/expectation-management.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"expectation-management.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ux/expectation-management.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AACnE,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;AAE/E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,eAAe,CAAkB;;IAOzC;;OAEG;IACH,gBAAgB,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;QACP,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;QAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,aAAa,CAAC;KAC3B,GACA,oBAAoB;IAyDvB;;OAEG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,kBAAkB,GAAG,IAAI;IAuBlG;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAIlD;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,GAAG,MAAM;IA2C1D,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,2BAA2B;IAenC;;OAEG;IACH,6BAA6B,IAAI,OAAO;IAIxC;;OAEG;IACH,sBAAsB,IAAI,MAAM;IAoBhC;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAK3B;;OAEG;IACH,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAoB1D;;OAEG;IACH,uBAAuB,IAAI,MAAM;IAwBjC;;OAEG;IACH,0BAA0B,IAAI,MAAM;IAkBpC,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,mBAAmB;CAkB5B"}
|
|
@@ -9,16 +9,18 @@
|
|
|
9
9
|
* - Limitation warnings
|
|
10
10
|
* - Contextual disclaimers
|
|
11
11
|
* - Error prevention messaging
|
|
12
|
+
* - First-time AI operation disclaimers
|
|
13
|
+
* - Uncertainty indicators
|
|
12
14
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
* Manages user expectations and communicates AI limitations clearly
|
|
16
|
-
*/
|
|
15
|
+
import { readFileSync, existsSync, writeFileSync, mkdirSync } from 'fs';
|
|
16
|
+
import { join } from 'path';
|
|
17
17
|
export class ExpectationManagement {
|
|
18
18
|
messages = new Map();
|
|
19
19
|
shownMessages = new Set(); // Track shown messages
|
|
20
|
+
disclaimerShown = false;
|
|
20
21
|
constructor() {
|
|
21
22
|
this.initializeDefaultMessages();
|
|
23
|
+
this.loadDisclaimerState();
|
|
22
24
|
}
|
|
23
25
|
/**
|
|
24
26
|
* Assess capability for an operation
|
|
@@ -189,5 +191,137 @@ export class ExpectationManagement {
|
|
|
189
191
|
}
|
|
190
192
|
return undefined;
|
|
191
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* Check if first-time AI operation disclaimer should be shown
|
|
196
|
+
*/
|
|
197
|
+
shouldShowFirstTimeDisclaimer() {
|
|
198
|
+
return !this.disclaimerShown;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Get first-time AI operation disclaimer notice
|
|
202
|
+
*/
|
|
203
|
+
getFirstTimeDisclaimer() {
|
|
204
|
+
return `┌────────────────────────────────────────────────────┐
|
|
205
|
+
│ ⚠️ AI Assistant Notice │
|
|
206
|
+
│ │
|
|
207
|
+
│ This AI can make mistakes. Please verify: │
|
|
208
|
+
│ • Generated code correctness │
|
|
209
|
+
│ • Security implications │
|
|
210
|
+
│ • License compliance │
|
|
211
|
+
│ • Output accuracy and completeness │
|
|
212
|
+
│ │
|
|
213
|
+
│ Capabilities: │
|
|
214
|
+
│ • Can generate, explain, and modify code │
|
|
215
|
+
│ • May not catch all edge cases │
|
|
216
|
+
│ • May not be aware of latest APIs │
|
|
217
|
+
│ • Processing patterns, not "thinking" │
|
|
218
|
+
│ │
|
|
219
|
+
│ Always review generated code before deploying. │
|
|
220
|
+
└────────────────────────────────────────────────────┘`;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Mark first-time disclaimer as shown
|
|
224
|
+
*/
|
|
225
|
+
markDisclaimerShown() {
|
|
226
|
+
this.disclaimerShown = true;
|
|
227
|
+
this.saveDisclaimerState();
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Get uncertainty indicator message
|
|
231
|
+
*/
|
|
232
|
+
getUncertaintyIndicator(confidence) {
|
|
233
|
+
if (confidence < 0.65) {
|
|
234
|
+
const percent = (confidence * 100).toFixed(0);
|
|
235
|
+
return `┌────────────────────────────────────────────────────┐
|
|
236
|
+
│ ⚠️ Uncertainty Detected │
|
|
237
|
+
│ │
|
|
238
|
+
│ I'm less confident about this answer (${percent}%). │
|
|
239
|
+
│ Please verify the information carefully. │
|
|
240
|
+
│ │
|
|
241
|
+
│ This may indicate: │
|
|
242
|
+
│ • Limited context for the query │
|
|
243
|
+
│ • Ambiguous or complex requirements │
|
|
244
|
+
│ • Potential hallucination risk │
|
|
245
|
+
│ │
|
|
246
|
+
│ Recommendation: Review output thoroughly. │
|
|
247
|
+
└────────────────────────────────────────────────────┘`;
|
|
248
|
+
}
|
|
249
|
+
return null;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Get capability boundaries notice
|
|
253
|
+
*/
|
|
254
|
+
getCapabilityBoundaries() {
|
|
255
|
+
return `Capability Boundaries:
|
|
256
|
+
|
|
257
|
+
What I CAN do:
|
|
258
|
+
✓ Answer questions about your codebase
|
|
259
|
+
✓ Generate and modify code
|
|
260
|
+
✓ Explain code structure and logic
|
|
261
|
+
✓ Suggest improvements and refactorings
|
|
262
|
+
✓ Identify potential issues
|
|
263
|
+
|
|
264
|
+
What I CANNOT do:
|
|
265
|
+
✗ Guarantee code correctness
|
|
266
|
+
✗ Always detect all security vulnerabilities
|
|
267
|
+
✗ Know your specific business requirements
|
|
268
|
+
✗ Replace thorough testing
|
|
269
|
+
✗ Ensure compliance with all regulations
|
|
270
|
+
|
|
271
|
+
Important:
|
|
272
|
+
• Always review generated code
|
|
273
|
+
• Test thoroughly before deploying
|
|
274
|
+
• Verify security and compliance requirements
|
|
275
|
+
• Use as an assistant, not a replacement for expertise`;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Format disclaimer for console display (honest tone, no anthropomorphization)
|
|
279
|
+
*/
|
|
280
|
+
formatDisclaimerForConsole() {
|
|
281
|
+
return `⚠️ AI Assistant Notice
|
|
282
|
+
|
|
283
|
+
This AI assistant processes code patterns and generates suggestions based on training data.
|
|
284
|
+
It can make mistakes and may not understand all context.
|
|
285
|
+
|
|
286
|
+
Please verify:
|
|
287
|
+
• Generated code correctness and logic
|
|
288
|
+
• Security implications (vulnerabilities, data exposure)
|
|
289
|
+
• License compliance (license conflicts, attribution)
|
|
290
|
+
• Output accuracy (may miss edge cases or latest APIs)
|
|
291
|
+
|
|
292
|
+
Remember: The AI is processing patterns, not "thinking" or "understanding"
|
|
293
|
+
in the human sense. Always review and test before deploying.`;
|
|
294
|
+
}
|
|
295
|
+
// Private helpers for disclaimer state management
|
|
296
|
+
loadDisclaimerState() {
|
|
297
|
+
try {
|
|
298
|
+
const configDir = join(process.cwd(), 'data');
|
|
299
|
+
const disclaimerPath = join(configDir, 'ai-disclaimer.json');
|
|
300
|
+
if (existsSync(disclaimerPath)) {
|
|
301
|
+
const state = JSON.parse(readFileSync(disclaimerPath, 'utf-8'));
|
|
302
|
+
this.disclaimerShown = state.shown || false;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
catch {
|
|
306
|
+
// Ignore errors - will default to not shown
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
saveDisclaimerState() {
|
|
310
|
+
try {
|
|
311
|
+
const configDir = join(process.cwd(), 'data');
|
|
312
|
+
if (!existsSync(configDir)) {
|
|
313
|
+
mkdirSync(configDir, { recursive: true });
|
|
314
|
+
}
|
|
315
|
+
const disclaimerPath = join(configDir, 'ai-disclaimer.json');
|
|
316
|
+
const state = {
|
|
317
|
+
shown: true,
|
|
318
|
+
shownDate: new Date().toISOString(),
|
|
319
|
+
};
|
|
320
|
+
writeFileSync(disclaimerPath, JSON.stringify(state, null, 2));
|
|
321
|
+
}
|
|
322
|
+
catch {
|
|
323
|
+
// Ignore errors - non-critical
|
|
324
|
+
}
|
|
325
|
+
}
|
|
192
326
|
}
|
|
193
327
|
//# sourceMappingURL=expectation-management.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expectation-management.js","sourceRoot":"","sources":["../../../src/infrastructure/ux/expectation-management.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"expectation-management.js","sourceRoot":"","sources":["../../../src/infrastructure/ux/expectation-management.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Feature Discovery System
|
|
3
|
+
* Shows contextual feature discovery prompts based on user activity
|
|
4
|
+
*/
|
|
5
|
+
export interface OnboardingState {
|
|
6
|
+
onboardingComplete: boolean;
|
|
7
|
+
onboardingDate?: string;
|
|
8
|
+
commandCount: number;
|
|
9
|
+
featuresDiscovered: string[];
|
|
10
|
+
lastDiscoveryShown?: string;
|
|
11
|
+
lastDiscoveryDate?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface FeatureDiscovery {
|
|
14
|
+
id: string;
|
|
15
|
+
trigger: {
|
|
16
|
+
commandCount?: number;
|
|
17
|
+
commands?: string[];
|
|
18
|
+
condition?: (state: OnboardingState) => boolean;
|
|
19
|
+
};
|
|
20
|
+
message: string;
|
|
21
|
+
features: Array<{
|
|
22
|
+
name: string;
|
|
23
|
+
description: string;
|
|
24
|
+
command: string;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Track command usage
|
|
29
|
+
*/
|
|
30
|
+
export declare function trackCommand(command: string): void;
|
|
31
|
+
/**
|
|
32
|
+
* Check if feature discovery should be shown
|
|
33
|
+
*/
|
|
34
|
+
export declare function shouldShowFeatureDiscovery(command: string): FeatureDiscovery | null;
|
|
35
|
+
/**
|
|
36
|
+
* Mark feature discovery as shown
|
|
37
|
+
*/
|
|
38
|
+
export declare function markFeatureDiscoveryShown(discoveryId: string): void;
|
|
39
|
+
/**
|
|
40
|
+
* Check if user is first-time (onboarding not complete)
|
|
41
|
+
*/
|
|
42
|
+
export declare function isFirstTimeUser(): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Get command count for analytics
|
|
45
|
+
*/
|
|
46
|
+
export declare function getCommandCount(): number;
|
|
47
|
+
//# sourceMappingURL=feature-discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-discovery.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ux/feature-discovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE;QACP,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC;KACjD,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzE;AAiHD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAUlD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,GACd,gBAAgB,GAAG,IAAI,CA6CzB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAKnE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAGzC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAGxC"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Feature Discovery System
|
|
3
|
+
* Shows contextual feature discovery prompts based on user activity
|
|
4
|
+
*/
|
|
5
|
+
import { readFileSync, existsSync, writeFileSync, mkdirSync } from 'fs';
|
|
6
|
+
import { join } from 'path';
|
|
7
|
+
const DISCOVERY_FEATURES = [
|
|
8
|
+
{
|
|
9
|
+
id: 'basic-commands',
|
|
10
|
+
trigger: { commandCount: 3 },
|
|
11
|
+
message: 'You\'ve mastered the basics! Try these next:',
|
|
12
|
+
features: [
|
|
13
|
+
{
|
|
14
|
+
name: 'Multi-agent Orchestration',
|
|
15
|
+
description: 'Plan and execute complex multi-step tasks',
|
|
16
|
+
command: 'codehere orchestrate "your goal"',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: 'ReAct Reasoning',
|
|
20
|
+
description: 'Debug and solve complex problems step-by-step',
|
|
21
|
+
command: 'codehere react "your problem"',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'Planning',
|
|
25
|
+
description: 'Generate hierarchical plans for large tasks',
|
|
26
|
+
command: 'codehere plan "your goal"',
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 'advanced-features',
|
|
32
|
+
trigger: { commandCount: 5 },
|
|
33
|
+
message: 'Ready for advanced features? Discover more:',
|
|
34
|
+
features: [
|
|
35
|
+
{
|
|
36
|
+
name: 'Execution Tracing',
|
|
37
|
+
description: 'View and reproduce agent execution traces',
|
|
38
|
+
command: 'codehere trace show <runId>',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'Knowledge Management',
|
|
42
|
+
description: 'Query and manage preserved knowledge',
|
|
43
|
+
command: 'codehere knowledge query "your query"',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'Learning Dashboard',
|
|
47
|
+
description: 'View patterns and insights learned',
|
|
48
|
+
command: 'codehere learning overview',
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: 'config-management',
|
|
54
|
+
trigger: { commands: ['ask', 'explain', 'edit'] },
|
|
55
|
+
message: 'Customize your experience:',
|
|
56
|
+
features: [
|
|
57
|
+
{
|
|
58
|
+
name: 'Configuration',
|
|
59
|
+
description: 'Manage preferences and settings',
|
|
60
|
+
command: 'codehere config',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: 'Auto-completion',
|
|
64
|
+
description: 'Install shell completion for faster commands',
|
|
65
|
+
command: 'codehere completion bash',
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
/**
|
|
71
|
+
* Get onboarding state from file
|
|
72
|
+
*/
|
|
73
|
+
function getOnboardingState() {
|
|
74
|
+
try {
|
|
75
|
+
const configDir = join(process.cwd(), 'data');
|
|
76
|
+
const onboardingPath = join(configDir, 'onboarding.json');
|
|
77
|
+
if (existsSync(onboardingPath)) {
|
|
78
|
+
const state = JSON.parse(readFileSync(onboardingPath, 'utf-8'));
|
|
79
|
+
return {
|
|
80
|
+
onboardingComplete: state.onboardingComplete || false,
|
|
81
|
+
onboardingDate: state.onboardingDate,
|
|
82
|
+
commandCount: state.commandCount || 0,
|
|
83
|
+
featuresDiscovered: state.featuresDiscovered || [],
|
|
84
|
+
lastDiscoveryShown: state.lastDiscoveryShown,
|
|
85
|
+
lastDiscoveryDate: state.lastDiscoveryDate,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// Ignore errors
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
onboardingComplete: false,
|
|
94
|
+
commandCount: 0,
|
|
95
|
+
featuresDiscovered: [],
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Save onboarding state
|
|
100
|
+
*/
|
|
101
|
+
function saveOnboardingState(state) {
|
|
102
|
+
try {
|
|
103
|
+
const configDir = join(process.cwd(), 'data');
|
|
104
|
+
if (!existsSync(configDir)) {
|
|
105
|
+
mkdirSync(configDir, { recursive: true });
|
|
106
|
+
}
|
|
107
|
+
const onboardingPath = join(configDir, 'onboarding.json');
|
|
108
|
+
writeFileSync(onboardingPath, JSON.stringify(state, null, 2));
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
// Ignore errors - non-critical
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Track command usage
|
|
116
|
+
*/
|
|
117
|
+
export function trackCommand(command) {
|
|
118
|
+
const state = getOnboardingState();
|
|
119
|
+
state.commandCount = (state.commandCount || 0) + 1;
|
|
120
|
+
// Track feature discovery
|
|
121
|
+
if (!state.featuresDiscovered.includes(command)) {
|
|
122
|
+
state.featuresDiscovered.push(command);
|
|
123
|
+
}
|
|
124
|
+
saveOnboardingState(state);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Check if feature discovery should be shown
|
|
128
|
+
*/
|
|
129
|
+
export function shouldShowFeatureDiscovery(command) {
|
|
130
|
+
const state = getOnboardingState();
|
|
131
|
+
// Don't show if onboarding not complete
|
|
132
|
+
if (!state.onboardingComplete) {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
// Don't show discovery too frequently (once per day max)
|
|
136
|
+
const lastDate = state.lastDiscoveryDate;
|
|
137
|
+
if (lastDate) {
|
|
138
|
+
const lastShown = new Date(lastDate);
|
|
139
|
+
const now = new Date();
|
|
140
|
+
const daysSince = (now.getTime() - lastShown.getTime()) / (1000 * 60 * 60 * 24);
|
|
141
|
+
if (daysSince < 1) {
|
|
142
|
+
return null; // Already shown today
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// Check each discovery feature
|
|
146
|
+
for (const discovery of DISCOVERY_FEATURES) {
|
|
147
|
+
// Skip if already shown
|
|
148
|
+
if (state.lastDiscoveryShown === discovery.id) {
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
const trigger = discovery.trigger;
|
|
152
|
+
// Check command count trigger
|
|
153
|
+
if (trigger.commandCount && state.commandCount >= trigger.commandCount) {
|
|
154
|
+
return discovery;
|
|
155
|
+
}
|
|
156
|
+
// Check commands trigger
|
|
157
|
+
if (trigger.commands && trigger.commands.includes(command)) {
|
|
158
|
+
return discovery;
|
|
159
|
+
}
|
|
160
|
+
// Check custom condition
|
|
161
|
+
if (trigger.condition && trigger.condition(state)) {
|
|
162
|
+
return discovery;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Mark feature discovery as shown
|
|
169
|
+
*/
|
|
170
|
+
export function markFeatureDiscoveryShown(discoveryId) {
|
|
171
|
+
const state = getOnboardingState();
|
|
172
|
+
state.lastDiscoveryShown = discoveryId;
|
|
173
|
+
state.lastDiscoveryDate = new Date().toISOString();
|
|
174
|
+
saveOnboardingState(state);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Check if user is first-time (onboarding not complete)
|
|
178
|
+
*/
|
|
179
|
+
export function isFirstTimeUser() {
|
|
180
|
+
const state = getOnboardingState();
|
|
181
|
+
return !state.onboardingComplete;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Get command count for analytics
|
|
185
|
+
*/
|
|
186
|
+
export function getCommandCount() {
|
|
187
|
+
const state = getOnboardingState();
|
|
188
|
+
return state.commandCount || 0;
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=feature-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-discovery.js","sourceRoot":"","sources":["../../../src/infrastructure/ux/feature-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Infrastructure: Explicit Feedback Prompt
|
|
3
|
+
* Task 6.1: Add thumbs up/down for responses, request refinement option
|
|
4
|
+
*
|
|
5
|
+
* Features:
|
|
6
|
+
* - Feedback prompts after operations
|
|
7
|
+
* - Thumbs up/down collection
|
|
8
|
+
* - Refinement request option
|
|
9
|
+
* - Feedback storage for learning
|
|
10
|
+
*/
|
|
11
|
+
import { BiDirectionalLearning, FeedbackSignal } from './bi-directional-learning.js';
|
|
12
|
+
export type FeedbackAction = 'thumbs_up' | 'thumbs_down' | 'refine' | 'skip';
|
|
13
|
+
export interface FeedbackResult {
|
|
14
|
+
action: FeedbackAction;
|
|
15
|
+
signal: FeedbackSignal;
|
|
16
|
+
message?: string;
|
|
17
|
+
timestamp: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Display feedback prompt and collect user input
|
|
21
|
+
* Task 6.1: Explicit feedback collection after operations
|
|
22
|
+
* FIXED: Now works in non-TTY mode via environment variables
|
|
23
|
+
*/
|
|
24
|
+
export declare function promptForFeedback(operation: string, context?: {
|
|
25
|
+
query?: string;
|
|
26
|
+
response?: string;
|
|
27
|
+
sessionId?: string;
|
|
28
|
+
}): Promise<FeedbackResult | null>;
|
|
29
|
+
/**
|
|
30
|
+
* Store feedback using BiDirectionalLearning system
|
|
31
|
+
*/
|
|
32
|
+
export declare function storeFeedback(learningSystem: BiDirectionalLearning, userId: string, feedback: FeedbackResult, context?: {
|
|
33
|
+
operation?: string;
|
|
34
|
+
query?: string;
|
|
35
|
+
response?: string;
|
|
36
|
+
sessionId?: string;
|
|
37
|
+
}): string;
|
|
38
|
+
/**
|
|
39
|
+
* Display feedback confirmation
|
|
40
|
+
*/
|
|
41
|
+
export declare function displayFeedbackConfirmation(feedback: FeedbackResult): void;
|
|
42
|
+
//# sourceMappingURL=feedback-prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedback-prompt.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ux/feedback-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGrF,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7E,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA+HhC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,cAAc,EAAE,qBAAqB,EACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,MAAM,CAWR;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CA2B1E"}
|