0agent 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +164 -0
- package/bin/0agent.js +614 -0
- package/package.json +59 -0
- package/packages/core/dist/bootstrap/BootstrapProtocol.d.ts +37 -0
- package/packages/core/dist/bootstrap/BootstrapProtocol.d.ts.map +1 -0
- package/packages/core/dist/bootstrap/BootstrapProtocol.js +82 -0
- package/packages/core/dist/bootstrap/BootstrapProtocol.js.map +1 -0
- package/packages/core/dist/bootstrap/GraphConstructor.d.ts +44 -0
- package/packages/core/dist/bootstrap/GraphConstructor.d.ts.map +1 -0
- package/packages/core/dist/bootstrap/GraphConstructor.js +160 -0
- package/packages/core/dist/bootstrap/GraphConstructor.js.map +1 -0
- package/packages/core/dist/bootstrap/HypothesisManager.d.ts +50 -0
- package/packages/core/dist/bootstrap/HypothesisManager.d.ts.map +1 -0
- package/packages/core/dist/bootstrap/HypothesisManager.js +108 -0
- package/packages/core/dist/bootstrap/HypothesisManager.js.map +1 -0
- package/packages/core/dist/bootstrap/StagedMutations.d.ts +50 -0
- package/packages/core/dist/bootstrap/StagedMutations.d.ts.map +1 -0
- package/packages/core/dist/bootstrap/StagedMutations.js +80 -0
- package/packages/core/dist/bootstrap/StagedMutations.js.map +1 -0
- package/packages/core/dist/concurrency/EdgeWeightUpdater.d.ts +16 -0
- package/packages/core/dist/concurrency/EdgeWeightUpdater.d.ts.map +1 -0
- package/packages/core/dist/concurrency/EdgeWeightUpdater.js +57 -0
- package/packages/core/dist/concurrency/EdgeWeightUpdater.js.map +1 -0
- package/packages/core/dist/concurrency/SessionSnapshot.d.ts +63 -0
- package/packages/core/dist/concurrency/SessionSnapshot.d.ts.map +1 -0
- package/packages/core/dist/concurrency/SessionSnapshot.js +124 -0
- package/packages/core/dist/concurrency/SessionSnapshot.js.map +1 -0
- package/packages/core/dist/embedding/HNSWIndex.d.ts +37 -0
- package/packages/core/dist/embedding/HNSWIndex.d.ts.map +1 -0
- package/packages/core/dist/embedding/HNSWIndex.js +86 -0
- package/packages/core/dist/embedding/HNSWIndex.js.map +1 -0
- package/packages/core/dist/embedding/MultimodalEmbedder.d.ts +24 -0
- package/packages/core/dist/embedding/MultimodalEmbedder.d.ts.map +1 -0
- package/packages/core/dist/embedding/MultimodalEmbedder.js +75 -0
- package/packages/core/dist/embedding/MultimodalEmbedder.js.map +1 -0
- package/packages/core/dist/embedding/adapters/NomicAdapter.d.ts +7 -0
- package/packages/core/dist/embedding/adapters/NomicAdapter.d.ts.map +1 -0
- package/packages/core/dist/embedding/adapters/NomicAdapter.js +11 -0
- package/packages/core/dist/embedding/adapters/NomicAdapter.js.map +1 -0
- package/packages/core/dist/embedding/adapters/OllamaAdapter.d.ts +19 -0
- package/packages/core/dist/embedding/adapters/OllamaAdapter.d.ts.map +1 -0
- package/packages/core/dist/embedding/adapters/OllamaAdapter.js +27 -0
- package/packages/core/dist/embedding/adapters/OllamaAdapter.js.map +1 -0
- package/packages/core/dist/embedding/adapters/OpenAIAdapter.d.ts +14 -0
- package/packages/core/dist/embedding/adapters/OpenAIAdapter.d.ts.map +1 -0
- package/packages/core/dist/embedding/adapters/OpenAIAdapter.js +48 -0
- package/packages/core/dist/embedding/adapters/OpenAIAdapter.js.map +1 -0
- package/packages/core/dist/engine/CreditAttribution.d.ts +47 -0
- package/packages/core/dist/engine/CreditAttribution.d.ts.map +1 -0
- package/packages/core/dist/engine/CreditAttribution.js +196 -0
- package/packages/core/dist/engine/CreditAttribution.js.map +1 -0
- package/packages/core/dist/engine/DecayScheduler.d.ts +45 -0
- package/packages/core/dist/engine/DecayScheduler.d.ts.map +1 -0
- package/packages/core/dist/engine/DecayScheduler.js +115 -0
- package/packages/core/dist/engine/DecayScheduler.js.map +1 -0
- package/packages/core/dist/engine/InferenceEngine.d.ts +95 -0
- package/packages/core/dist/engine/InferenceEngine.d.ts.map +1 -0
- package/packages/core/dist/engine/InferenceEngine.js +242 -0
- package/packages/core/dist/engine/InferenceEngine.js.map +1 -0
- package/packages/core/dist/engine/SelectionPolicy.d.ts +29 -0
- package/packages/core/dist/engine/SelectionPolicy.d.ts.map +1 -0
- package/packages/core/dist/engine/SelectionPolicy.js +58 -0
- package/packages/core/dist/engine/SelectionPolicy.js.map +1 -0
- package/packages/core/dist/engine/SelfImprovementEngine.d.ts +58 -0
- package/packages/core/dist/engine/SelfImprovementEngine.d.ts.map +1 -0
- package/packages/core/dist/engine/SelfImprovementEngine.js +265 -0
- package/packages/core/dist/engine/SelfImprovementEngine.js.map +1 -0
- package/packages/core/dist/engine/SelfImprovementPrompt.d.ts +10 -0
- package/packages/core/dist/engine/SelfImprovementPrompt.d.ts.map +1 -0
- package/packages/core/dist/engine/SelfImprovementPrompt.js +193 -0
- package/packages/core/dist/engine/SelfImprovementPrompt.js.map +1 -0
- package/packages/core/dist/engine/WeightPropagation.d.ts +77 -0
- package/packages/core/dist/engine/WeightPropagation.d.ts.map +1 -0
- package/packages/core/dist/engine/WeightPropagation.js +101 -0
- package/packages/core/dist/engine/WeightPropagation.js.map +1 -0
- package/packages/core/dist/engine/WorkflowSuggestionEngine.d.ts +26 -0
- package/packages/core/dist/engine/WorkflowSuggestionEngine.d.ts.map +1 -0
- package/packages/core/dist/engine/WorkflowSuggestionEngine.js +54 -0
- package/packages/core/dist/engine/WorkflowSuggestionEngine.js.map +1 -0
- package/packages/core/dist/entity/AliasIndex.d.ts +39 -0
- package/packages/core/dist/entity/AliasIndex.d.ts.map +1 -0
- package/packages/core/dist/entity/AliasIndex.js +81 -0
- package/packages/core/dist/entity/AliasIndex.js.map +1 -0
- package/packages/core/dist/entity/ContextActivator.d.ts +53 -0
- package/packages/core/dist/entity/ContextActivator.d.ts.map +1 -0
- package/packages/core/dist/entity/ContextActivator.js +163 -0
- package/packages/core/dist/entity/ContextActivator.js.map +1 -0
- package/packages/core/dist/entity/EntityHierarchy.d.ts +48 -0
- package/packages/core/dist/entity/EntityHierarchy.d.ts.map +1 -0
- package/packages/core/dist/entity/EntityHierarchy.js +134 -0
- package/packages/core/dist/entity/EntityHierarchy.js.map +1 -0
- package/packages/core/dist/entity/EntityResolutionPipeline.d.ts +48 -0
- package/packages/core/dist/entity/EntityResolutionPipeline.d.ts.map +1 -0
- package/packages/core/dist/entity/EntityResolutionPipeline.js +221 -0
- package/packages/core/dist/entity/EntityResolutionPipeline.js.map +1 -0
- package/packages/core/dist/entity/MCPEnrichedResolver.d.ts +17 -0
- package/packages/core/dist/entity/MCPEnrichedResolver.d.ts.map +1 -0
- package/packages/core/dist/entity/MCPEnrichedResolver.js +19 -0
- package/packages/core/dist/entity/MCPEnrichedResolver.js.map +1 -0
- package/packages/core/dist/entity/NodeResolutionService.d.ts +46 -0
- package/packages/core/dist/entity/NodeResolutionService.d.ts.map +1 -0
- package/packages/core/dist/entity/NodeResolutionService.js +150 -0
- package/packages/core/dist/entity/NodeResolutionService.js.map +1 -0
- package/packages/core/dist/entity/PersonalityAccumulator.d.ts +41 -0
- package/packages/core/dist/entity/PersonalityAccumulator.d.ts.map +1 -0
- package/packages/core/dist/entity/PersonalityAccumulator.js +126 -0
- package/packages/core/dist/entity/PersonalityAccumulator.js.map +1 -0
- package/packages/core/dist/entity/PersonalityProfile.d.ts +31 -0
- package/packages/core/dist/entity/PersonalityProfile.d.ts.map +1 -0
- package/packages/core/dist/entity/PersonalityProfile.js +94 -0
- package/packages/core/dist/entity/PersonalityProfile.js.map +1 -0
- package/packages/core/dist/entity/index.d.ts +4 -0
- package/packages/core/dist/entity/index.d.ts.map +1 -0
- package/packages/core/dist/entity/index.js +4 -0
- package/packages/core/dist/entity/index.js.map +1 -0
- package/packages/core/dist/graph/GraphEdge.d.ts +37 -0
- package/packages/core/dist/graph/GraphEdge.d.ts.map +1 -0
- package/packages/core/dist/graph/GraphEdge.js +29 -0
- package/packages/core/dist/graph/GraphEdge.js.map +1 -0
- package/packages/core/dist/graph/GraphNode.d.ts +52 -0
- package/packages/core/dist/graph/GraphNode.d.ts.map +1 -0
- package/packages/core/dist/graph/GraphNode.js +41 -0
- package/packages/core/dist/graph/GraphNode.js.map +1 -0
- package/packages/core/dist/graph/GraphQuery.d.ts +46 -0
- package/packages/core/dist/graph/GraphQuery.d.ts.map +1 -0
- package/packages/core/dist/graph/GraphQuery.js +47 -0
- package/packages/core/dist/graph/GraphQuery.js.map +1 -0
- package/packages/core/dist/graph/KnowledgeGraph.d.ts +38 -0
- package/packages/core/dist/graph/KnowledgeGraph.d.ts.map +1 -0
- package/packages/core/dist/graph/KnowledgeGraph.js +345 -0
- package/packages/core/dist/graph/KnowledgeGraph.js.map +1 -0
- package/packages/core/dist/graph/SubGraph.d.ts +36 -0
- package/packages/core/dist/graph/SubGraph.d.ts.map +1 -0
- package/packages/core/dist/graph/SubGraph.js +86 -0
- package/packages/core/dist/graph/SubGraph.js.map +1 -0
- package/packages/core/dist/index.d.ts +54 -0
- package/packages/core/dist/index.d.ts.map +1 -0
- package/packages/core/dist/index.js +62 -0
- package/packages/core/dist/index.js.map +1 -0
- package/packages/core/dist/maintenance/CompactionOrchestrator.d.ts +22 -0
- package/packages/core/dist/maintenance/CompactionOrchestrator.d.ts.map +1 -0
- package/packages/core/dist/maintenance/CompactionOrchestrator.js +62 -0
- package/packages/core/dist/maintenance/CompactionOrchestrator.js.map +1 -0
- package/packages/core/dist/maintenance/EdgePruner.d.ts +20 -0
- package/packages/core/dist/maintenance/EdgePruner.d.ts.map +1 -0
- package/packages/core/dist/maintenance/EdgePruner.js +65 -0
- package/packages/core/dist/maintenance/EdgePruner.js.map +1 -0
- package/packages/core/dist/maintenance/GraphCheckpoint.d.ts +51 -0
- package/packages/core/dist/maintenance/GraphCheckpoint.d.ts.map +1 -0
- package/packages/core/dist/maintenance/GraphCheckpoint.js +81 -0
- package/packages/core/dist/maintenance/GraphCheckpoint.js.map +1 -0
- package/packages/core/dist/maintenance/GraphRollback.d.ts +36 -0
- package/packages/core/dist/maintenance/GraphRollback.d.ts.map +1 -0
- package/packages/core/dist/maintenance/GraphRollback.js +154 -0
- package/packages/core/dist/maintenance/GraphRollback.js.map +1 -0
- package/packages/core/dist/maintenance/NodeDeduplicator.d.ts +26 -0
- package/packages/core/dist/maintenance/NodeDeduplicator.d.ts.map +1 -0
- package/packages/core/dist/maintenance/NodeDeduplicator.js +171 -0
- package/packages/core/dist/maintenance/NodeDeduplicator.js.map +1 -0
- package/packages/core/dist/maintenance/SubgraphArchiver.d.ts +18 -0
- package/packages/core/dist/maintenance/SubgraphArchiver.d.ts.map +1 -0
- package/packages/core/dist/maintenance/SubgraphArchiver.js +180 -0
- package/packages/core/dist/maintenance/SubgraphArchiver.js.map +1 -0
- package/packages/core/dist/memory/ArchivalMemory.d.ts +28 -0
- package/packages/core/dist/memory/ArchivalMemory.d.ts.map +1 -0
- package/packages/core/dist/memory/ArchivalMemory.js +26 -0
- package/packages/core/dist/memory/ArchivalMemory.js.map +1 -0
- package/packages/core/dist/memory/BlinkingMemory.d.ts +34 -0
- package/packages/core/dist/memory/BlinkingMemory.d.ts.map +1 -0
- package/packages/core/dist/memory/BlinkingMemory.js +44 -0
- package/packages/core/dist/memory/BlinkingMemory.js.map +1 -0
- package/packages/core/dist/memory/WorkingMemory.d.ts +38 -0
- package/packages/core/dist/memory/WorkingMemory.d.ts.map +1 -0
- package/packages/core/dist/memory/WorkingMemory.js +70 -0
- package/packages/core/dist/memory/WorkingMemory.js.map +1 -0
- package/packages/core/dist/storage/ObjectStore.d.ts +24 -0
- package/packages/core/dist/storage/ObjectStore.d.ts.map +1 -0
- package/packages/core/dist/storage/ObjectStore.js +50 -0
- package/packages/core/dist/storage/ObjectStore.js.map +1 -0
- package/packages/core/dist/storage/TraceStore.d.ts +16 -0
- package/packages/core/dist/storage/TraceStore.d.ts.map +1 -0
- package/packages/core/dist/storage/TraceStore.js +19 -0
- package/packages/core/dist/storage/TraceStore.js.map +1 -0
- package/packages/core/dist/storage/WeightEventLog.d.ts +11 -0
- package/packages/core/dist/storage/WeightEventLog.d.ts.map +1 -0
- package/packages/core/dist/storage/WeightEventLog.js +16 -0
- package/packages/core/dist/storage/WeightEventLog.js.map +1 -0
- package/packages/core/dist/storage/adapters/SQLiteAdapter.d.ts +86 -0
- package/packages/core/dist/storage/adapters/SQLiteAdapter.d.ts.map +1 -0
- package/packages/core/dist/storage/adapters/SQLiteAdapter.js +514 -0
- package/packages/core/dist/storage/adapters/SQLiteAdapter.js.map +1 -0
- package/packages/core/dist/trace/DeferredTrace.d.ts +43 -0
- package/packages/core/dist/trace/DeferredTrace.d.ts.map +1 -0
- package/packages/core/dist/trace/DeferredTrace.js +44 -0
- package/packages/core/dist/trace/DeferredTrace.js.map +1 -0
- package/packages/core/dist/trace/OutcomeTrace.d.ts +38 -0
- package/packages/core/dist/trace/OutcomeTrace.d.ts.map +1 -0
- package/packages/core/dist/trace/OutcomeTrace.js +9 -0
- package/packages/core/dist/trace/OutcomeTrace.js.map +1 -0
- package/packages/core/dist/trace/SkillTraceDecorator.d.ts +25 -0
- package/packages/core/dist/trace/SkillTraceDecorator.d.ts.map +1 -0
- package/packages/core/dist/trace/SkillTraceDecorator.js +41 -0
- package/packages/core/dist/trace/SkillTraceDecorator.js.map +1 -0
- package/packages/core/dist/trace/TraceReplay.d.ts +25 -0
- package/packages/core/dist/trace/TraceReplay.d.ts.map +1 -0
- package/packages/core/dist/trace/TraceReplay.js +40 -0
- package/packages/core/dist/trace/TraceReplay.js.map +1 -0
- package/packages/core/dist/trace/TraversalLedger.d.ts +33 -0
- package/packages/core/dist/trace/TraversalLedger.d.ts.map +1 -0
- package/packages/core/dist/trace/TraversalLedger.js +61 -0
- package/packages/core/dist/trace/TraversalLedger.js.map +1 -0
- package/packages/core/dist/types/SelfImprovement.d.ts +174 -0
- package/packages/core/dist/types/SelfImprovement.d.ts.map +1 -0
- package/packages/core/dist/types/SelfImprovement.js +23 -0
- package/packages/core/dist/types/SelfImprovement.js.map +1 -0
- package/packages/core/dist/types/SkillDefinition.d.ts +68 -0
- package/packages/core/dist/types/SkillDefinition.d.ts.map +1 -0
- package/packages/core/dist/types/SkillDefinition.js +12 -0
- package/packages/core/dist/types/SkillDefinition.js.map +1 -0
- package/packages/daemon/dist/BackgroundWorkers.d.ts +55 -0
- package/packages/daemon/dist/BackgroundWorkers.d.ts.map +1 -0
- package/packages/daemon/dist/BackgroundWorkers.js +121 -0
- package/packages/daemon/dist/BackgroundWorkers.js.map +1 -0
- package/packages/daemon/dist/EntityScopedContext.d.ts +22 -0
- package/packages/daemon/dist/EntityScopedContext.d.ts.map +1 -0
- package/packages/daemon/dist/EntityScopedContext.js +85 -0
- package/packages/daemon/dist/EntityScopedContext.js.map +1 -0
- package/packages/daemon/dist/HTTPServer.d.ts +27 -0
- package/packages/daemon/dist/HTTPServer.d.ts.map +1 -0
- package/packages/daemon/dist/HTTPServer.js +62 -0
- package/packages/daemon/dist/HTTPServer.js.map +1 -0
- package/packages/daemon/dist/SessionManager.d.ts +95 -0
- package/packages/daemon/dist/SessionManager.d.ts.map +1 -0
- package/packages/daemon/dist/SessionManager.js +205 -0
- package/packages/daemon/dist/SessionManager.js.map +1 -0
- package/packages/daemon/dist/SkillRegistry.d.ts +34 -0
- package/packages/daemon/dist/SkillRegistry.d.ts.map +1 -0
- package/packages/daemon/dist/SkillRegistry.js +90 -0
- package/packages/daemon/dist/SkillRegistry.js.map +1 -0
- package/packages/daemon/dist/SkillVariableResolver.d.ts +24 -0
- package/packages/daemon/dist/SkillVariableResolver.d.ts.map +1 -0
- package/packages/daemon/dist/SkillVariableResolver.js +85 -0
- package/packages/daemon/dist/SkillVariableResolver.js.map +1 -0
- package/packages/daemon/dist/WebSocketEvents.d.ts +107 -0
- package/packages/daemon/dist/WebSocketEvents.d.ts.map +1 -0
- package/packages/daemon/dist/WebSocketEvents.js +111 -0
- package/packages/daemon/dist/WebSocketEvents.js.map +1 -0
- package/packages/daemon/dist/ZeroAgentDaemon.d.ts +39 -0
- package/packages/daemon/dist/ZeroAgentDaemon.d.ts.map +1 -0
- package/packages/daemon/dist/ZeroAgentDaemon.js +161 -0
- package/packages/daemon/dist/ZeroAgentDaemon.js.map +1 -0
- package/packages/daemon/dist/config/ConfigSchema.d.ts +631 -0
- package/packages/daemon/dist/config/ConfigSchema.d.ts.map +1 -0
- package/packages/daemon/dist/config/ConfigSchema.js +107 -0
- package/packages/daemon/dist/config/ConfigSchema.js.map +1 -0
- package/packages/daemon/dist/config/DaemonConfig.d.ts +10 -0
- package/packages/daemon/dist/config/DaemonConfig.d.ts.map +1 -0
- package/packages/daemon/dist/config/DaemonConfig.js +34 -0
- package/packages/daemon/dist/config/DaemonConfig.js.map +1 -0
- package/packages/daemon/dist/index.d.ts +10 -0
- package/packages/daemon/dist/index.d.ts.map +1 -0
- package/packages/daemon/dist/index.js +8 -0
- package/packages/daemon/dist/index.js.map +1 -0
- package/packages/daemon/dist/routes/entities.d.ts +6 -0
- package/packages/daemon/dist/routes/entities.d.ts.map +1 -0
- package/packages/daemon/dist/routes/entities.js +54 -0
- package/packages/daemon/dist/routes/entities.js.map +1 -0
- package/packages/daemon/dist/routes/graph.d.ts +6 -0
- package/packages/daemon/dist/routes/graph.d.ts.map +1 -0
- package/packages/daemon/dist/routes/graph.js +61 -0
- package/packages/daemon/dist/routes/graph.js.map +1 -0
- package/packages/daemon/dist/routes/health.d.ts +15 -0
- package/packages/daemon/dist/routes/health.d.ts.map +1 -0
- package/packages/daemon/dist/routes/health.js +11 -0
- package/packages/daemon/dist/routes/health.js.map +1 -0
- package/packages/daemon/dist/routes/sessions.d.ts +6 -0
- package/packages/daemon/dist/routes/sessions.d.ts.map +1 -0
- package/packages/daemon/dist/routes/sessions.js +43 -0
- package/packages/daemon/dist/routes/sessions.js.map +1 -0
- package/packages/daemon/dist/routes/skills.d.ts +6 -0
- package/packages/daemon/dist/routes/skills.d.ts.map +1 -0
- package/packages/daemon/dist/routes/skills.js +62 -0
- package/packages/daemon/dist/routes/skills.js.map +1 -0
- package/packages/daemon/dist/routes/subagents.d.ts +3 -0
- package/packages/daemon/dist/routes/subagents.d.ts.map +1 -0
- package/packages/daemon/dist/routes/subagents.js +14 -0
- package/packages/daemon/dist/routes/subagents.js.map +1 -0
- package/packages/daemon/dist/routes/traces.d.ts +6 -0
- package/packages/daemon/dist/routes/traces.d.ts.map +1 -0
- package/packages/daemon/dist/routes/traces.js +31 -0
- package/packages/daemon/dist/routes/traces.js.map +1 -0
- package/packages/daemon/dist/start.d.ts +7 -0
- package/packages/daemon/dist/start.d.ts.map +1 -0
- package/packages/daemon/dist/start.js +24 -0
- package/packages/daemon/dist/start.js.map +1 -0
- package/packages/mcp-hub/dist/FilteredProxy.d.ts +20 -0
- package/packages/mcp-hub/dist/FilteredProxy.d.ts.map +1 -0
- package/packages/mcp-hub/dist/FilteredProxy.js +43 -0
- package/packages/mcp-hub/dist/FilteredProxy.js.map +1 -0
- package/packages/mcp-hub/dist/MCPDiscovery.d.ts +18 -0
- package/packages/mcp-hub/dist/MCPDiscovery.d.ts.map +1 -0
- package/packages/mcp-hub/dist/MCPDiscovery.js +86 -0
- package/packages/mcp-hub/dist/MCPDiscovery.js.map +1 -0
- package/packages/mcp-hub/dist/MCPHub.d.ts +48 -0
- package/packages/mcp-hub/dist/MCPHub.d.ts.map +1 -0
- package/packages/mcp-hub/dist/MCPHub.js +100 -0
- package/packages/mcp-hub/dist/MCPHub.js.map +1 -0
- package/packages/mcp-hub/dist/builtin/BrowserMCP.d.ts +6 -0
- package/packages/mcp-hub/dist/builtin/BrowserMCP.d.ts.map +1 -0
- package/packages/mcp-hub/dist/builtin/BrowserMCP.js +69 -0
- package/packages/mcp-hub/dist/builtin/BrowserMCP.js.map +1 -0
- package/packages/mcp-hub/dist/builtin/FilesystemMCP.d.ts +11 -0
- package/packages/mcp-hub/dist/builtin/FilesystemMCP.d.ts.map +1 -0
- package/packages/mcp-hub/dist/builtin/FilesystemMCP.js +104 -0
- package/packages/mcp-hub/dist/builtin/FilesystemMCP.js.map +1 -0
- package/packages/mcp-hub/dist/builtin/MemoryMCP.d.ts +9 -0
- package/packages/mcp-hub/dist/builtin/MemoryMCP.d.ts.map +1 -0
- package/packages/mcp-hub/dist/builtin/MemoryMCP.js +185 -0
- package/packages/mcp-hub/dist/builtin/MemoryMCP.js.map +1 -0
- package/packages/mcp-hub/dist/builtin/ShellMCP.d.ts +8 -0
- package/packages/mcp-hub/dist/builtin/ShellMCP.d.ts.map +1 -0
- package/packages/mcp-hub/dist/builtin/ShellMCP.js +74 -0
- package/packages/mcp-hub/dist/builtin/ShellMCP.js.map +1 -0
- package/packages/mcp-hub/dist/index.d.ts +9 -0
- package/packages/mcp-hub/dist/index.d.ts.map +1 -0
- package/packages/mcp-hub/dist/index.js +8 -0
- package/packages/mcp-hub/dist/index.js.map +1 -0
- package/packages/mcp-hub/dist/types.d.ts +30 -0
- package/packages/mcp-hub/dist/types.d.ts.map +1 -0
- package/packages/mcp-hub/dist/types.js +2 -0
- package/packages/mcp-hub/dist/types.js.map +1 -0
- package/packages/subagent/dist/CapabilityToken.d.ts +66 -0
- package/packages/subagent/dist/CapabilityToken.d.ts.map +1 -0
- package/packages/subagent/dist/CapabilityToken.js +120 -0
- package/packages/subagent/dist/CapabilityToken.js.map +1 -0
- package/packages/subagent/dist/ResourceDefaults.d.ts +16 -0
- package/packages/subagent/dist/ResourceDefaults.d.ts.map +1 -0
- package/packages/subagent/dist/ResourceDefaults.js +68 -0
- package/packages/subagent/dist/ResourceDefaults.js.map +1 -0
- package/packages/subagent/dist/SkillInputResolver.d.ts +30 -0
- package/packages/subagent/dist/SkillInputResolver.d.ts.map +1 -0
- package/packages/subagent/dist/SkillInputResolver.js +59 -0
- package/packages/subagent/dist/SkillInputResolver.js.map +1 -0
- package/packages/subagent/dist/SkillInvoker.d.ts +33 -0
- package/packages/subagent/dist/SkillInvoker.d.ts.map +1 -0
- package/packages/subagent/dist/SkillInvoker.js +69 -0
- package/packages/subagent/dist/SkillInvoker.js.map +1 -0
- package/packages/subagent/dist/SubagentOrchestrator.d.ts +52 -0
- package/packages/subagent/dist/SubagentOrchestrator.d.ts.map +1 -0
- package/packages/subagent/dist/SubagentOrchestrator.js +198 -0
- package/packages/subagent/dist/SubagentOrchestrator.js.map +1 -0
- package/packages/subagent/dist/SubagentResult.d.ts +34 -0
- package/packages/subagent/dist/SubagentResult.d.ts.map +1 -0
- package/packages/subagent/dist/SubagentResult.js +21 -0
- package/packages/subagent/dist/SubagentResult.js.map +1 -0
- package/packages/subagent/dist/Watchdog.d.ts +23 -0
- package/packages/subagent/dist/Watchdog.d.ts.map +1 -0
- package/packages/subagent/dist/Watchdog.js +44 -0
- package/packages/subagent/dist/Watchdog.js.map +1 -0
- package/packages/subagent/dist/index.d.ts +15 -0
- package/packages/subagent/dist/index.d.ts.map +1 -0
- package/packages/subagent/dist/index.js +23 -0
- package/packages/subagent/dist/index.js.map +1 -0
- package/packages/subagent/dist/sandbox/BwrapBackend.d.ts +14 -0
- package/packages/subagent/dist/sandbox/BwrapBackend.d.ts.map +1 -0
- package/packages/subagent/dist/sandbox/BwrapBackend.js +171 -0
- package/packages/subagent/dist/sandbox/BwrapBackend.js.map +1 -0
- package/packages/subagent/dist/sandbox/CloudBackend.d.ts +28 -0
- package/packages/subagent/dist/sandbox/CloudBackend.d.ts.map +1 -0
- package/packages/subagent/dist/sandbox/CloudBackend.js +52 -0
- package/packages/subagent/dist/sandbox/CloudBackend.js.map +1 -0
- package/packages/subagent/dist/sandbox/DockerBackend.d.ts +14 -0
- package/packages/subagent/dist/sandbox/DockerBackend.d.ts.map +1 -0
- package/packages/subagent/dist/sandbox/DockerBackend.js +149 -0
- package/packages/subagent/dist/sandbox/DockerBackend.js.map +1 -0
- package/packages/subagent/dist/sandbox/FirecrackerBackend.d.ts +17 -0
- package/packages/subagent/dist/sandbox/FirecrackerBackend.d.ts.map +1 -0
- package/packages/subagent/dist/sandbox/FirecrackerBackend.js +54 -0
- package/packages/subagent/dist/sandbox/FirecrackerBackend.js.map +1 -0
- package/packages/subagent/dist/sandbox/PodmanBackend.d.ts +13 -0
- package/packages/subagent/dist/sandbox/PodmanBackend.d.ts.map +1 -0
- package/packages/subagent/dist/sandbox/PodmanBackend.js +144 -0
- package/packages/subagent/dist/sandbox/PodmanBackend.js.map +1 -0
- package/packages/subagent/dist/sandbox/ProcessBackend.d.ts +16 -0
- package/packages/subagent/dist/sandbox/ProcessBackend.d.ts.map +1 -0
- package/packages/subagent/dist/sandbox/ProcessBackend.js +152 -0
- package/packages/subagent/dist/sandbox/ProcessBackend.js.map +1 -0
- package/packages/subagent/dist/sandbox/SandboxManager.d.ts +17 -0
- package/packages/subagent/dist/sandbox/SandboxManager.d.ts.map +1 -0
- package/packages/subagent/dist/sandbox/SandboxManager.js +45 -0
- package/packages/subagent/dist/sandbox/SandboxManager.js.map +1 -0
- package/packages/subagent/dist/sandbox/types.d.ts +35 -0
- package/packages/subagent/dist/sandbox/types.d.ts.map +1 -0
- package/packages/subagent/dist/sandbox/types.js +5 -0
- package/packages/subagent/dist/sandbox/types.js.map +1 -0
- package/packages/subagent-runtime/dist/AgentLoop.d.ts +46 -0
- package/packages/subagent-runtime/dist/AgentLoop.d.ts.map +1 -0
- package/packages/subagent-runtime/dist/AgentLoop.js +85 -0
- package/packages/subagent-runtime/dist/AgentLoop.js.map +1 -0
- package/packages/subagent-runtime/dist/MCPProxy.d.ts +24 -0
- package/packages/subagent-runtime/dist/MCPProxy.d.ts.map +1 -0
- package/packages/subagent-runtime/dist/MCPProxy.js +31 -0
- package/packages/subagent-runtime/dist/MCPProxy.js.map +1 -0
- package/packages/subagent-runtime/dist/OutputChannel.d.ts +10 -0
- package/packages/subagent-runtime/dist/OutputChannel.d.ts.map +1 -0
- package/packages/subagent-runtime/dist/OutputChannel.js +14 -0
- package/packages/subagent-runtime/dist/OutputChannel.js.map +1 -0
- package/packages/subagent-runtime/dist/ResourceTracker.d.ts +29 -0
- package/packages/subagent-runtime/dist/ResourceTracker.d.ts.map +1 -0
- package/packages/subagent-runtime/dist/ResourceTracker.js +46 -0
- package/packages/subagent-runtime/dist/ResourceTracker.js.map +1 -0
- package/packages/subagent-runtime/dist/TokenValidator.d.ts +17 -0
- package/packages/subagent-runtime/dist/TokenValidator.d.ts.map +1 -0
- package/packages/subagent-runtime/dist/TokenValidator.js +29 -0
- package/packages/subagent-runtime/dist/TokenValidator.js.map +1 -0
- package/packages/subagent-runtime/dist/index.d.ts +6 -0
- package/packages/subagent-runtime/dist/index.d.ts.map +1 -0
- package/packages/subagent-runtime/dist/index.js +11 -0
- package/packages/subagent-runtime/dist/index.js.map +1 -0
- package/packages/subagent-runtime/dist/main.d.ts +2 -0
- package/packages/subagent-runtime/dist/main.d.ts.map +1 -0
- package/packages/subagent-runtime/dist/main.js +102 -0
- package/packages/subagent-runtime/dist/main.js.map +1 -0
- package/seeds/b2b-outbound/package.json +6 -0
- package/seeds/research/package.json +6 -0
- package/seeds/software-engineering/install.ts +78 -0
- package/seeds/software-engineering/package.json +6 -0
- package/seeds/software-engineering/sprint-workflow.json +102 -0
- package/skills/build.yaml +97 -0
- package/skills/debug.yaml +117 -0
- package/skills/design-review.yaml +119 -0
- package/skills/doc.yaml +107 -0
- package/skills/office-hours.yaml +76 -0
- package/skills/plan-ceo-review.yaml +84 -0
- package/skills/plan-eng-review.yaml +96 -0
- package/skills/qa.yaml +116 -0
- package/skills/refactor.yaml +125 -0
- package/skills/research.yaml +108 -0
- package/skills/retro.yaml +106 -0
- package/skills/review.yaml +101 -0
- package/skills/security-audit.yaml +114 -0
- package/skills/ship.yaml +108 -0
- package/skills/test-writer.yaml +131 -0
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InferenceEngine — Phase 4 full inference pipeline.
|
|
3
|
+
*
|
|
4
|
+
* Replaces the Phase 2 stub with:
|
|
5
|
+
* - Full entity resolution (pipeline or fallback)
|
|
6
|
+
* - Graph traversal with TraversalLedger recording
|
|
7
|
+
* - SelectionPolicy-based plan selection
|
|
8
|
+
* - Credit attribution and weight propagation on outcome
|
|
9
|
+
* - Skill metadata decoration
|
|
10
|
+
*
|
|
11
|
+
* The Phase 2 resolve() method is preserved for backward compatibility.
|
|
12
|
+
*/
|
|
13
|
+
import { NodeType } from '../graph/GraphNode.js';
|
|
14
|
+
// ─── InferenceEngine ─────────────────────────────────────
|
|
15
|
+
export class InferenceEngine {
|
|
16
|
+
graph;
|
|
17
|
+
resolver;
|
|
18
|
+
policy;
|
|
19
|
+
resolutionPipeline;
|
|
20
|
+
attribution;
|
|
21
|
+
propagation;
|
|
22
|
+
updater;
|
|
23
|
+
constructor(graph, resolver, policy, resolutionPipeline, attribution, propagation, updater) {
|
|
24
|
+
this.graph = graph;
|
|
25
|
+
this.resolver = resolver;
|
|
26
|
+
this.policy = policy;
|
|
27
|
+
this.resolutionPipeline = resolutionPipeline;
|
|
28
|
+
this.attribution = attribution;
|
|
29
|
+
this.propagation = propagation;
|
|
30
|
+
this.updater = updater;
|
|
31
|
+
}
|
|
32
|
+
// ─── Phase 2 backward-compatible resolve() ─────────────
|
|
33
|
+
async resolve(task, _context) {
|
|
34
|
+
const plan = {
|
|
35
|
+
task,
|
|
36
|
+
resolved_entities: [],
|
|
37
|
+
selected_edge: null,
|
|
38
|
+
skill: null,
|
|
39
|
+
confidence: 0,
|
|
40
|
+
reasoning: '',
|
|
41
|
+
};
|
|
42
|
+
// Step 1: Extract and resolve entity mentions from the task
|
|
43
|
+
const mentions = this.extractMentions(task);
|
|
44
|
+
for (const mention of mentions) {
|
|
45
|
+
try {
|
|
46
|
+
const result = await this.resolver.resolve(mention);
|
|
47
|
+
plan.resolved_entities.push({
|
|
48
|
+
mention,
|
|
49
|
+
node_id: result.node_id,
|
|
50
|
+
confidence: result.confidence,
|
|
51
|
+
match_type: result.match_type,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Resolution failure is non-fatal
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Step 2: Find candidate edges from resolved entities
|
|
59
|
+
const candidateEdges = [];
|
|
60
|
+
for (const entity of plan.resolved_entities) {
|
|
61
|
+
const edges = this.graph.getEdgesFrom(entity.node_id);
|
|
62
|
+
candidateEdges.push(...edges);
|
|
63
|
+
}
|
|
64
|
+
// If no entities resolved, try a structural query for context nodes
|
|
65
|
+
if (candidateEdges.length === 0) {
|
|
66
|
+
const contextNodes = this.graph.queryStructural({
|
|
67
|
+
node_type: NodeType.CONTEXT,
|
|
68
|
+
limit: 10,
|
|
69
|
+
});
|
|
70
|
+
for (const result of contextNodes) {
|
|
71
|
+
const edges = this.graph.getEdgesFrom(result.node.id);
|
|
72
|
+
candidateEdges.push(...edges);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// Step 3: Select best edge via SelectionPolicy
|
|
76
|
+
if (candidateEdges.length > 0) {
|
|
77
|
+
const unique = new Map(candidateEdges.map((e) => [e.id, e]));
|
|
78
|
+
const selection = this.policy.select([...unique.values()]);
|
|
79
|
+
if (selection) {
|
|
80
|
+
const fromNode = this.graph.getNode(selection.edge.from_node);
|
|
81
|
+
const toNode = this.graph.getNode(selection.edge.to_node);
|
|
82
|
+
plan.selected_edge = {
|
|
83
|
+
edge_id: selection.edge.id,
|
|
84
|
+
from_label: fromNode?.label ?? selection.edge.from_node,
|
|
85
|
+
to_label: toNode?.label ?? selection.edge.to_node,
|
|
86
|
+
weight: selection.edge.weight,
|
|
87
|
+
mode: selection.mode,
|
|
88
|
+
};
|
|
89
|
+
plan.confidence = selection.score;
|
|
90
|
+
if (toNode?.metadata?.is_skill) {
|
|
91
|
+
plan.skill = toNode.label;
|
|
92
|
+
}
|
|
93
|
+
plan.reasoning = `Selected ${plan.selected_edge.from_label} → ${plan.selected_edge.to_label} (weight: ${selection.edge.weight.toFixed(2)}, mode: ${selection.mode})`;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (!plan.selected_edge) {
|
|
97
|
+
plan.reasoning = 'No candidate edges found — bootstrap mode may be needed';
|
|
98
|
+
}
|
|
99
|
+
return plan;
|
|
100
|
+
}
|
|
101
|
+
// ─── Phase 4 full inference pipeline ────────────────────
|
|
102
|
+
async infer(req) {
|
|
103
|
+
const trace_id = crypto.randomUUID();
|
|
104
|
+
const started = Date.now();
|
|
105
|
+
// Step 1: Entity Resolution
|
|
106
|
+
let resolvedEntities;
|
|
107
|
+
if (this.resolutionPipeline) {
|
|
108
|
+
resolvedEntities = await this.resolutionPipeline.extractAndResolve(req.input, req.context);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
resolvedEntities = await this.resolveEntitiesFallback(req.input);
|
|
112
|
+
}
|
|
113
|
+
// Step 2: Graph query — gather candidate edges from resolved entities
|
|
114
|
+
const candidateEdges = [];
|
|
115
|
+
for (const entity of resolvedEntities) {
|
|
116
|
+
const edges = this.graph.getEdgesFrom(entity.node_id);
|
|
117
|
+
candidateEdges.push(...edges);
|
|
118
|
+
}
|
|
119
|
+
// Fallback to context nodes if nothing resolved
|
|
120
|
+
if (candidateEdges.length === 0) {
|
|
121
|
+
const contextNodes = this.graph.queryStructural({
|
|
122
|
+
node_type: NodeType.CONTEXT,
|
|
123
|
+
limit: 10,
|
|
124
|
+
});
|
|
125
|
+
for (const result of contextNodes) {
|
|
126
|
+
const edges = this.graph.getEdgesFrom(result.node.id);
|
|
127
|
+
candidateEdges.push(...edges);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// Step 3: Plan selection via SelectionPolicy (epsilon-greedy)
|
|
131
|
+
const unique = new Map(candidateEdges.map((e) => [e.id, e]));
|
|
132
|
+
const deduped = [...unique.values()];
|
|
133
|
+
const selection = deduped.length > 0 ? this.policy.select(deduped) : null;
|
|
134
|
+
const planSelected = [];
|
|
135
|
+
let skillName = null;
|
|
136
|
+
// Step 4: Record in TraversalLedger (if available at runtime)
|
|
137
|
+
if (selection) {
|
|
138
|
+
planSelected.push(selection.edge.id);
|
|
139
|
+
const toNode = this.graph.getNode(selection.edge.to_node);
|
|
140
|
+
if (toNode?.metadata?.is_skill) {
|
|
141
|
+
skillName = toNode.label;
|
|
142
|
+
}
|
|
143
|
+
// Record traversal in a ledger instance if one is passed through context
|
|
144
|
+
const ledger = req.context?.['_traversal_ledger'];
|
|
145
|
+
if (ledger) {
|
|
146
|
+
const siblings = this.graph.getEdgesFrom(selection.edge.from_node);
|
|
147
|
+
ledger.record(selection.edge, 0, siblings);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Step 5: Build output description (no subagent delegation in core)
|
|
151
|
+
let output;
|
|
152
|
+
if (selection) {
|
|
153
|
+
const fromNode = this.graph.getNode(selection.edge.from_node);
|
|
154
|
+
const toNode = this.graph.getNode(selection.edge.to_node);
|
|
155
|
+
const fromLabel = fromNode?.label ?? selection.edge.from_node;
|
|
156
|
+
const toLabel = toNode?.label ?? selection.edge.to_node;
|
|
157
|
+
output = skillName
|
|
158
|
+
? `Skill: ${skillName} (via ${fromLabel} → ${toLabel}, weight: ${selection.edge.weight.toFixed(2)}, mode: ${selection.mode})`
|
|
159
|
+
: `Plan: ${fromLabel} → ${toLabel} (weight: ${selection.edge.weight.toFixed(2)}, mode: ${selection.mode})`;
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
output = 'No plan selected — bootstrap mode may be needed';
|
|
163
|
+
}
|
|
164
|
+
// Step 6: If outcome available, run attribution + weight update
|
|
165
|
+
const outcomeSignal = req.context?.['outcome_signal'];
|
|
166
|
+
if (outcomeSignal !== undefined &&
|
|
167
|
+
this.attribution &&
|
|
168
|
+
this.propagation) {
|
|
169
|
+
const ledger = req.context?.['_traversal_ledger'];
|
|
170
|
+
if (ledger) {
|
|
171
|
+
await this.attribution.attribute(ledger, outcomeSignal, trace_id);
|
|
172
|
+
const outcome = {
|
|
173
|
+
value: outcomeSignal,
|
|
174
|
+
type: 'explicit',
|
|
175
|
+
trace_id,
|
|
176
|
+
resolved_at: Date.now(),
|
|
177
|
+
};
|
|
178
|
+
await this.propagation.propagate(ledger.toStepLedgers(), outcome);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// Step 7: Decorate with skill metadata if present in context
|
|
182
|
+
const contextSkillName = req.context?.['skill_name'];
|
|
183
|
+
const deferred = req.context?.['deferred'] === true;
|
|
184
|
+
const result = {
|
|
185
|
+
output,
|
|
186
|
+
trace_id,
|
|
187
|
+
entities_resolved: resolvedEntities.map((e) => e.node_id),
|
|
188
|
+
plan_selected: planSelected,
|
|
189
|
+
subagent_result: req.context?.['subagent_result'],
|
|
190
|
+
outcome_signal: outcomeSignal,
|
|
191
|
+
deferred,
|
|
192
|
+
};
|
|
193
|
+
return result;
|
|
194
|
+
}
|
|
195
|
+
// ─── Private helpers ────────────────────────────────────
|
|
196
|
+
/**
|
|
197
|
+
* Fallback entity resolution using the simple NodeResolutionService.
|
|
198
|
+
* Used when no EntityResolutionPipeline is provided.
|
|
199
|
+
*/
|
|
200
|
+
async resolveEntitiesFallback(input) {
|
|
201
|
+
const mentions = this.extractMentions(input);
|
|
202
|
+
const resolved = [];
|
|
203
|
+
for (const mention of mentions) {
|
|
204
|
+
try {
|
|
205
|
+
const result = await this.resolver.resolve(mention);
|
|
206
|
+
resolved.push({
|
|
207
|
+
mention,
|
|
208
|
+
node_id: result.node_id,
|
|
209
|
+
confidence: result.confidence,
|
|
210
|
+
match_type: result.match_type,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
// Resolution failure is non-fatal
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return resolved;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Simple mention extraction: split task into potential entity names.
|
|
221
|
+
* Phase 4 EntityResolutionPipeline provides LLM-based NER as upgrade.
|
|
222
|
+
*/
|
|
223
|
+
extractMentions(task) {
|
|
224
|
+
const mentions = [];
|
|
225
|
+
const words = task.split(/\s+/).filter(Boolean);
|
|
226
|
+
// Try pairs first (e.g., "Acme Corp")
|
|
227
|
+
for (let i = 0; i < words.length - 1; i++) {
|
|
228
|
+
const pair = `${words[i]} ${words[i + 1]}`;
|
|
229
|
+
if (/^[A-Z]/.test(words[i]) && /^[A-Z]/.test(words[i + 1])) {
|
|
230
|
+
mentions.push(pair);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
// Then individual capitalized words
|
|
234
|
+
for (const word of words) {
|
|
235
|
+
if (/^[A-Z]/.test(word) && word.length > 2) {
|
|
236
|
+
mentions.push(word);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return [...new Set(mentions)];
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=InferenceEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InferenceEngine.js","sourceRoot":"","sources":["../../src/engine/InferenceEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { GraphEdge } from '../graph/GraphEdge.js';
|
|
2
|
+
export interface SelectionConfig {
|
|
3
|
+
epsilon: number;
|
|
4
|
+
temperature: number;
|
|
5
|
+
}
|
|
6
|
+
export interface SelectionResult {
|
|
7
|
+
edge: GraphEdge;
|
|
8
|
+
mode: 'exploit' | 'explore';
|
|
9
|
+
score: number;
|
|
10
|
+
}
|
|
11
|
+
export declare class SelectionPolicy {
|
|
12
|
+
private config;
|
|
13
|
+
private rng;
|
|
14
|
+
constructor(config?: Partial<SelectionConfig>, rng?: () => number);
|
|
15
|
+
/**
|
|
16
|
+
* Select an edge from candidates using epsilon-greedy.
|
|
17
|
+
* - With probability epsilon: random selection (explore)
|
|
18
|
+
* - Otherwise: temperature-softmax weighted by edge weight (exploit)
|
|
19
|
+
* Returns null if no candidates.
|
|
20
|
+
*/
|
|
21
|
+
select(candidates: GraphEdge[]): SelectionResult | null;
|
|
22
|
+
/**
|
|
23
|
+
* Softmax selection weighted by edge weight / temperature.
|
|
24
|
+
* Higher temperature = more uniform. Lower = more greedy.
|
|
25
|
+
*/
|
|
26
|
+
private softmaxSelect;
|
|
27
|
+
getConfig(): SelectionConfig;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=SelectionPolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectionPolicy.d.ts","sourceRoot":"","sources":["../../src/engine/SelectionPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,GAAG,CAAe;gBAEd,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,MAAM;IAQjE;;;;;OAKG;IACH,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,eAAe,GAAG,IAAI;IAkBvD;;;OAGG;IACH,OAAO,CAAC,aAAa;IAqBrB,SAAS,IAAI,eAAe;CAG7B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export class SelectionPolicy {
|
|
2
|
+
config;
|
|
3
|
+
rng; // injectable RNG for testing
|
|
4
|
+
constructor(config, rng) {
|
|
5
|
+
this.config = {
|
|
6
|
+
epsilon: config?.epsilon ?? 0.15,
|
|
7
|
+
temperature: config?.temperature ?? 0.5,
|
|
8
|
+
};
|
|
9
|
+
this.rng = rng ?? Math.random;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Select an edge from candidates using epsilon-greedy.
|
|
13
|
+
* - With probability epsilon: random selection (explore)
|
|
14
|
+
* - Otherwise: temperature-softmax weighted by edge weight (exploit)
|
|
15
|
+
* Returns null if no candidates.
|
|
16
|
+
*/
|
|
17
|
+
select(candidates) {
|
|
18
|
+
if (candidates.length === 0)
|
|
19
|
+
return null;
|
|
20
|
+
if (candidates.length === 1) {
|
|
21
|
+
return { edge: candidates[0], mode: 'exploit', score: candidates[0].weight };
|
|
22
|
+
}
|
|
23
|
+
const roll = this.rng();
|
|
24
|
+
if (roll < this.config.epsilon) {
|
|
25
|
+
// EXPLORE: uniform random
|
|
26
|
+
const idx = Math.floor(this.rng() * candidates.length);
|
|
27
|
+
return { edge: candidates[idx], mode: 'explore', score: candidates[idx].weight };
|
|
28
|
+
}
|
|
29
|
+
// EXPLOIT: temperature-softmax
|
|
30
|
+
return this.softmaxSelect(candidates);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Softmax selection weighted by edge weight / temperature.
|
|
34
|
+
* Higher temperature = more uniform. Lower = more greedy.
|
|
35
|
+
*/
|
|
36
|
+
softmaxSelect(candidates) {
|
|
37
|
+
const weights = candidates.map(e => e.weight / this.config.temperature);
|
|
38
|
+
const maxW = Math.max(...weights);
|
|
39
|
+
const exps = weights.map(w => Math.exp(w - maxW)); // subtract max for numerical stability
|
|
40
|
+
const sumExp = exps.reduce((a, b) => a + b, 0);
|
|
41
|
+
const probs = exps.map(e => e / sumExp);
|
|
42
|
+
// Weighted random selection
|
|
43
|
+
let r = this.rng();
|
|
44
|
+
for (let i = 0; i < probs.length; i++) {
|
|
45
|
+
r -= probs[i];
|
|
46
|
+
if (r <= 0) {
|
|
47
|
+
return { edge: candidates[i], mode: 'exploit', score: candidates[i].weight };
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// Fallback (floating point edge case)
|
|
51
|
+
const last = candidates[candidates.length - 1];
|
|
52
|
+
return { edge: last, mode: 'exploit', score: last.weight };
|
|
53
|
+
}
|
|
54
|
+
getConfig() {
|
|
55
|
+
return { ...this.config };
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=SelectionPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectionPolicy.js","sourceRoot":"","sources":["../../src/engine/SelectionPolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Self-Improvement Engine
|
|
3
|
+
*
|
|
4
|
+
* Runs the 5 analyses (skill gaps, workflow optimization, graph health,
|
|
5
|
+
* tool utilization, skill prompt refinement) against the live graph and
|
|
6
|
+
* trace store, producing an ImprovementPlan.
|
|
7
|
+
*
|
|
8
|
+
* This is executed by the main agent (Level 0) directly — never delegated
|
|
9
|
+
* to a subagent. It has full read access to the graph and trace store.
|
|
10
|
+
*
|
|
11
|
+
* The engine itself does NOT apply changes. It produces a plan. The daemon's
|
|
12
|
+
* SelfImprovementApplicator reads the plan + auto_apply config and decides
|
|
13
|
+
* what to apply automatically vs. what to queue for user approval.
|
|
14
|
+
*/
|
|
15
|
+
import type { KnowledgeGraph } from "../graph/KnowledgeGraph.js";
|
|
16
|
+
import type { ILLMClient } from "../bootstrap/GraphConstructor.js";
|
|
17
|
+
import type { ImprovementPlan, SelfImprovementConfig } from "../types/SelfImprovement.js";
|
|
18
|
+
export interface SelfImprovementContext {
|
|
19
|
+
evaluation_period_start: number;
|
|
20
|
+
evaluation_period_end: number;
|
|
21
|
+
skill_definitions: Array<{
|
|
22
|
+
name: string;
|
|
23
|
+
role_prompt: string;
|
|
24
|
+
}>;
|
|
25
|
+
mcp_tools: Array<{
|
|
26
|
+
name: string;
|
|
27
|
+
server: string;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
30
|
+
export declare class SelfImprovementEngine {
|
|
31
|
+
private graph;
|
|
32
|
+
private llm;
|
|
33
|
+
private config;
|
|
34
|
+
constructor(graph: KnowledgeGraph, llm: ILLMClient, config: SelfImprovementConfig);
|
|
35
|
+
/**
|
|
36
|
+
* Run the full 5-analysis improvement cycle.
|
|
37
|
+
*
|
|
38
|
+
* In Phase 1-2, this runs the analyses as pure graph queries.
|
|
39
|
+
* In Phase 4+, this uses the LLM with SELF_IMPROVEMENT_PROMPT to
|
|
40
|
+
* generate more nuanced recommendations.
|
|
41
|
+
*/
|
|
42
|
+
analyze(ctx: SelfImprovementContext): Promise<ImprovementPlan>;
|
|
43
|
+
private analyzeSkillGaps;
|
|
44
|
+
private analyzeWorkflow;
|
|
45
|
+
private analyzeGraphHealth;
|
|
46
|
+
private findContradictions;
|
|
47
|
+
private findDeadZones;
|
|
48
|
+
private findOrphans;
|
|
49
|
+
private analyzeToolUtilization;
|
|
50
|
+
private analyzeSkillPrompts;
|
|
51
|
+
private rankActions;
|
|
52
|
+
/**
|
|
53
|
+
* Get the system prompt for LLM-powered analysis (Phase 4+).
|
|
54
|
+
* The prompt is injected with actual graph/trace data as context.
|
|
55
|
+
*/
|
|
56
|
+
getPrompt(): string;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=SelfImprovementEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelfImprovementEngine.d.ts","sourceRoot":"","sources":["../../src/engine/SelfImprovementEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EAWtB,MAAM,6BAA6B,CAAC;AAGrC,MAAM,WAAW,sBAAsB;IACrC,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AAED,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,MAAM;gBAFN,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,qBAAqB;IAGvC;;;;;;OAMG;IACG,OAAO,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;YAiCtD,gBAAgB;YAWhB,eAAe;YAmCf,kBAAkB;IAWhC,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,WAAW;YAkCL,sBAAsB;YActB,mBAAmB;IASjC,OAAO,CAAC,WAAW;IAoFnB;;;OAGG;IACH,SAAS,IAAI,MAAM;CAGpB"}
|