centient 2.20.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 (557) hide show
  1. package/CHANGELOG.md +362 -0
  2. package/README.md +433 -0
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +62 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/server.d.ts +4 -0
  8. package/dist/server.d.ts.map +1 -0
  9. package/dist/server.js +478 -0
  10. package/dist/server.js.map +1 -0
  11. package/dist/telemetry/index.d.ts +4 -0
  12. package/dist/telemetry/index.d.ts.map +1 -0
  13. package/dist/telemetry/index.js +3 -0
  14. package/dist/telemetry/index.js.map +1 -0
  15. package/dist/telemetry/instrumentation.d.ts +10 -0
  16. package/dist/telemetry/instrumentation.d.ts.map +1 -0
  17. package/dist/telemetry/instrumentation.js +86 -0
  18. package/dist/telemetry/instrumentation.js.map +1 -0
  19. package/dist/telemetry/tracer.d.ts +6 -0
  20. package/dist/telemetry/tracer.d.ts.map +1 -0
  21. package/dist/telemetry/tracer.js +27 -0
  22. package/dist/telemetry/tracer.js.map +1 -0
  23. package/dist/tools/artifacts/diffSessions.d.ts +9 -0
  24. package/dist/tools/artifacts/diffSessions.d.ts.map +1 -0
  25. package/dist/tools/artifacts/diffSessions.js +320 -0
  26. package/dist/tools/artifacts/diffSessions.js.map +1 -0
  27. package/dist/tools/artifacts/extractSessionContext.d.ts +9 -0
  28. package/dist/tools/artifacts/extractSessionContext.d.ts.map +1 -0
  29. package/dist/tools/artifacts/extractSessionContext.js +291 -0
  30. package/dist/tools/artifacts/extractSessionContext.js.map +1 -0
  31. package/dist/tools/artifacts/getSessionCode.d.ts +9 -0
  32. package/dist/tools/artifacts/getSessionCode.d.ts.map +1 -0
  33. package/dist/tools/artifacts/getSessionCode.js +104 -0
  34. package/dist/tools/artifacts/getSessionCode.js.map +1 -0
  35. package/dist/tools/artifacts/loadSession.d.ts +9 -0
  36. package/dist/tools/artifacts/loadSession.d.ts.map +1 -0
  37. package/dist/tools/artifacts/loadSession.js +163 -0
  38. package/dist/tools/artifacts/loadSession.js.map +1 -0
  39. package/dist/tools/artifacts/searchArtifacts.d.ts +9 -0
  40. package/dist/tools/artifacts/searchArtifacts.d.ts.map +1 -0
  41. package/dist/tools/artifacts/searchArtifacts.js +98 -0
  42. package/dist/tools/artifacts/searchArtifacts.js.map +1 -0
  43. package/dist/tools/branching/closeBranch.d.ts +10 -0
  44. package/dist/tools/branching/closeBranch.d.ts.map +1 -0
  45. package/dist/tools/branching/closeBranch.js +193 -0
  46. package/dist/tools/branching/closeBranch.js.map +1 -0
  47. package/dist/tools/branching/createBranch.d.ts +10 -0
  48. package/dist/tools/branching/createBranch.d.ts.map +1 -0
  49. package/dist/tools/branching/createBranch.js +136 -0
  50. package/dist/tools/branching/createBranch.js.map +1 -0
  51. package/dist/tools/branching/listBranches.d.ts +9 -0
  52. package/dist/tools/branching/listBranches.d.ts.map +1 -0
  53. package/dist/tools/branching/listBranches.js +212 -0
  54. package/dist/tools/branching/listBranches.js.map +1 -0
  55. package/dist/tools/branching/listDecisionPoints.d.ts +9 -0
  56. package/dist/tools/branching/listDecisionPoints.d.ts.map +1 -0
  57. package/dist/tools/branching/listDecisionPoints.js +156 -0
  58. package/dist/tools/branching/listDecisionPoints.js.map +1 -0
  59. package/dist/tools/branching/markDecisionPoint.d.ts +10 -0
  60. package/dist/tools/branching/markDecisionPoint.d.ts.map +1 -0
  61. package/dist/tools/branching/markDecisionPoint.js +149 -0
  62. package/dist/tools/branching/markDecisionPoint.js.map +1 -0
  63. package/dist/tools/branching/switchBranch.d.ts +9 -0
  64. package/dist/tools/branching/switchBranch.d.ts.map +1 -0
  65. package/dist/tools/branching/switchBranch.js +153 -0
  66. package/dist/tools/branching/switchBranch.js.map +1 -0
  67. package/dist/tools/consultation/aggregateConsensus.d.ts +9 -0
  68. package/dist/tools/consultation/aggregateConsensus.d.ts.map +1 -0
  69. package/dist/tools/consultation/aggregateConsensus.js +259 -0
  70. package/dist/tools/consultation/aggregateConsensus.js.map +1 -0
  71. package/dist/tools/consultation/captureConsultationResponse.d.ts +11 -0
  72. package/dist/tools/consultation/captureConsultationResponse.d.ts.map +1 -0
  73. package/dist/tools/consultation/captureConsultationResponse.js +244 -0
  74. package/dist/tools/consultation/captureConsultationResponse.js.map +1 -0
  75. package/dist/tools/consultation/consultLlmStream.d.ts +9 -0
  76. package/dist/tools/consultation/consultLlmStream.d.ts.map +1 -0
  77. package/dist/tools/consultation/consultLlmStream.js +201 -0
  78. package/dist/tools/consultation/consultLlmStream.js.map +1 -0
  79. package/dist/tools/consultation/index.d.ts +8 -0
  80. package/dist/tools/consultation/index.d.ts.map +1 -0
  81. package/dist/tools/consultation/index.js +8 -0
  82. package/dist/tools/consultation/index.js.map +1 -0
  83. package/dist/tools/consultation/peerReviewContract.d.ts +146 -0
  84. package/dist/tools/consultation/peerReviewContract.d.ts.map +1 -0
  85. package/dist/tools/consultation/peerReviewContract.js +731 -0
  86. package/dist/tools/consultation/peerReviewContract.js.map +1 -0
  87. package/dist/tools/consultation/peerReviewSession.d.ts +9 -0
  88. package/dist/tools/consultation/peerReviewSession.d.ts.map +1 -0
  89. package/dist/tools/consultation/peerReviewSession.js +433 -0
  90. package/dist/tools/consultation/peerReviewSession.js.map +1 -0
  91. package/dist/tools/consultation/prepareConsultationContext.d.ts +9 -0
  92. package/dist/tools/consultation/prepareConsultationContext.d.ts.map +1 -0
  93. package/dist/tools/consultation/prepareConsultationContext.js +263 -0
  94. package/dist/tools/consultation/prepareConsultationContext.js.map +1 -0
  95. package/dist/tools/consultation/seekConsensus.d.ts +9 -0
  96. package/dist/tools/consultation/seekConsensus.d.ts.map +1 -0
  97. package/dist/tools/consultation/seekConsensus.js +358 -0
  98. package/dist/tools/consultation/seekConsensus.js.map +1 -0
  99. package/dist/tools/consultation/validateDecision.d.ts +9 -0
  100. package/dist/tools/consultation/validateDecision.d.ts.map +1 -0
  101. package/dist/tools/consultation/validateDecision.js +253 -0
  102. package/dist/tools/consultation/validateDecision.js.map +1 -0
  103. package/dist/tools/consultation/validateReviewResponse.d.ts +9 -0
  104. package/dist/tools/consultation/validateReviewResponse.d.ts.map +1 -0
  105. package/dist/tools/consultation/validateReviewResponse.js +105 -0
  106. package/dist/tools/consultation/validateReviewResponse.js.map +1 -0
  107. package/dist/tools/graph/addNoteRelationship.d.ts +9 -0
  108. package/dist/tools/graph/addNoteRelationship.d.ts.map +1 -0
  109. package/dist/tools/graph/addNoteRelationship.js +120 -0
  110. package/dist/tools/graph/addNoteRelationship.js.map +1 -0
  111. package/dist/tools/graph/linkSessions.d.ts +9 -0
  112. package/dist/tools/graph/linkSessions.d.ts.map +1 -0
  113. package/dist/tools/graph/linkSessions.js +126 -0
  114. package/dist/tools/graph/linkSessions.js.map +1 -0
  115. package/dist/tools/graph/queryTemporalGraph.d.ts +9 -0
  116. package/dist/tools/graph/queryTemporalGraph.d.ts.map +1 -0
  117. package/dist/tools/graph/queryTemporalGraph.js +339 -0
  118. package/dist/tools/graph/queryTemporalGraph.js.map +1 -0
  119. package/dist/tools/health/getCircuitBreakerStats.d.ts +9 -0
  120. package/dist/tools/health/getCircuitBreakerStats.d.ts.map +1 -0
  121. package/dist/tools/health/getCircuitBreakerStats.js +195 -0
  122. package/dist/tools/health/getCircuitBreakerStats.js.map +1 -0
  123. package/dist/tools/health/getContextHealth.d.ts +9 -0
  124. package/dist/tools/health/getContextHealth.d.ts.map +1 -0
  125. package/dist/tools/health/getContextHealth.js +331 -0
  126. package/dist/tools/health/getContextHealth.js.map +1 -0
  127. package/dist/tools/health/getQdrantHealth.d.ts +9 -0
  128. package/dist/tools/health/getQdrantHealth.d.ts.map +1 -0
  129. package/dist/tools/health/getQdrantHealth.js +144 -0
  130. package/dist/tools/health/getQdrantHealth.js.map +1 -0
  131. package/dist/tools/health/getRateLimitStats.d.ts +9 -0
  132. package/dist/tools/health/getRateLimitStats.d.ts.map +1 -0
  133. package/dist/tools/health/getRateLimitStats.js +191 -0
  134. package/dist/tools/health/getRateLimitStats.js.map +1 -0
  135. package/dist/tools/knowledge/index.d.ts +4 -0
  136. package/dist/tools/knowledge/index.d.ts.map +1 -0
  137. package/dist/tools/knowledge/index.js +4 -0
  138. package/dist/tools/knowledge/index.js.map +1 -0
  139. package/dist/tools/knowledge/promoteDecision.d.ts +9 -0
  140. package/dist/tools/knowledge/promoteDecision.d.ts.map +1 -0
  141. package/dist/tools/knowledge/promoteDecision.js +139 -0
  142. package/dist/tools/knowledge/promoteDecision.js.map +1 -0
  143. package/dist/tools/knowledge/promoteLearning.d.ts +9 -0
  144. package/dist/tools/knowledge/promoteLearning.d.ts.map +1 -0
  145. package/dist/tools/knowledge/promoteLearning.js +132 -0
  146. package/dist/tools/knowledge/promoteLearning.js.map +1 -0
  147. package/dist/tools/knowledge/searchMetaKnowledge.d.ts +9 -0
  148. package/dist/tools/knowledge/searchMetaKnowledge.d.ts.map +1 -0
  149. package/dist/tools/knowledge/searchMetaKnowledge.js +120 -0
  150. package/dist/tools/knowledge/searchMetaKnowledge.js.map +1 -0
  151. package/dist/tools/memory/addNote.d.ts +9 -0
  152. package/dist/tools/memory/addNote.d.ts.map +1 -0
  153. package/dist/tools/memory/addNote.js +105 -0
  154. package/dist/tools/memory/addNote.js.map +1 -0
  155. package/dist/tools/memory/getDecisions.d.ts +9 -0
  156. package/dist/tools/memory/getDecisions.d.ts.map +1 -0
  157. package/dist/tools/memory/getDecisions.js +93 -0
  158. package/dist/tools/memory/getDecisions.js.map +1 -0
  159. package/dist/tools/memory/getHypotheses.d.ts +9 -0
  160. package/dist/tools/memory/getHypotheses.d.ts.map +1 -0
  161. package/dist/tools/memory/getHypotheses.js +93 -0
  162. package/dist/tools/memory/getHypotheses.js.map +1 -0
  163. package/dist/tools/memory-bank/memoryBankList.d.ts +9 -0
  164. package/dist/tools/memory-bank/memoryBankList.d.ts.map +1 -0
  165. package/dist/tools/memory-bank/memoryBankList.js +108 -0
  166. package/dist/tools/memory-bank/memoryBankList.js.map +1 -0
  167. package/dist/tools/memory-bank/memoryBankSearch.d.ts +9 -0
  168. package/dist/tools/memory-bank/memoryBankSearch.d.ts.map +1 -0
  169. package/dist/tools/memory-bank/memoryBankSearch.js +128 -0
  170. package/dist/tools/memory-bank/memoryBankSearch.js.map +1 -0
  171. package/dist/tools/metrics/getAuditLog.d.ts +9 -0
  172. package/dist/tools/metrics/getAuditLog.d.ts.map +1 -0
  173. package/dist/tools/metrics/getAuditLog.js +172 -0
  174. package/dist/tools/metrics/getAuditLog.js.map +1 -0
  175. package/dist/tools/metrics/getCompressionRatio.d.ts +9 -0
  176. package/dist/tools/metrics/getCompressionRatio.d.ts.map +1 -0
  177. package/dist/tools/metrics/getCompressionRatio.js +112 -0
  178. package/dist/tools/metrics/getCompressionRatio.js.map +1 -0
  179. package/dist/tools/metrics/getCostDashboard.d.ts +9 -0
  180. package/dist/tools/metrics/getCostDashboard.d.ts.map +1 -0
  181. package/dist/tools/metrics/getCostDashboard.js +126 -0
  182. package/dist/tools/metrics/getCostDashboard.js.map +1 -0
  183. package/dist/tools/metrics/getPatternAnalytics.d.ts +9 -0
  184. package/dist/tools/metrics/getPatternAnalytics.d.ts.map +1 -0
  185. package/dist/tools/metrics/getPatternAnalytics.js +192 -0
  186. package/dist/tools/metrics/getPatternAnalytics.js.map +1 -0
  187. package/dist/tools/metrics/getPatternReuse.d.ts +9 -0
  188. package/dist/tools/metrics/getPatternReuse.d.ts.map +1 -0
  189. package/dist/tools/metrics/getPatternReuse.js +130 -0
  190. package/dist/tools/metrics/getPatternReuse.js.map +1 -0
  191. package/dist/tools/patterns/createPatternVersion.d.ts +9 -0
  192. package/dist/tools/patterns/createPatternVersion.d.ts.map +1 -0
  193. package/dist/tools/patterns/createPatternVersion.js +137 -0
  194. package/dist/tools/patterns/createPatternVersion.js.map +1 -0
  195. package/dist/tools/patterns/deprecatePatternVersion.d.ts +9 -0
  196. package/dist/tools/patterns/deprecatePatternVersion.d.ts.map +1 -0
  197. package/dist/tools/patterns/deprecatePatternVersion.js +131 -0
  198. package/dist/tools/patterns/deprecatePatternVersion.js.map +1 -0
  199. package/dist/tools/patterns/diffPatterns.d.ts +9 -0
  200. package/dist/tools/patterns/diffPatterns.d.ts.map +1 -0
  201. package/dist/tools/patterns/diffPatterns.js +402 -0
  202. package/dist/tools/patterns/diffPatterns.js.map +1 -0
  203. package/dist/tools/patterns/executeSkill.d.ts +9 -0
  204. package/dist/tools/patterns/executeSkill.d.ts.map +1 -0
  205. package/dist/tools/patterns/executeSkill.js +230 -0
  206. package/dist/tools/patterns/executeSkill.js.map +1 -0
  207. package/dist/tools/patterns/findPatterns.d.ts +9 -0
  208. package/dist/tools/patterns/findPatterns.d.ts.map +1 -0
  209. package/dist/tools/patterns/findPatterns.js +164 -0
  210. package/dist/tools/patterns/findPatterns.js.map +1 -0
  211. package/dist/tools/patterns/getPatternVersions.d.ts +9 -0
  212. package/dist/tools/patterns/getPatternVersions.d.ts.map +1 -0
  213. package/dist/tools/patterns/getPatternVersions.js +114 -0
  214. package/dist/tools/patterns/getPatternVersions.js.map +1 -0
  215. package/dist/tools/patterns/indexPatternLibrary.d.ts +9 -0
  216. package/dist/tools/patterns/indexPatternLibrary.d.ts.map +1 -0
  217. package/dist/tools/patterns/indexPatternLibrary.js +228 -0
  218. package/dist/tools/patterns/indexPatternLibrary.js.map +1 -0
  219. package/dist/tools/patterns/loadSkill.d.ts +9 -0
  220. package/dist/tools/patterns/loadSkill.d.ts.map +1 -0
  221. package/dist/tools/patterns/loadSkill.js +229 -0
  222. package/dist/tools/patterns/loadSkill.js.map +1 -0
  223. package/dist/tools/patterns/predictOutcome.d.ts +9 -0
  224. package/dist/tools/patterns/predictOutcome.d.ts.map +1 -0
  225. package/dist/tools/patterns/predictOutcome.js +256 -0
  226. package/dist/tools/patterns/predictOutcome.js.map +1 -0
  227. package/dist/tools/patterns/recommendPatterns.d.ts +9 -0
  228. package/dist/tools/patterns/recommendPatterns.d.ts.map +1 -0
  229. package/dist/tools/patterns/recommendPatterns.js +278 -0
  230. package/dist/tools/patterns/recommendPatterns.js.map +1 -0
  231. package/dist/tools/patterns/searchPatterns.d.ts +9 -0
  232. package/dist/tools/patterns/searchPatterns.d.ts.map +1 -0
  233. package/dist/tools/patterns/searchPatterns.js +144 -0
  234. package/dist/tools/patterns/searchPatterns.js.map +1 -0
  235. package/dist/tools/patterns/signPattern.d.ts +9 -0
  236. package/dist/tools/patterns/signPattern.d.ts.map +1 -0
  237. package/dist/tools/patterns/signPattern.js +147 -0
  238. package/dist/tools/patterns/signPattern.js.map +1 -0
  239. package/dist/tools/patterns/trackPatternUsage.d.ts +9 -0
  240. package/dist/tools/patterns/trackPatternUsage.d.ts.map +1 -0
  241. package/dist/tools/patterns/trackPatternUsage.js +126 -0
  242. package/dist/tools/patterns/trackPatternUsage.js.map +1 -0
  243. package/dist/tools/research/approveResearchPlan.d.ts +9 -0
  244. package/dist/tools/research/approveResearchPlan.d.ts.map +1 -0
  245. package/dist/tools/research/approveResearchPlan.js +204 -0
  246. package/dist/tools/research/approveResearchPlan.js.map +1 -0
  247. package/dist/tools/research/generateResearchPlan.d.ts +9 -0
  248. package/dist/tools/research/generateResearchPlan.d.ts.map +1 -0
  249. package/dist/tools/research/generateResearchPlan.js +347 -0
  250. package/dist/tools/research/generateResearchPlan.js.map +1 -0
  251. package/dist/tools/research/listResearchSessions.d.ts +9 -0
  252. package/dist/tools/research/listResearchSessions.d.ts.map +1 -0
  253. package/dist/tools/research/listResearchSessions.js +108 -0
  254. package/dist/tools/research/listResearchSessions.js.map +1 -0
  255. package/dist/tools/research/suggestModelForResearch.d.ts +9 -0
  256. package/dist/tools/research/suggestModelForResearch.d.ts.map +1 -0
  257. package/dist/tools/research/suggestModelForResearch.js +416 -0
  258. package/dist/tools/research/suggestModelForResearch.js.map +1 -0
  259. package/dist/tools/research/trackResearchProgress.d.ts +9 -0
  260. package/dist/tools/research/trackResearchProgress.d.ts.map +1 -0
  261. package/dist/tools/research/trackResearchProgress.js +177 -0
  262. package/dist/tools/research/trackResearchProgress.js.map +1 -0
  263. package/dist/tools/rlvr/rlvrExecute.d.ts +9 -0
  264. package/dist/tools/rlvr/rlvrExecute.d.ts.map +1 -0
  265. package/dist/tools/rlvr/rlvrExecute.js +296 -0
  266. package/dist/tools/rlvr/rlvrExecute.js.map +1 -0
  267. package/dist/tools/search/getSearchStats.d.ts +9 -0
  268. package/dist/tools/search/getSearchStats.d.ts.map +1 -0
  269. package/dist/tools/search/getSearchStats.js +107 -0
  270. package/dist/tools/search/getSearchStats.js.map +1 -0
  271. package/dist/tools/search/index.d.ts +4 -0
  272. package/dist/tools/search/index.d.ts.map +1 -0
  273. package/dist/tools/search/index.js +4 -0
  274. package/dist/tools/search/index.js.map +1 -0
  275. package/dist/tools/search/indexSession.d.ts +9 -0
  276. package/dist/tools/search/indexSession.d.ts.map +1 -0
  277. package/dist/tools/search/indexSession.js +254 -0
  278. package/dist/tools/search/indexSession.js.map +1 -0
  279. package/dist/tools/search/semanticSearch.d.ts +9 -0
  280. package/dist/tools/search/semanticSearch.d.ts.map +1 -0
  281. package/dist/tools/search/semanticSearch.js +171 -0
  282. package/dist/tools/search/semanticSearch.js.map +1 -0
  283. package/dist/tools/session/askSession.d.ts +9 -0
  284. package/dist/tools/session/askSession.d.ts.map +1 -0
  285. package/dist/tools/session/askSession.js +311 -0
  286. package/dist/tools/session/askSession.js.map +1 -0
  287. package/dist/tools/session/checkClaimConsistency.d.ts +9 -0
  288. package/dist/tools/session/checkClaimConsistency.d.ts.map +1 -0
  289. package/dist/tools/session/checkClaimConsistency.js +343 -0
  290. package/dist/tools/session/checkClaimConsistency.js.map +1 -0
  291. package/dist/tools/session/checkCodeFeasibility.d.ts +19 -0
  292. package/dist/tools/session/checkCodeFeasibility.d.ts.map +1 -0
  293. package/dist/tools/session/checkCodeFeasibility.js +766 -0
  294. package/dist/tools/session/checkCodeFeasibility.js.map +1 -0
  295. package/dist/tools/session/checkConstraintViolation.d.ts +9 -0
  296. package/dist/tools/session/checkConstraintViolation.d.ts.map +1 -0
  297. package/dist/tools/session/checkConstraintViolation.js +98 -0
  298. package/dist/tools/session/checkConstraintViolation.js.map +1 -0
  299. package/dist/tools/session/checkDuplicateWork.d.ts +9 -0
  300. package/dist/tools/session/checkDuplicateWork.d.ts.map +1 -0
  301. package/dist/tools/session/checkDuplicateWork.js +105 -0
  302. package/dist/tools/session/checkDuplicateWork.js.map +1 -0
  303. package/dist/tools/session/extractSessionMemories.d.ts +9 -0
  304. package/dist/tools/session/extractSessionMemories.d.ts.map +1 -0
  305. package/dist/tools/session/extractSessionMemories.js +203 -0
  306. package/dist/tools/session/extractSessionMemories.js.map +1 -0
  307. package/dist/tools/session/finalizeSessionCoordination.d.ts +9 -0
  308. package/dist/tools/session/finalizeSessionCoordination.d.ts.map +1 -0
  309. package/dist/tools/session/finalizeSessionCoordination.js +85 -0
  310. package/dist/tools/session/finalizeSessionCoordination.js.map +1 -0
  311. package/dist/tools/session/flagForVerification.d.ts +17 -0
  312. package/dist/tools/session/flagForVerification.d.ts.map +1 -0
  313. package/dist/tools/session/flagForVerification.js +232 -0
  314. package/dist/tools/session/flagForVerification.js.map +1 -0
  315. package/dist/tools/session/getConstraints.d.ts +9 -0
  316. package/dist/tools/session/getConstraints.d.ts.map +1 -0
  317. package/dist/tools/session/getConstraints.js +84 -0
  318. package/dist/tools/session/getConstraints.js.map +1 -0
  319. package/dist/tools/session/getSessionStats.d.ts +9 -0
  320. package/dist/tools/session/getSessionStats.d.ts.map +1 -0
  321. package/dist/tools/session/getSessionStats.js +86 -0
  322. package/dist/tools/session/getSessionStats.js.map +1 -0
  323. package/dist/tools/session/getSessionSummary.d.ts +9 -0
  324. package/dist/tools/session/getSessionSummary.d.ts.map +1 -0
  325. package/dist/tools/session/getSessionSummary.js +360 -0
  326. package/dist/tools/session/getSessionSummary.js.map +1 -0
  327. package/dist/tools/session/getVerificationPrompt.d.ts +9 -0
  328. package/dist/tools/session/getVerificationPrompt.d.ts.map +1 -0
  329. package/dist/tools/session/getVerificationPrompt.js +210 -0
  330. package/dist/tools/session/getVerificationPrompt.js.map +1 -0
  331. package/dist/tools/session/liftConstraint.d.ts +9 -0
  332. package/dist/tools/session/liftConstraint.d.ts.map +1 -0
  333. package/dist/tools/session/liftConstraint.js +94 -0
  334. package/dist/tools/session/liftConstraint.js.map +1 -0
  335. package/dist/tools/session/recordVerificationOutcome.d.ts +24 -0
  336. package/dist/tools/session/recordVerificationOutcome.d.ts.map +1 -0
  337. package/dist/tools/session/recordVerificationOutcome.js +237 -0
  338. package/dist/tools/session/recordVerificationOutcome.js.map +1 -0
  339. package/dist/tools/session/saveSessionNote.d.ts +9 -0
  340. package/dist/tools/session/saveSessionNote.d.ts.map +1 -0
  341. package/dist/tools/session/saveSessionNote.js +213 -0
  342. package/dist/tools/session/saveSessionNote.js.map +1 -0
  343. package/dist/tools/session/sessionSearch.d.ts +9 -0
  344. package/dist/tools/session/sessionSearch.d.ts.map +1 -0
  345. package/dist/tools/session/sessionSearch.js +116 -0
  346. package/dist/tools/session/sessionSearch.js.map +1 -0
  347. package/dist/tools/session/startSessionCoordination.d.ts +13 -0
  348. package/dist/tools/session/startSessionCoordination.d.ts.map +1 -0
  349. package/dist/tools/session/startSessionCoordination.js +126 -0
  350. package/dist/tools/session/startSessionCoordination.js.map +1 -0
  351. package/dist/tools/session/trackApprovalFingerprint.d.ts +19 -0
  352. package/dist/tools/session/trackApprovalFingerprint.d.ts.map +1 -0
  353. package/dist/tools/session/trackApprovalFingerprint.js +172 -0
  354. package/dist/tools/session/trackApprovalFingerprint.js.map +1 -0
  355. package/dist/tools/session/trackConstraint.d.ts +9 -0
  356. package/dist/tools/session/trackConstraint.d.ts.map +1 -0
  357. package/dist/tools/session/trackConstraint.js +101 -0
  358. package/dist/tools/session/trackConstraint.js.map +1 -0
  359. package/dist/tools/session/validateCitation.d.ts +9 -0
  360. package/dist/tools/session/validateCitation.d.ts.map +1 -0
  361. package/dist/tools/session/validateCitation.js +450 -0
  362. package/dist/tools/session/validateCitation.js.map +1 -0
  363. package/dist/tools/stuck/checkStuckPattern.d.ts +9 -0
  364. package/dist/tools/stuck/checkStuckPattern.d.ts.map +1 -0
  365. package/dist/tools/stuck/checkStuckPattern.js +93 -0
  366. package/dist/tools/stuck/checkStuckPattern.js.map +1 -0
  367. package/dist/tools/stuck/getRecoverySuggestions.d.ts +9 -0
  368. package/dist/tools/stuck/getRecoverySuggestions.d.ts.map +1 -0
  369. package/dist/tools/stuck/getRecoverySuggestions.js +132 -0
  370. package/dist/tools/stuck/getRecoverySuggestions.js.map +1 -0
  371. package/dist/types/research.d.ts +76 -0
  372. package/dist/types/research.d.ts.map +1 -0
  373. package/dist/types/research.js +2 -0
  374. package/dist/types/research.js.map +1 -0
  375. package/dist/types/temporal-graph.d.ts +97 -0
  376. package/dist/types/temporal-graph.d.ts.map +1 -0
  377. package/dist/types/temporal-graph.js +2 -0
  378. package/dist/types/temporal-graph.js.map +1 -0
  379. package/dist/utils/AuditLogger.d.ts +99 -0
  380. package/dist/utils/AuditLogger.d.ts.map +1 -0
  381. package/dist/utils/AuditLogger.js +303 -0
  382. package/dist/utils/AuditLogger.js.map +1 -0
  383. package/dist/utils/CacheManager.d.ts +56 -0
  384. package/dist/utils/CacheManager.d.ts.map +1 -0
  385. package/dist/utils/CacheManager.js +184 -0
  386. package/dist/utils/CacheManager.js.map +1 -0
  387. package/dist/utils/CircuitBreaker.d.ts +76 -0
  388. package/dist/utils/CircuitBreaker.d.ts.map +1 -0
  389. package/dist/utils/CircuitBreaker.js +236 -0
  390. package/dist/utils/CircuitBreaker.js.map +1 -0
  391. package/dist/utils/CostTracker.d.ts +83 -0
  392. package/dist/utils/CostTracker.d.ts.map +1 -0
  393. package/dist/utils/CostTracker.js +228 -0
  394. package/dist/utils/CostTracker.js.map +1 -0
  395. package/dist/utils/DockerSandbox.d.ts +39 -0
  396. package/dist/utils/DockerSandbox.d.ts.map +1 -0
  397. package/dist/utils/DockerSandbox.js +277 -0
  398. package/dist/utils/DockerSandbox.js.map +1 -0
  399. package/dist/utils/FinalizationCompressor.d.ts +70 -0
  400. package/dist/utils/FinalizationCompressor.d.ts.map +1 -0
  401. package/dist/utils/FinalizationCompressor.js +295 -0
  402. package/dist/utils/FinalizationCompressor.js.map +1 -0
  403. package/dist/utils/MetaKnowledgeManager.d.ts +63 -0
  404. package/dist/utils/MetaKnowledgeManager.d.ts.map +1 -0
  405. package/dist/utils/MetaKnowledgeManager.js +152 -0
  406. package/dist/utils/MetaKnowledgeManager.js.map +1 -0
  407. package/dist/utils/PatternIndexer.d.ts +83 -0
  408. package/dist/utils/PatternIndexer.d.ts.map +1 -0
  409. package/dist/utils/PatternIndexer.js +730 -0
  410. package/dist/utils/PatternIndexer.js.map +1 -0
  411. package/dist/utils/PatternUsageTracker.d.ts +97 -0
  412. package/dist/utils/PatternUsageTracker.d.ts.map +1 -0
  413. package/dist/utils/PatternUsageTracker.js +352 -0
  414. package/dist/utils/PatternUsageTracker.js.map +1 -0
  415. package/dist/utils/PatternVerifier.d.ts +71 -0
  416. package/dist/utils/PatternVerifier.d.ts.map +1 -0
  417. package/dist/utils/PatternVerifier.js +328 -0
  418. package/dist/utils/PatternVerifier.js.map +1 -0
  419. package/dist/utils/PatternVersionManager.d.ts +47 -0
  420. package/dist/utils/PatternVersionManager.d.ts.map +1 -0
  421. package/dist/utils/PatternVersionManager.js +308 -0
  422. package/dist/utils/PatternVersionManager.js.map +1 -0
  423. package/dist/utils/QdrantConnectionManager.d.ts +47 -0
  424. package/dist/utils/QdrantConnectionManager.d.ts.map +1 -0
  425. package/dist/utils/QdrantConnectionManager.js +228 -0
  426. package/dist/utils/QdrantConnectionManager.js.map +1 -0
  427. package/dist/utils/RateLimiter.d.ts +85 -0
  428. package/dist/utils/RateLimiter.d.ts.map +1 -0
  429. package/dist/utils/RateLimiter.js +300 -0
  430. package/dist/utils/RateLimiter.js.map +1 -0
  431. package/dist/utils/RecoveryEngine.d.ts +45 -0
  432. package/dist/utils/RecoveryEngine.d.ts.map +1 -0
  433. package/dist/utils/RecoveryEngine.js +268 -0
  434. package/dist/utils/RecoveryEngine.js.map +1 -0
  435. package/dist/utils/ResearchCoordinator.d.ts +30 -0
  436. package/dist/utils/ResearchCoordinator.d.ts.map +1 -0
  437. package/dist/utils/ResearchCoordinator.js +197 -0
  438. package/dist/utils/ResearchCoordinator.js.map +1 -0
  439. package/dist/utils/SessionCoordinator.d.ts +111 -0
  440. package/dist/utils/SessionCoordinator.d.ts.map +1 -0
  441. package/dist/utils/SessionCoordinator.js +1062 -0
  442. package/dist/utils/SessionCoordinator.js.map +1 -0
  443. package/dist/utils/SkillExecutor.d.ts +50 -0
  444. package/dist/utils/SkillExecutor.d.ts.map +1 -0
  445. package/dist/utils/SkillExecutor.js +396 -0
  446. package/dist/utils/SkillExecutor.js.map +1 -0
  447. package/dist/utils/StuckDetector.d.ts +43 -0
  448. package/dist/utils/StuckDetector.d.ts.map +1 -0
  449. package/dist/utils/StuckDetector.js +336 -0
  450. package/dist/utils/StuckDetector.js.map +1 -0
  451. package/dist/utils/TemporalGraphIndex.d.ts +33 -0
  452. package/dist/utils/TemporalGraphIndex.d.ts.map +1 -0
  453. package/dist/utils/TemporalGraphIndex.js +218 -0
  454. package/dist/utils/TemporalGraphIndex.js.map +1 -0
  455. package/dist/utils/artifacts.d.ts +35 -0
  456. package/dist/utils/artifacts.d.ts.map +1 -0
  457. package/dist/utils/artifacts.js +294 -0
  458. package/dist/utils/artifacts.js.map +1 -0
  459. package/dist/utils/consensusAggregator.d.ts +50 -0
  460. package/dist/utils/consensusAggregator.d.ts.map +1 -0
  461. package/dist/utils/consensusAggregator.js +195 -0
  462. package/dist/utils/consensusAggregator.js.map +1 -0
  463. package/dist/utils/contextBuilder.d.ts +58 -0
  464. package/dist/utils/contextBuilder.d.ts.map +1 -0
  465. package/dist/utils/contextBuilder.js +221 -0
  466. package/dist/utils/contextBuilder.js.map +1 -0
  467. package/dist/utils/costPricing.d.ts +11 -0
  468. package/dist/utils/costPricing.d.ts.map +1 -0
  469. package/dist/utils/costPricing.js +86 -0
  470. package/dist/utils/costPricing.js.map +1 -0
  471. package/dist/utils/filesystem.d.ts +16 -0
  472. package/dist/utils/filesystem.d.ts.map +1 -0
  473. package/dist/utils/filesystem.js +184 -0
  474. package/dist/utils/filesystem.js.map +1 -0
  475. package/dist/utils/llmStreamClient.d.ts +41 -0
  476. package/dist/utils/llmStreamClient.d.ts.map +1 -0
  477. package/dist/utils/llmStreamClient.js +257 -0
  478. package/dist/utils/llmStreamClient.js.map +1 -0
  479. package/dist/utils/memory.d.ts +22 -0
  480. package/dist/utils/memory.d.ts.map +1 -0
  481. package/dist/utils/memory.js +67 -0
  482. package/dist/utils/memory.js.map +1 -0
  483. package/dist/utils/memoryBank.d.ts +18 -0
  484. package/dist/utils/memoryBank.d.ts.map +1 -0
  485. package/dist/utils/memoryBank.js +128 -0
  486. package/dist/utils/memoryBank.js.map +1 -0
  487. package/dist/utils/metrics.d.ts +30 -0
  488. package/dist/utils/metrics.d.ts.map +1 -0
  489. package/dist/utils/metrics.js +208 -0
  490. package/dist/utils/metrics.js.map +1 -0
  491. package/dist/utils/pythonRunner.d.ts +7 -0
  492. package/dist/utils/pythonRunner.d.ts.map +1 -0
  493. package/dist/utils/pythonRunner.js +72 -0
  494. package/dist/utils/pythonRunner.js.map +1 -0
  495. package/dist/utils/responseParser.d.ts +15 -0
  496. package/dist/utils/responseParser.d.ts.map +1 -0
  497. package/dist/utils/responseParser.js +306 -0
  498. package/dist/utils/responseParser.js.map +1 -0
  499. package/dist/utils/rlvr/PythonSandbox.d.ts +16 -0
  500. package/dist/utils/rlvr/PythonSandbox.d.ts.map +1 -0
  501. package/dist/utils/rlvr/PythonSandbox.js +203 -0
  502. package/dist/utils/rlvr/PythonSandbox.js.map +1 -0
  503. package/dist/utils/rlvr/RewardComputer.d.ts +28 -0
  504. package/dist/utils/rlvr/RewardComputer.d.ts.map +1 -0
  505. package/dist/utils/rlvr/RewardComputer.js +227 -0
  506. package/dist/utils/rlvr/RewardComputer.js.map +1 -0
  507. package/dist/utils/rlvr/RewardHistoryStore.d.ts +48 -0
  508. package/dist/utils/rlvr/RewardHistoryStore.d.ts.map +1 -0
  509. package/dist/utils/rlvr/RewardHistoryStore.js +428 -0
  510. package/dist/utils/rlvr/RewardHistoryStore.js.map +1 -0
  511. package/dist/utils/rlvr/SQLSandbox.d.ts +21 -0
  512. package/dist/utils/rlvr/SQLSandbox.d.ts.map +1 -0
  513. package/dist/utils/rlvr/SQLSandbox.js +199 -0
  514. package/dist/utils/rlvr/SQLSandbox.js.map +1 -0
  515. package/dist/utils/rlvr/TestGenerator.d.ts +8 -0
  516. package/dist/utils/rlvr/TestGenerator.d.ts.map +1 -0
  517. package/dist/utils/rlvr/TestGenerator.js +216 -0
  518. package/dist/utils/rlvr/TestGenerator.js.map +1 -0
  519. package/dist/utils/rlvr/TestOrchestrator.d.ts +45 -0
  520. package/dist/utils/rlvr/TestOrchestrator.d.ts.map +1 -0
  521. package/dist/utils/rlvr/TestOrchestrator.js +331 -0
  522. package/dist/utils/rlvr/TestOrchestrator.js.map +1 -0
  523. package/dist/utils/rlvr/TypeScriptSandbox.d.ts +16 -0
  524. package/dist/utils/rlvr/TypeScriptSandbox.d.ts.map +1 -0
  525. package/dist/utils/rlvr/TypeScriptSandbox.js +244 -0
  526. package/dist/utils/rlvr/TypeScriptSandbox.js.map +1 -0
  527. package/dist/utils/rlvr/index.d.ts +9 -0
  528. package/dist/utils/rlvr/index.d.ts.map +1 -0
  529. package/dist/utils/rlvr/index.js +9 -0
  530. package/dist/utils/rlvr/index.js.map +1 -0
  531. package/dist/utils/rlvr/python_executor.py +309 -0
  532. package/dist/utils/rlvr/sql_executor.py +233 -0
  533. package/dist/utils/rlvr/test-orchestrator.d.ts +2 -0
  534. package/dist/utils/rlvr/test-orchestrator.d.ts.map +1 -0
  535. package/dist/utils/rlvr/test-orchestrator.js +200 -0
  536. package/dist/utils/rlvr/test-orchestrator.js.map +1 -0
  537. package/dist/utils/rlvr/test-persistence.d.ts +2 -0
  538. package/dist/utils/rlvr/test-persistence.d.ts.map +1 -0
  539. package/dist/utils/rlvr/test-persistence.js +175 -0
  540. package/dist/utils/rlvr/test-persistence.js.map +1 -0
  541. package/dist/utils/rlvr/test-rlvr.d.ts +2 -0
  542. package/dist/utils/rlvr/test-rlvr.d.ts.map +1 -0
  543. package/dist/utils/rlvr/test-rlvr.js +286 -0
  544. package/dist/utils/rlvr/test-rlvr.js.map +1 -0
  545. package/dist/utils/rlvr/test-sql.d.ts +2 -0
  546. package/dist/utils/rlvr/test-sql.d.ts.map +1 -0
  547. package/dist/utils/rlvr/test-sql.js +63 -0
  548. package/dist/utils/rlvr/test-sql.js.map +1 -0
  549. package/dist/utils/rlvr/types.d.ts +133 -0
  550. package/dist/utils/rlvr/types.d.ts.map +1 -0
  551. package/dist/utils/rlvr/types.js +8 -0
  552. package/dist/utils/rlvr/types.js.map +1 -0
  553. package/dist/utils/tokenEstimator.d.ts +4 -0
  554. package/dist/utils/tokenEstimator.d.ts.map +1 -0
  555. package/dist/utils/tokenEstimator.js +14 -0
  556. package/dist/utils/tokenEstimator.js.map +1 -0
  557. package/package.json +78 -0
