codehere 0.3.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 +3 -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 +22 -2
- package/dist/application/services/dependency-container.d.ts.map +1 -1
- package/dist/application/services/dependency-container.js +144 -6
- 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 +19 -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 +125 -46
- 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 +16 -1
- package/dist/application/use-cases/edit-file-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/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.map +1 -1
- package/dist/formatter.js +10 -3
- package/dist/formatter.js.map +1 -1
- package/dist/index.js +103 -129
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +1 -1
- package/dist/infrastructure/ai/cohere-ai-service.js +15 -2
- 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/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/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 +6 -8
- 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/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/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/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.map +1 -1
- package/dist/infrastructure/ux/hitl-review-portal.js +4 -1
- package/dist/infrastructure/ux/hitl-review-portal.js.map +1 -1
- 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 +2 -1
- package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -1
- package/dist/infrastructure/ux/progress-indicator.js +13 -3
- package/dist/infrastructure/ux/progress-indicator.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/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 -9
- package/dist/infrastructure/xai/cot-visualizer.d.ts.map +1 -1
- package/dist/infrastructure/xai/cot-visualizer.js +6 -9
- 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 +84 -2
- 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 +1 -0
- package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/orchestrate-command.js +53 -0
- 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 +80 -3
- 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 +3 -1
- 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/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 +92 -6
- 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/error-display.d.ts.map +1 -1
- package/dist/presentation/cli/error-display.js +43 -0
- package/dist/presentation/cli/error-display.js.map +1 -1
- package/dist/session.js +19 -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/package.json +10 -2
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain Entity: CodehereTask
|
|
3
|
+
* Task and workflow entities for the 4-mode interaction model
|
|
4
|
+
*
|
|
5
|
+
* Phase 1: v0.5.0-alpha
|
|
6
|
+
* See: docs/ARCHITECTURE/TASK_MODEL.md
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Task Mode - The interaction mode that created this task
|
|
10
|
+
*/
|
|
11
|
+
export declare enum TaskMode {
|
|
12
|
+
SUGGEST = "suggest",// Assistant mode - Q&A, explanations
|
|
13
|
+
PLAN = "plan",// Deliberative mode - planning only
|
|
14
|
+
RUN = "run",// Agentic mode - execution
|
|
15
|
+
REVIEW = "review"
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Task Status - Current lifecycle state
|
|
19
|
+
*/
|
|
20
|
+
export declare enum TaskStatus {
|
|
21
|
+
CREATED = "created",// Task created, no plan yet
|
|
22
|
+
PLANNED = "planned",// Plan generated, not executed
|
|
23
|
+
RUNNING = "running",// Execution in progress
|
|
24
|
+
COMPLETED = "completed",// Execution finished successfully
|
|
25
|
+
FAILED = "failed",// Execution failed (tests, errors)
|
|
26
|
+
NEEDS_REVIEW = "needs_review",// Waiting for user review
|
|
27
|
+
APPROVED = "approved",// User approved changes
|
|
28
|
+
REJECTED = "rejected",// User rejected changes
|
|
29
|
+
CANCELLED = "cancelled"
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Risk Tier - Risk level for operation
|
|
33
|
+
*/
|
|
34
|
+
export declare enum RiskTier {
|
|
35
|
+
T1 = "t1",// Low risk - no friction
|
|
36
|
+
T2 = "t2",// Medium risk - diff review required
|
|
37
|
+
T3 = "t3"
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Environment Mode - Data access boundaries
|
|
41
|
+
*/
|
|
42
|
+
export declare enum EnvironmentMode {
|
|
43
|
+
LOCAL = "local",// Default - local only, no network
|
|
44
|
+
ORG = "org",// Org knowledge sources enabled
|
|
45
|
+
INTERNET = "internet"
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Review Status
|
|
49
|
+
*/
|
|
50
|
+
export declare enum ReviewStatus {
|
|
51
|
+
NOT_REQUIRED = "not_required",// T1 operations, no review needed
|
|
52
|
+
PENDING = "pending",// Waiting for review
|
|
53
|
+
APPROVED = "approved",// User approved
|
|
54
|
+
REJECTED = "rejected"
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Task Step - Single step within a task's execution plan
|
|
58
|
+
*/
|
|
59
|
+
export interface TaskStep {
|
|
60
|
+
index: number;
|
|
61
|
+
description: string;
|
|
62
|
+
status: 'pending' | 'running' | 'completed' | 'failed' | 'skipped';
|
|
63
|
+
startedAt?: number;
|
|
64
|
+
completedAt?: number;
|
|
65
|
+
filesAffected?: string[];
|
|
66
|
+
output?: string;
|
|
67
|
+
error?: string;
|
|
68
|
+
requiresReview?: boolean;
|
|
69
|
+
reviewDecision?: 'approved' | 'rejected' | 'not_required';
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Test Results
|
|
73
|
+
*/
|
|
74
|
+
export interface TestResults {
|
|
75
|
+
total: number;
|
|
76
|
+
passed: number;
|
|
77
|
+
failed: number;
|
|
78
|
+
skipped: number;
|
|
79
|
+
failures?: Array<{
|
|
80
|
+
file: string;
|
|
81
|
+
test: string;
|
|
82
|
+
error: string;
|
|
83
|
+
}>;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* SAST Results
|
|
87
|
+
*/
|
|
88
|
+
export interface SASTResults {
|
|
89
|
+
issues: number;
|
|
90
|
+
critical: number;
|
|
91
|
+
high: number;
|
|
92
|
+
medium: number;
|
|
93
|
+
low: number;
|
|
94
|
+
details?: Array<{
|
|
95
|
+
file: string;
|
|
96
|
+
line: number;
|
|
97
|
+
severity: 'critical' | 'high' | 'medium' | 'low';
|
|
98
|
+
message: string;
|
|
99
|
+
}>;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Task Error
|
|
103
|
+
*/
|
|
104
|
+
export interface TaskError {
|
|
105
|
+
type: 'execution' | 'test' | 'sast' | 'validation' | 'user_cancelled';
|
|
106
|
+
message: string;
|
|
107
|
+
step?: number;
|
|
108
|
+
file?: string;
|
|
109
|
+
stack?: string;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* CodehereTask - Core task entity
|
|
113
|
+
*/
|
|
114
|
+
export interface CodehereTask {
|
|
115
|
+
id: string;
|
|
116
|
+
createdAt: number;
|
|
117
|
+
updatedAt: number;
|
|
118
|
+
userId?: string;
|
|
119
|
+
codebaseId: string;
|
|
120
|
+
cwd: string;
|
|
121
|
+
mode: TaskMode;
|
|
122
|
+
goal: string;
|
|
123
|
+
command: string;
|
|
124
|
+
status: TaskStatus;
|
|
125
|
+
riskTier: RiskTier;
|
|
126
|
+
environment: EnvironmentMode;
|
|
127
|
+
planId?: string;
|
|
128
|
+
plan?: any;
|
|
129
|
+
steps?: TaskStep[];
|
|
130
|
+
executionStartedAt?: number;
|
|
131
|
+
executionCompletedAt?: number;
|
|
132
|
+
currentStep?: number;
|
|
133
|
+
totalSteps?: number;
|
|
134
|
+
filesChanged?: string[];
|
|
135
|
+
filesCreated?: string[];
|
|
136
|
+
filesDeleted?: string[];
|
|
137
|
+
testResults?: TestResults;
|
|
138
|
+
sastResults?: SASTResults;
|
|
139
|
+
error?: TaskError;
|
|
140
|
+
reviewStatus?: ReviewStatus;
|
|
141
|
+
reviewRequestedAt?: number;
|
|
142
|
+
reviewedAt?: number;
|
|
143
|
+
reviewedBy?: string;
|
|
144
|
+
reviewComments?: string;
|
|
145
|
+
traceSummaryId?: string;
|
|
146
|
+
agentFeedbackId?: string;
|
|
147
|
+
reasoningSummary?: string;
|
|
148
|
+
reasoningLogPath?: string;
|
|
149
|
+
autoApproved?: boolean;
|
|
150
|
+
clarificationUsed?: boolean;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain Entity: CodehereTask
|
|
3
|
+
* Task and workflow entities for the 4-mode interaction model
|
|
4
|
+
*
|
|
5
|
+
* Phase 1: v0.5.0-alpha
|
|
6
|
+
* See: docs/ARCHITECTURE/TASK_MODEL.md
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Task Mode - The interaction mode that created this task
|
|
10
|
+
*/
|
|
11
|
+
export var TaskMode;
|
|
12
|
+
(function (TaskMode) {
|
|
13
|
+
TaskMode["SUGGEST"] = "suggest";
|
|
14
|
+
TaskMode["PLAN"] = "plan";
|
|
15
|
+
TaskMode["RUN"] = "run";
|
|
16
|
+
TaskMode["REVIEW"] = "review"; // HITL mode - inspection/approval
|
|
17
|
+
})(TaskMode || (TaskMode = {}));
|
|
18
|
+
/**
|
|
19
|
+
* Task Status - Current lifecycle state
|
|
20
|
+
*/
|
|
21
|
+
export var TaskStatus;
|
|
22
|
+
(function (TaskStatus) {
|
|
23
|
+
TaskStatus["CREATED"] = "created";
|
|
24
|
+
TaskStatus["PLANNED"] = "planned";
|
|
25
|
+
TaskStatus["RUNNING"] = "running";
|
|
26
|
+
TaskStatus["COMPLETED"] = "completed";
|
|
27
|
+
TaskStatus["FAILED"] = "failed";
|
|
28
|
+
TaskStatus["NEEDS_REVIEW"] = "needs_review";
|
|
29
|
+
TaskStatus["APPROVED"] = "approved";
|
|
30
|
+
TaskStatus["REJECTED"] = "rejected";
|
|
31
|
+
TaskStatus["CANCELLED"] = "cancelled"; // User cancelled task
|
|
32
|
+
})(TaskStatus || (TaskStatus = {}));
|
|
33
|
+
/**
|
|
34
|
+
* Risk Tier - Risk level for operation
|
|
35
|
+
*/
|
|
36
|
+
export var RiskTier;
|
|
37
|
+
(function (RiskTier) {
|
|
38
|
+
RiskTier["T1"] = "t1";
|
|
39
|
+
RiskTier["T2"] = "t2";
|
|
40
|
+
RiskTier["T3"] = "t3"; // High risk - explicit warning + confirmation
|
|
41
|
+
})(RiskTier || (RiskTier = {}));
|
|
42
|
+
/**
|
|
43
|
+
* Environment Mode - Data access boundaries
|
|
44
|
+
*/
|
|
45
|
+
export var EnvironmentMode;
|
|
46
|
+
(function (EnvironmentMode) {
|
|
47
|
+
EnvironmentMode["LOCAL"] = "local";
|
|
48
|
+
EnvironmentMode["ORG"] = "org";
|
|
49
|
+
EnvironmentMode["INTERNET"] = "internet"; // Full internet access (explicit opt-in)
|
|
50
|
+
})(EnvironmentMode || (EnvironmentMode = {}));
|
|
51
|
+
/**
|
|
52
|
+
* Review Status
|
|
53
|
+
*/
|
|
54
|
+
export var ReviewStatus;
|
|
55
|
+
(function (ReviewStatus) {
|
|
56
|
+
ReviewStatus["NOT_REQUIRED"] = "not_required";
|
|
57
|
+
ReviewStatus["PENDING"] = "pending";
|
|
58
|
+
ReviewStatus["APPROVED"] = "approved";
|
|
59
|
+
ReviewStatus["REJECTED"] = "rejected"; // User rejected
|
|
60
|
+
})(ReviewStatus || (ReviewStatus = {}));
|
|
61
|
+
//# sourceMappingURL=task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/domain/entities/task.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,yBAAa,CAAA;IACb,uBAAW,CAAA;IACX,6BAAiB,CAAA,CAAK,kCAAkC;AAC1D,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,UAUX;AAVD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,qCAAuB,CAAA;IACvB,+BAAiB,CAAA;IACjB,2CAA6B,CAAA;IAC7B,mCAAqB,CAAA;IACrB,mCAAqB,CAAA;IACrB,qCAAuB,CAAA,CAAQ,sBAAsB;AACvD,CAAC,EAVW,UAAU,KAAV,UAAU,QAUrB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,qBAAS,CAAA;IACT,qBAAS,CAAA;IACT,qBAAS,CAAA,CAAG,8CAA8C;AAC5D,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,8BAAW,CAAA;IACX,wCAAqB,CAAA,CAAE,yCAAyC;AAClE,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,6CAA6B,CAAA;IAC7B,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA,CAAW,gBAAgB;AAClD,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain Interface: IAgent
|
|
3
|
+
* Minimal agent abstraction for Codehere agents
|
|
4
|
+
*/
|
|
5
|
+
export type AgentType = 'engineering' | 'non-engineering';
|
|
6
|
+
/**
|
|
7
|
+
* Minimal agent interface
|
|
8
|
+
* Agents execute requests and return structured responses
|
|
9
|
+
*/
|
|
10
|
+
export interface IAgent<TRequest, TResponse> {
|
|
11
|
+
name: string;
|
|
12
|
+
type: AgentType;
|
|
13
|
+
execute(request: TRequest): Promise<TResponse>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=agent.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.interface.d.ts","sourceRoot":"","sources":["../../../src/domain/interfaces/agent.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,MAAM,CAAC,QAAQ,EAAE,SAAS;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAEhB,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAChD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.interface.js","sourceRoot":"","sources":["../../../src/domain/interfaces/agent.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain Service: Environment Mode Manager
|
|
3
|
+
* Manages environment mode (LOCAL/ORG/INTERNET) for data access boundaries
|
|
4
|
+
*
|
|
5
|
+
* Phase 1: v0.5.0-alpha (minimal implementation)
|
|
6
|
+
* See: docs/ARCHITECTURE/INTERACTION_MODEL_MAPPING.md section 5
|
|
7
|
+
*/
|
|
8
|
+
import { EnvironmentMode } from '../entities/task.js';
|
|
9
|
+
/**
|
|
10
|
+
* Get current environment mode from config
|
|
11
|
+
* Phase 1: Simple default to LOCAL (full implementation deferred)
|
|
12
|
+
*/
|
|
13
|
+
export declare function getCurrentEnvironmentMode(): EnvironmentMode;
|
|
14
|
+
/**
|
|
15
|
+
* Get environment mode indicator string
|
|
16
|
+
*/
|
|
17
|
+
export declare function getEnvironmentModeIndicator(mode: EnvironmentMode): string;
|
|
18
|
+
//# sourceMappingURL=environment-mode-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-mode-manager.d.ts","sourceRoot":"","sources":["../../../src/domain/services/environment-mode-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,eAAe,CAe3D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAOzE"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain Service: Environment Mode Manager
|
|
3
|
+
* Manages environment mode (LOCAL/ORG/INTERNET) for data access boundaries
|
|
4
|
+
*
|
|
5
|
+
* Phase 1: v0.5.0-alpha (minimal implementation)
|
|
6
|
+
* See: docs/ARCHITECTURE/INTERACTION_MODEL_MAPPING.md section 5
|
|
7
|
+
*/
|
|
8
|
+
import { EnvironmentMode } from '../entities/task.js';
|
|
9
|
+
/**
|
|
10
|
+
* Get current environment mode from config
|
|
11
|
+
* Phase 1: Simple default to LOCAL (full implementation deferred)
|
|
12
|
+
*/
|
|
13
|
+
export function getCurrentEnvironmentMode() {
|
|
14
|
+
// TODO: Read from config in Phase 1
|
|
15
|
+
// For now, default to LOCAL (safest)
|
|
16
|
+
const envFromConfig = process.env.CODEHERE_ENVIRONMENT_MODE;
|
|
17
|
+
if (envFromConfig === 'org' || envFromConfig === 'ORG') {
|
|
18
|
+
return EnvironmentMode.ORG;
|
|
19
|
+
}
|
|
20
|
+
if (envFromConfig === 'internet' || envFromConfig === 'INTERNET') {
|
|
21
|
+
return EnvironmentMode.INTERNET;
|
|
22
|
+
}
|
|
23
|
+
// Default to LOCAL
|
|
24
|
+
return EnvironmentMode.LOCAL;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get environment mode indicator string
|
|
28
|
+
*/
|
|
29
|
+
export function getEnvironmentModeIndicator(mode) {
|
|
30
|
+
const indicators = {
|
|
31
|
+
[EnvironmentMode.LOCAL]: '[LOCAL]',
|
|
32
|
+
[EnvironmentMode.ORG]: '[ORG]',
|
|
33
|
+
[EnvironmentMode.INTERNET]: '[INTERNET] ⚠️',
|
|
34
|
+
};
|
|
35
|
+
return indicators[mode];
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=environment-mode-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-mode-manager.js","sourceRoot":"","sources":["../../../src/domain/services/environment-mode-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,oCAAoC;IACpC,qCAAqC;IACrC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAE5D,IAAI,aAAa,KAAK,KAAK,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QACvD,OAAO,eAAe,CAAC,GAAG,CAAC;IAC7B,CAAC;IAED,IAAI,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;QACjE,OAAO,eAAe,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,mBAAmB;IACnB,OAAO,eAAe,CAAC,KAAK,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAqB;IAC/D,MAAM,UAAU,GAAG;QACjB,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,SAAS;QAClC,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,OAAO;QAC9B,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,eAAe;KAC5C,CAAC;IACF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain Service: Risk Tier Detector
|
|
3
|
+
* Detects risk tier (T1/T2/T3) for operations using static rules
|
|
4
|
+
*
|
|
5
|
+
* Phase 1: v0.5.0-alpha (static rule-based only)
|
|
6
|
+
* See: docs/ARCHITECTURE/TASK_MODEL.md section 1.4
|
|
7
|
+
*/
|
|
8
|
+
import { RiskTier } from '../entities/task.js';
|
|
9
|
+
/**
|
|
10
|
+
* Detect risk tier from file paths and plan
|
|
11
|
+
* Phase 1: Simple static rule-based detection
|
|
12
|
+
*/
|
|
13
|
+
export declare function detectRiskTier(files?: string[], plan?: any): RiskTier;
|
|
14
|
+
/**
|
|
15
|
+
* Detect risk tier from plan structure
|
|
16
|
+
*/
|
|
17
|
+
export declare function detectRiskTierFromPlan(plan: any): RiskTier;
|
|
18
|
+
//# sourceMappingURL=risk-tier-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"risk-tier-detector.d.ts","sourceRoot":"","sources":["../../../src/domain/services/risk-tier-detector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAgB/C;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,GAAE,MAAM,EAAO,EACpB,IAAI,CAAC,EAAE,GAAG,GACT,QAAQ,CAsBV;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,GAAG,QAAQ,CAsB1D"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain Service: Risk Tier Detector
|
|
3
|
+
* Detects risk tier (T1/T2/T3) for operations using static rules
|
|
4
|
+
*
|
|
5
|
+
* Phase 1: v0.5.0-alpha (static rule-based only)
|
|
6
|
+
* See: docs/ARCHITECTURE/TASK_MODEL.md section 1.4
|
|
7
|
+
*/
|
|
8
|
+
import { RiskTier } from '../entities/task.js';
|
|
9
|
+
/**
|
|
10
|
+
* High-risk file patterns that indicate T3 operations
|
|
11
|
+
*/
|
|
12
|
+
const HIGH_RISK_PATTERNS = [
|
|
13
|
+
/auth\//i,
|
|
14
|
+
/payment\//i,
|
|
15
|
+
/billing\//i,
|
|
16
|
+
/config\//i,
|
|
17
|
+
/migrations\//i,
|
|
18
|
+
/infrastructure\//i,
|
|
19
|
+
/\.env/i,
|
|
20
|
+
/secret/i,
|
|
21
|
+
];
|
|
22
|
+
/**
|
|
23
|
+
* Detect risk tier from file paths and plan
|
|
24
|
+
* Phase 1: Simple static rule-based detection
|
|
25
|
+
*/
|
|
26
|
+
export function detectRiskTier(files = [], plan) {
|
|
27
|
+
// Check for high-risk file patterns (T3)
|
|
28
|
+
const hasHighRiskPattern = files.some(file => HIGH_RISK_PATTERNS.some(pattern => pattern.test(file)));
|
|
29
|
+
if (hasHighRiskPattern) {
|
|
30
|
+
return RiskTier.T3;
|
|
31
|
+
}
|
|
32
|
+
// Check file count
|
|
33
|
+
const fileCount = files.length;
|
|
34
|
+
if (fileCount > 20) {
|
|
35
|
+
return RiskTier.T3;
|
|
36
|
+
}
|
|
37
|
+
if (fileCount >= 2 && fileCount <= 20) {
|
|
38
|
+
return RiskTier.T2;
|
|
39
|
+
}
|
|
40
|
+
// Single file or no files: default to T1 (low risk)
|
|
41
|
+
return RiskTier.T1;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Detect risk tier from plan structure
|
|
45
|
+
*/
|
|
46
|
+
export function detectRiskTierFromPlan(plan) {
|
|
47
|
+
if (!plan) {
|
|
48
|
+
return RiskTier.T1;
|
|
49
|
+
}
|
|
50
|
+
// Check plan complexity/metadata
|
|
51
|
+
const complexity = plan.metadata?.complexity || 'medium';
|
|
52
|
+
if (complexity === 'high') {
|
|
53
|
+
return RiskTier.T3;
|
|
54
|
+
}
|
|
55
|
+
// Check sub-plans count
|
|
56
|
+
const subPlans = plan.subPlans || [];
|
|
57
|
+
if (subPlans.length > 10) {
|
|
58
|
+
return RiskTier.T3;
|
|
59
|
+
}
|
|
60
|
+
if (subPlans.length > 1) {
|
|
61
|
+
return RiskTier.T2;
|
|
62
|
+
}
|
|
63
|
+
return RiskTier.T1;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=risk-tier-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"risk-tier-detector.js","sourceRoot":"","sources":["../../../src/domain/services/risk-tier-detector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;GAEG;AACH,MAAM,kBAAkB,GAAG;IACzB,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,eAAe;IACf,mBAAmB;IACnB,QAAQ;IACR,SAAS;CACV,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAkB,EAAE,EACpB,IAAU;IAEV,yCAAyC;IACzC,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3C,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;IAEF,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,mBAAmB;IACnB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,oDAAoD;IACpD,OAAO,QAAQ,CAAC,EAAE,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAS;IAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,iCAAiC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAI,QAAQ,CAAC;IACzD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,wBAAwB;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,OAAO,QAAQ,CAAC,EAAE,CAAC;AACrB,CAAC"}
|
package/dist/formatter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoFnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAuB1F;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,MAAM,CAmC1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAetD"}
|
package/dist/formatter.js
CHANGED
|
@@ -36,6 +36,10 @@ export function formatMarkdown(text) {
|
|
|
36
36
|
return '\n' + colors.bold(text) + '\n';
|
|
37
37
|
});
|
|
38
38
|
// Convert bold (**text** or __text__) to colored bold
|
|
39
|
+
// But preserve numbered lists in bold (e.g., **1. Title** -> 1. Title in bold)
|
|
40
|
+
formatted = formatted.replace(/\*\*(\d+)\. (.+?)\*\*/g, (match, num, text) => {
|
|
41
|
+
return colors.bold(`${num}. ${text}`);
|
|
42
|
+
});
|
|
39
43
|
formatted = formatted.replace(/\*\*(.+?)\*\*/g, (match, text) => {
|
|
40
44
|
return colors.bold(text);
|
|
41
45
|
});
|
|
@@ -59,9 +63,12 @@ export function formatMarkdown(text) {
|
|
|
59
63
|
formatted = formatted.replace(/^[\*\-\+] (.+)$/gim, (match, text) => {
|
|
60
64
|
return ' • ' + text.trim();
|
|
61
65
|
});
|
|
62
|
-
// Convert numbered lists
|
|
63
|
-
|
|
64
|
-
|
|
66
|
+
// Convert numbered lists - preserve numbering with proper indentation
|
|
67
|
+
// Handle both plain numbered lists and those that might have been bold
|
|
68
|
+
formatted = formatted.replace(/^(\d+)\. (.+)$/gim, (match, num, text) => {
|
|
69
|
+
// If text is already bold (from previous processing), keep it bold
|
|
70
|
+
const trimmed = text.trim();
|
|
71
|
+
return ` ${num}. ${trimmed}`;
|
|
65
72
|
});
|
|
66
73
|
// Clean up multiple newlines (max 2)
|
|
67
74
|
formatted = formatted.replace(/\n{3,}/g, '\n\n');
|
package/dist/formatter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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"}
|