agentic-qe 2.7.4 → 2.8.1

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 (647) hide show
  1. package/CHANGELOG.md +209 -0
  2. package/README.md +67 -2
  3. package/dist/agents/BaseAgent.d.ts +128 -0
  4. package/dist/agents/BaseAgent.d.ts.map +1 -1
  5. package/dist/agents/BaseAgent.js +256 -0
  6. package/dist/agents/BaseAgent.js.map +1 -1
  7. package/dist/cli/commands/agent/spawn.d.ts +12 -1
  8. package/dist/cli/commands/agent/spawn.d.ts.map +1 -1
  9. package/dist/cli/commands/agent/spawn.js +95 -8
  10. package/dist/cli/commands/agent/spawn.js.map +1 -1
  11. package/dist/cli/commands/supabase/index.d.ts +20 -0
  12. package/dist/cli/commands/supabase/index.d.ts.map +1 -0
  13. package/dist/cli/commands/supabase/index.js +632 -0
  14. package/dist/cli/commands/supabase/index.js.map +1 -0
  15. package/dist/cli/index.js +94 -0
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  18. package/dist/edge/adapters/BrowserHNSWAdapter.d.ts +134 -0
  19. package/dist/edge/adapters/BrowserHNSWAdapter.d.ts.map +1 -0
  20. package/dist/edge/adapters/BrowserHNSWAdapter.js +484 -0
  21. package/dist/edge/adapters/BrowserHNSWAdapter.js.map +1 -0
  22. package/dist/edge/adapters/IndexedDBStorage.d.ts +114 -0
  23. package/dist/edge/adapters/IndexedDBStorage.d.ts.map +1 -0
  24. package/dist/edge/adapters/IndexedDBStorage.js +478 -0
  25. package/dist/edge/adapters/IndexedDBStorage.js.map +1 -0
  26. package/dist/edge/adapters/index.d.ts +12 -0
  27. package/dist/edge/adapters/index.d.ts.map +1 -0
  28. package/dist/edge/adapters/index.js +22 -0
  29. package/dist/edge/adapters/index.js.map +1 -0
  30. package/dist/edge/browser/BrowserAgent.d.ts +241 -0
  31. package/dist/edge/browser/BrowserAgent.d.ts.map +1 -0
  32. package/dist/edge/browser/BrowserAgent.js +743 -0
  33. package/dist/edge/browser/BrowserAgent.js.map +1 -0
  34. package/dist/edge/index.d.ts +34 -0
  35. package/dist/edge/index.d.ts.map +1 -0
  36. package/dist/edge/index.js +114 -0
  37. package/dist/edge/index.js.map +1 -0
  38. package/dist/edge/p2p/coordination/CoordinationManager.d.ts +181 -0
  39. package/dist/edge/p2p/coordination/CoordinationManager.d.ts.map +1 -0
  40. package/dist/edge/p2p/coordination/CoordinationManager.js +851 -0
  41. package/dist/edge/p2p/coordination/CoordinationManager.js.map +1 -0
  42. package/dist/edge/p2p/coordination/HealthMonitor.d.ts +143 -0
  43. package/dist/edge/p2p/coordination/HealthMonitor.d.ts.map +1 -0
  44. package/dist/edge/p2p/coordination/HealthMonitor.js +432 -0
  45. package/dist/edge/p2p/coordination/HealthMonitor.js.map +1 -0
  46. package/dist/edge/p2p/coordination/SyncOrchestrator.d.ts +146 -0
  47. package/dist/edge/p2p/coordination/SyncOrchestrator.d.ts.map +1 -0
  48. package/dist/edge/p2p/coordination/SyncOrchestrator.js +783 -0
  49. package/dist/edge/p2p/coordination/SyncOrchestrator.js.map +1 -0
  50. package/dist/edge/p2p/coordination/index.d.ts +70 -0
  51. package/dist/edge/p2p/coordination/index.d.ts.map +1 -0
  52. package/dist/edge/p2p/coordination/index.js +107 -0
  53. package/dist/edge/p2p/coordination/index.js.map +1 -0
  54. package/dist/edge/p2p/coordination/types.d.ts +572 -0
  55. package/dist/edge/p2p/coordination/types.d.ts.map +1 -0
  56. package/dist/edge/p2p/coordination/types.js +366 -0
  57. package/dist/edge/p2p/coordination/types.js.map +1 -0
  58. package/dist/edge/p2p/crdt/CRDTStore.d.ts +324 -0
  59. package/dist/edge/p2p/crdt/CRDTStore.d.ts.map +1 -0
  60. package/dist/edge/p2p/crdt/CRDTStore.js +839 -0
  61. package/dist/edge/p2p/crdt/CRDTStore.js.map +1 -0
  62. package/dist/edge/p2p/crdt/GCounter.d.ts +173 -0
  63. package/dist/edge/p2p/crdt/GCounter.d.ts.map +1 -0
  64. package/dist/edge/p2p/crdt/GCounter.js +394 -0
  65. package/dist/edge/p2p/crdt/GCounter.js.map +1 -0
  66. package/dist/edge/p2p/crdt/LWWRegister.d.ts +200 -0
  67. package/dist/edge/p2p/crdt/LWWRegister.d.ts.map +1 -0
  68. package/dist/edge/p2p/crdt/LWWRegister.js +456 -0
  69. package/dist/edge/p2p/crdt/LWWRegister.js.map +1 -0
  70. package/dist/edge/p2p/crdt/ORSet.d.ts +232 -0
  71. package/dist/edge/p2p/crdt/ORSet.d.ts.map +1 -0
  72. package/dist/edge/p2p/crdt/ORSet.js +723 -0
  73. package/dist/edge/p2p/crdt/ORSet.js.map +1 -0
  74. package/dist/edge/p2p/crdt/PatternCRDT.d.ts +366 -0
  75. package/dist/edge/p2p/crdt/PatternCRDT.d.ts.map +1 -0
  76. package/dist/edge/p2p/crdt/PatternCRDT.js +838 -0
  77. package/dist/edge/p2p/crdt/PatternCRDT.js.map +1 -0
  78. package/dist/edge/p2p/crdt/VectorClock.d.ts +274 -0
  79. package/dist/edge/p2p/crdt/VectorClock.d.ts.map +1 -0
  80. package/dist/edge/p2p/crdt/VectorClock.js +499 -0
  81. package/dist/edge/p2p/crdt/VectorClock.js.map +1 -0
  82. package/dist/edge/p2p/crdt/index.d.ts +87 -0
  83. package/dist/edge/p2p/crdt/index.d.ts.map +1 -0
  84. package/dist/edge/p2p/crdt/index.js +120 -0
  85. package/dist/edge/p2p/crdt/index.js.map +1 -0
  86. package/dist/edge/p2p/crdt/types.d.ts +667 -0
  87. package/dist/edge/p2p/crdt/types.d.ts.map +1 -0
  88. package/dist/edge/p2p/crdt/types.js +208 -0
  89. package/dist/edge/p2p/crdt/types.js.map +1 -0
  90. package/dist/edge/p2p/crypto/Identity.d.ts +139 -0
  91. package/dist/edge/p2p/crypto/Identity.d.ts.map +1 -0
  92. package/dist/edge/p2p/crypto/Identity.js +449 -0
  93. package/dist/edge/p2p/crypto/Identity.js.map +1 -0
  94. package/dist/edge/p2p/crypto/KeyManager.d.ts +196 -0
  95. package/dist/edge/p2p/crypto/KeyManager.d.ts.map +1 -0
  96. package/dist/edge/p2p/crypto/KeyManager.js +576 -0
  97. package/dist/edge/p2p/crypto/KeyManager.js.map +1 -0
  98. package/dist/edge/p2p/crypto/Signer.d.ts +164 -0
  99. package/dist/edge/p2p/crypto/Signer.d.ts.map +1 -0
  100. package/dist/edge/p2p/crypto/Signer.js +357 -0
  101. package/dist/edge/p2p/crypto/Signer.js.map +1 -0
  102. package/dist/edge/p2p/crypto/index.d.ts +90 -0
  103. package/dist/edge/p2p/crypto/index.d.ts.map +1 -0
  104. package/dist/edge/p2p/crypto/index.js +158 -0
  105. package/dist/edge/p2p/crypto/index.js.map +1 -0
  106. package/dist/edge/p2p/crypto/types.d.ts +217 -0
  107. package/dist/edge/p2p/crypto/types.d.ts.map +1 -0
  108. package/dist/edge/p2p/crypto/types.js +42 -0
  109. package/dist/edge/p2p/crypto/types.js.map +1 -0
  110. package/dist/edge/p2p/federated/FederatedCoordinator.d.ts +270 -0
  111. package/dist/edge/p2p/federated/FederatedCoordinator.d.ts.map +1 -0
  112. package/dist/edge/p2p/federated/FederatedCoordinator.js +824 -0
  113. package/dist/edge/p2p/federated/FederatedCoordinator.js.map +1 -0
  114. package/dist/edge/p2p/federated/FederatedRound.d.ts +295 -0
  115. package/dist/edge/p2p/federated/FederatedRound.d.ts.map +1 -0
  116. package/dist/edge/p2p/federated/FederatedRound.js +819 -0
  117. package/dist/edge/p2p/federated/FederatedRound.js.map +1 -0
  118. package/dist/edge/p2p/federated/GradientAggregator.d.ts +226 -0
  119. package/dist/edge/p2p/federated/GradientAggregator.d.ts.map +1 -0
  120. package/dist/edge/p2p/federated/GradientAggregator.js +826 -0
  121. package/dist/edge/p2p/federated/GradientAggregator.js.map +1 -0
  122. package/dist/edge/p2p/federated/ModelManager.d.ts +248 -0
  123. package/dist/edge/p2p/federated/ModelManager.d.ts.map +1 -0
  124. package/dist/edge/p2p/federated/ModelManager.js +724 -0
  125. package/dist/edge/p2p/federated/ModelManager.js.map +1 -0
  126. package/dist/edge/p2p/federated/index.d.ts +65 -0
  127. package/dist/edge/p2p/federated/index.d.ts.map +1 -0
  128. package/dist/edge/p2p/federated/index.js +110 -0
  129. package/dist/edge/p2p/federated/index.js.map +1 -0
  130. package/dist/edge/p2p/federated/types.d.ts +905 -0
  131. package/dist/edge/p2p/federated/types.d.ts.map +1 -0
  132. package/dist/edge/p2p/federated/types.js +339 -0
  133. package/dist/edge/p2p/federated/types.js.map +1 -0
  134. package/dist/edge/p2p/index.d.ts +156 -0
  135. package/dist/edge/p2p/index.d.ts.map +1 -0
  136. package/dist/edge/p2p/index.js +242 -0
  137. package/dist/edge/p2p/index.js.map +1 -0
  138. package/dist/edge/p2p/nat/ConnectivityTester.d.ts +128 -0
  139. package/dist/edge/p2p/nat/ConnectivityTester.d.ts.map +1 -0
  140. package/dist/edge/p2p/nat/ConnectivityTester.js +560 -0
  141. package/dist/edge/p2p/nat/ConnectivityTester.js.map +1 -0
  142. package/dist/edge/p2p/nat/HolePuncher.d.ts +159 -0
  143. package/dist/edge/p2p/nat/HolePuncher.d.ts.map +1 -0
  144. package/dist/edge/p2p/nat/HolePuncher.js +569 -0
  145. package/dist/edge/p2p/nat/HolePuncher.js.map +1 -0
  146. package/dist/edge/p2p/nat/NATDetector.d.ts +109 -0
  147. package/dist/edge/p2p/nat/NATDetector.d.ts.map +1 -0
  148. package/dist/edge/p2p/nat/NATDetector.js +472 -0
  149. package/dist/edge/p2p/nat/NATDetector.js.map +1 -0
  150. package/dist/edge/p2p/nat/TURNManager.d.ts +158 -0
  151. package/dist/edge/p2p/nat/TURNManager.d.ts.map +1 -0
  152. package/dist/edge/p2p/nat/TURNManager.js +547 -0
  153. package/dist/edge/p2p/nat/TURNManager.js.map +1 -0
  154. package/dist/edge/p2p/nat/index.d.ts +74 -0
  155. package/dist/edge/p2p/nat/index.d.ts.map +1 -0
  156. package/dist/edge/p2p/nat/index.js +104 -0
  157. package/dist/edge/p2p/nat/index.js.map +1 -0
  158. package/dist/edge/p2p/nat/types.d.ts +583 -0
  159. package/dist/edge/p2p/nat/types.d.ts.map +1 -0
  160. package/dist/edge/p2p/nat/types.js +267 -0
  161. package/dist/edge/p2p/nat/types.js.map +1 -0
  162. package/dist/edge/p2p/protocol/AgentChannel.d.ts +333 -0
  163. package/dist/edge/p2p/protocol/AgentChannel.d.ts.map +1 -0
  164. package/dist/edge/p2p/protocol/AgentChannel.js +914 -0
  165. package/dist/edge/p2p/protocol/AgentChannel.js.map +1 -0
  166. package/dist/edge/p2p/protocol/MessageEncoder.d.ts +147 -0
  167. package/dist/edge/p2p/protocol/MessageEncoder.d.ts.map +1 -0
  168. package/dist/edge/p2p/protocol/MessageEncoder.js +738 -0
  169. package/dist/edge/p2p/protocol/MessageEncoder.js.map +1 -0
  170. package/dist/edge/p2p/protocol/MessageRouter.d.ts +266 -0
  171. package/dist/edge/p2p/protocol/MessageRouter.d.ts.map +1 -0
  172. package/dist/edge/p2p/protocol/MessageRouter.js +808 -0
  173. package/dist/edge/p2p/protocol/MessageRouter.js.map +1 -0
  174. package/dist/edge/p2p/protocol/ProtocolHandler.d.ts +309 -0
  175. package/dist/edge/p2p/protocol/ProtocolHandler.d.ts.map +1 -0
  176. package/dist/edge/p2p/protocol/ProtocolHandler.js +930 -0
  177. package/dist/edge/p2p/protocol/ProtocolHandler.js.map +1 -0
  178. package/dist/edge/p2p/protocol/index.d.ts +114 -0
  179. package/dist/edge/p2p/protocol/index.d.ts.map +1 -0
  180. package/dist/edge/p2p/protocol/index.js +206 -0
  181. package/dist/edge/p2p/protocol/index.js.map +1 -0
  182. package/dist/edge/p2p/protocol/types.d.ts +737 -0
  183. package/dist/edge/p2p/protocol/types.d.ts.map +1 -0
  184. package/dist/edge/p2p/protocol/types.js +490 -0
  185. package/dist/edge/p2p/protocol/types.js.map +1 -0
  186. package/dist/edge/p2p/sharing/PatternBroadcaster.d.ts +284 -0
  187. package/dist/edge/p2p/sharing/PatternBroadcaster.d.ts.map +1 -0
  188. package/dist/edge/p2p/sharing/PatternBroadcaster.js +644 -0
  189. package/dist/edge/p2p/sharing/PatternBroadcaster.js.map +1 -0
  190. package/dist/edge/p2p/sharing/PatternIndex.d.ts +168 -0
  191. package/dist/edge/p2p/sharing/PatternIndex.d.ts.map +1 -0
  192. package/dist/edge/p2p/sharing/PatternIndex.js +781 -0
  193. package/dist/edge/p2p/sharing/PatternIndex.js.map +1 -0
  194. package/dist/edge/p2p/sharing/PatternSerializer.d.ts +163 -0
  195. package/dist/edge/p2p/sharing/PatternSerializer.d.ts.map +1 -0
  196. package/dist/edge/p2p/sharing/PatternSerializer.js +696 -0
  197. package/dist/edge/p2p/sharing/PatternSerializer.js.map +1 -0
  198. package/dist/edge/p2p/sharing/PatternSyncManager.d.ts +242 -0
  199. package/dist/edge/p2p/sharing/PatternSyncManager.d.ts.map +1 -0
  200. package/dist/edge/p2p/sharing/PatternSyncManager.js +859 -0
  201. package/dist/edge/p2p/sharing/PatternSyncManager.js.map +1 -0
  202. package/dist/edge/p2p/sharing/index.d.ts +90 -0
  203. package/dist/edge/p2p/sharing/index.d.ts.map +1 -0
  204. package/dist/edge/p2p/sharing/index.js +152 -0
  205. package/dist/edge/p2p/sharing/index.js.map +1 -0
  206. package/dist/edge/p2p/sharing/types.d.ts +796 -0
  207. package/dist/edge/p2p/sharing/types.d.ts.map +1 -0
  208. package/dist/edge/p2p/sharing/types.js +264 -0
  209. package/dist/edge/p2p/sharing/types.js.map +1 -0
  210. package/dist/edge/p2p/webrtc/ConnectionPool.d.ts +218 -0
  211. package/dist/edge/p2p/webrtc/ConnectionPool.d.ts.map +1 -0
  212. package/dist/edge/p2p/webrtc/ConnectionPool.js +562 -0
  213. package/dist/edge/p2p/webrtc/ConnectionPool.js.map +1 -0
  214. package/dist/edge/p2p/webrtc/ICEManager.d.ts +171 -0
  215. package/dist/edge/p2p/webrtc/ICEManager.d.ts.map +1 -0
  216. package/dist/edge/p2p/webrtc/ICEManager.js +490 -0
  217. package/dist/edge/p2p/webrtc/ICEManager.js.map +1 -0
  218. package/dist/edge/p2p/webrtc/PeerConnectionManager.d.ts +159 -0
  219. package/dist/edge/p2p/webrtc/PeerConnectionManager.d.ts.map +1 -0
  220. package/dist/edge/p2p/webrtc/PeerConnectionManager.js +735 -0
  221. package/dist/edge/p2p/webrtc/PeerConnectionManager.js.map +1 -0
  222. package/dist/edge/p2p/webrtc/SignalingClient.d.ts +191 -0
  223. package/dist/edge/p2p/webrtc/SignalingClient.d.ts.map +1 -0
  224. package/dist/edge/p2p/webrtc/SignalingClient.js +608 -0
  225. package/dist/edge/p2p/webrtc/SignalingClient.js.map +1 -0
  226. package/dist/edge/p2p/webrtc/index.d.ts +158 -0
  227. package/dist/edge/p2p/webrtc/index.d.ts.map +1 -0
  228. package/dist/edge/p2p/webrtc/index.js +164 -0
  229. package/dist/edge/p2p/webrtc/index.js.map +1 -0
  230. package/dist/edge/p2p/webrtc/types.d.ts +665 -0
  231. package/dist/edge/p2p/webrtc/types.d.ts.map +1 -0
  232. package/dist/edge/p2p/webrtc/types.js +245 -0
  233. package/dist/edge/p2p/webrtc/types.js.map +1 -0
  234. package/dist/edge/server/AgentSpawnAPI.d.ts +98 -0
  235. package/dist/edge/server/AgentSpawnAPI.d.ts.map +1 -0
  236. package/dist/edge/server/AgentSpawnAPI.js +264 -0
  237. package/dist/edge/server/AgentSpawnAPI.js.map +1 -0
  238. package/dist/edge/server/SignalingServer.d.ts +71 -0
  239. package/dist/edge/server/SignalingServer.d.ts.map +1 -0
  240. package/dist/edge/server/SignalingServer.js +429 -0
  241. package/dist/edge/server/SignalingServer.js.map +1 -0
  242. package/dist/edge/server/index.d.ts +64 -0
  243. package/dist/edge/server/index.d.ts.map +1 -0
  244. package/dist/edge/server/index.js +318 -0
  245. package/dist/edge/server/index.js.map +1 -0
  246. package/dist/edge/types/browser-agent.types.d.ts +455 -0
  247. package/dist/edge/types/browser-agent.types.d.ts.map +1 -0
  248. package/dist/edge/types/browser-agent.types.js +116 -0
  249. package/dist/edge/types/browser-agent.types.js.map +1 -0
  250. package/dist/edge/types/index.d.ts +11 -0
  251. package/dist/edge/types/index.d.ts.map +1 -0
  252. package/dist/edge/types/index.js +17 -0
  253. package/dist/edge/types/index.js.map +1 -0
  254. package/dist/edge/types/storage.types.d.ts +207 -0
  255. package/dist/edge/types/storage.types.d.ts.map +1 -0
  256. package/dist/edge/types/storage.types.js +47 -0
  257. package/dist/edge/types/storage.types.js.map +1 -0
  258. package/dist/edge/wasm/shims.d.ts +224 -0
  259. package/dist/edge/wasm/shims.d.ts.map +1 -0
  260. package/dist/edge/wasm/shims.js +667 -0
  261. package/dist/edge/wasm/shims.js.map +1 -0
  262. package/dist/mcp/handlers/NewDomainToolsHandler.d.ts +33 -0
  263. package/dist/mcp/handlers/NewDomainToolsHandler.d.ts.map +1 -0
  264. package/dist/mcp/handlers/NewDomainToolsHandler.js +305 -0
  265. package/dist/mcp/handlers/NewDomainToolsHandler.js.map +1 -0
  266. package/dist/mcp/handlers/filtered/index.d.ts +15 -19
  267. package/dist/mcp/handlers/filtered/index.d.ts.map +1 -1
  268. package/dist/mcp/handlers/filtered/index.js +16 -27
  269. package/dist/mcp/handlers/filtered/index.js.map +1 -1
  270. package/dist/mcp/handlers/integration/index.d.ts +5 -4
  271. package/dist/mcp/handlers/integration/index.d.ts.map +1 -1
  272. package/dist/mcp/handlers/integration/index.js +7 -7
  273. package/dist/mcp/handlers/integration/index.js.map +1 -1
  274. package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts +54 -0
  275. package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts.map +1 -0
  276. package/dist/mcp/handlers/ruvector/RuVectorHandler.js +325 -0
  277. package/dist/mcp/handlers/ruvector/RuVectorHandler.js.map +1 -0
  278. package/dist/mcp/handlers/ruvector/index.d.ts +5 -0
  279. package/dist/mcp/handlers/ruvector/index.d.ts.map +1 -0
  280. package/dist/mcp/handlers/ruvector/index.js +9 -0
  281. package/dist/mcp/handlers/ruvector/index.js.map +1 -0
  282. package/dist/mcp/server-instructions.d.ts +1 -1
  283. package/dist/mcp/server-instructions.js +1 -1
  284. package/dist/mcp/server.d.ts.map +1 -1
  285. package/dist/mcp/server.js +114 -22
  286. package/dist/mcp/server.js.map +1 -1
  287. package/dist/mcp/tools.d.ts +8 -0
  288. package/dist/mcp/tools.d.ts.map +1 -1
  289. package/dist/mcp/tools.js +412 -1
  290. package/dist/mcp/tools.js.map +1 -1
  291. package/dist/nervous-system/adapters/BTSPAdapter.d.ts +342 -0
  292. package/dist/nervous-system/adapters/BTSPAdapter.d.ts.map +1 -0
  293. package/dist/nervous-system/adapters/BTSPAdapter.js +494 -0
  294. package/dist/nervous-system/adapters/BTSPAdapter.js.map +1 -0
  295. package/dist/nervous-system/adapters/CircadianController.d.ts +560 -0
  296. package/dist/nervous-system/adapters/CircadianController.d.ts.map +1 -0
  297. package/dist/nervous-system/adapters/CircadianController.js +882 -0
  298. package/dist/nervous-system/adapters/CircadianController.js.map +1 -0
  299. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts +337 -0
  300. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts.map +1 -0
  301. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js +532 -0
  302. package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js.map +1 -0
  303. package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts +444 -0
  304. package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts.map +1 -0
  305. package/dist/nervous-system/adapters/HdcMemoryAdapter.js +715 -0
  306. package/dist/nervous-system/adapters/HdcMemoryAdapter.js.map +1 -0
  307. package/dist/nervous-system/adapters/ReflexLayer.d.ts +231 -0
  308. package/dist/nervous-system/adapters/ReflexLayer.d.ts.map +1 -0
  309. package/dist/nervous-system/adapters/ReflexLayer.js +309 -0
  310. package/dist/nervous-system/adapters/ReflexLayer.js.map +1 -0
  311. package/dist/nervous-system/index.d.ts +25 -0
  312. package/dist/nervous-system/index.d.ts.map +1 -0
  313. package/dist/nervous-system/index.js +80 -0
  314. package/dist/nervous-system/index.js.map +1 -0
  315. package/dist/nervous-system/integration/BTSPLearningEngine.d.ts +266 -0
  316. package/dist/nervous-system/integration/BTSPLearningEngine.d.ts.map +1 -0
  317. package/dist/nervous-system/integration/BTSPLearningEngine.js +587 -0
  318. package/dist/nervous-system/integration/BTSPLearningEngine.js.map +1 -0
  319. package/dist/nervous-system/integration/CircadianAgent.d.ts +389 -0
  320. package/dist/nervous-system/integration/CircadianAgent.d.ts.map +1 -0
  321. package/dist/nervous-system/integration/CircadianAgent.js +696 -0
  322. package/dist/nervous-system/integration/CircadianAgent.js.map +1 -0
  323. package/dist/nervous-system/integration/HybridPatternStore.d.ts +244 -0
  324. package/dist/nervous-system/integration/HybridPatternStore.d.ts.map +1 -0
  325. package/dist/nervous-system/integration/HybridPatternStore.js +622 -0
  326. package/dist/nervous-system/integration/HybridPatternStore.js.map +1 -0
  327. package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts +459 -0
  328. package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts.map +1 -0
  329. package/dist/nervous-system/integration/NervousSystemEnhancement.js +921 -0
  330. package/dist/nervous-system/integration/NervousSystemEnhancement.js.map +1 -0
  331. package/dist/nervous-system/integration/WorkspaceAgent.d.ts +398 -0
  332. package/dist/nervous-system/integration/WorkspaceAgent.d.ts.map +1 -0
  333. package/dist/nervous-system/integration/WorkspaceAgent.js +722 -0
  334. package/dist/nervous-system/integration/WorkspaceAgent.js.map +1 -0
  335. package/dist/nervous-system/integration/index.d.ts +22 -0
  336. package/dist/nervous-system/integration/index.d.ts.map +1 -0
  337. package/dist/nervous-system/integration/index.js +44 -0
  338. package/dist/nervous-system/integration/index.js.map +1 -0
  339. package/dist/nervous-system/persistence/BTSPSerializer.d.ts +96 -0
  340. package/dist/nervous-system/persistence/BTSPSerializer.d.ts.map +1 -0
  341. package/dist/nervous-system/persistence/BTSPSerializer.js +223 -0
  342. package/dist/nervous-system/persistence/BTSPSerializer.js.map +1 -0
  343. package/dist/nervous-system/persistence/CircadianSerializer.d.ts +90 -0
  344. package/dist/nervous-system/persistence/CircadianSerializer.d.ts.map +1 -0
  345. package/dist/nervous-system/persistence/CircadianSerializer.js +239 -0
  346. package/dist/nervous-system/persistence/CircadianSerializer.js.map +1 -0
  347. package/dist/nervous-system/persistence/HdcSerializer.d.ts +100 -0
  348. package/dist/nervous-system/persistence/HdcSerializer.d.ts.map +1 -0
  349. package/dist/nervous-system/persistence/HdcSerializer.js +259 -0
  350. package/dist/nervous-system/persistence/HdcSerializer.js.map +1 -0
  351. package/dist/nervous-system/persistence/INervousSystemStore.d.ts +208 -0
  352. package/dist/nervous-system/persistence/INervousSystemStore.d.ts.map +1 -0
  353. package/dist/nervous-system/persistence/INervousSystemStore.js +11 -0
  354. package/dist/nervous-system/persistence/INervousSystemStore.js.map +1 -0
  355. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts +187 -0
  356. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts.map +1 -0
  357. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js +411 -0
  358. package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js.map +1 -0
  359. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts +98 -0
  360. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts.map +1 -0
  361. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js +510 -0
  362. package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js.map +1 -0
  363. package/dist/nervous-system/persistence/index.d.ts +22 -0
  364. package/dist/nervous-system/persistence/index.d.ts.map +1 -0
  365. package/dist/nervous-system/persistence/index.js +45 -0
  366. package/dist/nervous-system/persistence/index.js.map +1 -0
  367. package/dist/nervous-system/wasm-loader.d.ts +52 -0
  368. package/dist/nervous-system/wasm-loader.d.ts.map +1 -0
  369. package/dist/nervous-system/wasm-loader.js +188 -0
  370. package/dist/nervous-system/wasm-loader.js.map +1 -0
  371. package/dist/persistence/HybridPersistenceProvider.d.ts +184 -0
  372. package/dist/persistence/HybridPersistenceProvider.d.ts.map +1 -0
  373. package/dist/persistence/HybridPersistenceProvider.js +1086 -0
  374. package/dist/persistence/HybridPersistenceProvider.js.map +1 -0
  375. package/dist/persistence/IPersistenceProvider.d.ts +657 -0
  376. package/dist/persistence/IPersistenceProvider.d.ts.map +1 -0
  377. package/dist/persistence/IPersistenceProvider.js +11 -0
  378. package/dist/persistence/IPersistenceProvider.js.map +1 -0
  379. package/dist/persistence/SupabaseConfig.d.ts +176 -0
  380. package/dist/persistence/SupabaseConfig.d.ts.map +1 -0
  381. package/dist/persistence/SupabaseConfig.js +277 -0
  382. package/dist/persistence/SupabaseConfig.js.map +1 -0
  383. package/dist/persistence/SupabasePersistenceProvider.d.ts +143 -0
  384. package/dist/persistence/SupabasePersistenceProvider.d.ts.map +1 -0
  385. package/dist/persistence/SupabasePersistenceProvider.js +955 -0
  386. package/dist/persistence/SupabasePersistenceProvider.js.map +1 -0
  387. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts +213 -0
  388. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts.map +1 -0
  389. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js +468 -0
  390. package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js.map +1 -0
  391. package/dist/persistence/adapters/MemorySyncAdapter.d.ts +115 -0
  392. package/dist/persistence/adapters/MemorySyncAdapter.d.ts.map +1 -0
  393. package/dist/persistence/adapters/MemorySyncAdapter.js +291 -0
  394. package/dist/persistence/adapters/MemorySyncAdapter.js.map +1 -0
  395. package/dist/persistence/adapters/index.d.ts +11 -0
  396. package/dist/persistence/adapters/index.d.ts.map +1 -0
  397. package/dist/persistence/adapters/index.js +20 -0
  398. package/dist/persistence/adapters/index.js.map +1 -0
  399. package/dist/persistence/index.d.ts +14 -0
  400. package/dist/persistence/index.d.ts.map +1 -1
  401. package/dist/persistence/index.js +36 -1
  402. package/dist/persistence/index.js.map +1 -1
  403. package/dist/planning/GOAPPlanner.d.ts +1 -0
  404. package/dist/planning/GOAPPlanner.d.ts.map +1 -1
  405. package/dist/planning/GOAPPlanner.js +12 -0
  406. package/dist/planning/GOAPPlanner.js.map +1 -1
  407. package/package.json +31 -8
  408. package/dist/alerting/AlertManager.d.ts +0 -120
  409. package/dist/alerting/AlertManager.d.ts.map +0 -1
  410. package/dist/alerting/AlertManager.js +0 -345
  411. package/dist/alerting/AlertManager.js.map +0 -1
  412. package/dist/alerting/FeedbackRouter.d.ts +0 -98
  413. package/dist/alerting/FeedbackRouter.d.ts.map +0 -1
  414. package/dist/alerting/FeedbackRouter.js +0 -331
  415. package/dist/alerting/FeedbackRouter.js.map +0 -1
  416. package/dist/alerting/StrategyApplicator.d.ts +0 -120
  417. package/dist/alerting/StrategyApplicator.d.ts.map +0 -1
  418. package/dist/alerting/StrategyApplicator.js +0 -299
  419. package/dist/alerting/StrategyApplicator.js.map +0 -1
  420. package/dist/alerting/index.d.ts +0 -68
  421. package/dist/alerting/index.d.ts.map +0 -1
  422. package/dist/alerting/index.js +0 -112
  423. package/dist/alerting/index.js.map +0 -1
  424. package/dist/alerting/types.d.ts +0 -118
  425. package/dist/alerting/types.d.ts.map +0 -1
  426. package/dist/alerting/types.js +0 -11
  427. package/dist/alerting/types.js.map +0 -1
  428. package/dist/cli/commands/fleet/backup.d.ts +0 -49
  429. package/dist/cli/commands/fleet/backup.d.ts.map +0 -1
  430. package/dist/cli/commands/fleet/backup.js +0 -88
  431. package/dist/cli/commands/fleet/backup.js.map +0 -1
  432. package/dist/cli/commands/fleet/health.d.ts +0 -154
  433. package/dist/cli/commands/fleet/health.d.ts.map +0 -1
  434. package/dist/cli/commands/fleet/health.js +0 -483
  435. package/dist/cli/commands/fleet/health.js.map +0 -1
  436. package/dist/cli/commands/fleet/init.d.ts +0 -11
  437. package/dist/cli/commands/fleet/init.d.ts.map +0 -1
  438. package/dist/cli/commands/fleet/init.js +0 -91
  439. package/dist/cli/commands/fleet/init.js.map +0 -1
  440. package/dist/cli/commands/fleet/logs.d.ts +0 -21
  441. package/dist/cli/commands/fleet/logs.d.ts.map +0 -1
  442. package/dist/cli/commands/fleet/logs.js +0 -267
  443. package/dist/cli/commands/fleet/logs.js.map +0 -1
  444. package/dist/cli/commands/fleet/metrics.d.ts +0 -27
  445. package/dist/cli/commands/fleet/metrics.d.ts.map +0 -1
  446. package/dist/cli/commands/fleet/metrics.js +0 -369
  447. package/dist/cli/commands/fleet/metrics.js.map +0 -1
  448. package/dist/cli/commands/fleet/monitor.d.ts +0 -18
  449. package/dist/cli/commands/fleet/monitor.d.ts.map +0 -1
  450. package/dist/cli/commands/fleet/monitor.js +0 -237
  451. package/dist/cli/commands/fleet/monitor.js.map +0 -1
  452. package/dist/cli/commands/fleet/optimize.d.ts +0 -42
  453. package/dist/cli/commands/fleet/optimize.d.ts.map +0 -1
  454. package/dist/cli/commands/fleet/optimize.js +0 -135
  455. package/dist/cli/commands/fleet/optimize.js.map +0 -1
  456. package/dist/cli/commands/fleet/recover.d.ts +0 -22
  457. package/dist/cli/commands/fleet/recover.d.ts.map +0 -1
  458. package/dist/cli/commands/fleet/recover.js +0 -99
  459. package/dist/cli/commands/fleet/recover.js.map +0 -1
  460. package/dist/cli/commands/fleet/restart.d.ts +0 -18
  461. package/dist/cli/commands/fleet/restart.d.ts.map +0 -1
  462. package/dist/cli/commands/fleet/restart.js +0 -290
  463. package/dist/cli/commands/fleet/restart.js.map +0 -1
  464. package/dist/cli/commands/fleet/scale.d.ts +0 -9
  465. package/dist/cli/commands/fleet/scale.d.ts.map +0 -1
  466. package/dist/cli/commands/fleet/scale.js +0 -77
  467. package/dist/cli/commands/fleet/scale.js.map +0 -1
  468. package/dist/cli/commands/fleet/shutdown.d.ts +0 -19
  469. package/dist/cli/commands/fleet/shutdown.d.ts.map +0 -1
  470. package/dist/cli/commands/fleet/shutdown.js +0 -307
  471. package/dist/cli/commands/fleet/shutdown.js.map +0 -1
  472. package/dist/cli/commands/fleet/status.d.ts +0 -10
  473. package/dist/cli/commands/fleet/status.d.ts.map +0 -1
  474. package/dist/cli/commands/fleet/status.js +0 -97
  475. package/dist/cli/commands/fleet/status.js.map +0 -1
  476. package/dist/cli/commands/fleet/topology.d.ts +0 -23
  477. package/dist/cli/commands/fleet/topology.d.ts.map +0 -1
  478. package/dist/cli/commands/fleet/topology.js +0 -376
  479. package/dist/cli/commands/fleet/topology.js.map +0 -1
  480. package/dist/cli/commands/monitor/alerts.d.ts +0 -45
  481. package/dist/cli/commands/monitor/alerts.d.ts.map +0 -1
  482. package/dist/cli/commands/monitor/alerts.js +0 -168
  483. package/dist/cli/commands/monitor/alerts.js.map +0 -1
  484. package/dist/cli/commands/monitor/analyze.d.ts +0 -49
  485. package/dist/cli/commands/monitor/analyze.d.ts.map +0 -1
  486. package/dist/cli/commands/monitor/analyze.js +0 -209
  487. package/dist/cli/commands/monitor/analyze.js.map +0 -1
  488. package/dist/cli/commands/monitor/compare.d.ts +0 -38
  489. package/dist/cli/commands/monitor/compare.d.ts.map +0 -1
  490. package/dist/cli/commands/monitor/compare.js +0 -177
  491. package/dist/cli/commands/monitor/compare.js.map +0 -1
  492. package/dist/cli/commands/monitor/dashboard.d.ts +0 -34
  493. package/dist/cli/commands/monitor/dashboard.d.ts.map +0 -1
  494. package/dist/cli/commands/monitor/dashboard.js +0 -157
  495. package/dist/cli/commands/monitor/dashboard.js.map +0 -1
  496. package/dist/cli/commands/monitor/export.d.ts +0 -36
  497. package/dist/cli/commands/monitor/export.d.ts.map +0 -1
  498. package/dist/cli/commands/monitor/export.js +0 -157
  499. package/dist/cli/commands/monitor/export.js.map +0 -1
  500. package/dist/cli/commands/monitor/index.d.ts +0 -11
  501. package/dist/cli/commands/monitor/index.d.ts.map +0 -1
  502. package/dist/cli/commands/monitor/index.js +0 -14
  503. package/dist/cli/commands/monitor/index.js.map +0 -1
  504. package/dist/cli/commands/quality/baseline.d.ts +0 -27
  505. package/dist/cli/commands/quality/baseline.d.ts.map +0 -1
  506. package/dist/cli/commands/quality/baseline.js +0 -124
  507. package/dist/cli/commands/quality/baseline.js.map +0 -1
  508. package/dist/cli/commands/quality/compare.d.ts +0 -36
  509. package/dist/cli/commands/quality/compare.d.ts.map +0 -1
  510. package/dist/cli/commands/quality/compare.js +0 -136
  511. package/dist/cli/commands/quality/compare.js.map +0 -1
  512. package/dist/cli/commands/quality/decision.d.ts +0 -81
  513. package/dist/cli/commands/quality/decision.d.ts.map +0 -1
  514. package/dist/cli/commands/quality/decision.js +0 -319
  515. package/dist/cli/commands/quality/decision.js.map +0 -1
  516. package/dist/cli/commands/quality/gate.d.ts +0 -47
  517. package/dist/cli/commands/quality/gate.d.ts.map +0 -1
  518. package/dist/cli/commands/quality/gate.js +0 -205
  519. package/dist/cli/commands/quality/gate.js.map +0 -1
  520. package/dist/cli/commands/quality/index.d.ts +0 -17
  521. package/dist/cli/commands/quality/index.d.ts.map +0 -1
  522. package/dist/cli/commands/quality/index.js +0 -41
  523. package/dist/cli/commands/quality/index.js.map +0 -1
  524. package/dist/cli/commands/quality/policy.d.ts +0 -57
  525. package/dist/cli/commands/quality/policy.d.ts.map +0 -1
  526. package/dist/cli/commands/quality/policy.js +0 -359
  527. package/dist/cli/commands/quality/policy.js.map +0 -1
  528. package/dist/cli/commands/quality/risk.d.ts +0 -41
  529. package/dist/cli/commands/quality/risk.d.ts.map +0 -1
  530. package/dist/cli/commands/quality/risk.js +0 -255
  531. package/dist/cli/commands/quality/risk.js.map +0 -1
  532. package/dist/cli/commands/quality/trends.d.ts +0 -40
  533. package/dist/cli/commands/quality/trends.d.ts.map +0 -1
  534. package/dist/cli/commands/quality/trends.js +0 -122
  535. package/dist/cli/commands/quality/trends.js.map +0 -1
  536. package/dist/cli/commands/quality/validate.d.ts +0 -44
  537. package/dist/cli/commands/quality/validate.d.ts.map +0 -1
  538. package/dist/cli/commands/quality/validate.js +0 -234
  539. package/dist/cli/commands/quality/validate.js.map +0 -1
  540. package/dist/cli/commands/test/analyze-failures.d.ts +0 -39
  541. package/dist/cli/commands/test/analyze-failures.d.ts.map +0 -1
  542. package/dist/cli/commands/test/analyze-failures.js +0 -113
  543. package/dist/cli/commands/test/analyze-failures.js.map +0 -1
  544. package/dist/cli/commands/test/clean.d.ts +0 -3
  545. package/dist/cli/commands/test/clean.d.ts.map +0 -1
  546. package/dist/cli/commands/test/clean.js +0 -148
  547. package/dist/cli/commands/test/clean.js.map +0 -1
  548. package/dist/cli/commands/test/debug.d.ts +0 -3
  549. package/dist/cli/commands/test/debug.d.ts.map +0 -1
  550. package/dist/cli/commands/test/debug.js +0 -167
  551. package/dist/cli/commands/test/debug.js.map +0 -1
  552. package/dist/cli/commands/test/diff.d.ts +0 -3
  553. package/dist/cli/commands/test/diff.d.ts.map +0 -1
  554. package/dist/cli/commands/test/diff.js +0 -195
  555. package/dist/cli/commands/test/diff.js.map +0 -1
  556. package/dist/cli/commands/test/flakiness.d.ts +0 -32
  557. package/dist/cli/commands/test/flakiness.d.ts.map +0 -1
  558. package/dist/cli/commands/test/flakiness.js +0 -121
  559. package/dist/cli/commands/test/flakiness.js.map +0 -1
  560. package/dist/cli/commands/test/index.d.ts +0 -17
  561. package/dist/cli/commands/test/index.d.ts.map +0 -1
  562. package/dist/cli/commands/test/index.js +0 -45
  563. package/dist/cli/commands/test/index.js.map +0 -1
  564. package/dist/cli/commands/test/mutate.d.ts +0 -29
  565. package/dist/cli/commands/test/mutate.d.ts.map +0 -1
  566. package/dist/cli/commands/test/mutate.js +0 -163
  567. package/dist/cli/commands/test/mutate.js.map +0 -1
  568. package/dist/cli/commands/test/parallel.d.ts +0 -3
  569. package/dist/cli/commands/test/parallel.d.ts.map +0 -1
  570. package/dist/cli/commands/test/parallel.js +0 -117
  571. package/dist/cli/commands/test/parallel.js.map +0 -1
  572. package/dist/cli/commands/test/profile.d.ts +0 -3
  573. package/dist/cli/commands/test/profile.d.ts.map +0 -1
  574. package/dist/cli/commands/test/profile.js +0 -156
  575. package/dist/cli/commands/test/profile.js.map +0 -1
  576. package/dist/cli/commands/test/queue.d.ts +0 -3
  577. package/dist/cli/commands/test/queue.d.ts.map +0 -1
  578. package/dist/cli/commands/test/queue.js +0 -140
  579. package/dist/cli/commands/test/queue.js.map +0 -1
  580. package/dist/cli/commands/test/retry.d.ts +0 -3
  581. package/dist/cli/commands/test/retry.d.ts.map +0 -1
  582. package/dist/cli/commands/test/retry.js +0 -105
  583. package/dist/cli/commands/test/retry.js.map +0 -1
  584. package/dist/cli/commands/test/snapshot.d.ts +0 -3
  585. package/dist/cli/commands/test/snapshot.d.ts.map +0 -1
  586. package/dist/cli/commands/test/snapshot.js +0 -176
  587. package/dist/cli/commands/test/snapshot.js.map +0 -1
  588. package/dist/cli/commands/test/trace.d.ts +0 -3
  589. package/dist/cli/commands/test/trace.d.ts.map +0 -1
  590. package/dist/cli/commands/test/trace.js +0 -137
  591. package/dist/cli/commands/test/trace.js.map +0 -1
  592. package/dist/cli/commands/test/watch.d.ts +0 -3
  593. package/dist/cli/commands/test/watch.d.ts.map +0 -1
  594. package/dist/cli/commands/test/watch.js +0 -130
  595. package/dist/cli/commands/test/watch.js.map +0 -1
  596. package/dist/cli/index-spec.d.ts +0 -3
  597. package/dist/cli/index-spec.d.ts.map +0 -1
  598. package/dist/cli/index-spec.js +0 -154
  599. package/dist/cli/index-spec.js.map +0 -1
  600. package/dist/cli/index-working.d.ts +0 -7
  601. package/dist/cli/index-working.d.ts.map +0 -1
  602. package/dist/cli/index-working.js +0 -617
  603. package/dist/cli/index-working.js.map +0 -1
  604. package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.d.ts +0 -83
  605. package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.d.ts.map +0 -1
  606. package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.js +0 -130
  607. package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.js.map +0 -1
  608. package/dist/mcp/handlers/filtered/flaky-detector-filtered.d.ts +0 -58
  609. package/dist/mcp/handlers/filtered/flaky-detector-filtered.d.ts.map +0 -1
  610. package/dist/mcp/handlers/filtered/flaky-detector-filtered.js +0 -84
  611. package/dist/mcp/handlers/filtered/flaky-detector-filtered.js.map +0 -1
  612. package/dist/mcp/handlers/filtered/security-scanner-filtered.d.ts +0 -54
  613. package/dist/mcp/handlers/filtered/security-scanner-filtered.d.ts.map +0 -1
  614. package/dist/mcp/handlers/filtered/security-scanner-filtered.js +0 -73
  615. package/dist/mcp/handlers/filtered/security-scanner-filtered.js.map +0 -1
  616. package/dist/mcp/handlers/integration/contract-validate.d.ts +0 -10
  617. package/dist/mcp/handlers/integration/contract-validate.d.ts.map +0 -1
  618. package/dist/mcp/handlers/integration/contract-validate.js +0 -348
  619. package/dist/mcp/handlers/integration/contract-validate.js.map +0 -1
  620. package/dist/reporting/ResultAggregator.d.ts +0 -107
  621. package/dist/reporting/ResultAggregator.d.ts.map +0 -1
  622. package/dist/reporting/ResultAggregator.js +0 -435
  623. package/dist/reporting/ResultAggregator.js.map +0 -1
  624. package/dist/reporting/index.d.ts +0 -48
  625. package/dist/reporting/index.d.ts.map +0 -1
  626. package/dist/reporting/index.js +0 -154
  627. package/dist/reporting/index.js.map +0 -1
  628. package/dist/reporting/reporters/ControlLoopReporter.d.ts +0 -128
  629. package/dist/reporting/reporters/ControlLoopReporter.d.ts.map +0 -1
  630. package/dist/reporting/reporters/ControlLoopReporter.js +0 -417
  631. package/dist/reporting/reporters/ControlLoopReporter.js.map +0 -1
  632. package/dist/reporting/reporters/HumanReadableReporter.d.ts +0 -140
  633. package/dist/reporting/reporters/HumanReadableReporter.d.ts.map +0 -1
  634. package/dist/reporting/reporters/HumanReadableReporter.js +0 -524
  635. package/dist/reporting/reporters/HumanReadableReporter.js.map +0 -1
  636. package/dist/reporting/reporters/JSONReporter.d.ts +0 -251
  637. package/dist/reporting/reporters/JSONReporter.d.ts.map +0 -1
  638. package/dist/reporting/reporters/JSONReporter.js +0 -325
  639. package/dist/reporting/reporters/JSONReporter.js.map +0 -1
  640. package/dist/reporting/reporters/index.d.ts +0 -14
  641. package/dist/reporting/reporters/index.d.ts.map +0 -1
  642. package/dist/reporting/reporters/index.js +0 -19
  643. package/dist/reporting/reporters/index.js.map +0 -1
  644. package/dist/reporting/types.d.ts +0 -427
  645. package/dist/reporting/types.d.ts.map +0 -1
  646. package/dist/reporting/types.js +0 -12
  647. package/dist/reporting/types.js.map +0 -1
