0agent 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/bin/0agent.js +10 -8
  2. package/dist/daemon.mjs +2625 -0
  3. package/package.json +7 -17
  4. package/packages/core/dist/bootstrap/BootstrapProtocol.d.ts +0 -37
  5. package/packages/core/dist/bootstrap/BootstrapProtocol.d.ts.map +0 -1
  6. package/packages/core/dist/bootstrap/BootstrapProtocol.js +0 -82
  7. package/packages/core/dist/bootstrap/BootstrapProtocol.js.map +0 -1
  8. package/packages/core/dist/bootstrap/GraphConstructor.d.ts +0 -44
  9. package/packages/core/dist/bootstrap/GraphConstructor.d.ts.map +0 -1
  10. package/packages/core/dist/bootstrap/GraphConstructor.js +0 -160
  11. package/packages/core/dist/bootstrap/GraphConstructor.js.map +0 -1
  12. package/packages/core/dist/bootstrap/HypothesisManager.d.ts +0 -50
  13. package/packages/core/dist/bootstrap/HypothesisManager.d.ts.map +0 -1
  14. package/packages/core/dist/bootstrap/HypothesisManager.js +0 -108
  15. package/packages/core/dist/bootstrap/HypothesisManager.js.map +0 -1
  16. package/packages/core/dist/bootstrap/StagedMutations.d.ts +0 -50
  17. package/packages/core/dist/bootstrap/StagedMutations.d.ts.map +0 -1
  18. package/packages/core/dist/bootstrap/StagedMutations.js +0 -80
  19. package/packages/core/dist/bootstrap/StagedMutations.js.map +0 -1
  20. package/packages/core/dist/concurrency/EdgeWeightUpdater.d.ts +0 -16
  21. package/packages/core/dist/concurrency/EdgeWeightUpdater.d.ts.map +0 -1
  22. package/packages/core/dist/concurrency/EdgeWeightUpdater.js +0 -57
  23. package/packages/core/dist/concurrency/EdgeWeightUpdater.js.map +0 -1
  24. package/packages/core/dist/concurrency/SessionSnapshot.d.ts +0 -63
  25. package/packages/core/dist/concurrency/SessionSnapshot.d.ts.map +0 -1
  26. package/packages/core/dist/concurrency/SessionSnapshot.js +0 -124
  27. package/packages/core/dist/concurrency/SessionSnapshot.js.map +0 -1
  28. package/packages/core/dist/embedding/HNSWIndex.d.ts +0 -37
  29. package/packages/core/dist/embedding/HNSWIndex.d.ts.map +0 -1
  30. package/packages/core/dist/embedding/HNSWIndex.js +0 -86
  31. package/packages/core/dist/embedding/HNSWIndex.js.map +0 -1
  32. package/packages/core/dist/embedding/MultimodalEmbedder.d.ts +0 -24
  33. package/packages/core/dist/embedding/MultimodalEmbedder.d.ts.map +0 -1
  34. package/packages/core/dist/embedding/MultimodalEmbedder.js +0 -75
  35. package/packages/core/dist/embedding/MultimodalEmbedder.js.map +0 -1
  36. package/packages/core/dist/embedding/adapters/NomicAdapter.d.ts +0 -7
  37. package/packages/core/dist/embedding/adapters/NomicAdapter.d.ts.map +0 -1
  38. package/packages/core/dist/embedding/adapters/NomicAdapter.js +0 -11
  39. package/packages/core/dist/embedding/adapters/NomicAdapter.js.map +0 -1
  40. package/packages/core/dist/embedding/adapters/OllamaAdapter.d.ts +0 -19
  41. package/packages/core/dist/embedding/adapters/OllamaAdapter.d.ts.map +0 -1
  42. package/packages/core/dist/embedding/adapters/OllamaAdapter.js +0 -27
  43. package/packages/core/dist/embedding/adapters/OllamaAdapter.js.map +0 -1
  44. package/packages/core/dist/embedding/adapters/OpenAIAdapter.d.ts +0 -14
  45. package/packages/core/dist/embedding/adapters/OpenAIAdapter.d.ts.map +0 -1
  46. package/packages/core/dist/embedding/adapters/OpenAIAdapter.js +0 -48
  47. package/packages/core/dist/embedding/adapters/OpenAIAdapter.js.map +0 -1
  48. package/packages/core/dist/engine/CreditAttribution.d.ts +0 -47
  49. package/packages/core/dist/engine/CreditAttribution.d.ts.map +0 -1
  50. package/packages/core/dist/engine/CreditAttribution.js +0 -196
  51. package/packages/core/dist/engine/CreditAttribution.js.map +0 -1
  52. package/packages/core/dist/engine/DecayScheduler.d.ts +0 -45
  53. package/packages/core/dist/engine/DecayScheduler.d.ts.map +0 -1
  54. package/packages/core/dist/engine/DecayScheduler.js +0 -115
  55. package/packages/core/dist/engine/DecayScheduler.js.map +0 -1
  56. package/packages/core/dist/engine/InferenceEngine.d.ts +0 -95
  57. package/packages/core/dist/engine/InferenceEngine.d.ts.map +0 -1
  58. package/packages/core/dist/engine/InferenceEngine.js +0 -242
  59. package/packages/core/dist/engine/InferenceEngine.js.map +0 -1
  60. package/packages/core/dist/engine/SelectionPolicy.d.ts +0 -29
  61. package/packages/core/dist/engine/SelectionPolicy.d.ts.map +0 -1
  62. package/packages/core/dist/engine/SelectionPolicy.js +0 -58
  63. package/packages/core/dist/engine/SelectionPolicy.js.map +0 -1
  64. package/packages/core/dist/engine/SelfImprovementEngine.d.ts +0 -58
  65. package/packages/core/dist/engine/SelfImprovementEngine.d.ts.map +0 -1
  66. package/packages/core/dist/engine/SelfImprovementEngine.js +0 -265
  67. package/packages/core/dist/engine/SelfImprovementEngine.js.map +0 -1
  68. package/packages/core/dist/engine/SelfImprovementPrompt.d.ts +0 -10
  69. package/packages/core/dist/engine/SelfImprovementPrompt.d.ts.map +0 -1
  70. package/packages/core/dist/engine/SelfImprovementPrompt.js +0 -193
  71. package/packages/core/dist/engine/SelfImprovementPrompt.js.map +0 -1
  72. package/packages/core/dist/engine/WeightPropagation.d.ts +0 -77
  73. package/packages/core/dist/engine/WeightPropagation.d.ts.map +0 -1
  74. package/packages/core/dist/engine/WeightPropagation.js +0 -101
  75. package/packages/core/dist/engine/WeightPropagation.js.map +0 -1
  76. package/packages/core/dist/engine/WorkflowSuggestionEngine.d.ts +0 -26
  77. package/packages/core/dist/engine/WorkflowSuggestionEngine.d.ts.map +0 -1
  78. package/packages/core/dist/engine/WorkflowSuggestionEngine.js +0 -54
  79. package/packages/core/dist/engine/WorkflowSuggestionEngine.js.map +0 -1
  80. package/packages/core/dist/entity/AliasIndex.d.ts +0 -39
  81. package/packages/core/dist/entity/AliasIndex.d.ts.map +0 -1
  82. package/packages/core/dist/entity/AliasIndex.js +0 -81
  83. package/packages/core/dist/entity/AliasIndex.js.map +0 -1
  84. package/packages/core/dist/entity/ContextActivator.d.ts +0 -53
  85. package/packages/core/dist/entity/ContextActivator.d.ts.map +0 -1
  86. package/packages/core/dist/entity/ContextActivator.js +0 -163
  87. package/packages/core/dist/entity/ContextActivator.js.map +0 -1
  88. package/packages/core/dist/entity/EntityHierarchy.d.ts +0 -48
  89. package/packages/core/dist/entity/EntityHierarchy.d.ts.map +0 -1
  90. package/packages/core/dist/entity/EntityHierarchy.js +0 -134
  91. package/packages/core/dist/entity/EntityHierarchy.js.map +0 -1
  92. package/packages/core/dist/entity/EntityResolutionPipeline.d.ts +0 -48
  93. package/packages/core/dist/entity/EntityResolutionPipeline.d.ts.map +0 -1
  94. package/packages/core/dist/entity/EntityResolutionPipeline.js +0 -221
  95. package/packages/core/dist/entity/EntityResolutionPipeline.js.map +0 -1
  96. package/packages/core/dist/entity/MCPEnrichedResolver.d.ts +0 -17
  97. package/packages/core/dist/entity/MCPEnrichedResolver.d.ts.map +0 -1
  98. package/packages/core/dist/entity/MCPEnrichedResolver.js +0 -19
  99. package/packages/core/dist/entity/MCPEnrichedResolver.js.map +0 -1
  100. package/packages/core/dist/entity/NodeResolutionService.d.ts +0 -46
  101. package/packages/core/dist/entity/NodeResolutionService.d.ts.map +0 -1
  102. package/packages/core/dist/entity/NodeResolutionService.js +0 -150
  103. package/packages/core/dist/entity/NodeResolutionService.js.map +0 -1
  104. package/packages/core/dist/entity/PersonalityAccumulator.d.ts +0 -41
  105. package/packages/core/dist/entity/PersonalityAccumulator.d.ts.map +0 -1
  106. package/packages/core/dist/entity/PersonalityAccumulator.js +0 -126
  107. package/packages/core/dist/entity/PersonalityAccumulator.js.map +0 -1
  108. package/packages/core/dist/entity/PersonalityProfile.d.ts +0 -31
  109. package/packages/core/dist/entity/PersonalityProfile.d.ts.map +0 -1
  110. package/packages/core/dist/entity/PersonalityProfile.js +0 -94
  111. package/packages/core/dist/entity/PersonalityProfile.js.map +0 -1
  112. package/packages/core/dist/entity/index.d.ts +0 -4
  113. package/packages/core/dist/entity/index.d.ts.map +0 -1
  114. package/packages/core/dist/entity/index.js +0 -4
  115. package/packages/core/dist/entity/index.js.map +0 -1
  116. package/packages/core/dist/graph/GraphEdge.d.ts +0 -37
  117. package/packages/core/dist/graph/GraphEdge.d.ts.map +0 -1
  118. package/packages/core/dist/graph/GraphEdge.js +0 -29
  119. package/packages/core/dist/graph/GraphEdge.js.map +0 -1
  120. package/packages/core/dist/graph/GraphNode.d.ts +0 -52
  121. package/packages/core/dist/graph/GraphNode.d.ts.map +0 -1
  122. package/packages/core/dist/graph/GraphNode.js +0 -41
  123. package/packages/core/dist/graph/GraphNode.js.map +0 -1
  124. package/packages/core/dist/graph/GraphQuery.d.ts +0 -46
  125. package/packages/core/dist/graph/GraphQuery.d.ts.map +0 -1
  126. package/packages/core/dist/graph/GraphQuery.js +0 -47
  127. package/packages/core/dist/graph/GraphQuery.js.map +0 -1
  128. package/packages/core/dist/graph/KnowledgeGraph.d.ts +0 -38
  129. package/packages/core/dist/graph/KnowledgeGraph.d.ts.map +0 -1
  130. package/packages/core/dist/graph/KnowledgeGraph.js +0 -345
  131. package/packages/core/dist/graph/KnowledgeGraph.js.map +0 -1
  132. package/packages/core/dist/graph/SubGraph.d.ts +0 -36
  133. package/packages/core/dist/graph/SubGraph.d.ts.map +0 -1
  134. package/packages/core/dist/graph/SubGraph.js +0 -86
  135. package/packages/core/dist/graph/SubGraph.js.map +0 -1
  136. package/packages/core/dist/index.d.ts +0 -54
  137. package/packages/core/dist/index.d.ts.map +0 -1
  138. package/packages/core/dist/index.js +0 -62
  139. package/packages/core/dist/index.js.map +0 -1
  140. package/packages/core/dist/maintenance/CompactionOrchestrator.d.ts +0 -22
  141. package/packages/core/dist/maintenance/CompactionOrchestrator.d.ts.map +0 -1
  142. package/packages/core/dist/maintenance/CompactionOrchestrator.js +0 -62
  143. package/packages/core/dist/maintenance/CompactionOrchestrator.js.map +0 -1
  144. package/packages/core/dist/maintenance/EdgePruner.d.ts +0 -20
  145. package/packages/core/dist/maintenance/EdgePruner.d.ts.map +0 -1
  146. package/packages/core/dist/maintenance/EdgePruner.js +0 -65
  147. package/packages/core/dist/maintenance/EdgePruner.js.map +0 -1
  148. package/packages/core/dist/maintenance/GraphCheckpoint.d.ts +0 -51
  149. package/packages/core/dist/maintenance/GraphCheckpoint.d.ts.map +0 -1
  150. package/packages/core/dist/maintenance/GraphCheckpoint.js +0 -81
  151. package/packages/core/dist/maintenance/GraphCheckpoint.js.map +0 -1
  152. package/packages/core/dist/maintenance/GraphRollback.d.ts +0 -36
  153. package/packages/core/dist/maintenance/GraphRollback.d.ts.map +0 -1
  154. package/packages/core/dist/maintenance/GraphRollback.js +0 -154
  155. package/packages/core/dist/maintenance/GraphRollback.js.map +0 -1
  156. package/packages/core/dist/maintenance/NodeDeduplicator.d.ts +0 -26
  157. package/packages/core/dist/maintenance/NodeDeduplicator.d.ts.map +0 -1
  158. package/packages/core/dist/maintenance/NodeDeduplicator.js +0 -171
  159. package/packages/core/dist/maintenance/NodeDeduplicator.js.map +0 -1
  160. package/packages/core/dist/maintenance/SubgraphArchiver.d.ts +0 -18
  161. package/packages/core/dist/maintenance/SubgraphArchiver.d.ts.map +0 -1
  162. package/packages/core/dist/maintenance/SubgraphArchiver.js +0 -180
  163. package/packages/core/dist/maintenance/SubgraphArchiver.js.map +0 -1
  164. package/packages/core/dist/memory/ArchivalMemory.d.ts +0 -28
  165. package/packages/core/dist/memory/ArchivalMemory.d.ts.map +0 -1
  166. package/packages/core/dist/memory/ArchivalMemory.js +0 -26
  167. package/packages/core/dist/memory/ArchivalMemory.js.map +0 -1
  168. package/packages/core/dist/memory/BlinkingMemory.d.ts +0 -34
  169. package/packages/core/dist/memory/BlinkingMemory.d.ts.map +0 -1
  170. package/packages/core/dist/memory/BlinkingMemory.js +0 -44
  171. package/packages/core/dist/memory/BlinkingMemory.js.map +0 -1
  172. package/packages/core/dist/memory/WorkingMemory.d.ts +0 -38
  173. package/packages/core/dist/memory/WorkingMemory.d.ts.map +0 -1
  174. package/packages/core/dist/memory/WorkingMemory.js +0 -70
  175. package/packages/core/dist/memory/WorkingMemory.js.map +0 -1
  176. package/packages/core/dist/storage/ObjectStore.d.ts +0 -24
  177. package/packages/core/dist/storage/ObjectStore.d.ts.map +0 -1
  178. package/packages/core/dist/storage/ObjectStore.js +0 -50
  179. package/packages/core/dist/storage/ObjectStore.js.map +0 -1
  180. package/packages/core/dist/storage/TraceStore.d.ts +0 -16
  181. package/packages/core/dist/storage/TraceStore.d.ts.map +0 -1
  182. package/packages/core/dist/storage/TraceStore.js +0 -19
  183. package/packages/core/dist/storage/TraceStore.js.map +0 -1
  184. package/packages/core/dist/storage/WeightEventLog.d.ts +0 -11
  185. package/packages/core/dist/storage/WeightEventLog.d.ts.map +0 -1
  186. package/packages/core/dist/storage/WeightEventLog.js +0 -16
  187. package/packages/core/dist/storage/WeightEventLog.js.map +0 -1
  188. package/packages/core/dist/storage/adapters/SQLiteAdapter.d.ts +0 -86
  189. package/packages/core/dist/storage/adapters/SQLiteAdapter.d.ts.map +0 -1
  190. package/packages/core/dist/storage/adapters/SQLiteAdapter.js +0 -514
  191. package/packages/core/dist/storage/adapters/SQLiteAdapter.js.map +0 -1
  192. package/packages/core/dist/trace/DeferredTrace.d.ts +0 -43
  193. package/packages/core/dist/trace/DeferredTrace.d.ts.map +0 -1
  194. package/packages/core/dist/trace/DeferredTrace.js +0 -44
  195. package/packages/core/dist/trace/DeferredTrace.js.map +0 -1
  196. package/packages/core/dist/trace/OutcomeTrace.d.ts +0 -38
  197. package/packages/core/dist/trace/OutcomeTrace.d.ts.map +0 -1
  198. package/packages/core/dist/trace/OutcomeTrace.js +0 -9
  199. package/packages/core/dist/trace/OutcomeTrace.js.map +0 -1
  200. package/packages/core/dist/trace/SkillTraceDecorator.d.ts +0 -25
  201. package/packages/core/dist/trace/SkillTraceDecorator.d.ts.map +0 -1
  202. package/packages/core/dist/trace/SkillTraceDecorator.js +0 -41
  203. package/packages/core/dist/trace/SkillTraceDecorator.js.map +0 -1
  204. package/packages/core/dist/trace/TraceReplay.d.ts +0 -25
  205. package/packages/core/dist/trace/TraceReplay.d.ts.map +0 -1
  206. package/packages/core/dist/trace/TraceReplay.js +0 -40
  207. package/packages/core/dist/trace/TraceReplay.js.map +0 -1
  208. package/packages/core/dist/trace/TraversalLedger.d.ts +0 -33
  209. package/packages/core/dist/trace/TraversalLedger.d.ts.map +0 -1
  210. package/packages/core/dist/trace/TraversalLedger.js +0 -61
  211. package/packages/core/dist/trace/TraversalLedger.js.map +0 -1
  212. package/packages/core/dist/types/SelfImprovement.d.ts +0 -174
  213. package/packages/core/dist/types/SelfImprovement.d.ts.map +0 -1
  214. package/packages/core/dist/types/SelfImprovement.js +0 -23
  215. package/packages/core/dist/types/SelfImprovement.js.map +0 -1
  216. package/packages/core/dist/types/SkillDefinition.d.ts +0 -68
  217. package/packages/core/dist/types/SkillDefinition.d.ts.map +0 -1
  218. package/packages/core/dist/types/SkillDefinition.js +0 -12
  219. package/packages/core/dist/types/SkillDefinition.js.map +0 -1
  220. package/packages/core/package.json +0 -25
  221. package/packages/daemon/dist/BackgroundWorkers.d.ts +0 -55
  222. package/packages/daemon/dist/BackgroundWorkers.d.ts.map +0 -1
  223. package/packages/daemon/dist/BackgroundWorkers.js +0 -121
  224. package/packages/daemon/dist/BackgroundWorkers.js.map +0 -1
  225. package/packages/daemon/dist/EntityScopedContext.d.ts +0 -22
  226. package/packages/daemon/dist/EntityScopedContext.d.ts.map +0 -1
  227. package/packages/daemon/dist/EntityScopedContext.js +0 -85
  228. package/packages/daemon/dist/EntityScopedContext.js.map +0 -1
  229. package/packages/daemon/dist/HTTPServer.d.ts +0 -27
  230. package/packages/daemon/dist/HTTPServer.d.ts.map +0 -1
  231. package/packages/daemon/dist/HTTPServer.js +0 -62
  232. package/packages/daemon/dist/HTTPServer.js.map +0 -1
  233. package/packages/daemon/dist/SessionManager.d.ts +0 -95
  234. package/packages/daemon/dist/SessionManager.d.ts.map +0 -1
  235. package/packages/daemon/dist/SessionManager.js +0 -205
  236. package/packages/daemon/dist/SessionManager.js.map +0 -1
  237. package/packages/daemon/dist/SkillRegistry.d.ts +0 -34
  238. package/packages/daemon/dist/SkillRegistry.d.ts.map +0 -1
  239. package/packages/daemon/dist/SkillRegistry.js +0 -90
  240. package/packages/daemon/dist/SkillRegistry.js.map +0 -1
  241. package/packages/daemon/dist/SkillVariableResolver.d.ts +0 -24
  242. package/packages/daemon/dist/SkillVariableResolver.d.ts.map +0 -1
  243. package/packages/daemon/dist/SkillVariableResolver.js +0 -85
  244. package/packages/daemon/dist/SkillVariableResolver.js.map +0 -1
  245. package/packages/daemon/dist/WebSocketEvents.d.ts +0 -107
  246. package/packages/daemon/dist/WebSocketEvents.d.ts.map +0 -1
  247. package/packages/daemon/dist/WebSocketEvents.js +0 -111
  248. package/packages/daemon/dist/WebSocketEvents.js.map +0 -1
  249. package/packages/daemon/dist/ZeroAgentDaemon.d.ts +0 -39
  250. package/packages/daemon/dist/ZeroAgentDaemon.d.ts.map +0 -1
  251. package/packages/daemon/dist/ZeroAgentDaemon.js +0 -161
  252. package/packages/daemon/dist/ZeroAgentDaemon.js.map +0 -1
  253. package/packages/daemon/dist/config/ConfigSchema.d.ts +0 -631
  254. package/packages/daemon/dist/config/ConfigSchema.d.ts.map +0 -1
  255. package/packages/daemon/dist/config/ConfigSchema.js +0 -107
  256. package/packages/daemon/dist/config/ConfigSchema.js.map +0 -1
  257. package/packages/daemon/dist/config/DaemonConfig.d.ts +0 -10
  258. package/packages/daemon/dist/config/DaemonConfig.d.ts.map +0 -1
  259. package/packages/daemon/dist/config/DaemonConfig.js +0 -34
  260. package/packages/daemon/dist/config/DaemonConfig.js.map +0 -1
  261. package/packages/daemon/dist/index.d.ts +0 -10
  262. package/packages/daemon/dist/index.d.ts.map +0 -1
  263. package/packages/daemon/dist/index.js +0 -8
  264. package/packages/daemon/dist/index.js.map +0 -1
  265. package/packages/daemon/dist/routes/entities.d.ts +0 -6
  266. package/packages/daemon/dist/routes/entities.d.ts.map +0 -1
  267. package/packages/daemon/dist/routes/entities.js +0 -54
  268. package/packages/daemon/dist/routes/entities.js.map +0 -1
  269. package/packages/daemon/dist/routes/graph.d.ts +0 -6
  270. package/packages/daemon/dist/routes/graph.d.ts.map +0 -1
  271. package/packages/daemon/dist/routes/graph.js +0 -61
  272. package/packages/daemon/dist/routes/graph.js.map +0 -1
  273. package/packages/daemon/dist/routes/health.d.ts +0 -15
  274. package/packages/daemon/dist/routes/health.d.ts.map +0 -1
  275. package/packages/daemon/dist/routes/health.js +0 -11
  276. package/packages/daemon/dist/routes/health.js.map +0 -1
  277. package/packages/daemon/dist/routes/sessions.d.ts +0 -6
  278. package/packages/daemon/dist/routes/sessions.d.ts.map +0 -1
  279. package/packages/daemon/dist/routes/sessions.js +0 -43
  280. package/packages/daemon/dist/routes/sessions.js.map +0 -1
  281. package/packages/daemon/dist/routes/skills.d.ts +0 -6
  282. package/packages/daemon/dist/routes/skills.d.ts.map +0 -1
  283. package/packages/daemon/dist/routes/skills.js +0 -62
  284. package/packages/daemon/dist/routes/skills.js.map +0 -1
  285. package/packages/daemon/dist/routes/subagents.d.ts +0 -3
  286. package/packages/daemon/dist/routes/subagents.d.ts.map +0 -1
  287. package/packages/daemon/dist/routes/subagents.js +0 -14
  288. package/packages/daemon/dist/routes/subagents.js.map +0 -1
  289. package/packages/daemon/dist/routes/traces.d.ts +0 -6
  290. package/packages/daemon/dist/routes/traces.d.ts.map +0 -1
  291. package/packages/daemon/dist/routes/traces.js +0 -31
  292. package/packages/daemon/dist/routes/traces.js.map +0 -1
  293. package/packages/daemon/dist/start.d.ts +0 -7
  294. package/packages/daemon/dist/start.d.ts.map +0 -1
  295. package/packages/daemon/dist/start.js +0 -24
  296. package/packages/daemon/dist/start.js.map +0 -1
  297. package/packages/daemon/package.json +0 -29
  298. package/packages/mcp-hub/dist/FilteredProxy.d.ts +0 -20
  299. package/packages/mcp-hub/dist/FilteredProxy.d.ts.map +0 -1
  300. package/packages/mcp-hub/dist/FilteredProxy.js +0 -43
  301. package/packages/mcp-hub/dist/FilteredProxy.js.map +0 -1
  302. package/packages/mcp-hub/dist/MCPDiscovery.d.ts +0 -18
  303. package/packages/mcp-hub/dist/MCPDiscovery.d.ts.map +0 -1
  304. package/packages/mcp-hub/dist/MCPDiscovery.js +0 -86
  305. package/packages/mcp-hub/dist/MCPDiscovery.js.map +0 -1
  306. package/packages/mcp-hub/dist/MCPHub.d.ts +0 -48
  307. package/packages/mcp-hub/dist/MCPHub.d.ts.map +0 -1
  308. package/packages/mcp-hub/dist/MCPHub.js +0 -100
  309. package/packages/mcp-hub/dist/MCPHub.js.map +0 -1
  310. package/packages/mcp-hub/dist/builtin/BrowserMCP.d.ts +0 -6
  311. package/packages/mcp-hub/dist/builtin/BrowserMCP.d.ts.map +0 -1
  312. package/packages/mcp-hub/dist/builtin/BrowserMCP.js +0 -69
  313. package/packages/mcp-hub/dist/builtin/BrowserMCP.js.map +0 -1
  314. package/packages/mcp-hub/dist/builtin/FilesystemMCP.d.ts +0 -11
  315. package/packages/mcp-hub/dist/builtin/FilesystemMCP.d.ts.map +0 -1
  316. package/packages/mcp-hub/dist/builtin/FilesystemMCP.js +0 -104
  317. package/packages/mcp-hub/dist/builtin/FilesystemMCP.js.map +0 -1
  318. package/packages/mcp-hub/dist/builtin/MemoryMCP.d.ts +0 -9
  319. package/packages/mcp-hub/dist/builtin/MemoryMCP.d.ts.map +0 -1
  320. package/packages/mcp-hub/dist/builtin/MemoryMCP.js +0 -185
  321. package/packages/mcp-hub/dist/builtin/MemoryMCP.js.map +0 -1
  322. package/packages/mcp-hub/dist/builtin/ShellMCP.d.ts +0 -8
  323. package/packages/mcp-hub/dist/builtin/ShellMCP.d.ts.map +0 -1
  324. package/packages/mcp-hub/dist/builtin/ShellMCP.js +0 -74
  325. package/packages/mcp-hub/dist/builtin/ShellMCP.js.map +0 -1
  326. package/packages/mcp-hub/dist/index.d.ts +0 -9
  327. package/packages/mcp-hub/dist/index.d.ts.map +0 -1
  328. package/packages/mcp-hub/dist/index.js +0 -8
  329. package/packages/mcp-hub/dist/index.js.map +0 -1
  330. package/packages/mcp-hub/dist/types.d.ts +0 -30
  331. package/packages/mcp-hub/dist/types.d.ts.map +0 -1
  332. package/packages/mcp-hub/dist/types.js +0 -2
  333. package/packages/mcp-hub/dist/types.js.map +0 -1
  334. package/packages/mcp-hub/package.json +0 -21
  335. package/packages/subagent/dist/CapabilityToken.d.ts +0 -66
  336. package/packages/subagent/dist/CapabilityToken.d.ts.map +0 -1
  337. package/packages/subagent/dist/CapabilityToken.js +0 -120
  338. package/packages/subagent/dist/CapabilityToken.js.map +0 -1
  339. package/packages/subagent/dist/ResourceDefaults.d.ts +0 -16
  340. package/packages/subagent/dist/ResourceDefaults.d.ts.map +0 -1
  341. package/packages/subagent/dist/ResourceDefaults.js +0 -68
  342. package/packages/subagent/dist/ResourceDefaults.js.map +0 -1
  343. package/packages/subagent/dist/SkillInputResolver.d.ts +0 -30
  344. package/packages/subagent/dist/SkillInputResolver.d.ts.map +0 -1
  345. package/packages/subagent/dist/SkillInputResolver.js +0 -59
  346. package/packages/subagent/dist/SkillInputResolver.js.map +0 -1
  347. package/packages/subagent/dist/SkillInvoker.d.ts +0 -33
  348. package/packages/subagent/dist/SkillInvoker.d.ts.map +0 -1
  349. package/packages/subagent/dist/SkillInvoker.js +0 -69
  350. package/packages/subagent/dist/SkillInvoker.js.map +0 -1
  351. package/packages/subagent/dist/SubagentOrchestrator.d.ts +0 -52
  352. package/packages/subagent/dist/SubagentOrchestrator.d.ts.map +0 -1
  353. package/packages/subagent/dist/SubagentOrchestrator.js +0 -198
  354. package/packages/subagent/dist/SubagentOrchestrator.js.map +0 -1
  355. package/packages/subagent/dist/SubagentResult.d.ts +0 -34
  356. package/packages/subagent/dist/SubagentResult.d.ts.map +0 -1
  357. package/packages/subagent/dist/SubagentResult.js +0 -21
  358. package/packages/subagent/dist/SubagentResult.js.map +0 -1
  359. package/packages/subagent/dist/Watchdog.d.ts +0 -23
  360. package/packages/subagent/dist/Watchdog.d.ts.map +0 -1
  361. package/packages/subagent/dist/Watchdog.js +0 -44
  362. package/packages/subagent/dist/Watchdog.js.map +0 -1
  363. package/packages/subagent/dist/index.d.ts +0 -15
  364. package/packages/subagent/dist/index.d.ts.map +0 -1
  365. package/packages/subagent/dist/index.js +0 -23
  366. package/packages/subagent/dist/index.js.map +0 -1
  367. package/packages/subagent/dist/sandbox/BwrapBackend.d.ts +0 -14
  368. package/packages/subagent/dist/sandbox/BwrapBackend.d.ts.map +0 -1
  369. package/packages/subagent/dist/sandbox/BwrapBackend.js +0 -171
  370. package/packages/subagent/dist/sandbox/BwrapBackend.js.map +0 -1
  371. package/packages/subagent/dist/sandbox/CloudBackend.d.ts +0 -28
  372. package/packages/subagent/dist/sandbox/CloudBackend.d.ts.map +0 -1
  373. package/packages/subagent/dist/sandbox/CloudBackend.js +0 -52
  374. package/packages/subagent/dist/sandbox/CloudBackend.js.map +0 -1
  375. package/packages/subagent/dist/sandbox/DockerBackend.d.ts +0 -14
  376. package/packages/subagent/dist/sandbox/DockerBackend.d.ts.map +0 -1
  377. package/packages/subagent/dist/sandbox/DockerBackend.js +0 -149
  378. package/packages/subagent/dist/sandbox/DockerBackend.js.map +0 -1
  379. package/packages/subagent/dist/sandbox/FirecrackerBackend.d.ts +0 -17
  380. package/packages/subagent/dist/sandbox/FirecrackerBackend.d.ts.map +0 -1
  381. package/packages/subagent/dist/sandbox/FirecrackerBackend.js +0 -54
  382. package/packages/subagent/dist/sandbox/FirecrackerBackend.js.map +0 -1
  383. package/packages/subagent/dist/sandbox/PodmanBackend.d.ts +0 -13
  384. package/packages/subagent/dist/sandbox/PodmanBackend.d.ts.map +0 -1
  385. package/packages/subagent/dist/sandbox/PodmanBackend.js +0 -144
  386. package/packages/subagent/dist/sandbox/PodmanBackend.js.map +0 -1
  387. package/packages/subagent/dist/sandbox/ProcessBackend.d.ts +0 -16
  388. package/packages/subagent/dist/sandbox/ProcessBackend.d.ts.map +0 -1
  389. package/packages/subagent/dist/sandbox/ProcessBackend.js +0 -152
  390. package/packages/subagent/dist/sandbox/ProcessBackend.js.map +0 -1
  391. package/packages/subagent/dist/sandbox/SandboxManager.d.ts +0 -17
  392. package/packages/subagent/dist/sandbox/SandboxManager.d.ts.map +0 -1
  393. package/packages/subagent/dist/sandbox/SandboxManager.js +0 -45
  394. package/packages/subagent/dist/sandbox/SandboxManager.js.map +0 -1
  395. package/packages/subagent/dist/sandbox/types.d.ts +0 -35
  396. package/packages/subagent/dist/sandbox/types.d.ts.map +0 -1
  397. package/packages/subagent/dist/sandbox/types.js +0 -5
  398. package/packages/subagent/dist/sandbox/types.js.map +0 -1
  399. package/packages/subagent/package.json +0 -22
  400. package/packages/subagent-runtime/dist/AgentLoop.d.ts +0 -46
  401. package/packages/subagent-runtime/dist/AgentLoop.d.ts.map +0 -1
  402. package/packages/subagent-runtime/dist/AgentLoop.js +0 -85
  403. package/packages/subagent-runtime/dist/AgentLoop.js.map +0 -1
  404. package/packages/subagent-runtime/dist/MCPProxy.d.ts +0 -24
  405. package/packages/subagent-runtime/dist/MCPProxy.d.ts.map +0 -1
  406. package/packages/subagent-runtime/dist/MCPProxy.js +0 -31
  407. package/packages/subagent-runtime/dist/MCPProxy.js.map +0 -1
  408. package/packages/subagent-runtime/dist/OutputChannel.d.ts +0 -10
  409. package/packages/subagent-runtime/dist/OutputChannel.d.ts.map +0 -1
  410. package/packages/subagent-runtime/dist/OutputChannel.js +0 -14
  411. package/packages/subagent-runtime/dist/OutputChannel.js.map +0 -1
  412. package/packages/subagent-runtime/dist/ResourceTracker.d.ts +0 -29
  413. package/packages/subagent-runtime/dist/ResourceTracker.d.ts.map +0 -1
  414. package/packages/subagent-runtime/dist/ResourceTracker.js +0 -46
  415. package/packages/subagent-runtime/dist/ResourceTracker.js.map +0 -1
  416. package/packages/subagent-runtime/dist/TokenValidator.d.ts +0 -17
  417. package/packages/subagent-runtime/dist/TokenValidator.d.ts.map +0 -1
  418. package/packages/subagent-runtime/dist/TokenValidator.js +0 -29
  419. package/packages/subagent-runtime/dist/TokenValidator.js.map +0 -1
  420. package/packages/subagent-runtime/dist/index.d.ts +0 -6
  421. package/packages/subagent-runtime/dist/index.d.ts.map +0 -1
  422. package/packages/subagent-runtime/dist/index.js +0 -11
  423. package/packages/subagent-runtime/dist/index.js.map +0 -1
  424. package/packages/subagent-runtime/dist/main.d.ts +0 -2
  425. package/packages/subagent-runtime/dist/main.d.ts.map +0 -1
  426. package/packages/subagent-runtime/dist/main.js +0 -102
  427. package/packages/subagent-runtime/dist/main.js.map +0 -1
  428. package/packages/subagent-runtime/package.json +0 -19
  429. package/pnpm-workspace.yaml +0 -2
  430. package/tsconfig.base.json +0 -19
  431. package/turbo.json +0 -16
