codehere 0.4.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.
Files changed (231) hide show
  1. package/README.md +7 -0
  2. package/dist/application/agents/execution-agent.js +2 -2
  3. package/dist/application/agents/execution-agent.js.map +1 -1
  4. package/dist/application/agents/planning-agent.d.ts.map +1 -1
  5. package/dist/application/agents/planning-agent.js +16 -8
  6. package/dist/application/agents/planning-agent.js.map +1 -1
  7. package/dist/application/agents/validation-agent.js +2 -2
  8. package/dist/application/agents/validation-agent.js.map +1 -1
  9. package/dist/application/services/dependency-container.d.ts +30 -6
  10. package/dist/application/services/dependency-container.d.ts.map +1 -1
  11. package/dist/application/services/dependency-container.js +75 -43
  12. package/dist/application/services/dependency-container.js.map +1 -1
  13. package/dist/application/services/intelligent-router.d.ts.map +1 -1
  14. package/dist/application/services/intelligent-router.js +6 -3
  15. package/dist/application/services/intelligent-router.js.map +1 -1
  16. package/dist/domain/entities/task.d.ts.map +1 -1
  17. package/dist/domain/entities/task.js +1 -1
  18. package/dist/domain/entities/task.js.map +1 -1
  19. package/dist/domain/errors/embeddings-not-found-error.d.ts +9 -0
  20. package/dist/domain/errors/embeddings-not-found-error.d.ts.map +1 -0
  21. package/dist/domain/errors/embeddings-not-found-error.js +13 -0
  22. package/dist/domain/errors/embeddings-not-found-error.js.map +1 -0
  23. package/dist/domain/interfaces/embedding-repository.interface.d.ts +5 -0
  24. package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +1 -1
  25. package/dist/domain/services/environment-mode-manager.d.ts +4 -10
  26. package/dist/domain/services/environment-mode-manager.d.ts.map +1 -1
  27. package/dist/domain/services/environment-mode-manager.js +7 -22
  28. package/dist/domain/services/environment-mode-manager.js.map +1 -1
  29. package/dist/domain/services/risk-tier-detector.d.ts +8 -9
  30. package/dist/domain/services/risk-tier-detector.d.ts.map +1 -1
  31. package/dist/domain/services/risk-tier-detector.js +53 -40
  32. package/dist/domain/services/risk-tier-detector.js.map +1 -1
  33. package/dist/embed.d.ts.map +1 -1
  34. package/dist/embed.js +18 -8
  35. package/dist/embed.js.map +1 -1
  36. package/dist/index.js +308 -48
  37. package/dist/index.js.map +1 -1
  38. package/dist/infrastructure/ai/cohere-ai-service.js +3 -3
  39. package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -1
  40. package/dist/infrastructure/ai/provider-ai-service.d.ts.map +1 -1
  41. package/dist/infrastructure/ai/provider-ai-service.js +6 -6
  42. package/dist/infrastructure/ai/provider-ai-service.js.map +1 -1
  43. package/dist/infrastructure/cache/query-result-cache.d.ts +14 -55
  44. package/dist/infrastructure/cache/query-result-cache.d.ts.map +1 -1
  45. package/dist/infrastructure/cache/query-result-cache.js +40 -112
  46. package/dist/infrastructure/cache/query-result-cache.js.map +1 -1
  47. package/dist/infrastructure/cache/response-cache.d.ts +10 -78
  48. package/dist/infrastructure/cache/response-cache.d.ts.map +1 -1
  49. package/dist/infrastructure/cache/response-cache.js +22 -198
  50. package/dist/infrastructure/cache/response-cache.js.map +1 -1
  51. package/dist/infrastructure/cache/security-scan-cache.d.ts +8 -49
  52. package/dist/infrastructure/cache/security-scan-cache.d.ts.map +1 -1
  53. package/dist/infrastructure/cache/security-scan-cache.js +25 -102
  54. package/dist/infrastructure/cache/security-scan-cache.js.map +1 -1
  55. package/dist/infrastructure/completion/bash-completion.d.ts +2 -3
  56. package/dist/infrastructure/completion/bash-completion.d.ts.map +1 -1
  57. package/dist/infrastructure/completion/bash-completion.js +11 -87
  58. package/dist/infrastructure/completion/bash-completion.js.map +1 -1
  59. package/dist/infrastructure/completion/fish-completion.d.ts +2 -3
  60. package/dist/infrastructure/completion/fish-completion.d.ts.map +1 -1
  61. package/dist/infrastructure/completion/fish-completion.js +15 -58
  62. package/dist/infrastructure/completion/fish-completion.js.map +1 -1
  63. package/dist/infrastructure/completion/zsh-completion.d.ts +2 -3
  64. package/dist/infrastructure/completion/zsh-completion.d.ts.map +1 -1
  65. package/dist/infrastructure/completion/zsh-completion.js +18 -73
  66. package/dist/infrastructure/completion/zsh-completion.js.map +1 -1
  67. package/dist/infrastructure/config/config-manager.js +2 -2
  68. package/dist/infrastructure/config/config-manager.js.map +1 -1
  69. package/dist/infrastructure/context/conversation-context.d.ts +27 -31
  70. package/dist/infrastructure/context/conversation-context.d.ts.map +1 -1
  71. package/dist/infrastructure/context/conversation-context.js +94 -136
  72. package/dist/infrastructure/context/conversation-context.js.map +1 -1
  73. package/dist/infrastructure/context/session-manager.d.ts +27 -11
  74. package/dist/infrastructure/context/session-manager.d.ts.map +1 -1
  75. package/dist/infrastructure/context/session-manager.js +69 -73
  76. package/dist/infrastructure/context/session-manager.js.map +1 -1
  77. package/dist/infrastructure/providers/cohere-provider.d.ts.map +1 -1
  78. package/dist/infrastructure/providers/cohere-provider.js +102 -17
  79. package/dist/infrastructure/providers/cohere-provider.js.map +1 -1
  80. package/dist/infrastructure/providers/openrouter-provider.d.ts +42 -0
  81. package/dist/infrastructure/providers/openrouter-provider.d.ts.map +1 -0
  82. package/dist/infrastructure/providers/openrouter-provider.js +399 -0
  83. package/dist/infrastructure/providers/openrouter-provider.js.map +1 -0
  84. package/dist/infrastructure/serialization/toon-serializer.d.ts +45 -0
  85. package/dist/infrastructure/serialization/toon-serializer.d.ts.map +1 -0
  86. package/dist/infrastructure/serialization/toon-serializer.js +119 -0
  87. package/dist/infrastructure/serialization/toon-serializer.js.map +1 -0
  88. package/dist/infrastructure/storage/embeddings-path.d.ts +18 -0
  89. package/dist/infrastructure/storage/embeddings-path.d.ts.map +1 -0
  90. package/dist/infrastructure/storage/embeddings-path.js +37 -0
  91. package/dist/infrastructure/storage/embeddings-path.js.map +1 -0
  92. package/dist/infrastructure/storage/plan-repository.d.ts +2 -0
  93. package/dist/infrastructure/storage/plan-repository.d.ts.map +1 -1
  94. package/dist/infrastructure/storage/plan-repository.js +36 -73
  95. package/dist/infrastructure/storage/plan-repository.js.map +1 -1
  96. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +10 -1
  97. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -1
  98. package/dist/infrastructure/storage/sqlite-embedding-repository.js +37 -3
  99. package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -1
  100. package/dist/infrastructure/storage/task-helpers.d.ts +11 -0
  101. package/dist/infrastructure/storage/task-helpers.d.ts.map +1 -1
  102. package/dist/infrastructure/storage/task-helpers.js +47 -7
  103. package/dist/infrastructure/storage/task-helpers.js.map +1 -1
  104. package/dist/infrastructure/storage/task-repository.d.ts.map +1 -1
  105. package/dist/infrastructure/storage/task-repository.js.map +1 -1
  106. package/dist/infrastructure/ux/capability-boundaries.d.ts +9 -37
  107. package/dist/infrastructure/ux/capability-boundaries.d.ts.map +1 -1
  108. package/dist/infrastructure/ux/capability-boundaries.js +23 -148
  109. package/dist/infrastructure/ux/capability-boundaries.js.map +1 -1
  110. package/dist/infrastructure/ux/comprehensive-formatter.d.ts +12 -54
  111. package/dist/infrastructure/ux/comprehensive-formatter.d.ts.map +1 -1
  112. package/dist/infrastructure/ux/comprehensive-formatter.js +87 -182
  113. package/dist/infrastructure/ux/comprehensive-formatter.js.map +1 -1
  114. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts +5 -18
  115. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts.map +1 -1
  116. package/dist/infrastructure/ux/contextual-feature-discovery.js +5 -139
  117. package/dist/infrastructure/ux/contextual-feature-discovery.js.map +1 -1
  118. package/dist/infrastructure/ux/feature-discovery.d.ts +3 -33
  119. package/dist/infrastructure/ux/feature-discovery.d.ts.map +1 -1
  120. package/dist/infrastructure/ux/feature-discovery.js +5 -181
  121. package/dist/infrastructure/ux/feature-discovery.js.map +1 -1
  122. package/dist/infrastructure/ux/feedback-prompt.d.ts +15 -31
  123. package/dist/infrastructure/ux/feedback-prompt.d.ts.map +1 -1
  124. package/dist/infrastructure/ux/feedback-prompt.js +30 -166
  125. package/dist/infrastructure/ux/feedback-prompt.js.map +1 -1
  126. package/dist/infrastructure/ux/progress-indicator.d.ts +3 -5
  127. package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -1
  128. package/dist/infrastructure/ux/progress-indicator.js +34 -49
  129. package/dist/infrastructure/ux/progress-indicator.js.map +1 -1
  130. package/dist/infrastructure/ux/review-checkpoint.d.ts +3 -1
  131. package/dist/infrastructure/ux/review-checkpoint.d.ts.map +1 -1
  132. package/dist/infrastructure/ux/review-checkpoint.js +33 -80
  133. package/dist/infrastructure/ux/review-checkpoint.js.map +1 -1
  134. package/dist/infrastructure/ux/staged-feature-intro.d.ts +14 -39
  135. package/dist/infrastructure/ux/staged-feature-intro.d.ts.map +1 -1
  136. package/dist/infrastructure/ux/staged-feature-intro.js +12 -132
  137. package/dist/infrastructure/ux/staged-feature-intro.js.map +1 -1
  138. package/dist/infrastructure/ux/syntax-highlighter.d.ts +1 -2
  139. package/dist/infrastructure/ux/syntax-highlighter.d.ts.map +1 -1
  140. package/dist/infrastructure/ux/syntax-highlighter.js +67 -148
  141. package/dist/infrastructure/ux/syntax-highlighter.js.map +1 -1
  142. package/dist/infrastructure/validation/agent-feedback.d.ts +25 -89
  143. package/dist/infrastructure/validation/agent-feedback.d.ts.map +1 -1
  144. package/dist/infrastructure/validation/agent-feedback.js +32 -204
  145. package/dist/infrastructure/validation/agent-feedback.js.map +1 -1
  146. package/dist/infrastructure/validation/agent-validation-helper.d.ts +53 -53
  147. package/dist/infrastructure/validation/agent-validation-helper.d.ts.map +1 -1
  148. package/dist/infrastructure/validation/agent-validation-helper.js +110 -61
  149. package/dist/infrastructure/validation/agent-validation-helper.js.map +1 -1
  150. package/dist/infrastructure/validation/review-handler.d.ts +13 -41
  151. package/dist/infrastructure/validation/review-handler.d.ts.map +1 -1
  152. package/dist/infrastructure/validation/review-handler.js +23 -189
  153. package/dist/infrastructure/validation/review-handler.js.map +1 -1
  154. package/dist/infrastructure/validation/summary-aggregator.d.ts +25 -22
  155. package/dist/infrastructure/validation/summary-aggregator.d.ts.map +1 -1
  156. package/dist/infrastructure/validation/summary-aggregator.js +47 -133
  157. package/dist/infrastructure/validation/summary-aggregator.js.map +1 -1
  158. package/dist/infrastructure/validation/summary-extractor.d.ts +13 -48
  159. package/dist/infrastructure/validation/summary-extractor.d.ts.map +1 -1
  160. package/dist/infrastructure/validation/summary-extractor.js +32 -89
  161. package/dist/infrastructure/validation/summary-extractor.js.map +1 -1
  162. package/dist/infrastructure/validation/trace-summary.d.ts +30 -57
  163. package/dist/infrastructure/validation/trace-summary.d.ts.map +1 -1
  164. package/dist/infrastructure/validation/trace-summary.js +37 -356
  165. package/dist/infrastructure/validation/trace-summary.js.map +1 -1
  166. package/dist/monitoring.d.ts +1 -1
  167. package/dist/monitoring.d.ts.map +1 -1
  168. package/dist/monitoring.js +12 -9
  169. package/dist/monitoring.js.map +1 -1
  170. package/dist/parallel-processor.d.ts.map +1 -1
  171. package/dist/parallel-processor.js +124 -45
  172. package/dist/parallel-processor.js.map +1 -1
  173. package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -1
  174. package/dist/presentation/cli/commands/ask-command.js +185 -128
  175. package/dist/presentation/cli/commands/ask-command.js.map +1 -1
  176. package/dist/presentation/cli/commands/config-command.d.ts.map +1 -1
  177. package/dist/presentation/cli/commands/config-command.js +8 -6
  178. package/dist/presentation/cli/commands/config-command.js.map +1 -1
  179. package/dist/presentation/cli/commands/docs-command.d.ts +3 -1
  180. package/dist/presentation/cli/commands/docs-command.d.ts.map +1 -1
  181. package/dist/presentation/cli/commands/docs-command.js +13 -184
  182. package/dist/presentation/cli/commands/docs-command.js.map +1 -1
  183. package/dist/presentation/cli/commands/fix-command.d.ts +2 -0
  184. package/dist/presentation/cli/commands/fix-command.d.ts.map +1 -1
  185. package/dist/presentation/cli/commands/fix-command.js +25 -281
  186. package/dist/presentation/cli/commands/fix-command.js.map +1 -1
  187. package/dist/presentation/cli/commands/models-command.d.ts +13 -0
  188. package/dist/presentation/cli/commands/models-command.d.ts.map +1 -0
  189. package/dist/presentation/cli/commands/models-command.js +194 -0
  190. package/dist/presentation/cli/commands/models-command.js.map +1 -0
  191. package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -1
  192. package/dist/presentation/cli/commands/orchestrate-command.js +15 -7
  193. package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -1
  194. package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -1
  195. package/dist/presentation/cli/commands/plan-command.js +9 -6
  196. package/dist/presentation/cli/commands/plan-command.js.map +1 -1
  197. package/dist/presentation/cli/commands/product-command.d.ts +6 -4
  198. package/dist/presentation/cli/commands/product-command.d.ts.map +1 -1
  199. package/dist/presentation/cli/commands/product-command.js +12 -178
  200. package/dist/presentation/cli/commands/product-command.js.map +1 -1
  201. package/dist/presentation/cli/commands/review-command.d.ts +7 -7
  202. package/dist/presentation/cli/commands/review-command.d.ts.map +1 -1
  203. package/dist/presentation/cli/commands/review-command.js +148 -16
  204. package/dist/presentation/cli/commands/review-command.js.map +1 -1
  205. package/dist/presentation/cli/commands/run-command.d.ts +6 -8
  206. package/dist/presentation/cli/commands/run-command.d.ts.map +1 -1
  207. package/dist/presentation/cli/commands/run-command.js +182 -23
  208. package/dist/presentation/cli/commands/run-command.js.map +1 -1
  209. package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -1
  210. package/dist/presentation/cli/commands/setup-command.js +15 -0
  211. package/dist/presentation/cli/commands/setup-command.js.map +1 -1
  212. package/dist/presentation/cli/commands/smart-command.js +1 -1
  213. package/dist/presentation/cli/commands/smart-command.js.map +1 -1
  214. package/dist/presentation/cli/commands/status-command.d.ts +3 -0
  215. package/dist/presentation/cli/commands/status-command.d.ts.map +1 -1
  216. package/dist/presentation/cli/commands/status-command.js +147 -156
  217. package/dist/presentation/cli/commands/status-command.js.map +1 -1
  218. package/dist/presentation/cli/commands/suggest-command.d.ts +3 -5
  219. package/dist/presentation/cli/commands/suggest-command.d.ts.map +1 -1
  220. package/dist/presentation/cli/commands/suggest-command.js +132 -19
  221. package/dist/presentation/cli/commands/suggest-command.js.map +1 -1
  222. package/dist/search.d.ts.map +1 -1
  223. package/dist/search.js +6 -1
  224. package/dist/search.js.map +1 -1
  225. package/dist/session.js +1 -1
  226. package/dist/session.js.map +1 -1
  227. package/dist/ui.d.ts +6 -0
  228. package/dist/ui.d.ts.map +1 -1
  229. package/dist/ui.js +35 -1
  230. package/dist/ui.js.map +1 -1
  231. package/package.json +8 -3
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-context.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/context/conversation-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,0BAA0B;IACrC,OAAO,CAAC,aAAa,CAA+C;IACpE,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,qBAAqB,CAAM;IAEnC;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB;IAYlD;;;OAGG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IA2CvG;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,gBAAgB,EAAE;IAKvE;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAyD3D;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IA2BxC;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM;IAelE;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAGtC;AAGD,eAAO,MAAM,0BAA0B,4BAAmC,CAAC"}
1
+ {"version":3,"file":"conversation-context.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/context/conversation-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,cAAM,0BAA0B;IAC9B,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAM;IAE3C;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,gBAAgB,EAAE;IAerE;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAkC3D;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE;IAqBnD;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,GAAG,EAAO,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI;IA8BrG;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAIzD;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;CAOhC;AAED,eAAO,MAAM,0BAA0B,4BAAmC,CAAC"}
@@ -1,170 +1,128 @@
1
1
  /**
2
2
  * Conversation Context Manager
3
- * Maintains conversation history and enables reference resolution
3
+ * Manages conversation history and context for session-aware interactions
4
+ *
5
+ * Phase 1: v0.5.0-alpha.0
4
6
  */
