@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.
- package/LICENSE +24 -0
- package/README.md +260 -0
- package/dist/CliLifecycle.d.ts +31 -0
- package/dist/CliLifecycle.d.ts.map +1 -0
- package/dist/CliLifecycle.js +90 -0
- package/dist/CliLifecycle.js.map +1 -0
- package/dist/ServerConfig.d.ts +290 -0
- package/dist/ServerConfig.d.ts.map +1 -0
- package/dist/ServerConfig.js +175 -0
- package/dist/ServerConfig.js.map +1 -0
- package/dist/cache/DiscoveryCache.d.ts +269 -0
- package/dist/cache/DiscoveryCache.d.ts.map +1 -0
- package/dist/cache/DiscoveryCache.js +104 -0
- package/dist/cache/DiscoveryCache.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +5177 -0
- package/dist/cli.js.map +1 -0
- package/dist/config/ConfigLoader.d.ts +270 -0
- package/dist/config/ConfigLoader.d.ts.map +1 -0
- package/dist/config/ConfigLoader.js +186 -0
- package/dist/config/ConfigLoader.js.map +1 -0
- package/dist/context/RequestContext.d.ts +43 -0
- package/dist/context/RequestContext.d.ts.map +1 -0
- package/dist/context/RequestContext.js +14 -0
- package/dist/context/RequestContext.js.map +1 -0
- package/dist/contracts/PersistenceBackend.d.ts +134 -0
- package/dist/contracts/PersistenceBackend.d.ts.map +1 -0
- package/dist/contracts/PersistenceBackend.js +6 -0
- package/dist/contracts/PersistenceBackend.js.map +1 -0
- package/dist/contracts/calibrator.d.ts +97 -0
- package/dist/contracts/calibrator.d.ts.map +1 -0
- package/dist/contracts/calibrator.js +1 -0
- package/dist/contracts/features.d.ts +35 -0
- package/dist/contracts/features.d.ts.map +1 -0
- package/dist/contracts/features.js +12 -0
- package/dist/contracts/features.js.map +1 -0
- package/dist/contracts/ids.d.ts +68 -0
- package/dist/contracts/ids.d.ts.map +1 -0
- package/dist/contracts/ids.js +40 -0
- package/dist/contracts/ids.js.map +1 -0
- package/dist/contracts/interfaces.d.ts +254 -0
- package/dist/contracts/interfaces.d.ts.map +1 -0
- package/dist/contracts/interfaces.js +1 -0
- package/dist/contracts/persistence-work.d.ts +96 -0
- package/dist/contracts/persistence-work.d.ts.map +1 -0
- package/dist/contracts/persistence-work.js +1 -0
- package/dist/contracts/reasoning-types.d.ts +21 -0
- package/dist/contracts/reasoning-types.d.ts.map +1 -0
- package/dist/contracts/reasoning-types.js +1 -0
- package/dist/contracts/strategy.d.ts +107 -0
- package/dist/contracts/strategy.d.ts.map +1 -0
- package/dist/contracts/strategy.js +1 -0
- package/dist/contracts/summary.d.ts +110 -0
- package/dist/contracts/summary.d.ts.map +1 -0
- package/dist/contracts/summary.js +1 -0
- package/dist/contracts/suspension.d.ts +215 -0
- package/dist/contracts/suspension.d.ts.map +1 -0
- package/dist/contracts/suspension.js +1 -0
- package/dist/contracts/transport.d.ts +26 -0
- package/dist/contracts/transport.d.ts.map +1 -0
- package/dist/contracts/transport.js +1 -0
- package/dist/core/CrossReferenceValidator.d.ts +18 -0
- package/dist/core/CrossReferenceValidator.d.ts.map +1 -0
- package/dist/core/CrossReferenceValidator.js +125 -0
- package/dist/core/CrossReferenceValidator.js.map +1 -0
- package/dist/core/HistoryManager.d.ts +215 -0
- package/dist/core/HistoryManager.d.ts.map +1 -0
- package/dist/core/HistoryManager.js +594 -0
- package/dist/core/HistoryManager.js.map +1 -0
- package/dist/core/IHistoryManager.d.ts +163 -0
- package/dist/core/IHistoryManager.d.ts.map +1 -0
- package/dist/core/IHistoryManager.js +1 -0
- package/dist/core/IThoughtFormatter.d.ts +51 -0
- package/dist/core/IThoughtFormatter.d.ts.map +1 -0
- package/dist/core/IThoughtFormatter.js +1 -0
- package/dist/core/InputNormalizer.d.ts +140 -0
- package/dist/core/InputNormalizer.d.ts.map +1 -0
- package/dist/core/InputNormalizer.js +95 -0
- package/dist/core/InputNormalizer.js.map +1 -0
- package/dist/core/PersistenceBuffer.d.ts +204 -0
- package/dist/core/PersistenceBuffer.d.ts.map +1 -0
- package/dist/core/PersistenceBuffer.js +382 -0
- package/dist/core/PersistenceBuffer.js.map +1 -0
- package/dist/core/PersistenceBufferErrors.d.ts +22 -0
- package/dist/core/PersistenceBufferErrors.d.ts.map +1 -0
- package/dist/core/PersistenceBufferErrors.js +30 -0
- package/dist/core/PersistenceBufferErrors.js.map +1 -0
- package/dist/core/PersistenceRestore.d.ts +21 -0
- package/dist/core/PersistenceRestore.d.ts.map +1 -0
- package/dist/core/PersistenceRestore.js +87 -0
- package/dist/core/PersistenceRestore.js.map +1 -0
- package/dist/core/PersistenceWorkQueue.d.ts +155 -0
- package/dist/core/PersistenceWorkQueue.d.ts.map +1 -0
- package/dist/core/PersistenceWorkQueue.js +298 -0
- package/dist/core/PersistenceWorkQueue.js.map +1 -0
- package/dist/core/PersistenceWriter.d.ts +55 -0
- package/dist/core/PersistenceWriter.d.ts.map +1 -0
- package/dist/core/PersistenceWriter.js +112 -0
- package/dist/core/PersistenceWriter.js.map +1 -0
- package/dist/core/SessionErrors.d.ts +37 -0
- package/dist/core/SessionErrors.d.ts.map +1 -0
- package/dist/core/SessionErrors.js +50 -0
- package/dist/core/SessionErrors.js.map +1 -0
- package/dist/core/SessionLifecycleCoordinator.d.ts +74 -0
- package/dist/core/SessionLifecycleCoordinator.d.ts.map +1 -0
- package/dist/core/SessionLifecycleCoordinator.js +222 -0
- package/dist/core/SessionLifecycleCoordinator.js.map +1 -0
- package/dist/core/SessionLock.d.ts +59 -0
- package/dist/core/SessionLock.d.ts.map +1 -0
- package/dist/core/SessionLock.js +39 -0
- package/dist/core/SessionLock.js.map +1 -0
- package/dist/core/SessionManager.d.ts +62 -0
- package/dist/core/SessionManager.d.ts.map +1 -0
- package/dist/core/SessionManager.js +75 -0
- package/dist/core/SessionManager.js.map +1 -0
- package/dist/core/SessionResetCoordinator.d.ts +37 -0
- package/dist/core/SessionResetCoordinator.d.ts.map +1 -0
- package/dist/core/SessionResetCoordinator.js +80 -0
- package/dist/core/SessionResetCoordinator.js.map +1 -0
- package/dist/core/ThoughtEvaluator.d.ts +48 -0
- package/dist/core/ThoughtEvaluator.d.ts.map +1 -0
- package/dist/core/ThoughtEvaluator.js +85 -0
- package/dist/core/ThoughtEvaluator.js.map +1 -0
- package/dist/core/ThoughtFormatter.d.ts +134 -0
- package/dist/core/ThoughtFormatter.d.ts.map +1 -0
- package/dist/core/ThoughtFormatter.js +118 -0
- package/dist/core/ThoughtFormatter.js.map +1 -0
- package/dist/core/ThoughtProcessor.d.ts +259 -0
- package/dist/core/ThoughtProcessor.d.ts.map +1 -0
- package/dist/core/ThoughtProcessor.js +451 -0
- package/dist/core/ThoughtProcessor.js.map +1 -0
- package/dist/core/ThoughtReferenceIndex.d.ts +23 -0
- package/dist/core/ThoughtReferenceIndex.d.ts.map +1 -0
- package/dist/core/ThoughtReferenceIndex.js +66 -0
- package/dist/core/ThoughtReferenceIndex.js.map +1 -0
- package/dist/core/VerificationOutcomeAdmission.d.ts +15 -0
- package/dist/core/VerificationOutcomeAdmission.d.ts.map +1 -0
- package/dist/core/VerificationOutcomeAdmission.js +28 -0
- package/dist/core/VerificationOutcomeAdmission.js.map +1 -0
- package/dist/core/compression/CompressionService.d.ts +76 -0
- package/dist/core/compression/CompressionService.d.ts.map +1 -0
- package/dist/core/compression/CompressionService.js +160 -0
- package/dist/core/compression/CompressionService.js.map +1 -0
- package/dist/core/compression/DehydrationPolicy.d.ts +75 -0
- package/dist/core/compression/DehydrationPolicy.d.ts.map +1 -0
- package/dist/core/compression/DehydrationPolicy.js +45 -0
- package/dist/core/compression/DehydrationPolicy.js.map +1 -0
- package/dist/core/compression/InMemorySummaryStore.d.ts +132 -0
- package/dist/core/compression/InMemorySummaryStore.d.ts.map +1 -0
- package/dist/core/compression/InMemorySummaryStore.js +69 -0
- package/dist/core/compression/InMemorySummaryStore.js.map +1 -0
- package/dist/core/compression/Summary.d.ts +74 -0
- package/dist/core/compression/Summary.d.ts.map +1 -0
- package/dist/core/compression/Summary.js +16 -0
- package/dist/core/compression/Summary.js.map +1 -0
- package/dist/core/evaluator/Aggregator.d.ts +40 -0
- package/dist/core/evaluator/Aggregator.d.ts.map +1 -0
- package/dist/core/evaluator/Aggregator.js +36 -0
- package/dist/core/evaluator/Aggregator.js.map +1 -0
- package/dist/core/evaluator/Calibrator.d.ts +52 -0
- package/dist/core/evaluator/Calibrator.d.ts.map +1 -0
- package/dist/core/evaluator/Calibrator.js +135 -0
- package/dist/core/evaluator/Calibrator.js.map +1 -0
- package/dist/core/evaluator/PatternDetector.d.ts +69 -0
- package/dist/core/evaluator/PatternDetector.d.ts.map +1 -0
- package/dist/core/evaluator/PatternDetector.js +192 -0
- package/dist/core/evaluator/PatternDetector.js.map +1 -0
- package/dist/core/evaluator/SignalComputer.d.ts +116 -0
- package/dist/core/evaluator/SignalComputer.d.ts.map +1 -0
- package/dist/core/evaluator/SignalComputer.js +110 -0
- package/dist/core/evaluator/SignalComputer.js.map +1 -0
- package/dist/core/evaluator/calibration-math.d.ts +39 -0
- package/dist/core/evaluator/calibration-math.d.ts.map +1 -0
- package/dist/core/evaluator/calibration-math.js +42 -0
- package/dist/core/evaluator/calibration-math.js.map +1 -0
- package/dist/core/evaluator/internals.d.ts +36 -0
- package/dist/core/evaluator/internals.d.ts.map +1 -0
- package/dist/core/evaluator/internals.js +43 -0
- package/dist/core/evaluator/internals.js.map +1 -0
- package/dist/core/graph/Edge.d.ts +58 -0
- package/dist/core/graph/Edge.d.ts.map +1 -0
- package/dist/core/graph/Edge.js +1 -0
- package/dist/core/graph/EdgeEmitter.d.ts +68 -0
- package/dist/core/graph/EdgeEmitter.d.ts.map +1 -0
- package/dist/core/graph/EdgeEmitter.js +118 -0
- package/dist/core/graph/EdgeEmitter.js.map +1 -0
- package/dist/core/graph/EdgeStore.d.ts +116 -0
- package/dist/core/graph/EdgeStore.d.ts.map +1 -0
- package/dist/core/graph/EdgeStore.js +107 -0
- package/dist/core/graph/EdgeStore.js.map +1 -0
- package/dist/core/graph/GraphView.d.ts +157 -0
- package/dist/core/graph/GraphView.d.ts.map +1 -0
- package/dist/core/graph/GraphView.js +149 -0
- package/dist/core/graph/GraphView.js.map +1 -0
- package/dist/core/ids.d.ts +33 -0
- package/dist/core/ids.d.ts.map +1 -0
- package/dist/core/ids.js +11 -0
- package/dist/core/ids.js.map +1 -0
- package/dist/core/reasoning/OutcomeRecorder.d.ts +88 -0
- package/dist/core/reasoning/OutcomeRecorder.d.ts.map +1 -0
- package/dist/core/reasoning/OutcomeRecorder.js +51 -0
- package/dist/core/reasoning/OutcomeRecorder.js.map +1 -0
- package/dist/core/reasoning/strategies/SequentialStrategy.d.ts +54 -0
- package/dist/core/reasoning/strategies/SequentialStrategy.d.ts.map +1 -0
- package/dist/core/reasoning/strategies/SequentialStrategy.js +22 -0
- package/dist/core/reasoning/strategies/SequentialStrategy.js.map +1 -0
- package/dist/core/reasoning/strategies/StrategyFactory.d.ts +25 -0
- package/dist/core/reasoning/strategies/StrategyFactory.d.ts.map +1 -0
- package/dist/core/reasoning/strategies/StrategyFactory.js +16 -0
- package/dist/core/reasoning/strategies/StrategyFactory.js.map +1 -0
- package/dist/core/reasoning/strategies/TreeOfThoughtStrategy.d.ts +58 -0
- package/dist/core/reasoning/strategies/TreeOfThoughtStrategy.d.ts.map +1 -0
- package/dist/core/reasoning/strategies/TreeOfThoughtStrategy.js +103 -0
- package/dist/core/reasoning/strategies/TreeOfThoughtStrategy.js.map +1 -0
- package/dist/core/reasoning/strategies/plateau.d.ts +18 -0
- package/dist/core/reasoning/strategies/plateau.d.ts.map +1 -0
- package/dist/core/reasoning/strategies/plateau.js +12 -0
- package/dist/core/reasoning/strategies/plateau.js.map +1 -0
- package/dist/core/reasoning/strategies/totScoring.d.ts +91 -0
- package/dist/core/reasoning/strategies/totScoring.d.ts.map +1 -0
- package/dist/core/reasoning/strategies/totScoring.js +88 -0
- package/dist/core/reasoning/strategies/totScoring.js.map +1 -0
- package/dist/core/reasoning.d.ts +179 -0
- package/dist/core/reasoning.d.ts.map +1 -0
- package/dist/core/reasoning.js +1 -0
- package/dist/core/step.d.ts +50 -0
- package/dist/core/step.d.ts.map +1 -0
- package/dist/core/step.js +1 -0
- package/dist/core/thought.d.ts +113 -0
- package/dist/core/thought.d.ts.map +1 -0
- package/dist/core/thought.js +1 -0
- package/dist/core/tools/InMemorySuspensionStore.d.ts +66 -0
- package/dist/core/tools/InMemorySuspensionStore.d.ts.map +1 -0
- package/dist/core/tools/InMemorySuspensionStore.js +121 -0
- package/dist/core/tools/InMemorySuspensionStore.js.map +1 -0
- package/dist/di/Container.d.ts +253 -0
- package/dist/di/Container.d.ts.map +1 -0
- package/dist/di/Container.js +111 -0
- package/dist/di/Container.js.map +1 -0
- package/dist/di/ServiceRegistry.d.ts +50 -0
- package/dist/di/ServiceRegistry.d.ts.map +1 -0
- package/dist/di/ServiceRegistry.js +1 -0
- package/dist/errors.d.ts +663 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +282 -0
- package/dist/errors.js.map +1 -0
- package/dist/health/HealthChecker.d.ts +73 -0
- package/dist/health/HealthChecker.d.ts.map +1 -0
- package/dist/health/HealthChecker.js +70 -0
- package/dist/health/HealthChecker.js.map +1 -0
- package/dist/lib.d.ts +273 -0
- package/dist/lib.d.ts.map +1 -0
- package/dist/lib.js +409 -0
- package/dist/lib.js.map +1 -0
- package/dist/logger/NullLogger.d.ts +154 -0
- package/dist/logger/NullLogger.d.ts.map +1 -0
- package/dist/logger/NullLogger.js +24 -0
- package/dist/logger/NullLogger.js.map +1 -0
- package/dist/logger/StructuredLogger.d.ts +327 -0
- package/dist/logger/StructuredLogger.d.ts.map +1 -0
- package/dist/logger/StructuredLogger.js +72 -0
- package/dist/logger/StructuredLogger.js.map +1 -0
- package/dist/metrics/metrics.impl.d.ts +252 -0
- package/dist/metrics/metrics.impl.d.ts.map +1 -0
- package/dist/metrics/metrics.impl.js +197 -0
- package/dist/metrics/metrics.impl.js.map +1 -0
- package/dist/persistence/FileLegacyImport.d.ts +2 -0
- package/dist/persistence/FileLegacyImport.d.ts.map +1 -0
- package/dist/persistence/FileLegacyImport.js +183 -0
- package/dist/persistence/FileLegacyImport.js.map +1 -0
- package/dist/persistence/FilePersistence.d.ts +53 -0
- package/dist/persistence/FilePersistence.d.ts.map +1 -0
- package/dist/persistence/FilePersistence.js +312 -0
- package/dist/persistence/FilePersistence.js.map +1 -0
- package/dist/persistence/FileSnapshotTypes.d.ts +29 -0
- package/dist/persistence/FileSnapshotTypes.d.ts.map +1 -0
- package/dist/persistence/FileSnapshotTypes.js +1 -0
- package/dist/persistence/FileSnapshotV2.d.ts +377 -0
- package/dist/persistence/FileSnapshotV2.d.ts.map +1 -0
- package/dist/persistence/FileSnapshotV2.js +124 -0
- package/dist/persistence/FileSnapshotV2.js.map +1 -0
- package/dist/persistence/FileSnapshotValidation.d.ts +15 -0
- package/dist/persistence/FileSnapshotValidation.d.ts.map +1 -0
- package/dist/persistence/FileSnapshotValidation.js +64 -0
- package/dist/persistence/FileSnapshotValidation.js.map +1 -0
- package/dist/persistence/FileWriter.d.ts +30 -0
- package/dist/persistence/FileWriter.d.ts.map +1 -0
- package/dist/persistence/FileWriter.js +155 -0
- package/dist/persistence/FileWriter.js.map +1 -0
- package/dist/persistence/MemoryPersistence.d.ts +45 -0
- package/dist/persistence/MemoryPersistence.d.ts.map +1 -0
- package/dist/persistence/MemoryPersistence.js +180 -0
- package/dist/persistence/MemoryPersistence.js.map +1 -0
- package/dist/persistence/PersistenceCodec.d.ts +7 -0
- package/dist/persistence/PersistenceCodec.d.ts.map +1 -0
- package/dist/persistence/PersistenceCodec.js +97 -0
- package/dist/persistence/PersistenceCodec.js.map +1 -0
- package/dist/persistence/PersistenceErrors.d.ts +23 -0
- package/dist/persistence/PersistenceErrors.d.ts.map +1 -0
- package/dist/persistence/PersistenceErrors.js +26 -0
- package/dist/persistence/PersistenceErrors.js.map +1 -0
- package/dist/persistence/PersistenceFactory.d.ts +21 -0
- package/dist/persistence/PersistenceFactory.d.ts.map +1 -0
- package/dist/persistence/PersistenceFactory.js +28 -0
- package/dist/persistence/PersistenceFactory.js.map +1 -0
- package/dist/persistence/PersistenceScope.d.ts +42 -0
- package/dist/persistence/PersistenceScope.d.ts.map +1 -0
- package/dist/persistence/PersistenceScope.js +93 -0
- package/dist/persistence/PersistenceScope.js.map +1 -0
- package/dist/persistence/SessionScopedPersistence.d.ts +4 -0
- package/dist/persistence/SessionScopedPersistence.d.ts.map +1 -0
- package/dist/persistence/SessionScopedPersistence.js +9 -0
- package/dist/persistence/SessionScopedPersistence.js.map +1 -0
- package/dist/persistence/SqliteDriver.d.ts +22 -0
- package/dist/persistence/SqliteDriver.d.ts.map +1 -0
- package/dist/persistence/SqliteDriver.js +29 -0
- package/dist/persistence/SqliteDriver.js.map +1 -0
- package/dist/persistence/SqliteLegacyImport.d.ts +14 -0
- package/dist/persistence/SqliteLegacyImport.d.ts.map +1 -0
- package/dist/persistence/SqliteLegacyImport.js +136 -0
- package/dist/persistence/SqliteLegacyImport.js.map +1 -0
- package/dist/persistence/SqliteLegacySchema.d.ts +15 -0
- package/dist/persistence/SqliteLegacySchema.d.ts.map +1 -0
- package/dist/persistence/SqliteLegacySchema.js +72 -0
- package/dist/persistence/SqliteLegacySchema.js.map +1 -0
- package/dist/persistence/SqlitePayload.d.ts +11 -0
- package/dist/persistence/SqlitePayload.d.ts.map +1 -0
- package/dist/persistence/SqlitePayload.js +86 -0
- package/dist/persistence/SqlitePayload.js.map +1 -0
- package/dist/persistence/SqlitePersistence.d.ts +49 -0
- package/dist/persistence/SqlitePersistence.d.ts.map +1 -0
- package/dist/persistence/SqlitePersistence.js +248 -0
- package/dist/persistence/SqlitePersistence.js.map +1 -0
- package/dist/persistence/SqliteSchemaV2.d.ts +14 -0
- package/dist/persistence/SqliteSchemaV2.d.ts.map +1 -0
- package/dist/persistence/SqliteSchemaV2.js +129 -0
- package/dist/persistence/SqliteSchemaV2.js.map +1 -0
- package/dist/persistence/SqliteSnapshotWriter.d.ts +17 -0
- package/dist/persistence/SqliteSnapshotWriter.d.ts.map +1 -0
- package/dist/persistence/SqliteSnapshotWriter.js +30 -0
- package/dist/persistence/SqliteSnapshotWriter.js.map +1 -0
- package/dist/pool/ConnectionPool.d.ts +203 -0
- package/dist/pool/ConnectionPool.d.ts.map +1 -0
- package/dist/pool/ConnectionPool.js +303 -0
- package/dist/pool/ConnectionPool.js.map +1 -0
- package/dist/pool/IConnectionPool.d.ts +143 -0
- package/dist/pool/IConnectionPool.d.ts.map +1 -0
- package/dist/pool/IConnectionPool.js +1 -0
- package/dist/pool/PoolErrors.d.ts +11 -0
- package/dist/pool/PoolErrors.d.ts.map +1 -0
- package/dist/pool/PoolErrors.js +16 -0
- package/dist/pool/PoolErrors.js.map +1 -0
- package/dist/registry/BaseRegistry.d.ts +219 -0
- package/dist/registry/BaseRegistry.d.ts.map +1 -0
- package/dist/registry/BaseRegistry.js +215 -0
- package/dist/registry/BaseRegistry.js.map +1 -0
- package/dist/registry/SkillRegistry.d.ts +67 -0
- package/dist/registry/SkillRegistry.d.ts.map +1 -0
- package/dist/registry/SkillRegistry.js +87 -0
- package/dist/registry/SkillRegistry.js.map +1 -0
- package/dist/registry/ToolRegistry.d.ts +70 -0
- package/dist/registry/ToolRegistry.d.ts.map +1 -0
- package/dist/registry/ToolRegistry.js +96 -0
- package/dist/registry/ToolRegistry.js.map +1 -0
- package/dist/sanitize.d.ts +164 -0
- package/dist/sanitize.d.ts.map +1 -0
- package/dist/sanitize.js +100 -0
- package/dist/sanitize.js.map +1 -0
- package/dist/schema.d.ts +562 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +251 -0
- package/dist/schema.js.map +1 -0
- package/dist/transport/BaseTransport.d.ts +166 -0
- package/dist/transport/BaseTransport.d.ts.map +1 -0
- package/dist/transport/BaseTransport.js +199 -0
- package/dist/transport/BaseTransport.js.map +1 -0
- package/dist/transport/HttpHelpers.d.ts +53 -0
- package/dist/transport/HttpHelpers.d.ts.map +1 -0
- package/dist/transport/HttpHelpers.js +44 -0
- package/dist/transport/HttpHelpers.js.map +1 -0
- package/dist/transport/HttpRequestLifecycle.d.ts +37 -0
- package/dist/transport/HttpRequestLifecycle.d.ts.map +1 -0
- package/dist/transport/HttpRequestLifecycle.js +87 -0
- package/dist/transport/HttpRequestLifecycle.js.map +1 -0
- package/dist/transport/HttpTransport.d.ts +140 -0
- package/dist/transport/HttpTransport.d.ts.map +1 -0
- package/dist/transport/HttpTransport.js +245 -0
- package/dist/transport/HttpTransport.js.map +1 -0
- package/dist/transport/SseTransport.d.ts +149 -0
- package/dist/transport/SseTransport.d.ts.map +1 -0
- package/dist/transport/SseTransport.js +470 -0
- package/dist/transport/SseTransport.js.map +1 -0
- package/dist/transport/StreamableHttpTransport.d.ts +225 -0
- package/dist/transport/StreamableHttpTransport.d.ts.map +1 -0
- package/dist/transport/StreamableHttpTransport.js +449 -0
- package/dist/transport/StreamableHttpTransport.js.map +1 -0
- package/dist/types/disposable.d.ts +22 -0
- package/dist/types/disposable.d.ts.map +1 -0
- package/dist/types/disposable.js +1 -0
- package/dist/types/server-config.d.ts +32 -0
- package/dist/types/server-config.d.ts.map +1 -0
- package/dist/types/server-config.js +1 -0
- package/dist/types/skill.d.ts +74 -0
- package/dist/types/skill.d.ts.map +1 -0
- package/dist/types/skill.js +1 -0
- package/dist/types/tool.d.ts +78 -0
- package/dist/types/tool.d.ts.map +1 -0
- package/dist/types/tool.js +1 -0
- package/dist/utils.d.ts +27 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +6 -0
- package/dist/utils.js.map +1 -0
- package/dist/watchers/SkillWatcher.d.ts +25 -0
- package/dist/watchers/SkillWatcher.d.ts.map +1 -0
- package/dist/watchers/SkillWatcher.js +96 -0
- package/dist/watchers/SkillWatcher.js.map +1 -0
- package/dist/watchers/ToolWatcher.d.ts +24 -0
- package/dist/watchers/ToolWatcher.d.ts.map +1 -0
- package/dist/watchers/ToolWatcher.js +92 -0
- package/dist/watchers/ToolWatcher.js.map +1 -0
- package/package.json +106 -0
package/dist/lib.d.ts
ADDED
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import { EventEmitter } from 'node:events';
|
|
2
|
+
import type * as v from 'valibot';
|
|
3
|
+
import type { ThoughtData } from './core/thought.js';
|
|
4
|
+
import type { BranchId } from './contracts/ids.js';
|
|
5
|
+
import type { SequentialThinkingSchema } from './schema.js';
|
|
6
|
+
import type { IDisposable } from './types/disposable.js';
|
|
7
|
+
import type { ConfigFileOptions } from './config/ConfigLoader.js';
|
|
8
|
+
import { HistoryManager } from './core/HistoryManager.js';
|
|
9
|
+
import { type CallToolResult } from './core/ThoughtProcessor.js';
|
|
10
|
+
import { Container } from './di/Container.js';
|
|
11
|
+
import { StructuredLogger } from './logger/StructuredLogger.js';
|
|
12
|
+
import { SkillRegistry } from './registry/SkillRegistry.js';
|
|
13
|
+
import { ToolRegistry } from './registry/ToolRegistry.js';
|
|
14
|
+
import { ServerConfig } from './ServerConfig.js';
|
|
15
|
+
import type { SseTransportOptions } from './transport/SseTransport.js';
|
|
16
|
+
export interface ServerOptions {
|
|
17
|
+
maxHistorySize?: number;
|
|
18
|
+
maxBranches?: number;
|
|
19
|
+
maxBranchSize?: number;
|
|
20
|
+
logger?: StructuredLogger;
|
|
21
|
+
enableWatcher?: boolean;
|
|
22
|
+
config?: ServerConfig;
|
|
23
|
+
fileConfig?: ConfigFileOptions;
|
|
24
|
+
container?: Container;
|
|
25
|
+
/**
|
|
26
|
+
* Enable automatic tool and skill discovery on server startup.
|
|
27
|
+
* @default true
|
|
28
|
+
*/
|
|
29
|
+
autoDiscover?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Suppress startup discovery so callers can discover through registry APIs explicitly.
|
|
32
|
+
* @default false
|
|
33
|
+
*/
|
|
34
|
+
lazyDiscovery?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Load history from persistence on initialization
|
|
37
|
+
* @default true
|
|
38
|
+
*/
|
|
39
|
+
loadFromPersistence?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Transport type to use
|
|
42
|
+
* @default 'stdio'
|
|
43
|
+
*/
|
|
44
|
+
transport?: 'stdio' | 'sse';
|
|
45
|
+
/**
|
|
46
|
+
* SSE transport options (used when transport: 'sse')
|
|
47
|
+
*/
|
|
48
|
+
sseTransportOptions?: SseTransportOptions;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Server error events for event-driven error handling
|
|
52
|
+
*/
|
|
53
|
+
interface ServerEvents {
|
|
54
|
+
persistenceError: {
|
|
55
|
+
operation: string;
|
|
56
|
+
error: Error;
|
|
57
|
+
};
|
|
58
|
+
discoveryError: {
|
|
59
|
+
directory: string;
|
|
60
|
+
error: Error;
|
|
61
|
+
};
|
|
62
|
+
transportError: {
|
|
63
|
+
transport: string;
|
|
64
|
+
error: Error;
|
|
65
|
+
};
|
|
66
|
+
thoughtProcessed: {
|
|
67
|
+
thoughtNumber: number;
|
|
68
|
+
duration: number;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Public API contract for the tool-aware sequential thinking server.
|
|
73
|
+
*
|
|
74
|
+
* Extends {@link IDisposable} for resource cleanup. Concrete implementations
|
|
75
|
+
* are expected to also extend Node's `EventEmitter` to support the typed
|
|
76
|
+
* `emit`/`on` overloads.
|
|
77
|
+
*/
|
|
78
|
+
export interface IToolAwareSequentialThinkingServer extends IDisposable {
|
|
79
|
+
/** Direct access to the history manager. */
|
|
80
|
+
readonly history: HistoryManager;
|
|
81
|
+
/** Direct access to the tool registry. */
|
|
82
|
+
readonly tools: ToolRegistry;
|
|
83
|
+
/** Direct access to the skill registry. */
|
|
84
|
+
readonly skills: SkillRegistry;
|
|
85
|
+
/** Server configuration. */
|
|
86
|
+
readonly config: ServerConfig;
|
|
87
|
+
/**
|
|
88
|
+
* Discover skills asynchronously without blocking server startup.
|
|
89
|
+
*
|
|
90
|
+
* @returns The number of skills discovered
|
|
91
|
+
*/
|
|
92
|
+
discoverSkillsAsync(): Promise<number>;
|
|
93
|
+
/**
|
|
94
|
+
* Get all branches from the history manager.
|
|
95
|
+
*
|
|
96
|
+
* @returns Map of branch IDs to thought arrays
|
|
97
|
+
*/
|
|
98
|
+
getBranches(): Record<string, ThoughtData[]>;
|
|
99
|
+
/**
|
|
100
|
+
* Process a thought through the configured pipeline.
|
|
101
|
+
*
|
|
102
|
+
* @param input - Validated thought input matching the schema
|
|
103
|
+
* @returns The processing result
|
|
104
|
+
*/
|
|
105
|
+
processThought(input: v.InferInput<typeof SequentialThinkingSchema>): Promise<CallToolResult>;
|
|
106
|
+
/**
|
|
107
|
+
* Export the current Prometheus metrics snapshot.
|
|
108
|
+
*/
|
|
109
|
+
getMetricsSnapshot(): string;
|
|
110
|
+
/**
|
|
111
|
+
* Get the DI container used by this server.
|
|
112
|
+
* Useful for testing and advanced customizations.
|
|
113
|
+
*/
|
|
114
|
+
getContainer(): Container;
|
|
115
|
+
/**
|
|
116
|
+
* Stop the server and clean up watchers, suspension stores, and persistence.
|
|
117
|
+
*/
|
|
118
|
+
stop(): Promise<void>;
|
|
119
|
+
/**
|
|
120
|
+
* Clear all server state (history, tools, skills).
|
|
121
|
+
*/
|
|
122
|
+
clear(): void;
|
|
123
|
+
/** Awaitably reset one session and all matching auxiliary state. */
|
|
124
|
+
resetSession(sessionId: string): Promise<void>;
|
|
125
|
+
/** Awaitably reset all state from a trusted ownerless context. */
|
|
126
|
+
resetAll(): Promise<void>;
|
|
127
|
+
/**
|
|
128
|
+
* Dispose of the server and all container services.
|
|
129
|
+
*/
|
|
130
|
+
dispose(): Promise<void>;
|
|
131
|
+
}
|
|
132
|
+
export declare class ToolAwareSequentialThinkingServer extends EventEmitter implements IToolAwareSequentialThinkingServer {
|
|
133
|
+
/**
|
|
134
|
+
* Factory method to create a new server instance with async initialization.
|
|
135
|
+
* This is the recommended way to create server instances.
|
|
136
|
+
*
|
|
137
|
+
* @param options - Server configuration options
|
|
138
|
+
* @returns A Promise that resolves to a configured server instance
|
|
139
|
+
*/
|
|
140
|
+
static create(options?: ServerOptions): Promise<ToolAwareSequentialThinkingServer>;
|
|
141
|
+
emit<K extends keyof ServerEvents>(event: K, payload: ServerEvents[K]): boolean;
|
|
142
|
+
on<K extends keyof ServerEvents>(event: K, listener: (payload: ServerEvents[K]) => void): this;
|
|
143
|
+
private _container;
|
|
144
|
+
private _logger;
|
|
145
|
+
private _historyManager;
|
|
146
|
+
private _thoughtProcessor;
|
|
147
|
+
private _metrics;
|
|
148
|
+
private _skillWatcher;
|
|
149
|
+
private _toolWatcher;
|
|
150
|
+
private _config;
|
|
151
|
+
private _stopPromise;
|
|
152
|
+
private _disposePromise;
|
|
153
|
+
/**
|
|
154
|
+
* Direct access to the history manager
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* server.history.getHistory();
|
|
158
|
+
* server.history.clear();
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
readonly history: HistoryManager;
|
|
162
|
+
/**
|
|
163
|
+
* Direct access to the tool registry
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* server.tools.addTool(tool);
|
|
167
|
+
* server.tools.getTool('my-tool');
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
readonly tools: ToolRegistry;
|
|
171
|
+
/**
|
|
172
|
+
* Direct access to the skill registry
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* server.skills.addSkill(skill);
|
|
176
|
+
* server.skills.getSkill('my-skill');
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
readonly skills: SkillRegistry;
|
|
180
|
+
/**
|
|
181
|
+
* Server configuration
|
|
182
|
+
* @example
|
|
183
|
+
* ```typescript
|
|
184
|
+
* console.log(server.config.maxHistorySize);
|
|
185
|
+
* ```
|
|
186
|
+
*/
|
|
187
|
+
readonly config: ServerConfig;
|
|
188
|
+
constructor(options?: ServerOptions);
|
|
189
|
+
/**
|
|
190
|
+
* Shared core logic for container creation.
|
|
191
|
+
* This method contains all common initialization logic between sync and async paths.
|
|
192
|
+
*/
|
|
193
|
+
private static _createContainerCore;
|
|
194
|
+
private static _resolveEffectiveConfig;
|
|
195
|
+
private static _registerDiscoveryRegistries;
|
|
196
|
+
private static _registerHistoryManager;
|
|
197
|
+
private static _registerThoughtPipeline;
|
|
198
|
+
/**
|
|
199
|
+
* Create and configure the DI container with async persistence initialization.
|
|
200
|
+
* This is used internally by the static create() factory.
|
|
201
|
+
*/
|
|
202
|
+
private static _createContainerAsyncStatic;
|
|
203
|
+
/**
|
|
204
|
+
* Get the DI container used by this server
|
|
205
|
+
* Useful for testing and advanced customizations
|
|
206
|
+
*/
|
|
207
|
+
getContainer(): Container;
|
|
208
|
+
/**
|
|
209
|
+
* Discover skills asynchronously without blocking server startup.
|
|
210
|
+
* This is the recommended method for skill discovery.
|
|
211
|
+
* @returns Promise<number> - The number of skills discovered
|
|
212
|
+
*/
|
|
213
|
+
discoverSkillsAsync(): Promise<number>;
|
|
214
|
+
/**
|
|
215
|
+
* Get all branches from the history manager
|
|
216
|
+
* @returns Record<string, ThoughtData[]> - Map of branch IDs to thought arrays
|
|
217
|
+
*/
|
|
218
|
+
getBranches(): Record<BranchId, ThoughtData[]>;
|
|
219
|
+
processThought(input: v.InferInput<typeof SequentialThinkingSchema>): Promise<CallToolResult>;
|
|
220
|
+
getMetricsSnapshot(): string;
|
|
221
|
+
/**
|
|
222
|
+
* Stop the server and clean up watchers.
|
|
223
|
+
* Closes persistence backend gracefully to ensure data is flushed.
|
|
224
|
+
*/
|
|
225
|
+
stop(): Promise<void>;
|
|
226
|
+
/**
|
|
227
|
+
* Clear all server state (history, tools, skills)
|
|
228
|
+
* Useful for testing to reset state between tests
|
|
229
|
+
*/
|
|
230
|
+
clear(): void;
|
|
231
|
+
/** Awaitably resets one session and matching processor-owned state. */
|
|
232
|
+
resetSession(sessionId: string): Promise<void>;
|
|
233
|
+
/** Awaitably resets all server state from a trusted ownerless context. */
|
|
234
|
+
resetAll(): Promise<void>;
|
|
235
|
+
/**
|
|
236
|
+
* Dispose of the server and all container services.
|
|
237
|
+
* Implements the IDisposable interface.
|
|
238
|
+
* Calls stop() for existing cleanup, then disposes the DI container.
|
|
239
|
+
*/
|
|
240
|
+
dispose(): Promise<void>;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Factory function to create a new server instance with async initialization.
|
|
244
|
+
*
|
|
245
|
+
* This is the recommended way to create server instances, especially for testing,
|
|
246
|
+
* as it allows for proper async initialization, dependency injection, and persistence.
|
|
247
|
+
*
|
|
248
|
+
* @param options - Server configuration options
|
|
249
|
+
* @returns A Promise that resolves to a configured server instance
|
|
250
|
+
*
|
|
251
|
+
* @example
|
|
252
|
+
* ```typescript
|
|
253
|
+
* // Basic usage (with async discovery and persistence)
|
|
254
|
+
* const server = await createServer();
|
|
255
|
+
*
|
|
256
|
+
* // With custom options
|
|
257
|
+
* const server = await createServer({
|
|
258
|
+
* autoDiscover: false,
|
|
259
|
+
* lazyDiscovery: true,
|
|
260
|
+
* maxHistorySize: 500,
|
|
261
|
+
* loadFromPersistence: true
|
|
262
|
+
* });
|
|
263
|
+
*
|
|
264
|
+
* // With custom container for testing
|
|
265
|
+
* const mockContainer = new Container();
|
|
266
|
+
* mockContainer.registerInstance('Logger', mockLogger);
|
|
267
|
+
* const server = await createServer({ container: mockContainer });
|
|
268
|
+
* ```
|
|
269
|
+
*/
|
|
270
|
+
export declare function createServer(options?: ServerOptions): Promise<ToolAwareSequentialThinkingServer>;
|
|
271
|
+
export declare function initializeServer(): Promise<ToolAwareSequentialThinkingServer>;
|
|
272
|
+
export {};
|
|
273
|
+
//# sourceMappingURL=lib.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
|
package/dist/lib.js
ADDED
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
import { EventEmitter } from "node:events";
|
|
2
|
+
import { SEQUENTIAL_THINKING_TOOL } from "./schema.js";
|
|
3
|
+
import { getErrorMessage } from "./errors.js";
|
|
4
|
+
import { assertNever } from "./utils.js";
|
|
5
|
+
import { DiscoveryCache } from "./cache/DiscoveryCache.js";
|
|
6
|
+
import { ConfigLoader } from "./config/ConfigLoader.js";
|
|
7
|
+
import { HistoryManager } from "./core/HistoryManager.js";
|
|
8
|
+
import { EdgeStore } from "./core/graph/EdgeStore.js";
|
|
9
|
+
import { InMemorySummaryStore } from "./core/compression/InMemorySummaryStore.js";
|
|
10
|
+
import { CompressionService } from "./core/compression/CompressionService.js";
|
|
11
|
+
import { InMemorySuspensionStore } from "./core/tools/InMemorySuspensionStore.js";
|
|
12
|
+
import { ThoughtEvaluator } from "./core/ThoughtEvaluator.js";
|
|
13
|
+
import { Calibrator } from "./core/evaluator/Calibrator.js";
|
|
14
|
+
import { OutcomeRecorder } from "./core/reasoning/OutcomeRecorder.js";
|
|
15
|
+
import { createReasoningStrategy } from "./core/reasoning/strategies/StrategyFactory.js";
|
|
16
|
+
import { ThoughtFormatter } from "./core/ThoughtFormatter.js";
|
|
17
|
+
import { ThoughtProcessor } from "./core/ThoughtProcessor.js";
|
|
18
|
+
import { SessionLock } from "./core/SessionLock.js";
|
|
19
|
+
import { SessionLifecycleCoordinator } from "./core/SessionLifecycleCoordinator.js";
|
|
20
|
+
import { Container } from "./di/Container.js";
|
|
21
|
+
import { StructuredLogger } from "./logger/StructuredLogger.js";
|
|
22
|
+
import { Metrics } from "./metrics/metrics.impl.js";
|
|
23
|
+
import { createPersistenceBackend } from "./persistence/PersistenceFactory.js";
|
|
24
|
+
import { SkillRegistry } from "./registry/SkillRegistry.js";
|
|
25
|
+
import { ToolRegistry } from "./registry/ToolRegistry.js";
|
|
26
|
+
import { ServerConfig } from "./ServerConfig.js";
|
|
27
|
+
import { SkillWatcher } from "./watchers/SkillWatcher.js";
|
|
28
|
+
import { ToolWatcher } from "./watchers/ToolWatcher.js";
|
|
29
|
+
function appendCleanupFailure(failures, failure) {
|
|
30
|
+
if (failure instanceof AggregateError) return void failures.push(...failure.errors);
|
|
31
|
+
failures.push(failure);
|
|
32
|
+
}
|
|
33
|
+
async function collectCleanupFailures(operations) {
|
|
34
|
+
const failures = [];
|
|
35
|
+
for (const operation of operations)try {
|
|
36
|
+
await operation();
|
|
37
|
+
} catch (error) {
|
|
38
|
+
appendCleanupFailure(failures, error);
|
|
39
|
+
}
|
|
40
|
+
return failures;
|
|
41
|
+
}
|
|
42
|
+
class ToolAwareSequentialThinkingServer extends EventEmitter {
|
|
43
|
+
static async create(options = {}) {
|
|
44
|
+
const container = await ToolAwareSequentialThinkingServer._createContainerAsyncStatic(options);
|
|
45
|
+
let server;
|
|
46
|
+
try {
|
|
47
|
+
server = new ToolAwareSequentialThinkingServer({
|
|
48
|
+
...options,
|
|
49
|
+
container
|
|
50
|
+
});
|
|
51
|
+
await Promise.all([
|
|
52
|
+
server._skillWatcher?.ready() ?? Promise.resolve(),
|
|
53
|
+
server._toolWatcher?.ready() ?? Promise.resolve()
|
|
54
|
+
]);
|
|
55
|
+
if (false !== options.loadFromPersistence) await server.history.loadFromPersistence();
|
|
56
|
+
if (false !== options.autoDiscover && true !== options.lazyDiscovery) await Promise.all([
|
|
57
|
+
server.tools.discoverAsync(),
|
|
58
|
+
server.discoverSkillsAsync()
|
|
59
|
+
]);
|
|
60
|
+
return server;
|
|
61
|
+
} catch (error) {
|
|
62
|
+
const startedServer = server;
|
|
63
|
+
const cleanupFailures = await collectCleanupFailures(startedServer ? [
|
|
64
|
+
()=>startedServer.dispose()
|
|
65
|
+
] : [
|
|
66
|
+
()=>{
|
|
67
|
+
if (container.has('suspensionStore')) container.resolve('suspensionStore').stop();
|
|
68
|
+
},
|
|
69
|
+
()=>container.resolve('Persistence')?.close(),
|
|
70
|
+
()=>container.dispose()
|
|
71
|
+
]);
|
|
72
|
+
if (cleanupFailures.length > 0) throw new AggregateError([
|
|
73
|
+
error,
|
|
74
|
+
...cleanupFailures
|
|
75
|
+
], 'Server startup failed and cleanup also failed', {
|
|
76
|
+
cause: error
|
|
77
|
+
});
|
|
78
|
+
throw error;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
emit(event, payload) {
|
|
82
|
+
return super.emit(event, payload);
|
|
83
|
+
}
|
|
84
|
+
on(event, listener) {
|
|
85
|
+
return super.on(event, listener);
|
|
86
|
+
}
|
|
87
|
+
_container;
|
|
88
|
+
_logger;
|
|
89
|
+
_historyManager;
|
|
90
|
+
_thoughtProcessor;
|
|
91
|
+
_metrics;
|
|
92
|
+
_skillWatcher = null;
|
|
93
|
+
_toolWatcher = null;
|
|
94
|
+
_config;
|
|
95
|
+
_stopPromise = null;
|
|
96
|
+
_disposePromise = null;
|
|
97
|
+
history;
|
|
98
|
+
tools;
|
|
99
|
+
skills;
|
|
100
|
+
config;
|
|
101
|
+
constructor(options = {}){
|
|
102
|
+
super();
|
|
103
|
+
if (!options.container) throw new Error('Container is required. Use createServer() or provide a container.');
|
|
104
|
+
this._container = options.container;
|
|
105
|
+
this._logger = this._container.resolve('Logger');
|
|
106
|
+
this._historyManager = this._container.resolve('HistoryManager');
|
|
107
|
+
this._historyManager.bindShutdownOwner(()=>this.stop());
|
|
108
|
+
this._thoughtProcessor = this._container.resolve('ThoughtProcessor');
|
|
109
|
+
this._metrics = this._container.resolve('Metrics');
|
|
110
|
+
this._config = this._container.resolve('Config');
|
|
111
|
+
this.history = this._historyManager;
|
|
112
|
+
this._historyManager.setEventEmitter(this);
|
|
113
|
+
this.tools = this._container.resolve('ToolRegistry');
|
|
114
|
+
this.skills = this._container.resolve('SkillRegistry');
|
|
115
|
+
this.config = this._config;
|
|
116
|
+
this.tools.addTool(SEQUENTIAL_THINKING_TOOL);
|
|
117
|
+
if (options.enableWatcher) {
|
|
118
|
+
this._skillWatcher = new SkillWatcher(this.skills, this._logger, this.config.skillDirs);
|
|
119
|
+
this._toolWatcher = new ToolWatcher(this.tools, this._logger, this.config.toolDirs);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
static _createContainerCore(options, fileConfig, persistence) {
|
|
123
|
+
const container = new Container();
|
|
124
|
+
const metrics = new Metrics({
|
|
125
|
+
prefix: 'sequentialthinking'
|
|
126
|
+
});
|
|
127
|
+
const config = ToolAwareSequentialThinkingServer._resolveEffectiveConfig(options, fileConfig);
|
|
128
|
+
const logger = options.logger ?? new StructuredLogger({
|
|
129
|
+
level: fileConfig?.logLevel ?? 'info',
|
|
130
|
+
context: 'SequentialThinking',
|
|
131
|
+
pretty: fileConfig?.prettyLog ?? true
|
|
132
|
+
});
|
|
133
|
+
container.registerInstance('Logger', logger);
|
|
134
|
+
container.registerInstance('Config', config);
|
|
135
|
+
container.registerInstance('FileConfig', fileConfig || {});
|
|
136
|
+
container.registerInstance('Persistence', persistence);
|
|
137
|
+
container.registerInstance('Metrics', metrics);
|
|
138
|
+
ToolAwareSequentialThinkingServer._registerDiscoveryRegistries(container, options.lazyDiscovery);
|
|
139
|
+
container.register('EdgeStore', ()=>new EdgeStore());
|
|
140
|
+
container.register('summaryStore', ()=>new InMemorySummaryStore());
|
|
141
|
+
if (config.features.toolInterleave) container.register('suspensionStore', ()=>{
|
|
142
|
+
const store = new InMemorySuspensionStore({
|
|
143
|
+
ttlMs: config.toolInterleaveTtlMs,
|
|
144
|
+
sweepIntervalMs: config.toolInterleaveSweepMs,
|
|
145
|
+
logger
|
|
146
|
+
});
|
|
147
|
+
store.start();
|
|
148
|
+
return store;
|
|
149
|
+
});
|
|
150
|
+
container.register('compressionService', ()=>{
|
|
151
|
+
const historyManager = container.resolve('HistoryManager');
|
|
152
|
+
const edgeStore = container.resolve('EdgeStore');
|
|
153
|
+
const summaryStore = container.resolve('summaryStore');
|
|
154
|
+
const log = container.resolve('Logger');
|
|
155
|
+
return new CompressionService({
|
|
156
|
+
historyManager,
|
|
157
|
+
edgeStore,
|
|
158
|
+
summaryStore,
|
|
159
|
+
onSummaryCreated: (summary)=>{
|
|
160
|
+
historyManager.bufferSummaries(summary.sessionId, summaryStore.forSession(summary.sessionId));
|
|
161
|
+
},
|
|
162
|
+
logger: log
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
container.register('reasoningStrategy', ()=>createReasoningStrategy(config.features.reasoningStrategy));
|
|
166
|
+
container.register('sessionLock', ()=>new SessionLock());
|
|
167
|
+
container.register('sessionLifecycle', ()=>new SessionLifecycleCoordinator());
|
|
168
|
+
ToolAwareSequentialThinkingServer._registerHistoryManager(container);
|
|
169
|
+
ToolAwareSequentialThinkingServer._registerThoughtPipeline(container, config);
|
|
170
|
+
return container;
|
|
171
|
+
}
|
|
172
|
+
static _resolveEffectiveConfig(options, fileConfig) {
|
|
173
|
+
if (options.config) return options.config;
|
|
174
|
+
const loadedOptions = new ConfigLoader().toServerConfigOptions(fileConfig ?? {});
|
|
175
|
+
return new ServerConfig({
|
|
176
|
+
...loadedOptions,
|
|
177
|
+
maxHistorySize: options.maxHistorySize ?? loadedOptions.maxHistorySize,
|
|
178
|
+
maxBranches: options.maxBranches ?? loadedOptions.maxBranches,
|
|
179
|
+
maxBranchSize: options.maxBranchSize ?? loadedOptions.maxBranchSize
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
static _registerDiscoveryRegistries(container, lazyDiscovery) {
|
|
183
|
+
const logger = container.resolve('Logger');
|
|
184
|
+
const config = container.resolve('Config');
|
|
185
|
+
const metrics = container.resolve('Metrics');
|
|
186
|
+
container.register('ToolRegistry', ()=>new ToolRegistry({
|
|
187
|
+
logger,
|
|
188
|
+
cache: config.discoveryCache ? new DiscoveryCache({
|
|
189
|
+
...config.discoveryCache,
|
|
190
|
+
metrics
|
|
191
|
+
}) : void 0,
|
|
192
|
+
toolDirs: config.toolDirs,
|
|
193
|
+
lazyDiscovery
|
|
194
|
+
}));
|
|
195
|
+
container.register('SkillRegistry', ()=>new SkillRegistry({
|
|
196
|
+
logger,
|
|
197
|
+
cache: config.discoveryCache ? new DiscoveryCache({
|
|
198
|
+
...config.discoveryCache,
|
|
199
|
+
metrics
|
|
200
|
+
}) : void 0,
|
|
201
|
+
skillDirs: config.skillDirs,
|
|
202
|
+
lazyDiscovery
|
|
203
|
+
}));
|
|
204
|
+
}
|
|
205
|
+
static _registerHistoryManager(container) {
|
|
206
|
+
container.register('HistoryManager', ()=>{
|
|
207
|
+
const cfg = container.resolve('Config');
|
|
208
|
+
const log = container.resolve('Logger');
|
|
209
|
+
const pers = container.resolve('Persistence');
|
|
210
|
+
const componentMetrics = container.resolve('Metrics');
|
|
211
|
+
const edgeStore = container.resolve('EdgeStore');
|
|
212
|
+
const summaryStore = container.resolve('summaryStore');
|
|
213
|
+
return new HistoryManager({
|
|
214
|
+
maxHistorySize: cfg.maxHistorySize,
|
|
215
|
+
maxBranches: cfg.maxBranches,
|
|
216
|
+
maxBranchSize: cfg.maxBranchSize,
|
|
217
|
+
logger: log,
|
|
218
|
+
persistence: pers,
|
|
219
|
+
metrics: componentMetrics,
|
|
220
|
+
persistenceBufferSize: cfg.persistenceBufferSize,
|
|
221
|
+
persistenceFlushInterval: cfg.persistenceFlushInterval,
|
|
222
|
+
persistenceMaxRetries: cfg.persistenceMaxRetries,
|
|
223
|
+
edgeStore,
|
|
224
|
+
summaryStore,
|
|
225
|
+
dagEdges: cfg.features.dagEdges,
|
|
226
|
+
maxSessionsPerOwner: cfg.maxSessionsPerOwner,
|
|
227
|
+
sessionLock: container.resolve('sessionLock'),
|
|
228
|
+
lifecycleCoordinator: container.resolve('sessionLifecycle'),
|
|
229
|
+
clearSessionAuxiliaryState: (sessionId)=>container.resolve('ThoughtProcessor').clearSessionAuxiliaryState(sessionId),
|
|
230
|
+
clearAllAuxiliaryState: ()=>container.resolve('ThoughtProcessor').clearAllAuxiliaryState()
|
|
231
|
+
});
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
static _registerThoughtPipeline(container, config) {
|
|
235
|
+
container.registerFactory('ThoughtFormatter', ()=>new ThoughtFormatter());
|
|
236
|
+
container.register('outcomeRecorder', ()=>new OutcomeRecorder({
|
|
237
|
+
enabled: config.features.outcomeRecording ?? false
|
|
238
|
+
}));
|
|
239
|
+
container.register('calibrator', ()=>new Calibrator(container.resolve('outcomeRecorder'), config.features.calibration ?? false));
|
|
240
|
+
container.registerFactory('ThoughtEvaluator', ()=>new ThoughtEvaluator(container.resolve('calibrator')));
|
|
241
|
+
container.register('ThoughtProcessor', ()=>{
|
|
242
|
+
const history = container.resolve('HistoryManager');
|
|
243
|
+
const formatter = container.resolve('ThoughtFormatter');
|
|
244
|
+
const evaluator = container.resolve('ThoughtEvaluator');
|
|
245
|
+
const log = container.resolve('Logger');
|
|
246
|
+
const strategy = container.resolve('reasoningStrategy');
|
|
247
|
+
const compressionService = config.features.compression ? container.resolve('compressionService') : void 0;
|
|
248
|
+
const suspensionStore = config.features.toolInterleave ? container.resolve('suspensionStore') : void 0;
|
|
249
|
+
const toolRegistry = container.resolve('ToolRegistry');
|
|
250
|
+
const sessionLock = container.resolve('sessionLock');
|
|
251
|
+
return new ThoughtProcessor(history, formatter, evaluator, log, strategy, compressionService, suspensionStore, toolRegistry, config.features, sessionLock, container.resolve('outcomeRecorder'), container.resolve('sessionLifecycle'), container.resolve('calibrator'));
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
static async _createContainerAsyncStatic(options) {
|
|
255
|
+
let fileConfig;
|
|
256
|
+
let config;
|
|
257
|
+
if (options.config) {
|
|
258
|
+
fileConfig = options.fileConfig ?? null;
|
|
259
|
+
config = options.config;
|
|
260
|
+
} else {
|
|
261
|
+
const configLoader = new ConfigLoader();
|
|
262
|
+
fileConfig = void 0 === options.fileConfig ? configLoader.load() : configLoader.applyEnvironmentOverrides(options.fileConfig);
|
|
263
|
+
config = ToolAwareSequentialThinkingServer._resolveEffectiveConfig(options, fileConfig);
|
|
264
|
+
}
|
|
265
|
+
let persistence = null;
|
|
266
|
+
try {
|
|
267
|
+
persistence = await createPersistenceBackend(config.persistence);
|
|
268
|
+
return ToolAwareSequentialThinkingServer._createContainerCore({
|
|
269
|
+
...options,
|
|
270
|
+
config
|
|
271
|
+
}, fileConfig, persistence);
|
|
272
|
+
} catch (error) {
|
|
273
|
+
const acquiredPersistence = persistence;
|
|
274
|
+
const cleanupFailures = null === acquiredPersistence ? [] : await collectCleanupFailures([
|
|
275
|
+
()=>acquiredPersistence.close()
|
|
276
|
+
]);
|
|
277
|
+
if (cleanupFailures.length > 0) throw new AggregateError([
|
|
278
|
+
error,
|
|
279
|
+
...cleanupFailures
|
|
280
|
+
], 'Container construction failed and cleanup also failed', {
|
|
281
|
+
cause: error
|
|
282
|
+
});
|
|
283
|
+
throw error;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
getContainer() {
|
|
287
|
+
return this._container;
|
|
288
|
+
}
|
|
289
|
+
async discoverSkillsAsync() {
|
|
290
|
+
const discovered = await this.skills.discoverAsync();
|
|
291
|
+
return discovered;
|
|
292
|
+
}
|
|
293
|
+
getBranches() {
|
|
294
|
+
return this._historyManager.getBranches();
|
|
295
|
+
}
|
|
296
|
+
async processThought(input) {
|
|
297
|
+
const startTime = Date.now();
|
|
298
|
+
const result = await this._thoughtProcessor.process(input);
|
|
299
|
+
const durationSeconds = (Date.now() - startTime) / 1000;
|
|
300
|
+
this._metrics.histogram('thought_processing_duration_seconds', durationSeconds, {});
|
|
301
|
+
return result;
|
|
302
|
+
}
|
|
303
|
+
getMetricsSnapshot() {
|
|
304
|
+
return this._metrics.export();
|
|
305
|
+
}
|
|
306
|
+
stop() {
|
|
307
|
+
if (this._stopPromise) return this._stopPromise;
|
|
308
|
+
this._stopPromise = this._container.resolve('sessionLifecycle').shutdown(async ()=>{
|
|
309
|
+
const failures = [];
|
|
310
|
+
const watcherResults = await Promise.allSettled([
|
|
311
|
+
this._skillWatcher?.stop() ?? Promise.resolve(),
|
|
312
|
+
this._toolWatcher?.stop() ?? Promise.resolve()
|
|
313
|
+
]);
|
|
314
|
+
for (const result of watcherResults)switch(result.status){
|
|
315
|
+
case 'fulfilled':
|
|
316
|
+
break;
|
|
317
|
+
case 'rejected':
|
|
318
|
+
appendCleanupFailure(failures, result.reason);
|
|
319
|
+
this._logger.error('Error stopping watcher', {
|
|
320
|
+
error: getErrorMessage(result.reason)
|
|
321
|
+
});
|
|
322
|
+
break;
|
|
323
|
+
default:
|
|
324
|
+
assertNever(result);
|
|
325
|
+
}
|
|
326
|
+
if (this._config.features.toolInterleave && this._container.has('suspensionStore')) try {
|
|
327
|
+
const suspensionStore = this._container.resolve('suspensionStore');
|
|
328
|
+
suspensionStore.stop();
|
|
329
|
+
} catch (error) {
|
|
330
|
+
appendCleanupFailure(failures, error);
|
|
331
|
+
this._logger.error('Error stopping suspension store', {
|
|
332
|
+
error: getErrorMessage(error)
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
try {
|
|
336
|
+
await this._historyManager.shutdownWithinLifecycle();
|
|
337
|
+
} catch (error) {
|
|
338
|
+
appendCleanupFailure(failures, error);
|
|
339
|
+
this._logger.error('Error flushing write buffer during shutdown', {
|
|
340
|
+
error: getErrorMessage(error)
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
const persistence = this._container.resolve('Persistence');
|
|
344
|
+
if (persistence) try {
|
|
345
|
+
await persistence.close();
|
|
346
|
+
this._logger.info('Persistence backend closed');
|
|
347
|
+
} catch (error) {
|
|
348
|
+
appendCleanupFailure(failures, error);
|
|
349
|
+
this._logger.error('Error closing persistence backend', {
|
|
350
|
+
error: getErrorMessage(error)
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
if (failures.length > 0) throw new AggregateError(failures, 'Failed to stop server cleanly');
|
|
354
|
+
this._historyManager.clearLiveStateAfterShutdown();
|
|
355
|
+
this._logger.info('Server stopped, watchers cleaned up');
|
|
356
|
+
});
|
|
357
|
+
return this._stopPromise;
|
|
358
|
+
}
|
|
359
|
+
clear() {
|
|
360
|
+
this._historyManager.clear();
|
|
361
|
+
this._logger.info('Server state cleared');
|
|
362
|
+
}
|
|
363
|
+
async resetSession(sessionId) {
|
|
364
|
+
await this._thoughtProcessor.resetSession(sessionId);
|
|
365
|
+
this._logger.info('Server session reset', {
|
|
366
|
+
sessionId
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
async resetAll() {
|
|
370
|
+
await this._thoughtProcessor.resetAll();
|
|
371
|
+
this._logger.info('All server sessions reset');
|
|
372
|
+
}
|
|
373
|
+
dispose() {
|
|
374
|
+
if (this._disposePromise) return this._disposePromise;
|
|
375
|
+
this._disposePromise = (async ()=>{
|
|
376
|
+
const failures = await collectCleanupFailures([
|
|
377
|
+
()=>this.stop(),
|
|
378
|
+
()=>this._container.dispose()
|
|
379
|
+
]);
|
|
380
|
+
if (failures.length > 0) throw new AggregateError(failures, 'Failed to dispose server cleanly');
|
|
381
|
+
this._logger.info('Server disposed, all resources released');
|
|
382
|
+
})();
|
|
383
|
+
return this._disposePromise;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
async function createServer(options = {}) {
|
|
387
|
+
return ToolAwareSequentialThinkingServer.create(options);
|
|
388
|
+
}
|
|
389
|
+
async function initializeServer() {
|
|
390
|
+
const configLoader = new ConfigLoader();
|
|
391
|
+
const fileConfig = configLoader.load() ?? {};
|
|
392
|
+
const config = new ServerConfig(configLoader.toServerConfigOptions(fileConfig));
|
|
393
|
+
const logger = new StructuredLogger({
|
|
394
|
+
level: fileConfig.logLevel ?? 'info',
|
|
395
|
+
context: 'SequentialThinking',
|
|
396
|
+
pretty: fileConfig.prettyLog ?? true
|
|
397
|
+
});
|
|
398
|
+
const thinkingServer = await createServer({
|
|
399
|
+
logger,
|
|
400
|
+
enableWatcher: true,
|
|
401
|
+
config,
|
|
402
|
+
fileConfig
|
|
403
|
+
});
|
|
404
|
+
logger.info('Server initialized successfully');
|
|
405
|
+
return thinkingServer;
|
|
406
|
+
}
|
|
407
|
+
export { ToolAwareSequentialThinkingServer, createServer, initializeServer };
|
|
408
|
+
|
|
409
|
+
//# sourceMappingURL=lib.js.map
|