@@ -0,0 +1,200 @@
1
+ /**
2
+ * LWW-Register (Last-Writer-Wins Register) CRDT Implementation
3
+ *
4
+ * A state-based CRDT that resolves conflicts using timestamps.
5
+ * The most recent write (highest timestamp) wins during merge.
6
+ * Replica ID is used as a tiebreaker for equal timestamps.
7
+ *
8
+ * @module edge/p2p/crdt/LWWRegister
9
+ * @version 1.0.0
10
+ */
11
+ import { ReplicaId, WallTimestamp, CRDTState, CRDTMetadata, SerializedVectorClock, SerializedLWWRegisterState, MergeResult, CRDTDelta, CRDT } from './types';
12
+ import { VectorClock } from './VectorClock';
13
+ /**
14
+ * Last-Writer-Wins Register CRDT.
15
+ *
16
+ * Properties:
17
+ * - Stores a single value with associated timestamp
18
+ * - Conflicts resolved by comparing timestamps
19
+ * - Higher replica ID wins ties (deterministic)
20
+ * - Strongly eventually consistent
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * const register = new LWWRegister<string>('replica-1', 'name');
25
+ *
26
+ * register.set('Alice');
27
+ * register.set('Bob');
28
+ *
29
+ * console.log(register.value()); // 'Bob'
30
+ *
31
+ * // Merge with remote state
32
+ * register.merge(remoteState);
33
+ * ```
34
+ */
35
+ export declare class LWWRegister<T> implements CRDT<T | undefined, SerializedLWWRegisterState<T>> {
36
+ /** Unique identifier for this register */
37
+ private readonly id;
38
+ /** Local replica ID */
39
+ private readonly replicaId;
40
+ /** Current value */
41
+ private currentValue;
42
+ /** Timestamp of current value */
43
+ private timestamp;
44
+ /** Replica that set current value */
45
+ private valueReplica;
46
+ /** Vector clock for versioning */
47
+ private vectorClock;
48
+ /** Metadata */
49
+ private metadata;
50
+ /** Sequence number for deltas */
51
+ private sequenceNumber;
52
+ /** Last delta clock for delta generation */
53
+ private lastDeltaClock;
54
+ /** Custom comparison function for timestamps */
55
+ private readonly compareTimestamp;
56
+ /**
57
+ * Create a new LWW-Register
58
+ *
59
+ * @param replicaId - Local replica identifier
60
+ * @param id - Unique register identifier
61
+ * @param initialValue - Optional initial value
62
+ * @param compareTimestamp - Optional custom timestamp comparison
63
+ */
64
+ constructor(replicaId: ReplicaId, id: string, initialValue?: T, compareTimestamp?: (a: WallTimestamp, b: WallTimestamp) => number);
65
+ /**
66
+ * Get the current value
67
+ *
68
+ * @returns Current value or undefined if not set
69
+ */
70
+ value(): T | undefined;
71
+ /**
72
+ * Set a new value with automatic timestamp
73
+ *
74
+ * @param value - New value to set
75
+ * @returns The set value
76
+ */
77
+ set(value: T): T;
78
+ /**
79
+ * Set a new value with explicit timestamp
80
+ *
81
+ * @param value - New value to set
82
+ * @param timestamp - Timestamp for this write
83
+ * @returns The set value
84
+ */
85
+ setWithTimestamp(value: T, timestamp: WallTimestamp): T;
86
+ /**
87
+ * Get the timestamp of the current value
88
+ *
89
+ * @returns Timestamp
90
+ */
91
+ getTimestamp(): WallTimestamp;
92
+ /**
93
+ * Get the replica that set the current value
94
+ *
95
+ * @returns Replica ID
96
+ */
97
+ getValueReplica(): ReplicaId;
98
+ /**
99
+ * Check if register has a value
100
+ *
101
+ * @returns True if value is set
102
+ */
103
+ hasValue(): boolean;
104
+ /**
105
+ * Clear the register value
106
+ *
107
+ * @returns Previous value
108
+ */
109
+ clear(): T | undefined;
110
+ /**
111
+ * Get the serializable state of this register
112
+ *
113
+ * @returns CRDT state
114
+ */
115
+ state(): CRDTState<SerializedLWWRegisterState<T>>;
116
+ /**
117
+ * Restore an LWW-Register from serialized state
118
+ *
119
+ * @param state - Serialized state
120
+ * @param replicaId - Local replica ID
121
+ * @returns Restored register
122
+ */
123
+ static fromState<T>(state: CRDTState<SerializedLWWRegisterState<T>>, replicaId: ReplicaId): LWWRegister<T>;
124
+ /**
125
+ * Determine if a new write should update the value
126
+ *
127
+ * @param newTimestamp - Timestamp of new value
128
+ * @param newReplica - Replica proposing new value
129
+ * @returns True if should update
130
+ */
131
+ private shouldUpdate;
132
+ /**
133
+ * Merge with another LWW-Register state
134
+ *
135
+ * The value with the highest timestamp wins.
136
+ * Equal timestamps are resolved by comparing replica IDs.
137
+ *
138
+ * @param other - Other register state to merge
139
+ * @returns Merge result
140
+ */
141
+ merge(other: CRDTState<SerializedLWWRegisterState<T>>): MergeResult<SerializedLWWRegisterState<T>>;
142
+ /**
143
+ * Generate a delta update since the last sync
144
+ *
145
+ * @param since - Vector clock of last sync (optional)
146
+ * @returns Delta update or null if no changes
147
+ */
148
+ generateDelta(since?: SerializedVectorClock): CRDTDelta<SerializedLWWRegisterState<T>> | null;
149
+ /**
150
+ * Apply a delta update
151
+ *
152
+ * @param delta - Delta to apply
153
+ * @returns True if applied successfully
154
+ */
155
+ applyDelta(delta: CRDTDelta<SerializedLWWRegisterState<T>>): boolean;
156
+ /**
157
+ * Create a deep copy of this register
158
+ *
159
+ * @returns Cloned register
160
+ */
161
+ clone(): LWWRegister<T>;
162
+ /**
163
+ * Get the register ID
164
+ *
165
+ * @returns Register ID
166
+ */
167
+ getId(): string;
168
+ /**
169
+ * Get the local replica ID
170
+ *
171
+ * @returns Replica ID
172
+ */
173
+ getReplicaId(): ReplicaId;
174
+ /**
175
+ * Get the vector clock
176
+ *
177
+ * @returns Vector clock copy
178
+ */
179
+ getVectorClock(): VectorClock;
180
+ /**
181
+ * Get metadata
182
+ *
183
+ * @returns Metadata copy
184
+ */
185
+ getMetadata(): CRDTMetadata;
186
+ /**
187
+ * Check if this register equals another
188
+ *
189
+ * @param other - Register to compare
190
+ * @returns True if values and timestamps are equal
191
+ */
192
+ equals(other: LWWRegister<T>): boolean;
193
+ /**
194
+ * String representation for debugging
195
+ *
196
+ * @returns Debug string
197
+ */
198
+ toString(): string;
199
+ }
200
+ //# sourceMappingURL=LWWRegister.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LWWRegister.d.ts","sourceRoot":"","sources":["../../../../src/edge/p2p/crdt/LWWRegister.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,456 @@
1
+ "use strict";
2
+ /**
3
+ * LWW-Register (Last-Writer-Wins Register) CRDT Implementation
4
+ *
5
+ * A state-based CRDT that resolves conflicts using timestamps.
6
+ * The most recent write (highest timestamp) wins during merge.
7
+ * Replica ID is used as a tiebreaker for equal timestamps.
8
+ *
9
+ * @module edge/p2p/crdt/LWWRegister
10
+ * @version 1.0.0
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.LWWRegister = void 0;
14
+ const types_1 = require("./types");
15
+ const VectorClock_1 = require("./VectorClock");
16
+ // ============================================
17
+ // LWWRegister Class
18
+ // ============================================
19
+ /**
20
+ * Last-Writer-Wins Register CRDT.
21
+ *
22
+ * Properties:
23
+ * - Stores a single value with associated timestamp
24
+ * - Conflicts resolved by comparing timestamps
25
+ * - Higher replica ID wins ties (deterministic)
26
+ * - Strongly eventually consistent
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const register = new LWWRegister<string>('replica-1', 'name');
31
+ *
32
+ * register.set('Alice');
33
+ * register.set('Bob');
34
+ *
35
+ * console.log(register.value()); // 'Bob'
36
+ *
37
+ * // Merge with remote state
38
+ * register.merge(remoteState);
39
+ * ```
40
+ */
41
+ class LWWRegister {
42
+ /**
43
+ * Create a new LWW-Register
44
+ *
45
+ * @param replicaId - Local replica identifier
46
+ * @param id - Unique register identifier
47
+ * @param initialValue - Optional initial value
48
+ * @param compareTimestamp - Optional custom timestamp comparison
49
+ */
50
+ constructor(replicaId, id, initialValue, compareTimestamp) {
51
+ this.id = id;
52
+ this.replicaId = replicaId;
53
+ this.currentValue = initialValue;
54
+ this.timestamp = initialValue !== undefined ? Date.now() : 0;
55
+ this.valueReplica = replicaId;
56
+ this.vectorClock = new VectorClock_1.VectorClock(replicaId);
57
+ this.sequenceNumber = 0;
58
+ this.lastDeltaClock = this.vectorClock.clone();
59
+ this.compareTimestamp = compareTimestamp ?? ((a, b) => a - b);
60
+ const now = Date.now();
61
+ this.metadata = {
62
+ createdAt: now,
63
+ updatedAt: now,
64
+ mergeCount: 0,
65
+ lastModifiedBy: replicaId,
66
+ };
67
+ if (initialValue !== undefined) {
68
+ this.vectorClock.increment();
69
+ }
70
+ }
71
+ // ============================================
72
+ // Core Operations
73
+ // ============================================
74
+ /**
75
+ * Get the current value
76
+ *
77
+ * @returns Current value or undefined if not set
78
+ */
79
+ value() {
80
+ return this.currentValue;
81
+ }
82
+ /**
83
+ * Set a new value with automatic timestamp
84
+ *
85
+ * @param value - New value to set
86
+ * @returns The set value
87
+ */
88
+ set(value) {
89
+ return this.setWithTimestamp(value, Date.now());
90
+ }
91
+ /**
92
+ * Set a new value with explicit timestamp
93
+ *
94
+ * @param value - New value to set
95
+ * @param timestamp - Timestamp for this write
96
+ * @returns The set value
97
+ */
98
+ setWithTimestamp(value, timestamp) {
99
+ // For local writes, always accept if timestamp is >= current
100
+ // (same replica can always update its own value)
101
+ // For remote writes (via merge), use shouldUpdate for proper LWW semantics
102
+ const shouldAccept = timestamp >= this.timestamp;
103
+ if (shouldAccept) {
104
+ this.currentValue = value;
105
+ this.timestamp = timestamp;
106
+ this.valueReplica = this.replicaId;
107
+ this.vectorClock.increment();
108
+ this.metadata.updatedAt = Date.now();
109
+ this.metadata.lastModifiedBy = this.replicaId;
110
+ this.sequenceNumber++;
111
+ }
112
+ return this.currentValue;
113
+ }
114
+ /**
115
+ * Get the timestamp of the current value
116
+ *
117
+ * @returns Timestamp
118
+ */
119
+ getTimestamp() {
120
+ return this.timestamp;
121
+ }
122
+ /**
123
+ * Get the replica that set the current value
124
+ *
125
+ * @returns Replica ID
126
+ */
127
+ getValueReplica() {
128
+ return this.valueReplica;
129
+ }
130
+ /**
131
+ * Check if register has a value
132
+ *
133
+ * @returns True if value is set
134
+ */
135
+ hasValue() {
136
+ return this.currentValue !== undefined;
137
+ }
138
+ /**
139
+ * Clear the register value
140
+ *
141
+ * @returns Previous value
142
+ */
143
+ clear() {
144
+ const prev = this.currentValue;
145
+ this.currentValue = undefined;
146
+ this.timestamp = Date.now();
147
+ this.valueReplica = this.replicaId;
148
+ this.vectorClock.increment();
149
+ this.metadata.updatedAt = Date.now();
150
+ this.metadata.lastModifiedBy = this.replicaId;
151
+ this.sequenceNumber++;
152
+ return prev;
153
+ }
154
+ // ============================================
155
+ // State Management
156
+ // ============================================
157
+ /**
158
+ * Get the serializable state of this register
159
+ *
160
+ * @returns CRDT state
161
+ */
162
+ state() {
163
+ return {
164
+ type: types_1.CRDTType.LWWRegister,
165
+ id: this.id,
166
+ vectorClock: this.vectorClock.serialize(),
167
+ origin: this.replicaId,
168
+ value: {
169
+ value: this.currentValue,
170
+ timestamp: this.timestamp,
171
+ replica: this.valueReplica,
172
+ },
173
+ metadata: { ...this.metadata },
174
+ stateVersion: 1,
175
+ };
176
+ }
177
+ /**
178
+ * Restore an LWW-Register from serialized state
179
+ *
180
+ * @param state - Serialized state
181
+ * @param replicaId - Local replica ID
182
+ * @returns Restored register
183
+ */
184
+ static fromState(state, replicaId) {
185
+ if (state.type !== types_1.CRDTType.LWWRegister) {
186
+ throw new types_1.CRDTError(`Invalid CRDT type: expected ${types_1.CRDTType.LWWRegister}, got ${state.type}`, types_1.CRDTErrorCode.InvalidType, state.id);
187
+ }
188
+ const register = new LWWRegister(replicaId, state.id);
189
+ // Restore value
190
+ register.currentValue = state.value.value;
191
+ register.timestamp = state.value.timestamp;
192
+ register.valueReplica = state.value.replica;
193
+ // Restore vector clock
194
+ register.vectorClock = VectorClock_1.VectorClock.fromSerialized(state.vectorClock, replicaId);
195
+ // Restore metadata
196
+ register.metadata = { ...state.metadata };
197
+ return register;
198
+ }
199
+ // ============================================
200
+ // Merge Operations
201
+ // ============================================
202
+ /**
203
+ * Determine if a new write should update the value
204
+ *
205
+ * @param newTimestamp - Timestamp of new value
206
+ * @param newReplica - Replica proposing new value
207
+ * @returns True if should update
208
+ */
209
+ shouldUpdate(newTimestamp, newReplica) {
210
+ const cmp = this.compareTimestamp(newTimestamp, this.timestamp);
211
+ if (cmp > 0) {
212
+ // New timestamp is higher
213
+ return true;
214
+ }
215
+ else if (cmp === 0) {
216
+ // Equal timestamps, use replica ID as tiebreaker
217
+ return newReplica > this.valueReplica;
218
+ }
219
+ return false;
220
+ }
221
+ /**
222
+ * Merge with another LWW-Register state
223
+ *
224
+ * The value with the highest timestamp wins.
225
+ * Equal timestamps are resolved by comparing replica IDs.
226
+ *
227
+ * @param other - Other register state to merge
228
+ * @returns Merge result
229
+ */
230
+ merge(other) {
231
+ const startTime = Date.now();
232
+ const conflicts = [];
233
+ if (other.type !== types_1.CRDTType.LWWRegister) {
234
+ throw new types_1.CRDTError(`Cannot merge different CRDT types`, types_1.CRDTErrorCode.InvalidType, this.id);
235
+ }
236
+ if (other.id !== this.id) {
237
+ throw new types_1.CRDTError(`Cannot merge different CRDT instances`, types_1.CRDTErrorCode.InvalidState, this.id);
238
+ }
239
+ const otherValue = other.value;
240
+ let localChanged = false;
241
+ // Check for concurrent writes (potential conflict)
242
+ const otherClock = VectorClock_1.VectorClock.fromSerialized(other.vectorClock, this.replicaId);
243
+ if (this.vectorClock.isConcurrent(otherClock)) {
244
+ // Record conflict
245
+ const conflict = {
246
+ conflictId: `${this.id}-${Date.now()}`,
247
+ crdtId: this.id,
248
+ conflictType: types_1.ConflictType.ConcurrentUpdate,
249
+ field: 'value',
250
+ localValue: this.currentValue,
251
+ remoteValue: otherValue.value,
252
+ localClock: this.vectorClock.serialize(),
253
+ remoteClock: other.vectorClock,
254
+ detectedAt: Date.now(),
255
+ };
256
+ // Determine winner
257
+ const winner = this.shouldUpdate(otherValue.timestamp, otherValue.replica)
258
+ ? 'remote'
259
+ : 'local';
260
+ conflict.resolution = {
261
+ strategy: types_1.ResolutionStrategy.LastWriterWins,
262
+ resolvedValue: winner === 'remote' ? otherValue.value : this.currentValue,
263
+ winner: winner === 'remote' ? otherValue.replica : this.valueReplica,
264
+ reason: `LWW: ${winner} has ${winner === 'remote' ? 'later' : 'earlier or equal'} timestamp`,
265
+ automatic: true,
266
+ resolvedAt: Date.now(),
267
+ };
268
+ conflicts.push(conflict);
269
+ }
270
+ // Apply LWW merge
271
+ if (this.shouldUpdate(otherValue.timestamp, otherValue.replica)) {
272
+ this.currentValue = otherValue.value;
273
+ this.timestamp = otherValue.timestamp;
274
+ this.valueReplica = otherValue.replica;
275
+ localChanged = true;
276
+ }
277
+ // Merge vector clocks
278
+ this.vectorClock.merge(otherClock);
279
+ // Update metadata
280
+ this.metadata.mergeCount++;
281
+ this.metadata.updatedAt = Date.now();
282
+ if (localChanged) {
283
+ this.metadata.lastModifiedBy = other.origin;
284
+ }
285
+ const stats = {
286
+ duration: Date.now() - startTime,
287
+ entriesMerged: 1,
288
+ autoResolved: conflicts.length,
289
+ tombstonesProcessed: 0,
290
+ memoryDelta: 0,
291
+ };
292
+ return {
293
+ success: true,
294
+ mergedState: this.state(),
295
+ localChanged,
296
+ conflicts,
297
+ stats,
298
+ };
299
+ }
300
+ // ============================================
301
+ // Delta Operations
302
+ // ============================================
303
+ /**
304
+ * Generate a delta update since the last sync
305
+ *
306
+ * @param since - Vector clock of last sync (optional)
307
+ * @returns Delta update or null if no changes
308
+ */
309
+ generateDelta(since) {
310
+ const sinceClock = since
311
+ ? VectorClock_1.VectorClock.fromSerialized(since, this.replicaId)
312
+ : this.lastDeltaClock;
313
+ // Check if there are any changes
314
+ if (!this.vectorClock.happenedAfter(sinceClock) &&
315
+ !this.vectorClock.isConcurrent(sinceClock)) {
316
+ return null;
317
+ }
318
+ const operations = [{
319
+ op: types_1.DeltaOpType.Set,
320
+ value: {
321
+ value: this.currentValue,
322
+ timestamp: this.timestamp,
323
+ replica: this.valueReplica,
324
+ },
325
+ timestamp: this.timestamp,
326
+ replica: this.valueReplica,
327
+ }];
328
+ const delta = {
329
+ crdtId: this.id,
330
+ type: types_1.CRDTType.LWWRegister,
331
+ origin: this.replicaId,
332
+ vectorClock: this.vectorClock.serialize(),
333
+ operations,
334
+ sequenceNumber: this.sequenceNumber,
335
+ generatedAt: Date.now(),
336
+ };
337
+ // Update last delta clock
338
+ this.lastDeltaClock = this.vectorClock.clone();
339
+ return delta;
340
+ }
341
+ /**
342
+ * Apply a delta update
343
+ *
344
+ * @param delta - Delta to apply
345
+ * @returns True if applied successfully
346
+ */
347
+ applyDelta(delta) {
348
+ if (delta.type !== types_1.CRDTType.LWWRegister) {
349
+ return false;
350
+ }
351
+ if (delta.crdtId !== this.id) {
352
+ return false;
353
+ }
354
+ let changed = false;
355
+ for (const op of delta.operations) {
356
+ if (op.op === types_1.DeltaOpType.Set && op.value && op.timestamp && op.replica) {
357
+ if (this.shouldUpdate(op.timestamp, op.replica)) {
358
+ this.currentValue = op.value.value;
359
+ this.timestamp = op.timestamp;
360
+ this.valueReplica = op.replica;
361
+ changed = true;
362
+ }
363
+ }
364
+ }
365
+ if (changed) {
366
+ const deltaClock = VectorClock_1.VectorClock.fromSerialized(delta.vectorClock, this.replicaId);
367
+ this.vectorClock.merge(deltaClock);
368
+ this.metadata.updatedAt = Date.now();
369
+ this.metadata.lastModifiedBy = delta.origin;
370
+ }
371
+ return changed;
372
+ }
373
+ // ============================================
374
+ // Utility Methods
375
+ // ============================================
376
+ /**
377
+ * Create a deep copy of this register
378
+ *
379
+ * @returns Cloned register
380
+ */
381
+ clone() {
382
+ const cloned = new LWWRegister(this.replicaId, this.id);
383
+ cloned.currentValue = this.currentValue;
384
+ cloned.timestamp = this.timestamp;
385
+ cloned.valueReplica = this.valueReplica;
386
+ cloned.vectorClock = this.vectorClock.clone();
387
+ cloned.metadata = { ...this.metadata };
388
+ cloned.sequenceNumber = this.sequenceNumber;
389
+ cloned.lastDeltaClock = this.lastDeltaClock.clone();
390
+ return cloned;
391
+ }
392
+ /**
393
+ * Get the register ID
394
+ *
395
+ * @returns Register ID
396
+ */
397
+ getId() {
398
+ return this.id;
399
+ }
400
+ /**
401
+ * Get the local replica ID
402
+ *
403
+ * @returns Replica ID
404
+ */
405
+ getReplicaId() {
406
+ return this.replicaId;
407
+ }
408
+ /**
409
+ * Get the vector clock
410
+ *
411
+ * @returns Vector clock copy
412
+ */
413
+ getVectorClock() {
414
+ return this.vectorClock.clone();
415
+ }
416
+ /**
417
+ * Get metadata
418
+ *
419
+ * @returns Metadata copy
420
+ */
421
+ getMetadata() {
422
+ return { ...this.metadata };
423
+ }
424
+ /**
425
+ * Check if this register equals another
426
+ *
427
+ * @param other - Register to compare
428
+ * @returns True if values and timestamps are equal
429
+ */
430
+ equals(other) {
431
+ if (this.id !== other.id) {
432
+ return false;
433
+ }
434
+ if (this.timestamp !== other.timestamp) {
435
+ return false;
436
+ }
437
+ if (this.valueReplica !== other.valueReplica) {
438
+ return false;
439
+ }
440
+ // Deep compare values
441
+ return JSON.stringify(this.currentValue) === JSON.stringify(other.currentValue);
442
+ }
443
+ /**
444
+ * String representation for debugging
445
+ *
446
+ * @returns Debug string
447
+ */
448
+ toString() {
449
+ const valueStr = this.currentValue !== undefined
450
+ ? JSON.stringify(this.currentValue).slice(0, 50)
451
+ : 'undefined';
452
+ return `LWWRegister{id=${this.id}, value=${valueStr}, ts=${this.timestamp}, replica=${this.valueReplica}}`;
453
+ }
454
+ }
455
+ exports.LWWRegister = LWWRegister;
456
+ //# sourceMappingURL=LWWRegister.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LWWRegister.js","sourceRoot":"","sources":["../../../../src/edge/p2p/crdt/LWWRegister.ts"],"names":[],"mappings":"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"}