@@ -1,185 +0,0 @@
1
- import { NodeType, ContentType, createNode, } from "@0agent/core";
2
- export class MemoryMCP {
3
- graph;
4
- constructor(graph) {
5
- this.graph = graph;
6
- }
7
- get tools() {
8
- return [
9
- {
10
- name: "query_graph",
11
- description: "Run a structural query against the knowledge graph",
12
- inputSchema: {
13
- type: "object",
14
- properties: {
15
- node_type: { type: "string", description: "Filter by node type" },
16
- graph_id: { type: "string", description: "Filter by graph ID" },
17
- limit: { type: "number", description: "Max results to return" },
18
- },
19
- },
20
- server_name: "memory",
21
- },
22
- {
23
- name: "get_entity",
24
- description: "Get a node and its surrounding subgraph",
25
- inputSchema: {
26
- type: "object",
27
- properties: {
28
- id: { type: "string", description: "Node ID" },
29
- depth: {
30
- type: "number",
31
- description: "Subgraph traversal depth (default 2)",
32
- },
33
- },
34
- required: ["id"],
35
- },
36
- server_name: "memory",
37
- },
38
- {
39
- name: "search_nodes",
40
- description: "Semantic search across graph nodes",
41
- inputSchema: {
42
- type: "object",
43
- properties: {
44
- query: {
45
- type: "string",
46
- description: "Natural language search query",
47
- },
48
- limit: { type: "number", description: "Max results" },
49
- },
50
- required: ["query"],
51
- },
52
- server_name: "memory",
53
- },
54
- {
55
- name: "add_observation",
56
- description: "Add a new observation node to the graph",
57
- inputSchema: {
58
- type: "object",
59
- properties: {
60
- label: { type: "string", description: "Node label" },
61
- content: {
62
- type: "string",
63
- description: "Text content / observation body",
64
- },
65
- graph_id: { type: "string", description: "Graph ID to add to" },
66
- },
67
- required: ["label", "content"],
68
- },
69
- server_name: "memory",
70
- },
71
- ];
72
- }
73
- async call(toolName, args) {
74
- try {
75
- switch (toolName) {
76
- case "query_graph": {
77
- const results = this.graph.queryStructural({
78
- node_type: args.node_type,
79
- graph_id: args.graph_id,
80
- limit: args.limit ?? 20,
81
- });
82
- const simplified = results.map((r) => ({
83
- id: r.node.id,
84
- label: r.node.label,
85
- type: r.node.type,
86
- score: r.score,
87
- }));
88
- return {
89
- content: [
90
- { type: "text", text: JSON.stringify(simplified, null, 2) },
91
- ],
92
- };
93
- }
94
- case "get_entity": {
95
- const id = args.id;
96
- const depth = args.depth ?? 2;
97
- const node = this.graph.getNode(id);
98
- if (!node) {
99
- return {
100
- content: [{ type: "text", text: `Node '${id}' not found` }],
101
- isError: true,
102
- };
103
- }
104
- const subgraph = this.graph.getSubGraph(id, depth);
105
- const snapshot = subgraph.toSnapshot();
106
- return {
107
- content: [
108
- {
109
- type: "text",
110
- text: JSON.stringify({
111
- node: {
112
- id: node.id,
113
- label: node.label,
114
- type: node.type,
115
- },
116
- subgraph: {
117
- nodeCount: snapshot.nodes.length,
118
- edgeCount: snapshot.edges.length,
119
- },
120
- }, null, 2),
121
- },
122
- ],
123
- };
124
- }
125
- case "search_nodes": {
126
- // Semantic search requires an embedding — stub returns empty
127
- // Full implementation requires MultimodalEmbedder (Phase 4)
128
- return {
129
- content: [
130
- {
131
- type: "text",
132
- text: "Semantic search requires embedding model — configure in settings",
133
- },
134
- ],
135
- isError: true,
136
- };
137
- }
138
- case "add_observation": {
139
- const label = args.label;
140
- const content = args.content;
141
- const graphId = args.graph_id ?? "root";
142
- const node = createNode({
143
- id: crypto.randomUUID(),
144
- graph_id: graphId,
145
- label,
146
- type: NodeType.SIGNAL,
147
- content: [
148
- {
149
- id: crypto.randomUUID(),
150
- node_id: "",
151
- type: ContentType.TEXT,
152
- data: content,
153
- metadata: {},
154
- },
155
- ],
156
- });
157
- node.content[0].node_id = node.id;
158
- this.graph.addNode(node);
159
- return {
160
- content: [
161
- { type: "text", text: `Added observation: ${node.id}` },
162
- ],
163
- };
164
- }
165
- default:
166
- return {
167
- content: [{ type: "text", text: `Unknown tool: ${toolName}` }],
168
- isError: true,
169
- };
170
- }
171
- }
172
- catch (err) {
173
- return {
174
- content: [
175
- {
176
- type: "text",
177
- text: `Error: ${err instanceof Error ? err.message : String(err)}`,
178
- },
179
- ],
180
- isError: true,
181
- };
182
- }
183
- }
184
- }
185
- //# sourceMappingURL=MemoryMCP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MemoryMCP.js","sourceRoot":"","sources":["../../src/builtin/MemoryMCP.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import type { MCPTool, MCPCallResult } from '../types.js';
2
- export declare class ShellMCP {
3
- private scopePath;
4
- constructor(scope: string);
5
- get tools(): MCPTool[];
6
- call(toolName: string, args: Record<string, unknown>): Promise<MCPCallResult>;
7
- }
8
- //# sourceMappingURL=ShellMCP.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShellMCP.d.ts","sourceRoot":"","sources":["../../src/builtin/ShellMCP.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAc1D,qBAAa,QAAQ;IACnB,OAAO,CAAC,SAAS,CAAS;gBAEd,KAAK,EAAE,MAAM;IAIzB,IAAI,KAAK,IAAI,OAAO,EAAE,CAgBrB;IAEK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;CAwCpF"}
@@ -1,74 +0,0 @@
1
- import { execSync } from 'node:child_process';
2
- import { resolve } from 'node:path';
3
- const DANGEROUS_PATTERNS = [
4
- /rm\s+(-\w+\s+)*-rf\s+\//,
5
- /rm\s+(-\w+\s+)*\/\s/,
6
- /mkfs\./,
7
- /dd\s+if=/,
8
- /:\(\)\s*\{\s*:\|:\s*&\s*\}/, // fork bomb
9
- />\s*\/dev\/sd/,
10
- /chmod\s+(-\w+\s+)*777\s+\//,
11
- /curl\s+.*\|\s*(ba)?sh/,
12
- /wget\s+.*\|\s*(ba)?sh/,
13
- ];
14
- export class ShellMCP {
15
- scopePath;
16
- constructor(scope) {
17
- this.scopePath = resolve(scope);
18
- }
19
- get tools() {
20
- return [
21
- {
22
- name: 'execute_command',
23
- description: 'Execute a shell command within the scoped directory',
24
- inputSchema: {
25
- type: 'object',
26
- properties: {
27
- command: { type: 'string', description: 'The shell command to execute' },
28
- timeout: { type: 'number', description: 'Timeout in milliseconds (default 30000)' },
29
- },
30
- required: ['command'],
31
- },
32
- server_name: 'shell',
33
- },
34
- ];
35
- }
36
- async call(toolName, args) {
37
- if (toolName !== 'execute_command') {
38
- return { content: [{ type: 'text', text: `Unknown tool: ${toolName}` }], isError: true };
39
- }
40
- const command = args.command;
41
- if (!command || typeof command !== 'string') {
42
- return { content: [{ type: 'text', text: 'Missing or invalid command' }], isError: true };
43
- }
44
- // Reject dangerous commands
45
- for (const pattern of DANGEROUS_PATTERNS) {
46
- if (pattern.test(command)) {
47
- return {
48
- content: [{ type: 'text', text: `Command rejected: matches dangerous pattern` }],
49
- isError: true,
50
- };
51
- }
52
- }
53
- const timeout = typeof args.timeout === 'number' ? args.timeout : 30_000;
54
- try {
55
- const stdout = execSync(command, {
56
- cwd: this.scopePath,
57
- timeout,
58
- maxBuffer: 1024 * 1024, // 1 MB
59
- encoding: 'utf8',
60
- stdio: ['pipe', 'pipe', 'pipe'],
61
- });
62
- return { content: [{ type: 'text', text: stdout }] };
63
- }
64
- catch (err) {
65
- const error = err;
66
- const stderr = error.stderr ?? error.message ?? 'Command failed';
67
- return {
68
- content: [{ type: 'text', text: `Exit code ${error.status ?? 1}\n${stderr}` }],
69
- isError: true,
70
- };
71
- }
72
- }
73
- }
74
- //# sourceMappingURL=ShellMCP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShellMCP.js","sourceRoot":"","sources":["../../src/builtin/ShellMCP.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export { MCPHub } from './MCPHub.js';
2
- export { MCPDiscovery, type DiscoveryResult } from './MCPDiscovery.js';
3
- export { FilteredProxy } from './FilteredProxy.js';
4
- export { FilesystemMCP } from './builtin/FilesystemMCP.js';
5
- export { ShellMCP } from './builtin/ShellMCP.js';
6
- export { MemoryMCP } from './builtin/MemoryMCP.js';
7
- export { BrowserMCP } from './builtin/BrowserMCP.js';
8
- export type { MCPServerConfig, MCPTool, MCPCallResult, MCPConnection } from './types.js';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -1,8 +0,0 @@
1
- export { MCPHub } from './MCPHub.js';
2
- export { MCPDiscovery } from './MCPDiscovery.js';
3
- export { FilteredProxy } from './FilteredProxy.js';
4
- export { FilesystemMCP } from './builtin/FilesystemMCP.js';
5
- export { ShellMCP } from './builtin/ShellMCP.js';
6
- export { MemoryMCP } from './builtin/MemoryMCP.js';
7
- export { BrowserMCP } from './builtin/BrowserMCP.js';
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAwB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,30 +0,0 @@
1
- export interface MCPServerConfig {
2
- name: string;
3
- command?: string;
4
- args?: string[];
5
- url?: string;
6
- env?: Record<string, string>;
7
- enabled: boolean;
8
- }
9
- export interface MCPTool {
10
- name: string;
11
- description: string;
12
- inputSchema: Record<string, unknown>;
13
- server_name: string;
14
- }
15
- export interface MCPCallResult {
16
- content: Array<{
17
- type: 'text' | 'image';
18
- text?: string;
19
- data?: string;
20
- mimeType?: string;
21
- }>;
22
- isError?: boolean;
23
- }
24
- export interface MCPConnection {
25
- config: MCPServerConfig;
26
- tools: MCPTool[];
27
- connected: boolean;
28
- error?: string;
29
- }
30
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -1,21 +0,0 @@
1
- {
2
- "name": "@0agent/mcp-hub",
3
- "version": "1.0.0",
4
- "license": "Apache-2.0",
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "scripts": {
9
- "build": "tsc",
10
- "test": "vitest run"
11
- },
12
- "dependencies": {
13
- "@0agent/core": "workspace:*",
14
- "yaml": "^2.6.0"
15
- },
16
- "devDependencies": {
17
- "@types/node": "^25.5.0",
18
- "typescript": "^5.5.0",
19
- "vitest": "^2.1.0"
20
- }
21
- }
@@ -1,66 +0,0 @@
1
- export interface GraphReadScope {
2
- mode: 'none' | 'entities' | 'context' | 'full_readonly';
3
- entity_ids: string[];
4
- context_types: string[];
5
- max_depth: number;
6
- }
7
- export interface SandboxConfig {
8
- type: 'firecracker' | 'docker' | 'podman' | 'bwrap' | 'cloud' | 'process';
9
- network_access: 'none' | 'allowlist' | 'full';
10
- network_allowlist?: string[];
11
- filesystem_access: 'none' | 'readonly' | 'scoped';
12
- filesystem_scope?: string;
13
- has_browser: boolean;
14
- has_display: boolean;
15
- }
16
- export interface CapabilityToken {
17
- id: string;
18
- subagent_id: string;
19
- parent_session_id: string;
20
- issued_at: number;
21
- expires_at: number;
22
- trust_level: 1 | 2;
23
- allowed_tools: string[];
24
- blocked_tools: string[];
25
- graph_read: GraphReadScope;
26
- graph_write: false;
27
- allowed_credentials: string[];
28
- max_duration_ms: number;
29
- max_llm_calls: number;
30
- max_llm_tokens: number;
31
- max_tool_calls: number;
32
- sandbox: SandboxConfig;
33
- signature: string;
34
- }
35
- export type TaskType = 'web_research' | 'code_execution' | 'browser_task' | 'file_editing' | 'send_message';
36
- export interface TokenIssueRequest {
37
- subagent_id: string;
38
- parent_session_id: string;
39
- task_type: TaskType;
40
- graph_read_scope?: Partial<GraphReadScope>;
41
- extra_tools?: string[];
42
- override_duration_ms?: number;
43
- sandbox_overrides?: Partial<SandboxConfig>;
44
- }
45
- export interface ValidationResult {
46
- valid: boolean;
47
- reason?: string;
48
- }
49
- /**
50
- * Sign a token by computing HMAC-SHA256 over the canonical JSON.
51
- * Returns the hex-encoded signature string.
52
- */
53
- export declare function signToken(token: CapabilityToken, secret: string): string;
54
- /**
55
- * Validate a capability token:
56
- * 1. Check expiry
57
- * 2. Verify HMAC signature with timing-safe comparison
58
- * 3. Assert graph_write === false
59
- */
60
- export declare function validateToken(token: CapabilityToken, secret: string): ValidationResult;
61
- /**
62
- * Build a capability token from a TokenIssueRequest, applying resource defaults
63
- * for the given task type, then sign it.
64
- */
65
- export declare function issueToken(req: TokenIssueRequest, secret: string): CapabilityToken;
66
- //# sourceMappingURL=CapabilityToken.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CapabilityToken.d.ts","sourceRoot":"","sources":["../src/CapabilityToken.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,eAAe,CAAC;IACxD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAC1E,cAAc,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC9C,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,cAAc,CAAC;IAC3B,WAAW,EAAE,KAAK,CAAC;IACnB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,gBAAgB,GAAG,cAAc,GAAG,cAAc,GAAG,cAAc,CAAC;AAE5G,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,QAAQ,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqCD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGxE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAqBtF;AAID;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAqDlF"}
@@ -1,120 +0,0 @@
1
- import { createHmac, randomUUID, timingSafeEqual } from 'node:crypto';
2
- import { RESOURCE_DEFAULTS } from './ResourceDefaults.js';
3
- // ─── Fixed-order canonical field keys ──────────────────
4
- const CANONICAL_FIELDS = [
5
- 'id',
6
- 'subagent_id',
7
- 'parent_session_id',
8
- 'issued_at',
9
- 'expires_at',
10
- 'trust_level',
11
- 'allowed_tools',
12
- 'blocked_tools',
13
- 'graph_read',
14
- 'graph_write',
15
- 'allowed_credentials',
16
- 'max_duration_ms',
17
- 'max_llm_calls',
18
- 'max_llm_tokens',
19
- 'max_tool_calls',
20
- 'sandbox',
21
- ];
22
- // ─── Signing helpers ───────────────────────────────────
23
- /**
24
- * Produce a deterministic JSON serialization of all token fields except `signature`,
25
- * in the fixed order defined by CANONICAL_FIELDS.
26
- */
27
- function canonicalize(token) {
28
- const ordered = {};
29
- for (const key of CANONICAL_FIELDS) {
30
- ordered[key] = token[key];
31
- }
32
- return JSON.stringify(ordered);
33
- }
34
- /**
35
- * Sign a token by computing HMAC-SHA256 over the canonical JSON.
36
- * Returns the hex-encoded signature string.
37
- */
38
- export function signToken(token, secret) {
39
- const canonical = canonicalize(token);
40
- return createHmac('sha256', secret).update(canonical).digest('hex');
41
- }
42
- /**
43
- * Validate a capability token:
44
- * 1. Check expiry
45
- * 2. Verify HMAC signature with timing-safe comparison
46
- * 3. Assert graph_write === false
47
- */
48
- export function validateToken(token, secret) {
49
- // 1. Expiry check
50
- if (Date.now() > token.expires_at) {
51
- return { valid: false, reason: 'Token has expired' };
52
- }
53
- // 2. HMAC verification (timing-safe)
54
- const expected = signToken(token, secret);
55
- const expectedBuf = Buffer.from(expected, 'hex');
56
- const actualBuf = Buffer.from(token.signature, 'hex');
57
- if (expectedBuf.length !== actualBuf.length || !timingSafeEqual(expectedBuf, actualBuf)) {
58
- return { valid: false, reason: 'Invalid signature' };
59
- }
60
- // 3. graph_write must be false
61
- if (token.graph_write !== false) {
62
- return { valid: false, reason: 'graph_write must be false' };
63
- }
64
- return { valid: true };
65
- }
66
- // ─── Token issuance ────────────────────────────────────
67
- /**
68
- * Build a capability token from a TokenIssueRequest, applying resource defaults
69
- * for the given task type, then sign it.
70
- */
71
- export function issueToken(req, secret) {
72
- const defaults = RESOURCE_DEFAULTS[req.task_type];
73
- const now = Date.now();
74
- const durationMs = req.override_duration_ms ?? defaults.max_duration_ms;
75
- const graphRead = {
76
- mode: req.graph_read_scope?.mode ?? 'none',
77
- entity_ids: req.graph_read_scope?.entity_ids ?? [],
78
- context_types: req.graph_read_scope?.context_types ?? [],
79
- max_depth: req.graph_read_scope?.max_depth ?? 1,
80
- };
81
- const sandbox = {
82
- type: req.sandbox_overrides?.type ?? 'docker',
83
- network_access: req.sandbox_overrides?.network_access ?? defaults.network_access,
84
- filesystem_access: req.sandbox_overrides?.filesystem_access ?? defaults.filesystem_access,
85
- has_browser: req.sandbox_overrides?.has_browser ?? (defaults.has_browser ?? false),
86
- has_display: req.sandbox_overrides?.has_display ?? (defaults.has_display ?? false),
87
- ...(req.sandbox_overrides?.network_allowlist != null
88
- ? { network_allowlist: req.sandbox_overrides.network_allowlist }
89
- : {}),
90
- ...(req.sandbox_overrides?.filesystem_scope != null
91
- ? { filesystem_scope: req.sandbox_overrides.filesystem_scope }
92
- : {}),
93
- };
94
- const allowedTools = [
95
- ...defaults.allowed_tools,
96
- ...(req.extra_tools ?? []),
97
- ];
98
- const token = {
99
- id: randomUUID(),
100
- subagent_id: req.subagent_id,
101
- parent_session_id: req.parent_session_id,
102
- issued_at: now,
103
- expires_at: now + durationMs,
104
- trust_level: 1,
105
- allowed_tools: allowedTools,
106
- blocked_tools: [],
107
- graph_read: graphRead,
108
- graph_write: false,
109
- allowed_credentials: [],
110
- max_duration_ms: durationMs,
111
- max_llm_calls: defaults.max_llm_calls,
112
- max_llm_tokens: defaults.max_llm_tokens,
113
- max_tool_calls: defaults.max_tool_calls,
114
- sandbox,
115
- signature: '',
116
- };
117
- token.signature = signToken(token, secret);
118
- return token;
119
- }
120
- //# sourceMappingURL=CapabilityToken.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CapabilityToken.js","sourceRoot":"","sources":["../src/CapabilityToken.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import type { TaskType } from './CapabilityToken.js';
2
- export interface ResourceConfig {
3
- max_duration_ms: number;
4
- max_llm_calls: number;
5
- max_llm_tokens: number;
6
- max_tool_calls: number;
7
- allowed_tools: string[];
8
- network_access: 'none' | 'allowlist' | 'full';
9
- filesystem_access: 'none' | 'readonly' | 'scoped';
10
- has_browser?: boolean;
11
- has_display?: boolean;
12
- memory_mb: number;
13
- cpus: number;
14
- }
15
- export declare const RESOURCE_DEFAULTS: Record<TaskType, ResourceConfig>;
16
- //# sourceMappingURL=ResourceDefaults.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResourceDefaults.d.ts","sourceRoot":"","sources":["../src/ResourceDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC9C,iBAAiB,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc,CAkE9D,CAAC"}