codehere 0.3.0 → 0.5.0-alpha.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 (389) hide show
  1. package/README.md +230 -42
  2. package/dist/application/agents/documentation-agent.d.ts +24 -0
  3. package/dist/application/agents/documentation-agent.d.ts.map +1 -0
  4. package/dist/application/agents/documentation-agent.js +399 -0
  5. package/dist/application/agents/documentation-agent.js.map +1 -0
  6. package/dist/application/agents/execution-agent.d.ts +11 -0
  7. package/dist/application/agents/execution-agent.d.ts.map +1 -1
  8. package/dist/application/agents/execution-agent.js +289 -80
  9. package/dist/application/agents/execution-agent.js.map +1 -1
  10. package/dist/application/agents/multi-agent-orchestrator.d.ts +3 -0
  11. package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -1
  12. package/dist/application/agents/multi-agent-orchestrator.js +86 -0
  13. package/dist/application/agents/multi-agent-orchestrator.js.map +1 -1
  14. package/dist/application/agents/planning-agent.d.ts +3 -0
  15. package/dist/application/agents/planning-agent.d.ts.map +1 -1
  16. package/dist/application/agents/planning-agent.js +146 -70
  17. package/dist/application/agents/planning-agent.js.map +1 -1
  18. package/dist/application/agents/product-requirements-agent.d.ts +21 -0
  19. package/dist/application/agents/product-requirements-agent.d.ts.map +1 -0
  20. package/dist/application/agents/product-requirements-agent.js +247 -0
  21. package/dist/application/agents/product-requirements-agent.js.map +1 -0
  22. package/dist/application/agents/validation-agent.d.ts +5 -1
  23. package/dist/application/agents/validation-agent.d.ts.map +1 -1
  24. package/dist/application/agents/validation-agent.js +156 -21
  25. package/dist/application/agents/validation-agent.js.map +1 -1
  26. package/dist/application/services/dependency-container.d.ts +46 -2
  27. package/dist/application/services/dependency-container.d.ts.map +1 -1
  28. package/dist/application/services/dependency-container.js +177 -7
  29. package/dist/application/services/dependency-container.js.map +1 -1
  30. package/dist/application/services/intelligent-router.d.ts +13 -0
  31. package/dist/application/services/intelligent-router.d.ts.map +1 -1
  32. package/dist/application/services/intelligent-router.js +306 -90
  33. package/dist/application/services/intelligent-router.js.map +1 -1
  34. package/dist/application/use-cases/ask-question-use-case.d.ts +19 -0
  35. package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -1
  36. package/dist/application/use-cases/ask-question-use-case.js +125 -46
  37. package/dist/application/use-cases/ask-question-use-case.js.map +1 -1
  38. package/dist/application/use-cases/edit-file-use-case.d.ts.map +1 -1
  39. package/dist/application/use-cases/edit-file-use-case.js +16 -1
  40. package/dist/application/use-cases/edit-file-use-case.js.map +1 -1
  41. package/dist/domain/entities/documentation.d.ts +35 -0
  42. package/dist/domain/entities/documentation.d.ts.map +1 -0
  43. package/dist/domain/entities/documentation.js +6 -0
  44. package/dist/domain/entities/documentation.js.map +1 -0
  45. package/dist/domain/entities/product-requirements.d.ts +50 -0
  46. package/dist/domain/entities/product-requirements.d.ts.map +1 -0
  47. package/dist/domain/entities/product-requirements.js +6 -0
  48. package/dist/domain/entities/product-requirements.js.map +1 -0
  49. package/dist/domain/entities/task.d.ts +152 -0
  50. package/dist/domain/entities/task.d.ts.map +1 -0
  51. package/dist/domain/entities/task.js +61 -0
  52. package/dist/domain/entities/task.js.map +1 -0
  53. package/dist/domain/errors/embeddings-not-found-error.d.ts +9 -0
  54. package/dist/domain/errors/embeddings-not-found-error.d.ts.map +1 -0
  55. package/dist/domain/errors/embeddings-not-found-error.js +13 -0
  56. package/dist/domain/errors/embeddings-not-found-error.js.map +1 -0
  57. package/dist/domain/interfaces/agent.interface.d.ts +15 -0
  58. package/dist/domain/interfaces/agent.interface.d.ts.map +1 -0
  59. package/dist/domain/interfaces/agent.interface.js +6 -0
  60. package/dist/domain/interfaces/agent.interface.js.map +1 -0
  61. package/dist/domain/interfaces/embedding-repository.interface.d.ts +5 -0
  62. package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +1 -1
  63. package/dist/domain/services/environment-mode-manager.d.ts +12 -0
  64. package/dist/domain/services/environment-mode-manager.d.ts.map +1 -0
  65. package/dist/domain/services/environment-mode-manager.js +22 -0
  66. package/dist/domain/services/environment-mode-manager.js.map +1 -0
  67. package/dist/domain/services/risk-tier-detector.d.ts +17 -0
  68. package/dist/domain/services/risk-tier-detector.d.ts.map +1 -0
  69. package/dist/domain/services/risk-tier-detector.js +78 -0
  70. package/dist/domain/services/risk-tier-detector.js.map +1 -0
  71. package/dist/embed.d.ts.map +1 -1
  72. package/dist/embed.js +18 -8
  73. package/dist/embed.js.map +1 -1
  74. package/dist/formatter.d.ts.map +1 -1
  75. package/dist/formatter.js +10 -3
  76. package/dist/formatter.js.map +1 -1
  77. package/dist/index.js +398 -164
  78. package/dist/index.js.map +1 -1
  79. package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +1 -1
  80. package/dist/infrastructure/ai/cohere-ai-service.js +18 -5
  81. package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -1
  82. package/dist/infrastructure/ai/fake-ai-service.d.ts +22 -0
  83. package/dist/infrastructure/ai/fake-ai-service.d.ts.map +1 -0
  84. package/dist/infrastructure/ai/fake-ai-service.js +59 -0
  85. package/dist/infrastructure/ai/fake-ai-service.js.map +1 -0
  86. package/dist/infrastructure/ai/provider-ai-service.d.ts +59 -0
  87. package/dist/infrastructure/ai/provider-ai-service.d.ts.map +1 -0
  88. package/dist/infrastructure/ai/provider-ai-service.js +477 -0
  89. package/dist/infrastructure/ai/provider-ai-service.js.map +1 -0
  90. package/dist/infrastructure/cache/embedding-cache.d.ts +13 -1
  91. package/dist/infrastructure/cache/embedding-cache.d.ts.map +1 -1
  92. package/dist/infrastructure/cache/embedding-cache.js +80 -9
  93. package/dist/infrastructure/cache/embedding-cache.js.map +1 -1
  94. package/dist/infrastructure/cache/query-result-cache.d.ts +14 -55
  95. package/dist/infrastructure/cache/query-result-cache.d.ts.map +1 -1
  96. package/dist/infrastructure/cache/query-result-cache.js +40 -112
  97. package/dist/infrastructure/cache/query-result-cache.js.map +1 -1
  98. package/dist/infrastructure/cache/response-cache.d.ts +18 -0
  99. package/dist/infrastructure/cache/response-cache.d.ts.map +1 -0
  100. package/dist/infrastructure/cache/response-cache.js +48 -0
  101. package/dist/infrastructure/cache/response-cache.js.map +1 -0
  102. package/dist/infrastructure/cache/security-scan-cache.d.ts +8 -49
  103. package/dist/infrastructure/cache/security-scan-cache.d.ts.map +1 -1
  104. package/dist/infrastructure/cache/security-scan-cache.js +25 -102
  105. package/dist/infrastructure/cache/security-scan-cache.js.map +1 -1
  106. package/dist/infrastructure/completion/bash-completion.d.ts +2 -3
  107. package/dist/infrastructure/completion/bash-completion.d.ts.map +1 -1
  108. package/dist/infrastructure/completion/bash-completion.js +11 -87
  109. package/dist/infrastructure/completion/bash-completion.js.map +1 -1
  110. package/dist/infrastructure/completion/fish-completion.d.ts +2 -3
  111. package/dist/infrastructure/completion/fish-completion.d.ts.map +1 -1
  112. package/dist/infrastructure/completion/fish-completion.js +15 -58
  113. package/dist/infrastructure/completion/fish-completion.js.map +1 -1
  114. package/dist/infrastructure/completion/zsh-completion.d.ts +2 -3
  115. package/dist/infrastructure/completion/zsh-completion.d.ts.map +1 -1
  116. package/dist/infrastructure/completion/zsh-completion.js +18 -73
  117. package/dist/infrastructure/completion/zsh-completion.js.map +1 -1
  118. package/dist/infrastructure/config/config-manager.js +2 -2
  119. package/dist/infrastructure/config/config-manager.js.map +1 -1
  120. package/dist/infrastructure/context/conversation-context.d.ts +54 -0
  121. package/dist/infrastructure/context/conversation-context.d.ts.map +1 -0
  122. package/dist/infrastructure/context/conversation-context.js +128 -0
  123. package/dist/infrastructure/context/conversation-context.js.map +1 -0
  124. package/dist/infrastructure/context/session-manager.d.ts +42 -0
  125. package/dist/infrastructure/context/session-manager.d.ts.map +1 -0
  126. package/dist/infrastructure/context/session-manager.js +94 -0
  127. package/dist/infrastructure/context/session-manager.js.map +1 -0
  128. package/dist/infrastructure/cost/cost-tracker.d.ts +1 -0
  129. package/dist/infrastructure/cost/cost-tracker.d.ts.map +1 -1
  130. package/dist/infrastructure/cost/cost-tracker.js +12 -5
  131. package/dist/infrastructure/cost/cost-tracker.js.map +1 -1
  132. package/dist/infrastructure/governance/nist-ai-rmf.d.ts +6 -8
  133. package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +1 -1
  134. package/dist/infrastructure/governance/nist-ai-rmf.js +6 -8
  135. package/dist/infrastructure/governance/nist-ai-rmf.js.map +1 -1
  136. package/dist/infrastructure/governance/policy-as-code.d.ts +6 -8
  137. package/dist/infrastructure/governance/policy-as-code.d.ts.map +1 -1
  138. package/dist/infrastructure/governance/policy-as-code.js +6 -8
  139. package/dist/infrastructure/governance/policy-as-code.js.map +1 -1
  140. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +7 -9
  141. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +1 -1
  142. package/dist/infrastructure/governance/prompt-to-code-lineage.js +7 -9
  143. package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +1 -1
  144. package/dist/infrastructure/providers/cohere-provider.d.ts +39 -0
  145. package/dist/infrastructure/providers/cohere-provider.d.ts.map +1 -0
  146. package/dist/infrastructure/providers/cohere-provider.js +444 -0
  147. package/dist/infrastructure/providers/cohere-provider.js.map +1 -0
  148. package/dist/infrastructure/providers/fake-provider.d.ts +43 -0
  149. package/dist/infrastructure/providers/fake-provider.d.ts.map +1 -0
  150. package/dist/infrastructure/providers/fake-provider.js +130 -0
  151. package/dist/infrastructure/providers/fake-provider.js.map +1 -0
  152. package/dist/infrastructure/providers/local-llm-provider.d.ts +49 -0
  153. package/dist/infrastructure/providers/local-llm-provider.d.ts.map +1 -0
  154. package/dist/infrastructure/providers/local-llm-provider.js +330 -0
  155. package/dist/infrastructure/providers/local-llm-provider.js.map +1 -0
  156. package/dist/infrastructure/providers/model-config.types.d.ts +70 -0
  157. package/dist/infrastructure/providers/model-config.types.d.ts.map +1 -0
  158. package/dist/infrastructure/providers/model-config.types.js +9 -0
  159. package/dist/infrastructure/providers/model-config.types.js.map +1 -0
  160. package/dist/infrastructure/providers/model-provider.interface.d.ts +113 -0
  161. package/dist/infrastructure/providers/model-provider.interface.d.ts.map +1 -0
  162. package/dist/infrastructure/providers/model-provider.interface.js +8 -0
  163. package/dist/infrastructure/providers/model-provider.interface.js.map +1 -0
  164. package/dist/infrastructure/providers/openai-provider.d.ts +38 -0
  165. package/dist/infrastructure/providers/openai-provider.d.ts.map +1 -0
  166. package/dist/infrastructure/providers/openai-provider.js +413 -0
  167. package/dist/infrastructure/providers/openai-provider.js.map +1 -0
  168. package/dist/infrastructure/providers/openrouter-provider.d.ts +42 -0
  169. package/dist/infrastructure/providers/openrouter-provider.d.ts.map +1 -0
  170. package/dist/infrastructure/providers/openrouter-provider.js +399 -0
  171. package/dist/infrastructure/providers/openrouter-provider.js.map +1 -0
  172. package/dist/infrastructure/providers/operation-provider-resolver.d.ts +48 -0
  173. package/dist/infrastructure/providers/operation-provider-resolver.d.ts.map +1 -0
  174. package/dist/infrastructure/providers/operation-provider-resolver.js +105 -0
  175. package/dist/infrastructure/providers/operation-provider-resolver.js.map +1 -0
  176. package/dist/infrastructure/providers/provider-config-loader.d.ts +37 -0
  177. package/dist/infrastructure/providers/provider-config-loader.d.ts.map +1 -0
  178. package/dist/infrastructure/providers/provider-config-loader.js +120 -0
  179. package/dist/infrastructure/providers/provider-config-loader.js.map +1 -0
  180. package/dist/infrastructure/providers/provider-registry.d.ts +53 -0
  181. package/dist/infrastructure/providers/provider-registry.d.ts.map +1 -0
  182. package/dist/infrastructure/providers/provider-registry.js +88 -0
  183. package/dist/infrastructure/providers/provider-registry.js.map +1 -0
  184. package/dist/infrastructure/serialization/toon-serializer.d.ts +45 -0
  185. package/dist/infrastructure/serialization/toon-serializer.d.ts.map +1 -0
  186. package/dist/infrastructure/serialization/toon-serializer.js +119 -0
  187. package/dist/infrastructure/serialization/toon-serializer.js.map +1 -0
  188. package/dist/infrastructure/storage/embeddings-path.d.ts +18 -0
  189. package/dist/infrastructure/storage/embeddings-path.d.ts.map +1 -0
  190. package/dist/infrastructure/storage/embeddings-path.js +37 -0
  191. package/dist/infrastructure/storage/embeddings-path.js.map +1 -0
  192. package/dist/infrastructure/storage/plan-repository.d.ts +2 -0
  193. package/dist/infrastructure/storage/plan-repository.d.ts.map +1 -1
  194. package/dist/infrastructure/storage/plan-repository.js +36 -73
  195. package/dist/infrastructure/storage/plan-repository.js.map +1 -1
  196. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +10 -1
  197. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -1
  198. package/dist/infrastructure/storage/sqlite-embedding-repository.js +37 -3
  199. package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -1
  200. package/dist/infrastructure/storage/task-helpers.d.ts +69 -0
  201. package/dist/infrastructure/storage/task-helpers.d.ts.map +1 -0
  202. package/dist/infrastructure/storage/task-helpers.js +197 -0
  203. package/dist/infrastructure/storage/task-helpers.js.map +1 -0
  204. package/dist/infrastructure/storage/task-repository.d.ts +67 -0
  205. package/dist/infrastructure/storage/task-repository.d.ts.map +1 -0
  206. package/dist/infrastructure/storage/task-repository.js +205 -0
  207. package/dist/infrastructure/storage/task-repository.js.map +1 -0
  208. package/dist/infrastructure/ux/bi-directional-learning.d.ts +22 -0
  209. package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +1 -1
  210. package/dist/infrastructure/ux/bi-directional-learning.js +144 -7
  211. package/dist/infrastructure/ux/bi-directional-learning.js.map +1 -1
  212. package/dist/infrastructure/ux/capability-boundaries.d.ts +22 -0
  213. package/dist/infrastructure/ux/capability-boundaries.d.ts.map +1 -0
  214. package/dist/infrastructure/ux/capability-boundaries.js +42 -0
  215. package/dist/infrastructure/ux/capability-boundaries.js.map +1 -0
  216. package/dist/infrastructure/ux/comprehensive-formatter.d.ts +21 -0
  217. package/dist/infrastructure/ux/comprehensive-formatter.d.ts.map +1 -0
  218. package/dist/infrastructure/ux/comprehensive-formatter.js +117 -0
  219. package/dist/infrastructure/ux/comprehensive-formatter.js.map +1 -0
  220. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts +5 -18
  221. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts.map +1 -1
  222. package/dist/infrastructure/ux/contextual-feature-discovery.js +5 -139
  223. package/dist/infrastructure/ux/contextual-feature-discovery.js.map +1 -1
  224. package/dist/infrastructure/ux/feature-discovery.d.ts +3 -33
  225. package/dist/infrastructure/ux/feature-discovery.d.ts.map +1 -1
  226. package/dist/infrastructure/ux/feature-discovery.js +5 -181
  227. package/dist/infrastructure/ux/feature-discovery.js.map +1 -1
  228. package/dist/infrastructure/ux/feedback-prompt.d.ts +26 -0
  229. package/dist/infrastructure/ux/feedback-prompt.d.ts.map +1 -0
  230. package/dist/infrastructure/ux/feedback-prompt.js +45 -0
  231. package/dist/infrastructure/ux/feedback-prompt.js.map +1 -0
  232. package/dist/infrastructure/ux/hitl-review-portal.d.ts.map +1 -1
  233. package/dist/infrastructure/ux/hitl-review-portal.js +4 -1
  234. package/dist/infrastructure/ux/hitl-review-portal.js.map +1 -1
  235. package/dist/infrastructure/ux/hitl-validation.d.ts +35 -0
  236. package/dist/infrastructure/ux/hitl-validation.d.ts.map +1 -1
  237. package/dist/infrastructure/ux/hitl-validation.js +86 -0
  238. package/dist/infrastructure/ux/hitl-validation.js.map +1 -1
  239. package/dist/infrastructure/ux/progress-indicator.d.ts +4 -5
  240. package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -1
  241. package/dist/infrastructure/ux/progress-indicator.js +35 -40
  242. package/dist/infrastructure/ux/progress-indicator.js.map +1 -1
  243. package/dist/infrastructure/ux/proportional-friction.d.ts +73 -0
  244. package/dist/infrastructure/ux/proportional-friction.d.ts.map +1 -0
  245. package/dist/infrastructure/ux/proportional-friction.js +200 -0
  246. package/dist/infrastructure/ux/proportional-friction.js.map +1 -0
  247. package/dist/infrastructure/ux/review-checkpoint.d.ts +3 -1
  248. package/dist/infrastructure/ux/review-checkpoint.d.ts.map +1 -1
  249. package/dist/infrastructure/ux/review-checkpoint.js +33 -80
  250. package/dist/infrastructure/ux/review-checkpoint.js.map +1 -1
  251. package/dist/infrastructure/ux/staged-feature-intro.d.ts +14 -39
  252. package/dist/infrastructure/ux/staged-feature-intro.d.ts.map +1 -1
  253. package/dist/infrastructure/ux/staged-feature-intro.js +12 -132
  254. package/dist/infrastructure/ux/staged-feature-intro.js.map +1 -1
  255. package/dist/infrastructure/ux/syntax-highlighter.d.ts +1 -2
  256. package/dist/infrastructure/ux/syntax-highlighter.d.ts.map +1 -1
  257. package/dist/infrastructure/ux/syntax-highlighter.js +67 -148
  258. package/dist/infrastructure/ux/syntax-highlighter.js.map +1 -1
  259. package/dist/infrastructure/validation/agent-feedback.d.ts +51 -0
  260. package/dist/infrastructure/validation/agent-feedback.d.ts.map +1 -0
  261. package/dist/infrastructure/validation/agent-feedback.js +55 -0
  262. package/dist/infrastructure/validation/agent-feedback.js.map +1 -0
  263. package/dist/infrastructure/validation/agent-validation-helper.d.ts +75 -0
  264. package/dist/infrastructure/validation/agent-validation-helper.d.ts.map +1 -0
  265. package/dist/infrastructure/validation/agent-validation-helper.js +137 -0
  266. package/dist/infrastructure/validation/agent-validation-helper.js.map +1 -0
  267. package/dist/infrastructure/validation/feedback-stats.d.ts +99 -0
  268. package/dist/infrastructure/validation/feedback-stats.d.ts.map +1 -0
  269. package/dist/infrastructure/validation/feedback-stats.js +173 -0
  270. package/dist/infrastructure/validation/feedback-stats.js.map +1 -0
  271. package/dist/infrastructure/validation/review-handler.d.ts +26 -0
  272. package/dist/infrastructure/validation/review-handler.d.ts.map +1 -0
  273. package/dist/infrastructure/validation/review-handler.js +40 -0
  274. package/dist/infrastructure/validation/review-handler.js.map +1 -0
  275. package/dist/infrastructure/validation/summary-aggregator.d.ts +45 -0
  276. package/dist/infrastructure/validation/summary-aggregator.d.ts.map +1 -0
  277. package/dist/infrastructure/validation/summary-aggregator.js +70 -0
  278. package/dist/infrastructure/validation/summary-aggregator.js.map +1 -0
  279. package/dist/infrastructure/validation/summary-extractor.d.ts +24 -0
  280. package/dist/infrastructure/validation/summary-extractor.d.ts.map +1 -0
  281. package/dist/infrastructure/validation/summary-extractor.js +45 -0
  282. package/dist/infrastructure/validation/summary-extractor.js.map +1 -0
  283. package/dist/infrastructure/validation/trace-summary.d.ts +45 -0
  284. package/dist/infrastructure/validation/trace-summary.d.ts.map +1 -0
  285. package/dist/infrastructure/validation/trace-summary.js +52 -0
  286. package/dist/infrastructure/validation/trace-summary.js.map +1 -0
  287. package/dist/infrastructure/validation/trust-config.d.ts +27 -0
  288. package/dist/infrastructure/validation/trust-config.d.ts.map +1 -0
  289. package/dist/infrastructure/validation/trust-config.js +113 -0
  290. package/dist/infrastructure/validation/trust-config.js.map +1 -0
  291. package/dist/infrastructure/xai/attention-visualizer.d.ts +6 -8
  292. package/dist/infrastructure/xai/attention-visualizer.d.ts.map +1 -1
  293. package/dist/infrastructure/xai/attention-visualizer.js +6 -8
  294. package/dist/infrastructure/xai/attention-visualizer.js.map +1 -1
  295. package/dist/infrastructure/xai/cot-visualizer.d.ts +6 -9
  296. package/dist/infrastructure/xai/cot-visualizer.d.ts.map +1 -1
  297. package/dist/infrastructure/xai/cot-visualizer.js +6 -9
  298. package/dist/infrastructure/xai/cot-visualizer.js.map +1 -1
  299. package/dist/infrastructure/xai/decision-tree-log.d.ts +6 -10
  300. package/dist/infrastructure/xai/decision-tree-log.d.ts.map +1 -1
  301. package/dist/infrastructure/xai/decision-tree-log.js +6 -10
  302. package/dist/infrastructure/xai/decision-tree-log.js.map +1 -1
  303. package/dist/infrastructure/xai/interactive-xai.d.ts +6 -8
  304. package/dist/infrastructure/xai/interactive-xai.d.ts.map +1 -1
  305. package/dist/infrastructure/xai/interactive-xai.js +6 -8
  306. package/dist/infrastructure/xai/interactive-xai.js.map +1 -1
  307. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +6 -9
  308. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +1 -1
  309. package/dist/infrastructure/xai/uncertainty-quantifier.js +6 -9
  310. package/dist/infrastructure/xai/uncertainty-quantifier.js.map +1 -1
  311. package/dist/monitoring.d.ts +1 -1
  312. package/dist/monitoring.d.ts.map +1 -1
  313. package/dist/monitoring.js +12 -9
  314. package/dist/monitoring.js.map +1 -1
  315. package/dist/parallel-processor.d.ts.map +1 -1
  316. package/dist/parallel-processor.js +124 -45
  317. package/dist/parallel-processor.js.map +1 -1
  318. package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -1
  319. package/dist/presentation/cli/commands/ask-command.js +225 -86
  320. package/dist/presentation/cli/commands/ask-command.js.map +1 -1
  321. package/dist/presentation/cli/commands/config-command.d.ts.map +1 -1
  322. package/dist/presentation/cli/commands/config-command.js +8 -6
  323. package/dist/presentation/cli/commands/config-command.js.map +1 -1
  324. package/dist/presentation/cli/commands/docs-command.d.ts +14 -0
  325. package/dist/presentation/cli/commands/docs-command.d.ts.map +1 -0
  326. package/dist/presentation/cli/commands/docs-command.js +25 -0
  327. package/dist/presentation/cli/commands/docs-command.js.map +1 -0
  328. package/dist/presentation/cli/commands/fix-command.d.ts +10 -0
  329. package/dist/presentation/cli/commands/fix-command.d.ts.map +1 -0
  330. package/dist/presentation/cli/commands/fix-command.js +53 -0
  331. package/dist/presentation/cli/commands/fix-command.js.map +1 -0
  332. package/dist/presentation/cli/commands/help-command.d.ts.map +1 -1
  333. package/dist/presentation/cli/commands/help-command.js +2 -0
  334. package/dist/presentation/cli/commands/help-command.js.map +1 -1
  335. package/dist/presentation/cli/commands/models-command.d.ts +13 -0
  336. package/dist/presentation/cli/commands/models-command.d.ts.map +1 -0
  337. package/dist/presentation/cli/commands/models-command.js +194 -0
  338. package/dist/presentation/cli/commands/models-command.js.map +1 -0
  339. package/dist/presentation/cli/commands/orchestrate-command.d.ts +1 -0
  340. package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -1
  341. package/dist/presentation/cli/commands/orchestrate-command.js +68 -7
  342. package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -1
  343. package/dist/presentation/cli/commands/plan-command.d.ts +1 -0
  344. package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -1
  345. package/dist/presentation/cli/commands/plan-command.js +88 -8
  346. package/dist/presentation/cli/commands/plan-command.js.map +1 -1
  347. package/dist/presentation/cli/commands/product-command.d.ts +14 -0
  348. package/dist/presentation/cli/commands/product-command.d.ts.map +1 -0
  349. package/dist/presentation/cli/commands/product-command.js +22 -0
  350. package/dist/presentation/cli/commands/product-command.js.map +1 -0
  351. package/dist/presentation/cli/commands/react-command.d.ts.map +1 -1
  352. package/dist/presentation/cli/commands/react-command.js +3 -1
  353. package/dist/presentation/cli/commands/react-command.js.map +1 -1
  354. package/dist/presentation/cli/commands/review-command.d.ts +14 -0
  355. package/dist/presentation/cli/commands/review-command.d.ts.map +1 -0
  356. package/dist/presentation/cli/commands/review-command.js +154 -0
  357. package/dist/presentation/cli/commands/review-command.js.map +1 -0
  358. package/dist/presentation/cli/commands/run-command.d.ts +13 -0
  359. package/dist/presentation/cli/commands/run-command.d.ts.map +1 -0
  360. package/dist/presentation/cli/commands/run-command.js +188 -0
  361. package/dist/presentation/cli/commands/run-command.js.map +1 -0
  362. package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -1
  363. package/dist/presentation/cli/commands/setup-command.js +15 -0
  364. package/dist/presentation/cli/commands/setup-command.js.map +1 -1
  365. package/dist/presentation/cli/commands/smart-command.d.ts +3 -1
  366. package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -1
  367. package/dist/presentation/cli/commands/smart-command.js +92 -6
  368. package/dist/presentation/cli/commands/smart-command.js.map +1 -1
  369. package/dist/presentation/cli/commands/status-command.d.ts +14 -0
  370. package/dist/presentation/cli/commands/status-command.d.ts.map +1 -0
  371. package/dist/presentation/cli/commands/status-command.js +167 -0
  372. package/dist/presentation/cli/commands/status-command.js.map +1 -0
  373. package/dist/presentation/cli/commands/suggest-command.d.ts +11 -0
  374. package/dist/presentation/cli/commands/suggest-command.d.ts.map +1 -0
  375. package/dist/presentation/cli/commands/suggest-command.js +138 -0
  376. package/dist/presentation/cli/commands/suggest-command.js.map +1 -0
  377. package/dist/presentation/cli/error-display.d.ts.map +1 -1
  378. package/dist/presentation/cli/error-display.js +43 -0
  379. package/dist/presentation/cli/error-display.js.map +1 -1
  380. package/dist/search.d.ts.map +1 -1
  381. package/dist/search.js +6 -1
  382. package/dist/search.js.map +1 -1
  383. package/dist/session.js +19 -2
  384. package/dist/session.js.map +1 -1
  385. package/dist/ui.d.ts +6 -0
  386. package/dist/ui.d.ts.map +1 -1
  387. package/dist/ui.js +43 -6
  388. package/dist/ui.js.map +1 -1
  389. package/package.json +16 -3
