@iworkforces/tracelattice 2.0.3

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 (422) hide show
  1. package/LICENSE +24 -0
  2. package/README.md +260 -0
  3. package/dist/CliLifecycle.d.ts +31 -0
  4. package/dist/CliLifecycle.d.ts.map +1 -0
  5. package/dist/CliLifecycle.js +90 -0
  6. package/dist/CliLifecycle.js.map +1 -0
  7. package/dist/ServerConfig.d.ts +290 -0
  8. package/dist/ServerConfig.d.ts.map +1 -0
  9. package/dist/ServerConfig.js +175 -0
  10. package/dist/ServerConfig.js.map +1 -0
  11. package/dist/cache/DiscoveryCache.d.ts +269 -0
  12. package/dist/cache/DiscoveryCache.d.ts.map +1 -0
  13. package/dist/cache/DiscoveryCache.js +104 -0
  14. package/dist/cache/DiscoveryCache.js.map +1 -0
  15. package/dist/cli.d.ts +3 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js +5177 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/config/ConfigLoader.d.ts +270 -0
  20. package/dist/config/ConfigLoader.d.ts.map +1 -0
  21. package/dist/config/ConfigLoader.js +186 -0
  22. package/dist/config/ConfigLoader.js.map +1 -0
  23. package/dist/context/RequestContext.d.ts +43 -0
  24. package/dist/context/RequestContext.d.ts.map +1 -0
  25. package/dist/context/RequestContext.js +14 -0
  26. package/dist/context/RequestContext.js.map +1 -0
  27. package/dist/contracts/PersistenceBackend.d.ts +134 -0
  28. package/dist/contracts/PersistenceBackend.d.ts.map +1 -0
  29. package/dist/contracts/PersistenceBackend.js +6 -0
  30. package/dist/contracts/PersistenceBackend.js.map +1 -0
  31. package/dist/contracts/calibrator.d.ts +97 -0
  32. package/dist/contracts/calibrator.d.ts.map +1 -0
  33. package/dist/contracts/calibrator.js +1 -0
  34. package/dist/contracts/features.d.ts +35 -0
  35. package/dist/contracts/features.d.ts.map +1 -0
  36. package/dist/contracts/features.js +12 -0
  37. package/dist/contracts/features.js.map +1 -0
  38. package/dist/contracts/ids.d.ts +68 -0
  39. package/dist/contracts/ids.d.ts.map +1 -0
  40. package/dist/contracts/ids.js +40 -0
  41. package/dist/contracts/ids.js.map +1 -0
  42. package/dist/contracts/interfaces.d.ts +254 -0
  43. package/dist/contracts/interfaces.d.ts.map +1 -0
  44. package/dist/contracts/interfaces.js +1 -0
  45. package/dist/contracts/persistence-work.d.ts +96 -0
  46. package/dist/contracts/persistence-work.d.ts.map +1 -0
  47. package/dist/contracts/persistence-work.js +1 -0
  48. package/dist/contracts/reasoning-types.d.ts +21 -0
  49. package/dist/contracts/reasoning-types.d.ts.map +1 -0
  50. package/dist/contracts/reasoning-types.js +1 -0
  51. package/dist/contracts/strategy.d.ts +107 -0
  52. package/dist/contracts/strategy.d.ts.map +1 -0
  53. package/dist/contracts/strategy.js +1 -0
  54. package/dist/contracts/summary.d.ts +110 -0
  55. package/dist/contracts/summary.d.ts.map +1 -0
  56. package/dist/contracts/summary.js +1 -0
  57. package/dist/contracts/suspension.d.ts +215 -0
  58. package/dist/contracts/suspension.d.ts.map +1 -0
  59. package/dist/contracts/suspension.js +1 -0
  60. package/dist/contracts/transport.d.ts +26 -0
  61. package/dist/contracts/transport.d.ts.map +1 -0
  62. package/dist/contracts/transport.js +1 -0
  63. package/dist/core/CrossReferenceValidator.d.ts +18 -0
  64. package/dist/core/CrossReferenceValidator.d.ts.map +1 -0
  65. package/dist/core/CrossReferenceValidator.js +125 -0
  66. package/dist/core/CrossReferenceValidator.js.map +1 -0
  67. package/dist/core/HistoryManager.d.ts +215 -0
  68. package/dist/core/HistoryManager.d.ts.map +1 -0
  69. package/dist/core/HistoryManager.js +594 -0
  70. package/dist/core/HistoryManager.js.map +1 -0
  71. package/dist/core/IHistoryManager.d.ts +163 -0
  72. package/dist/core/IHistoryManager.d.ts.map +1 -0
  73. package/dist/core/IHistoryManager.js +1 -0
  74. package/dist/core/IThoughtFormatter.d.ts +51 -0
  75. package/dist/core/IThoughtFormatter.d.ts.map +1 -0
  76. package/dist/core/IThoughtFormatter.js +1 -0
  77. package/dist/core/InputNormalizer.d.ts +140 -0
  78. package/dist/core/InputNormalizer.d.ts.map +1 -0
  79. package/dist/core/InputNormalizer.js +95 -0
  80. package/dist/core/InputNormalizer.js.map +1 -0
  81. package/dist/core/PersistenceBuffer.d.ts +204 -0
  82. package/dist/core/PersistenceBuffer.d.ts.map +1 -0
  83. package/dist/core/PersistenceBuffer.js +382 -0
  84. package/dist/core/PersistenceBuffer.js.map +1 -0
  85. package/dist/core/PersistenceBufferErrors.d.ts +22 -0
  86. package/dist/core/PersistenceBufferErrors.d.ts.map +1 -0
  87. package/dist/core/PersistenceBufferErrors.js +30 -0
  88. package/dist/core/PersistenceBufferErrors.js.map +1 -0
  89. package/dist/core/PersistenceRestore.d.ts +21 -0
  90. package/dist/core/PersistenceRestore.d.ts.map +1 -0
  91. package/dist/core/PersistenceRestore.js +87 -0
  92. package/dist/core/PersistenceRestore.js.map +1 -0
  93. package/dist/core/PersistenceWorkQueue.d.ts +155 -0
  94. package/dist/core/PersistenceWorkQueue.d.ts.map +1 -0
  95. package/dist/core/PersistenceWorkQueue.js +298 -0
  96. package/dist/core/PersistenceWorkQueue.js.map +1 -0
  97. package/dist/core/PersistenceWriter.d.ts +55 -0
  98. package/dist/core/PersistenceWriter.d.ts.map +1 -0
  99. package/dist/core/PersistenceWriter.js +112 -0
  100. package/dist/core/PersistenceWriter.js.map +1 -0
  101. package/dist/core/SessionErrors.d.ts +37 -0
  102. package/dist/core/SessionErrors.d.ts.map +1 -0
  103. package/dist/core/SessionErrors.js +50 -0
  104. package/dist/core/SessionErrors.js.map +1 -0
  105. package/dist/core/SessionLifecycleCoordinator.d.ts +74 -0
  106. package/dist/core/SessionLifecycleCoordinator.d.ts.map +1 -0
  107. package/dist/core/SessionLifecycleCoordinator.js +222 -0
  108. package/dist/core/SessionLifecycleCoordinator.js.map +1 -0
  109. package/dist/core/SessionLock.d.ts +59 -0
  110. package/dist/core/SessionLock.d.ts.map +1 -0
  111. package/dist/core/SessionLock.js +39 -0
  112. package/dist/core/SessionLock.js.map +1 -0
  113. package/dist/core/SessionManager.d.ts +62 -0
  114. package/dist/core/SessionManager.d.ts.map +1 -0
  115. package/dist/core/SessionManager.js +75 -0
  116. package/dist/core/SessionManager.js.map +1 -0
  117. package/dist/core/SessionResetCoordinator.d.ts +37 -0
  118. package/dist/core/SessionResetCoordinator.d.ts.map +1 -0
  119. package/dist/core/SessionResetCoordinator.js +80 -0
  120. package/dist/core/SessionResetCoordinator.js.map +1 -0
  121. package/dist/core/ThoughtEvaluator.d.ts +48 -0
  122. package/dist/core/ThoughtEvaluator.d.ts.map +1 -0
  123. package/dist/core/ThoughtEvaluator.js +85 -0
  124. package/dist/core/ThoughtEvaluator.js.map +1 -0
  125. package/dist/core/ThoughtFormatter.d.ts +134 -0
  126. package/dist/core/ThoughtFormatter.d.ts.map +1 -0
  127. package/dist/core/ThoughtFormatter.js +118 -0
  128. package/dist/core/ThoughtFormatter.js.map +1 -0
  129. package/dist/core/ThoughtProcessor.d.ts +259 -0
  130. package/dist/core/ThoughtProcessor.d.ts.map +1 -0
  131. package/dist/core/ThoughtProcessor.js +451 -0
  132. package/dist/core/ThoughtProcessor.js.map +1 -0
  133. package/dist/core/ThoughtReferenceIndex.d.ts +23 -0
  134. package/dist/core/ThoughtReferenceIndex.d.ts.map +1 -0
  135. package/dist/core/ThoughtReferenceIndex.js +66 -0
  136. package/dist/core/ThoughtReferenceIndex.js.map +1 -0
  137. package/dist/core/VerificationOutcomeAdmission.d.ts +15 -0
  138. package/dist/core/VerificationOutcomeAdmission.d.ts.map +1 -0
  139. package/dist/core/VerificationOutcomeAdmission.js +28 -0
  140. package/dist/core/VerificationOutcomeAdmission.js.map +1 -0
  141. package/dist/core/compression/CompressionService.d.ts +76 -0
  142. package/dist/core/compression/CompressionService.d.ts.map +1 -0
  143. package/dist/core/compression/CompressionService.js +160 -0
  144. package/dist/core/compression/CompressionService.js.map +1 -0
  145. package/dist/core/compression/DehydrationPolicy.d.ts +75 -0
  146. package/dist/core/compression/DehydrationPolicy.d.ts.map +1 -0
  147. package/dist/core/compression/DehydrationPolicy.js +45 -0
  148. package/dist/core/compression/DehydrationPolicy.js.map +1 -0
  149. package/dist/core/compression/InMemorySummaryStore.d.ts +132 -0
  150. package/dist/core/compression/InMemorySummaryStore.d.ts.map +1 -0
  151. package/dist/core/compression/InMemorySummaryStore.js +69 -0
  152. package/dist/core/compression/InMemorySummaryStore.js.map +1 -0
  153. package/dist/core/compression/Summary.d.ts +74 -0
  154. package/dist/core/compression/Summary.d.ts.map +1 -0
  155. package/dist/core/compression/Summary.js +16 -0
  156. package/dist/core/compression/Summary.js.map +1 -0
  157. package/dist/core/evaluator/Aggregator.d.ts +40 -0
  158. package/dist/core/evaluator/Aggregator.d.ts.map +1 -0
  159. package/dist/core/evaluator/Aggregator.js +36 -0
  160. package/dist/core/evaluator/Aggregator.js.map +1 -0
  161. package/dist/core/evaluator/Calibrator.d.ts +52 -0
  162. package/dist/core/evaluator/Calibrator.d.ts.map +1 -0
  163. package/dist/core/evaluator/Calibrator.js +135 -0
  164. package/dist/core/evaluator/Calibrator.js.map +1 -0
  165. package/dist/core/evaluator/PatternDetector.d.ts +69 -0
  166. package/dist/core/evaluator/PatternDetector.d.ts.map +1 -0
  167. package/dist/core/evaluator/PatternDetector.js +192 -0
  168. package/dist/core/evaluator/PatternDetector.js.map +1 -0
  169. package/dist/core/evaluator/SignalComputer.d.ts +116 -0
  170. package/dist/core/evaluator/SignalComputer.d.ts.map +1 -0
  171. package/dist/core/evaluator/SignalComputer.js +110 -0
  172. package/dist/core/evaluator/SignalComputer.js.map +1 -0
  173. package/dist/core/evaluator/calibration-math.d.ts +39 -0
  174. package/dist/core/evaluator/calibration-math.d.ts.map +1 -0
  175. package/dist/core/evaluator/calibration-math.js +42 -0
  176. package/dist/core/evaluator/calibration-math.js.map +1 -0
  177. package/dist/core/evaluator/internals.d.ts +36 -0
  178. package/dist/core/evaluator/internals.d.ts.map +1 -0
  179. package/dist/core/evaluator/internals.js +43 -0
  180. package/dist/core/evaluator/internals.js.map +1 -0
  181. package/dist/core/graph/Edge.d.ts +58 -0
  182. package/dist/core/graph/Edge.d.ts.map +1 -0
  183. package/dist/core/graph/Edge.js +1 -0
  184. package/dist/core/graph/EdgeEmitter.d.ts +68 -0
  185. package/dist/core/graph/EdgeEmitter.d.ts.map +1 -0
  186. package/dist/core/graph/EdgeEmitter.js +118 -0
  187. package/dist/core/graph/EdgeEmitter.js.map +1 -0
  188. package/dist/core/graph/EdgeStore.d.ts +116 -0
  189. package/dist/core/graph/EdgeStore.d.ts.map +1 -0
  190. package/dist/core/graph/EdgeStore.js +107 -0
  191. package/dist/core/graph/EdgeStore.js.map +1 -0
  192. package/dist/core/graph/GraphView.d.ts +157 -0
  193. package/dist/core/graph/GraphView.d.ts.map +1 -0
  194. package/dist/core/graph/GraphView.js +149 -0
  195. package/dist/core/graph/GraphView.js.map +1 -0
  196. package/dist/core/ids.d.ts +33 -0
  197. package/dist/core/ids.d.ts.map +1 -0
  198. package/dist/core/ids.js +11 -0
  199. package/dist/core/ids.js.map +1 -0
  200. package/dist/core/reasoning/OutcomeRecorder.d.ts +88 -0
  201. package/dist/core/reasoning/OutcomeRecorder.d.ts.map +1 -0
  202. package/dist/core/reasoning/OutcomeRecorder.js +51 -0
  203. package/dist/core/reasoning/OutcomeRecorder.js.map +1 -0
  204. package/dist/core/reasoning/strategies/SequentialStrategy.d.ts +54 -0
  205. package/dist/core/reasoning/strategies/SequentialStrategy.d.ts.map +1 -0
  206. package/dist/core/reasoning/strategies/SequentialStrategy.js +22 -0
  207. package/dist/core/reasoning/strategies/SequentialStrategy.js.map +1 -0
  208. package/dist/core/reasoning/strategies/StrategyFactory.d.ts +25 -0
  209. package/dist/core/reasoning/strategies/StrategyFactory.d.ts.map +1 -0
  210. package/dist/core/reasoning/strategies/StrategyFactory.js +16 -0
  211. package/dist/core/reasoning/strategies/StrategyFactory.js.map +1 -0
  212. package/dist/core/reasoning/strategies/TreeOfThoughtStrategy.d.ts +58 -0
  213. package/dist/core/reasoning/strategies/TreeOfThoughtStrategy.d.ts.map +1 -0
  214. package/dist/core/reasoning/strategies/TreeOfThoughtStrategy.js +103 -0
  215. package/dist/core/reasoning/strategies/TreeOfThoughtStrategy.js.map +1 -0
  216. package/dist/core/reasoning/strategies/plateau.d.ts +18 -0
  217. package/dist/core/reasoning/strategies/plateau.d.ts.map +1 -0
  218. package/dist/core/reasoning/strategies/plateau.js +12 -0
  219. package/dist/core/reasoning/strategies/plateau.js.map +1 -0
  220. package/dist/core/reasoning/strategies/totScoring.d.ts +91 -0
  221. package/dist/core/reasoning/strategies/totScoring.d.ts.map +1 -0
  222. package/dist/core/reasoning/strategies/totScoring.js +88 -0
  223. package/dist/core/reasoning/strategies/totScoring.js.map +1 -0
  224. package/dist/core/reasoning.d.ts +179 -0
  225. package/dist/core/reasoning.d.ts.map +1 -0
  226. package/dist/core/reasoning.js +1 -0
  227. package/dist/core/step.d.ts +50 -0
  228. package/dist/core/step.d.ts.map +1 -0
  229. package/dist/core/step.js +1 -0
  230. package/dist/core/thought.d.ts +113 -0
  231. package/dist/core/thought.d.ts.map +1 -0
  232. package/dist/core/thought.js +1 -0
  233. package/dist/core/tools/InMemorySuspensionStore.d.ts +66 -0
  234. package/dist/core/tools/InMemorySuspensionStore.d.ts.map +1 -0
  235. package/dist/core/tools/InMemorySuspensionStore.js +121 -0
  236. package/dist/core/tools/InMemorySuspensionStore.js.map +1 -0
  237. package/dist/di/Container.d.ts +253 -0
  238. package/dist/di/Container.d.ts.map +1 -0
  239. package/dist/di/Container.js +111 -0
  240. package/dist/di/Container.js.map +1 -0
  241. package/dist/di/ServiceRegistry.d.ts +50 -0
  242. package/dist/di/ServiceRegistry.d.ts.map +1 -0
  243. package/dist/di/ServiceRegistry.js +1 -0
  244. package/dist/errors.d.ts +663 -0
  245. package/dist/errors.d.ts.map +1 -0
  246. package/dist/errors.js +282 -0
  247. package/dist/errors.js.map +1 -0
  248. package/dist/health/HealthChecker.d.ts +73 -0
  249. package/dist/health/HealthChecker.d.ts.map +1 -0
  250. package/dist/health/HealthChecker.js +70 -0
  251. package/dist/health/HealthChecker.js.map +1 -0
  252. package/dist/lib.d.ts +273 -0
  253. package/dist/lib.d.ts.map +1 -0
  254. package/dist/lib.js +409 -0
  255. package/dist/lib.js.map +1 -0
  256. package/dist/logger/NullLogger.d.ts +154 -0
  257. package/dist/logger/NullLogger.d.ts.map +1 -0
  258. package/dist/logger/NullLogger.js +24 -0
  259. package/dist/logger/NullLogger.js.map +1 -0
  260. package/dist/logger/StructuredLogger.d.ts +327 -0
  261. package/dist/logger/StructuredLogger.d.ts.map +1 -0
  262. package/dist/logger/StructuredLogger.js +72 -0
  263. package/dist/logger/StructuredLogger.js.map +1 -0
  264. package/dist/metrics/metrics.impl.d.ts +252 -0
  265. package/dist/metrics/metrics.impl.d.ts.map +1 -0
  266. package/dist/metrics/metrics.impl.js +197 -0
  267. package/dist/metrics/metrics.impl.js.map +1 -0
  268. package/dist/persistence/FileLegacyImport.d.ts +2 -0
  269. package/dist/persistence/FileLegacyImport.d.ts.map +1 -0
  270. package/dist/persistence/FileLegacyImport.js +183 -0
  271. package/dist/persistence/FileLegacyImport.js.map +1 -0
  272. package/dist/persistence/FilePersistence.d.ts +53 -0
  273. package/dist/persistence/FilePersistence.d.ts.map +1 -0
  274. package/dist/persistence/FilePersistence.js +312 -0
  275. package/dist/persistence/FilePersistence.js.map +1 -0
  276. package/dist/persistence/FileSnapshotTypes.d.ts +29 -0
  277. package/dist/persistence/FileSnapshotTypes.d.ts.map +1 -0
  278. package/dist/persistence/FileSnapshotTypes.js +1 -0
  279. package/dist/persistence/FileSnapshotV2.d.ts +377 -0
  280. package/dist/persistence/FileSnapshotV2.d.ts.map +1 -0
  281. package/dist/persistence/FileSnapshotV2.js +124 -0
  282. package/dist/persistence/FileSnapshotV2.js.map +1 -0
  283. package/dist/persistence/FileSnapshotValidation.d.ts +15 -0
  284. package/dist/persistence/FileSnapshotValidation.d.ts.map +1 -0
  285. package/dist/persistence/FileSnapshotValidation.js +64 -0
  286. package/dist/persistence/FileSnapshotValidation.js.map +1 -0
  287. package/dist/persistence/FileWriter.d.ts +30 -0
  288. package/dist/persistence/FileWriter.d.ts.map +1 -0
  289. package/dist/persistence/FileWriter.js +155 -0
  290. package/dist/persistence/FileWriter.js.map +1 -0
  291. package/dist/persistence/MemoryPersistence.d.ts +45 -0
  292. package/dist/persistence/MemoryPersistence.d.ts.map +1 -0
  293. package/dist/persistence/MemoryPersistence.js +180 -0
  294. package/dist/persistence/MemoryPersistence.js.map +1 -0
  295. package/dist/persistence/PersistenceCodec.d.ts +7 -0
  296. package/dist/persistence/PersistenceCodec.d.ts.map +1 -0
  297. package/dist/persistence/PersistenceCodec.js +97 -0
  298. package/dist/persistence/PersistenceCodec.js.map +1 -0
  299. package/dist/persistence/PersistenceErrors.d.ts +23 -0
  300. package/dist/persistence/PersistenceErrors.d.ts.map +1 -0
  301. package/dist/persistence/PersistenceErrors.js +26 -0
  302. package/dist/persistence/PersistenceErrors.js.map +1 -0
  303. package/dist/persistence/PersistenceFactory.d.ts +21 -0
  304. package/dist/persistence/PersistenceFactory.d.ts.map +1 -0
  305. package/dist/persistence/PersistenceFactory.js +28 -0
  306. package/dist/persistence/PersistenceFactory.js.map +1 -0
  307. package/dist/persistence/PersistenceScope.d.ts +42 -0
  308. package/dist/persistence/PersistenceScope.d.ts.map +1 -0
  309. package/dist/persistence/PersistenceScope.js +93 -0
  310. package/dist/persistence/PersistenceScope.js.map +1 -0
  311. package/dist/persistence/SessionScopedPersistence.d.ts +4 -0
  312. package/dist/persistence/SessionScopedPersistence.d.ts.map +1 -0
  313. package/dist/persistence/SessionScopedPersistence.js +9 -0
  314. package/dist/persistence/SessionScopedPersistence.js.map +1 -0
  315. package/dist/persistence/SqliteDriver.d.ts +22 -0
  316. package/dist/persistence/SqliteDriver.d.ts.map +1 -0
  317. package/dist/persistence/SqliteDriver.js +29 -0
  318. package/dist/persistence/SqliteDriver.js.map +1 -0
  319. package/dist/persistence/SqliteLegacyImport.d.ts +14 -0
  320. package/dist/persistence/SqliteLegacyImport.d.ts.map +1 -0
  321. package/dist/persistence/SqliteLegacyImport.js +136 -0
  322. package/dist/persistence/SqliteLegacyImport.js.map +1 -0
  323. package/dist/persistence/SqliteLegacySchema.d.ts +15 -0
  324. package/dist/persistence/SqliteLegacySchema.d.ts.map +1 -0
  325. package/dist/persistence/SqliteLegacySchema.js +72 -0
  326. package/dist/persistence/SqliteLegacySchema.js.map +1 -0
  327. package/dist/persistence/SqlitePayload.d.ts +11 -0
  328. package/dist/persistence/SqlitePayload.d.ts.map +1 -0
  329. package/dist/persistence/SqlitePayload.js +86 -0
  330. package/dist/persistence/SqlitePayload.js.map +1 -0
  331. package/dist/persistence/SqlitePersistence.d.ts +49 -0
  332. package/dist/persistence/SqlitePersistence.d.ts.map +1 -0
  333. package/dist/persistence/SqlitePersistence.js +248 -0
  334. package/dist/persistence/SqlitePersistence.js.map +1 -0
  335. package/dist/persistence/SqliteSchemaV2.d.ts +14 -0
  336. package/dist/persistence/SqliteSchemaV2.d.ts.map +1 -0
  337. package/dist/persistence/SqliteSchemaV2.js +129 -0
  338. package/dist/persistence/SqliteSchemaV2.js.map +1 -0
  339. package/dist/persistence/SqliteSnapshotWriter.d.ts +17 -0
  340. package/dist/persistence/SqliteSnapshotWriter.d.ts.map +1 -0
  341. package/dist/persistence/SqliteSnapshotWriter.js +30 -0
  342. package/dist/persistence/SqliteSnapshotWriter.js.map +1 -0
  343. package/dist/pool/ConnectionPool.d.ts +203 -0
  344. package/dist/pool/ConnectionPool.d.ts.map +1 -0
  345. package/dist/pool/ConnectionPool.js +303 -0
  346. package/dist/pool/ConnectionPool.js.map +1 -0
  347. package/dist/pool/IConnectionPool.d.ts +143 -0
  348. package/dist/pool/IConnectionPool.d.ts.map +1 -0
  349. package/dist/pool/IConnectionPool.js +1 -0
  350. package/dist/pool/PoolErrors.d.ts +11 -0
  351. package/dist/pool/PoolErrors.d.ts.map +1 -0
  352. package/dist/pool/PoolErrors.js +16 -0
  353. package/dist/pool/PoolErrors.js.map +1 -0
  354. package/dist/registry/BaseRegistry.d.ts +219 -0
  355. package/dist/registry/BaseRegistry.d.ts.map +1 -0
  356. package/dist/registry/BaseRegistry.js +215 -0
  357. package/dist/registry/BaseRegistry.js.map +1 -0
  358. package/dist/registry/SkillRegistry.d.ts +67 -0
  359. package/dist/registry/SkillRegistry.d.ts.map +1 -0
  360. package/dist/registry/SkillRegistry.js +87 -0
  361. package/dist/registry/SkillRegistry.js.map +1 -0
  362. package/dist/registry/ToolRegistry.d.ts +70 -0
  363. package/dist/registry/ToolRegistry.d.ts.map +1 -0
  364. package/dist/registry/ToolRegistry.js +96 -0
  365. package/dist/registry/ToolRegistry.js.map +1 -0
  366. package/dist/sanitize.d.ts +164 -0
  367. package/dist/sanitize.d.ts.map +1 -0
  368. package/dist/sanitize.js +100 -0
  369. package/dist/sanitize.js.map +1 -0
  370. package/dist/schema.d.ts +562 -0
  371. package/dist/schema.d.ts.map +1 -0
  372. package/dist/schema.js +251 -0
  373. package/dist/schema.js.map +1 -0
  374. package/dist/transport/BaseTransport.d.ts +166 -0
  375. package/dist/transport/BaseTransport.d.ts.map +1 -0
  376. package/dist/transport/BaseTransport.js +199 -0
  377. package/dist/transport/BaseTransport.js.map +1 -0
  378. package/dist/transport/HttpHelpers.d.ts +53 -0
  379. package/dist/transport/HttpHelpers.d.ts.map +1 -0
  380. package/dist/transport/HttpHelpers.js +44 -0
  381. package/dist/transport/HttpHelpers.js.map +1 -0
  382. package/dist/transport/HttpRequestLifecycle.d.ts +37 -0
  383. package/dist/transport/HttpRequestLifecycle.d.ts.map +1 -0
  384. package/dist/transport/HttpRequestLifecycle.js +87 -0
  385. package/dist/transport/HttpRequestLifecycle.js.map +1 -0
  386. package/dist/transport/HttpTransport.d.ts +140 -0
  387. package/dist/transport/HttpTransport.d.ts.map +1 -0
  388. package/dist/transport/HttpTransport.js +245 -0
  389. package/dist/transport/HttpTransport.js.map +1 -0
  390. package/dist/transport/SseTransport.d.ts +149 -0
  391. package/dist/transport/SseTransport.d.ts.map +1 -0
  392. package/dist/transport/SseTransport.js +470 -0
  393. package/dist/transport/SseTransport.js.map +1 -0
  394. package/dist/transport/StreamableHttpTransport.d.ts +225 -0
  395. package/dist/transport/StreamableHttpTransport.d.ts.map +1 -0
  396. package/dist/transport/StreamableHttpTransport.js +449 -0
  397. package/dist/transport/StreamableHttpTransport.js.map +1 -0
  398. package/dist/types/disposable.d.ts +22 -0
  399. package/dist/types/disposable.d.ts.map +1 -0
  400. package/dist/types/disposable.js +1 -0
  401. package/dist/types/server-config.d.ts +32 -0
  402. package/dist/types/server-config.d.ts.map +1 -0
  403. package/dist/types/server-config.js +1 -0
  404. package/dist/types/skill.d.ts +74 -0
  405. package/dist/types/skill.d.ts.map +1 -0
  406. package/dist/types/skill.js +1 -0
  407. package/dist/types/tool.d.ts +78 -0
  408. package/dist/types/tool.d.ts.map +1 -0
  409. package/dist/types/tool.js +1 -0
  410. package/dist/utils.d.ts +27 -0
  411. package/dist/utils.d.ts.map +1 -0
  412. package/dist/utils.js +6 -0
  413. package/dist/utils.js.map +1 -0
  414. package/dist/watchers/SkillWatcher.d.ts +25 -0
  415. package/dist/watchers/SkillWatcher.d.ts.map +1 -0
  416. package/dist/watchers/SkillWatcher.js +96 -0
  417. package/dist/watchers/SkillWatcher.js.map +1 -0
  418. package/dist/watchers/ToolWatcher.d.ts +24 -0
  419. package/dist/watchers/ToolWatcher.d.ts.map +1 -0
  420. package/dist/watchers/ToolWatcher.js +92 -0
  421. package/dist/watchers/ToolWatcher.js.map +1 -0
  422. package/package.json +106 -0
