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,41 @@
1
+ export var NodeType;
2
+ (function (NodeType) {
3
+ NodeType["ENTITY"] = "entity";
4
+ NodeType["CONTEXT"] = "context";
5
+ NodeType["STRATEGY"] = "strategy";
6
+ NodeType["PLAN"] = "plan";
7
+ NodeType["STEP"] = "step";
8
+ NodeType["OUTCOME"] = "outcome";
9
+ NodeType["SIGNAL"] = "signal";
10
+ NodeType["TOOL"] = "tool";
11
+ NodeType["CONSTRAINT"] = "constraint";
12
+ NodeType["HYPOTHESIS"] = "hypothesis";
13
+ })(NodeType || (NodeType = {}));
14
+ export var ContentType;
15
+ (function (ContentType) {
16
+ ContentType["TEXT"] = "text";
17
+ ContentType["IMAGE"] = "image";
18
+ ContentType["CODE"] = "code";
19
+ ContentType["STRUCTURED"] = "structured";
20
+ ContentType["AUDIO"] = "audio";
21
+ })(ContentType || (ContentType = {}));
22
+ /** Factory function to create a new node with sensible defaults. */
23
+ export function createNode(params) {
24
+ const now = Date.now();
25
+ return {
26
+ id: params.id,
27
+ graph_id: params.graph_id,
28
+ label: params.label,
29
+ type: params.type,
30
+ created_at: now,
31
+ last_seen: now,
32
+ visit_count: 1,
33
+ metadata: params.metadata ?? {},
34
+ subgraph_id: params.subgraph_id ?? null,
35
+ embedding: null,
36
+ embedding_model: null,
37
+ embedding_at: null,
38
+ content: params.content ?? [],
39
+ };
40
+ }
41
+ //# sourceMappingURL=GraphNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphNode.js","sourceRoot":"","sources":["../../src/graph/GraphNode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAWX;AAXD,WAAY,QAAQ;IAClB,6BAAuB,CAAA;IACvB,+BAAwB,CAAA;IACxB,iCAAyB,CAAA;IACzB,yBAAqB,CAAA;IACrB,yBAAqB,CAAA;IACrB,+BAAwB,CAAA;IACxB,6BAAuB,CAAA;IACvB,yBAAqB,CAAA;IACrB,qCAA2B,CAAA;IAC3B,qCAA2B,CAAA;AAC7B,CAAC,EAXW,QAAQ,KAAR,QAAQ,QAWnB;AAED,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,4BAAmB,CAAA;IACnB,8BAAoB,CAAA;IACpB,4BAAmB,CAAA;IACnB,wCAAyB,CAAA;IACzB,8BAAoB,CAAA;AACtB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AA0BD,oEAAoE;AACpE,MAAM,UAAU,UAAU,CAAC,MAQ1B;IACC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,GAAG;QACd,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;QAC/B,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;QACvC,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;KAC9B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { EdgeType } from './GraphEdge.js';
2
+ import { NodeType, GraphNode } from './GraphNode.js';
3
+ export interface StructuralQueryOpts {
4
+ graph_id?: string;
5
+ from_node?: string;
6
+ to_node?: string;
7
+ edge_type?: EdgeType;
8
+ node_type?: NodeType;
9
+ min_weight?: number;
10
+ max_weight?: number;
11
+ limit?: number;
12
+ order_by?: 'weight_desc' | 'weight_asc' | 'created_at_desc' | 'traversal_count_desc';
13
+ }
14
+ export interface SemanticQueryOpts {
15
+ embedding: Float32Array;
16
+ node_types?: NodeType[];
17
+ limit?: number;
18
+ min_similarity?: number;
19
+ }
20
+ export interface MergedQueryOpts {
21
+ structural: StructuralQueryOpts;
22
+ semantic?: SemanticQueryOpts;
23
+ semantic_weight?: number;
24
+ structural_weight?: number;
25
+ limit?: number;
26
+ }
27
+ export interface QueryResult {
28
+ node: GraphNode;
29
+ score: number;
30
+ source: 'structural' | 'semantic' | 'merged';
31
+ }
32
+ /**
33
+ * GraphQuery is a builder that holds query options.
34
+ * Actual execution happens in KnowledgeGraph.
35
+ */
36
+ export declare class GraphQuery {
37
+ private opts;
38
+ private constructor();
39
+ static structural(opts: StructuralQueryOpts): GraphQuery;
40
+ static semantic(opts: SemanticQueryOpts): GraphQuery;
41
+ static merged(opts: MergedQueryOpts): GraphQuery;
42
+ getStructuralOpts(): StructuralQueryOpts | undefined;
43
+ getSemanticOpts(): SemanticQueryOpts | undefined;
44
+ getMergedOpts(): MergedQueryOpts;
45
+ }
46
+ //# sourceMappingURL=GraphQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphQuery.d.ts","sourceRoot":"","sources":["../../src/graph/GraphQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,iBAAiB,GAAG,sBAAsB,CAAC;CACtF;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,YAAY,CAAC;IACxB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;CAC9C;AAED;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAkB;IAE9B,OAAO;IAIP,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAmB,GAAG,UAAU;IAQxD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU;IAUpD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,UAAU;IAQhD,iBAAiB,IAAI,mBAAmB,GAAG,SAAS;IAQpD,eAAe,IAAI,iBAAiB,GAAG,SAAS;IAIhD,aAAa,IAAI,eAAe;CAGjC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * GraphQuery is a builder that holds query options.
3
+ * Actual execution happens in KnowledgeGraph.
4
+ */
5
+ export class GraphQuery {
6
+ opts;
7
+ constructor(opts) {
8
+ this.opts = opts;
9
+ }
10
+ static structural(opts) {
11
+ return new GraphQuery({
12
+ structural: opts,
13
+ structural_weight: 1.0,
14
+ semantic_weight: 0.0,
15
+ });
16
+ }
17
+ static semantic(opts) {
18
+ return new GraphQuery({
19
+ structural: {},
20
+ semantic: opts,
21
+ structural_weight: 0.0,
22
+ semantic_weight: 1.0,
23
+ limit: opts.limit,
24
+ });
25
+ }
26
+ static merged(opts) {
27
+ return new GraphQuery({
28
+ ...opts,
29
+ structural_weight: opts.structural_weight ?? 0.6,
30
+ semantic_weight: opts.semantic_weight ?? 0.4,
31
+ });
32
+ }
33
+ getStructuralOpts() {
34
+ const w = this.opts.structural_weight ?? 0.6;
35
+ if (w === 0 && !this.opts.structural.from_node && !this.opts.structural.to_node) {
36
+ return undefined;
37
+ }
38
+ return this.opts.structural;
39
+ }
40
+ getSemanticOpts() {
41
+ return this.opts.semantic;
42
+ }
43
+ getMergedOpts() {
44
+ return this.opts;
45
+ }
46
+ }
47
+ //# sourceMappingURL=GraphQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphQuery.js","sourceRoot":"","sources":["../../src/graph/GraphQuery.ts"],"names":[],"mappings":"AAoCA;;;GAGG;AACH,MAAM,OAAO,UAAU;IACb,IAAI,CAAkB;IAE9B,YAAoB,IAAqB;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,IAAyB;QACzC,OAAO,IAAI,UAAU,CAAC;YACpB,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,GAAG;YACtB,eAAe,EAAE,GAAG;SACrB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAuB;QACrC,OAAO,IAAI,UAAU,CAAC;YACpB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,GAAG;YACtB,eAAe,EAAE,GAAG;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAqB;QACjC,OAAO,IAAI,UAAU,CAAC;YACpB,GAAG,IAAI;YACP,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,GAAG;YAChD,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,GAAG;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,GAAG,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAChF,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAC9B,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,38 @@
1
+ import { SQLiteAdapter } from '../storage/adapters/SQLiteAdapter.js';
2
+ import { GraphNode, NodeContent } from './GraphNode.js';
3
+ import { GraphEdge } from './GraphEdge.js';
4
+ import { SubGraph } from './SubGraph.js';
5
+ import { GraphQuery, QueryResult, StructuralQueryOpts, SemanticQueryOpts, MergedQueryOpts } from './GraphQuery.js';
6
+ export declare class KnowledgeGraph {
7
+ private adapter;
8
+ private hnswIndex;
9
+ constructor(adapter: SQLiteAdapter, hnswIndex?: any);
10
+ addNode(node: GraphNode): void;
11
+ getNode(id: string): GraphNode | null;
12
+ updateNode(id: string, updates: Partial<Pick<GraphNode, 'label' | 'metadata' | 'embedding' | 'embedding_model' | 'embedding_at'>>): void;
13
+ touchNode(id: string): void;
14
+ deleteNode(id: string): void;
15
+ addContent(nodeId: string, content: NodeContent): void;
16
+ getContent(nodeId: string): NodeContent[];
17
+ addEdge(edge: GraphEdge): void;
18
+ getEdge(id: string): GraphEdge | null;
19
+ deleteEdge(id: string): void;
20
+ getEdgesFrom(nodeId: string): GraphEdge[];
21
+ getEdgesTo(nodeId: string): GraphEdge[];
22
+ getEdgesByNode(nodeId: string, direction: 'from' | 'to' | 'both'): GraphEdge[];
23
+ getEdgesBetween(fromId: string, toId: string): GraphEdge[];
24
+ getAllEdges(graphId?: string): GraphEdge[];
25
+ /**
26
+ * BFS from entity node, loading nodes + edges up to `depth` hops.
27
+ */
28
+ getSubGraph(entityId: string, depth?: number): SubGraph;
29
+ queryStructural(opts: StructuralQueryOpts): QueryResult[];
30
+ querySemantic(opts: SemanticQueryOpts): QueryResult[];
31
+ queryMerged(opts: MergedQueryOpts): QueryResult[];
32
+ query(q: GraphQuery): QueryResult[];
33
+ nodeCount(graphId?: string): number;
34
+ edgeCount(graphId?: string): number;
35
+ close(): void;
36
+ private sortResults;
37
+ }
38
+ //# sourceMappingURL=KnowledgeGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KnowledgeGraph.d.ts","sourceRoot":"","sources":["../../src/graph/KnowledgeGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAY,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAY,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,SAAS,CAAa;gBAElB,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,GAAG;IAOnD,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAO9B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIrC,UAAU,CACR,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,iBAAiB,GAAG,cAAc,CAAC,CAAC,GACzG,IAAI;IA+BP,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI3B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAa5B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAQtD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE;IAMzC,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAI9B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIrC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;IAIzC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;IAIvC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,EAAE;IAI9E,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE;IAK1D,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE;IAM1C;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,QAAQ;IA4C1D,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,EAAE;IA2FzD,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW,EAAE;IAwCrD,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,EAAE;IAsDjD,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,WAAW,EAAE;IAqBnC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAInC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAMnC,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,WAAW;CAmBpB"}
@@ -0,0 +1,345 @@
1
+ import { SubGraph } from './SubGraph.js';
2
+ export class KnowledgeGraph {
3
+ adapter;
4
+ // HNSWIndex is optional — semantic queries return empty if not set
5
+ hnswIndex;
6
+ constructor(adapter, hnswIndex) {
7
+ this.adapter = adapter;
8
+ this.hnswIndex = hnswIndex ?? null;
9
+ }
10
+ // ─── Node CRUD ────────────────────────────
11
+ addNode(node) {
12
+ this.adapter.insertNode(node);
13
+ if (node.embedding && this.hnswIndex) {
14
+ this.hnswIndex.add(node.id, node.embedding);
15
+ }
16
+ }
17
+ getNode(id) {
18
+ return this.adapter.getNode(id);
19
+ }
20
+ updateNode(id, updates) {
21
+ const existing = this.adapter.getNode(id);
22
+ if (!existing) {
23
+ throw new Error(`Node not found: ${id}`);
24
+ }
25
+ // Build updated node for re-insertion of changed fields
26
+ if (updates.label !== undefined) {
27
+ existing.label = updates.label;
28
+ }
29
+ if (updates.metadata !== undefined) {
30
+ existing.metadata = updates.metadata;
31
+ }
32
+ if (updates.embedding !== undefined) {
33
+ existing.embedding = updates.embedding;
34
+ if (updates.embedding && this.hnswIndex) {
35
+ this.hnswIndex.add(id, updates.embedding);
36
+ }
37
+ }
38
+ if (updates.embedding_model !== undefined) {
39
+ existing.embedding_model = updates.embedding_model;
40
+ }
41
+ if (updates.embedding_at !== undefined) {
42
+ existing.embedding_at = updates.embedding_at;
43
+ }
44
+ // Delete and re-insert to update all fields
45
+ this.adapter.deleteNode(id);
46
+ this.adapter.insertNode(existing);
47
+ }
48
+ touchNode(id) {
49
+ this.adapter.updateNodeLastSeen(id, Date.now());
50
+ }
51
+ deleteNode(id) {
52
+ this.adapter.deleteNode(id);
53
+ if (this.hnswIndex) {
54
+ try {
55
+ this.hnswIndex.remove(id);
56
+ }
57
+ catch {
58
+ // Ignore if not in index
59
+ }
60
+ }
61
+ }
62
+ // ─── Node Content ─────────────────────────
63
+ addContent(nodeId, content) {
64
+ const node = this.adapter.getNode(nodeId);
65
+ if (!node) {
66
+ throw new Error(`Node not found: ${nodeId}`);
67
+ }
68
+ this.adapter.insertNodeContent(content);
69
+ }
70
+ getContent(nodeId) {
71
+ return this.adapter.getNodeContent(nodeId);
72
+ }
73
+ // ─── Edge CRUD ────────────────────────────
74
+ addEdge(edge) {
75
+ this.adapter.insertEdge(edge);
76
+ }
77
+ getEdge(id) {
78
+ return this.adapter.getEdge(id);
79
+ }
80
+ deleteEdge(id) {
81
+ this.adapter.deleteEdge(id);
82
+ }
83
+ getEdgesFrom(nodeId) {
84
+ return this.adapter.getEdgesByNode(nodeId, 'from');
85
+ }
86
+ getEdgesTo(nodeId) {
87
+ return this.adapter.getEdgesByNode(nodeId, 'to');
88
+ }
89
+ getEdgesByNode(nodeId, direction) {
90
+ return this.adapter.getEdgesByNode(nodeId, direction);
91
+ }
92
+ getEdgesBetween(fromId, toId) {
93
+ const edges = this.adapter.getEdgesByNode(fromId, 'from');
94
+ return edges.filter((e) => e.to_node === toId);
95
+ }
96
+ getAllEdges(graphId) {
97
+ return this.adapter.getAllEdges(graphId);
98
+ }
99
+ // ─── Subgraph ─────────────────────────────
100
+ /**
101
+ * BFS from entity node, loading nodes + edges up to `depth` hops.
102
+ */
103
+ getSubGraph(entityId, depth = 2) {
104
+ const rootNode = this.adapter.getNode(entityId);
105
+ if (!rootNode) {
106
+ throw new Error(`Entity node not found: ${entityId}`);
107
+ }
108
+ const subgraph = new SubGraph(entityId, entityId);
109
+ subgraph.addNode(rootNode);
110
+ let frontier = new Set([entityId]);
111
+ const visited = new Set([entityId]);
112
+ for (let d = 0; d < depth; d++) {
113
+ const nextFrontier = new Set();
114
+ for (const nodeId of frontier) {
115
+ const outEdges = this.adapter.getEdgesByNode(nodeId, 'both');
116
+ for (const edge of outEdges) {
117
+ subgraph.addEdge(edge);
118
+ // Determine the neighbor node
119
+ const neighborId = edge.from_node === nodeId ? edge.to_node : edge.from_node;
120
+ if (!visited.has(neighborId)) {
121
+ visited.add(neighborId);
122
+ const neighborNode = this.adapter.getNode(neighborId);
123
+ if (neighborNode) {
124
+ subgraph.addNode(neighborNode);
125
+ nextFrontier.add(neighborId);
126
+ }
127
+ }
128
+ }
129
+ }
130
+ frontier = nextFrontier;
131
+ if (frontier.size === 0)
132
+ break;
133
+ }
134
+ return subgraph;
135
+ }
136
+ // ─── Query ────────────────────────────────
137
+ queryStructural(opts) {
138
+ const results = [];
139
+ const limit = opts.limit ?? 50;
140
+ if (opts.from_node) {
141
+ // Get edges from the specified node
142
+ let edges = this.adapter.getEdgesByNode(opts.from_node, 'from');
143
+ // Filter by edge type
144
+ if (opts.edge_type) {
145
+ edges = edges.filter((e) => e.type === opts.edge_type);
146
+ }
147
+ // Filter by weight range
148
+ if (opts.min_weight !== undefined) {
149
+ edges = edges.filter((e) => e.weight >= opts.min_weight);
150
+ }
151
+ if (opts.max_weight !== undefined) {
152
+ edges = edges.filter((e) => e.weight <= opts.max_weight);
153
+ }
154
+ // Filter by graph_id
155
+ if (opts.graph_id) {
156
+ edges = edges.filter((e) => e.graph_id === opts.graph_id);
157
+ }
158
+ // Resolve target nodes
159
+ for (const edge of edges) {
160
+ const targetNode = this.adapter.getNode(edge.to_node);
161
+ if (!targetNode)
162
+ continue;
163
+ // Filter by node type
164
+ if (opts.node_type && targetNode.type !== opts.node_type)
165
+ continue;
166
+ results.push({
167
+ node: targetNode,
168
+ score: edge.weight,
169
+ source: 'structural',
170
+ });
171
+ }
172
+ }
173
+ else if (opts.to_node) {
174
+ // Get edges to the specified node
175
+ let edges = this.adapter.getEdgesByNode(opts.to_node, 'to');
176
+ if (opts.edge_type) {
177
+ edges = edges.filter((e) => e.type === opts.edge_type);
178
+ }
179
+ if (opts.min_weight !== undefined) {
180
+ edges = edges.filter((e) => e.weight >= opts.min_weight);
181
+ }
182
+ if (opts.max_weight !== undefined) {
183
+ edges = edges.filter((e) => e.weight <= opts.max_weight);
184
+ }
185
+ if (opts.graph_id) {
186
+ edges = edges.filter((e) => e.graph_id === opts.graph_id);
187
+ }
188
+ for (const edge of edges) {
189
+ const sourceNode = this.adapter.getNode(edge.from_node);
190
+ if (!sourceNode)
191
+ continue;
192
+ if (opts.node_type && sourceNode.type !== opts.node_type)
193
+ continue;
194
+ results.push({
195
+ node: sourceNode,
196
+ score: edge.weight,
197
+ source: 'structural',
198
+ });
199
+ }
200
+ }
201
+ else if (opts.graph_id || opts.node_type) {
202
+ // Query nodes directly by graph_id and/or type
203
+ const nodes = this.adapter.queryNodes({
204
+ graph_id: opts.graph_id,
205
+ type: opts.node_type,
206
+ limit,
207
+ });
208
+ for (const node of nodes) {
209
+ results.push({
210
+ node,
211
+ score: 1.0, // No edge weight context, default to 1.0
212
+ source: 'structural',
213
+ });
214
+ }
215
+ }
216
+ // Sort results
217
+ this.sortResults(results, opts.order_by ?? 'weight_desc');
218
+ return results.slice(0, limit);
219
+ }
220
+ querySemantic(opts) {
221
+ if (!this.hnswIndex) {
222
+ return [];
223
+ }
224
+ const limit = opts.limit ?? 20;
225
+ const minSimilarity = opts.min_similarity ?? 0.0;
226
+ let searchResults;
227
+ try {
228
+ searchResults = this.hnswIndex.search(opts.embedding, limit * 2); // oversample for filtering
229
+ }
230
+ catch {
231
+ return [];
232
+ }
233
+ const results = [];
234
+ for (const hit of searchResults) {
235
+ if (hit.similarity < minSimilarity)
236
+ continue;
237
+ const node = this.adapter.getNode(hit.id);
238
+ if (!node)
239
+ continue;
240
+ // Filter by node types if specified
241
+ if (opts.node_types && opts.node_types.length > 0) {
242
+ if (!opts.node_types.includes(node.type))
243
+ continue;
244
+ }
245
+ results.push({
246
+ node,
247
+ score: hit.similarity,
248
+ source: 'semantic',
249
+ });
250
+ if (results.length >= limit)
251
+ break;
252
+ }
253
+ return results;
254
+ }
255
+ queryMerged(opts) {
256
+ const structuralWeight = opts.structural_weight ?? 0.6;
257
+ const semanticWeight = opts.semantic_weight ?? 0.4;
258
+ const limit = opts.limit ?? 50;
259
+ // Run structural query
260
+ const structuralResults = this.queryStructural(opts.structural);
261
+ // Run semantic query if provided
262
+ const semanticResults = opts.semantic
263
+ ? this.querySemantic(opts.semantic)
264
+ : [];
265
+ // Build score maps keyed by node id
266
+ const scoreMap = new Map();
267
+ for (const r of structuralResults) {
268
+ scoreMap.set(r.node.id, {
269
+ node: r.node,
270
+ structScore: r.score,
271
+ semScore: 0,
272
+ });
273
+ }
274
+ for (const r of semanticResults) {
275
+ const existing = scoreMap.get(r.node.id);
276
+ if (existing) {
277
+ existing.semScore = r.score;
278
+ }
279
+ else {
280
+ scoreMap.set(r.node.id, {
281
+ node: r.node,
282
+ structScore: 0,
283
+ semScore: r.score,
284
+ });
285
+ }
286
+ }
287
+ // Compute merged scores
288
+ const merged = [];
289
+ for (const entry of scoreMap.values()) {
290
+ const score = structuralWeight * entry.structScore + semanticWeight * entry.semScore;
291
+ merged.push({
292
+ node: entry.node,
293
+ score,
294
+ source: 'merged',
295
+ });
296
+ }
297
+ // Sort by score descending
298
+ merged.sort((a, b) => b.score - a.score);
299
+ return merged.slice(0, limit);
300
+ }
301
+ query(q) {
302
+ const merged = q.getMergedOpts();
303
+ const structOpts = q.getStructuralOpts();
304
+ const semOpts = q.getSemanticOpts();
305
+ // Pure semantic query
306
+ if (!structOpts && semOpts) {
307
+ return this.querySemantic(semOpts);
308
+ }
309
+ // Pure structural query
310
+ if (structOpts && !semOpts) {
311
+ return this.queryStructural(structOpts);
312
+ }
313
+ // Merged query
314
+ return this.queryMerged(merged);
315
+ }
316
+ // ─── Stats ────────────────────────────────
317
+ nodeCount(graphId) {
318
+ return this.adapter.countNodes(graphId);
319
+ }
320
+ edgeCount(graphId) {
321
+ return this.adapter.countEdges(graphId);
322
+ }
323
+ // ─── Lifecycle ────────────────────────────
324
+ close() {
325
+ this.adapter.close();
326
+ }
327
+ // ─── Private helpers ──────────────────────
328
+ sortResults(results, orderBy) {
329
+ switch (orderBy) {
330
+ case 'weight_desc':
331
+ results.sort((a, b) => b.score - a.score);
332
+ break;
333
+ case 'weight_asc':
334
+ results.sort((a, b) => a.score - b.score);
335
+ break;
336
+ case 'created_at_desc':
337
+ results.sort((a, b) => b.node.created_at - a.node.created_at);
338
+ break;
339
+ case 'traversal_count_desc':
340
+ results.sort((a, b) => b.node.visit_count - a.node.visit_count);
341
+ break;
342
+ }
343
+ }
344
+ }
345
+ //# sourceMappingURL=KnowledgeGraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KnowledgeGraph.js","sourceRoot":"","sources":["../../src/graph/KnowledgeGraph.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AASzC,MAAM,OAAO,cAAc;IACjB,OAAO,CAAgB;IAC/B,mEAAmE;IAC3D,SAAS,CAAa;IAE9B,YAAY,OAAsB,EAAE,SAAe;QACjD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC;IACrC,CAAC;IAED,6CAA6C;IAE7C,OAAO,CAAC,IAAe;QACrB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,UAAU,CACR,EAAU,EACV,OAA0G;QAE1G,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,wDAAwD;QACxD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACvC,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YACvC,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC1C,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QACrD,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACvC,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAC/C,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,6CAA6C;IAE7C,UAAU,CAAC,MAAc,EAAE,OAAoB;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,6CAA6C;IAE7C,OAAO,CAAC,IAAe;QACrB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,SAAiC;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,eAAe,CAAC,MAAc,EAAE,IAAY;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,WAAW,CAAC,OAAgB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,6CAA6C;IAE7C;;OAEG;IACH,WAAW,CAAC,QAAgB,EAAE,QAAgB,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE3B,IAAI,QAAQ,GAAG,IAAI,GAAG,CAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;YAEvC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAE7D,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAEvB,8BAA8B;oBAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;oBAE7E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC7B,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBACxB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;wBACtD,IAAI,YAAY,EAAE,CAAC;4BACjB,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;4BAC/B,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAC/B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,QAAQ,GAAG,YAAY,CAAC;YACxB,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;gBAAE,MAAM;QACjC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,6CAA6C;IAE7C,eAAe,CAAC,IAAyB;QACvC,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAE/B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,oCAAoC;YACpC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAEhE,sBAAsB;YACtB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;YACzD,CAAC;YAED,yBAAyB;YACzB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAClC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,UAAW,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAClC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,UAAW,CAAC,CAAC;YAC5D,CAAC;YAED,qBAAqB;YACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5D,CAAC;YAED,uBAAuB;YACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU;oBAAE,SAAS;gBAE1B,sBAAsB;gBACtB,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS;oBAAE,SAAS;gBAEnE,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,MAAM,EAAE,YAAY;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,kCAAkC;YAClC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAE5D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAClC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,UAAW,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAClC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,UAAW,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5D,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxD,IAAI,CAAC,UAAU;oBAAE,SAAS;gBAC1B,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS;oBAAE,SAAS;gBAEnE,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,MAAM,EAAE,YAAY;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3C,+CAA+C;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;gBACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,KAAK;aACN,CAAC,CAAC;YAEH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI;oBACJ,KAAK,EAAE,GAAG,EAAE,yCAAyC;oBACrD,MAAM,EAAE,YAAY;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,eAAe;QACf,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,CAAC;QAE1D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,aAAa,CAAC,IAAuB;QACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC;QAEjD,IAAI,aAAwD,CAAC;QAC7D,IAAI,CAAC;YACH,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,2BAA2B;QAC/F,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAkB,EAAE,CAAC;QAElC,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,UAAU,GAAG,aAAa;gBAAE,SAAS;YAE7C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,oCAAoC;YACpC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAgB,CAAC;oBAAE,SAAS;YACjE,CAAC;YAED,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI;gBACJ,KAAK,EAAE,GAAG,CAAC,UAAU;gBACrB,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;gBAAE,MAAM;QACrC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,WAAW,CAAC,IAAqB;QAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,IAAI,GAAG,CAAC;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,IAAI,GAAG,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAE/B,uBAAuB;QACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEhE,iCAAiC;QACjC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ;YACnC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnC,CAAC,CAAC,EAAE,CAAC;QAEP,oCAAoC;QACpC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsE,CAAC;QAE/F,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAClC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;gBACtB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,KAAK;gBACpB,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;oBACtB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC;oBACd,QAAQ,EAAE,CAAC,CAAC,KAAK;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,gBAAgB,GAAG,KAAK,CAAC,WAAW,GAAG,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC;YACrF,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK;gBACL,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,CAAC;QAED,2BAA2B;QAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,CAAa;QACjB,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpC,sBAAsB;QACtB,IAAI,CAAC,UAAU,IAAI,OAAO,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,wBAAwB;QACxB,IAAI,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QAED,eAAe;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,6CAA6C;IAE7C,SAAS,CAAC,OAAgB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,CAAC,OAAgB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,6CAA6C;IAE7C,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,6CAA6C;IAErC,WAAW,CACjB,OAAsB,EACtB,OAAkF;QAElF,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,aAAa;gBAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,iBAAiB;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9D,MAAM;YACR,KAAK,sBAAsB;gBACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAChE,MAAM;QACV,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,36 @@
1
+ import { GraphNode } from './GraphNode.js';
2
+ import { GraphEdge } from './GraphEdge.js';
3
+ export declare class SubGraph {
4
+ readonly id: string;
5
+ readonly rootEntityId: string;
6
+ private nodes;
7
+ private edges;
8
+ constructor(id: string, rootEntityId: string);
9
+ addNode(node: GraphNode): void;
10
+ addEdge(edge: GraphEdge): void;
11
+ getNode(id: string): GraphNode | undefined;
12
+ getEdge(id: string): GraphEdge | undefined;
13
+ /** Remove a node and all edges connected to it. */
14
+ removeNode(id: string): void;
15
+ removeEdge(id: string): void;
16
+ getNodes(): GraphNode[];
17
+ getEdges(): GraphEdge[];
18
+ getEdgesFrom(nodeId: string): GraphEdge[];
19
+ getEdgesTo(nodeId: string): GraphEdge[];
20
+ get nodeCount(): number;
21
+ get edgeCount(): number;
22
+ /** Serialize to a plain object for snapshot injection into subagents. */
23
+ toSnapshot(): {
24
+ id: string;
25
+ rootEntityId: string;
26
+ nodes: GraphNode[];
27
+ edges: GraphEdge[];
28
+ };
29
+ static fromSnapshot(snapshot: {
30
+ id: string;
31
+ rootEntityId: string;
32
+ nodes: GraphNode[];
33
+ edges: GraphEdge[];
34
+ }): SubGraph;
35
+ }
36
+ //# sourceMappingURL=SubGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubGraph.d.ts","sourceRoot":"","sources":["../../src/graph/SubGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,qBAAa,QAAQ;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,KAAK,CAAyB;gBAE1B,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAO5C,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAI9B,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAI9B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI1C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI1C,mDAAmD;IACnD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAS5B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5B,QAAQ,IAAI,SAAS,EAAE;IAIvB,QAAQ,IAAI,SAAS,EAAE;IAIvB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;IAUzC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;IAUvC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,yEAAyE;IACzE,UAAU,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE;IAS1F,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE,GAAG,QAAQ;CAUtH"}