@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,254 @@
1
+ /**
2
+ * Shared interface contracts for dependency injection.
3
+ *
4
+ * This module centralizes all cross-module interface definitions so that
5
+ * the DI container (ServiceRegistry) and other modules can depend on
6
+ * interfaces rather than concrete implementations.
7
+ *
8
+ * By importing from contracts/ instead of individual module files,
9
+ * we reduce lateral coupling and keep the dependency graph shallow.
10
+ *
11
+ * @module contracts
12
+ */
13
+ import type { Edge } from '../core/graph/Edge.js';
14
+ import type { EdgeId, SessionId, ThoughtId } from './ids.js';
15
+ import type { ThoughtType } from './reasoning-types.js';
16
+ /**
17
+ * Metrics interface for observability.
18
+ *
19
+ * Defines the contract for metrics collection used across modules.
20
+ * Implementations include the Prometheus-compatible Metrics class.
21
+ */
22
+ export interface IMetrics {
23
+ counter(name: string, value?: number, labels?: Record<string, string>, help?: string): void;
24
+ gauge(name: string, value: number, labels?: Record<string, string>, help?: string): void;
25
+ histogram(name: string, value: number, labels?: Record<string, string>, buckets?: number[]): void;
26
+ get(name: string, labels?: Record<string, string>): number | undefined;
27
+ inc(name: string, labels?: Record<string, string>): void;
28
+ dec(name: string, labels?: Record<string, string>): void;
29
+ reset(): void;
30
+ export(): string;
31
+ }
32
+ /**
33
+ * Discovery cache interface for caching tool/skill discovery results.
34
+ *
35
+ * Defines the contract for LRU+TTL caching used by registries.
36
+ * Implementations include the DiscoveryCache class.
37
+ *
38
+ * @template T - The type of data being cached
39
+ */
40
+ export interface IDiscoveryCache<T> {
41
+ get(key: string): T[] | null;
42
+ set(key: string, data: T[]): void;
43
+ has(key: string): boolean;
44
+ invalidate(key: string): void;
45
+ clear(): void;
46
+ dispose(): void;
47
+ size(): number;
48
+ getStats(): {
49
+ size: number;
50
+ keys: string[];
51
+ };
52
+ }
53
+ /**
54
+ * Configuration options for creating a discovery cache.
55
+ */
56
+ export interface DiscoveryCacheOptions {
57
+ maxSize?: number;
58
+ ttl?: number;
59
+ cleanupInterval?: number;
60
+ metrics?: IMetrics;
61
+ }
62
+ /**
63
+ * Outcome recording interface for calibration data collection.
64
+ *
65
+ * Captures verification outcomes (predicted vs actual) to enable
66
+ * confidence calibration (Brier score, ECE) in later phases.
67
+ */
68
+ export interface VerificationOutcome {
69
+ /** The thought id that made the prediction. */
70
+ thoughtId: ThoughtId;
71
+ /** The thought number of the prediction (backward compat). */
72
+ thoughtNumber: number;
73
+ /** The session this outcome belongs to. */
74
+ sessionId: SessionId;
75
+ /** The predicted confidence (0-1). */
76
+ predicted: number;
77
+ /** The actual outcome (0 = wrong, 1 = correct). */
78
+ actual: 0 | 1;
79
+ /** The thought type that made the prediction. */
80
+ type: ThoughtType;
81
+ /** Timestamp of outcome recording. */
82
+ recordedAt: number;
83
+ }
84
+ /**
85
+ * Interface for recording verification outcomes for calibration.
86
+ *
87
+ * Implementation is no-op when feature flags disable outcome recording.
88
+ * Enabled outcomes feed into the Calibrator (Phase 1 Wave A.3) for
89
+ * Brier score and ECE computation.
90
+ */
91
+ export interface IOutcomeRecorder {
92
+ /**
93
+ * Assert that a target has not already received an outcome in this session.
94
+ * This preflight is side-effect free and a no-op when recording is disabled.
95
+ */
96
+ assertCanRecord(sessionId: SessionId, thoughtId: ThoughtId): void;
97
+ /**
98
+ * Record a verification outcome.
99
+ * No-op when outcome recording is disabled.
100
+ */
101
+ recordVerification(outcome: Omit<VerificationOutcome, 'recordedAt'>): void;
102
+ /**
103
+ * Get all recorded outcomes for a session.
104
+ * Returns empty array when disabled or no outcomes recorded.
105
+ */
106
+ getOutcomes(sessionId: SessionId): VerificationOutcome[];
107
+ /**
108
+ * Get outcomes across all sessions.
109
+ * Returns empty array when disabled.
110
+ */
111
+ getAllOutcomes(): VerificationOutcome[];
112
+ /**
113
+ * Clear outcomes for a specific session.
114
+ */
115
+ clearOutcomes(sessionId: SessionId): void;
116
+ /**
117
+ * Discard outcomes from every session namespace.
118
+ * Use only for a trusted process-wide reset; scoped callers must use `clearOutcomes`.
119
+ */
120
+ clearAllOutcomes(): void;
121
+ /**
122
+ * Whether outcome recording is currently enabled.
123
+ */
124
+ readonly enabled: boolean;
125
+ }
126
+ /**
127
+ * Edge store interface for managing directed acyclic graph edges.
128
+ *
129
+ * Stores relationships between thoughts as typed directed edges.
130
+ * Each edge connects two thoughts (by their `id` field) with a semantic
131
+ * relationship kind that drives reasoning controller decisions.
132
+ *
133
+ * Implementations must provide per-session isolation — edges in one
134
+ * session are invisible to another.
135
+ *
136
+ * @example
137
+ * ```typescript
138
+ * const store: IEdgeStore = new EdgeStore();
139
+ * store.addEdge({ id: 'abc', from: 'thought-1', to: 'thought-2', kind: 'sequence', sessionId: 's1', createdAt: Date.now() });
140
+ * const edges = store.outgoing('s1', 'thought-1');
141
+ * ```
142
+ */
143
+ export interface IEdgeStore {
144
+ /**
145
+ * Add a directed edge to the store.
146
+ * Rejects self-edges (from === to) by throwing InvalidEdgeError.
147
+ * Deduplicates identical (from, to, kind, sessionId) tuples silently.
148
+ *
149
+ * @param edge - The edge to add
150
+ * @throws {InvalidEdgeError} When from === to
151
+ */
152
+ addEdge(edge: Edge): void;
153
+ /**
154
+ * Retrieve a specific edge by its id.
155
+ *
156
+ * @param id - The edge's unique identifier
157
+ * @returns The edge, or undefined if not found
158
+ */
159
+ getEdge(id: EdgeId): Edge | undefined;
160
+ /**
161
+ * Get all outgoing edges from a thought, sorted by createdAt ascending.
162
+ *
163
+ * @param sessionId - Session to query within
164
+ * @param from - Source thought id
165
+ * @returns Array of outgoing edges (may be empty)
166
+ */
167
+ outgoing(sessionId: SessionId, from: ThoughtId): readonly Edge[];
168
+ /**
169
+ * Get all incoming edges to a thought, sorted by createdAt ascending.
170
+ *
171
+ * @param sessionId - Session to query within
172
+ * @param to - Target thought id
173
+ * @returns Array of incoming edges (may be empty)
174
+ */
175
+ incoming(sessionId: SessionId, to: ThoughtId): readonly Edge[];
176
+ /**
177
+ * Get all edges in a session.
178
+ *
179
+ * @param sessionId - Session to query
180
+ * @returns All edges in the session (may be empty)
181
+ */
182
+ edgesForSession(sessionId: SessionId): readonly Edge[];
183
+ /**
184
+ * Remove unless both endpoints are retained; leave other sessions untouched and delete empty containers.
185
+ * @param sessionId - Session whose edges should be pruned
186
+ * @param retainedThoughtIds - Union of all retained thought ids in the session
187
+ * @returns The exact number of removed edges
188
+ */
189
+ pruneSession(sessionId: SessionId, retainedThoughtIds: ReadonlySet<ThoughtId>, retainedBranchThoughtIds?: ReadonlySet<ThoughtId>): number;
190
+ /**
191
+ * Clear all edges for a specific session.
192
+ * Other sessions are unaffected.
193
+ *
194
+ * @param sessionId - Session to clear
195
+ */
196
+ clearSession(sessionId: SessionId): void;
197
+ /**
198
+ * Discard edges from every session namespace.
199
+ * Use only for a trusted process-wide reset; scoped callers must use `clearSession`.
200
+ */
201
+ clearAll(): void;
202
+ /**
203
+ * Count edges.
204
+ *
205
+ * @param sessionId - If provided, count for that session only
206
+ * @returns Total edge count (across all sessions if no sessionId provided)
207
+ */
208
+ size(sessionId?: SessionId): number;
209
+ }
210
+ /**
211
+ * Tool registry interface used for tool_name allowlisting in ThoughtProcessor.
212
+ *
213
+ * Provides the minimal read-only contract needed to validate tool_call thoughts.
214
+ * Implementations include the concrete `ToolRegistry` class.
215
+ */
216
+ export interface IToolRegistry {
217
+ /**
218
+ * Returns true if a tool with the given name is registered.
219
+ */
220
+ has(name: string): boolean;
221
+ /**
222
+ * Returns the names of all registered tools.
223
+ */
224
+ list(): string[];
225
+ }
226
+ /**
227
+ * Per-session async lock used to serialize state-mutating operations.
228
+ *
229
+ * Implementations must guarantee:
230
+ * - Concurrent calls for the same session id are serialized in arrival order.
231
+ * - Calls for different session ids never block each other.
232
+ * - The lock is always released, even when the critical section throws.
233
+ * - A waiter that times out does not corrupt the chain — later waiters
234
+ * still observe correct serialization.
235
+ *
236
+ * Used by `ThoughtProcessor.process()` to prevent `reset_state` from
237
+ * interleaving with concurrent `addThought` calls for the same session.
238
+ */
239
+ export interface ISessionLock {
240
+ /**
241
+ * Execute `fn` while holding the lock for the given session.
242
+ *
243
+ * @param sessionId - Session to lock (`undefined` shares a global slot).
244
+ * @param fn - Critical section to run while holding the lock.
245
+ * @param timeoutMs - Max wait for lock acquisition (default 5000ms).
246
+ * @throws {LockTimeoutError} If the lock is not acquired before `timeoutMs`.
247
+ */
248
+ withLock<T>(sessionId: SessionId | undefined, fn: () => Promise<T>, timeoutMs?: number): Promise<T>;
249
+ /** Whether the session currently has a holder or queued operation. */
250
+ isActive(sessionId: SessionId | undefined): boolean;
251
+ /** Number of currently held lock chains (diagnostics). */
252
+ readonly size: number;
253
+ }
254
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/contracts/interfaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Attributable work contracts for buffered persistence generations.
3
+ *
4
+ * @module contracts/persistence-work
5
+ */
6
+ import type { Summary } from '../core/compression/Summary.js';
7
+ import type { Edge } from '../core/graph/Edge.js';
8
+ import type { ThoughtData } from '../core/thought.js';
9
+ import type { BranchId, SessionId } from './ids.js';
10
+ /** Stable queue-assigned identity for one accepted persistence unit. */
11
+ export type PersistenceWorkToken = string;
12
+ /**
13
+ * One accepted persistence unit.
14
+ *
15
+ * Every variant has an explicit session, including global work attributed to
16
+ * `GLOBAL_SESSION_ID`. Snapshot variants use `key` and `version` for
17
+ * compare-and-set acknowledgement of the exact accepted snapshot.
18
+ */
19
+ export type PersistenceWork = {
20
+ readonly kind: 'thought';
21
+ readonly token: PersistenceWorkToken;
22
+ readonly sessionId: SessionId;
23
+ readonly thought: ThoughtData;
24
+ } | {
25
+ readonly kind: 'branch';
26
+ readonly operation: 'save';
27
+ readonly token: PersistenceWorkToken;
28
+ readonly sessionId: SessionId;
29
+ readonly key: BranchId;
30
+ readonly version: number;
31
+ readonly snapshot: readonly ThoughtData[];
32
+ } | {
33
+ readonly kind: 'branch';
34
+ readonly operation: 'delete';
35
+ readonly token: PersistenceWorkToken;
36
+ readonly sessionId: SessionId;
37
+ readonly key: BranchId;
38
+ readonly version: number;
39
+ } | {
40
+ readonly kind: 'edge';
41
+ readonly token: PersistenceWorkToken;
42
+ readonly sessionId: SessionId;
43
+ readonly key: SessionId;
44
+ readonly version: number;
45
+ readonly snapshot: readonly Edge[];
46
+ } | {
47
+ readonly kind: 'summary';
48
+ readonly token: PersistenceWorkToken;
49
+ readonly sessionId: SessionId;
50
+ readonly key: SessionId;
51
+ readonly version: number;
52
+ readonly snapshot: readonly Summary[];
53
+ };
54
+ /**
55
+ * Terminal failure for one accepted persistence unit.
56
+ *
57
+ * Snapshot failures retain their acknowledgement coordinates without exposing
58
+ * the persisted payload. `attempts` is the exact number of backend calls made.
59
+ */
60
+ export type PersistenceWorkFailure = {
61
+ readonly kind: 'thought';
62
+ readonly token: PersistenceWorkToken;
63
+ readonly sessionId: SessionId;
64
+ readonly attempts: number;
65
+ readonly cause: unknown;
66
+ } | {
67
+ readonly kind: 'branch';
68
+ readonly operation: 'save' | 'delete';
69
+ readonly token: PersistenceWorkToken;
70
+ readonly sessionId: SessionId;
71
+ readonly key: BranchId;
72
+ readonly version: number;
73
+ readonly attempts: number;
74
+ readonly cause: unknown;
75
+ } | {
76
+ readonly kind: 'edge';
77
+ readonly token: PersistenceWorkToken;
78
+ readonly sessionId: SessionId;
79
+ readonly key: SessionId;
80
+ readonly version: number;
81
+ readonly attempts: number;
82
+ readonly cause: unknown;
83
+ } | {
84
+ readonly kind: 'summary';
85
+ readonly token: PersistenceWorkToken;
86
+ readonly sessionId: SessionId;
87
+ readonly key: SessionId;
88
+ readonly version: number;
89
+ readonly attempts: number;
90
+ readonly cause: unknown;
91
+ };
92
+ /** Immutable outcome captured when a persistence generation settles. */
93
+ export type PersistenceGenerationResult = {
94
+ readonly failures: readonly PersistenceWorkFailure[];
95
+ };
96
+ //# sourceMappingURL=persistence-work.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistence-work.d.ts","sourceRoot":"","sources":["../../src/contracts/persistence-work.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Classification of thought purpose — enables type-specific formatting, evaluation, and analytics.
3
+ *
4
+ * @example
5
+ * ```typescript
6
+ * const thoughtType: ThoughtType = 'hypothesis';
7
+ *
8
+ * // Use in conditional formatting
9
+ * if (thoughtType === 'verification') {
10
+ * console.log('Verifying a hypothesis...');
11
+ * }
12
+ * ```
13
+ */
14
+ export type ThoughtType = 'regular' | 'hypothesis' | 'verification' | 'critique' | 'synthesis' | 'meta' | 'tool_call' | 'tool_observation' | 'assumption' | 'decomposition' | 'backtrack';
15
+ /**
16
+ * Machine-readable names for the 6 detected reasoning patterns.
17
+ *
18
+ * Each name corresponds to a private detector method in PatternDetector.
19
+ */
20
+ export type PatternName = 'consecutive_without_verification' | 'unverified_hypothesis' | 'monotonic_type' | 'no_alternatives_explored' | 'confidence_drift' | 'healthy_verification';
21
+ //# sourceMappingURL=reasoning-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-types.d.ts","sourceRoot":"","sources":["../../src/contracts/reasoning-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GACpB,SAAS,GACT,YAAY,GACZ,cAAc,GACd,UAAU,GACV,WAAW,GACX,MAAM,GACN,WAAW,GACX,kBAAkB,GAClB,YAAY,GACZ,eAAe,GACf,WAAW,CAAC;AAEf;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACpB,kCAAkC,GAClC,uBAAuB,GACvB,gBAAgB,GAChB,0BAA0B,GAC1B,kBAAkB,GAClB,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Reasoning Strategy contract — defines how a strategy observes reasoning state
3
+ * and decides the next action (continue, branch, terminate, suspend).
4
+ *
5
+ * Strategies are pluggable policies that drive higher-level reasoning control
6
+ * flow on top of the sequential thinking pipeline. They are pure (no I/O) and
7
+ * receive a snapshot of session state via {@link StrategyContext}.
8
+ *
9
+ * @module contracts/strategy
10
+ */
11
+ import type { SessionId } from './ids.js';
12
+ import type { ThoughtData } from '../core/thought.js';
13
+ import type { ReasoningStats } from '../core/reasoning.js';
14
+ import type { GraphView } from '../core/graph/GraphView.js';
15
+ /**
16
+ * Read-only snapshot of session state passed to a reasoning strategy.
17
+ *
18
+ * All fields are immutable references. Strategies MUST NOT mutate the
19
+ * history, graph, or stats — doing so will corrupt downstream consumers.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const ctx: StrategyContext = {
24
+ * sessionId: 'sess_42',
25
+ * history: hm.getHistory('sess_42'),
26
+ * graph: new GraphView(edgeStore, 'sess_42'),
27
+ * stats: evaluator.computeStats(history),
28
+ * currentThought: latestThought,
29
+ * };
30
+ * const decision = strategy.decide(ctx);
31
+ * ```
32
+ */
33
+ export interface StrategyContext {
34
+ /** Session identifier this context belongs to. */
35
+ readonly sessionId: SessionId;
36
+ /** Chronological list of thoughts recorded in this session. */
37
+ readonly history: readonly ThoughtData[];
38
+ /** Read-only graph view for traversal (ancestors, descendants, etc.). Undefined when DAG edges are disabled. */
39
+ readonly graph: GraphView | undefined;
40
+ /** Aggregated reasoning analytics for the session. */
41
+ readonly stats: ReasoningStats;
42
+ /** The thought that just triggered the strategy decision. */
43
+ readonly currentThought: ThoughtData;
44
+ }
45
+ /**
46
+ * Discriminated union describing the action a strategy wants to take.
47
+ *
48
+ * - `continue` — keep the current chain; optionally hint at next direction.
49
+ * - `branch` — fork a new branch from a prior thought.
50
+ * - `terminate` — stop the reasoning chain; reason is required.
51
+ * - `suspend` — pause the chain; may be resumed after `resumeAfter` ms.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * const d: StrategyDecision = { action: 'branch', branchId: 'alt-1', fromThought: 3 };
56
+ * if (d.action === 'branch') console.log(d.branchId);
57
+ * ```
58
+ */
59
+ export type StrategyDecision = {
60
+ action: 'continue';
61
+ reason?: string;
62
+ nextHint?: string;
63
+ } | {
64
+ action: 'branch';
65
+ branchId: string;
66
+ fromThought: number;
67
+ reason?: string;
68
+ } | {
69
+ action: 'terminate';
70
+ reason: string;
71
+ } | {
72
+ action: 'suspend';
73
+ reason: string;
74
+ resumeAfter?: number;
75
+ };
76
+ /**
77
+ * Pluggable reasoning strategy interface.
78
+ *
79
+ * Implementations are stateless with respect to global state — all input
80
+ * comes from the {@link StrategyContext}. Strategies are registered via DI
81
+ * and selected by name (e.g. `tot`, `cot`, `react`).
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * class GreedyStrategy implements IReasoningStrategy {
86
+ * readonly name = 'greedy';
87
+ * decide(ctx: StrategyContext): StrategyDecision {
88
+ * return { action: 'continue' };
89
+ * }
90
+ * shouldBranch(_ctx: StrategyContext): boolean { return false; }
91
+ * shouldTerminate(ctx: StrategyContext): boolean {
92
+ * return ctx.history.length >= 50;
93
+ * }
94
+ * }
95
+ * ```
96
+ */
97
+ export interface IReasoningStrategy {
98
+ /** Stable identifier (used for DI lookup and metrics labels). */
99
+ readonly name: string;
100
+ /** Compute the next action given the current state snapshot. */
101
+ decide(ctx: StrategyContext): StrategyDecision;
102
+ /** Predicate: should the chain branch right now? */
103
+ shouldBranch(ctx: StrategyContext): boolean;
104
+ /** Predicate: should the chain terminate right now? */
105
+ shouldTerminate(ctx: StrategyContext): boolean;
106
+ }
107
+ //# sourceMappingURL=strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/contracts/strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,eAAe;IAC/B,kDAAkD;IAClD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,gHAAgH;IAChH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IACtC,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,6DAA6D;IAC7D,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC;CACrC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GACzB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,kBAAkB;IAClC,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,gBAAgB,CAAC;IAC/C,oDAAoD;IACpD,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC;IAC5C,uDAAuD;IACvD,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC;CAC/C"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Summary store contract — defines the interface for persisting and querying
3
+ * compressed thought summaries produced by the compression subsystem.
4
+ *
5
+ * Implementations must provide per-session isolation: summaries from one
6
+ * session must never appear in queries scoped to another session.
7
+ *
8
+ * @module contracts/summary
9
+ */
10
+ import type { Summary } from '../core/compression/Summary.js';
11
+ import type { BranchId, SessionId, SummaryId } from './ids.js';
12
+ export type { Summary };
13
+ /**
14
+ * Storage and query contract for {@link Summary} records.
15
+ *
16
+ * Implementations are expected to be in-process (no I/O) and synchronous.
17
+ * Persistence backends may wrap this interface in async adapters.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const store: ISummaryStore = new InMemorySummaryStore();
22
+ * store.add(summary);
23
+ * const all = store.forSession('sess_42');
24
+ * const branch = store.forBranch('sess_42', 'alt-1');
25
+ * ```
26
+ */
27
+ export interface ISummaryStore {
28
+ /**
29
+ * Add a summary to the store.
30
+ *
31
+ * @param summary - The summary record to add
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * store.add({ id: '01HX...', sessionId: 's1', rootThoughtId: 't5', ... });
36
+ * ```
37
+ */
38
+ add(summary: Summary): void;
39
+ /**
40
+ * Retrieve a summary by its unique id.
41
+ *
42
+ * @param id - The summary's unique identifier
43
+ * @returns The summary, or `undefined` if not found
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const s = store.get('01HX...');
48
+ * if (s) console.log(s.topics);
49
+ * ```
50
+ */
51
+ get(id: SummaryId): Summary | undefined;
52
+ /**
53
+ * Get all summaries for a session, in insertion order.
54
+ *
55
+ * @param sessionId - Session to query
56
+ * @returns Read-only array of summaries (may be empty)
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * for (const s of store.forSession('sess_42')) {
61
+ * console.log(s.coveredRange);
62
+ * }
63
+ * ```
64
+ */
65
+ forSession(sessionId: SessionId): readonly Summary[];
66
+ /**
67
+ * Get all summaries for a specific branch within a session.
68
+ *
69
+ * @param sessionId - Session to query
70
+ * @param branchId - Branch identifier to filter by
71
+ * @returns Read-only array of summaries on that branch (may be empty)
72
+ *
73
+ * @example
74
+ * ```ts
75
+ * const altSummaries = store.forBranch('sess_42', 'alt-1');
76
+ * ```
77
+ */
78
+ forBranch(sessionId: SessionId, branchId: BranchId): readonly Summary[];
79
+ /**
80
+ * Remove all summaries for a session. Other sessions are unaffected.
81
+ *
82
+ * @param sessionId - Session to clear
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * store.clearSession('sess_42');
87
+ * ```
88
+ */
89
+ clearSession(sessionId: SessionId): void;
90
+ /**
91
+ * Discard summaries from every session namespace.
92
+ * Use only for a trusted process-wide reset; scoped callers must use `clearSession`.
93
+ */
94
+ clearAll(): void;
95
+ /**
96
+ * Count summaries.
97
+ *
98
+ * @param sessionId - If provided, count for that session only;
99
+ * otherwise return the total across all sessions
100
+ * @returns The number of summaries
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * const total = store.size();
105
+ * const perSession = store.size('sess_42');
106
+ * ```
107
+ */
108
+ size(sessionId?: SessionId): number;
109
+ }
110
+ //# sourceMappingURL=summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/contracts/summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/D,YAAY,EAAE,OAAO,EAAE,CAAC;AAExB;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC7B;;;;;;;;;OASG;IACH,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAE5B;;;;;;;;;;;OAWG;IACH,GAAG,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAExC;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,OAAO,EAAE,CAAC;IAErD;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,OAAO,EAAE,CAAC;IAExE;;;;;;;;;OASG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAEzC;;;OAGG;IACH,QAAQ,IAAI,IAAI,CAAC;IAEjB;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CACpC"}
@@ -0,0 +1 @@
1
+ export { };