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,85 @@
1
+ export interface RateLimiterConfig {
2
+ name: string;
3
+ maxTokens: number;
4
+ refillRate: number;
5
+ maxRequestsPerMinute?: number;
6
+ maxWaitMs?: number;
7
+ onRateLimited?: (stats: RateLimitStats) => void;
8
+ }
9
+ export interface RateLimitStats {
10
+ serviceName: string;
11
+ currentTokens: number;
12
+ maxTokens: number;
13
+ refillRate: number;
14
+ requestsThisMinute: number;
15
+ requestsAllowed: number;
16
+ requestsRejected: number;
17
+ totalRequests: number;
18
+ totalWaitTimeMs: number;
19
+ lastRequest: Date | null;
20
+ lastRefill: Date;
21
+ isLimited: boolean;
22
+ }
23
+ export declare class RateLimitError extends Error {
24
+ readonly serviceName: string;
25
+ readonly retryAfterMs: number;
26
+ constructor(message: string, serviceName: string, retryAfterMs: number);
27
+ }
28
+ export declare class RateLimiter {
29
+ private tokens;
30
+ private lastRefill;
31
+ private requestsThisMinute;
32
+ private minuteStart;
33
+ private requestsAllowed;
34
+ private requestsRejected;
35
+ private totalRequests;
36
+ private totalWaitTimeMs;
37
+ private lastRequest;
38
+ private waitQueue;
39
+ private processingQueue;
40
+ private readonly name;
41
+ private readonly maxTokens;
42
+ private readonly refillRate;
43
+ private readonly maxRequestsPerMinute;
44
+ private readonly maxWaitMs;
45
+ private readonly onRateLimited?;
46
+ constructor(config: RateLimiterConfig);
47
+ acquire(tokensNeeded?: number): Promise<void>;
48
+ tryAcquire(tokensNeeded?: number): boolean;
49
+ execute<T>(operation: () => Promise<T>, tokensNeeded?: number): Promise<T>;
50
+ isAllowed(tokensNeeded?: number): boolean;
51
+ getStats(): RateLimitStats;
52
+ reset(): void;
53
+ getWaitTimeMs(tokensNeeded?: number): number;
54
+ private refillBucket;
55
+ private checkMinuteReset;
56
+ private msUntilMinuteReset;
57
+ private consumeTokens;
58
+ private handleRateLimited;
59
+ private waitForMinuteReset;
60
+ private queueRequest;
61
+ private processQueue;
62
+ }
63
+ declare class RateLimiterRegistry {
64
+ private limiters;
65
+ private defaultConfig;
66
+ getLimiter(name: string, config?: Partial<RateLimiterConfig>): RateLimiter;
67
+ getAllStats(): Record<string, RateLimitStats>;
68
+ resetAll(): void;
69
+ hasLimitedServices(): boolean;
70
+ getLimitedServices(): string[];
71
+ setDefaultConfig(config: Partial<RateLimiterConfig>): void;
72
+ clear(): void;
73
+ }
74
+ export declare function getRateLimiterRegistry(): RateLimiterRegistry;
75
+ export declare function getRateLimiter(serviceName: string, config?: Partial<RateLimiterConfig>): RateLimiter;
76
+ export declare const ServiceRateLimiters: {
77
+ openaiEmbeddings: () => RateLimiter;
78
+ openaiChat: () => RateLimiter;
79
+ gemini: () => RateLimiter;
80
+ qdrant: () => RateLimiter;
81
+ googleFileSearch: () => RateLimiter;
82
+ openrouter: () => RateLimiter;
83
+ };
84
+ export {};
85
+ //# sourceMappingURL=RateLimiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RateLimiter.d.ts","sourceRoot":"","sources":["../../src/utils/RateLimiter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,300 @@
1
+ export class RateLimitError extends Error {
2
+ serviceName;
3
+ retryAfterMs;
4
+ constructor(message, serviceName, retryAfterMs) {
5
+ super(message);
6
+ this.serviceName = serviceName;
7
+ this.retryAfterMs = retryAfterMs;
8
+ this.name = "RateLimitError";
9
+ }
10
+ }
11
+ export class RateLimiter {
12
+ tokens;
13
+ lastRefill;
14
+ requestsThisMinute = 0;
15
+ minuteStart;
16
+ requestsAllowed = 0;
17
+ requestsRejected = 0;
18
+ totalRequests = 0;
19
+ totalWaitTimeMs = 0;
20
+ lastRequest = null;
21
+ waitQueue = [];
22
+ processingQueue = false;
23
+ name;
24
+ maxTokens;
25
+ refillRate;
26
+ maxRequestsPerMinute;
27
+ maxWaitMs;
28
+ onRateLimited;
29
+ constructor(config) {
30
+ this.name = config.name;
31
+ this.maxTokens = config.maxTokens;
32
+ this.refillRate = config.refillRate;
33
+ this.maxRequestsPerMinute = config.maxRequestsPerMinute ?? Infinity;
34
+ this.maxWaitMs = config.maxWaitMs ?? 0;
35
+ this.onRateLimited = config.onRateLimited;
36
+ this.tokens = this.maxTokens;
37
+ this.lastRefill = new Date();
38
+ this.minuteStart = new Date();
39
+ }
40
+ async acquire(tokensNeeded = 1) {
41
+ this.totalRequests++;
42
+ this.lastRequest = new Date();
43
+ this.refillBucket();
44
+ this.checkMinuteReset();
45
+ if (this.requestsThisMinute >= this.maxRequestsPerMinute) {
46
+ const waitMs = this.msUntilMinuteReset();
47
+ if (this.maxWaitMs > 0 && waitMs <= this.maxWaitMs) {
48
+ await this.waitForMinuteReset(waitMs);
49
+ }
50
+ else {
51
+ this.handleRateLimited(waitMs);
52
+ throw new RateLimitError(`Rate limited: ${this.name} exceeded ${this.maxRequestsPerMinute} requests/minute`, this.name, waitMs);
53
+ }
54
+ }
55
+ if (this.tokens >= tokensNeeded) {
56
+ this.consumeTokens(tokensNeeded);
57
+ return;
58
+ }
59
+ const tokensShort = tokensNeeded - this.tokens;
60
+ const waitMs = Math.ceil((tokensShort / this.refillRate) * 1000);
61
+ if (this.maxWaitMs > 0 && waitMs <= this.maxWaitMs) {
62
+ await this.queueRequest(tokensNeeded, waitMs);
63
+ }
64
+ else {
65
+ this.handleRateLimited(waitMs);
66
+ throw new RateLimitError(`Rate limited: ${this.name} needs ${tokensNeeded} tokens, has ${Math.floor(this.tokens)}`, this.name, waitMs);
67
+ }
68
+ }
69
+ tryAcquire(tokensNeeded = 1) {
70
+ this.totalRequests++;
71
+ this.lastRequest = new Date();
72
+ this.refillBucket();
73
+ this.checkMinuteReset();
74
+ if (this.requestsThisMinute >= this.maxRequestsPerMinute) {
75
+ this.handleRateLimited(this.msUntilMinuteReset());
76
+ return false;
77
+ }
78
+ if (this.tokens >= tokensNeeded) {
79
+ this.consumeTokens(tokensNeeded);
80
+ return true;
81
+ }
82
+ const tokensShort = tokensNeeded - this.tokens;
83
+ const waitMs = Math.ceil((tokensShort / this.refillRate) * 1000);
84
+ this.handleRateLimited(waitMs);
85
+ return false;
86
+ }
87
+ async execute(operation, tokensNeeded = 1) {
88
+ await this.acquire(tokensNeeded);
89
+ return operation();
90
+ }
91
+ isAllowed(tokensNeeded = 1) {
92
+ this.refillBucket();
93
+ this.checkMinuteReset();
94
+ return (this.requestsThisMinute < this.maxRequestsPerMinute &&
95
+ this.tokens >= tokensNeeded);
96
+ }
97
+ getStats() {
98
+ this.refillBucket();
99
+ this.checkMinuteReset();
100
+ return {
101
+ serviceName: this.name,
102
+ currentTokens: Math.floor(this.tokens),
103
+ maxTokens: this.maxTokens,
104
+ refillRate: this.refillRate,
105
+ requestsThisMinute: this.requestsThisMinute,
106
+ requestsAllowed: this.requestsAllowed,
107
+ requestsRejected: this.requestsRejected,
108
+ totalRequests: this.totalRequests,
109
+ totalWaitTimeMs: this.totalWaitTimeMs,
110
+ lastRequest: this.lastRequest,
111
+ lastRefill: this.lastRefill,
112
+ isLimited: !this.isAllowed(),
113
+ };
114
+ }
115
+ reset() {
116
+ this.tokens = this.maxTokens;
117
+ this.lastRefill = new Date();
118
+ this.requestsThisMinute = 0;
119
+ this.minuteStart = new Date();
120
+ this.waitQueue = [];
121
+ }
122
+ getWaitTimeMs(tokensNeeded = 1) {
123
+ this.refillBucket();
124
+ this.checkMinuteReset();
125
+ if (this.requestsThisMinute >= this.maxRequestsPerMinute) {
126
+ return this.msUntilMinuteReset();
127
+ }
128
+ if (this.tokens >= tokensNeeded) {
129
+ return 0;
130
+ }
131
+ const tokensShort = tokensNeeded - this.tokens;
132
+ return Math.ceil((tokensShort / this.refillRate) * 1000);
133
+ }
134
+ refillBucket() {
135
+ const now = new Date();
136
+ const elapsedMs = now.getTime() - this.lastRefill.getTime();
137
+ const tokensToAdd = (elapsedMs / 1000) * this.refillRate;
138
+ this.tokens = Math.min(this.maxTokens, this.tokens + tokensToAdd);
139
+ this.lastRefill = now;
140
+ }
141
+ checkMinuteReset() {
142
+ const now = new Date();
143
+ if (now.getTime() - this.minuteStart.getTime() >= 60000) {
144
+ this.requestsThisMinute = 0;
145
+ this.minuteStart = now;
146
+ }
147
+ }
148
+ msUntilMinuteReset() {
149
+ const elapsed = Date.now() - this.minuteStart.getTime();
150
+ return Math.max(0, 60000 - elapsed);
151
+ }
152
+ consumeTokens(tokensNeeded) {
153
+ this.tokens -= tokensNeeded;
154
+ this.requestsThisMinute++;
155
+ this.requestsAllowed++;
156
+ }
157
+ handleRateLimited(waitMs) {
158
+ this.requestsRejected++;
159
+ this.onRateLimited?.(this.getStats());
160
+ console.error(`[RateLimiter] ${this.name}: Rate limited (retry after ${waitMs}ms)`);
161
+ }
162
+ async waitForMinuteReset(waitMs) {
163
+ this.totalWaitTimeMs += waitMs;
164
+ await new Promise((resolve) => setTimeout(resolve, waitMs));
165
+ this.checkMinuteReset();
166
+ }
167
+ async queueRequest(tokensNeeded, estimatedWaitMs) {
168
+ return new Promise((resolve, reject) => {
169
+ this.waitQueue.push({ resolve, reject, tokensNeeded });
170
+ this.totalWaitTimeMs += estimatedWaitMs;
171
+ if (!this.processingQueue) {
172
+ this.processQueue();
173
+ }
174
+ });
175
+ }
176
+ async processQueue() {
177
+ if (this.processingQueue)
178
+ return;
179
+ this.processingQueue = true;
180
+ while (this.waitQueue.length > 0) {
181
+ const request = this.waitQueue[0];
182
+ if (!request)
183
+ break;
184
+ this.refillBucket();
185
+ this.checkMinuteReset();
186
+ if (this.tokens >= request.tokensNeeded &&
187
+ this.requestsThisMinute < this.maxRequestsPerMinute) {
188
+ this.consumeTokens(request.tokensNeeded);
189
+ this.waitQueue.shift();
190
+ request.resolve();
191
+ }
192
+ else {
193
+ const tokensShort = Math.max(0, request.tokensNeeded - this.tokens);
194
+ const waitMs = Math.max(100, Math.ceil((tokensShort / this.refillRate) * 1000));
195
+ await new Promise((resolve) => setTimeout(resolve, waitMs));
196
+ }
197
+ }
198
+ this.processingQueue = false;
199
+ }
200
+ }
201
+ class RateLimiterRegistry {
202
+ limiters = new Map();
203
+ defaultConfig = {
204
+ maxTokens: 100,
205
+ refillRate: 10,
206
+ maxWaitMs: 5000,
207
+ };
208
+ getLimiter(name, config) {
209
+ let limiter = this.limiters.get(name);
210
+ if (!limiter) {
211
+ limiter = new RateLimiter({
212
+ name,
213
+ ...this.defaultConfig,
214
+ ...config,
215
+ });
216
+ this.limiters.set(name, limiter);
217
+ }
218
+ return limiter;
219
+ }
220
+ getAllStats() {
221
+ const stats = {};
222
+ for (const [name, limiter] of this.limiters) {
223
+ stats[name] = limiter.getStats();
224
+ }
225
+ return stats;
226
+ }
227
+ resetAll() {
228
+ for (const limiter of this.limiters.values()) {
229
+ limiter.reset();
230
+ }
231
+ }
232
+ hasLimitedServices() {
233
+ for (const limiter of this.limiters.values()) {
234
+ if (limiter.getStats().isLimited)
235
+ return true;
236
+ }
237
+ return false;
238
+ }
239
+ getLimitedServices() {
240
+ const limited = [];
241
+ for (const [name, limiter] of this.limiters) {
242
+ if (limiter.getStats().isLimited) {
243
+ limited.push(name);
244
+ }
245
+ }
246
+ return limited;
247
+ }
248
+ setDefaultConfig(config) {
249
+ this.defaultConfig = { ...this.defaultConfig, ...config };
250
+ }
251
+ clear() {
252
+ this.limiters.clear();
253
+ }
254
+ }
255
+ const registry = new RateLimiterRegistry();
256
+ export function getRateLimiterRegistry() {
257
+ return registry;
258
+ }
259
+ export function getRateLimiter(serviceName, config) {
260
+ return registry.getLimiter(serviceName, config);
261
+ }
262
+ export const ServiceRateLimiters = {
263
+ openaiEmbeddings: () => getRateLimiter("openai-embeddings", {
264
+ maxTokens: 100,
265
+ refillRate: 50,
266
+ maxRequestsPerMinute: 3000,
267
+ maxWaitMs: 5000,
268
+ }),
269
+ openaiChat: () => getRateLimiter("openai-chat", {
270
+ maxTokens: 20,
271
+ refillRate: 5,
272
+ maxRequestsPerMinute: 300,
273
+ maxWaitMs: 10000,
274
+ }),
275
+ gemini: () => getRateLimiter("gemini", {
276
+ maxTokens: 50,
277
+ refillRate: 15,
278
+ maxRequestsPerMinute: 900,
279
+ maxWaitMs: 5000,
280
+ }),
281
+ qdrant: () => getRateLimiter("qdrant", {
282
+ maxTokens: 200,
283
+ refillRate: 100,
284
+ maxRequestsPerMinute: 6000,
285
+ maxWaitMs: 2000,
286
+ }),
287
+ googleFileSearch: () => getRateLimiter("google-file-search", {
288
+ maxTokens: 20,
289
+ refillRate: 5,
290
+ maxRequestsPerMinute: 300,
291
+ maxWaitMs: 10000,
292
+ }),
293
+ openrouter: () => getRateLimiter("openrouter", {
294
+ maxTokens: 50,
295
+ refillRate: 20,
296
+ maxRequestsPerMinute: 1200,
297
+ maxWaitMs: 10000,
298
+ }),
299
+ };
300
+ //# sourceMappingURL=RateLimiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RateLimiter.js","sourceRoot":"","sources":["../../src/utils/RateLimiter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { SessionCoordinator } from "./SessionCoordinator.js";
2
+ import { StuckPattern } from "./StuckDetector.js";
3
+ export interface RecoverySuggestion {
4
+ title: string;
5
+ description: string;
6
+ source: "current_session" | "past_session" | "pattern_library";
7
+ relevanceScore: number;
8
+ implementation: {
9
+ steps: string[];
10
+ codeExample?: string;
11
+ references: string[];
12
+ };
13
+ metadata: {
14
+ sessionId?: string;
15
+ timestamp?: string;
16
+ successRate?: number;
17
+ };
18
+ }
19
+ export interface RecoveryAnalysis {
20
+ stuckPattern: StuckPattern;
21
+ suggestions: RecoverySuggestion[];
22
+ searchDuration: {
23
+ qdrant: number;
24
+ googleFS: number;
25
+ total: number;
26
+ };
27
+ }
28
+ export declare class RecoveryEngine {
29
+ private coordinator;
30
+ private projectPath;
31
+ private googleAI;
32
+ constructor(coordinator: SessionCoordinator, projectPath: string);
33
+ generateSuggestions(stuckPattern: StuckPattern, limit?: number): Promise<RecoveryAnalysis>;
34
+ private buildSearchQuery;
35
+ private searchCurrentSession;
36
+ private searchHistoricalSessions;
37
+ private extractSessionIdFromChunks;
38
+ private extractSessionIdFromUri;
39
+ private rankSuggestions;
40
+ private calculateRecencyScore;
41
+ private extractTitle;
42
+ private extractSteps;
43
+ private extractCodeExample;
44
+ }
45
+ //# sourceMappingURL=RecoveryEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecoveryEngine.d.ts","sourceRoot":"","sources":["../../src/utils/RecoveryEngine.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,iBAAiB,GAAG,cAAc,GAAG,iBAAiB,CAAC;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE;QACd,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF,QAAQ,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,cAAc,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAA4B;gBAEhC,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM;IAc1D,mBAAmB,CACvB,YAAY,EAAE,YAAY,EAC1B,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,gBAAgB,CAAC;IAmD5B,OAAO,CAAC,gBAAgB;YAwBV,oBAAoB;YAuCpB,wBAAwB;IAwHtC,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,kBAAkB;CAe3B"}