@@ -0,0 +1,268 @@
1
+ import { GoogleGenAI } from "@google/genai";
2
+ import { readFile } from "fs/promises";
3
+ import { join } from "path";
4
+ import { homedir } from "os";
5
+ export class RecoveryEngine {
6
+ coordinator;
7
+ projectPath;
8
+ googleAI = null;
9
+ constructor(coordinator, projectPath) {
10
+ this.coordinator = coordinator;
11
+ this.projectPath = projectPath.replace(/^~/, homedir());
12
+ const geminiApiKey = process.env.GEMINI_API_KEY;
13
+ if (geminiApiKey) {
14
+ this.googleAI = new GoogleGenAI({ apiKey: geminiApiKey });
15
+ }
16
+ }
17
+ async generateSuggestions(stuckPattern, limit = 3) {
18
+ const startTime = Date.now();
19
+ const searchDuration = { qdrant: 0, googleFS: 0, total: 0 };
20
+ try {
21
+ const query = this.buildSearchQuery(stuckPattern);
22
+ const qdrantStart = Date.now();
23
+ const currentSessionResults = await this.searchCurrentSession(query);
24
+ searchDuration.qdrant = Date.now() - qdrantStart;
25
+ const googleFSStart = Date.now();
26
+ const historicalResults = await this.searchHistoricalSessions(query);
27
+ searchDuration.googleFS = Date.now() - googleFSStart;
28
+ const allSuggestions = [...currentSessionResults, ...historicalResults];
29
+ const rankedSuggestions = this.rankSuggestions(allSuggestions, stuckPattern);
30
+ const topSuggestions = rankedSuggestions.slice(0, limit);
31
+ searchDuration.total = Date.now() - startTime;
32
+ return {
33
+ stuckPattern,
34
+ suggestions: topSuggestions,
35
+ searchDuration,
36
+ };
37
+ }
38
+ catch (error) {
39
+ console.error(`❌ Failed to generate suggestions: ${error.message}`);
40
+ searchDuration.total = Date.now() - startTime;
41
+ return {
42
+ stuckPattern,
43
+ suggestions: [],
44
+ searchDuration,
45
+ };
46
+ }
47
+ }
48
+ buildSearchQuery(pattern) {
49
+ const { type, details } = pattern;
50
+ if (type === "repeated_blocker") {
51
+ const blockerContent = details.evidence[0] || "";
52
+ const content = blockerContent.replace(/^\[.*?\]\s*/, "");
53
+ return `solution for: ${content}`;
54
+ }
55
+ else if (type === "error_loop") {
56
+ const errorContent = details.evidence[0] || "";
57
+ const content = errorContent.replace(/^\[.*?\]\s*/, "");
58
+ return `fix for: ${content}`;
59
+ }
60
+ else if (type === "no_progress") {
61
+ return "overcome development blocker productivity tips";
62
+ }
63
+ return "development problem solution";
64
+ }
65
+ async searchCurrentSession(query) {
66
+ try {
67
+ const results = await this.coordinator.search(query, 10);
68
+ const solutionNotes = results.filter((r) => r.type === "decision" ||
69
+ r.type === "learning" ||
70
+ r.type === "pattern");
71
+ return solutionNotes.map((note) => ({
72
+ title: this.extractTitle(note.content),
73
+ description: note.content,
74
+ source: "current_session",
75
+ relevanceScore: note.score,
76
+ implementation: {
77
+ steps: this.extractSteps(note.content),
78
+ codeExample: this.extractCodeExample(note.content),
79
+ references: [note.timestamp],
80
+ },
81
+ metadata: {
82
+ timestamp: note.timestamp,
83
+ },
84
+ }));
85
+ }
86
+ catch (error) {
87
+ console.error(`❌ Current session search failed: ${error.message}`);
88
+ return [];
89
+ }
90
+ }
91
+ async searchHistoricalSessions(query) {
92
+ if (!this.googleAI) {
93
+ return [];
94
+ }
95
+ try {
96
+ const configPath = join(this.projectPath, ".gemini-config.json");
97
+ let config;
98
+ try {
99
+ const configContent = await readFile(configPath, "utf-8");
100
+ config = JSON.parse(configContent);
101
+ }
102
+ catch {
103
+ return [];
104
+ }
105
+ if (!config.enabled) {
106
+ return [];
107
+ }
108
+ const storesResponse = await this.googleAI.fileSearchStores.list();
109
+ const stores = [];
110
+ for await (const store of storesResponse) {
111
+ stores.push(store);
112
+ }
113
+ const store = stores.find((s) => s.displayName === config.store_name);
114
+ if (!store) {
115
+ return [];
116
+ }
117
+ const response = await this.googleAI.models.generateContent({
118
+ model: "gemini-2.0-flash",
119
+ contents: `Find solutions and approaches related to: ${query}.
120
+ Focus on decisions, patterns, and learnings that could help solve this problem.
121
+ Return specific, actionable suggestions.`,
122
+ config: {
123
+ tools: [
124
+ {
125
+ fileSearch: {
126
+ fileSearchStoreNames: [store.name],
127
+ },
128
+ },
129
+ ],
130
+ },
131
+ });
132
+ const answer = response.text || "";
133
+ const groundingChunks = response.candidates?.[0]?.groundingMetadata?.groundingChunks || [];
134
+ const suggestions = [];
135
+ if (answer && answer.length > 50) {
136
+ suggestions.push({
137
+ title: this.extractTitle(answer),
138
+ description: answer,
139
+ source: "past_session",
140
+ relevanceScore: 0.8,
141
+ implementation: {
142
+ steps: this.extractSteps(answer),
143
+ codeExample: this.extractCodeExample(answer),
144
+ references: groundingChunks
145
+ .map((c) => c.uri || "unknown")
146
+ .slice(0, 3),
147
+ },
148
+ metadata: {
149
+ sessionId: this.extractSessionIdFromChunks(groundingChunks),
150
+ timestamp: new Date().toISOString(),
151
+ successRate: 0.7,
152
+ },
153
+ });
154
+ }
155
+ for (const chunk of groundingChunks.slice(0, 3)) {
156
+ const chunkContent = chunk.text || chunk.title || "";
157
+ if (chunkContent.length > 30) {
158
+ suggestions.push({
159
+ title: chunk.title || this.extractTitle(chunkContent),
160
+ description: chunkContent,
161
+ source: "past_session",
162
+ relevanceScore: 0.6,
163
+ implementation: {
164
+ steps: this.extractSteps(chunkContent),
165
+ codeExample: this.extractCodeExample(chunkContent),
166
+ references: [chunk.uri || "unknown"],
167
+ },
168
+ metadata: {
169
+ sessionId: this.extractSessionIdFromUri(chunk.uri),
170
+ timestamp: new Date().toISOString(),
171
+ successRate: 0.6,
172
+ },
173
+ });
174
+ }
175
+ }
176
+ return suggestions;
177
+ }
178
+ catch (error) {
179
+ console.error(`❌ Historical session search failed: ${error.message}`);
180
+ return [];
181
+ }
182
+ }
183
+ extractSessionIdFromChunks(chunks) {
184
+ for (const chunk of chunks) {
185
+ const sessionId = this.extractSessionIdFromUri(chunk.uri);
186
+ if (sessionId)
187
+ return sessionId;
188
+ }
189
+ return undefined;
190
+ }
191
+ extractSessionIdFromUri(uri) {
192
+ if (!uri)
193
+ return undefined;
194
+ const dateMatch = uri.match(/(\d{4}-\d{2}-\d{2})/);
195
+ if (dateMatch) {
196
+ return dateMatch[1];
197
+ }
198
+ return undefined;
199
+ }
200
+ rankSuggestions(suggestions, _stuckPattern) {
201
+ return suggestions
202
+ .map((suggestion) => {
203
+ const relevanceWeight = 0.5;
204
+ const recencyWeight = 0.3;
205
+ const successWeight = 0.2;
206
+ const relevanceScore = suggestion.relevanceScore;
207
+ const recencyScore = this.calculateRecencyScore(suggestion.metadata.timestamp);
208
+ const successScore = suggestion.metadata.successRate || 0.5;
209
+ const compositeScore = relevanceWeight * relevanceScore +
210
+ recencyWeight * recencyScore +
211
+ successWeight * successScore;
212
+ return {
213
+ ...suggestion,
214
+ compositeScore,
215
+ };
216
+ })
217
+ .sort((a, b) => (b.compositeScore || 0) - (a.compositeScore || 0))
218
+ .map(({ compositeScore, ...suggestion }) => suggestion);
219
+ }
220
+ calculateRecencyScore(timestamp) {
221
+ if (!timestamp)
222
+ return 0.5;
223
+ const now = Date.now();
224
+ const noteTime = new Date(timestamp).getTime();
225
+ const ageMs = now - noteTime;
226
+ const ageHours = ageMs / (1000 * 60 * 60);
227
+ if (ageHours < 1)
228
+ return 1.0;
229
+ if (ageHours < 24)
230
+ return 0.7;
231
+ if (ageHours < 24 * 7)
232
+ return 0.4;
233
+ return 0.2;
234
+ }
235
+ extractTitle(content) {
236
+ const firstSentence = content.match(/^[^.!?]+[.!?]/);
237
+ if (firstSentence) {
238
+ return firstSentence[0].trim();
239
+ }
240
+ return content.slice(0, 50) + (content.length > 50 ? "..." : "");
241
+ }
242
+ extractSteps(content) {
243
+ const numberedSteps = content.match(/^\d+\.\s+(.+)$/gm);
244
+ if (numberedSteps) {
245
+ return numberedSteps.map((step) => step.replace(/^\d+\.\s+/, ""));
246
+ }
247
+ const bulletSteps = content.match(/^[-*]\s+(.+)$/gm);
248
+ if (bulletSteps) {
249
+ return bulletSteps.map((step) => step.replace(/^[-*]\s+/, ""));
250
+ }
251
+ const sentences = content
252
+ .split(/[.!?]+/)
253
+ .filter((s) => s.trim().length > 0);
254
+ return sentences.slice(0, 3).map((s) => s.trim());
255
+ }
256
+ extractCodeExample(content) {
257
+ const codeBlock = content.match(/```[\s\S]*?```/);
258
+ if (codeBlock) {
259
+ return codeBlock[0].replace(/```\w*\n?/g, "").trim();
260
+ }
261
+ const inlineCode = content.match(/`[^`]+`/g);
262
+ if (inlineCode && inlineCode.length > 2) {
263
+ return inlineCode.join("\n");
264
+ }
265
+ return undefined;
266
+ }
267
+ }
268
+ //# sourceMappingURL=RecoveryEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecoveryEngine.js","sourceRoot":"","sources":["../../src/utils/RecoveryEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { ResearchPlan, ResearchSession, ResearchSessionStatus, ResearchBlocker, ResearchProgress, ResearchSessionSummary } from "../types/research.js";
2
+ export declare function generatePlanId(): string;
3
+ export declare function generateSessionId(planId: string): string;
4
+ export declare function storePendingPlan(planId: string, plan: ResearchPlan, projectPath: string): void;
5
+ export declare function getPendingPlan(planId: string): {
6
+ plan: ResearchPlan;
7
+ projectPath: string;
8
+ createdAt: string;
9
+ } | undefined;
10
+ export declare function removePendingPlan(planId: string): void;
11
+ export declare function createResearchSession(planId: string, plan: ResearchPlan, _projectPath: string): ResearchSession;
12
+ export declare function getResearchSession(sessionId: string): ResearchSession | undefined;
13
+ export declare function getCurrentResearchSession(): ResearchSession | undefined;
14
+ export declare function updateSessionStatus(sessionId: string, status: ResearchSessionStatus): void;
15
+ export declare function updateCurrentStep(sessionId: string, stepNumber: number, artifactGenerated?: string): void;
16
+ export declare function addBlocker(sessionId: string, blocker: ResearchBlocker): void;
17
+ export declare function resolveBlocker(sessionId: string, stepNumber: number): void;
18
+ export declare function getResearchProgress(sessionId: string): ResearchProgress | undefined;
19
+ export declare function listResearchSessions(filter?: "all" | "active" | "complete" | "failed"): ResearchSessionSummary[];
20
+ export declare function setFindingsPath(sessionId: string, findingsPath: string): void;
21
+ export declare function persistSession(sessionId: string, projectPath: string): Promise<string>;
22
+ export declare function loadSession(sessionId: string, projectPath: string): Promise<ResearchSession | undefined>;
23
+ export declare function clearAllSessions(): void;
24
+ export declare function getSessionStats(): {
25
+ total: number;
26
+ active: number;
27
+ complete: number;
28
+ failed: number;
29
+ };
30
+ //# sourceMappingURL=ResearchCoordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResearchCoordinator.d.ts","sourceRoot":"","sources":["../../src/utils/ResearchCoordinator.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAc9B,wBAAgB,cAAc,IAAI,MAAM,CAIvC;AAKD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AAKD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,EAClB,WAAW,EAAE,MAAM,GAClB,IAAI,CAMN;AAKD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GACzC;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD,SAAS,CAEZ;AAKD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEtD;AAKD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,MAAM,GACnB,eAAe,CAiBjB;AAKD,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,SAAS,CAE7B;AAKD,wBAAgB,yBAAyB,IAAI,eAAe,GAAG,SAAS,CAQvE;AAKD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,qBAAqB,GAC5B,IAAI,CAWN;AAKD,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI,CAYN;AAKD,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAY5E;AAKD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAgB1E;AAKD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,GAChB,gBAAgB,GAAG,SAAS,CAgC9B;AAKD,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAChD,sBAAsB,EAAE,CA6B1B;AAKD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAK7E;AAKD,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAejB;AAKD,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAkBtC;AAKD,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAKD,wBAAgB,eAAe,IAAI;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAWA"}
@@ -0,0 +1,197 @@
1
+ import * as fs from "fs/promises";
2
+ import * as path from "path";
3
+ const activeSessions = new Map();
4
+ const pendingPlans = new Map();
5
+ export function generatePlanId() {
6
+ const timestamp = Date.now();
7
+ const random = Math.random().toString(36).substring(2, 8);
8
+ return `plan-${timestamp}-${random}`;
9
+ }
10
+ export function generateSessionId(planId) {
11
+ return `research-${planId.replace("plan-", "")}`;
12
+ }
13
+ export function storePendingPlan(planId, plan, projectPath) {
14
+ pendingPlans.set(planId, {
15
+ plan,
16
+ projectPath,
17
+ createdAt: new Date().toISOString(),
18
+ });
19
+ }
20
+ export function getPendingPlan(planId) {
21
+ return pendingPlans.get(planId);
22
+ }
23
+ export function removePendingPlan(planId) {
24
+ pendingPlans.delete(planId);
25
+ }
26
+ export function createResearchSession(planId, plan, _projectPath) {
27
+ const sessionId = generateSessionId(planId);
28
+ const session = {
29
+ sessionId,
30
+ planId,
31
+ question: plan.question,
32
+ plan,
33
+ status: "approved",
34
+ currentStep: 0,
35
+ startedAt: new Date().toISOString(),
36
+ artifactsGenerated: [],
37
+ };
38
+ activeSessions.set(sessionId, session);
39
+ return session;
40
+ }
41
+ export function getResearchSession(sessionId) {
42
+ return activeSessions.get(sessionId);
43
+ }
44
+ export function getCurrentResearchSession() {
45
+ const sessions = Array.from(activeSessions.values());
46
+ if (sessions.length === 0)
47
+ return undefined;
48
+ return sessions.sort((a, b) => new Date(b.startedAt).getTime() - new Date(a.startedAt).getTime())[0];
49
+ }
50
+ export function updateSessionStatus(sessionId, status) {
51
+ const session = activeSessions.get(sessionId);
52
+ if (!session) {
53
+ throw new Error(`Research session not found: ${sessionId}`);
54
+ }
55
+ session.status = status;
56
+ if (status === "complete" || status === "failed") {
57
+ session.completedAt = new Date().toISOString();
58
+ }
59
+ }
60
+ export function updateCurrentStep(sessionId, stepNumber, artifactGenerated) {
61
+ const session = activeSessions.get(sessionId);
62
+ if (!session) {
63
+ throw new Error(`Research session not found: ${sessionId}`);
64
+ }
65
+ session.currentStep = stepNumber;
66
+ session.status = "executing";
67
+ if (artifactGenerated) {
68
+ session.artifactsGenerated.push(artifactGenerated);
69
+ }
70
+ }
71
+ export function addBlocker(sessionId, blocker) {
72
+ const session = activeSessions.get(sessionId);
73
+ if (!session) {
74
+ throw new Error(`Research session not found: ${sessionId}`);
75
+ }
76
+ if (!session.blockers) {
77
+ session.blockers = [];
78
+ }
79
+ session.blockers.push(blocker);
80
+ session.status = "paused";
81
+ }
82
+ export function resolveBlocker(sessionId, stepNumber) {
83
+ const session = activeSessions.get(sessionId);
84
+ if (!session || !session.blockers) {
85
+ return;
86
+ }
87
+ const blocker = session.blockers.find((b) => b.step === stepNumber);
88
+ if (blocker) {
89
+ blocker.resolvedAt = new Date().toISOString();
90
+ }
91
+ const unresolvedBlockers = session.blockers.filter((b) => !b.resolvedAt);
92
+ if (unresolvedBlockers.length === 0) {
93
+ session.status = "executing";
94
+ }
95
+ }
96
+ export function getResearchProgress(sessionId) {
97
+ const session = activeSessions.get(sessionId);
98
+ if (!session)
99
+ return undefined;
100
+ const totalSteps = session.plan.steps.length;
101
+ const stepsCompleted = session.currentStep;
102
+ const stepsPending = totalSteps - stepsCompleted;
103
+ const remainingSteps = session.plan.steps.slice(stepsCompleted);
104
+ const remainingMinutes = remainingSteps.reduce((sum, step) => sum + step.estimatedMinutes, 0);
105
+ const currentStepDesc = session.plan.steps[stepsCompleted]?.action || "Completed";
106
+ return {
107
+ sessionId: session.sessionId,
108
+ status: session.status,
109
+ currentStep: session.currentStep,
110
+ totalSteps,
111
+ stepDescription: currentStepDesc,
112
+ progress: {
113
+ stepsCompleted,
114
+ stepsPending,
115
+ artifactsGenerated: session.artifactsGenerated,
116
+ },
117
+ blockers: session.blockers?.filter((b) => !b.resolvedAt),
118
+ estimatedRemaining: formatDuration(remainingMinutes),
119
+ };
120
+ }
121
+ export function listResearchSessions(filter) {
122
+ const sessions = Array.from(activeSessions.values());
123
+ const filtered = sessions.filter((session) => {
124
+ if (!filter || filter === "all")
125
+ return true;
126
+ if (filter === "active") {
127
+ return ["planning", "approved", "executing", "paused"].includes(session.status);
128
+ }
129
+ return session.status === filter;
130
+ });
131
+ return filtered
132
+ .map((session) => ({
133
+ sessionId: session.sessionId,
134
+ question: session.question,
135
+ status: session.status,
136
+ startedAt: session.startedAt,
137
+ completedAt: session.completedAt,
138
+ progress: `${session.currentStep}/${session.plan.steps.length} steps`,
139
+ findingsPath: session.findingsPath,
140
+ }))
141
+ .sort((a, b) => new Date(b.startedAt).getTime() - new Date(a.startedAt).getTime());
142
+ }
143
+ export function setFindingsPath(sessionId, findingsPath) {
144
+ const session = activeSessions.get(sessionId);
145
+ if (session) {
146
+ session.findingsPath = findingsPath;
147
+ }
148
+ }
149
+ export async function persistSession(sessionId, projectPath) {
150
+ const session = activeSessions.get(sessionId);
151
+ if (!session) {
152
+ throw new Error(`Research session not found: ${sessionId}`);
153
+ }
154
+ const researchDir = path.join(projectPath, ".agent-research");
155
+ await fs.mkdir(researchDir, { recursive: true });
156
+ const sessionPath = path.join(researchDir, `${sessionId}.json`);
157
+ await fs.writeFile(sessionPath, JSON.stringify(session, null, 2), "utf-8");
158
+ return sessionPath;
159
+ }
160
+ export async function loadSession(sessionId, projectPath) {
161
+ const sessionPath = path.join(projectPath, ".agent-research", `${sessionId}.json`);
162
+ try {
163
+ const content = await fs.readFile(sessionPath, "utf-8");
164
+ const session = JSON.parse(content);
165
+ activeSessions.set(sessionId, session);
166
+ return session;
167
+ }
168
+ catch {
169
+ return undefined;
170
+ }
171
+ }
172
+ export function clearAllSessions() {
173
+ activeSessions.clear();
174
+ pendingPlans.clear();
175
+ }
176
+ export function getSessionStats() {
177
+ const sessions = Array.from(activeSessions.values());
178
+ return {
179
+ total: sessions.length,
180
+ active: sessions.filter((s) => ["planning", "approved", "executing", "paused"].includes(s.status)).length,
181
+ complete: sessions.filter((s) => s.status === "complete").length,
182
+ failed: sessions.filter((s) => s.status === "failed").length,
183
+ };
184
+ }
185
+ function formatDuration(minutes) {
186
+ if (minutes < 1)
187
+ return "< 1 min";
188
+ if (minutes < 60)
189
+ return `${minutes} min`;
190
+ const hours = Math.floor(minutes / 60);
191
+ const remainingMinutes = minutes % 60;
192
+ if (remainingMinutes === 0) {
193
+ return `${hours} hr`;
194
+ }
195
+ return `${hours} hr ${remainingMinutes} min`;
196
+ }
197
+ //# sourceMappingURL=ResearchCoordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResearchCoordinator.js","sourceRoot":"","sources":["../../src/utils/ResearchCoordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ export interface SessionNote {
2
+ type: "decision" | "hypothesis" | "blocker" | "learning" | "pattern" | "constraint" | "finding" | "prior_knowledge" | "decision_point" | "branch";
3
+ content: string;
4
+ metadata?: Record<string, any>;
5
+ }
6
+ export interface VerificationMetadata {
7
+ verified?: boolean;
8
+ verificationMethod?: string;
9
+ sources?: string[];
10
+ limitations?: string[];
11
+ }
12
+ export interface Constraint {
13
+ id: string;
14
+ content: string;
15
+ detected_from: "auto" | "explicit";
16
+ timestamp: string;
17
+ scope: "session" | "task" | "file";
18
+ status: "active" | "lifted";
19
+ keywords: string[];
20
+ violated_count: number;
21
+ metadata?: Record<string, any>;
22
+ }
23
+ export interface SearchResult {
24
+ score: number;
25
+ type: string;
26
+ content: string;
27
+ timestamp: string;
28
+ metadata?: Record<string, any>;
29
+ }
30
+ export interface InitializeResult {
31
+ memoryBankSeeding?: {
32
+ query: string;
33
+ count: number;
34
+ };
35
+ archiveSeeding?: {
36
+ sessionCount: number;
37
+ insightCount: number;
38
+ };
39
+ }
40
+ export declare class SessionCoordinator {
41
+ private qdrant;
42
+ private genai;
43
+ private sessionId;
44
+ private projectPath;
45
+ private collectionName;
46
+ constructor(sessionId: string, projectPath: string);
47
+ private withQdrantCircuitBreaker;
48
+ initialize(seedTopic?: string): Promise<InitializeResult>;
49
+ private ensurePayloadIndex;
50
+ private seedFromMemoryBank;
51
+ private seedFromArchive;
52
+ private extractInsightsFromAnswer;
53
+ saveNote(note: SessionNote): Promise<void>;
54
+ search(query: string, limit?: number): Promise<SearchResult[]>;
55
+ checkDuplicate(description: string, threshold?: number): Promise<SearchResult[]>;
56
+ getNotesByType(type: SessionNote["type"]): Promise<SearchResult[]>;
57
+ extractValuableMemories(): Promise<SearchResult[]>;
58
+ cleanup(): Promise<void>;
59
+ private generateEmbedding;
60
+ getStats(): Promise<{
61
+ collection: string;
62
+ sessionId: string;
63
+ totalNotes: number;
64
+ notesByType: Record<string, number>;
65
+ }>;
66
+ trackConstraint(content: string, detectedFrom?: "auto" | "explicit", scope?: "session" | "task" | "file", keywords?: string[]): Promise<Constraint>;
67
+ getActiveConstraints(): Promise<Constraint[]>;
68
+ liftConstraint(constraintId: string): Promise<void>;
69
+ checkViolation(proposedAction: string): Promise<{
70
+ violated: boolean;
71
+ violations: Array<{
72
+ constraint: Constraint;
73
+ severity: "high" | "medium" | "low";
74
+ reason: string;
75
+ scores: {
76
+ semantic: number;
77
+ keyword: number;
78
+ rrf: number;
79
+ };
80
+ }>;
81
+ }>;
82
+ private extractKeywords;
83
+ private calculateKeywordScore;
84
+ private calculateRRFScore;
85
+ private rankByScore;
86
+ private cosineSimilarity;
87
+ saveNoteWithId(note: SessionNote, relationships?: {
88
+ preceded_by?: number[];
89
+ caused_by?: number[];
90
+ validated_by?: number[];
91
+ related_to?: number[];
92
+ }): Promise<number>;
93
+ addRelationship(sourceNoteId: number, targetNoteId: number, relationshipType: "preceded_by" | "caused_by" | "validated_by" | "superseded_by" | "related_to"): Promise<void>;
94
+ getNoteById(pointId: number): Promise<SearchResult | null>;
95
+ getRelatedNotes(pointId: number, relationshipType?: "preceded_by" | "caused_by" | "validated_by" | "superseded_by" | "related_to"): Promise<Array<SearchResult & {
96
+ relationship: string;
97
+ }>>;
98
+ searchWithRelationships(query: string, limit?: number, includeRelationships?: boolean): Promise<Array<SearchResult & {
99
+ relatedNotes?: Array<SearchResult & {
100
+ relationship: string;
101
+ }>;
102
+ }>>;
103
+ getCausalChain(startPointId: number, maxDepth?: number): Promise<Array<SearchResult & {
104
+ depth: number;
105
+ relationship: string;
106
+ }>>;
107
+ getValidatingNotes(decisionId: number, maxResults?: number): Promise<Array<SearchResult & {
108
+ relationship: string;
109
+ }>>;
110
+ }
111
+ //# sourceMappingURL=SessionCoordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionCoordinator.d.ts","sourceRoot":"","sources":["../../src/utils/SessionCoordinator.ts"],"names":[],"mappings":"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"}