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.
Files changed (443) hide show
  1. package/README.md +164 -0
  2. package/bin/0agent.js +614 -0
  3. package/package.json +59 -0
  4. package/packages/core/dist/bootstrap/BootstrapProtocol.d.ts +37 -0
  5. package/packages/core/dist/bootstrap/BootstrapProtocol.d.ts.map +1 -0
  6. package/packages/core/dist/bootstrap/BootstrapProtocol.js +82 -0
  7. package/packages/core/dist/bootstrap/BootstrapProtocol.js.map +1 -0
  8. package/packages/core/dist/bootstrap/GraphConstructor.d.ts +44 -0
  9. package/packages/core/dist/bootstrap/GraphConstructor.d.ts.map +1 -0
  10. package/packages/core/dist/bootstrap/GraphConstructor.js +160 -0
  11. package/packages/core/dist/bootstrap/GraphConstructor.js.map +1 -0
  12. package/packages/core/dist/bootstrap/HypothesisManager.d.ts +50 -0
  13. package/packages/core/dist/bootstrap/HypothesisManager.d.ts.map +1 -0
  14. package/packages/core/dist/bootstrap/HypothesisManager.js +108 -0
  15. package/packages/core/dist/bootstrap/HypothesisManager.js.map +1 -0
  16. package/packages/core/dist/bootstrap/StagedMutations.d.ts +50 -0
  17. package/packages/core/dist/bootstrap/StagedMutations.d.ts.map +1 -0
  18. package/packages/core/dist/bootstrap/StagedMutations.js +80 -0
  19. package/packages/core/dist/bootstrap/StagedMutations.js.map +1 -0
  20. package/packages/core/dist/concurrency/EdgeWeightUpdater.d.ts +16 -0
  21. package/packages/core/dist/concurrency/EdgeWeightUpdater.d.ts.map +1 -0
  22. package/packages/core/dist/concurrency/EdgeWeightUpdater.js +57 -0
  23. package/packages/core/dist/concurrency/EdgeWeightUpdater.js.map +1 -0
  24. package/packages/core/dist/concurrency/SessionSnapshot.d.ts +63 -0
  25. package/packages/core/dist/concurrency/SessionSnapshot.d.ts.map +1 -0
  26. package/packages/core/dist/concurrency/SessionSnapshot.js +124 -0
  27. package/packages/core/dist/concurrency/SessionSnapshot.js.map +1 -0
  28. package/packages/core/dist/embedding/HNSWIndex.d.ts +37 -0
  29. package/packages/core/dist/embedding/HNSWIndex.d.ts.map +1 -0
  30. package/packages/core/dist/embedding/HNSWIndex.js +86 -0
  31. package/packages/core/dist/embedding/HNSWIndex.js.map +1 -0
  32. package/packages/core/dist/embedding/MultimodalEmbedder.d.ts +24 -0
  33. package/packages/core/dist/embedding/MultimodalEmbedder.d.ts.map +1 -0
  34. package/packages/core/dist/embedding/MultimodalEmbedder.js +75 -0
  35. package/packages/core/dist/embedding/MultimodalEmbedder.js.map +1 -0
  36. package/packages/core/dist/embedding/adapters/NomicAdapter.d.ts +7 -0
  37. package/packages/core/dist/embedding/adapters/NomicAdapter.d.ts.map +1 -0
  38. package/packages/core/dist/embedding/adapters/NomicAdapter.js +11 -0
  39. package/packages/core/dist/embedding/adapters/NomicAdapter.js.map +1 -0
  40. package/packages/core/dist/embedding/adapters/OllamaAdapter.d.ts +19 -0
  41. package/packages/core/dist/embedding/adapters/OllamaAdapter.d.ts.map +1 -0
  42. package/packages/core/dist/embedding/adapters/OllamaAdapter.js +27 -0
  43. package/packages/core/dist/embedding/adapters/OllamaAdapter.js.map +1 -0
  44. package/packages/core/dist/embedding/adapters/OpenAIAdapter.d.ts +14 -0
  45. package/packages/core/dist/embedding/adapters/OpenAIAdapter.d.ts.map +1 -0
  46. package/packages/core/dist/embedding/adapters/OpenAIAdapter.js +48 -0
  47. package/packages/core/dist/embedding/adapters/OpenAIAdapter.js.map +1 -0
  48. package/packages/core/dist/engine/CreditAttribution.d.ts +47 -0
  49. package/packages/core/dist/engine/CreditAttribution.d.ts.map +1 -0
  50. package/packages/core/dist/engine/CreditAttribution.js +196 -0
  51. package/packages/core/dist/engine/CreditAttribution.js.map +1 -0
  52. package/packages/core/dist/engine/DecayScheduler.d.ts +45 -0
  53. package/packages/core/dist/engine/DecayScheduler.d.ts.map +1 -0
  54. package/packages/core/dist/engine/DecayScheduler.js +115 -0
  55. package/packages/core/dist/engine/DecayScheduler.js.map +1 -0
  56. package/packages/core/dist/engine/InferenceEngine.d.ts +95 -0
  57. package/packages/core/dist/engine/InferenceEngine.d.ts.map +1 -0
  58. package/packages/core/dist/engine/InferenceEngine.js +242 -0
  59. package/packages/core/dist/engine/InferenceEngine.js.map +1 -0
  60. package/packages/core/dist/engine/SelectionPolicy.d.ts +29 -0
  61. package/packages/core/dist/engine/SelectionPolicy.d.ts.map +1 -0
  62. package/packages/core/dist/engine/SelectionPolicy.js +58 -0
  63. package/packages/core/dist/engine/SelectionPolicy.js.map +1 -0
  64. package/packages/core/dist/engine/SelfImprovementEngine.d.ts +58 -0
  65. package/packages/core/dist/engine/SelfImprovementEngine.d.ts.map +1 -0
  66. package/packages/core/dist/engine/SelfImprovementEngine.js +265 -0
  67. package/packages/core/dist/engine/SelfImprovementEngine.js.map +1 -0
  68. package/packages/core/dist/engine/SelfImprovementPrompt.d.ts +10 -0
  69. package/packages/core/dist/engine/SelfImprovementPrompt.d.ts.map +1 -0
  70. package/packages/core/dist/engine/SelfImprovementPrompt.js +193 -0
  71. package/packages/core/dist/engine/SelfImprovementPrompt.js.map +1 -0
  72. package/packages/core/dist/engine/WeightPropagation.d.ts +77 -0
  73. package/packages/core/dist/engine/WeightPropagation.d.ts.map +1 -0
  74. package/packages/core/dist/engine/WeightPropagation.js +101 -0
  75. package/packages/core/dist/engine/WeightPropagation.js.map +1 -0
  76. package/packages/core/dist/engine/WorkflowSuggestionEngine.d.ts +26 -0
  77. package/packages/core/dist/engine/WorkflowSuggestionEngine.d.ts.map +1 -0
  78. package/packages/core/dist/engine/WorkflowSuggestionEngine.js +54 -0
  79. package/packages/core/dist/engine/WorkflowSuggestionEngine.js.map +1 -0
  80. package/packages/core/dist/entity/AliasIndex.d.ts +39 -0
  81. package/packages/core/dist/entity/AliasIndex.d.ts.map +1 -0
  82. package/packages/core/dist/entity/AliasIndex.js +81 -0
  83. package/packages/core/dist/entity/AliasIndex.js.map +1 -0
  84. package/packages/core/dist/entity/ContextActivator.d.ts +53 -0
  85. package/packages/core/dist/entity/ContextActivator.d.ts.map +1 -0
  86. package/packages/core/dist/entity/ContextActivator.js +163 -0
  87. package/packages/core/dist/entity/ContextActivator.js.map +1 -0
  88. package/packages/core/dist/entity/EntityHierarchy.d.ts +48 -0
  89. package/packages/core/dist/entity/EntityHierarchy.d.ts.map +1 -0
  90. package/packages/core/dist/entity/EntityHierarchy.js +134 -0
  91. package/packages/core/dist/entity/EntityHierarchy.js.map +1 -0
  92. package/packages/core/dist/entity/EntityResolutionPipeline.d.ts +48 -0
  93. package/packages/core/dist/entity/EntityResolutionPipeline.d.ts.map +1 -0
  94. package/packages/core/dist/entity/EntityResolutionPipeline.js +221 -0
  95. package/packages/core/dist/entity/EntityResolutionPipeline.js.map +1 -0
  96. package/packages/core/dist/entity/MCPEnrichedResolver.d.ts +17 -0
  97. package/packages/core/dist/entity/MCPEnrichedResolver.d.ts.map +1 -0
  98. package/packages/core/dist/entity/MCPEnrichedResolver.js +19 -0
  99. package/packages/core/dist/entity/MCPEnrichedResolver.js.map +1 -0
  100. package/packages/core/dist/entity/NodeResolutionService.d.ts +46 -0
  101. package/packages/core/dist/entity/NodeResolutionService.d.ts.map +1 -0
  102. package/packages/core/dist/entity/NodeResolutionService.js +150 -0
  103. package/packages/core/dist/entity/NodeResolutionService.js.map +1 -0
  104. package/packages/core/dist/entity/PersonalityAccumulator.d.ts +41 -0
  105. package/packages/core/dist/entity/PersonalityAccumulator.d.ts.map +1 -0
  106. package/packages/core/dist/entity/PersonalityAccumulator.js +126 -0
  107. package/packages/core/dist/entity/PersonalityAccumulator.js.map +1 -0
  108. package/packages/core/dist/entity/PersonalityProfile.d.ts +31 -0
  109. package/packages/core/dist/entity/PersonalityProfile.d.ts.map +1 -0
  110. package/packages/core/dist/entity/PersonalityProfile.js +94 -0
  111. package/packages/core/dist/entity/PersonalityProfile.js.map +1 -0
  112. package/packages/core/dist/entity/index.d.ts +4 -0
  113. package/packages/core/dist/entity/index.d.ts.map +1 -0
  114. package/packages/core/dist/entity/index.js +4 -0
  115. package/packages/core/dist/entity/index.js.map +1 -0
  116. package/packages/core/dist/graph/GraphEdge.d.ts +37 -0
  117. package/packages/core/dist/graph/GraphEdge.d.ts.map +1 -0
  118. package/packages/core/dist/graph/GraphEdge.js +29 -0
  119. package/packages/core/dist/graph/GraphEdge.js.map +1 -0
  120. package/packages/core/dist/graph/GraphNode.d.ts +52 -0
  121. package/packages/core/dist/graph/GraphNode.d.ts.map +1 -0
  122. package/packages/core/dist/graph/GraphNode.js +41 -0
  123. package/packages/core/dist/graph/GraphNode.js.map +1 -0
  124. package/packages/core/dist/graph/GraphQuery.d.ts +46 -0
  125. package/packages/core/dist/graph/GraphQuery.d.ts.map +1 -0
  126. package/packages/core/dist/graph/GraphQuery.js +47 -0
  127. package/packages/core/dist/graph/GraphQuery.js.map +1 -0
  128. package/packages/core/dist/graph/KnowledgeGraph.d.ts +38 -0
  129. package/packages/core/dist/graph/KnowledgeGraph.d.ts.map +1 -0
  130. package/packages/core/dist/graph/KnowledgeGraph.js +345 -0
  131. package/packages/core/dist/graph/KnowledgeGraph.js.map +1 -0
  132. package/packages/core/dist/graph/SubGraph.d.ts +36 -0
  133. package/packages/core/dist/graph/SubGraph.d.ts.map +1 -0
  134. package/packages/core/dist/graph/SubGraph.js +86 -0
  135. package/packages/core/dist/graph/SubGraph.js.map +1 -0
  136. package/packages/core/dist/index.d.ts +54 -0
  137. package/packages/core/dist/index.d.ts.map +1 -0
  138. package/packages/core/dist/index.js +62 -0
  139. package/packages/core/dist/index.js.map +1 -0
  140. package/packages/core/dist/maintenance/CompactionOrchestrator.d.ts +22 -0
  141. package/packages/core/dist/maintenance/CompactionOrchestrator.d.ts.map +1 -0
  142. package/packages/core/dist/maintenance/CompactionOrchestrator.js +62 -0
  143. package/packages/core/dist/maintenance/CompactionOrchestrator.js.map +1 -0
  144. package/packages/core/dist/maintenance/EdgePruner.d.ts +20 -0
  145. package/packages/core/dist/maintenance/EdgePruner.d.ts.map +1 -0
  146. package/packages/core/dist/maintenance/EdgePruner.js +65 -0
  147. package/packages/core/dist/maintenance/EdgePruner.js.map +1 -0
  148. package/packages/core/dist/maintenance/GraphCheckpoint.d.ts +51 -0
  149. package/packages/core/dist/maintenance/GraphCheckpoint.d.ts.map +1 -0
  150. package/packages/core/dist/maintenance/GraphCheckpoint.js +81 -0
  151. package/packages/core/dist/maintenance/GraphCheckpoint.js.map +1 -0
  152. package/packages/core/dist/maintenance/GraphRollback.d.ts +36 -0
  153. package/packages/core/dist/maintenance/GraphRollback.d.ts.map +1 -0
  154. package/packages/core/dist/maintenance/GraphRollback.js +154 -0
  155. package/packages/core/dist/maintenance/GraphRollback.js.map +1 -0
  156. package/packages/core/dist/maintenance/NodeDeduplicator.d.ts +26 -0
  157. package/packages/core/dist/maintenance/NodeDeduplicator.d.ts.map +1 -0
  158. package/packages/core/dist/maintenance/NodeDeduplicator.js +171 -0
  159. package/packages/core/dist/maintenance/NodeDeduplicator.js.map +1 -0
  160. package/packages/core/dist/maintenance/SubgraphArchiver.d.ts +18 -0
  161. package/packages/core/dist/maintenance/SubgraphArchiver.d.ts.map +1 -0
  162. package/packages/core/dist/maintenance/SubgraphArchiver.js +180 -0
  163. package/packages/core/dist/maintenance/SubgraphArchiver.js.map +1 -0
  164. package/packages/core/dist/memory/ArchivalMemory.d.ts +28 -0
  165. package/packages/core/dist/memory/ArchivalMemory.d.ts.map +1 -0
  166. package/packages/core/dist/memory/ArchivalMemory.js +26 -0
  167. package/packages/core/dist/memory/ArchivalMemory.js.map +1 -0
  168. package/packages/core/dist/memory/BlinkingMemory.d.ts +34 -0
  169. package/packages/core/dist/memory/BlinkingMemory.d.ts.map +1 -0
  170. package/packages/core/dist/memory/BlinkingMemory.js +44 -0
  171. package/packages/core/dist/memory/BlinkingMemory.js.map +1 -0
  172. package/packages/core/dist/memory/WorkingMemory.d.ts +38 -0
  173. package/packages/core/dist/memory/WorkingMemory.d.ts.map +1 -0
  174. package/packages/core/dist/memory/WorkingMemory.js +70 -0
  175. package/packages/core/dist/memory/WorkingMemory.js.map +1 -0
  176. package/packages/core/dist/storage/ObjectStore.d.ts +24 -0
  177. package/packages/core/dist/storage/ObjectStore.d.ts.map +1 -0
  178. package/packages/core/dist/storage/ObjectStore.js +50 -0
  179. package/packages/core/dist/storage/ObjectStore.js.map +1 -0
  180. package/packages/core/dist/storage/TraceStore.d.ts +16 -0
  181. package/packages/core/dist/storage/TraceStore.d.ts.map +1 -0
  182. package/packages/core/dist/storage/TraceStore.js +19 -0
  183. package/packages/core/dist/storage/TraceStore.js.map +1 -0
  184. package/packages/core/dist/storage/WeightEventLog.d.ts +11 -0
  185. package/packages/core/dist/storage/WeightEventLog.d.ts.map +1 -0
  186. package/packages/core/dist/storage/WeightEventLog.js +16 -0
  187. package/packages/core/dist/storage/WeightEventLog.js.map +1 -0
  188. package/packages/core/dist/storage/adapters/SQLiteAdapter.d.ts +86 -0
  189. package/packages/core/dist/storage/adapters/SQLiteAdapter.d.ts.map +1 -0
  190. package/packages/core/dist/storage/adapters/SQLiteAdapter.js +514 -0
  191. package/packages/core/dist/storage/adapters/SQLiteAdapter.js.map +1 -0
  192. package/packages/core/dist/trace/DeferredTrace.d.ts +43 -0
  193. package/packages/core/dist/trace/DeferredTrace.d.ts.map +1 -0
  194. package/packages/core/dist/trace/DeferredTrace.js +44 -0
  195. package/packages/core/dist/trace/DeferredTrace.js.map +1 -0
  196. package/packages/core/dist/trace/OutcomeTrace.d.ts +38 -0
  197. package/packages/core/dist/trace/OutcomeTrace.d.ts.map +1 -0
  198. package/packages/core/dist/trace/OutcomeTrace.js +9 -0
  199. package/packages/core/dist/trace/OutcomeTrace.js.map +1 -0
  200. package/packages/core/dist/trace/SkillTraceDecorator.d.ts +25 -0
  201. package/packages/core/dist/trace/SkillTraceDecorator.d.ts.map +1 -0
  202. package/packages/core/dist/trace/SkillTraceDecorator.js +41 -0
  203. package/packages/core/dist/trace/SkillTraceDecorator.js.map +1 -0
  204. package/packages/core/dist/trace/TraceReplay.d.ts +25 -0
  205. package/packages/core/dist/trace/TraceReplay.d.ts.map +1 -0
  206. package/packages/core/dist/trace/TraceReplay.js +40 -0
  207. package/packages/core/dist/trace/TraceReplay.js.map +1 -0
  208. package/packages/core/dist/trace/TraversalLedger.d.ts +33 -0
  209. package/packages/core/dist/trace/TraversalLedger.d.ts.map +1 -0
  210. package/packages/core/dist/trace/TraversalLedger.js +61 -0
  211. package/packages/core/dist/trace/TraversalLedger.js.map +1 -0
  212. package/packages/core/dist/types/SelfImprovement.d.ts +174 -0
  213. package/packages/core/dist/types/SelfImprovement.d.ts.map +1 -0
  214. package/packages/core/dist/types/SelfImprovement.js +23 -0
  215. package/packages/core/dist/types/SelfImprovement.js.map +1 -0
  216. package/packages/core/dist/types/SkillDefinition.d.ts +68 -0
  217. package/packages/core/dist/types/SkillDefinition.d.ts.map +1 -0
  218. package/packages/core/dist/types/SkillDefinition.js +12 -0
  219. package/packages/core/dist/types/SkillDefinition.js.map +1 -0
  220. package/packages/daemon/dist/BackgroundWorkers.d.ts +55 -0
  221. package/packages/daemon/dist/BackgroundWorkers.d.ts.map +1 -0
  222. package/packages/daemon/dist/BackgroundWorkers.js +121 -0
  223. package/packages/daemon/dist/BackgroundWorkers.js.map +1 -0
  224. package/packages/daemon/dist/EntityScopedContext.d.ts +22 -0
  225. package/packages/daemon/dist/EntityScopedContext.d.ts.map +1 -0
  226. package/packages/daemon/dist/EntityScopedContext.js +85 -0
  227. package/packages/daemon/dist/EntityScopedContext.js.map +1 -0
  228. package/packages/daemon/dist/HTTPServer.d.ts +27 -0
  229. package/packages/daemon/dist/HTTPServer.d.ts.map +1 -0
  230. package/packages/daemon/dist/HTTPServer.js +62 -0
  231. package/packages/daemon/dist/HTTPServer.js.map +1 -0
  232. package/packages/daemon/dist/SessionManager.d.ts +95 -0
  233. package/packages/daemon/dist/SessionManager.d.ts.map +1 -0
  234. package/packages/daemon/dist/SessionManager.js +205 -0
  235. package/packages/daemon/dist/SessionManager.js.map +1 -0
  236. package/packages/daemon/dist/SkillRegistry.d.ts +34 -0
  237. package/packages/daemon/dist/SkillRegistry.d.ts.map +1 -0
  238. package/packages/daemon/dist/SkillRegistry.js +90 -0
  239. package/packages/daemon/dist/SkillRegistry.js.map +1 -0
  240. package/packages/daemon/dist/SkillVariableResolver.d.ts +24 -0
  241. package/packages/daemon/dist/SkillVariableResolver.d.ts.map +1 -0
  242. package/packages/daemon/dist/SkillVariableResolver.js +85 -0
  243. package/packages/daemon/dist/SkillVariableResolver.js.map +1 -0
  244. package/packages/daemon/dist/WebSocketEvents.d.ts +107 -0
  245. package/packages/daemon/dist/WebSocketEvents.d.ts.map +1 -0
  246. package/packages/daemon/dist/WebSocketEvents.js +111 -0
  247. package/packages/daemon/dist/WebSocketEvents.js.map +1 -0
  248. package/packages/daemon/dist/ZeroAgentDaemon.d.ts +39 -0
  249. package/packages/daemon/dist/ZeroAgentDaemon.d.ts.map +1 -0
  250. package/packages/daemon/dist/ZeroAgentDaemon.js +161 -0
  251. package/packages/daemon/dist/ZeroAgentDaemon.js.map +1 -0
  252. package/packages/daemon/dist/config/ConfigSchema.d.ts +631 -0
  253. package/packages/daemon/dist/config/ConfigSchema.d.ts.map +1 -0
  254. package/packages/daemon/dist/config/ConfigSchema.js +107 -0
  255. package/packages/daemon/dist/config/ConfigSchema.js.map +1 -0
  256. package/packages/daemon/dist/config/DaemonConfig.d.ts +10 -0
  257. package/packages/daemon/dist/config/DaemonConfig.d.ts.map +1 -0
  258. package/packages/daemon/dist/config/DaemonConfig.js +34 -0
  259. package/packages/daemon/dist/config/DaemonConfig.js.map +1 -0
  260. package/packages/daemon/dist/index.d.ts +10 -0
  261. package/packages/daemon/dist/index.d.ts.map +1 -0
  262. package/packages/daemon/dist/index.js +8 -0
  263. package/packages/daemon/dist/index.js.map +1 -0
  264. package/packages/daemon/dist/routes/entities.d.ts +6 -0
  265. package/packages/daemon/dist/routes/entities.d.ts.map +1 -0
  266. package/packages/daemon/dist/routes/entities.js +54 -0
  267. package/packages/daemon/dist/routes/entities.js.map +1 -0
  268. package/packages/daemon/dist/routes/graph.d.ts +6 -0
  269. package/packages/daemon/dist/routes/graph.d.ts.map +1 -0
  270. package/packages/daemon/dist/routes/graph.js +61 -0
  271. package/packages/daemon/dist/routes/graph.js.map +1 -0
  272. package/packages/daemon/dist/routes/health.d.ts +15 -0
  273. package/packages/daemon/dist/routes/health.d.ts.map +1 -0
  274. package/packages/daemon/dist/routes/health.js +11 -0
  275. package/packages/daemon/dist/routes/health.js.map +1 -0
  276. package/packages/daemon/dist/routes/sessions.d.ts +6 -0
  277. package/packages/daemon/dist/routes/sessions.d.ts.map +1 -0
  278. package/packages/daemon/dist/routes/sessions.js +43 -0
  279. package/packages/daemon/dist/routes/sessions.js.map +1 -0
  280. package/packages/daemon/dist/routes/skills.d.ts +6 -0
  281. package/packages/daemon/dist/routes/skills.d.ts.map +1 -0
  282. package/packages/daemon/dist/routes/skills.js +62 -0
  283. package/packages/daemon/dist/routes/skills.js.map +1 -0
  284. package/packages/daemon/dist/routes/subagents.d.ts +3 -0
  285. package/packages/daemon/dist/routes/subagents.d.ts.map +1 -0
  286. package/packages/daemon/dist/routes/subagents.js +14 -0
  287. package/packages/daemon/dist/routes/subagents.js.map +1 -0
  288. package/packages/daemon/dist/routes/traces.d.ts +6 -0
  289. package/packages/daemon/dist/routes/traces.d.ts.map +1 -0
  290. package/packages/daemon/dist/routes/traces.js +31 -0
  291. package/packages/daemon/dist/routes/traces.js.map +1 -0
  292. package/packages/daemon/dist/start.d.ts +7 -0
  293. package/packages/daemon/dist/start.d.ts.map +1 -0
  294. package/packages/daemon/dist/start.js +24 -0
  295. package/packages/daemon/dist/start.js.map +1 -0
  296. package/packages/mcp-hub/dist/FilteredProxy.d.ts +20 -0
  297. package/packages/mcp-hub/dist/FilteredProxy.d.ts.map +1 -0
  298. package/packages/mcp-hub/dist/FilteredProxy.js +43 -0
  299. package/packages/mcp-hub/dist/FilteredProxy.js.map +1 -0
  300. package/packages/mcp-hub/dist/MCPDiscovery.d.ts +18 -0
  301. package/packages/mcp-hub/dist/MCPDiscovery.d.ts.map +1 -0
  302. package/packages/mcp-hub/dist/MCPDiscovery.js +86 -0
  303. package/packages/mcp-hub/dist/MCPDiscovery.js.map +1 -0
  304. package/packages/mcp-hub/dist/MCPHub.d.ts +48 -0
  305. package/packages/mcp-hub/dist/MCPHub.d.ts.map +1 -0
  306. package/packages/mcp-hub/dist/MCPHub.js +100 -0
  307. package/packages/mcp-hub/dist/MCPHub.js.map +1 -0
  308. package/packages/mcp-hub/dist/builtin/BrowserMCP.d.ts +6 -0
  309. package/packages/mcp-hub/dist/builtin/BrowserMCP.d.ts.map +1 -0
  310. package/packages/mcp-hub/dist/builtin/BrowserMCP.js +69 -0
  311. package/packages/mcp-hub/dist/builtin/BrowserMCP.js.map +1 -0
  312. package/packages/mcp-hub/dist/builtin/FilesystemMCP.d.ts +11 -0
  313. package/packages/mcp-hub/dist/builtin/FilesystemMCP.d.ts.map +1 -0
  314. package/packages/mcp-hub/dist/builtin/FilesystemMCP.js +104 -0
  315. package/packages/mcp-hub/dist/builtin/FilesystemMCP.js.map +1 -0
  316. package/packages/mcp-hub/dist/builtin/MemoryMCP.d.ts +9 -0
  317. package/packages/mcp-hub/dist/builtin/MemoryMCP.d.ts.map +1 -0
  318. package/packages/mcp-hub/dist/builtin/MemoryMCP.js +185 -0
  319. package/packages/mcp-hub/dist/builtin/MemoryMCP.js.map +1 -0
  320. package/packages/mcp-hub/dist/builtin/ShellMCP.d.ts +8 -0
  321. package/packages/mcp-hub/dist/builtin/ShellMCP.d.ts.map +1 -0
  322. package/packages/mcp-hub/dist/builtin/ShellMCP.js +74 -0
  323. package/packages/mcp-hub/dist/builtin/ShellMCP.js.map +1 -0
  324. package/packages/mcp-hub/dist/index.d.ts +9 -0
  325. package/packages/mcp-hub/dist/index.d.ts.map +1 -0
  326. package/packages/mcp-hub/dist/index.js +8 -0
  327. package/packages/mcp-hub/dist/index.js.map +1 -0
  328. package/packages/mcp-hub/dist/types.d.ts +30 -0
  329. package/packages/mcp-hub/dist/types.d.ts.map +1 -0
  330. package/packages/mcp-hub/dist/types.js +2 -0
  331. package/packages/mcp-hub/dist/types.js.map +1 -0
  332. package/packages/subagent/dist/CapabilityToken.d.ts +66 -0
  333. package/packages/subagent/dist/CapabilityToken.d.ts.map +1 -0
  334. package/packages/subagent/dist/CapabilityToken.js +120 -0
  335. package/packages/subagent/dist/CapabilityToken.js.map +1 -0
  336. package/packages/subagent/dist/ResourceDefaults.d.ts +16 -0
  337. package/packages/subagent/dist/ResourceDefaults.d.ts.map +1 -0
  338. package/packages/subagent/dist/ResourceDefaults.js +68 -0
  339. package/packages/subagent/dist/ResourceDefaults.js.map +1 -0
  340. package/packages/subagent/dist/SkillInputResolver.d.ts +30 -0
  341. package/packages/subagent/dist/SkillInputResolver.d.ts.map +1 -0
  342. package/packages/subagent/dist/SkillInputResolver.js +59 -0
  343. package/packages/subagent/dist/SkillInputResolver.js.map +1 -0
  344. package/packages/subagent/dist/SkillInvoker.d.ts +33 -0
  345. package/packages/subagent/dist/SkillInvoker.d.ts.map +1 -0
  346. package/packages/subagent/dist/SkillInvoker.js +69 -0
  347. package/packages/subagent/dist/SkillInvoker.js.map +1 -0
  348. package/packages/subagent/dist/SubagentOrchestrator.d.ts +52 -0
  349. package/packages/subagent/dist/SubagentOrchestrator.d.ts.map +1 -0
  350. package/packages/subagent/dist/SubagentOrchestrator.js +198 -0
  351. package/packages/subagent/dist/SubagentOrchestrator.js.map +1 -0
  352. package/packages/subagent/dist/SubagentResult.d.ts +34 -0
  353. package/packages/subagent/dist/SubagentResult.d.ts.map +1 -0
  354. package/packages/subagent/dist/SubagentResult.js +21 -0
  355. package/packages/subagent/dist/SubagentResult.js.map +1 -0
  356. package/packages/subagent/dist/Watchdog.d.ts +23 -0
  357. package/packages/subagent/dist/Watchdog.d.ts.map +1 -0
  358. package/packages/subagent/dist/Watchdog.js +44 -0
  359. package/packages/subagent/dist/Watchdog.js.map +1 -0
  360. package/packages/subagent/dist/index.d.ts +15 -0
  361. package/packages/subagent/dist/index.d.ts.map +1 -0
  362. package/packages/subagent/dist/index.js +23 -0
  363. package/packages/subagent/dist/index.js.map +1 -0
  364. package/packages/subagent/dist/sandbox/BwrapBackend.d.ts +14 -0
  365. package/packages/subagent/dist/sandbox/BwrapBackend.d.ts.map +1 -0
  366. package/packages/subagent/dist/sandbox/BwrapBackend.js +171 -0
  367. package/packages/subagent/dist/sandbox/BwrapBackend.js.map +1 -0
  368. package/packages/subagent/dist/sandbox/CloudBackend.d.ts +28 -0
  369. package/packages/subagent/dist/sandbox/CloudBackend.d.ts.map +1 -0
  370. package/packages/subagent/dist/sandbox/CloudBackend.js +52 -0
  371. package/packages/subagent/dist/sandbox/CloudBackend.js.map +1 -0
  372. package/packages/subagent/dist/sandbox/DockerBackend.d.ts +14 -0
  373. package/packages/subagent/dist/sandbox/DockerBackend.d.ts.map +1 -0
  374. package/packages/subagent/dist/sandbox/DockerBackend.js +149 -0
  375. package/packages/subagent/dist/sandbox/DockerBackend.js.map +1 -0
  376. package/packages/subagent/dist/sandbox/FirecrackerBackend.d.ts +17 -0
  377. package/packages/subagent/dist/sandbox/FirecrackerBackend.d.ts.map +1 -0
  378. package/packages/subagent/dist/sandbox/FirecrackerBackend.js +54 -0
  379. package/packages/subagent/dist/sandbox/FirecrackerBackend.js.map +1 -0
  380. package/packages/subagent/dist/sandbox/PodmanBackend.d.ts +13 -0
  381. package/packages/subagent/dist/sandbox/PodmanBackend.d.ts.map +1 -0
  382. package/packages/subagent/dist/sandbox/PodmanBackend.js +144 -0
  383. package/packages/subagent/dist/sandbox/PodmanBackend.js.map +1 -0
  384. package/packages/subagent/dist/sandbox/ProcessBackend.d.ts +16 -0
  385. package/packages/subagent/dist/sandbox/ProcessBackend.d.ts.map +1 -0
  386. package/packages/subagent/dist/sandbox/ProcessBackend.js +152 -0
  387. package/packages/subagent/dist/sandbox/ProcessBackend.js.map +1 -0
  388. package/packages/subagent/dist/sandbox/SandboxManager.d.ts +17 -0
  389. package/packages/subagent/dist/sandbox/SandboxManager.d.ts.map +1 -0
  390. package/packages/subagent/dist/sandbox/SandboxManager.js +45 -0
  391. package/packages/subagent/dist/sandbox/SandboxManager.js.map +1 -0
  392. package/packages/subagent/dist/sandbox/types.d.ts +35 -0
  393. package/packages/subagent/dist/sandbox/types.d.ts.map +1 -0
  394. package/packages/subagent/dist/sandbox/types.js +5 -0
  395. package/packages/subagent/dist/sandbox/types.js.map +1 -0
  396. package/packages/subagent-runtime/dist/AgentLoop.d.ts +46 -0
  397. package/packages/subagent-runtime/dist/AgentLoop.d.ts.map +1 -0
  398. package/packages/subagent-runtime/dist/AgentLoop.js +85 -0
  399. package/packages/subagent-runtime/dist/AgentLoop.js.map +1 -0
  400. package/packages/subagent-runtime/dist/MCPProxy.d.ts +24 -0
  401. package/packages/subagent-runtime/dist/MCPProxy.d.ts.map +1 -0
  402. package/packages/subagent-runtime/dist/MCPProxy.js +31 -0
  403. package/packages/subagent-runtime/dist/MCPProxy.js.map +1 -0
  404. package/packages/subagent-runtime/dist/OutputChannel.d.ts +10 -0
  405. package/packages/subagent-runtime/dist/OutputChannel.d.ts.map +1 -0
  406. package/packages/subagent-runtime/dist/OutputChannel.js +14 -0
  407. package/packages/subagent-runtime/dist/OutputChannel.js.map +1 -0
  408. package/packages/subagent-runtime/dist/ResourceTracker.d.ts +29 -0
  409. package/packages/subagent-runtime/dist/ResourceTracker.d.ts.map +1 -0
  410. package/packages/subagent-runtime/dist/ResourceTracker.js +46 -0
  411. package/packages/subagent-runtime/dist/ResourceTracker.js.map +1 -0
  412. package/packages/subagent-runtime/dist/TokenValidator.d.ts +17 -0
  413. package/packages/subagent-runtime/dist/TokenValidator.d.ts.map +1 -0
  414. package/packages/subagent-runtime/dist/TokenValidator.js +29 -0
  415. package/packages/subagent-runtime/dist/TokenValidator.js.map +1 -0
  416. package/packages/subagent-runtime/dist/index.d.ts +6 -0
  417. package/packages/subagent-runtime/dist/index.d.ts.map +1 -0
  418. package/packages/subagent-runtime/dist/index.js +11 -0
  419. package/packages/subagent-runtime/dist/index.js.map +1 -0
  420. package/packages/subagent-runtime/dist/main.d.ts +2 -0
  421. package/packages/subagent-runtime/dist/main.d.ts.map +1 -0
  422. package/packages/subagent-runtime/dist/main.js +102 -0
  423. package/packages/subagent-runtime/dist/main.js.map +1 -0
  424. package/seeds/b2b-outbound/package.json +6 -0
  425. package/seeds/research/package.json +6 -0
  426. package/seeds/software-engineering/install.ts +78 -0
  427. package/seeds/software-engineering/package.json +6 -0
  428. package/seeds/software-engineering/sprint-workflow.json +102 -0
  429. package/skills/build.yaml +97 -0
  430. package/skills/debug.yaml +117 -0
  431. package/skills/design-review.yaml +119 -0
  432. package/skills/doc.yaml +107 -0
  433. package/skills/office-hours.yaml +76 -0
  434. package/skills/plan-ceo-review.yaml +84 -0
  435. package/skills/plan-eng-review.yaml +96 -0
  436. package/skills/qa.yaml +116 -0
  437. package/skills/refactor.yaml +125 -0
  438. package/skills/research.yaml +108 -0
  439. package/skills/retro.yaml +106 -0
  440. package/skills/review.yaml +101 -0
  441. package/skills/security-audit.yaml +114 -0
  442. package/skills/ship.yaml +108 -0
  443. 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":"AAaA,MAAM,OAAO,eAAe;IAClB,MAAM,CAAkB;IACxB,GAAG,CAAe,CAAE,6BAA6B;IAEzD,YAAY,MAAiC,EAAE,GAAkB;QAC/D,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI;YAChC,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,GAAG;SACxC,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAuB;QAC5B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/E,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAExB,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,0BAA0B;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACvD,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACnF,CAAC;QAED,+BAA+B;QAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,UAAuB;QAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAE,uCAAuC;QAC3F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAExC,4BAA4B;QAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACX,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC7D,CAAC;IAED,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF"}
@@ -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"}