codehere 0.2.0 → 0.3.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.

Files changed (166) hide show
  1. package/dist/application/agents/multi-agent-orchestrator.d.ts +1 -0
  2. package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -1
  3. package/dist/application/agents/multi-agent-orchestrator.js.map +1 -1
  4. package/dist/application/services/dependency-container.d.ts +3 -0
  5. package/dist/application/services/dependency-container.d.ts.map +1 -1
  6. package/dist/application/services/dependency-container.js +24 -0
  7. package/dist/application/services/dependency-container.js.map +1 -1
  8. package/dist/application/use-cases/ask-question-use-case.d.ts +12 -0
  9. package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -1
  10. package/dist/application/use-cases/ask-question-use-case.js +129 -9
  11. package/dist/application/use-cases/ask-question-use-case.js.map +1 -1
  12. package/dist/application/use-cases/edit-file-use-case.d.ts.map +1 -1
  13. package/dist/application/use-cases/edit-file-use-case.js +70 -3
  14. package/dist/application/use-cases/edit-file-use-case.js.map +1 -1
  15. package/dist/application/use-cases/planning-use-case.d.ts.map +1 -1
  16. package/dist/application/use-cases/planning-use-case.js +10 -1
  17. package/dist/application/use-cases/planning-use-case.js.map +1 -1
  18. package/dist/application/use-cases/react-orchestration-use-case.d.ts.map +1 -1
  19. package/dist/application/use-cases/react-orchestration-use-case.js +6 -2
  20. package/dist/application/use-cases/react-orchestration-use-case.js.map +1 -1
  21. package/dist/domain/services/react-loop.d.ts +8 -0
  22. package/dist/domain/services/react-loop.d.ts.map +1 -1
  23. package/dist/domain/services/react-loop.js +82 -6
  24. package/dist/domain/services/react-loop.js.map +1 -1
  25. package/dist/formatter.d.ts +2 -2
  26. package/dist/formatter.d.ts.map +1 -1
  27. package/dist/formatter.js +30 -17
  28. package/dist/formatter.js.map +1 -1
  29. package/dist/index.js +134 -15
  30. package/dist/index.js.map +1 -1
  31. package/dist/infrastructure/ai/cohere-ai-service.d.ts +3 -1
  32. package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +1 -1
  33. package/dist/infrastructure/ai/cohere-ai-service.js +51 -4
  34. package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -1
  35. package/dist/infrastructure/cache/query-result-cache.d.ts +68 -0
  36. package/dist/infrastructure/cache/query-result-cache.d.ts.map +1 -0
  37. package/dist/infrastructure/cache/query-result-cache.js +138 -0
  38. package/dist/infrastructure/cache/query-result-cache.js.map +1 -0
  39. package/dist/infrastructure/cache/security-scan-cache.d.ts +57 -0
  40. package/dist/infrastructure/cache/security-scan-cache.d.ts.map +1 -0
  41. package/dist/infrastructure/cache/security-scan-cache.js +124 -0
  42. package/dist/infrastructure/cache/security-scan-cache.js.map +1 -0
  43. package/dist/infrastructure/completion/bash-completion.d.ts +8 -0
  44. package/dist/infrastructure/completion/bash-completion.d.ts.map +1 -0
  45. package/dist/infrastructure/completion/bash-completion.js +101 -0
  46. package/dist/infrastructure/completion/bash-completion.js.map +1 -0
  47. package/dist/infrastructure/completion/completion-generator.d.ts +42 -0
  48. package/dist/infrastructure/completion/completion-generator.d.ts.map +1 -0
  49. package/dist/infrastructure/completion/completion-generator.js +184 -0
  50. package/dist/infrastructure/completion/completion-generator.js.map +1 -0
  51. package/dist/infrastructure/completion/fish-completion.d.ts +8 -0
  52. package/dist/infrastructure/completion/fish-completion.d.ts.map +1 -0
  53. package/dist/infrastructure/completion/fish-completion.js +65 -0
  54. package/dist/infrastructure/completion/fish-completion.js.map +1 -0
  55. package/dist/infrastructure/completion/zsh-completion.d.ts +8 -0
  56. package/dist/infrastructure/completion/zsh-completion.d.ts.map +1 -0
  57. package/dist/infrastructure/completion/zsh-completion.js +85 -0
  58. package/dist/infrastructure/completion/zsh-completion.js.map +1 -0
  59. package/dist/infrastructure/context/context-compressor.d.ts +94 -0
  60. package/dist/infrastructure/context/context-compressor.d.ts.map +1 -0
  61. package/dist/infrastructure/context/context-compressor.js +329 -0
  62. package/dist/infrastructure/context/context-compressor.js.map +1 -0
  63. package/dist/infrastructure/governance/policy-as-code.d.ts.map +1 -1
  64. package/dist/infrastructure/governance/policy-as-code.js +18 -3
  65. package/dist/infrastructure/governance/policy-as-code.js.map +1 -1
  66. package/dist/infrastructure/observability/execution-tracer.d.ts +5 -2
  67. package/dist/infrastructure/observability/execution-tracer.d.ts.map +1 -1
  68. package/dist/infrastructure/observability/execution-tracer.js +45 -8
  69. package/dist/infrastructure/observability/execution-tracer.js.map +1 -1
  70. package/dist/infrastructure/security/ai-sast-scanner.d.ts +4 -0
  71. package/dist/infrastructure/security/ai-sast-scanner.d.ts.map +1 -1
  72. package/dist/infrastructure/security/ai-sast-scanner.js +82 -4
  73. package/dist/infrastructure/security/ai-sast-scanner.js.map +1 -1
  74. package/dist/infrastructure/security/enhanced-security-gate.d.ts +2 -0
  75. package/dist/infrastructure/security/enhanced-security-gate.d.ts.map +1 -1
  76. package/dist/infrastructure/security/enhanced-security-gate.js +74 -15
  77. package/dist/infrastructure/security/enhanced-security-gate.js.map +1 -1
  78. package/dist/infrastructure/storage/plan-repository.d.ts +38 -0
  79. package/dist/infrastructure/storage/plan-repository.d.ts.map +1 -0
  80. package/dist/infrastructure/storage/plan-repository.js +133 -0
  81. package/dist/infrastructure/storage/plan-repository.js.map +1 -0
  82. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +11 -0
  83. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -1
  84. package/dist/infrastructure/storage/sqlite-embedding-repository.js +121 -6
  85. package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -1
  86. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts +24 -0
  87. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts.map +1 -0
  88. package/dist/infrastructure/ux/contextual-feature-discovery.js +144 -0
  89. package/dist/infrastructure/ux/contextual-feature-discovery.js.map +1 -0
  90. package/dist/infrastructure/ux/expectation-management.d.ts +33 -0
  91. package/dist/infrastructure/ux/expectation-management.d.ts.map +1 -1
  92. package/dist/infrastructure/ux/expectation-management.js +138 -4
  93. package/dist/infrastructure/ux/expectation-management.js.map +1 -1
  94. package/dist/infrastructure/ux/feature-discovery.d.ts +47 -0
  95. package/dist/infrastructure/ux/feature-discovery.d.ts.map +1 -0
  96. package/dist/infrastructure/ux/feature-discovery.js +190 -0
  97. package/dist/infrastructure/ux/feature-discovery.js.map +1 -0
  98. package/dist/infrastructure/ux/hitl-review-portal.d.ts +47 -0
  99. package/dist/infrastructure/ux/hitl-review-portal.d.ts.map +1 -0
  100. package/dist/infrastructure/ux/hitl-review-portal.js +225 -0
  101. package/dist/infrastructure/ux/hitl-review-portal.js.map +1 -0
  102. package/dist/infrastructure/ux/progress-indicator.d.ts +54 -0
  103. package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -0
  104. package/dist/infrastructure/ux/progress-indicator.js +121 -0
  105. package/dist/infrastructure/ux/progress-indicator.js.map +1 -0
  106. package/dist/infrastructure/ux/progressive-disclosure.d.ts.map +1 -1
  107. package/dist/infrastructure/ux/progressive-disclosure.js +2 -1
  108. package/dist/infrastructure/ux/progressive-disclosure.js.map +1 -1
  109. package/dist/infrastructure/ux/review-checkpoint.d.ts +35 -0
  110. package/dist/infrastructure/ux/review-checkpoint.d.ts.map +1 -0
  111. package/dist/infrastructure/ux/review-checkpoint.js +119 -0
  112. package/dist/infrastructure/ux/review-checkpoint.js.map +1 -0
  113. package/dist/infrastructure/ux/staged-feature-intro.d.ts +47 -0
  114. package/dist/infrastructure/ux/staged-feature-intro.d.ts.map +1 -0
  115. package/dist/infrastructure/ux/staged-feature-intro.js +144 -0
  116. package/dist/infrastructure/ux/staged-feature-intro.js.map +1 -0
  117. package/dist/infrastructure/ux/syntax-highlighter.d.ts +21 -0
  118. package/dist/infrastructure/ux/syntax-highlighter.d.ts.map +1 -0
  119. package/dist/infrastructure/ux/syntax-highlighter.js +172 -0
  120. package/dist/infrastructure/ux/syntax-highlighter.js.map +1 -0
  121. package/dist/infrastructure/xai/cot-visualizer.d.ts +1 -0
  122. package/dist/infrastructure/xai/cot-visualizer.d.ts.map +1 -1
  123. package/dist/infrastructure/xai/cot-visualizer.js +57 -10
  124. package/dist/infrastructure/xai/cot-visualizer.js.map +1 -1
  125. package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -1
  126. package/dist/presentation/cli/commands/ask-command.js +68 -11
  127. package/dist/presentation/cli/commands/ask-command.js.map +1 -1
  128. package/dist/presentation/cli/commands/orchestrate-command.d.ts +1 -0
  129. package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -1
  130. package/dist/presentation/cli/commands/orchestrate-command.js +35 -1
  131. package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -1
  132. package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -1
  133. package/dist/presentation/cli/commands/plan-command.js +57 -5
  134. package/dist/presentation/cli/commands/plan-command.js.map +1 -1
  135. package/dist/presentation/cli/commands/react-command.d.ts.map +1 -1
  136. package/dist/presentation/cli/commands/react-command.js +95 -15
  137. package/dist/presentation/cli/commands/react-command.js.map +1 -1
  138. package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -1
  139. package/dist/presentation/cli/commands/setup-command.js +67 -12
  140. package/dist/presentation/cli/commands/setup-command.js.map +1 -1
  141. package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -1
  142. package/dist/presentation/cli/commands/smart-command.js +136 -18
  143. package/dist/presentation/cli/commands/smart-command.js.map +1 -1
  144. package/dist/presentation/cli/commands/trace-command.d.ts.map +1 -1
  145. package/dist/presentation/cli/commands/trace-command.js +9 -5
  146. package/dist/presentation/cli/commands/trace-command.js.map +1 -1
  147. package/dist/presentation/cli/commands/undo-command.js +15 -6
  148. package/dist/presentation/cli/commands/undo-command.js.map +1 -1
  149. package/dist/presentation/cli/error-display.d.ts +2 -0
  150. package/dist/presentation/cli/error-display.d.ts.map +1 -1
  151. package/dist/presentation/cli/error-display.js +177 -2
  152. package/dist/presentation/cli/error-display.js.map +1 -1
  153. package/dist/presentation/cli/keyboard-shortcuts.d.ts +27 -0
  154. package/dist/presentation/cli/keyboard-shortcuts.d.ts.map +1 -0
  155. package/dist/presentation/cli/keyboard-shortcuts.js +77 -0
  156. package/dist/presentation/cli/keyboard-shortcuts.js.map +1 -0
  157. package/dist/session.d.ts.map +1 -1
  158. package/dist/session.js +20 -0
  159. package/dist/session.js.map +1 -1
  160. package/dist/utils/version.js +2 -2
  161. package/dist/verification/backup.d.ts.map +1 -1
  162. package/dist/verification/backup.js +24 -3
  163. package/dist/verification/backup.js.map +1 -1
  164. package/dist/verification/compiler.js +47 -12
  165. package/dist/verification/compiler.js.map +1 -1
  166. package/package.json +1 -1