@@ -0,0 +1,253 @@
1
+ import type { Logger } from '../logger/StructuredLogger.js';
2
+ import type { ServerConfig } from '../ServerConfig.js';
3
+ import type { ConfigFileOptions } from '../config/ConfigLoader.js';
4
+ import type { IDisposable } from '../types/disposable.js';
5
+ import type { ServiceKey, ServiceRegistry } from './ServiceRegistry.js';
6
+ /**
7
+ * Lightweight dependency injection container for managing service dependencies.
8
+ *
9
+ * This container supports:
10
+ * - Instance registration (singleton-like behavior)
11
+ * - Factory registration (lazy instantiation with caching)
12
+ * - Transient factory registration (new instance each time)
13
+ *
14
+ * The container is type-safe when using ServiceKey from ServiceRegistry.
15
+ * For dynamic/unknown services, use string keys with generic type parameters.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const container = new Container();
20
+ *
21
+ * // Type-safe registration with ServiceKey (recommended)
22
+ * container.registerInstance('Logger', new StructuredLogger());
23
+ *
24
+ * // Type inference works automatically
25
+ * const logger = container.resolve('Logger'); // Type: StructuredLogger
26
+ *
27
+ * // Register a factory with caching (singleton per container)
28
+ * container.register('HistoryManager', () =>
29
+ * new HistoryManager({ logger: container.resolve('Logger') })
30
+ * );
31
+ *
32
+ * // Register a transient factory (new instance each time)
33
+ * container.registerFactory('RequestContext', () =>
34
+ * new RequestContext()
35
+ * );
36
+ *
37
+ * // For dynamic services not in ServiceRegistry, use the escape hatch
38
+ * container.registerDynamicInstance('MyService', myService);
39
+ * const service = container.resolveDynamic('MyService') as MyService;
40
+ * ```
41
+ */
42
+ export declare class Container {
43
+ private _services;
44
+ private _factories;
45
+ private _transientFactories;
46
+ private _resolving;
47
+ private _disposables;
48
+ /**
49
+ * Register a singleton instance that will be returned for all resolutions.
50
+ *
51
+ * @param name - The unique name/identifier for the service
52
+ * @param instance - The instance to register
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * container.registerInstance('Config', new ServerConfig({ ... }));
57
+ * ```
58
+ */
59
+ registerInstance<K extends ServiceKey>(name: K, instance: ServiceRegistry[K]): void;
60
+ /**
61
+ * Register a factory function that will be called once and cached.
62
+ * The first call to `resolve` will invoke the factory and cache the result.
63
+ * Subsequent calls will return the cached instance (singleton behavior).
64
+ *
65
+ * @param name - The unique name/identifier for the service
66
+ * @param factory - A factory function that creates the service
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * container.register('HistoryManager', () =>
71
+ * new HistoryManager({ logger: container.resolve('Logger') })
72
+ * );
73
+ * ```
74
+ */
75
+ register<K extends ServiceKey>(name: K, factory: () => ServiceRegistry[K]): void;
76
+ /**
77
+ * Register a transient factory function that will be called on every resolution.
78
+ * Each call to `resolve` will invoke the factory and return a new instance.
79
+ *
80
+ * @param name - The unique name/identifier for the service
81
+ * @param factory - A factory function that creates the service
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * container.registerFactory('RequestContext', () =>
86
+ * new RequestContext()
87
+ * );
88
+ * ```
89
+ */
90
+ registerFactory<K extends ServiceKey>(name: K, factory: () => ServiceRegistry[K]): void;
91
+ /**
92
+ * Resolve a service by name.
93
+ *
94
+ * Resolution order:
95
+ * 1. If a registered instance exists, return it
96
+ * 2. If a cached factory exists, return it
97
+ * 3. If a factory exists, invoke it, cache the result, and return it
98
+ * 4. If a transient factory exists, invoke it and return a new instance
99
+ * 5. Throw an error if the service is not found
100
+ *
101
+ * @param name - The name/identifier of service to resolve
102
+ * @returns The resolved service instance
103
+ * @throws {Error} If the service is not registered
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * // Type-safe: ServiceRegistry provides autocomplete
108
+ * const logger = container.resolve('Logger'); // Type: StructuredLogger
109
+ * const config = container.resolve('Config'); // Type: ServerConfig
110
+ * ```
111
+ */
112
+ resolve<K extends ServiceKey>(name: K): ServiceRegistry[K];
113
+ /**
114
+ * Resolve a service by name with an `unknown` return type.
115
+ * Use this when the service key is not in ServiceRegistry.
116
+ *
117
+ * @param name - The name/identifier of the service
118
+ * @returns The service instance as `unknown` — caller must narrow
119
+ */
120
+ resolveDynamic(name: string): unknown;
121
+ /**
122
+ * Register a factory for a service key not present in `ServiceRegistry`.
123
+ * Use this for runtime-keyed registrations that cannot be expressed as typed services.
124
+ *
125
+ * @param name - Arbitrary string key
126
+ * @param factory - Factory returning the dynamic instance
127
+ */
128
+ registerDynamic(name: string, factory: () => unknown): void;
129
+ /**
130
+ * Register a singleton instance for a service key not present in `ServiceRegistry`.
131
+ *
132
+ * @param name - Arbitrary string key
133
+ * @param instance - The instance to register
134
+ */
135
+ registerDynamicInstance(name: string, instance: unknown): void;
136
+ /**
137
+ * Register a transient factory for a service key not present in `ServiceRegistry`.
138
+ * Each `resolveDynamic` call invokes the factory and returns a new instance.
139
+ *
140
+ * @param name - Arbitrary string key
141
+ * @param factory - Factory returning a new instance per call
142
+ */
143
+ registerDynamicFactory(name: string, factory: () => unknown): void;
144
+ /**
145
+ * Check if a service is registered (either as instance or factory).
146
+ *
147
+ * @param name - The name/identifier of the service to check
148
+ * @returns `true` if the service is registered, `false` otherwise
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * if (!container.has('Logger')) {
153
+ * container.registerInstance('Logger', new StructuredLogger());
154
+ * }
155
+ * ```
156
+ */
157
+ has(name: string): boolean;
158
+ /**
159
+ * Remove a registered service from the container.
160
+ *
161
+ * @param name - The name/identifier of the service to unregister
162
+ * @returns `true` if the service was found and removed, `false` otherwise
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * container.unregister('HistoryManager');
167
+ * ```
168
+ */
169
+ unregister(name: string): boolean;
170
+ /**
171
+ * Clear all registered services and factories from the container.
172
+ *
173
+ * @example
174
+ * ```typescript
175
+ * container.clear();
176
+ * ```
177
+ */
178
+ clear(): void;
179
+ /**
180
+ * Get the number of registered services (including instances, factories, and transient factories).
181
+ *
182
+ * @returns The total count of registered services
183
+ *
184
+ * @example
185
+ * ```typescript
186
+ * console.log(`Registered services: ${container.size}`);
187
+ * ```
188
+ */
189
+ get size(): number;
190
+ /**
191
+ * Get an array of all registered service names.
192
+ *
193
+ * @returns An array of service names
194
+ *
195
+ * @example
196
+ * ```typescript
197
+ * const names = container.registeredServices();
198
+ * console.log('Registered:', names.join(', '));
199
+ * ```
200
+ */
201
+ registeredServices(): string[];
202
+ /**
203
+ * Register an instance as disposable for lifecycle management.
204
+ * The instance will have its `dispose()` method called when the container is disposed.
205
+ *
206
+ * @param name - The service name (must already be registered)
207
+ * @param instance - The disposable instance to track
208
+ *
209
+ * @example
210
+ * ```typescript
211
+ * const pool = new ConnectionPool();
212
+ * container.registerInstance('ConnectionPool', pool);
213
+ * container.registerDisposable('ConnectionPool', pool);
214
+ * ```
215
+ */
216
+ registerDisposable(name: string, instance: IDisposable): void;
217
+ /**
218
+ * Dispose of all registered disposable services.
219
+ * Calls `dispose()` on each registered disposable in reverse registration order.
220
+ * Errors during individual disposal are caught and logged to prevent cascading failures.
221
+ *
222
+ * @example
223
+ * ```typescript
224
+ * await container.dispose();
225
+ * ```
226
+ */
227
+ dispose(): Promise<void>;
228
+ }
229
+ /**
230
+ * Create a pre-configured container with all default services registered.
231
+ *
232
+ * This factory function creates a container with all standard services
233
+ * for the ToolAwareSequentialThinkingServer.
234
+ *
235
+ * @param options - Configuration options for the container
236
+ * @returns A configured container ready to use
237
+ *
238
+ * @example
239
+ * ```typescript
240
+ * const container = createDefaultContainer({
241
+ * logger: customLogger,
242
+ * config: customConfig
243
+ * });
244
+ * const server = new ToolAwareSequentialThinkingServer({ container });
245
+ * ```
246
+ */
247
+ export interface CreateContainerOptions {
248
+ logger?: Logger;
249
+ config?: ServerConfig;
250
+ fileConfig?: ConfigFileOptions;
251
+ }
252
+ export declare function createDefaultContainer(options?: CreateContainerOptions): Container;
253
+ //# sourceMappingURL=Container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/di/Container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAoB,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,SAAS;IACrB,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,mBAAmB,CAAyC;IACpE,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,YAAY,CAAuC;IAE3D;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;IAYnF;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;IAYhF;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;IAYvF;;;;;;;;;;;;;;;;;;;;GAoBE;IACF,OAAO,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAoC1D;;;;;;OAMG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC;;;;;;OAMG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,GAAG,IAAI;IAW3D;;;;;OAKG;IACH,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAW9D;;;;;;OAMG;IACH,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,GAAG,IAAI;IAWlE;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAM1B;;;;;;;;;;OAUG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQjC;;;;;;;OAOG;IACH,KAAK,IAAI,IAAI;IAQb;;;;;;;;;OASG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;;;;;;OAUG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAQ9B;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI;IAI7D;;;;;;;;;OASG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB9B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,sBAAsB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAC/B;AAED,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,sBAA2B,GAAG,SAAS,CActF"}
@@ -0,0 +1,111 @@
1
+ class Container {
2
+ _services = new Map();
3
+ _factories = new Map();
4
+ _transientFactories = new Map();
5
+ _resolving = new Set();
6
+ _disposables = new Map();
7
+ registerInstance(name, instance) {
8
+ if (this._services.has(name) || this._factories.has(name) || this._transientFactories.has(name)) throw new Error(`Service '${name}' is already registered`);
9
+ this._services.set(name, instance);
10
+ }
11
+ register(name, factory) {
12
+ if (this._services.has(name) || this._factories.has(name) || this._transientFactories.has(name)) throw new Error(`Service '${name}' is already registered`);
13
+ this._factories.set(name, factory);
14
+ }
15
+ registerFactory(name, factory) {
16
+ if (this._services.has(name) || this._factories.has(name) || this._transientFactories.has(name)) throw new Error(`Service '${name}' is already registered`);
17
+ this._transientFactories.set(name, factory);
18
+ }
19
+ resolve(name) {
20
+ if (this._resolving.has(name)) throw new Error(`Circular dependency detected while resolving service: ${name}`);
21
+ this._resolving.add(name);
22
+ try {
23
+ if (this._services.has(name)) return this._services.get(name);
24
+ if (this._factories.has(name)) {
25
+ const factory = this._factories.get(name);
26
+ const instance = factory();
27
+ this._services.set(name, instance);
28
+ this._factories.delete(name);
29
+ return instance;
30
+ }
31
+ if (this._transientFactories.has(name)) {
32
+ const factory = this._transientFactories.get(name);
33
+ return factory();
34
+ }
35
+ throw new Error(`Service not found: ${name}. Did you forget to register it?`);
36
+ } finally{
37
+ this._resolving.delete(name);
38
+ }
39
+ }
40
+ resolveDynamic(name) {
41
+ return this.resolve(name);
42
+ }
43
+ registerDynamic(name, factory) {
44
+ if (this._services.has(name) || this._factories.has(name) || this._transientFactories.has(name)) throw new Error(`Service '${name}' is already registered`);
45
+ this._factories.set(name, factory);
46
+ }
47
+ registerDynamicInstance(name, instance) {
48
+ if (this._services.has(name) || this._factories.has(name) || this._transientFactories.has(name)) throw new Error(`Service '${name}' is already registered`);
49
+ this._services.set(name, instance);
50
+ }
51
+ registerDynamicFactory(name, factory) {
52
+ if (this._services.has(name) || this._factories.has(name) || this._transientFactories.has(name)) throw new Error(`Service '${name}' is already registered`);
53
+ this._transientFactories.set(name, factory);
54
+ }
55
+ has(name) {
56
+ return this._services.has(name) || this._factories.has(name) || this._transientFactories.has(name);
57
+ }
58
+ unregister(name) {
59
+ const hadInstance = this._services.delete(name);
60
+ const hadFactory = this._factories.delete(name);
61
+ const hadTransient = this._transientFactories.delete(name);
62
+ this._disposables.delete(name);
63
+ return hadInstance || hadFactory || hadTransient;
64
+ }
65
+ clear() {
66
+ this._services.clear();
67
+ this._factories.clear();
68
+ this._transientFactories.clear();
69
+ this._resolving.clear();
70
+ this._disposables.clear();
71
+ }
72
+ get size() {
73
+ return this._services.size + this._factories.size + this._transientFactories.size;
74
+ }
75
+ registeredServices() {
76
+ const names = new Set();
77
+ for (const name of this._services.keys())names.add(name);
78
+ for (const name of this._factories.keys())names.add(name);
79
+ for (const name of this._transientFactories.keys())names.add(name);
80
+ return Array.from(names);
81
+ }
82
+ registerDisposable(name, instance) {
83
+ this._disposables.set(name, instance);
84
+ }
85
+ async dispose() {
86
+ const entries = Array.from(this._disposables.entries()).reverse();
87
+ const errors = [];
88
+ for (const [name, disposable] of entries)try {
89
+ await disposable.dispose();
90
+ } catch (error) {
91
+ errors.push({
92
+ name,
93
+ error
94
+ });
95
+ }
96
+ this._disposables.clear();
97
+ if (errors.length > 0) {
98
+ const messages = errors.map((e)=>`${e.name}: ${e.error instanceof Error ? e.error.message : String(e.error)}`);
99
+ throw new Error(`Failed to dispose services: ${messages.join(', ')}`);
100
+ }
101
+ }
102
+ }
103
+ function createDefaultContainer(options = {}) {
104
+ const container = new Container();
105
+ if (options.logger) container.registerInstance('Logger', options.logger);
106
+ if (options.config) container.registerInstance('Config', options.config);
107
+ return container;
108
+ }
109
+ export { Container, createDefaultContainer };
110
+
111
+ //# sourceMappingURL=Container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"di/Container.js","sources":["../../src/di/Container.ts"],"sourcesContent":["import type { Logger, StructuredLogger } from '../logger/StructuredLogger.js';\nimport type { ServerConfig } from '../ServerConfig.js';\nimport type { ConfigFileOptions } from '../config/ConfigLoader.js';\n\nimport type { IDisposable } from '../types/disposable.js';\nimport type { ServiceKey, ServiceRegistry } from './ServiceRegistry.js';\n\n/**\n * Lightweight dependency injection container for managing service dependencies.\n *\n * This container supports:\n * - Instance registration (singleton-like behavior)\n * - Factory registration (lazy instantiation with caching)\n * - Transient factory registration (new instance each time)\n *\n * The container is type-safe when using ServiceKey from ServiceRegistry.\n * For dynamic/unknown services, use string keys with generic type parameters.\n *\n * @example\n * ```typescript\n * const container = new Container();\n *\n * // Type-safe registration with ServiceKey (recommended)\n * container.registerInstance('Logger', new StructuredLogger());\n *\n * // Type inference works automatically\n * const logger = container.resolve('Logger'); // Type: StructuredLogger\n *\n * // Register a factory with caching (singleton per container)\n * container.register('HistoryManager', () =>\n * new HistoryManager({ logger: container.resolve('Logger') })\n * );\n *\n * // Register a transient factory (new instance each time)\n * container.registerFactory('RequestContext', () =>\n * new RequestContext()\n * );\n *\n * // For dynamic services not in ServiceRegistry, use the escape hatch\n * container.registerDynamicInstance('MyService', myService);\n * const service = container.resolveDynamic('MyService') as MyService;\n * ```\n */\nexport class Container {\n\tprivate _services: Map<string, unknown> = new Map();\n\tprivate _factories: Map<string, () => unknown> = new Map();\n\tprivate _transientFactories: Map<string, () => unknown> = new Map();\n\tprivate _resolving: Set<string> = new Set();\n\tprivate _disposables: Map<string, IDisposable> = new Map();\n\n\t/**\n\t * Register a singleton instance that will be returned for all resolutions.\n\t *\n\t * @param name - The unique name/identifier for the service\n\t * @param instance - The instance to register\n\t *\n\t * @example\n\t * ```typescript\n\t * container.registerInstance('Config', new ServerConfig({ ... }));\n\t * ```\n\t */\n\tregisterInstance<K extends ServiceKey>(name: K, instance: ServiceRegistry[K]): void;\n\tregisterInstance(name: string, instance: unknown): void {\n\t\tif (\n\t\t\tthis._services.has(name) ||\n\t\t\tthis._factories.has(name) ||\n\t\t\tthis._transientFactories.has(name)\n\t\t) {\n\t\t\tthrow new Error(`Service '${name}' is already registered`);\n\t\t}\n\t\tthis._services.set(name, instance);\n\t}\n\n\t/**\n\t * Register a factory function that will be called once and cached.\n\t * The first call to `resolve` will invoke the factory and cache the result.\n\t * Subsequent calls will return the cached instance (singleton behavior).\n\t *\n\t * @param name - The unique name/identifier for the service\n\t * @param factory - A factory function that creates the service\n\t *\n\t * @example\n\t * ```typescript\n\t * container.register('HistoryManager', () =>\n\t * new HistoryManager({ logger: container.resolve('Logger') })\n\t * );\n\t * ```\n\t */\n\tregister<K extends ServiceKey>(name: K, factory: () => ServiceRegistry[K]): void;\n\tregister(name: string, factory: () => unknown): void {\n\t\tif (\n\t\t\tthis._services.has(name) ||\n\t\t\tthis._factories.has(name) ||\n\t\t\tthis._transientFactories.has(name)\n\t\t) {\n\t\t\tthrow new Error(`Service '${name}' is already registered`);\n\t\t}\n\t\tthis._factories.set(name, factory);\n\t}\n\n\t/**\n\t * Register a transient factory function that will be called on every resolution.\n\t * Each call to `resolve` will invoke the factory and return a new instance.\n\t *\n\t * @param name - The unique name/identifier for the service\n\t * @param factory - A factory function that creates the service\n\t *\n\t * @example\n\t * ```typescript\n\t * container.registerFactory('RequestContext', () =>\n\t * new RequestContext()\n\t * );\n\t * ```\n\t */\n\tregisterFactory<K extends ServiceKey>(name: K, factory: () => ServiceRegistry[K]): void;\n\tregisterFactory(name: string, factory: () => unknown): void {\n\t\tif (\n\t\t\tthis._services.has(name) ||\n\t\t\tthis._factories.has(name) ||\n\t\t\tthis._transientFactories.has(name)\n\t\t) {\n\t\t\tthrow new Error(`Service '${name}' is already registered`);\n\t\t}\n\t\tthis._transientFactories.set(name, factory);\n\t}\n\n\t/**\n\t * Resolve a service by name.\n\t *\n\t * Resolution order:\n\t * 1. If a registered instance exists, return it\n\t * 2. If a cached factory exists, return it\n\t * 3. If a factory exists, invoke it, cache the result, and return it\n\t * 4. If a transient factory exists, invoke it and return a new instance\n\t * 5. Throw an error if the service is not found\n\t *\n\t * @param name - The name/identifier of service to resolve\n\t * @returns The resolved service instance\n\t * @throws {Error} If the service is not registered\n\t *\n\t * @example\n\t * ```typescript\n\t * // Type-safe: ServiceRegistry provides autocomplete\n\t * const logger = container.resolve('Logger'); // Type: StructuredLogger\n\t * const config = container.resolve('Config'); // Type: ServerConfig\n * ```\n */\n\tresolve<K extends ServiceKey>(name: K): ServiceRegistry[K];\n\tresolve(name: string): unknown {\n\t\tif (this._resolving.has(name)) {\n\t\t\tthrow new Error(`Circular dependency detected while resolving service: ${name}`);\n\t\t}\n\n\t\tthis._resolving.add(name);\n\n\t\ttry {\n\t\t\t// Check for registered instance first\n\t\t\tif (this._services.has(name)) {\n\t\t\t\treturn this._services.get(name);\n\t\t\t}\n\n\t\t\t// Check for cached factory result\n\t\t\tif (this._factories.has(name)) {\n\t\t\t\tconst factory = this._factories.get(name)!;\n\t\t\t\tconst instance = factory();\n\t\t\t\t// Cache the result for future calls (singleton behavior)\n\t\t\t\tthis._services.set(name, instance);\n\t\t\t\tthis._factories.delete(name);\n\t\t\t\treturn instance;\n\t\t\t}\n\n\t\t\t// Check for transient factory (call every time)\n\t\t\tif (this._transientFactories.has(name)) {\n\t\t\t\tconst factory = this._transientFactories.get(name)!;\n\t\t\t\treturn factory();\n\t\t\t}\n\n\t\t\tthrow new Error(`Service not found: ${name}. Did you forget to register it?`);\n\t\t} finally {\n\t\t\tthis._resolving.delete(name);\n\t\t}\n\t}\n\n\t/**\n\t * Resolve a service by name with an `unknown` return type.\n\t * Use this when the service key is not in ServiceRegistry.\n\t *\n\t * @param name - The name/identifier of the service\n\t * @returns The service instance as `unknown` — caller must narrow\n\t */\n\tresolveDynamic(name: string): unknown {\n\t\treturn this.resolve(name as never);\n\t}\n\n\t/**\n\t * Register a factory for a service key not present in `ServiceRegistry`.\n\t * Use this for runtime-keyed registrations that cannot be expressed as typed services.\n\t *\n\t * @param name - Arbitrary string key\n\t * @param factory - Factory returning the dynamic instance\n\t */\n\tregisterDynamic(name: string, factory: () => unknown): void {\n\t\tif (\n\t\t\tthis._services.has(name) ||\n\t\t\tthis._factories.has(name) ||\n\t\t\tthis._transientFactories.has(name)\n\t\t) {\n\t\t\tthrow new Error(`Service '${name}' is already registered`);\n\t\t}\n\t\tthis._factories.set(name, factory);\n\t}\n\n\t/**\n\t * Register a singleton instance for a service key not present in `ServiceRegistry`.\n\t *\n\t * @param name - Arbitrary string key\n\t * @param instance - The instance to register\n\t */\n\tregisterDynamicInstance(name: string, instance: unknown): void {\n\t\tif (\n\t\t\tthis._services.has(name) ||\n\t\t\tthis._factories.has(name) ||\n\t\t\tthis._transientFactories.has(name)\n\t\t) {\n\t\t\tthrow new Error(`Service '${name}' is already registered`);\n\t\t}\n\t\tthis._services.set(name, instance);\n\t}\n\n\t/**\n\t * Register a transient factory for a service key not present in `ServiceRegistry`.\n\t * Each `resolveDynamic` call invokes the factory and returns a new instance.\n\t *\n\t * @param name - Arbitrary string key\n\t * @param factory - Factory returning a new instance per call\n\t */\n\tregisterDynamicFactory(name: string, factory: () => unknown): void {\n\t\tif (\n\t\t\tthis._services.has(name) ||\n\t\t\tthis._factories.has(name) ||\n\t\t\tthis._transientFactories.has(name)\n\t\t) {\n\t\t\tthrow new Error(`Service '${name}' is already registered`);\n\t\t}\n\t\tthis._transientFactories.set(name, factory);\n\t}\n\n\t/**\n\t * Check if a service is registered (either as instance or factory).\n\t *\n\t * @param name - The name/identifier of the service to check\n\t * @returns `true` if the service is registered, `false` otherwise\n\t *\n\t * @example\n\t * ```typescript\n\t * if (!container.has('Logger')) {\n\t * container.registerInstance('Logger', new StructuredLogger());\n\t * }\n\t * ```\n\t */\n\thas(name: string): boolean {\n\t\treturn (\n\t\t\tthis._services.has(name) || this._factories.has(name) || this._transientFactories.has(name)\n\t\t);\n\t}\n\n\t/**\n\t * Remove a registered service from the container.\n\t *\n\t * @param name - The name/identifier of the service to unregister\n\t * @returns `true` if the service was found and removed, `false` otherwise\n\t *\n\t * @example\n\t * ```typescript\n\t * container.unregister('HistoryManager');\n\t * ```\n\t */\n\tunregister(name: string): boolean {\n\t\tconst hadInstance = this._services.delete(name);\n\t\tconst hadFactory = this._factories.delete(name);\n\t\tconst hadTransient = this._transientFactories.delete(name);\n\t\tthis._disposables.delete(name);\n\t\treturn hadInstance || hadFactory || hadTransient;\n\t}\n\n\t/**\n\t * Clear all registered services and factories from the container.\n\t *\n\t * @example\n\t * ```typescript\n\t * container.clear();\n\t * ```\n\t */\n\tclear(): void {\n\t\tthis._services.clear();\n\t\tthis._factories.clear();\n\t\tthis._transientFactories.clear();\n\t\tthis._resolving.clear();\n\t\tthis._disposables.clear();\n\t}\n\n\t/**\n\t * Get the number of registered services (including instances, factories, and transient factories).\n\t *\n\t * @returns The total count of registered services\n\t *\n\t * @example\n\t * ```typescript\n\t * console.log(`Registered services: ${container.size}`);\n\t * ```\n\t */\n\tget size(): number {\n\t\treturn this._services.size + this._factories.size + this._transientFactories.size;\n\t}\n\n\t/**\n\t * Get an array of all registered service names.\n\t *\n\t * @returns An array of service names\n\t *\n\t * @example\n\t * ```typescript\n\t * const names = container.registeredServices();\n\t * console.log('Registered:', names.join(', '));\n\t * ```\n\t */\n\tregisteredServices(): string[] {\n\t\tconst names = new Set<string>();\n\t\tfor (const name of this._services.keys()) names.add(name);\n\t\tfor (const name of this._factories.keys()) names.add(name);\n\t\tfor (const name of this._transientFactories.keys()) names.add(name);\n\t\treturn Array.from(names);\n\t}\n\n\t/**\n\t * Register an instance as disposable for lifecycle management.\n\t * The instance will have its `dispose()` method called when the container is disposed.\n\t *\n\t * @param name - The service name (must already be registered)\n\t * @param instance - The disposable instance to track\n\t *\n\t * @example\n\t * ```typescript\n\t * const pool = new ConnectionPool();\n\t * container.registerInstance('ConnectionPool', pool);\n\t * container.registerDisposable('ConnectionPool', pool);\n\t * ```\n\t */\n\tregisterDisposable(name: string, instance: IDisposable): void {\n\t\tthis._disposables.set(name, instance);\n\t}\n\n\t/**\n\t * Dispose of all registered disposable services.\n\t * Calls `dispose()` on each registered disposable in reverse registration order.\n\t * Errors during individual disposal are caught and logged to prevent cascading failures.\n\t *\n\t * @example\n\t * ```typescript\n\t * await container.dispose();\n\t * ```\n\t */\n\tasync dispose(): Promise<void> {\n\t\tconst entries = Array.from(this._disposables.entries()).reverse();\n\t\tconst errors: Array<{ name: string; error: unknown }> = [];\n\n\t\tfor (const [name, disposable] of entries) {\n\t\t\ttry {\n\t\t\t\tawait disposable.dispose();\n\t\t\t} catch (error) {\n\t\t\t\terrors.push({ name, error });\n\t\t\t}\n\t\t}\n\n\t\tthis._disposables.clear();\n\n\t\tif (errors.length > 0) {\n\t\t\tconst messages = errors.map(\n\t\t\t\t(e) => `${e.name}: ${e.error instanceof Error ? e.error.message : String(e.error)}`\n\t\t\t);\n\t\t\tthrow new Error(`Failed to dispose services: ${messages.join(', ')}`);\n\t\t}\n\t}\n}\n\n/**\n * Create a pre-configured container with all default services registered.\n *\n * This factory function creates a container with all standard services\n * for the ToolAwareSequentialThinkingServer.\n *\n * @param options - Configuration options for the container\n * @returns A configured container ready to use\n *\n * @example\n * ```typescript\n * const container = createDefaultContainer({\n * logger: customLogger,\n * config: customConfig\n * });\n * const server = new ToolAwareSequentialThinkingServer({ container });\n * ```\n */\nexport interface CreateContainerOptions {\n\tlogger?: Logger;\n\tconfig?: ServerConfig;\n\tfileConfig?: ConfigFileOptions;\n}\n\nexport function createDefaultContainer(options: CreateContainerOptions = {}): Container {\n\tconst container = new Container();\n\n\t// Register logger if provided\n\tif (options.logger) {\n\t\tcontainer.registerInstance('Logger', options.logger as StructuredLogger);\n\t}\n\n\t// Register config if provided\n\tif (options.config) {\n\t\tcontainer.registerInstance('Config', options.config);\n\t}\n\n\treturn container;\n}\n"],"names":["Container","Map","Set","name","instance","Error","factory","hadInstance","hadFactory","hadTransient","names","Array","entries","errors","disposable","error","messages","e","String","createDefaultContainer","options","container"],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Service registry type definitions for the DI container.
3
+ *
4
+ * Maps service keys to their concrete types for type-safe resolution.
5
+ * Interface types are imported from contracts/ to reduce coupling.
6
+ * Concrete types are imported only where needed for DI resolution.
7
+ */
8
+ import type { PersistenceBackend } from '../contracts/PersistenceBackend.js';
9
+ import type { HistoryManager } from '../core/HistoryManager.js';
10
+ import type { EdgeStore } from '../core/graph/EdgeStore.js';
11
+ import type { ICalibrator } from '../contracts/calibrator.js';
12
+ import type { IOutcomeRecorder, ISessionLock } from '../contracts/interfaces.js';
13
+ import type { IReasoningStrategy } from '../contracts/strategy.js';
14
+ import type { ThoughtEvaluator } from '../core/ThoughtEvaluator.js';
15
+ import type { IThoughtFormatter } from '../core/IThoughtFormatter.js';
16
+ import type { ThoughtProcessor } from '../core/ThoughtProcessor.js';
17
+ import type { StructuredLogger } from '../logger/StructuredLogger.js';
18
+ import type { Metrics } from '../metrics/metrics.impl.js';
19
+ import type { SkillRegistry } from '../registry/SkillRegistry.js';
20
+ import type { ToolRegistry } from '../registry/ToolRegistry.js';
21
+ import type { ServerConfig } from '../ServerConfig.js';
22
+ import type { ISummaryStore } from '../contracts/summary.js';
23
+ import type { CompressionService } from '../core/compression/CompressionService.js';
24
+ import type { ISuspensionStore } from '../contracts/suspension.js';
25
+ import type { ConfigFileOptions } from '../config/ConfigLoader.js';
26
+ import type { SessionLifecycleCoordinator } from '../core/SessionLifecycleCoordinator.js';
27
+ export interface ServiceRegistry {
28
+ Logger: StructuredLogger;
29
+ Config: ServerConfig;
30
+ FileConfig: ConfigFileOptions;
31
+ HistoryManager: HistoryManager;
32
+ ThoughtProcessor: ThoughtProcessor;
33
+ ThoughtFormatter: IThoughtFormatter;
34
+ ThoughtEvaluator: ThoughtEvaluator;
35
+ Persistence: PersistenceBackend | null;
36
+ ToolRegistry: ToolRegistry;
37
+ SkillRegistry: SkillRegistry;
38
+ Metrics: Metrics;
39
+ EdgeStore: EdgeStore;
40
+ reasoningStrategy: IReasoningStrategy;
41
+ outcomeRecorder: IOutcomeRecorder;
42
+ calibrator: ICalibrator;
43
+ summaryStore: ISummaryStore;
44
+ compressionService: CompressionService;
45
+ suspensionStore: ISuspensionStore;
46
+ sessionLock: ISessionLock;
47
+ sessionLifecycle: SessionLifecycleCoordinator;
48
+ }
49
+ export type ServiceKey = keyof ServiceRegistry;
50
+ //# sourceMappingURL=ServiceRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceRegistry.d.ts","sourceRoot":"","sources":["../../src/di/ServiceRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAE1F,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,eAAe,EAAE,gBAAgB,CAAC;IAClC,UAAU,EAAE,WAAW,CAAC;IACxB,YAAY,EAAE,aAAa,CAAC;IAC5B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,eAAe,EAAE,gBAAgB,CAAC;IAClC,WAAW,EAAE,YAAY,CAAC;IAC1B,gBAAgB,EAAE,2BAA2B,CAAC;CAC9C;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ export { };