@@ -0,0 +1,200 @@
1
+ /**
2
+ * Infrastructure: Proportional Friction Enhancement
3
+ * Task 5.2: Higher friction for high-risk actions, lower friction for safe operations
4
+ *
5
+ * Features:
6
+ * - User-configurable friction levels
7
+ * - Risk-proportional friction calculation
8
+ * - Consistent application across operations
9
+ */
10
+ import { AppropriateFriction } from './appropriate-friction.js';
11
+ import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
12
+ import { join } from 'path';
13
+ /**
14
+ * Enhanced Proportional Friction System
15
+ * Extends AppropriateFriction with user-configurable proportional scaling
16
+ */
17
+ export class ProportionalFriction extends AppropriateFriction {
18
+ config;
19
+ configPath;
20
+ constructor(configPath) {
21
+ super();
22
+ this.configPath = configPath || join(process.cwd(), 'data', 'friction-config.json');
23
+ this.config = this.loadConfiguration();
24
+ }
25
+ /**
26
+ * Get friction point adjusted for user preferences
27
+ * Scales friction level based on user configuration and risk
28
+ */
29
+ getProportionalFriction(operation, context) {
30
+ const baseFriction = this.needsFriction(operation, context);
31
+ if (!baseFriction) {
32
+ return null; // No friction needed
33
+ }
34
+ // Adjust friction level based on user preference
35
+ const adjustedLevel = this.adjustFrictionLevel(baseFriction.level, context.riskLevel || 'medium', this.config);
36
+ // Adjust confirmation requirements based on preference
37
+ const requiresConfirmation = this.shouldRequireConfirmation(baseFriction.requiresExplicitConfirmation, adjustedLevel, this.config);
38
+ // Adjust timeout based on preference
39
+ const timeout = this.adjustTimeout(baseFriction.timeout, adjustedLevel, this.config);
40
+ return {
41
+ ...baseFriction,
42
+ level: adjustedLevel,
43
+ requiresExplicitConfirmation: requiresConfirmation,
44
+ timeout: timeout,
45
+ };
46
+ }
47
+ /**
48
+ * Adjust friction level based on user preference
49
+ */
50
+ adjustFrictionLevel(baseLevel, riskLevel, config) {
51
+ // For critical operations, always use heavy friction regardless of preference
52
+ if (riskLevel === 'critical') {
53
+ return 'heavy';
54
+ }
55
+ switch (config.preference) {
56
+ case 'minimal':
57
+ // Reduce friction levels
58
+ if (baseLevel === 'heavy')
59
+ return 'moderate';
60
+ if (baseLevel === 'moderate')
61
+ return 'light';
62
+ if (baseLevel === 'light')
63
+ return 'none';
64
+ return baseLevel;
65
+ case 'strict':
66
+ // Increase friction levels
67
+ if (baseLevel === 'light')
68
+ return 'moderate';
69
+ if (baseLevel === 'moderate')
70
+ return 'heavy';
71
+ if (baseLevel === 'none' && riskLevel !== 'low')
72
+ return 'light';
73
+ return baseLevel;
74
+ case 'balanced':
75
+ default:
76
+ // Use base level as-is (default behavior)
77
+ return baseLevel;
78
+ }
79
+ }
80
+ /**
81
+ * Determine if explicit confirmation should be required
82
+ */
83
+ shouldRequireConfirmation(baseRequirement, frictionLevel, config) {
84
+ // Minimal preference allows auto-proceed for moderate friction
85
+ if (config.preference === 'minimal' && config.allowAutoProceed) {
86
+ if (frictionLevel === 'light' || frictionLevel === 'moderate') {
87
+ return false; // Allow auto-proceed
88
+ }
89
+ }
90
+ // Strict preference always requires confirmation for any friction
91
+ if (config.preference === 'strict') {
92
+ return frictionLevel !== 'none';
93
+ }
94
+ // Balanced: Use base requirement
95
+ return baseRequirement;
96
+ }
97
+ /**
98
+ * Adjust timeout based on user preference
99
+ */
100
+ adjustTimeout(baseTimeout, frictionLevel, config) {
101
+ if (!baseTimeout) {
102
+ return undefined; // No timeout
103
+ }
104
+ // Minimal: Shorter timeout
105
+ if (config.preference === 'minimal') {
106
+ return Math.max(1000, baseTimeout * 0.5); // 50% of base timeout
107
+ }
108
+ // Strict: Longer timeout
109
+ if (config.preference === 'strict') {
110
+ return baseTimeout * 2; // 200% of base timeout
111
+ }
112
+ // Balanced: Use base timeout
113
+ return baseTimeout;
114
+ }
115
+ /**
116
+ * Update friction configuration
117
+ */
118
+ updateConfiguration(config) {
119
+ this.config = {
120
+ ...this.config,
121
+ ...config,
122
+ };
123
+ this.saveConfiguration();
124
+ }
125
+ /**
126
+ * Get current configuration
127
+ */
128
+ getConfiguration() {
129
+ return { ...this.config };
130
+ }
131
+ /**
132
+ * Set user preference
133
+ */
134
+ setPreference(preference) {
135
+ this.config.preference = preference;
136
+ this.saveConfiguration();
137
+ }
138
+ /**
139
+ * Calculate friction intensity score (0-1)
140
+ * Higher score = more friction
141
+ */
142
+ calculateFrictionScore(riskLevel, isDestructive, affectsMultipleFiles, modifiesSecuritySensitiveCode, uncertainty) {
143
+ let score = 0;
144
+ // Risk level contribution (40%)
145
+ const riskScores = { low: 0.1, medium: 0.3, high: 0.6, critical: 1.0 };
146
+ score += riskScores[riskLevel] * 0.4;
147
+ // Destructive operation (20%)
148
+ if (isDestructive)
149
+ score += 0.2;
150
+ // Multi-file impact (15%)
151
+ if (affectsMultipleFiles)
152
+ score += 0.15;
153
+ // Security-sensitive (20%)
154
+ if (modifiesSecuritySensitiveCode)
155
+ score += 0.2;
156
+ // Uncertainty (5%)
157
+ score += Math.min(uncertainty, 1.0) * 0.05;
158
+ // Apply user preference scaling
159
+ const preferenceScale = {
160
+ minimal: 0.7, // 30% reduction
161
+ balanced: 1.0, // No change
162
+ strict: 1.3, // 30% increase
163
+ };
164
+ score *= preferenceScale[this.config.preference];
165
+ return Math.min(score, 1.0); // Cap at 1.0
166
+ }
167
+ // Configuration persistence
168
+ loadConfiguration() {
169
+ try {
170
+ if (existsSync(this.configPath)) {
171
+ const data = JSON.parse(readFileSync(this.configPath, 'utf-8'));
172
+ return {
173
+ preference: data.preference || 'balanced',
174
+ allowAutoProceed: data.allowAutoProceed ?? true,
175
+ customThresholds: data.customThresholds,
176
+ };
177
+ }
178
+ }
179
+ catch {
180
+ // Use defaults if config doesn't exist or can't be read
181
+ }
182
+ return {
183
+ preference: 'balanced',
184
+ allowAutoProceed: true,
185
+ };
186
+ }
187
+ saveConfiguration() {
188
+ try {
189
+ const configDir = join(this.configPath, '..');
190
+ if (!existsSync(configDir)) {
191
+ mkdirSync(configDir, { recursive: true });
192
+ }
193
+ writeFileSync(this.configPath, JSON.stringify(this.config, null, 2));
194
+ }
195
+ catch {
196
+ // Silently fail - configuration is optional
197
+ }
198
+ }
199
+ }
200
+ //# sourceMappingURL=proportional-friction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proportional-friction.js","sourceRoot":"","sources":["../../../src/infrastructure/ux/proportional-friction.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  /**
2
2
  * Review Checkpoint UI