@@ -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,47 @@
1
+ /**
2
+ * Infrastructure: Enhanced HITL Review Portal
3
+ * Task 4.1: Centralized review portal for batch approval/rejection
4
+ *
5
+ * Features:
6
+ * - Display all pending checkpoints
7
+ * - Batch approval/rejection
8
+ * - Risk assessment visualization
9
+ * - Diff preview
10
+ */
11
+ import { HITLValidation, ReviewCheckpoint, ReviewPriority } from './hitl-validation.js';
12
+ export interface BatchDecision {
13
+ checkpointIds: string[];
14
+ decision: 'approve' | 'reject';
15
+ comment?: string;
16
+ }
17
+ /**
18
+ * Display centralized HITL review portal
19
+ */
20
+ export declare function displayReviewPortal(hitlValidation: HITLValidation): {
21
+ checkpoints: ReviewCheckpoint[];
22
+ status: {
23
+ total: number;
24
+ pending: number;
25
+ byPriority: Record<ReviewPriority, number>;
26
+ };
27
+ };
28
+ /**
29
+ * Display detailed checkpoint view
30
+ */
31
+ export declare function displayCheckpointDetails(checkpoint: ReviewCheckpoint): void;
32
+ /**
33
+ * Display batch approval prompt
34
+ */
35
+ export declare function displayBatchApprovalPrompt(checkpointIds: string[]): void;
36
+ /**
37
+ * Display batch decision summary
38
+ */
39
+ export declare function displayBatchDecisionSummary(decisions: Array<{
40
+ checkpointId: string;
41
+ decision: 'approve' | 'reject';
42
+ }>): void;
43
+ /**
44
+ * Format checkpoint for batch display
45
+ */
46
+ export declare function formatCheckpointForBatch(checkpoint: ReviewCheckpoint): string;
47
+ //# sourceMappingURL=hitl-review-portal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hitl-review-portal.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ux/hitl-review-portal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,cAAc,GAC7B;IACD,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CACxF,CAyCA;AAgCD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAwD3E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAYxE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAA;CAAE,CAAC,GACzE,IAAI,CAgBN;AAwDD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,CAW7E"}
@@ -0,0 +1,225 @@
1
+ /**
2
+ * Infrastructure: Enhanced HITL Review Portal
3
+ * Task 4.1: Centralized review portal for batch approval/rejection
4
+ *
5
+ * Features:
6
+ * - Display all pending checkpoints
7
+ * - Batch approval/rejection
8
+ * - Risk assessment visualization
9
+ * - Diff preview
10
+ */
11
+ import { colors, separator, success, warning, error, info, createTable, createBox, } from '../../ui.js';
12
+ /**
13
+ * Display centralized HITL review portal
14
+ */
15
+ export function displayReviewPortal(hitlValidation) {
16
+ const status = hitlValidation.getReviewQueueStatus();
17
+ const checkpoints = hitlValidation.getPendingCheckpoints();
18
+ if (checkpoints.length === 0) {
19
+ console.log(colors.green('✓ No pending checkpoints to review'));
20
+ return { checkpoints: [], status };
21
+ }
22
+ // Display portal header
23
+ console.log('');
24
+ console.log(separator('═', 80));
25
+ console.log(colors.bold('⚠️ Human-in-the-Loop Review Portal'));
26
+ console.log(separator('═', 80));
27
+ console.log('');
28
+ // Display queue status
29
+ console.log(colors.bold('Review Queue Status:'));
30
+ console.log(` Total checkpoints: ${status.total}`);
31
+ console.log(` Pending review: ${status.pending}`);
32
+ console.log('');
33
+ // Priority breakdown
34
+ if (status.byPriority.critical > 0) {
35
+ console.log(error(` 🔴 Critical: ${status.byPriority.critical}`));
36
+ }
37
+ if (status.byPriority.high > 0) {
38
+ console.log(warning(` 🟡 High: ${status.byPriority.high}`));
39
+ }
40
+ if (status.byPriority.normal > 0) {
41
+ console.log(info(` 🔵 Normal: ${status.byPriority.normal}`));
42
+ }
43
+ if (status.byPriority.low > 0) {
44
+ console.log(success(` 🟢 Low: ${status.byPriority.low}`));
45
+ }
46
+ console.log('');
47
+ // Display checkpoints summary
48
+ displayCheckpointsSummary(checkpoints);
49
+ return { checkpoints, status };
50
+ }
51
+ /**
52
+ * Display summary table of all checkpoints
53
+ */
54
+ function displayCheckpointsSummary(checkpoints) {
55
+ const rows = checkpoints.map(checkpoint => {
56
+ const priorityColor = getPriorityColor(checkpoint.priority);
57
+ const riskColor = getRiskColor(checkpoint.context.riskLevel);
58
+ return [
59
+ checkpoint.checkpointId.substring(checkpoint.checkpointId.length - 8),
60
+ checkpoint.operation.substring(0, 30),
61
+ priorityColor(getPriorityLabel(checkpoint.priority)),
62
+ riskColor(checkpoint.context.riskLevel.toUpperCase()),
63
+ `${checkpoint.changes.length} file(s)`,
64
+ checkpoint.context.uncertainty
65
+ ? `${(checkpoint.context.uncertainty * 100).toFixed(0)}%`
66
+ : '-',
67
+ ];
68
+ });
69
+ const table = createTable(['ID', 'Operation', 'Priority', 'Risk', 'Files', 'Uncertainty'], rows);
70
+ console.log(colors.bold('Pending Checkpoints:'));
71
+ console.log(table.toString());
72
+ console.log('');
73
+ }
74
+ /**
75
+ * Display detailed checkpoint view
76
+ */
77
+ export function displayCheckpointDetails(checkpoint) {
78
+ console.log('');
79
+ console.log(separator('═', 80));
80
+ console.log(colors.bold(`Review Checkpoint: ${checkpoint.checkpointId.substring(checkpoint.checkpointId.length - 8)}`));
81
+ console.log(separator('═', 80));
82
+ console.log('');
83
+ // Operation info
84
+ console.log(colors.bold('Operation:'));
85
+ console.log(` ${checkpoint.operation}`);
86
+ console.log('');
87
+ // Priority and risk
88
+ const priorityColor = getPriorityColor(checkpoint.priority);
89
+ const riskColor = getRiskColor(checkpoint.context.riskLevel);
90
+ console.log(colors.bold('Risk Assessment:'));
91
+ console.log(` Priority: ${priorityColor(getPriorityLabel(checkpoint.priority))}`);
92
+ console.log(` Risk Level: ${riskColor(checkpoint.context.riskLevel.toUpperCase())}`);
93
+ if (checkpoint.context.uncertainty) {
94
+ const uncertaintyPercent = (checkpoint.context.uncertainty * 100).toFixed(0);
95
+ const uncertaintyColor = checkpoint.context.uncertainty > 0.7 ? error : warning;
96
+ console.log(` Uncertainty: ${uncertaintyColor(`${uncertaintyPercent}%`)}`);
97
+ }
98
+ console.log('');
99
+ // Changes summary
100
+ console.log(colors.bold(`Changes (${checkpoint.changes.length} file(s)):`));
101
+ checkpoint.changes.forEach((change, idx) => {
102
+ console.log(` ${idx + 1}. ${change.type.toUpperCase()}: ${change.filepath || 'N/A'}`);
103
+ console.log(` ${colors.dim(change.summary)}`);
104
+ if (change.diff) {
105
+ console.log(` ${colors.cyan('View diff with --diff flag')}`);
106
+ }
107
+ });
108
+ console.log('');
109
+ // Context
110
+ console.log(colors.bold('Context:'));
111
+ console.log(` Query: ${colors.cyan(checkpoint.context.query)}`);
112
+ if (checkpoint.context.securityFindings && checkpoint.context.securityFindings.length > 0) {
113
+ console.log(warning(` ⚠️ Security Findings: ${checkpoint.context.securityFindings.length}`));
114
+ }
115
+ if (checkpoint.context.licenseFindings && checkpoint.context.licenseFindings.length > 0) {
116
+ console.log(warning(` ⚠️ License Findings: ${checkpoint.context.licenseFindings.length}`));
117
+ }
118
+ console.log('');
119
+ // Decision options
120
+ console.log(separator('─', 80));
121
+ console.log(colors.bold('Decision Options:'));
122
+ console.log(` [A]pprove [R]eject [S]kip [D]iff [Q]uit`);
123
+ console.log(separator('─', 80));
124
+ console.log('');
125
+ }
126
+ /**
127
+ * Display batch approval prompt
128
+ */
129
+ export function displayBatchApprovalPrompt(checkpointIds) {
130
+ console.log('');
131
+ const content = [
132
+ `Batch Review: ${checkpointIds.length} checkpoint(s)`,
133
+ '',
134
+ `You are about to review ${checkpointIds.length} checkpoint(s).`,
135
+ '',
136
+ 'Options:',
137
+ ` [A]pprove all [R]eject all [I]ndividual review [C]ancel`,
138
+ ].join('\n');
139
+ console.log(createBox(content));
140
+ console.log('');
141
+ }
142
+ /**
143
+ * Display batch decision summary
144
+ */
145
+ export function displayBatchDecisionSummary(decisions) {
146
+ const approved = decisions.filter(d => d.decision === 'approve').length;
147
+ const rejected = decisions.filter(d => d.decision === 'reject').length;
148
+ console.log('');
149
+ console.log(separator('═', 80));
150
+ console.log(colors.bold('Batch Decision Summary'));
151
+ console.log(separator('═', 80));
152
+ console.log('');
153
+ console.log(`Total reviewed: ${decisions.length}`);
154
+ console.log(success(` ✓ Approved: ${approved}`));
155
+ if (rejected > 0) {
156
+ console.log(error(` ✗ Rejected: ${rejected}`));
157
+ }
158
+ console.log('');
159
+ }
160
+ /**
161
+ * Helper: Get priority color
162
+ */
163
+ function getPriorityColor(priority) {
164
+ switch (priority) {
165
+ case 'critical':
166
+ return error;
167
+ case 'high':
168
+ return warning;
169
+ case 'normal':
170
+ return info;
171
+ case 'low':
172
+ return success;
173
+ default:
174
+ return colors.gray;
175
+ }
176
+ }
177
+ /**
178
+ * Helper: Get priority label
179
+ */
180
+ function getPriorityLabel(priority) {
181
+ switch (priority) {
182
+ case 'critical':
183
+ return 'CRITICAL';
184
+ case 'high':
185
+ return 'HIGH';
186
+ case 'normal':
187
+ return 'NORMAL';
188
+ case 'low':
189
+ return 'LOW';
190
+ default:
191
+ return String(priority).toUpperCase();
192
+ }
193
+ }
194
+ /**
195
+ * Helper: Get risk color
196
+ */
197
+ function getRiskColor(riskLevel) {
198
+ switch (riskLevel.toLowerCase()) {
199
+ case 'critical':
200
+ return error;
201
+ case 'high':
202
+ return warning;
203
+ case 'medium':
204
+ return info;
205
+ case 'low':
206
+ return success;
207
+ default:
208
+ return colors.gray;
209
+ }
210
+ }
211
+ /**
212
+ * Format checkpoint for batch display
213
+ */
214
+ export function formatCheckpointForBatch(checkpoint) {
215
+ const priorityColor = getPriorityColor(checkpoint.priority);
216
+ const riskColor = getRiskColor(checkpoint.context.riskLevel);
217
+ return [
218
+ `${checkpoint.checkpointId.substring(checkpoint.checkpointId.length - 8)} |`,
219
+ `${checkpoint.operation.substring(0, 25)} |`,
220
+ `${priorityColor(getPriorityLabel(checkpoint.priority))} |`,
221
+ `${riskColor(checkpoint.context.riskLevel.toUpperCase())} |`,
222
+ `${checkpoint.changes.length} file(s)`,
223
+ ].join(' ');
224
+ }
225
+ //# sourceMappingURL=hitl-review-portal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hitl-review-portal.js","sourceRoot":"","sources":["../../../src/infrastructure/ux/hitl-review-portal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Progress Indicator Utilities
3
+ * Provides progress indicators for long-running operations
4
+ *
5
+ * Features:
6
+ * - Progress bars for operations with known total
7
+ * - Spinners for operations with unknown duration
8
+ * - Context-aware progress messages
9
+ */
10
+ export interface ProgressOptions {
11
+ total?: number;
12
+ message?: string;
13
+ showPercentage?: boolean;
14
+ showCount?: boolean;
15
+ }
16
+ export declare class ProgressIndicator {
17
+ private spinner;
18
+ private progressBar;
19
+ private operationStartTime;
20
+ private currentValue;
21
+ /**
22
+ * Start progress indicator
23
+ */
24
+ start(options?: ProgressOptions): void;
25
+ /**
26
+ * Update progress
27
+ */
28
+ update(value: number, message?: string): void;
29
+ /**
30
+ * Increment progress
31
+ */
32
+ increment(delta?: number, message?: string): void;
33
+ /**
34
+ * Stop progress indicator
35
+ */
36
+ stop(success?: boolean, finalMessage?: string): void;
37
+ /**
38
+ * Get elapsed time
39
+ */
40
+ getElapsedTime(): number;
41
+ }
42
+ /**
43
+ * Create progress indicator for embedding search
44
+ */
45
+ export declare function createEmbeddingSearchProgress(total: number): ProgressIndicator;
46
+ /**
47
+ * Create progress indicator for plan generation
48
+ */
49
+ export declare function createPlanGenerationProgress(): ProgressIndicator;
50
+ /**
51
+ * Create progress indicator for memory synthesis
52
+ */
53
+ export declare function createMemorySynthesisProgress(): ProgressIndicator;
54
+ //# sourceMappingURL=progress-indicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-indicator.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ux/progress-indicator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,YAAY,CAAa;IAEjC;;OAEG;IACH,KAAK,CAAC,OAAO,GAAE,eAAoB,GAAG,IAAI;IAmB1C;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAe7C;;OAEG;IACH,SAAS,CAAC,KAAK,GAAE,MAAU,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIpD;;OAEG;IACH,IAAI,CAAC,OAAO,GAAE,OAAc,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAmB1D;;OAEG;IACH,cAAc,IAAI,MAAM;CAGzB;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAS9E;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,iBAAiB,CAMhE;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,iBAAiB,CAMjE"}