codehere 0.1.0 → 0.2.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 (603) hide show
  1. package/README.md +51 -25
  2. package/dist/agents/base.d.ts +107 -0
  3. package/dist/agents/base.d.ts.map +1 -0
  4. package/dist/agents/base.js +101 -0
  5. package/dist/agents/base.js.map +1 -0
  6. package/dist/agents/orchestrator-model-driven.d.ts +41 -0
  7. package/dist/agents/orchestrator-model-driven.d.ts.map +1 -0
  8. package/dist/agents/orchestrator-model-driven.js +141 -0
  9. package/dist/agents/orchestrator-model-driven.js.map +1 -0
  10. package/dist/agents/react-orchestrator-agent.d.ts +15 -0
  11. package/dist/agents/react-orchestrator-agent.d.ts.map +1 -0
  12. package/dist/agents/react-orchestrator-agent.js +54 -0
  13. package/dist/agents/react-orchestrator-agent.js.map +1 -0
  14. package/dist/application/agents/execution-agent.d.ts +68 -0
  15. package/dist/application/agents/execution-agent.d.ts.map +1 -0
  16. package/dist/application/agents/execution-agent.js +299 -0
  17. package/dist/application/agents/execution-agent.js.map +1 -0
  18. package/dist/application/agents/multi-agent-orchestrator.d.ts +64 -0
  19. package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -0
  20. package/dist/application/agents/multi-agent-orchestrator.js +209 -0
  21. package/dist/application/agents/multi-agent-orchestrator.js.map +1 -0
  22. package/dist/application/agents/planning-agent.d.ts +61 -0
  23. package/dist/application/agents/planning-agent.d.ts.map +1 -0
  24. package/dist/application/agents/planning-agent.js +357 -0
  25. package/dist/application/agents/planning-agent.js.map +1 -0
  26. package/dist/application/agents/validation-agent.d.ts +64 -0
  27. package/dist/application/agents/validation-agent.d.ts.map +1 -0
  28. package/dist/application/agents/validation-agent.js +182 -0
  29. package/dist/application/agents/validation-agent.js.map +1 -0
  30. package/dist/application/architectures/plan-and-act.d.ts +94 -0
  31. package/dist/application/architectures/plan-and-act.d.ts.map +1 -0
  32. package/dist/application/architectures/plan-and-act.js +242 -0
  33. package/dist/application/architectures/plan-and-act.js.map +1 -0
  34. package/dist/application/index.d.ts +12 -0
  35. package/dist/application/index.d.ts.map +1 -0
  36. package/dist/application/index.js +12 -0
  37. package/dist/application/index.js.map +1 -0
  38. package/dist/application/services/agent-factory.d.ts +9 -0
  39. package/dist/application/services/agent-factory.d.ts.map +1 -0
  40. package/dist/application/services/agent-factory.js +28 -0
  41. package/dist/application/services/agent-factory.js.map +1 -0
  42. package/dist/application/services/dependency-container.d.ts +140 -0
  43. package/dist/application/services/dependency-container.d.ts.map +1 -0
  44. package/dist/application/services/dependency-container.js +402 -0
  45. package/dist/application/services/dependency-container.js.map +1 -0
  46. package/dist/application/services/git-context-service.d.ts +30 -0
  47. package/dist/application/services/git-context-service.d.ts.map +1 -0
  48. package/dist/application/services/git-context-service.js +83 -0
  49. package/dist/application/services/git-context-service.js.map +1 -0
  50. package/dist/application/services/intelligent-router.d.ts +74 -0
  51. package/dist/application/services/intelligent-router.d.ts.map +1 -0
  52. package/dist/application/services/intelligent-router.js +711 -0
  53. package/dist/application/services/intelligent-router.js.map +1 -0
  54. package/dist/application/services/tool-executor-service.d.ts +14 -0
  55. package/dist/application/services/tool-executor-service.d.ts.map +1 -0
  56. package/dist/application/services/tool-executor-service.js +94 -0
  57. package/dist/application/services/tool-executor-service.js.map +1 -0
  58. package/dist/application/use-cases/ask-question-use-case.d.ts +36 -0
  59. package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -0
  60. package/dist/application/use-cases/ask-question-use-case.js +150 -0
  61. package/dist/application/use-cases/ask-question-use-case.js.map +1 -0
  62. package/dist/application/use-cases/edit-file-use-case.d.ts +76 -0
  63. package/dist/application/use-cases/edit-file-use-case.d.ts.map +1 -0
  64. package/dist/application/use-cases/edit-file-use-case.js +685 -0
  65. package/dist/application/use-cases/edit-file-use-case.js.map +1 -0
  66. package/dist/application/use-cases/explain-file-use-case.d.ts +21 -0
  67. package/dist/application/use-cases/explain-file-use-case.d.ts.map +1 -0
  68. package/dist/application/use-cases/explain-file-use-case.js +50 -0
  69. package/dist/application/use-cases/explain-file-use-case.js.map +1 -0
  70. package/dist/application/use-cases/index-codebase-use-case.d.ts +46 -0
  71. package/dist/application/use-cases/index-codebase-use-case.d.ts.map +1 -0
  72. package/dist/application/use-cases/index-codebase-use-case.js +113 -0
  73. package/dist/application/use-cases/index-codebase-use-case.js.map +1 -0
  74. package/dist/application/use-cases/planning-use-case.d.ts +46 -0
  75. package/dist/application/use-cases/planning-use-case.d.ts.map +1 -0
  76. package/dist/application/use-cases/planning-use-case.js +267 -0
  77. package/dist/application/use-cases/planning-use-case.js.map +1 -0
  78. package/dist/application/use-cases/react-orchestration-use-case.d.ts +51 -0
  79. package/dist/application/use-cases/react-orchestration-use-case.d.ts.map +1 -0
  80. package/dist/application/use-cases/react-orchestration-use-case.js +325 -0
  81. package/dist/application/use-cases/react-orchestration-use-case.js.map +1 -0
  82. package/dist/application/use-cases/reflexion-use-case.d.ts +24 -0
  83. package/dist/application/use-cases/reflexion-use-case.d.ts.map +1 -0
  84. package/dist/application/use-cases/reflexion-use-case.js +30 -0
  85. package/dist/application/use-cases/reflexion-use-case.js.map +1 -0
  86. package/dist/application/workflows/deterministic-workflows.d.ts +61 -0
  87. package/dist/application/workflows/deterministic-workflows.d.ts.map +1 -0
  88. package/dist/application/workflows/deterministic-workflows.js +189 -0
  89. package/dist/application/workflows/deterministic-workflows.js.map +1 -0
  90. package/dist/cache.d.ts.map +1 -1
  91. package/dist/cache.js +1 -3
  92. package/dist/cache.js.map +1 -1
  93. package/dist/chat.js +10 -10
  94. package/dist/chat.js.map +1 -1
  95. package/dist/docs.d.ts.map +1 -1
  96. package/dist/docs.js +1 -2
  97. package/dist/docs.js.map +1 -1
  98. package/dist/domain/entities/code-chunk.d.ts +26 -0
  99. package/dist/domain/entities/code-chunk.d.ts.map +1 -0
  100. package/dist/domain/entities/code-chunk.js +6 -0
  101. package/dist/domain/entities/code-chunk.js.map +1 -0
  102. package/dist/domain/entities/decision.d.ts +37 -0
  103. package/dist/domain/entities/decision.d.ts.map +1 -0
  104. package/dist/domain/entities/decision.js +9 -0
  105. package/dist/domain/entities/decision.js.map +1 -0
  106. package/dist/domain/entities/edit.d.ts +35 -0
  107. package/dist/domain/entities/edit.d.ts.map +1 -0
  108. package/dist/domain/entities/edit.js +6 -0
  109. package/dist/domain/entities/edit.js.map +1 -0
  110. package/dist/domain/entities/knowledge-node.d.ts +83 -0
  111. package/dist/domain/entities/knowledge-node.d.ts.map +1 -0
  112. package/dist/domain/entities/knowledge-node.js +9 -0
  113. package/dist/domain/entities/knowledge-node.js.map +1 -0
  114. package/dist/domain/entities/knowledge-preservation.d.ts +42 -0
  115. package/dist/domain/entities/knowledge-preservation.d.ts.map +1 -0
  116. package/dist/domain/entities/knowledge-preservation.js +10 -0
  117. package/dist/domain/entities/knowledge-preservation.js.map +1 -0
  118. package/dist/domain/entities/memory.d.ts +36 -0
  119. package/dist/domain/entities/memory.d.ts.map +1 -0
  120. package/dist/domain/entities/memory.js +6 -0
  121. package/dist/domain/entities/memory.js.map +1 -0
  122. package/dist/domain/entities/pattern.d.ts +49 -0
  123. package/dist/domain/entities/pattern.d.ts.map +1 -0
  124. package/dist/domain/entities/pattern.js +7 -0
  125. package/dist/domain/entities/pattern.js.map +1 -0
  126. package/dist/domain/entities/plan.d.ts +42 -0
  127. package/dist/domain/entities/plan.d.ts.map +1 -0
  128. package/dist/domain/entities/plan.js +6 -0
  129. package/dist/domain/entities/plan.js.map +1 -0
  130. package/dist/domain/entities/query.d.ts +17 -0
  131. package/dist/domain/entities/query.d.ts.map +1 -0
  132. package/dist/domain/entities/query.js +6 -0
  133. package/dist/domain/entities/query.js.map +1 -0
  134. package/dist/domain/index.d.ts +16 -0
  135. package/dist/domain/index.d.ts.map +1 -0
  136. package/dist/domain/index.js +19 -0
  137. package/dist/domain/index.js.map +1 -0
  138. package/dist/domain/interfaces/ai-service.interface.d.ts +62 -0
  139. package/dist/domain/interfaces/ai-service.interface.d.ts.map +1 -0
  140. package/dist/domain/interfaces/ai-service.interface.js +6 -0
  141. package/dist/domain/interfaces/ai-service.interface.js.map +1 -0
  142. package/dist/domain/interfaces/code-analyzer.interface.d.ts +38 -0
  143. package/dist/domain/interfaces/code-analyzer.interface.d.ts.map +1 -0
  144. package/dist/domain/interfaces/code-analyzer.interface.js +6 -0
  145. package/dist/domain/interfaces/code-analyzer.interface.js.map +1 -0
  146. package/dist/domain/interfaces/decision-repository.interface.d.ts +51 -0
  147. package/dist/domain/interfaces/decision-repository.interface.d.ts.map +1 -0
  148. package/dist/domain/interfaces/decision-repository.interface.js +9 -0
  149. package/dist/domain/interfaces/decision-repository.interface.js.map +1 -0
  150. package/dist/domain/interfaces/embedding-repository.interface.d.ts +28 -0
  151. package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +1 -0
  152. package/dist/domain/interfaces/embedding-repository.interface.js +6 -0
  153. package/dist/domain/interfaces/embedding-repository.interface.js.map +1 -0
  154. package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts +91 -0
  155. package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts.map +1 -0
  156. package/dist/domain/interfaces/knowledge-graph-repository.interface.js +9 -0
  157. package/dist/domain/interfaces/knowledge-graph-repository.interface.js.map +1 -0
  158. package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts +50 -0
  159. package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts.map +1 -0
  160. package/dist/domain/interfaces/knowledge-preservation-repository.interface.js +8 -0
  161. package/dist/domain/interfaces/knowledge-preservation-repository.interface.js.map +1 -0
  162. package/dist/domain/interfaces/memory-repository.interface.d.ts +49 -0
  163. package/dist/domain/interfaces/memory-repository.interface.d.ts.map +1 -0
  164. package/dist/domain/interfaces/memory-repository.interface.js +6 -0
  165. package/dist/domain/interfaces/memory-repository.interface.js.map +1 -0
  166. package/dist/domain/interfaces/pattern-repository.interface.d.ts +48 -0
  167. package/dist/domain/interfaces/pattern-repository.interface.d.ts.map +1 -0
  168. package/dist/domain/interfaces/pattern-repository.interface.js +6 -0
  169. package/dist/domain/interfaces/pattern-repository.interface.js.map +1 -0
  170. package/dist/domain/interfaces/verification-service.interface.d.ts +20 -0
  171. package/dist/domain/interfaces/verification-service.interface.d.ts.map +1 -0
  172. package/dist/domain/interfaces/verification-service.interface.js +6 -0
  173. package/dist/domain/interfaces/verification-service.interface.js.map +1 -0
  174. package/dist/domain/services/codebase-detector.d.ts +18 -0
  175. package/dist/domain/services/codebase-detector.d.ts.map +1 -0
  176. package/dist/domain/services/codebase-detector.js +91 -0
  177. package/dist/domain/services/codebase-detector.js.map +1 -0
  178. package/dist/domain/services/cross-team-pattern-sharing.d.ts +65 -0
  179. package/dist/domain/services/cross-team-pattern-sharing.d.ts.map +1 -0
  180. package/dist/domain/services/cross-team-pattern-sharing.js +125 -0
  181. package/dist/domain/services/cross-team-pattern-sharing.js.map +1 -0
  182. package/dist/domain/services/decision-recorder.d.ts +76 -0
  183. package/dist/domain/services/decision-recorder.d.ts.map +1 -0
  184. package/dist/domain/services/decision-recorder.js +223 -0
  185. package/dist/domain/services/decision-recorder.js.map +1 -0
  186. package/dist/domain/services/decision-retriever.d.ts +75 -0
  187. package/dist/domain/services/decision-retriever.d.ts.map +1 -0
  188. package/dist/domain/services/decision-retriever.js +133 -0
  189. package/dist/domain/services/decision-retriever.js.map +1 -0
  190. package/dist/domain/services/graded-memory-activation.d.ts +37 -0
  191. package/dist/domain/services/graded-memory-activation.d.ts.map +1 -0
  192. package/dist/domain/services/graded-memory-activation.js +69 -0
  193. package/dist/domain/services/graded-memory-activation.js.map +1 -0
  194. package/dist/domain/services/knowledge-access.d.ts +63 -0
  195. package/dist/domain/services/knowledge-access.d.ts.map +1 -0
  196. package/dist/domain/services/knowledge-access.js +132 -0
  197. package/dist/domain/services/knowledge-access.js.map +1 -0
  198. package/dist/domain/services/knowledge-extractor.d.ts +54 -0
  199. package/dist/domain/services/knowledge-extractor.d.ts.map +1 -0
  200. package/dist/domain/services/knowledge-extractor.js +247 -0
  201. package/dist/domain/services/knowledge-extractor.js.map +1 -0
  202. package/dist/domain/services/knowledge-graph-builder.d.ts +70 -0
  203. package/dist/domain/services/knowledge-graph-builder.d.ts.map +1 -0
  204. package/dist/domain/services/knowledge-graph-builder.js +268 -0
  205. package/dist/domain/services/knowledge-graph-builder.js.map +1 -0
  206. package/dist/domain/services/knowledge-graph-query.d.ts +69 -0
  207. package/dist/domain/services/knowledge-graph-query.d.ts.map +1 -0
  208. package/dist/domain/services/knowledge-graph-query.js +187 -0
  209. package/dist/domain/services/knowledge-graph-query.js.map +1 -0
  210. package/dist/domain/services/memory-retriever.d.ts +30 -0
  211. package/dist/domain/services/memory-retriever.d.ts.map +1 -0
  212. package/dist/domain/services/memory-retriever.js +82 -0
  213. package/dist/domain/services/memory-retriever.js.map +1 -0
  214. package/dist/domain/services/memory-synthesizer.d.ts +57 -0
  215. package/dist/domain/services/memory-synthesizer.d.ts.map +1 -0
  216. package/dist/domain/services/memory-synthesizer.js +91 -0
  217. package/dist/domain/services/memory-synthesizer.js.map +1 -0
  218. package/dist/domain/services/pattern-extractor.d.ts +108 -0
  219. package/dist/domain/services/pattern-extractor.d.ts.map +1 -0
  220. package/dist/domain/services/pattern-extractor.js +442 -0
  221. package/dist/domain/services/pattern-extractor.js.map +1 -0
  222. package/dist/domain/services/query-intent-classifier.d.ts +16 -0
  223. package/dist/domain/services/query-intent-classifier.d.ts.map +1 -0
  224. package/dist/domain/services/query-intent-classifier.js +140 -0
  225. package/dist/domain/services/query-intent-classifier.js.map +1 -0
  226. package/dist/domain/services/react-loop.d.ts +44 -0
  227. package/dist/domain/services/react-loop.d.ts.map +1 -0
  228. package/dist/domain/services/react-loop.js +110 -0
  229. package/dist/domain/services/react-loop.js.map +1 -0
  230. package/dist/edit.d.ts +0 -12
  231. package/dist/edit.d.ts.map +1 -1
  232. package/dist/edit.js +76 -351
  233. package/dist/edit.js.map +1 -1
  234. package/dist/embed.d.ts +0 -4
  235. package/dist/embed.d.ts.map +1 -1
  236. package/dist/embed.js +100 -174
  237. package/dist/embed.js.map +1 -1
  238. package/dist/error-handler.d.ts +1 -0
  239. package/dist/error-handler.d.ts.map +1 -1
  240. package/dist/error-handler.js +46 -3
  241. package/dist/error-handler.js.map +1 -1
  242. package/dist/index.js +228 -231
  243. package/dist/index.js.map +1 -1
  244. package/dist/infrastructure/ai/cohere-ai-service.d.ts +54 -0
  245. package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +1 -0
  246. package/dist/infrastructure/ai/cohere-ai-service.js +547 -0
  247. package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -0
  248. package/dist/infrastructure/ai/command-r-evaluation.d.ts +42 -0
  249. package/dist/infrastructure/ai/command-r-evaluation.d.ts.map +1 -0
  250. package/dist/infrastructure/ai/command-r-evaluation.js +206 -0
  251. package/dist/infrastructure/ai/command-r-evaluation.js.map +1 -0
  252. package/dist/infrastructure/ai/model-config.d.ts +47 -0
  253. package/dist/infrastructure/ai/model-config.d.ts.map +1 -0
  254. package/dist/infrastructure/ai/model-config.js +84 -0
  255. package/dist/infrastructure/ai/model-config.js.map +1 -0
  256. package/dist/infrastructure/cache/embedding-cache.d.ts +46 -0
  257. package/dist/infrastructure/cache/embedding-cache.d.ts.map +1 -0
  258. package/dist/infrastructure/cache/embedding-cache.js +104 -0
  259. package/dist/infrastructure/cache/embedding-cache.js.map +1 -0
  260. package/dist/infrastructure/chunking/ast-code-chunker.d.ts +12 -0
  261. package/dist/infrastructure/chunking/ast-code-chunker.d.ts.map +1 -0
  262. package/dist/infrastructure/chunking/ast-code-chunker.js +19 -0
  263. package/dist/infrastructure/chunking/ast-code-chunker.js.map +1 -0
  264. package/dist/infrastructure/chunking/code-aware-chunker.d.ts +63 -0
  265. package/dist/infrastructure/chunking/code-aware-chunker.d.ts.map +1 -0
  266. package/dist/infrastructure/chunking/code-aware-chunker.js +397 -0
  267. package/dist/infrastructure/chunking/code-aware-chunker.js.map +1 -0
  268. package/dist/infrastructure/config/config-manager.d.ts +79 -0
  269. package/dist/infrastructure/config/config-manager.d.ts.map +1 -0
  270. package/dist/infrastructure/config/config-manager.js +162 -0
  271. package/dist/infrastructure/config/config-manager.js.map +1 -0
  272. package/dist/infrastructure/cost/cost-tracker.d.ts +90 -0
  273. package/dist/infrastructure/cost/cost-tracker.d.ts.map +1 -0
  274. package/dist/infrastructure/cost/cost-tracker.js +353 -0
  275. package/dist/infrastructure/cost/cost-tracker.js.map +1 -0
  276. package/dist/infrastructure/file-scanner/file-scanner.d.ts +31 -0
  277. package/dist/infrastructure/file-scanner/file-scanner.d.ts.map +1 -0
  278. package/dist/infrastructure/file-scanner/file-scanner.js +106 -0
  279. package/dist/infrastructure/file-scanner/file-scanner.js.map +1 -0
  280. package/dist/infrastructure/governance/nist-ai-rmf.d.ts +107 -0
  281. package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +1 -0
  282. package/dist/infrastructure/governance/nist-ai-rmf.js +294 -0
  283. package/dist/infrastructure/governance/nist-ai-rmf.js.map +1 -0
  284. package/dist/infrastructure/governance/policy-as-code.d.ts +90 -0
  285. package/dist/infrastructure/governance/policy-as-code.d.ts.map +1 -0
  286. package/dist/infrastructure/governance/policy-as-code.js +244 -0
  287. package/dist/infrastructure/governance/policy-as-code.js.map +1 -0
  288. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +138 -0
  289. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +1 -0
  290. package/dist/infrastructure/governance/prompt-to-code-lineage.js +241 -0
  291. package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +1 -0
  292. package/dist/infrastructure/index.d.ts +7 -0
  293. package/dist/infrastructure/index.d.ts.map +1 -0
  294. package/dist/infrastructure/index.js +7 -0
  295. package/dist/infrastructure/index.js.map +1 -0
  296. package/dist/infrastructure/observability/execution-tracer.d.ts +105 -0
  297. package/dist/infrastructure/observability/execution-tracer.d.ts.map +1 -0
  298. package/dist/infrastructure/observability/execution-tracer.js +190 -0
  299. package/dist/infrastructure/observability/execution-tracer.js.map +1 -0
  300. package/dist/infrastructure/observability/prompt-versioner.d.ts +67 -0
  301. package/dist/infrastructure/observability/prompt-versioner.d.ts.map +1 -0
  302. package/dist/infrastructure/observability/prompt-versioner.js +145 -0
  303. package/dist/infrastructure/observability/prompt-versioner.js.map +1 -0
  304. package/dist/infrastructure/protocols/a2a-metadata.d.ts +278 -0
  305. package/dist/infrastructure/protocols/a2a-metadata.d.ts.map +1 -0
  306. package/dist/infrastructure/protocols/a2a-metadata.js +137 -0
  307. package/dist/infrastructure/protocols/a2a-metadata.js.map +1 -0
  308. package/dist/infrastructure/protocols/a2a-protocol.d.ts +132 -0
  309. package/dist/infrastructure/protocols/a2a-protocol.d.ts.map +1 -0
  310. package/dist/infrastructure/protocols/a2a-protocol.js +314 -0
  311. package/dist/infrastructure/protocols/a2a-protocol.js.map +1 -0
  312. package/dist/infrastructure/protocols/mcp-oauth.d.ts +91 -0
  313. package/dist/infrastructure/protocols/mcp-oauth.d.ts.map +1 -0
  314. package/dist/infrastructure/protocols/mcp-oauth.js +184 -0
  315. package/dist/infrastructure/protocols/mcp-oauth.js.map +1 -0
  316. package/dist/infrastructure/protocols/mcp-server.d.ts +126 -0
  317. package/dist/infrastructure/protocols/mcp-server.d.ts.map +1 -0
  318. package/dist/infrastructure/protocols/mcp-server.js +333 -0
  319. package/dist/infrastructure/protocols/mcp-server.js.map +1 -0
  320. package/dist/infrastructure/protocols/streaming-handler.d.ts +57 -0
  321. package/dist/infrastructure/protocols/streaming-handler.d.ts.map +1 -0
  322. package/dist/infrastructure/protocols/streaming-handler.js +103 -0
  323. package/dist/infrastructure/protocols/streaming-handler.js.map +1 -0
  324. package/dist/infrastructure/security/ai-sast-scanner.d.ts +55 -0
  325. package/dist/infrastructure/security/ai-sast-scanner.d.ts.map +1 -0
  326. package/dist/infrastructure/security/ai-sast-scanner.js +163 -0
  327. package/dist/infrastructure/security/ai-sast-scanner.js.map +1 -0
  328. package/dist/infrastructure/security/docker-sandbox.d.ts +57 -0
  329. package/dist/infrastructure/security/docker-sandbox.d.ts.map +1 -0
  330. package/dist/infrastructure/security/docker-sandbox.js +178 -0
  331. package/dist/infrastructure/security/docker-sandbox.js.map +1 -0
  332. package/dist/infrastructure/security/enhanced-security-gate.d.ts +51 -0
  333. package/dist/infrastructure/security/enhanced-security-gate.d.ts.map +1 -0
  334. package/dist/infrastructure/security/enhanced-security-gate.js +92 -0
  335. package/dist/infrastructure/security/enhanced-security-gate.js.map +1 -0
  336. package/dist/infrastructure/security/input-validator.d.ts +33 -0
  337. package/dist/infrastructure/security/input-validator.d.ts.map +1 -0
  338. package/dist/infrastructure/security/input-validator.js +152 -0
  339. package/dist/infrastructure/security/input-validator.js.map +1 -0
  340. package/dist/infrastructure/security/license-scanner.d.ts +55 -0
  341. package/dist/infrastructure/security/license-scanner.d.ts.map +1 -0
  342. package/dist/infrastructure/security/license-scanner.js +167 -0
  343. package/dist/infrastructure/security/license-scanner.js.map +1 -0
  344. package/dist/infrastructure/security/provider-bias-detector.d.ts +53 -0
  345. package/dist/infrastructure/security/provider-bias-detector.d.ts.map +1 -0
  346. package/dist/infrastructure/security/provider-bias-detector.js +164 -0
  347. package/dist/infrastructure/security/provider-bias-detector.js.map +1 -0
  348. package/dist/infrastructure/security/sandbox-executor.d.ts +34 -0
  349. package/dist/infrastructure/security/sandbox-executor.d.ts.map +1 -0
  350. package/dist/infrastructure/security/sandbox-executor.js +64 -0
  351. package/dist/infrastructure/security/sandbox-executor.js.map +1 -0
  352. package/dist/infrastructure/storage/memory-stream-service.d.ts +47 -0
  353. package/dist/infrastructure/storage/memory-stream-service.d.ts.map +1 -0
  354. package/dist/infrastructure/storage/memory-stream-service.js +204 -0
  355. package/dist/infrastructure/storage/memory-stream-service.js.map +1 -0
  356. package/dist/infrastructure/storage/sqlite-decision-repository.d.ts +29 -0
  357. package/dist/infrastructure/storage/sqlite-decision-repository.d.ts.map +1 -0
  358. package/dist/infrastructure/storage/sqlite-decision-repository.js +232 -0
  359. package/dist/infrastructure/storage/sqlite-decision-repository.js.map +1 -0
  360. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +24 -0
  361. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -0
  362. package/dist/infrastructure/storage/sqlite-embedding-repository.js +162 -0
  363. package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -0
  364. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts +41 -0
  365. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts.map +1 -0
  366. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js +417 -0
  367. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js.map +1 -0
  368. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts +29 -0
  369. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts.map +1 -0
  370. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js +230 -0
  371. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js.map +1 -0
  372. package/dist/infrastructure/storage/sqlite-memory-repository.d.ts +40 -0
  373. package/dist/infrastructure/storage/sqlite-memory-repository.d.ts.map +1 -0
  374. package/dist/infrastructure/storage/sqlite-memory-repository.js +229 -0
  375. package/dist/infrastructure/storage/sqlite-memory-repository.js.map +1 -0
  376. package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts +25 -0
  377. package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts.map +1 -0
  378. package/dist/infrastructure/storage/sqlite-pattern-repository.js +249 -0
  379. package/dist/infrastructure/storage/sqlite-pattern-repository.js.map +1 -0
  380. package/dist/infrastructure/ux/appropriate-friction.d.ts +77 -0
  381. package/dist/infrastructure/ux/appropriate-friction.d.ts.map +1 -0
  382. package/dist/infrastructure/ux/appropriate-friction.js +213 -0
  383. package/dist/infrastructure/ux/appropriate-friction.js.map +1 -0
  384. package/dist/infrastructure/ux/bi-directional-learning.d.ts +109 -0
  385. package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +1 -0
  386. package/dist/infrastructure/ux/bi-directional-learning.js +200 -0
  387. package/dist/infrastructure/ux/bi-directional-learning.js.map +1 -0
  388. package/dist/infrastructure/ux/expectation-management.d.ts +65 -0
  389. package/dist/infrastructure/ux/expectation-management.d.ts.map +1 -0
  390. package/dist/infrastructure/ux/expectation-management.js +193 -0
  391. package/dist/infrastructure/ux/expectation-management.js.map +1 -0
  392. package/dist/infrastructure/ux/hitl-validation.d.ts +104 -0
  393. package/dist/infrastructure/ux/hitl-validation.d.ts.map +1 -0
  394. package/dist/infrastructure/ux/hitl-validation.js +211 -0
  395. package/dist/infrastructure/ux/hitl-validation.js.map +1 -0
  396. package/dist/infrastructure/ux/progressive-disclosure.d.ts +84 -0
  397. package/dist/infrastructure/ux/progressive-disclosure.d.ts.map +1 -0
  398. package/dist/infrastructure/ux/progressive-disclosure.js +235 -0
  399. package/dist/infrastructure/ux/progressive-disclosure.js.map +1 -0
  400. package/dist/infrastructure/ux/team-standards.d.ts +94 -0
  401. package/dist/infrastructure/ux/team-standards.d.ts.map +1 -0
  402. package/dist/infrastructure/ux/team-standards.js +196 -0
  403. package/dist/infrastructure/ux/team-standards.js.map +1 -0
  404. package/dist/infrastructure/verification/verification-service.d.ts +12 -0
  405. package/dist/infrastructure/verification/verification-service.d.ts.map +1 -0
  406. package/dist/infrastructure/verification/verification-service.js +47 -0
  407. package/dist/infrastructure/verification/verification-service.js.map +1 -0
  408. package/dist/infrastructure/xai/attention-visualizer.d.ts +73 -0
  409. package/dist/infrastructure/xai/attention-visualizer.d.ts.map +1 -0
  410. package/dist/infrastructure/xai/attention-visualizer.js +174 -0
  411. package/dist/infrastructure/xai/attention-visualizer.js.map +1 -0
  412. package/dist/infrastructure/xai/cot-visualizer.d.ts +105 -0
  413. package/dist/infrastructure/xai/cot-visualizer.d.ts.map +1 -0
  414. package/dist/infrastructure/xai/cot-visualizer.js +239 -0
  415. package/dist/infrastructure/xai/cot-visualizer.js.map +1 -0
  416. package/dist/infrastructure/xai/decision-tree-log.d.ts +104 -0
  417. package/dist/infrastructure/xai/decision-tree-log.d.ts.map +1 -0
  418. package/dist/infrastructure/xai/decision-tree-log.js +216 -0
  419. package/dist/infrastructure/xai/decision-tree-log.js.map +1 -0
  420. package/dist/infrastructure/xai/interactive-xai.d.ts +106 -0
  421. package/dist/infrastructure/xai/interactive-xai.d.ts.map +1 -0
  422. package/dist/infrastructure/xai/interactive-xai.js +262 -0
  423. package/dist/infrastructure/xai/interactive-xai.js.map +1 -0
  424. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +80 -0
  425. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +1 -0
  426. package/dist/infrastructure/xai/uncertainty-quantifier.js +201 -0
  427. package/dist/infrastructure/xai/uncertainty-quantifier.js.map +1 -0
  428. package/dist/intelligent-retrieval.d.ts.map +1 -1
  429. package/dist/intelligent-retrieval.js +8 -1
  430. package/dist/intelligent-retrieval.js.map +1 -1
  431. package/dist/intent/classifier.d.ts +6 -0
  432. package/dist/intent/classifier.d.ts.map +1 -0
  433. package/dist/intent/classifier.js +2 -0
  434. package/dist/intent/classifier.js.map +1 -0
  435. package/dist/intent/context.d.ts +4 -0
  436. package/dist/intent/context.d.ts.map +1 -0
  437. package/dist/intent/context.js +2 -0
  438. package/dist/intent/context.js.map +1 -0
  439. package/dist/iterative-refinement.d.ts.map +1 -1
  440. package/dist/iterative-refinement.js +20 -3
  441. package/dist/iterative-refinement.js.map +1 -1
  442. package/dist/learning.d.ts.map +1 -1
  443. package/dist/learning.js +1 -2
  444. package/dist/learning.js.map +1 -1
  445. package/dist/monitoring.d.ts.map +1 -1
  446. package/dist/monitoring.js +1 -2
  447. package/dist/monitoring.js.map +1 -1
  448. package/dist/parallel-processor.d.ts +3 -2
  449. package/dist/parallel-processor.d.ts.map +1 -1
  450. package/dist/parallel-processor.js +183 -56
  451. package/dist/parallel-processor.js.map +1 -1
  452. package/dist/presentation/cli/commands/ask-command.d.ts +8 -0
  453. package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -0
  454. package/dist/presentation/cli/commands/ask-command.js +133 -0
  455. package/dist/presentation/cli/commands/ask-command.js.map +1 -0
  456. package/dist/presentation/cli/commands/config-command.d.ts +9 -0
  457. package/dist/presentation/cli/commands/config-command.d.ts.map +1 -0
  458. package/dist/presentation/cli/commands/config-command.js +123 -0
  459. package/dist/presentation/cli/commands/config-command.js.map +1 -0
  460. package/dist/presentation/cli/commands/cost-command.d.ts +8 -0
  461. package/dist/presentation/cli/commands/cost-command.d.ts.map +1 -0
  462. package/dist/presentation/cli/commands/cost-command.js +191 -0
  463. package/dist/presentation/cli/commands/cost-command.js.map +1 -0
  464. package/dist/presentation/cli/commands/decision-command.d.ts +12 -0
  465. package/dist/presentation/cli/commands/decision-command.d.ts.map +1 -0
  466. package/dist/presentation/cli/commands/decision-command.js +207 -0
  467. package/dist/presentation/cli/commands/decision-command.js.map +1 -0
  468. package/dist/presentation/cli/commands/help-command.d.ts +9 -0
  469. package/dist/presentation/cli/commands/help-command.d.ts.map +1 -0
  470. package/dist/presentation/cli/commands/help-command.js +281 -0
  471. package/dist/presentation/cli/commands/help-command.js.map +1 -0
  472. package/dist/presentation/cli/commands/knowledge-command.d.ts +13 -0
  473. package/dist/presentation/cli/commands/knowledge-command.d.ts.map +1 -0
  474. package/dist/presentation/cli/commands/knowledge-command.js +129 -0
  475. package/dist/presentation/cli/commands/knowledge-command.js.map +1 -0
  476. package/dist/presentation/cli/commands/learning-dashboard-command.d.ts +8 -0
  477. package/dist/presentation/cli/commands/learning-dashboard-command.d.ts.map +1 -0
  478. package/dist/presentation/cli/commands/learning-dashboard-command.js +183 -0
  479. package/dist/presentation/cli/commands/learning-dashboard-command.js.map +1 -0
  480. package/dist/presentation/cli/commands/orchestrate-command.d.ts +8 -0
  481. package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -0
  482. package/dist/presentation/cli/commands/orchestrate-command.js +112 -0
  483. package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -0
  484. package/dist/presentation/cli/commands/plan-command.d.ts +8 -0
  485. package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -0
  486. package/dist/presentation/cli/commands/plan-command.js +114 -0
  487. package/dist/presentation/cli/commands/plan-command.js.map +1 -0
  488. package/dist/presentation/cli/commands/react-command.d.ts +8 -0
  489. package/dist/presentation/cli/commands/react-command.d.ts.map +1 -0
  490. package/dist/presentation/cli/commands/react-command.js +99 -0
  491. package/dist/presentation/cli/commands/react-command.js.map +1 -0
  492. package/dist/presentation/cli/commands/setup-command.d.ts +10 -0
  493. package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -0
  494. package/dist/presentation/cli/commands/setup-command.js +231 -0
  495. package/dist/presentation/cli/commands/setup-command.js.map +1 -0
  496. package/dist/presentation/cli/commands/smart-command.d.ts +6 -0
  497. package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -0
  498. package/dist/presentation/cli/commands/smart-command.js +212 -0
  499. package/dist/presentation/cli/commands/smart-command.js.map +1 -0
  500. package/dist/presentation/cli/commands/trace-command.d.ts +8 -0
  501. package/dist/presentation/cli/commands/trace-command.d.ts.map +1 -0
  502. package/dist/presentation/cli/commands/trace-command.js +125 -0
  503. package/dist/presentation/cli/commands/trace-command.js.map +1 -0
  504. package/dist/presentation/cli/commands/undo-command.d.ts +8 -0
  505. package/dist/presentation/cli/commands/undo-command.d.ts.map +1 -0
  506. package/dist/presentation/cli/commands/undo-command.js +141 -0
  507. package/dist/presentation/cli/commands/undo-command.js.map +1 -0
  508. package/dist/presentation/cli/error-display.d.ts +23 -0
  509. package/dist/presentation/cli/error-display.d.ts.map +1 -0
  510. package/dist/presentation/cli/error-display.js +122 -0
  511. package/dist/presentation/cli/error-display.js.map +1 -0
  512. package/dist/refactor.d.ts.map +1 -1
  513. package/dist/refactor.js +2 -4
  514. package/dist/refactor.js.map +1 -1
  515. package/dist/search.d.ts.map +1 -1
  516. package/dist/search.js +2 -63
  517. package/dist/search.js.map +1 -1
  518. package/dist/session.d.ts.map +1 -1
  519. package/dist/session.js +52 -3
  520. package/dist/session.js.map +1 -1
  521. package/dist/testgen.d.ts.map +1 -1
  522. package/dist/testgen.js +1 -2
  523. package/dist/testgen.js.map +1 -1
  524. package/dist/tools/bash.d.ts +53 -0
  525. package/dist/tools/bash.d.ts.map +1 -0
  526. package/dist/tools/bash.js +213 -0
  527. package/dist/tools/bash.js.map +1 -0
  528. package/dist/tools/edit.d.ts +48 -0
  529. package/dist/tools/edit.d.ts.map +1 -0
  530. package/dist/tools/edit.js +235 -0
  531. package/dist/tools/edit.js.map +1 -0
  532. package/dist/tools/executor.d.ts +29 -0
  533. package/dist/tools/executor.d.ts.map +1 -0
  534. package/dist/tools/executor.js +153 -0
  535. package/dist/tools/executor.js.map +1 -0
  536. package/dist/tools/git-tool.d.ts +87 -0
  537. package/dist/tools/git-tool.d.ts.map +1 -0
  538. package/dist/tools/git-tool.js +292 -0
  539. package/dist/tools/git-tool.js.map +1 -0
  540. package/dist/tools/parser.d.ts +33 -0
  541. package/dist/tools/parser.d.ts.map +1 -0
  542. package/dist/tools/parser.js +158 -0
  543. package/dist/tools/parser.js.map +1 -0
  544. package/dist/tools/registry.d.ts +74 -0
  545. package/dist/tools/registry.d.ts.map +1 -0
  546. package/dist/tools/registry.js +302 -0
  547. package/dist/tools/registry.js.map +1 -0
  548. package/dist/tools/search.d.ts +41 -0
  549. package/dist/tools/search.d.ts.map +1 -0
  550. package/dist/tools/search.js +100 -0
  551. package/dist/tools/search.js.map +1 -0
  552. package/dist/ui.d.ts.map +1 -1
  553. package/dist/ui.js +4 -2
  554. package/dist/ui.js.map +1 -1
  555. package/dist/utils/check-api-status.d.ts +12 -0
  556. package/dist/utils/check-api-status.d.ts.map +1 -0
  557. package/dist/utils/check-api-status.js +82 -0
  558. package/dist/utils/check-api-status.js.map +1 -0
  559. package/dist/utils/diff-parser.d.ts +22 -0
  560. package/dist/utils/diff-parser.d.ts.map +1 -0
  561. package/dist/utils/diff-parser.js +160 -0
  562. package/dist/utils/diff-parser.js.map +1 -0
  563. package/dist/utils/logger.d.ts +34 -0
  564. package/dist/utils/logger.d.ts.map +1 -0
  565. package/dist/utils/logger.js +56 -0
  566. package/dist/utils/logger.js.map +1 -0
  567. package/dist/utils/version.d.ts +21 -0
  568. package/dist/utils/version.d.ts.map +1 -0
  569. package/dist/utils/version.js +52 -0
  570. package/dist/utils/version.js.map +1 -0
  571. package/dist/verification/backup.d.ts +30 -0
  572. package/dist/verification/backup.d.ts.map +1 -0
  573. package/dist/verification/backup.js +238 -0
  574. package/dist/verification/backup.js.map +1 -0
  575. package/dist/verification/compiler.d.ts +20 -0
  576. package/dist/verification/compiler.d.ts.map +1 -0
  577. package/dist/verification/compiler.js +228 -0
  578. package/dist/verification/compiler.js.map +1 -0
  579. package/dist/verification/index.d.ts +59 -0
  580. package/dist/verification/index.d.ts.map +1 -0
  581. package/dist/verification/index.js +273 -0
  582. package/dist/verification/index.js.map +1 -0
  583. package/dist/verification/test-runner.d.ts +27 -0
  584. package/dist/verification/test-runner.d.ts.map +1 -0
  585. package/dist/verification/test-runner.js +379 -0
  586. package/dist/verification/test-runner.js.map +1 -0
  587. package/package.json +39 -14
  588. package/ARCHITECTURE.md +0 -240
  589. package/CHANGELOG.md +0 -44
  590. package/CONTRIBUTING.md +0 -171
  591. package/dist/benchmark.d.ts +0 -39
  592. package/dist/benchmark.d.ts.map +0 -1
  593. package/dist/benchmark.js +0 -195
  594. package/dist/benchmark.js.map +0 -1
  595. package/dist/scaffold.d.ts +0 -14
  596. package/dist/scaffold.d.ts.map +0 -1
  597. package/dist/scaffold.js +0 -85
  598. package/dist/scaffold.js.map +0 -1
  599. package/templates/next-page/app/layout.tsx +0 -19
  600. package/templates/next-page/app/page.tsx +0 -10
  601. package/templates/next-page/package.json +0 -22
  602. package/templates/node-api/index.js +0 -57
  603. package/templates/node-api/package.json +0 -13
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Domain Service: Graded Memory Activation
3
+ * Implements g(t) function for temporal relevance weighting
4
+ *
5
+ * Based on research: Nodes in middle of episodes get higher activation
6
+ * This optimizes strategic learning by focusing on high-utility segments
7
+ */
8
+ import type { Memory } from '../entities/memory.js';
9
+ export declare class GradedMemoryActivation {
10
+ /**
11
+ * Calculate graded activation for memory based on temporal position
12
+ * g(t) function: middle of episode gets higher weight
13
+ *
14
+ * @param memory - The memory to calculate activation for
15
+ * @param episodeStart - Start timestamp of the episode
16
+ * @param episodeEnd - End timestamp of the episode
17
+ * @returns Activation value between 0 and 1
18
+ */
19
+ calculateActivation(memory: Memory, episodeStart: Date, episodeEnd: Date): number;
20
+ /**
21
+ * Calculate activation for memory within recent episode window
22
+ * Uses last N memories as episode context
23
+ */
24
+ calculateActivationForRecent(memory: Memory, recentMemories: Memory[], windowSize?: number): number;
25
+ /**
26
+ * Apply graded activation to memory retrieval
27
+ * Multiplies base relevance score by activation weight
28
+ */
29
+ applyGradedActivation(memories: Array<{
30
+ memory: Memory;
31
+ baseScore: number;
32
+ }>, episodeStart?: Date, episodeEnd?: Date): Array<{
33
+ memory: Memory;
34
+ finalScore: number;
35
+ }>;
36
+ }
37
+ //# sourceMappingURL=graded-memory-activation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graded-memory-activation.d.ts","sourceRoot":"","sources":["../../../src/domain/services/graded-memory-activation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,qBAAa,sBAAsB;IACjC;;;;;;;;OAQG;IACH,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,IAAI,EAClB,UAAU,EAAE,IAAI,GACf,MAAM;IAmBT;;;OAGG;IACH,4BAA4B,CAC1B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EAAE,EACxB,UAAU,GAAE,MAAY,GACvB,MAAM;IAcT;;;OAGG;IACH,qBAAqB,CACnB,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,EACtD,YAAY,CAAC,EAAE,IAAI,EACnB,UAAU,CAAC,EAAE,IAAI,GAChB,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAoBjD"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Domain Service: Graded Memory Activation
3
+ * Implements g(t) function for temporal relevance weighting
4
+ *
5
+ * Based on research: Nodes in middle of episodes get higher activation
6
+ * This optimizes strategic learning by focusing on high-utility segments
7
+ */
8
+ export class GradedMemoryActivation {
9
+ /**
10
+ * Calculate graded activation for memory based on temporal position
11
+ * g(t) function: middle of episode gets higher weight
12
+ *
13
+ * @param memory - The memory to calculate activation for
14
+ * @param episodeStart - Start timestamp of the episode
15
+ * @param episodeEnd - End timestamp of the episode
16
+ * @returns Activation value between 0 and 1
17
+ */
18
+ calculateActivation(memory, episodeStart, episodeEnd) {
19
+ const episodeDuration = episodeEnd.getTime() - episodeStart.getTime();
20
+ if (episodeDuration === 0)
21
+ return 1.0;
22
+ const memoryTime = memory.timestamp.getTime();
23
+ const relativePosition = (memoryTime - episodeStart.getTime()) / episodeDuration;
24
+ // g(t) function: bell curve centered at 0.5 (middle of episode)
25
+ // Higher activation for memories in the middle, lower for start/end
26
+ const center = 0.5;
27
+ const spread = 0.3; // Controls how wide the activation zone is
28
+ // Gaussian-like function
29
+ const distanceFromCenter = Math.abs(relativePosition - center);
30
+ const activation = Math.exp(-Math.pow(distanceFromCenter / spread, 2));
31
+ return Math.max(0.1, Math.min(1.0, activation)); // Clamp between 0.1 and 1.0
32
+ }
33
+ /**
34
+ * Calculate activation for memory within recent episode window
35
+ * Uses last N memories as episode context
36
+ */
37
+ calculateActivationForRecent(memory, recentMemories, windowSize = 100) {
38
+ if (recentMemories.length === 0)
39
+ return 1.0;
40
+ // Find episode boundaries (first and last memory in window)
41
+ const sortedMemories = [...recentMemories].sort((a, b) => a.timestamp.getTime() - b.timestamp.getTime());
42
+ const episodeStart = sortedMemories[0].timestamp;
43
+ const episodeEnd = sortedMemories[sortedMemories.length - 1].timestamp;
44
+ return this.calculateActivation(memory, episodeStart, episodeEnd);
45
+ }
46
+ /**
47
+ * Apply graded activation to memory retrieval
48
+ * Multiplies base relevance score by activation weight
49
+ */
50
+ applyGradedActivation(memories, episodeStart, episodeEnd) {
51
+ if (!episodeStart || !episodeEnd) {
52
+ // Use recent memories as episode context
53
+ const sorted = [...memories].sort((a, b) => a.memory.timestamp.getTime() - b.memory.timestamp.getTime());
54
+ if (sorted.length > 0) {
55
+ episodeStart = sorted[0].memory.timestamp;
56
+ episodeEnd = sorted[sorted.length - 1].memory.timestamp;
57
+ }
58
+ else {
59
+ return memories.map(m => ({ memory: m.memory, finalScore: m.baseScore }));
60
+ }
61
+ }
62
+ return memories.map(({ memory, baseScore }) => {
63
+ const activation = this.calculateActivation(memory, episodeStart, episodeEnd);
64
+ const finalScore = baseScore * activation;
65
+ return { memory, finalScore };
66
+ });
67
+ }
68
+ }
69
+ //# sourceMappingURL=graded-memory-activation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graded-memory-activation.js","sourceRoot":"","sources":["../../../src/domain/services/graded-memory-activation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Domain Service: Knowledge Access
3
+ * Provides access to preserved knowledge
4
+ *
5
+ * Clean Architecture: Domain Layer
6
+ *
7
+ * Responsibilities:
8
+ * - Query preserved knowledge
9
+ * - Provide knowledge summaries
10
+ * - Link knowledge to patterns and decisions
11
+ */
12
+ import type { IKnowledgePreservationRepository } from '../interfaces/knowledge-preservation-repository.interface.js';
13
+ import type { IPatternRepository } from '../interfaces/pattern-repository.interface.js';
14
+ import type { IDecisionRepository } from '../interfaces/decision-repository.interface.js';
15
+ import type { KnowledgePreservation, KnowledgeType } from '../entities/knowledge-preservation.js';
16
+ export interface KnowledgeSummary {
17
+ totalKnowledge: number;
18
+ byType: {
19
+ [key: string]: number;
20
+ };
21
+ mostAccessed: KnowledgePreservation[];
22
+ recent: KnowledgePreservation[];
23
+ summary: string;
24
+ }
25
+ /**
26
+ * Knowledge Access Service
27
+ * Provides query and summary capabilities for preserved knowledge
28
+ */
29
+ export declare class KnowledgeAccess {
30
+ private knowledgeRepository;
31
+ private patternRepository;
32
+ private decisionRepository;
33
+ constructor(knowledgeRepository: IKnowledgePreservationRepository, patternRepository: IPatternRepository, decisionRepository: IDecisionRepository);
34
+ /**
35
+ * Query knowledge by context
36
+ */
37
+ query(codebaseId: string, query: string, limit?: number): Promise<KnowledgePreservation[]>;
38
+ /**
39
+ * Get knowledge by type
40
+ */
41
+ getByType(codebaseId: string, type: KnowledgeType, limit?: number): Promise<KnowledgePreservation[]>;
42
+ /**
43
+ * Get knowledge by tags
44
+ */
45
+ getByTags(codebaseId: string, tags: string[], limit?: number): Promise<KnowledgePreservation[]>;
46
+ /**
47
+ * Get knowledge summary for a codebase
48
+ */
49
+ getSummary(codebaseId: string): Promise<KnowledgeSummary>;
50
+ /**
51
+ * Get relevant knowledge for planning/query
52
+ */
53
+ getRelevantKnowledge(codebaseId: string, context: string, limit?: number): Promise<KnowledgePreservation[]>;
54
+ /**
55
+ * Generate summary text
56
+ */
57
+ private generateSummary;
58
+ /**
59
+ * Infer knowledge type from context query
60
+ */
61
+ private inferKnowledgeType;
62
+ }
63
+ //# sourceMappingURL=knowledge-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-access.d.ts","sourceRoot":"","sources":["../../../src/domain/services/knowledge-access.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,8DAA8D,CAAC;AACrH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAElG,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAClC,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,eAAe;IAExB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,kBAAkB;gBAFlB,mBAAmB,EAAE,gCAAgC,EACrD,iBAAiB,EAAE,kBAAkB,EACrC,kBAAkB,EAAE,mBAAmB;IAGjD;;OAEG;IACG,KAAK,CACT,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAInC;;OAEG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,aAAa,EACnB,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAInC;;OAEG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAInC;;OAEG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2B/D;;OAEG;IACG,oBAAoB,CACxB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,qBAAqB,EAAE,CAAC;IA4BnC;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAyB3B"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Domain Service: Knowledge Access
3
+ * Provides access to preserved knowledge
4
+ *
5
+ * Clean Architecture: Domain Layer
6
+ *
7
+ * Responsibilities:
8
+ * - Query preserved knowledge
9
+ * - Provide knowledge summaries
10
+ * - Link knowledge to patterns and decisions
11
+ */
12
+ /**
13
+ * Knowledge Access Service
14
+ * Provides query and summary capabilities for preserved knowledge
15
+ */
16
+ export class KnowledgeAccess {
17
+ knowledgeRepository;
18
+ patternRepository;
19
+ decisionRepository;
20
+ constructor(knowledgeRepository, patternRepository, decisionRepository) {
21
+ this.knowledgeRepository = knowledgeRepository;
22
+ this.patternRepository = patternRepository;
23
+ this.decisionRepository = decisionRepository;
24
+ }
25
+ /**
26
+ * Query knowledge by context
27
+ */
28
+ async query(codebaseId, query, limit = 10) {
29
+ return await this.knowledgeRepository.search(codebaseId, query, limit);
30
+ }
31
+ /**
32
+ * Get knowledge by type
33
+ */
34
+ async getByType(codebaseId, type, limit = 20) {
35
+ return await this.knowledgeRepository.findByType(codebaseId, type, limit);
36
+ }
37
+ /**
38
+ * Get knowledge by tags
39
+ */
40
+ async getByTags(codebaseId, tags, limit = 20) {
41
+ return await this.knowledgeRepository.findByTags(codebaseId, tags, limit);
42
+ }
43
+ /**
44
+ * Get knowledge summary for a codebase
45
+ */
46
+ async getSummary(codebaseId) {
47
+ const allKnowledge = await this.knowledgeRepository.findByCodebase(codebaseId, 1000);
48
+ // Count by type
49
+ const byType = {};
50
+ for (const knowledge of allKnowledge) {
51
+ byType[knowledge.type] = (byType[knowledge.type] || 0) + 1;
52
+ }
53
+ // Get most accessed
54
+ const mostAccessed = await this.knowledgeRepository.getMostAccessed(codebaseId, 5);
55
+ // Get recent
56
+ const recent = await this.knowledgeRepository.getRecent(codebaseId, 5);
57
+ // Generate summary
58
+ const summary = this.generateSummary(allKnowledge, byType);
59
+ return {
60
+ totalKnowledge: allKnowledge.length,
61
+ byType,
62
+ mostAccessed,
63
+ recent,
64
+ summary,
65
+ };
66
+ }
67
+ /**
68
+ * Get relevant knowledge for planning/query
69
+ */
70
+ async getRelevantKnowledge(codebaseId, context, limit = 5) {
71
+ // Search for relevant knowledge
72
+ const searchResults = await this.knowledgeRepository.search(codebaseId, context, limit);
73
+ // Also get by type if context suggests specific type
74
+ const typeMatches = this.inferKnowledgeType(context);
75
+ if (typeMatches.length > 0) {
76
+ const typeResults = [];
77
+ for (const type of typeMatches.slice(0, 2)) {
78
+ const results = await this.knowledgeRepository.findByType(codebaseId, type, 3);
79
+ typeResults.push(...results);
80
+ }
81
+ // Combine and deduplicate
82
+ const allResults = [...searchResults, ...typeResults];
83
+ const unique = new Map();
84
+ for (const knowledge of allResults) {
85
+ if (knowledge.id && !unique.has(knowledge.id)) {
86
+ unique.set(knowledge.id, knowledge);
87
+ }
88
+ }
89
+ return Array.from(unique.values()).slice(0, limit);
90
+ }
91
+ return searchResults;
92
+ }
93
+ /**
94
+ * Generate summary text
95
+ */
96
+ generateSummary(knowledge, byType) {
97
+ if (knowledge.length === 0) {
98
+ return 'No knowledge preserved yet.';
99
+ }
100
+ const typeSummary = Object.entries(byType)
101
+ .map(([type, count]) => `${count} ${type}`)
102
+ .join(', ');
103
+ return `Preserved ${knowledge.length} knowledge items: ${typeSummary}.`;
104
+ }
105
+ /**
106
+ * Infer knowledge type from context query
107
+ */
108
+ inferKnowledgeType(context) {
109
+ const contextLower = context.toLowerCase();
110
+ const types = [];
111
+ if (/architecture|structure|design|system/.test(contextLower)) {
112
+ types.push('architectural');
113
+ }
114
+ if (/domain|business|logic|concept/.test(contextLower)) {
115
+ types.push('domain-knowledge');
116
+ }
117
+ if (/pattern|convention|style/.test(contextLower)) {
118
+ types.push('convention');
119
+ }
120
+ if (/documentation|comment|doc/.test(contextLower)) {
121
+ types.push('documentation');
122
+ }
123
+ if (/best.practice|guideline|recommendation/.test(contextLower)) {
124
+ types.push('best-practice');
125
+ }
126
+ if (/gotcha|warning|pitfall|trap/.test(contextLower)) {
127
+ types.push('gotcha');
128
+ }
129
+ return types;
130
+ }
131
+ }
132
+ //# sourceMappingURL=knowledge-access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-access.js","sourceRoot":"","sources":["../../../src/domain/services/knowledge-access.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Domain Service: Knowledge Extractor
3
+ * Extracts knowledge from code, comments, and structure
4
+ *
5
+ * Clean Architecture: Domain Layer
6
+ *
7
+ * Responsibilities:
8
+ * - Extract domain knowledge from code comments
9
+ * - Extract architectural knowledge from code structure
10
+ * - Extract conventions from patterns
11
+ * - Extract best practices from codebase
12
+ */
13
+ import type { IAIService } from '../interfaces/ai-service.interface.js';
14
+ import type { IKnowledgePreservationRepository } from '../interfaces/knowledge-preservation-repository.interface.js';
15
+ import type { IPatternRepository } from '../interfaces/pattern-repository.interface.js';
16
+ import type { KnowledgePreservation } from '../entities/knowledge-preservation.js';
17
+ export interface KnowledgeExtractionRequest {
18
+ codebaseId: string;
19
+ codebasePath: string;
20
+ filepath?: string;
21
+ content?: string;
22
+ sourceType: 'code-comment' | 'code-structure' | 'pattern' | 'ai-extraction';
23
+ }
24
+ /**
25
+ * Knowledge Extractor Service
26
+ * Extracts various types of knowledge from codebases
27
+ */
28
+ export declare class KnowledgeExtractor {
29
+ private knowledgeRepository;
30
+ private patternRepository;
31
+ private aiService;
32
+ constructor(knowledgeRepository: IKnowledgePreservationRepository, patternRepository: IPatternRepository, aiService: IAIService);
33
+ /**
34
+ * Extract knowledge from code comments
35
+ */
36
+ extractFromComments(filepath: string, codebaseId: string, codebasePath: string): Promise<KnowledgePreservation[]>;
37
+ /**
38
+ * Extract architectural knowledge from code structure
39
+ */
40
+ extractFromStructure(filepath: string, codebaseId: string, codebasePath: string): Promise<KnowledgePreservation[]>;
41
+ /**
42
+ * Extract knowledge from existing patterns
43
+ */
44
+ extractFromPatterns(codebaseId: string, codebasePath: string): Promise<KnowledgePreservation[]>;
45
+ /**
46
+ * Extract knowledge using AI analysis
47
+ */
48
+ extractWithAI(request: KnowledgeExtractionRequest): Promise<KnowledgePreservation[]>;
49
+ /**
50
+ * Extract all knowledge from a file
51
+ */
52
+ extractFromFile(filepath: string, codebaseId: string, codebasePath: string): Promise<void>;
53
+ }
54
+ //# sourceMappingURL=knowledge-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-extractor.d.ts","sourceRoot":"","sources":["../../../src/domain/services/knowledge-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,8DAA8D,CAAC;AACrH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,qBAAqB,EAAiB,MAAM,uCAAuC,CAAC;AAIlG,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,cAAc,GAAG,gBAAgB,GAAG,SAAS,GAAG,eAAe,CAAC;CAC7E;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,SAAS;gBAFT,mBAAmB,EAAE,gCAAgC,EACrD,iBAAiB,EAAE,kBAAkB,EACrC,SAAS,EAAE,UAAU;IAG/B;;OAEG;IACG,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAiFnC;;OAEG;IACG,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAuCnC;;OAEG;IACG,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,qBAAqB,EAAE,CAAC;IA6BnC;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAoEnC;;OAEG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;CAgBjB"}
@@ -0,0 +1,247 @@
1
+ /**
2
+ * Domain Service: Knowledge Extractor
3
+ * Extracts knowledge from code, comments, and structure
4
+ *
5
+ * Clean Architecture: Domain Layer
6
+ *
7
+ * Responsibilities:
8
+ * - Extract domain knowledge from code comments
9
+ * - Extract architectural knowledge from code structure
10
+ * - Extract conventions from patterns
11
+ * - Extract best practices from codebase
12
+ */
13
+ import { readFileSync, existsSync } from 'fs';
14
+ import { randomUUID } from 'crypto';
15
+ /**
16
+ * Knowledge Extractor Service
17
+ * Extracts various types of knowledge from codebases
18
+ */
19
+ export class KnowledgeExtractor {
20
+ knowledgeRepository;
21
+ patternRepository;
22
+ aiService;
23
+ constructor(knowledgeRepository, patternRepository, aiService) {
24
+ this.knowledgeRepository = knowledgeRepository;
25
+ this.patternRepository = patternRepository;
26
+ this.aiService = aiService;
27
+ }
28
+ /**
29
+ * Extract knowledge from code comments
30
+ */
31
+ async extractFromComments(filepath, codebaseId, codebasePath) {
32
+ if (!existsSync(filepath)) {
33
+ return [];
34
+ }
35
+ const content = readFileSync(filepath, 'utf-8');
36
+ const knowledge = [];
37
+ // Extract JSDoc/TSDoc comments
38
+ const docCommentPattern = /\/\*\*([\s\S]*?)\*\//g;
39
+ const docMatches = [...content.matchAll(docCommentPattern)];
40
+ for (const match of docMatches) {
41
+ const comment = match[1];
42
+ const lines = comment.split('\n').map(l => l.replace(/^\s*\*\s?/, '').trim()).filter(Boolean);
43
+ if (lines.length > 0) {
44
+ // Extract description, params, returns, examples
45
+ const description = lines.filter(l => !l.startsWith('@')).join(' ').trim();
46
+ if (description && description.length > 20) {
47
+ const lineNumber = content.substring(0, match.index).split('\n').length;
48
+ knowledge.push({
49
+ id: randomUUID(),
50
+ codebaseId,
51
+ type: 'documentation',
52
+ title: `Documentation: ${filepath}:${lineNumber}`,
53
+ content: description,
54
+ source: {
55
+ type: 'code-comment',
56
+ filepath,
57
+ lineNumbers: { start: lineNumber, end: lineNumber + lines.length },
58
+ context: `Extracted from JSDoc comment in ${filepath}`,
59
+ },
60
+ extractedAt: new Date(),
61
+ relevanceScore: 0.7,
62
+ });
63
+ }
64
+ }
65
+ }
66
+ // Extract inline comments with keywords (TODO, NOTE, FIXME, etc.)
67
+ const inlineCommentPattern = /\/\/\s*(TODO|NOTE|FIXME|HACK|XXX|IMPORTANT|WARNING):\s*(.+)/gi;
68
+ const inlineMatches = [...content.matchAll(inlineCommentPattern)];
69
+ for (const match of inlineMatches) {
70
+ const keyword = match[1];
71
+ const comment = match[2].trim();
72
+ if (comment && comment.length > 10) {
73
+ const lineNumber = content.substring(0, match.index).split('\n').length;
74
+ let knowledgeType = 'domain-knowledge';
75
+ if (keyword === 'TODO' || keyword === 'FIXME') {
76
+ knowledgeType = 'gotcha';
77
+ }
78
+ else if (keyword === 'NOTE' || keyword === 'IMPORTANT') {
79
+ knowledgeType = 'documentation';
80
+ }
81
+ knowledge.push({
82
+ id: randomUUID(),
83
+ codebaseId,
84
+ type: knowledgeType,
85
+ title: `${keyword}: ${comment.substring(0, 50)}`,
86
+ content: comment,
87
+ source: {
88
+ type: 'code-comment',
89
+ filepath,
90
+ lineNumbers: { start: lineNumber, end: lineNumber },
91
+ context: `Extracted from ${keyword} comment in ${filepath}`,
92
+ },
93
+ extractedAt: new Date(),
94
+ relevanceScore: keyword === 'IMPORTANT' || keyword === 'WARNING' ? 0.9 : 0.6,
95
+ });
96
+ }
97
+ }
98
+ return knowledge;
99
+ }
100
+ /**
101
+ * Extract architectural knowledge from code structure
102
+ */
103
+ async extractFromStructure(filepath, codebaseId, codebasePath) {
104
+ if (!existsSync(filepath)) {
105
+ return [];
106
+ }
107
+ const content = readFileSync(filepath, 'utf-8');
108
+ const knowledge = [];
109
+ // Extract architectural patterns (e.g., directory structure, naming conventions)
110
+ const isInDomainLayer = filepath.includes('/domain/');
111
+ const isInInfrastructureLayer = filepath.includes('/infrastructure/');
112
+ const isInApplicationLayer = filepath.includes('/application/');
113
+ if (isInDomainLayer || isInInfrastructureLayer || isInApplicationLayer) {
114
+ // This file follows Clean Architecture
115
+ const layerName = isInDomainLayer ? 'Domain' : isInInfrastructureLayer ? 'Infrastructure' : 'Application';
116
+ knowledge.push({
117
+ id: randomUUID(),
118
+ codebaseId,
119
+ type: 'architectural',
120
+ title: `Clean Architecture: ${layerName} Layer`,
121
+ content: `This codebase follows Clean Architecture principles. Files in the ${layerName.toLowerCase()} layer follow specific responsibilities.`,
122
+ source: {
123
+ type: 'code-structure',
124
+ filepath,
125
+ context: `Detected Clean Architecture structure from file path`,
126
+ },
127
+ extractedAt: new Date(),
128
+ relevanceScore: 0.8,
129
+ metadata: {
130
+ tags: ['clean-architecture', 'architecture', layerName.toLowerCase()],
131
+ },
132
+ });
133
+ }
134
+ return knowledge;
135
+ }
136
+ /**
137
+ * Extract knowledge from existing patterns
138
+ */
139
+ async extractFromPatterns(codebaseId, codebasePath) {
140
+ const patterns = await this.patternRepository.findByCodebase(codebaseId);
141
+ const knowledge = [];
142
+ for (const pattern of patterns.slice(0, 20)) { // Limit to most used patterns
143
+ knowledge.push({
144
+ id: randomUUID(),
145
+ codebaseId,
146
+ type: 'convention',
147
+ title: `Pattern: ${pattern.name}`,
148
+ content: pattern.description,
149
+ source: {
150
+ type: 'pattern',
151
+ filepath: pattern.filepath,
152
+ lineNumbers: pattern.lineNumbers,
153
+ context: `Extracted from pattern library`,
154
+ },
155
+ extractedAt: new Date(),
156
+ relevanceScore: (pattern.usageCount || 0) > 0 ? 0.8 : 0.6,
157
+ metadata: {
158
+ tags: pattern.metadata?.tags || [],
159
+ relatedPatterns: [pattern.id],
160
+ },
161
+ });
162
+ }
163
+ return knowledge;
164
+ }
165
+ /**
166
+ * Extract knowledge using AI analysis
167
+ */
168
+ async extractWithAI(request) {
169
+ if (!request.content && !request.filepath) {
170
+ return [];
171
+ }
172
+ const content = request.content || (request.filepath && existsSync(request.filepath)
173
+ ? readFileSync(request.filepath, 'utf-8')
174
+ : '');
175
+ if (!content || content.length < 50) {
176
+ return [];
177
+ }
178
+ try {
179
+ const prompt = `Analyze this code and extract key knowledge:
180
+
181
+ ${request.filepath ? `File: ${request.filepath}` : 'Code snippet'}
182
+ \`\`\`
183
+ ${content.substring(0, 2000)} // Truncated for AI analysis
184
+ \`\`\`
185
+
186
+ Extract:
187
+ 1. Domain knowledge (business logic, concepts)
188
+ 2. Architectural insights
189
+ 3. Best practices
190
+ 4. Gotchas or warnings
191
+
192
+ Respond with JSON array:
193
+ [
194
+ {
195
+ "type": "domain-knowledge|architectural|best-practice|gotcha",
196
+ "title": "Short title",
197
+ "content": "Detailed knowledge",
198
+ "relevanceScore": 0.0-1.0
199
+ }
200
+ ]`;
201
+ const response = await this.aiService.chat(prompt, []);
202
+ const jsonMatch = response.match(/\[[\s\S]*\]/);
203
+ if (jsonMatch) {
204
+ const extracted = JSON.parse(jsonMatch[0]);
205
+ return extracted.map(item => ({
206
+ id: randomUUID(),
207
+ codebaseId: request.codebaseId,
208
+ type: item.type || 'domain-knowledge',
209
+ title: item.title,
210
+ content: item.content,
211
+ source: {
212
+ type: 'ai-extraction',
213
+ filepath: request.filepath,
214
+ context: `AI-extracted knowledge from ${request.filepath || 'code snippet'}`,
215
+ },
216
+ extractedAt: new Date(),
217
+ relevanceScore: item.relevanceScore || 0.7,
218
+ metadata: {
219
+ confidence: item.relevanceScore || 0.7,
220
+ },
221
+ }));
222
+ }
223
+ }
224
+ catch (error) {
225
+ console.warn('AI knowledge extraction failed:', error);
226
+ }
227
+ return [];
228
+ }
229
+ /**
230
+ * Extract all knowledge from a file
231
+ */
232
+ async extractFromFile(filepath, codebaseId, codebasePath) {
233
+ // Extract from comments
234
+ const commentKnowledge = await this.extractFromComments(filepath, codebaseId, codebasePath);
235
+ for (const knowledge of commentKnowledge) {
236
+ await this.knowledgeRepository.store(knowledge);
237
+ }
238
+ // Extract from structure
239
+ const structureKnowledge = await this.extractFromStructure(filepath, codebaseId, codebasePath);
240
+ for (const knowledge of structureKnowledge) {
241
+ await this.knowledgeRepository.store(knowledge);
242
+ }
243
+ // Extract with AI (optional, can be expensive)
244
+ // Only do this for important files or on-demand
245
+ }
246
+ }
247
+ //# sourceMappingURL=knowledge-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-extractor.js","sourceRoot":"","sources":["../../../src/domain/services/knowledge-extractor.ts"],"names":[],"mappings":"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"}