5
- export class ConversationContextManager {
6
- conversations = new Map();
7
- maxHistoryLength = 10; // Keep last 10 turns
8
- maxTotalHistoryLength = 50; // Hard limit to prevent memory issues
9
- /**
10
- * Get or create conversation context for a session
11
- */
12
- getContext(sessionId) {
13
- if (!this.conversations.has(sessionId)) {
14
- this.conversations.set(sessionId, {
15
- sessionId,
16
- turns: [],
17
- createdAt: Date.now(),
18
- lastUpdated: Date.now(),
19
- });
20
- }
21
- return this.conversations.get(sessionId);
22
- }
7
+ /**
8
+ * In-memory conversation context manager
9
+ * Stores conversation history per session for reference resolution
10
+ */
11
+ class ConversationContextManager {
12
+ sessions = new Map();
13
+ maxHistoryPerSession = 50;
23
14
  /**
24
- * Add a turn to conversation history
25
- * EDGE CASE: Handles very long histories, concurrent sessions, and memory limits
15
+ * Get conversation history for a session
26
16
  */
27
- addTurn(sessionId, query, response, entities, intent) {
28
- const context = this.getContext(sessionId);
29
- // EDGE CASE: Prevent memory issues with very long histories
30
- if (context.turns.length >= this.maxTotalHistoryLength) {
31
- // Keep only the most recent turns (remove oldest 25%)
32
- const removeCount = Math.floor(this.maxTotalHistoryLength * 0.25);
33
- context.turns = context.turns.slice(removeCount);
17
+ getHistory(sessionId, limit = 10) {
18
+ const session = this.sessions.get(sessionId);
19
+ if (!session) {
20
+ return [];
34
21
  }
35
- // EDGE CASE: Truncate very long responses to prevent memory bloat
36
- const maxResponseLength = 5000; // 5KB per response
37
- const truncatedResponse = response.length > maxResponseLength
38
- ? response.substring(0, maxResponseLength) + '... [truncated]'
39
- : response;
40
- const turn = {
41
- query: query.substring(0, 500), // Limit query length too
42
- response: truncatedResponse,
43
- timestamp: Date.now(),
44
- entities: entities?.slice(0, 10), // Limit entities to prevent bloat
45
- intent,
46
- };
47
- context.turns.push(turn);
48
- // Keep only last N turns for active context
49
- if (context.turns.length > this.maxHistoryLength) {
50
- context.turns.shift();
51
- }
52
- // Update current focus based on entities
53
- if (entities && entities.length > 0) {
54
- context.currentFocus = {
55
- entity: entities[0],
56
- filepath: entities.find(e => e.includes('/') || e.endsWith('.ts') || e.endsWith('.js')) || entities[0],
57
- topic: query.split(' ').slice(0, 5).join(' '), // First 5 words as topic
58
- };
59
- }
60
- context.lastUpdated = Date.now();
61
- }
62
- /**
63
- * Get conversation history for context
64
- */
65
- getHistory(sessionId, maxTurns = 5) {
66
- const context = this.getContext(sessionId);
67
- return context.turns.slice(-maxTurns);
22
+ // Return most recent turns, up to limit
23
+ const turns = session.turns.slice(-limit);
24
+ return turns.map(turn => ({
25
+ query: turn.query,
26
+ response: turn.response,
27
+ timestamp: turn.timestamp,
28
+ }));
68
29
  }
69
30
  /**
70
31
  * Resolve references in query (e.g., "it", "that", "the previous")
71
32
  */
72
33
  resolveReferences(sessionId, query) {
73
- const context = this.getContext(sessionId);
74
- const lastTurn = context.turns[context.turns.length - 1];
75
- if (!lastTurn) {
76
- return query; // No history to reference
77
- }
78
- let resolvedQuery = query;
79
- const queryLower = query.toLowerCase();
80
- // Resolve "it" references
81
- if (queryLower.includes(' it ') || queryLower.startsWith('it ') || queryLower.endsWith(' it')) {
82
- if (context.currentFocus?.entity) {
83
- resolvedQuery = resolvedQuery.replace(/\bit\b/gi, context.currentFocus.entity);
84
- }
85
- else if (lastTurn.entities && lastTurn.entities.length > 0) {
86
- resolvedQuery = resolvedQuery.replace(/\bit\b/gi, lastTurn.entities[0]);
87
- }
88
- else {
89
- // Use last query's main subject
90
- const lastQueryWords = lastTurn.query.split(' ');
91
- const mainSubject = lastQueryWords.find(word => word.length > 3 && !['what', 'how', 'where', 'when', 'why', 'does', 'the', 'a', 'an'].includes(word.toLowerCase())) || lastQueryWords[lastQueryWords.length - 1];
92
- resolvedQuery = resolvedQuery.replace(/\bit\b/gi, mainSubject);
93
- }
34
+ const history = this.getHistory(sessionId, 3);
35
+ if (history.length === 0) {
36
+ return query;
94
37
  }
95
- // Resolve "that" references
96
- if (queryLower.includes(' that ') || queryLower.startsWith('that ') || queryLower.endsWith(' that')) {
97
- if (context.currentFocus?.entity) {
98
- resolvedQuery = resolvedQuery.replace(/\bthat\b/gi, context.currentFocus.entity);
99
- }
100
- else if (lastTurn.entities && lastTurn.entities.length > 0) {
101
- resolvedQuery = resolvedQuery.replace(/\bthat\b/gi, lastTurn.entities[0]);
38
+ // Simple reference resolution - replace common references
39
+ let resolved = query;
40
+ const lastTurn = history[history.length - 1];
41
+ // Replace "it" with last mentioned entity/context
42
+ if (/\bit\b/i.test(query) && lastTurn.response) {
43
+ // Extract key entities from last response (simple heuristic)
44
+ const lastResponse = lastTurn.response;
45
+ const words = lastResponse.split(/\s+/).filter(w => w.length > 3);
46
+ if (words.length > 0) {
47
+ // Try to replace "it" with last significant noun phrase
48
+ resolved = resolved.replace(/\bit\b/gi, words[words.length - 1]);
102
49
  }
103
50
  }
104
- // Resolve "the previous" references
105
- if (queryLower.includes('previous') || queryLower.includes('last')) {
106
- if (lastTurn.query) {
107
- resolvedQuery = resolvedQuery.replace(/\b(previous|last)\s+(one|query|question|command)?\b/gi, lastTurn.query);
108
- }
51
+ // Replace "that" with last query
52
+ if (/\bthat\b/i.test(query)) {
53
+ resolved = resolved.replace(/\bthat\b/gi, `"${lastTurn.query}"`);
109
54
  }
110
- // Resolve "too" / "also" - append to previous action
111
- if (queryLower.includes(' too') || queryLower.includes(' also')) {
112
- if (lastTurn.query) {
113
- resolvedQuery = query.replace(/\s+(too|also)\b/i, '');
114
- // If previous was an edit, append to same file
115
- if (lastTurn.intent === 'edit' && context.currentFocus?.filepath) {
116
- resolvedQuery = `Add to ${context.currentFocus.filepath}: ${resolvedQuery}`;
117
- }
118
- }
55
+ // Replace "the previous" with last query
56
+ if (/\bthe previous\b/i.test(query)) {
57
+ resolved = resolved.replace(/\bthe previous\b/gi, `"${lastTurn.query}"`);
119
58
  }
120
- return resolvedQuery.trim();
59
+ return resolved;
121
60
  }
122
61
  /**
123
- * Extract entities from query (file names, functions, classes)
62
+ * Extract entities from text (simple heuristic-based extraction)
124
63
  */
125
- extractEntities(query) {
64
+ extractEntities(text, options) {
65
+ // Simple entity extraction - can be enhanced later
126
66
  const entities = [];
127
67
  // Extract file paths
128
- const filePathPattern = /[\w\-./]+\.(ts|js|tsx|jsx|py|java|go|rs|rb|php|cs)/g;
129
- const filePaths = query.match(filePathPattern);
130
- if (filePaths) {
131
- entities.push(...filePaths);
68
+ const filePathRegex = /[\w\/\-\.]+\.(ts|js|tsx|jsx|json|md|yaml|yml|txt|py|go|rs|java|cpp|h|hpp)/g;
69
+ const filePaths = text.match(filePathRegex) || [];
70
+ filePaths.forEach(path => {
71
+ entities.push({ type: 'file', value: path });
72
+ });
73
+ // Extract function/class names (simple heuristic)
74
+ const functionRegex = /(?:function|class|const|let|var)\s+([A-Z][a-zA-Z0-9_]+|[a-z][a-zA-Z0-9_]+)/g;
75
+ const matches = text.matchAll(functionRegex);
76
+ for (const match of matches) {
77
+ entities.push({ type: 'symbol', value: match[1] });
132
78
  }
133
- // Extract function/class names (capitalized words or camelCase)
134
- const identifierPattern = /[A-Z][a-zA-Z0-9]+/g;
135
- const identifiers = query.match(identifierPattern);
136
- if (identifiers) {
137
- entities.push(...identifiers.filter(id => id.length > 2));
79
+ return entities;
80
+ }
81
+ /**
82
+ * Add a conversation turn
83
+ */
84
+ addTurn(sessionId, query, response, entities = [], intent) {
85
+ let session = this.sessions.get(sessionId);
86
+ if (!session) {
87
+ session = {
88
+ sessionId,
89
+ turns: [],
90
+ createdAt: Date.now(),
91
+ lastUpdated: Date.now(),
92
+ };
93
+ this.sessions.set(sessionId, session);
138
94
  }
139
- // Extract quoted strings (often entity names)
140
- const quotedPattern = /"([^"]+)"/g;
141
- const quoted = query.match(quotedPattern);
142
- if (quoted) {
143
- entities.push(...quoted.map(q => q.replace(/"/g, '')));
95
+ const turn = {
96
+ query,
97
+ response,
98
+ timestamp: new Date().toISOString(),
99
+ entities,
100
+ intent,
101
+ };
102
+ session.turns.push(turn);
103
+ session.lastUpdated = Date.now();
104
+ // Trim history if too long
105
+ if (session.turns.length > this.maxHistoryPerSession) {
106
+ session.turns = session.turns.slice(-this.maxHistoryPerSession);
144
107
  }
145
- return [...new Set(entities)]; // Remove duplicates
146
108
  }
147
109
  /**
148
- * Get conversation context summary for AI prompts
110
+ * Get full context for a session
149
111
  */
150
- getContextSummary(sessionId, maxTurns = 3) {
151
- const history = this.getHistory(sessionId, maxTurns);
152
- if (history.length === 0) {
153
- return '';
154
- }
155
- const summary = history.map((turn, idx) => {
156
- const turnNum = history.length - maxTurns + idx + 1;
157
- return `[Previous ${turnNum}]: User asked "${turn.query}". Response: ${turn.response.substring(0, 100)}...`;
158
- }).join('\n');
159
- return `\n\nCONVERSATION HISTORY:\n${summary}\n`;
112
+ getContext(sessionId) {
113
+ return this.sessions.get(sessionId) || null;
160
114
  }
161
115
  /**
162
- * Clear conversation context (for new session)
116
+ * Clear conversation history for a session
163
117
  */
164
- clearContext(sessionId) {
165
- this.conversations.delete(sessionId);
118
+ clear(sessionId) {
119
+ if (sessionId) {
120
+ this.sessions.delete(sessionId);
121
+ }
122
+ else {
123
+ this.sessions.clear();
124
+ }
166
125
  }
167
126
  }
168
- // Singleton instance
169
127
  export const conversationContextManager = new ConversationContextManager();
170
128
  //# sourceMappingURL=conversation-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-context.js","sourceRoot":"","sources":["../../../src/infrastructure/context/conversation-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-context.js","sourceRoot":"","sources":["../../../src/infrastructure/context/conversation-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH;;;GAGG;AACH,MAAM,0BAA0B;IACtB,QAAQ,GAAqC,IAAI,GAAG,EAAE,CAAC;IAC9C,oBAAoB,GAAG,EAAE,CAAC;IAE3C;;OAEG;IACH,UAAU,CAAC,SAAiB,EAAE,QAAgB,EAAE;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,wCAAwC;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,SAAiB,EAAE,KAAa;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,0DAA0D;QAC1D,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE7C,kDAAkD;QAClD,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC/C,6DAA6D;YAC7D,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACvC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,wDAAwD;gBACxD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;QACnE,CAAC;QAED,yCAAyC;QACzC,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,IAAY,EAAE,OAAa;QACzC,mDAAmD;QACnD,MAAM,QAAQ,GAAU,EAAE,CAAC;QAE3B,qBAAqB;QACrB,MAAM,aAAa,GAAG,4EAA4E,CAAC;QACnG,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAClD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,kDAAkD;QAClD,MAAM,aAAa,GAAG,6EAA6E,CAAC;QACpG,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,SAAiB,EAAE,KAAa,EAAE,QAAgB,EAAE,WAAkB,EAAE,EAAE,MAAY;QAC5F,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG;gBACR,SAAS;gBACT,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;aACxB,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,IAAI,GAAqB;YAC7B,KAAK;YACL,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ;YACR,MAAM;SACP,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEjC,2BAA2B;QAC3B,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACrD,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAkB;QACtB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,0BAA0B,EAAE,CAAC"}
@@ -1,26 +1,42 @@
1
1
  /**
2
2
  * Session Manager
3
- * Manages persistent session IDs for conversation context across CLI commands
3
+ * Manages CLI sessions for context tracking
4
+ *
5
+ * Phase 1: v0.5.0-alpha.0
4
6
  */
5
- export declare class SessionManager {
7
+ interface Session {
8
+ sessionId: string;
9
+ cwd: string;
10
+ startedAt: number;
11
+ lastActivity: number;
12
+ }
13
+ /**
14
+ * Session manager for tracking CLI sessions
15
+ */
16
+ declare class SessionManager {
6
17
  private sessions;
7
- constructor();
18
+ private readonly sessionTimeout;
19
+ /**
20
+ * Get or create session ID for a working directory
21
+ */
22
+ getSessionId(cwd: string): string;
8
23
  /**
9
- * Get or create session ID for a codebase directory
24
+ * Get current session for a working directory
10
25
  */
11
- getSessionId(codebasePath: string): string;
26
+ getCurrentSession(cwd: string): Session | null;
12
27
  /**
13
- * Load sessions from disk
28
+ * Create a new session explicitly
14
29
  */
15
- private loadSessions;
30
+ createSession(cwd: string): Session;
16
31
  /**
17
- * Save sessions to disk
32
+ * End a session
18
33
  */
19
- private saveSessions;
34
+ endSession(cwd: string): void;
20
35
  /**
21
- * Clear session for a codebase
36
+ * Clean up expired sessions
22
37
  */
23
- clearSession(codebasePath: string): void;
38
+ cleanup(): void;
24
39
  }
25
40
  export declare const sessionManager: SessionManager;
41
+ export {};
26
42
  //# sourceMappingURL=session-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/context/session-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAuC;;IAMvD;;OAEG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IA0B1C;;OAEG;IACH,OAAO,CAAC,YAAY;IA4BpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmBpB;;OAEG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;CAKzC;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/context/session-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,UAAU,OAAO;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,cAAM,cAAc;IAClB,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IAEtD;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IA8BjC;;OAEG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAK9C;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAenC;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK7B;;OAEG;IACH,OAAO,IAAI,IAAI;CAShB;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -1,98 +1,94 @@
1
1
  /**
2
2
  * Session Manager
3
- * Manages persistent session IDs for conversation context across CLI commands
3
+ * Manages CLI sessions for context tracking
4
+ *
5
+ * Phase 1: v0.5.0-alpha.0
4
6
  */
5
- import * as fs from 'fs';
6
- import * as path from 'path';
7
- import { homedir } from 'os';
8
- const SESSION_DIR = path.join(homedir(), '.codehere');
9
- const SESSION_FILE = path.join(SESSION_DIR, 'sessions.json');
10
- export class SessionManager {
7
+ /**
8
+ * Session manager for tracking CLI sessions
9
+ */
10
+ class SessionManager {
11
11
  sessions = new Map();
12
- constructor() {
13
- this.loadSessions();
14
- }
12
+ sessionTimeout = 24 * 60 * 60 * 1000; // 24 hours
15
13
  /**
16
- * Get or create session ID for a codebase directory
14
+ * Get or create session ID for a working directory
17
15
  */
18
- getSessionId(codebasePath) {
19
- // Normalize path
20
- const normalizedPath = path.resolve(codebasePath);
21
- // Check if we already have a session for this codebase
22
- if (this.sessions.has(normalizedPath)) {
23
- const session = this.sessions.get(normalizedPath);
24
- session.lastUsed = Date.now();
25
- this.saveSessions();
26
- return session.sessionId;
16
+ getSessionId(cwd) {
17
+ // Normalize cwd path
18
+ const normalizedCwd = cwd || process.cwd();
19
+ // Check if session exists and is still valid
20
+ const existingSession = this.sessions.get(normalizedCwd);
21
+ if (existingSession) {
22
+ const age = Date.now() - existingSession.lastActivity;
23
+ if (age < this.sessionTimeout) {
24
+ existingSession.lastActivity = Date.now();
25
+ return existingSession.sessionId;
26
+ }
27
+ else {
28
+ // Session expired, remove it
29
+ this.sessions.delete(normalizedCwd);
30
+ }
27
31
  }
28
32
  // Create new session
29
- const sessionId = `session-${normalizedPath}-${Date.now()}`;
33
+ const sessionId = `session-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
30
34
  const session = {
31
35
  sessionId,
32
- codebasePath: normalizedPath,
33
- createdAt: Date.now(),
34
- lastUsed: Date.now(),
36
+ cwd: normalizedCwd,
37
+ startedAt: Date.now(),
38
+ lastActivity: Date.now(),
35
39
  };
36
- this.sessions.set(normalizedPath, session);
37
- this.saveSessions();
40
+ this.sessions.set(normalizedCwd, session);
38
41
  return sessionId;
39
42
  }
40
43
  /**
41
- * Load sessions from disk
44
+ * Get current session for a working directory
42
45
  */
43
- loadSessions() {
44
- try {
45
- if (!fs.existsSync(SESSION_FILE)) {
46
- return;
47
- }
48
- const data = fs.readFileSync(SESSION_FILE, 'utf-8');
49
- const sessions = JSON.parse(data);
50
- // Clean up old sessions (older than 7 days)
51
- const sevenDaysAgo = Date.now() - (7 * 24 * 60 * 60 * 1000);
52
- for (const [key, session] of Object.entries(sessions)) {
53
- if (session.lastUsed > sevenDaysAgo) {
54
- this.sessions.set(key, session);
55
- }
56
- }
57
- // Save cleaned sessions
58
- if (this.sessions.size !== Object.keys(sessions).length) {
59
- this.saveSessions();
60
- }
61
- }
62
- catch (error) {
63
- // If file is corrupted or doesn't exist, start fresh
64
- this.sessions.clear();
65
- }
46
+ getCurrentSession(cwd) {
47
+ const normalizedCwd = cwd || process.cwd();
48
+ return this.sessions.get(normalizedCwd) || null;
66
49
  }
67
50
  /**
68
- * Save sessions to disk
51
+ * Create a new session explicitly
69
52
  */
70
- saveSessions() {
71
- try {
72
- // Ensure directory exists
73
- if (!fs.existsSync(SESSION_DIR)) {
74
- fs.mkdirSync(SESSION_DIR, { recursive: true });
75
- }
76
- const sessionsObj = {};
77
- for (const [key, session] of this.sessions.entries()) {
78
- sessionsObj[key] = session;
79
- }
80
- fs.writeFileSync(SESSION_FILE, JSON.stringify(sessionsObj, null, 2), 'utf-8');
81
- }
82
- catch (error) {
83
- // Fail silently - session persistence is not critical
84
- console.warn('[SessionManager] Failed to save sessions:', error);
85
- }
53
+ createSession(cwd) {
54
+ const normalizedCwd = cwd || process.cwd();
55
+ const sessionId = `session-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
56
+ const session = {
57
+ sessionId,
58
+ cwd: normalizedCwd,
59
+ startedAt: Date.now(),
60
+ lastActivity: Date.now(),
61
+ };
62
+ this.sessions.set(normalizedCwd, session);
63
+ return session;
86
64
  }
87
65
  /**
88
- * Clear session for a codebase
66
+ * End a session
89
67
  */
90
- clearSession(codebasePath) {
91
- const normalizedPath = path.resolve(codebasePath);
92
- this.sessions.delete(normalizedPath);
93
- this.saveSessions();
68
+ endSession(cwd) {
69
+ const normalizedCwd = cwd || process.cwd();
70
+ this.sessions.delete(normalizedCwd);
71
+ }
72
+ /**
73
+ * Clean up expired sessions
74
+ */
75
+ cleanup() {
76
+ const now = Date.now();
77
+ for (const [cwd, session] of this.sessions.entries()) {
78
+ const age = now - session.lastActivity;
79
+ if (age >= this.sessionTimeout) {
80
+ this.sessions.delete(cwd);
81
+ }
82
+ }
94
83
  }
95
84
  }
96
- // Singleton instance
97
85
  export const sessionManager = new SessionManager();
86
+ // Cleanup expired sessions periodically
87
+ // Use .unref() to allow process to exit even with timer active
88
+ if (typeof setInterval !== 'undefined') {
89
+ const cleanupInterval = setInterval(() => {
90
+ sessionManager.cleanup();
91
+ }, 60 * 60 * 1000); // Every hour
92
+ cleanupInterval.unref();
93
+ }
98
94
  //# sourceMappingURL=session-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../../src/infrastructure/context/session-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AACtD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAS7D,MAAM,OAAO,cAAc;IACjB,QAAQ,GAA6B,IAAI,GAAG,EAAE,CAAC;IAEvD;QACE,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,YAAoB;QAC/B,iBAAiB;QACjB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAElD,uDAAuD;QACvD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;YACnD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,OAAO,CAAC,SAAS,CAAC;QAC3B,CAAC;QAED,qBAAqB;QACrB,MAAM,SAAS,GAAG,WAAW,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAgB;YAC3B,SAAS;YACT,YAAY,EAAE,cAAc;YAC5B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgC,CAAC;YAEjE,4CAA4C;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAE5D,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtD,IAAI,OAAO,CAAC,QAAQ,GAAG,YAAY,EAAE,CAAC;oBACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;gBACxD,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qDAAqD;YACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,IAAI,CAAC;YACH,0BAA0B;YAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChC,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,WAAW,GAAgC,EAAE,CAAC;YACpD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrD,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YAC7B,CAAC;YAED,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sDAAsD;YACtD,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,YAAoB;QAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;CACF;AAED,qBAAqB;AACrB,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../../src/infrastructure/context/session-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cohere-provider.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/providers/cohere-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EAEf,MAAM,+BAA+B,CAAC;AAmCvC;;;GAGG;AACH,qBAAa,cAAe,YAAW,cAAc;IACnD,QAAQ,CAAC,EAAE,YAAY;IACvB,QAAQ,CAAC,IAAI,YAAY;IAEzB,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAOzC;IAEF,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,CAAC,EAAE,MAAM;IAQrB,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAoDvC,eAAe,IAAI,MAAM;IAInB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAoClE,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GACrC,OAAO,CAAC,YAAY,CAAC;IAwElB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;IA6B9D,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmC5C,MAAM,CACV,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,cAAc,CAAC;IA2CpB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM3D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAUrC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAwCpF"}
1
+ {"version":3,"file":"cohere-provider.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/providers/cohere-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EAEf,MAAM,+BAA+B,CAAC;AAmCvC;;;GAGG;AACH,qBAAa,cAAe,YAAW,cAAc;IACnD,QAAQ,CAAC,EAAE,YAAY;IACvB,QAAQ,CAAC,IAAI,YAAY;IAEzB,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAOzC;IAEF,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,CAAC,EAAE,MAAM;IAQrB,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAiGvC,eAAe,IAAI,MAAM;IAUnB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAoClE,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GACrC,OAAO,CAAC,YAAY,CAAC;IAwElB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;IA6B9D,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmC5C,MAAM,CACV,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,cAAc,CAAC;IA2CpB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM3D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAoBrC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAmEpF"}