3
- * Shows summary before applying edits - Task 5.1
3
+ * Shows summary before applying edits
4
+ *
5
+ * Phase 1: v0.5.0-alpha.0
4
6
  */
5
7
  export interface EditSummary {
6
8
  filepath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"review-checkpoint.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ux/review-checkpoint.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAyExE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAwCpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAc9D"}
1
+ {"version":3,"file":"review-checkpoint.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ux/review-checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CA8BxE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CA4BA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAE9D"}
@@ -1,66 +1,37 @@
1
1
  /**
2
2
  * Review Checkpoint UI
3
- * Shows summary before applying edits - Task 5.1
3
+ * Shows summary before applying edits
4
+ *
5
+ * Phase 1: v0.5.0-alpha.0
4
6
  */
5
- import { colors, separator, newline, success, warning, error, createTable, } from '../../ui.js';
7
+ import { colors, separator } from '../../ui.js';
6
8
  /**
7
9
  * Display review checkpoint before applying edits
8
10
  */
9
11
  export function displayReviewCheckpoint(info) {
10
- newline();
12
+ console.log('\n' + separator('═', 80));
13
+ console.log(colors.bold('📋 Review Checkpoint'));
11
14
  console.log(separator('═', 80));
12
- console.log(colors.bold('📝 Review Changes'));
13
- console.log(separator('═', 80));
14
- newline();
15
15
  // Files summary
16
- console.log(colors.bold(`Files to modify: ${info.filesToModify.length}`));
17
- newline();
18
- // File details table
19
- const fileRows = info.filesToModify.map(file => [
20
- file.filepath,
21
- `${file.linesAdded} added, ${file.linesRemoved} removed`,
22
- file.linesChanged > 0 ? `${file.linesChanged} changed` : '-',
23
- ]);
24
- const fileTable = createTable(['File', 'Changes', 'Modified Lines'], fileRows);
25
- console.log(fileTable.toString());
26
- newline();
27
- // Status indicators
28
- console.log(colors.bold('Status:'));
29
- const statusRows = [
30
- [
31
- 'Security Scan',
32
- info.securityScanPassed ? success('✓ Passed') : error('✗ Failed'),
33
- ],
34
- [
35
- 'Compilation',
36
- info.compilationValid ? success('✓ Valid') : error('✗ Invalid'),
37
- ],
38
- ];
39
- const statusTable = createTable(['Check', 'Status'], statusRows);
40
- console.log(statusTable.toString());
41
- newline();
42
- // Risk level indicator
43
- const riskColors = {
44
- low: colors.green,
45
- medium: colors.yellow,
46
- high: colors.yellow,
47
- critical: colors.red,
48
- };
49
- const riskLabels = {
50
- low: 'Low Risk',
51
- medium: 'Medium Risk',
52
- high: 'High Risk',
53
- critical: 'Critical Risk',
54
- };
55
- console.log(colors.bold('Risk Level: ') +
56
- riskColors[info.riskLevel](riskLabels[info.riskLevel]));
57
- if (info.uncertainty && info.uncertainty > 0.5) {
58
- const percent = (info.uncertainty * 100).toFixed(0);
59
- console.log(warning(`⚠️ Uncertainty: ${percent}% - Please verify output carefully`));
16
+ console.log(`\n${colors.bold('Files to modify:')} ${info.filesToModify.length}`);
17
+ info.filesToModify.forEach((file, idx) => {
18
+ console.log(` ${idx + 1}. ${file.filepath}`);
19
+ console.log(` +${file.linesAdded} -${file.linesRemoved} ~${file.linesChanged}`);
20
+ });
21
+ // Validation status
22
+ console.log(`\n${colors.bold('Validation:')}`);
23
+ console.log(` Security scan: ${info.securityScanPassed ? colors.green('✓ Passed') : colors.red('✗ Failed')}`);
24
+ console.log(` Compilation: ${info.compilationValid ? colors.green(' Valid') : colors.red(' Invalid')}`);
25
+ // Risk level
26
+ const riskColor = info.riskLevel === 'low' ? colors.green :
27
+ info.riskLevel === 'medium' ? colors.yellow :
28
+ info.riskLevel === 'high' ? colors.red :
29
+ colors.red;
30
+ console.log(` Risk level: ${riskColor(info.riskLevel.toUpperCase())}`);
31
+ if (info.uncertainty !== undefined) {
32
+ console.log(` Uncertainty: ${(info.uncertainty * 100).toFixed(1)}%`);
60
33
  }
61
- newline();
62
- console.log(separator('═', 80));
63
- newline();
34
+ console.log(separator('═', 80) + '\n');
64
35
  }
65
36
  /**
66
37
  * Calculate diff summary from old and new content
@@ -71,26 +42,18 @@ export function calculateDiffSummary(oldContent, newContent) {
71
42
  let linesAdded = 0;
72
43
  let linesRemoved = 0;
73
44
  let linesChanged = 0;
74
- // Simple line-based diff calculation
75
- const oldSet = new Set(oldLines);
76
- const newSet = new Set(newLines);
77
- // Count added lines (in new but not in old)
78
- for (const line of newLines) {
79
- if (!oldSet.has(line)) {
45
+ // Simple line-by-line comparison
46
+ const maxLen = Math.max(oldLines.length, newLines.length);
47
+ for (let i = 0; i < maxLen; i++) {
48
+ const oldLine = oldLines[i];
49
+ const newLine = newLines[i];
50
+ if (oldLine === undefined) {
80
51
  linesAdded++;
81
52
  }
82
- }
83
- // Count removed lines (in old but not in new)
84
- for (const line of oldLines) {
85
- if (!newSet.has(line)) {
53
+ else if (newLine === undefined) {
86
54
  linesRemoved++;
87
55
  }
88
- }
89
- // Changed lines = lines that exist in both but at different positions
90
- // Simplified: count lines that are in both but position differs
91
- const minLength = Math.min(oldLines.length, newLines.length);
92
- for (let i = 0; i < minLength; i++) {
93
- if (oldLines[i] !== newLines[i] && oldSet.has(newLines[i])) {
56
+ else if (oldLine !== newLine) {
94
57
  linesChanged++;
95
58
  }
96
59
  }
@@ -104,16 +67,6 @@ export function calculateDiffSummary(oldContent, newContent) {
104
67
  * Format edit summary for display
105
68
  */
106
69
  export function formatEditSummary(summary) {
107
- const changes = [];
108
- if (summary.linesAdded > 0) {
109
- changes.push(`${summary.linesAdded} added`);
110
- }
111
- if (summary.linesRemoved > 0) {
112
- changes.push(`${summary.linesRemoved} removed`);
113
- }
114
- if (summary.linesChanged > 0) {
115
- changes.push(`${summary.linesChanged} changed`);
116
- }
117
- return changes.length > 0 ? changes.join(', ') : 'No changes';
70
+ return `${summary.filepath}: +${summary.linesAdded} -${summary.linesRemoved} ~${summary.linesChanged}`;
118
71
  }
119
72
  //# sourceMappingURL=review-checkpoint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"review-checkpoint.js","sourceRoot":"","sources":["../../../src/infrastructure/ux/review-checkpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-checkpoint.js","sourceRoot":"","sources":["../../../src/infrastructure/ux/review-checkpoint.ts"],"names":[],"mappings":"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"}
@@ -1,47 +1,22 @@
1
1
  /**
2
- * Infrastructure: Staged Feature Introduction
2
+ * Staged Feature Introduction
3
+ * Checks feature access and displays availability
3
4
  *
4
- * UI utilities for Progressive Disclosure integration in CLI commands
5
- * Task 2.3: Show feature levels and gate features based on user experience
5
+ * Phase 1: v0.5.0-alpha.0
6
6
  */
7
- import { ProgressiveDisclosure, type UserLevel, type FeatureCapability } from './progressive-disclosure.js';
8
- /**
9
- * Display feature level indicator
10
- */
11
- export declare function displayFeatureLevel(capability: FeatureCapability): string;
12
- /**
13
- * Display user level indicator
14
- */
15
- export declare function displayUserLevel(level: UserLevel): string;
16
- /**
17
- * Display feature gating message when feature is not available
18
- */
19
- export declare function displayFeatureGatingMessage(featureId: string, featureName: string, reason: string, suggestedLevel?: UserLevel, currentLevel?: UserLevel): void;
20
- /**
21
- * Display feature availability message
22
- */
23
- export declare function displayFeatureAvailability(featureName: string, capability: FeatureCapability, userLevel: UserLevel): void;
24
- /**
25
- * Display upgrade notification when user levels up
26
- */
27
- export declare function displayLevelUpNotification(oldLevel: UserLevel, newLevel: UserLevel, newFeatures: Array<{
28
- name: string;
29
- capability: FeatureCapability;
30
- }>): void;
7
+ import type { ProgressiveDisclosure } from './progressive-disclosure.js';
8
+ export interface FeatureAvailability {
9
+ available: boolean;
10
+ message?: string;
11
+ upgradePath?: string;
12
+ shouldContinue?: boolean;
13
+ }
31
14
  /**
32
- * Check if feature is available and show appropriate message
15
+ * Check feature access
33
16
  */
34
- export declare function checkFeatureAccess(progressiveDisclosure: ProgressiveDisclosure, userId: string, featureId: string): {
35
- available: boolean;
36
- shouldContinue: boolean;
37
- };
17
+ export declare function checkFeatureAccess(progressiveDisclosure: ProgressiveDisclosure, userId: string, feature: string): FeatureAvailability;
38
18
  /**
39
- * Get features summary for user
19
+ * Display feature availability
40
20
  */
41
- export declare function getFeaturesSummary(progressiveDisclosure: ProgressiveDisclosure, userId: string): {
42
- userLevel: UserLevel;
43
- totalFeatures: number;
44
- availableFeatures: number;
45
- nextLevelFeatures: number;
46
- };
21
+ export declare function displayFeatureAvailability(featureName: string, capability: string, userLevel?: string): void;
47
22
  //# sourceMappingURL=staged-feature-intro.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"staged-feature-intro.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ux/staged-feature-intro.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAE5G;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,iBAAiB,GAAG,MAAM,CAmBzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAUzD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,SAAS,EAC1B,YAAY,CAAC,EAAE,SAAS,GACvB,IAAI,CAuBN;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,iBAAiB,EAC7B,SAAS,EAAE,SAAS,GACnB,IAAI,CAQN;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,iBAAiB,CAAA;CAAE,CAAC,GAClE,IAAI,CAqBN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAkCjD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,MAAM,GACb;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAuBA"}
1
+ {"version":3,"file":"staged-feature-intro.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ux/staged-feature-intro.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,mBAAmB,CAMrB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAGN"}
@@ -1,144 +1,24 @@
1
1
  /**
2
- * Infrastructure: Staged Feature Introduction
2
+ * Staged Feature Introduction
3
+ * Checks feature access and displays availability
3
4
  *
4
- * UI utilities for Progressive Disclosure integration in CLI commands
5
- * Task 2.3: Show feature levels and gate features based on user experience
5
+ * Phase 1: v0.5.0-alpha.0
6
6
  */
7
- import { colors, separator } from '../../ui.js';
8
7
  /**
9
- * Display feature level indicator
8
+ * Check feature access
10
9
  */
11
- export function displayFeatureLevel(capability) {
12
- const levelColors = {
13
- basic: colors.green,
14
- standard: colors.blue,
15
- advanced: colors.yellow,
16
- experimental: colors.magenta,
17
- };
18
- const levelLabels = {
19
- basic: 'Basic',
20
- standard: 'Standard',
21
- advanced: 'Advanced',
22
- experimental: 'Experimental',
23
- };
24
- const colorFn = levelColors[capability] || colors.gray;
25
- const label = levelLabels[capability] || capability;
26
- return colorFn(`[${label}]`);
27
- }
28
- /**
29
- * Display user level indicator
30
- */
31
- export function displayUserLevel(level) {
32
- const levelColors = {
33
- beginner: colors.cyan,
34
- intermediate: colors.blue,
35
- advanced: colors.yellow,
36
- expert: colors.magenta,
10
+ export function checkFeatureAccess(progressiveDisclosure, userId, feature) {
11
+ // In alpha, all features are available
12
+ return {
13
+ available: true,
14
+ shouldContinue: true,
37
15
  };
38
- const colorFn = levelColors[level] || colors.gray;
39
- return colorFn(level.charAt(0).toUpperCase() + level.slice(1));
40
16
  }
41
17
  /**
42
- * Display feature gating message when feature is not available
43
- */
44
- export function displayFeatureGatingMessage(featureId, featureName, reason, suggestedLevel, currentLevel) {
45
- console.log('');
46
- console.log(separator('═', 80));
47
- console.log(colors.yellow(`⚠️ Feature Unavailable: ${featureName}`));
48
- console.log(separator('═', 80));
49
- console.log('');
50
- console.log(colors.dim(`Reason: ${reason}`));
51
- if (suggestedLevel && currentLevel) {
52
- console.log('');
53
- console.log(colors.bold('Upgrade Path:'));
54
- console.log(` Current Level: ${displayUserLevel(currentLevel)}`);
55
- console.log(` Required Level: ${displayUserLevel(suggestedLevel)}`);
56
- console.log('');
57
- console.log(colors.dim('Keep using Codehere to unlock more features!'));
58
- console.log(colors.dim(` • Use basic features to progress to intermediate`));
59
- console.log(colors.dim(` • Explore new capabilities to advance your level`));
60
- }
61
- console.log('');
62
- console.log(separator('═', 80));
63
- console.log('');
64
- }
65
- /**
66
- * Display feature availability message
18
+ * Display feature availability
67
19
  */
68
20
  export function displayFeatureAvailability(featureName, capability, userLevel) {
69
- const levelBadge = displayFeatureLevel(capability);
70
- const userBadge = displayUserLevel(userLevel);
71
- // Only show for non-basic features to reduce noise
72
- if (capability !== 'basic') {
73
- console.log(colors.dim(`${levelBadge} Feature: ${featureName} (${userBadge} level)`));
74
- }
75
- }
76
- /**
77
- * Display upgrade notification when user levels up
78
- */
79
- export function displayLevelUpNotification(oldLevel, newLevel, newFeatures) {
80
- console.log('');
81
- console.log(separator('═', 80));
82
- console.log(colors.green(`🎉 Level Up! You're now ${displayUserLevel(newLevel)}`));
83
- console.log(separator('═', 80));
84
- console.log('');
85
- if (newFeatures.length > 0) {
86
- console.log(colors.bold('New Features Unlocked:'));
87
- console.log('');
88
- newFeatures.forEach(feature => {
89
- const badge = displayFeatureLevel(feature.capability);
90
- console.log(` ${badge} ${feature.name}`);
91
- });
92
- console.log('');
93
- }
94
- console.log(colors.dim('Keep exploring to unlock even more advanced capabilities!'));
95
- console.log('');
96
- console.log(separator('═', 80));
97
- console.log('');
98
- }
99
- /**
100
- * Check if feature is available and show appropriate message
101
- */
102
- export function checkFeatureAccess(progressiveDisclosure, userId, featureId) {
103
- const check = progressiveDisclosure.shouldShowFeature(userId, featureId);
104
- if (!check.show) {
105
- const profile = progressiveDisclosure.getUserProfile(userId);
106
- // Get feature from available features to find name
107
- const availableFeatures = progressiveDisclosure.getAvailableFeatures(userId);
108
- const allFeatures = [...availableFeatures];
109
- const unavailableFeatures = progressiveDisclosure.getNextSuggestedFeatures(userId, 100);
110
- const feature = [...allFeatures, ...unavailableFeatures].find(f => f.featureId === featureId);
111
- if (feature) {
112
- displayFeatureGatingMessage(featureId, feature.featureName, check.reason || 'Feature not available', check.suggestedLevel, profile.level);
113
- }
114
- else {
115
- // Fallback if feature not found
116
- displayFeatureGatingMessage(featureId, featureId.replace(/-/g, ' ').replace(/\b\w/g, l => l.toUpperCase()), check.reason || 'Feature not available', check.suggestedLevel, profile.level);
117
- }
118
- return { available: false, shouldContinue: false };
119
- }
120
- return { available: true, shouldContinue: true };
121
- }
122
- /**
123
- * Get features summary for user
124
- */
125
- export function getFeaturesSummary(progressiveDisclosure, userId) {
126
- const profile = progressiveDisclosure.getUserProfile(userId);
127
- const available = progressiveDisclosure.getAvailableFeatures(userId);
128
- const allFeatures = Array.from(progressiveDisclosure.featureRegistry?.values() || []);
129
- // Count features for next level
130
- const levelOrder = ['beginner', 'intermediate', 'advanced', 'expert'];
131
- const currentIndex = levelOrder.indexOf(profile.level);
132
- const nextLevel = currentIndex < levelOrder.length - 1 ? levelOrder[currentIndex + 1] : null;
133
- let nextLevelFeatures = 0;
134
- if (nextLevel) {
135
- nextLevelFeatures = allFeatures.filter((f) => f.requiredLevel === nextLevel).length;
136
- }
137
- return {
138
- userLevel: profile.level,
139
- totalFeatures: allFeatures.length,
140
- availableFeatures: available.length,
141
- nextLevelFeatures,
142
- };
21
+ // In alpha, no-op
22
+ // Can be enhanced later to show feature introductions
143
23
  }
144
24
  //# sourceMappingURL=staged-feature-intro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"staged-feature-intro.js","sourceRoot":"","sources":["../../../src/infrastructure/ux/staged-feature-intro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"staged-feature-intro.js","sourceRoot":"","sources":["../../../src/infrastructure/ux/staged-feature-intro.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,qBAA4C,EAC5C,MAAc,EACd,OAAe;IAEf,uCAAuC;IACvC,OAAO;QACL,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,WAAmB,EACnB,UAAkB,EAClB,SAAkB;IAElB,kBAAkB;IAClB,sDAAsD;AACxD,CAAC"}