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.
- package/CHANGELOG.md +209 -0
- package/README.md +67 -2
- package/dist/agents/BaseAgent.d.ts +128 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +256 -0
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/cli/commands/agent/spawn.d.ts +12 -1
- package/dist/cli/commands/agent/spawn.d.ts.map +1 -1
- package/dist/cli/commands/agent/spawn.js +95 -8
- package/dist/cli/commands/agent/spawn.js.map +1 -1
- package/dist/cli/commands/supabase/index.d.ts +20 -0
- package/dist/cli/commands/supabase/index.d.ts.map +1 -0
- package/dist/cli/commands/supabase/index.js +632 -0
- package/dist/cli/commands/supabase/index.js.map +1 -0
- package/dist/cli/index.js +94 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/edge/adapters/BrowserHNSWAdapter.d.ts +134 -0
- package/dist/edge/adapters/BrowserHNSWAdapter.d.ts.map +1 -0
- package/dist/edge/adapters/BrowserHNSWAdapter.js +484 -0
- package/dist/edge/adapters/BrowserHNSWAdapter.js.map +1 -0
- package/dist/edge/adapters/IndexedDBStorage.d.ts +114 -0
- package/dist/edge/adapters/IndexedDBStorage.d.ts.map +1 -0
- package/dist/edge/adapters/IndexedDBStorage.js +478 -0
- package/dist/edge/adapters/IndexedDBStorage.js.map +1 -0
- package/dist/edge/adapters/index.d.ts +12 -0
- package/dist/edge/adapters/index.d.ts.map +1 -0
- package/dist/edge/adapters/index.js +22 -0
- package/dist/edge/adapters/index.js.map +1 -0
- package/dist/edge/browser/BrowserAgent.d.ts +241 -0
- package/dist/edge/browser/BrowserAgent.d.ts.map +1 -0
- package/dist/edge/browser/BrowserAgent.js +743 -0
- package/dist/edge/browser/BrowserAgent.js.map +1 -0
- package/dist/edge/index.d.ts +34 -0
- package/dist/edge/index.d.ts.map +1 -0
- package/dist/edge/index.js +114 -0
- package/dist/edge/index.js.map +1 -0
- package/dist/edge/p2p/coordination/CoordinationManager.d.ts +181 -0
- package/dist/edge/p2p/coordination/CoordinationManager.d.ts.map +1 -0
- package/dist/edge/p2p/coordination/CoordinationManager.js +851 -0
- package/dist/edge/p2p/coordination/CoordinationManager.js.map +1 -0
- package/dist/edge/p2p/coordination/HealthMonitor.d.ts +143 -0
- package/dist/edge/p2p/coordination/HealthMonitor.d.ts.map +1 -0
- package/dist/edge/p2p/coordination/HealthMonitor.js +432 -0
- package/dist/edge/p2p/coordination/HealthMonitor.js.map +1 -0
- package/dist/edge/p2p/coordination/SyncOrchestrator.d.ts +146 -0
- package/dist/edge/p2p/coordination/SyncOrchestrator.d.ts.map +1 -0
- package/dist/edge/p2p/coordination/SyncOrchestrator.js +783 -0
- package/dist/edge/p2p/coordination/SyncOrchestrator.js.map +1 -0
- package/dist/edge/p2p/coordination/index.d.ts +70 -0
- package/dist/edge/p2p/coordination/index.d.ts.map +1 -0
- package/dist/edge/p2p/coordination/index.js +107 -0
- package/dist/edge/p2p/coordination/index.js.map +1 -0
- package/dist/edge/p2p/coordination/types.d.ts +572 -0
- package/dist/edge/p2p/coordination/types.d.ts.map +1 -0
- package/dist/edge/p2p/coordination/types.js +366 -0
- package/dist/edge/p2p/coordination/types.js.map +1 -0
- package/dist/edge/p2p/crdt/CRDTStore.d.ts +324 -0
- package/dist/edge/p2p/crdt/CRDTStore.d.ts.map +1 -0
- package/dist/edge/p2p/crdt/CRDTStore.js +839 -0
- package/dist/edge/p2p/crdt/CRDTStore.js.map +1 -0
- package/dist/edge/p2p/crdt/GCounter.d.ts +173 -0
- package/dist/edge/p2p/crdt/GCounter.d.ts.map +1 -0
- package/dist/edge/p2p/crdt/GCounter.js +394 -0
- package/dist/edge/p2p/crdt/GCounter.js.map +1 -0
- package/dist/edge/p2p/crdt/LWWRegister.d.ts +200 -0
- package/dist/edge/p2p/crdt/LWWRegister.d.ts.map +1 -0
- package/dist/edge/p2p/crdt/LWWRegister.js +456 -0
- package/dist/edge/p2p/crdt/LWWRegister.js.map +1 -0
- package/dist/edge/p2p/crdt/ORSet.d.ts +232 -0
- package/dist/edge/p2p/crdt/ORSet.d.ts.map +1 -0
- package/dist/edge/p2p/crdt/ORSet.js +723 -0
- package/dist/edge/p2p/crdt/ORSet.js.map +1 -0
- package/dist/edge/p2p/crdt/PatternCRDT.d.ts +366 -0
- package/dist/edge/p2p/crdt/PatternCRDT.d.ts.map +1 -0
- package/dist/edge/p2p/crdt/PatternCRDT.js +838 -0
- package/dist/edge/p2p/crdt/PatternCRDT.js.map +1 -0
- package/dist/edge/p2p/crdt/VectorClock.d.ts +274 -0
- package/dist/edge/p2p/crdt/VectorClock.d.ts.map +1 -0
- package/dist/edge/p2p/crdt/VectorClock.js +499 -0
- package/dist/edge/p2p/crdt/VectorClock.js.map +1 -0
- package/dist/edge/p2p/crdt/index.d.ts +87 -0
- package/dist/edge/p2p/crdt/index.d.ts.map +1 -0
- package/dist/edge/p2p/crdt/index.js +120 -0
- package/dist/edge/p2p/crdt/index.js.map +1 -0
- package/dist/edge/p2p/crdt/types.d.ts +667 -0
- package/dist/edge/p2p/crdt/types.d.ts.map +1 -0
- package/dist/edge/p2p/crdt/types.js +208 -0
- package/dist/edge/p2p/crdt/types.js.map +1 -0
- package/dist/edge/p2p/crypto/Identity.d.ts +139 -0
- package/dist/edge/p2p/crypto/Identity.d.ts.map +1 -0
- package/dist/edge/p2p/crypto/Identity.js +449 -0
- package/dist/edge/p2p/crypto/Identity.js.map +1 -0
- package/dist/edge/p2p/crypto/KeyManager.d.ts +196 -0
- package/dist/edge/p2p/crypto/KeyManager.d.ts.map +1 -0
- package/dist/edge/p2p/crypto/KeyManager.js +576 -0
- package/dist/edge/p2p/crypto/KeyManager.js.map +1 -0
- package/dist/edge/p2p/crypto/Signer.d.ts +164 -0
- package/dist/edge/p2p/crypto/Signer.d.ts.map +1 -0
- package/dist/edge/p2p/crypto/Signer.js +357 -0
- package/dist/edge/p2p/crypto/Signer.js.map +1 -0
- package/dist/edge/p2p/crypto/index.d.ts +90 -0
- package/dist/edge/p2p/crypto/index.d.ts.map +1 -0
- package/dist/edge/p2p/crypto/index.js +158 -0
- package/dist/edge/p2p/crypto/index.js.map +1 -0
- package/dist/edge/p2p/crypto/types.d.ts +217 -0
- package/dist/edge/p2p/crypto/types.d.ts.map +1 -0
- package/dist/edge/p2p/crypto/types.js +42 -0
- package/dist/edge/p2p/crypto/types.js.map +1 -0
- package/dist/edge/p2p/federated/FederatedCoordinator.d.ts +270 -0
- package/dist/edge/p2p/federated/FederatedCoordinator.d.ts.map +1 -0
- package/dist/edge/p2p/federated/FederatedCoordinator.js +824 -0
- package/dist/edge/p2p/federated/FederatedCoordinator.js.map +1 -0
- package/dist/edge/p2p/federated/FederatedRound.d.ts +295 -0
- package/dist/edge/p2p/federated/FederatedRound.d.ts.map +1 -0
- package/dist/edge/p2p/federated/FederatedRound.js +819 -0
- package/dist/edge/p2p/federated/FederatedRound.js.map +1 -0
- package/dist/edge/p2p/federated/GradientAggregator.d.ts +226 -0
- package/dist/edge/p2p/federated/GradientAggregator.d.ts.map +1 -0
- package/dist/edge/p2p/federated/GradientAggregator.js +826 -0
- package/dist/edge/p2p/federated/GradientAggregator.js.map +1 -0
- package/dist/edge/p2p/federated/ModelManager.d.ts +248 -0
- package/dist/edge/p2p/federated/ModelManager.d.ts.map +1 -0
- package/dist/edge/p2p/federated/ModelManager.js +724 -0
- package/dist/edge/p2p/federated/ModelManager.js.map +1 -0
- package/dist/edge/p2p/federated/index.d.ts +65 -0
- package/dist/edge/p2p/federated/index.d.ts.map +1 -0
- package/dist/edge/p2p/federated/index.js +110 -0
- package/dist/edge/p2p/federated/index.js.map +1 -0
- package/dist/edge/p2p/federated/types.d.ts +905 -0
- package/dist/edge/p2p/federated/types.d.ts.map +1 -0
- package/dist/edge/p2p/federated/types.js +339 -0
- package/dist/edge/p2p/federated/types.js.map +1 -0
- package/dist/edge/p2p/index.d.ts +156 -0
- package/dist/edge/p2p/index.d.ts.map +1 -0
- package/dist/edge/p2p/index.js +242 -0
- package/dist/edge/p2p/index.js.map +1 -0
- package/dist/edge/p2p/nat/ConnectivityTester.d.ts +128 -0
- package/dist/edge/p2p/nat/ConnectivityTester.d.ts.map +1 -0
- package/dist/edge/p2p/nat/ConnectivityTester.js +560 -0
- package/dist/edge/p2p/nat/ConnectivityTester.js.map +1 -0
- package/dist/edge/p2p/nat/HolePuncher.d.ts +159 -0
- package/dist/edge/p2p/nat/HolePuncher.d.ts.map +1 -0
- package/dist/edge/p2p/nat/HolePuncher.js +569 -0
- package/dist/edge/p2p/nat/HolePuncher.js.map +1 -0
- package/dist/edge/p2p/nat/NATDetector.d.ts +109 -0
- package/dist/edge/p2p/nat/NATDetector.d.ts.map +1 -0
- package/dist/edge/p2p/nat/NATDetector.js +472 -0
- package/dist/edge/p2p/nat/NATDetector.js.map +1 -0
- package/dist/edge/p2p/nat/TURNManager.d.ts +158 -0
- package/dist/edge/p2p/nat/TURNManager.d.ts.map +1 -0
- package/dist/edge/p2p/nat/TURNManager.js +547 -0
- package/dist/edge/p2p/nat/TURNManager.js.map +1 -0
- package/dist/edge/p2p/nat/index.d.ts +74 -0
- package/dist/edge/p2p/nat/index.d.ts.map +1 -0
- package/dist/edge/p2p/nat/index.js +104 -0
- package/dist/edge/p2p/nat/index.js.map +1 -0
- package/dist/edge/p2p/nat/types.d.ts +583 -0
- package/dist/edge/p2p/nat/types.d.ts.map +1 -0
- package/dist/edge/p2p/nat/types.js +267 -0
- package/dist/edge/p2p/nat/types.js.map +1 -0
- package/dist/edge/p2p/protocol/AgentChannel.d.ts +333 -0
- package/dist/edge/p2p/protocol/AgentChannel.d.ts.map +1 -0
- package/dist/edge/p2p/protocol/AgentChannel.js +914 -0
- package/dist/edge/p2p/protocol/AgentChannel.js.map +1 -0
- package/dist/edge/p2p/protocol/MessageEncoder.d.ts +147 -0
- package/dist/edge/p2p/protocol/MessageEncoder.d.ts.map +1 -0
- package/dist/edge/p2p/protocol/MessageEncoder.js +738 -0
- package/dist/edge/p2p/protocol/MessageEncoder.js.map +1 -0
- package/dist/edge/p2p/protocol/MessageRouter.d.ts +266 -0
- package/dist/edge/p2p/protocol/MessageRouter.d.ts.map +1 -0
- package/dist/edge/p2p/protocol/MessageRouter.js +808 -0
- package/dist/edge/p2p/protocol/MessageRouter.js.map +1 -0
- package/dist/edge/p2p/protocol/ProtocolHandler.d.ts +309 -0
- package/dist/edge/p2p/protocol/ProtocolHandler.d.ts.map +1 -0
- package/dist/edge/p2p/protocol/ProtocolHandler.js +930 -0
- package/dist/edge/p2p/protocol/ProtocolHandler.js.map +1 -0
- package/dist/edge/p2p/protocol/index.d.ts +114 -0
- package/dist/edge/p2p/protocol/index.d.ts.map +1 -0
- package/dist/edge/p2p/protocol/index.js +206 -0
- package/dist/edge/p2p/protocol/index.js.map +1 -0
- package/dist/edge/p2p/protocol/types.d.ts +737 -0
- package/dist/edge/p2p/protocol/types.d.ts.map +1 -0
- package/dist/edge/p2p/protocol/types.js +490 -0
- package/dist/edge/p2p/protocol/types.js.map +1 -0
- package/dist/edge/p2p/sharing/PatternBroadcaster.d.ts +284 -0
- package/dist/edge/p2p/sharing/PatternBroadcaster.d.ts.map +1 -0
- package/dist/edge/p2p/sharing/PatternBroadcaster.js +644 -0
- package/dist/edge/p2p/sharing/PatternBroadcaster.js.map +1 -0
- package/dist/edge/p2p/sharing/PatternIndex.d.ts +168 -0
- package/dist/edge/p2p/sharing/PatternIndex.d.ts.map +1 -0
- package/dist/edge/p2p/sharing/PatternIndex.js +781 -0
- package/dist/edge/p2p/sharing/PatternIndex.js.map +1 -0
- package/dist/edge/p2p/sharing/PatternSerializer.d.ts +163 -0
- package/dist/edge/p2p/sharing/PatternSerializer.d.ts.map +1 -0
- package/dist/edge/p2p/sharing/PatternSerializer.js +696 -0
- package/dist/edge/p2p/sharing/PatternSerializer.js.map +1 -0
- package/dist/edge/p2p/sharing/PatternSyncManager.d.ts +242 -0
- package/dist/edge/p2p/sharing/PatternSyncManager.d.ts.map +1 -0
- package/dist/edge/p2p/sharing/PatternSyncManager.js +859 -0
- package/dist/edge/p2p/sharing/PatternSyncManager.js.map +1 -0
- package/dist/edge/p2p/sharing/index.d.ts +90 -0
- package/dist/edge/p2p/sharing/index.d.ts.map +1 -0
- package/dist/edge/p2p/sharing/index.js +152 -0
- package/dist/edge/p2p/sharing/index.js.map +1 -0
- package/dist/edge/p2p/sharing/types.d.ts +796 -0
- package/dist/edge/p2p/sharing/types.d.ts.map +1 -0
- package/dist/edge/p2p/sharing/types.js +264 -0
- package/dist/edge/p2p/sharing/types.js.map +1 -0
- package/dist/edge/p2p/webrtc/ConnectionPool.d.ts +218 -0
- package/dist/edge/p2p/webrtc/ConnectionPool.d.ts.map +1 -0
- package/dist/edge/p2p/webrtc/ConnectionPool.js +562 -0
- package/dist/edge/p2p/webrtc/ConnectionPool.js.map +1 -0
- package/dist/edge/p2p/webrtc/ICEManager.d.ts +171 -0
- package/dist/edge/p2p/webrtc/ICEManager.d.ts.map +1 -0
- package/dist/edge/p2p/webrtc/ICEManager.js +490 -0
- package/dist/edge/p2p/webrtc/ICEManager.js.map +1 -0
- package/dist/edge/p2p/webrtc/PeerConnectionManager.d.ts +159 -0
- package/dist/edge/p2p/webrtc/PeerConnectionManager.d.ts.map +1 -0
- package/dist/edge/p2p/webrtc/PeerConnectionManager.js +735 -0
- package/dist/edge/p2p/webrtc/PeerConnectionManager.js.map +1 -0
- package/dist/edge/p2p/webrtc/SignalingClient.d.ts +191 -0
- package/dist/edge/p2p/webrtc/SignalingClient.d.ts.map +1 -0
- package/dist/edge/p2p/webrtc/SignalingClient.js +608 -0
- package/dist/edge/p2p/webrtc/SignalingClient.js.map +1 -0
- package/dist/edge/p2p/webrtc/index.d.ts +158 -0
- package/dist/edge/p2p/webrtc/index.d.ts.map +1 -0
- package/dist/edge/p2p/webrtc/index.js +164 -0
- package/dist/edge/p2p/webrtc/index.js.map +1 -0
- package/dist/edge/p2p/webrtc/types.d.ts +665 -0
- package/dist/edge/p2p/webrtc/types.d.ts.map +1 -0
- package/dist/edge/p2p/webrtc/types.js +245 -0
- package/dist/edge/p2p/webrtc/types.js.map +1 -0
- package/dist/edge/server/AgentSpawnAPI.d.ts +98 -0
- package/dist/edge/server/AgentSpawnAPI.d.ts.map +1 -0
- package/dist/edge/server/AgentSpawnAPI.js +264 -0
- package/dist/edge/server/AgentSpawnAPI.js.map +1 -0
- package/dist/edge/server/SignalingServer.d.ts +71 -0
- package/dist/edge/server/SignalingServer.d.ts.map +1 -0
- package/dist/edge/server/SignalingServer.js +429 -0
- package/dist/edge/server/SignalingServer.js.map +1 -0
- package/dist/edge/server/index.d.ts +64 -0
- package/dist/edge/server/index.d.ts.map +1 -0
- package/dist/edge/server/index.js +318 -0
- package/dist/edge/server/index.js.map +1 -0
- package/dist/edge/types/browser-agent.types.d.ts +455 -0
- package/dist/edge/types/browser-agent.types.d.ts.map +1 -0
- package/dist/edge/types/browser-agent.types.js +116 -0
- package/dist/edge/types/browser-agent.types.js.map +1 -0
- package/dist/edge/types/index.d.ts +11 -0
- package/dist/edge/types/index.d.ts.map +1 -0
- package/dist/edge/types/index.js +17 -0
- package/dist/edge/types/index.js.map +1 -0
- package/dist/edge/types/storage.types.d.ts +207 -0
- package/dist/edge/types/storage.types.d.ts.map +1 -0
- package/dist/edge/types/storage.types.js +47 -0
- package/dist/edge/types/storage.types.js.map +1 -0
- package/dist/edge/wasm/shims.d.ts +224 -0
- package/dist/edge/wasm/shims.d.ts.map +1 -0
- package/dist/edge/wasm/shims.js +667 -0
- package/dist/edge/wasm/shims.js.map +1 -0
- package/dist/mcp/handlers/NewDomainToolsHandler.d.ts +33 -0
- package/dist/mcp/handlers/NewDomainToolsHandler.d.ts.map +1 -0
- package/dist/mcp/handlers/NewDomainToolsHandler.js +305 -0
- package/dist/mcp/handlers/NewDomainToolsHandler.js.map +1 -0
- package/dist/mcp/handlers/filtered/index.d.ts +15 -19
- package/dist/mcp/handlers/filtered/index.d.ts.map +1 -1
- package/dist/mcp/handlers/filtered/index.js +16 -27
- package/dist/mcp/handlers/filtered/index.js.map +1 -1
- package/dist/mcp/handlers/integration/index.d.ts +5 -4
- package/dist/mcp/handlers/integration/index.d.ts.map +1 -1
- package/dist/mcp/handlers/integration/index.js +7 -7
- package/dist/mcp/handlers/integration/index.js.map +1 -1
- package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts +54 -0
- package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts.map +1 -0
- package/dist/mcp/handlers/ruvector/RuVectorHandler.js +325 -0
- package/dist/mcp/handlers/ruvector/RuVectorHandler.js.map +1 -0
- package/dist/mcp/handlers/ruvector/index.d.ts +5 -0
- package/dist/mcp/handlers/ruvector/index.d.ts.map +1 -0
- package/dist/mcp/handlers/ruvector/index.js +9 -0
- package/dist/mcp/handlers/ruvector/index.js.map +1 -0
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +114 -22
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts +8 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +412 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/nervous-system/adapters/BTSPAdapter.d.ts +342 -0
- package/dist/nervous-system/adapters/BTSPAdapter.d.ts.map +1 -0
- package/dist/nervous-system/adapters/BTSPAdapter.js +494 -0
- package/dist/nervous-system/adapters/BTSPAdapter.js.map +1 -0
- package/dist/nervous-system/adapters/CircadianController.d.ts +560 -0
- package/dist/nervous-system/adapters/CircadianController.d.ts.map +1 -0
- package/dist/nervous-system/adapters/CircadianController.js +882 -0
- package/dist/nervous-system/adapters/CircadianController.js.map +1 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts +337 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts.map +1 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js +532 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js.map +1 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts +444 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts.map +1 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.js +715 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.js.map +1 -0
- package/dist/nervous-system/adapters/ReflexLayer.d.ts +231 -0
- package/dist/nervous-system/adapters/ReflexLayer.d.ts.map +1 -0
- package/dist/nervous-system/adapters/ReflexLayer.js +309 -0
- package/dist/nervous-system/adapters/ReflexLayer.js.map +1 -0
- package/dist/nervous-system/index.d.ts +25 -0
- package/dist/nervous-system/index.d.ts.map +1 -0
- package/dist/nervous-system/index.js +80 -0
- package/dist/nervous-system/index.js.map +1 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.d.ts +266 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.d.ts.map +1 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.js +587 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.js.map +1 -0
- package/dist/nervous-system/integration/CircadianAgent.d.ts +389 -0
- package/dist/nervous-system/integration/CircadianAgent.d.ts.map +1 -0
- package/dist/nervous-system/integration/CircadianAgent.js +696 -0
- package/dist/nervous-system/integration/CircadianAgent.js.map +1 -0
- package/dist/nervous-system/integration/HybridPatternStore.d.ts +244 -0
- package/dist/nervous-system/integration/HybridPatternStore.d.ts.map +1 -0
- package/dist/nervous-system/integration/HybridPatternStore.js +622 -0
- package/dist/nervous-system/integration/HybridPatternStore.js.map +1 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts +459 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts.map +1 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.js +921 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.js.map +1 -0
- package/dist/nervous-system/integration/WorkspaceAgent.d.ts +398 -0
- package/dist/nervous-system/integration/WorkspaceAgent.d.ts.map +1 -0
- package/dist/nervous-system/integration/WorkspaceAgent.js +722 -0
- package/dist/nervous-system/integration/WorkspaceAgent.js.map +1 -0
- package/dist/nervous-system/integration/index.d.ts +22 -0
- package/dist/nervous-system/integration/index.d.ts.map +1 -0
- package/dist/nervous-system/integration/index.js +44 -0
- package/dist/nervous-system/integration/index.js.map +1 -0
- package/dist/nervous-system/persistence/BTSPSerializer.d.ts +96 -0
- package/dist/nervous-system/persistence/BTSPSerializer.d.ts.map +1 -0
- package/dist/nervous-system/persistence/BTSPSerializer.js +223 -0
- package/dist/nervous-system/persistence/BTSPSerializer.js.map +1 -0
- package/dist/nervous-system/persistence/CircadianSerializer.d.ts +90 -0
- package/dist/nervous-system/persistence/CircadianSerializer.d.ts.map +1 -0
- package/dist/nervous-system/persistence/CircadianSerializer.js +239 -0
- package/dist/nervous-system/persistence/CircadianSerializer.js.map +1 -0
- package/dist/nervous-system/persistence/HdcSerializer.d.ts +100 -0
- package/dist/nervous-system/persistence/HdcSerializer.d.ts.map +1 -0
- package/dist/nervous-system/persistence/HdcSerializer.js +259 -0
- package/dist/nervous-system/persistence/HdcSerializer.js.map +1 -0
- package/dist/nervous-system/persistence/INervousSystemStore.d.ts +208 -0
- package/dist/nervous-system/persistence/INervousSystemStore.d.ts.map +1 -0
- package/dist/nervous-system/persistence/INervousSystemStore.js +11 -0
- package/dist/nervous-system/persistence/INervousSystemStore.js.map +1 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts +187 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts.map +1 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js +411 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js.map +1 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts +98 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts.map +1 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js +510 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js.map +1 -0
- package/dist/nervous-system/persistence/index.d.ts +22 -0
- package/dist/nervous-system/persistence/index.d.ts.map +1 -0
- package/dist/nervous-system/persistence/index.js +45 -0
- package/dist/nervous-system/persistence/index.js.map +1 -0
- package/dist/nervous-system/wasm-loader.d.ts +52 -0
- package/dist/nervous-system/wasm-loader.d.ts.map +1 -0
- package/dist/nervous-system/wasm-loader.js +188 -0
- package/dist/nervous-system/wasm-loader.js.map +1 -0
- package/dist/persistence/HybridPersistenceProvider.d.ts +184 -0
- package/dist/persistence/HybridPersistenceProvider.d.ts.map +1 -0
- package/dist/persistence/HybridPersistenceProvider.js +1086 -0
- package/dist/persistence/HybridPersistenceProvider.js.map +1 -0
- package/dist/persistence/IPersistenceProvider.d.ts +657 -0
- package/dist/persistence/IPersistenceProvider.d.ts.map +1 -0
- package/dist/persistence/IPersistenceProvider.js +11 -0
- package/dist/persistence/IPersistenceProvider.js.map +1 -0
- package/dist/persistence/SupabaseConfig.d.ts +176 -0
- package/dist/persistence/SupabaseConfig.d.ts.map +1 -0
- package/dist/persistence/SupabaseConfig.js +277 -0
- package/dist/persistence/SupabaseConfig.js.map +1 -0
- package/dist/persistence/SupabasePersistenceProvider.d.ts +143 -0
- package/dist/persistence/SupabasePersistenceProvider.d.ts.map +1 -0
- package/dist/persistence/SupabasePersistenceProvider.js +955 -0
- package/dist/persistence/SupabasePersistenceProvider.js.map +1 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts +213 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts.map +1 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js +468 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js.map +1 -0
- package/dist/persistence/adapters/MemorySyncAdapter.d.ts +115 -0
- package/dist/persistence/adapters/MemorySyncAdapter.d.ts.map +1 -0
- package/dist/persistence/adapters/MemorySyncAdapter.js +291 -0
- package/dist/persistence/adapters/MemorySyncAdapter.js.map +1 -0
- package/dist/persistence/adapters/index.d.ts +11 -0
- package/dist/persistence/adapters/index.d.ts.map +1 -0
- package/dist/persistence/adapters/index.js +20 -0
- package/dist/persistence/adapters/index.js.map +1 -0
- package/dist/persistence/index.d.ts +14 -0
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +36 -1
- package/dist/persistence/index.js.map +1 -1
- package/dist/planning/GOAPPlanner.d.ts +1 -0
- package/dist/planning/GOAPPlanner.d.ts.map +1 -1
- package/dist/planning/GOAPPlanner.js +12 -0
- package/dist/planning/GOAPPlanner.js.map +1 -1
- package/package.json +31 -8
- package/dist/alerting/AlertManager.d.ts +0 -120
- package/dist/alerting/AlertManager.d.ts.map +0 -1
- package/dist/alerting/AlertManager.js +0 -345
- package/dist/alerting/AlertManager.js.map +0 -1
- package/dist/alerting/FeedbackRouter.d.ts +0 -98
- package/dist/alerting/FeedbackRouter.d.ts.map +0 -1
- package/dist/alerting/FeedbackRouter.js +0 -331
- package/dist/alerting/FeedbackRouter.js.map +0 -1
- package/dist/alerting/StrategyApplicator.d.ts +0 -120
- package/dist/alerting/StrategyApplicator.d.ts.map +0 -1
- package/dist/alerting/StrategyApplicator.js +0 -299
- package/dist/alerting/StrategyApplicator.js.map +0 -1
- package/dist/alerting/index.d.ts +0 -68
- package/dist/alerting/index.d.ts.map +0 -1
- package/dist/alerting/index.js +0 -112
- package/dist/alerting/index.js.map +0 -1
- package/dist/alerting/types.d.ts +0 -118
- package/dist/alerting/types.d.ts.map +0 -1
- package/dist/alerting/types.js +0 -11
- package/dist/alerting/types.js.map +0 -1
- package/dist/cli/commands/fleet/backup.d.ts +0 -49
- package/dist/cli/commands/fleet/backup.d.ts.map +0 -1
- package/dist/cli/commands/fleet/backup.js +0 -88
- package/dist/cli/commands/fleet/backup.js.map +0 -1
- package/dist/cli/commands/fleet/health.d.ts +0 -154
- package/dist/cli/commands/fleet/health.d.ts.map +0 -1
- package/dist/cli/commands/fleet/health.js +0 -483
- package/dist/cli/commands/fleet/health.js.map +0 -1
- package/dist/cli/commands/fleet/init.d.ts +0 -11
- package/dist/cli/commands/fleet/init.d.ts.map +0 -1
- package/dist/cli/commands/fleet/init.js +0 -91
- package/dist/cli/commands/fleet/init.js.map +0 -1
- package/dist/cli/commands/fleet/logs.d.ts +0 -21
- package/dist/cli/commands/fleet/logs.d.ts.map +0 -1
- package/dist/cli/commands/fleet/logs.js +0 -267
- package/dist/cli/commands/fleet/logs.js.map +0 -1
- package/dist/cli/commands/fleet/metrics.d.ts +0 -27
- package/dist/cli/commands/fleet/metrics.d.ts.map +0 -1
- package/dist/cli/commands/fleet/metrics.js +0 -369
- package/dist/cli/commands/fleet/metrics.js.map +0 -1
- package/dist/cli/commands/fleet/monitor.d.ts +0 -18
- package/dist/cli/commands/fleet/monitor.d.ts.map +0 -1
- package/dist/cli/commands/fleet/monitor.js +0 -237
- package/dist/cli/commands/fleet/monitor.js.map +0 -1
- package/dist/cli/commands/fleet/optimize.d.ts +0 -42
- package/dist/cli/commands/fleet/optimize.d.ts.map +0 -1
- package/dist/cli/commands/fleet/optimize.js +0 -135
- package/dist/cli/commands/fleet/optimize.js.map +0 -1
- package/dist/cli/commands/fleet/recover.d.ts +0 -22
- package/dist/cli/commands/fleet/recover.d.ts.map +0 -1
- package/dist/cli/commands/fleet/recover.js +0 -99
- package/dist/cli/commands/fleet/recover.js.map +0 -1
- package/dist/cli/commands/fleet/restart.d.ts +0 -18
- package/dist/cli/commands/fleet/restart.d.ts.map +0 -1
- package/dist/cli/commands/fleet/restart.js +0 -290
- package/dist/cli/commands/fleet/restart.js.map +0 -1
- package/dist/cli/commands/fleet/scale.d.ts +0 -9
- package/dist/cli/commands/fleet/scale.d.ts.map +0 -1
- package/dist/cli/commands/fleet/scale.js +0 -77
- package/dist/cli/commands/fleet/scale.js.map +0 -1
- package/dist/cli/commands/fleet/shutdown.d.ts +0 -19
- package/dist/cli/commands/fleet/shutdown.d.ts.map +0 -1
- package/dist/cli/commands/fleet/shutdown.js +0 -307
- package/dist/cli/commands/fleet/shutdown.js.map +0 -1
- package/dist/cli/commands/fleet/status.d.ts +0 -10
- package/dist/cli/commands/fleet/status.d.ts.map +0 -1
- package/dist/cli/commands/fleet/status.js +0 -97
- package/dist/cli/commands/fleet/status.js.map +0 -1
- package/dist/cli/commands/fleet/topology.d.ts +0 -23
- package/dist/cli/commands/fleet/topology.d.ts.map +0 -1
- package/dist/cli/commands/fleet/topology.js +0 -376
- package/dist/cli/commands/fleet/topology.js.map +0 -1
- package/dist/cli/commands/monitor/alerts.d.ts +0 -45
- package/dist/cli/commands/monitor/alerts.d.ts.map +0 -1
- package/dist/cli/commands/monitor/alerts.js +0 -168
- package/dist/cli/commands/monitor/alerts.js.map +0 -1
- package/dist/cli/commands/monitor/analyze.d.ts +0 -49
- package/dist/cli/commands/monitor/analyze.d.ts.map +0 -1
- package/dist/cli/commands/monitor/analyze.js +0 -209
- package/dist/cli/commands/monitor/analyze.js.map +0 -1
- package/dist/cli/commands/monitor/compare.d.ts +0 -38
- package/dist/cli/commands/monitor/compare.d.ts.map +0 -1
- package/dist/cli/commands/monitor/compare.js +0 -177
- package/dist/cli/commands/monitor/compare.js.map +0 -1
- package/dist/cli/commands/monitor/dashboard.d.ts +0 -34
- package/dist/cli/commands/monitor/dashboard.d.ts.map +0 -1
- package/dist/cli/commands/monitor/dashboard.js +0 -157
- package/dist/cli/commands/monitor/dashboard.js.map +0 -1
- package/dist/cli/commands/monitor/export.d.ts +0 -36
- package/dist/cli/commands/monitor/export.d.ts.map +0 -1
- package/dist/cli/commands/monitor/export.js +0 -157
- package/dist/cli/commands/monitor/export.js.map +0 -1
- package/dist/cli/commands/monitor/index.d.ts +0 -11
- package/dist/cli/commands/monitor/index.d.ts.map +0 -1
- package/dist/cli/commands/monitor/index.js +0 -14
- package/dist/cli/commands/monitor/index.js.map +0 -1
- package/dist/cli/commands/quality/baseline.d.ts +0 -27
- package/dist/cli/commands/quality/baseline.d.ts.map +0 -1
- package/dist/cli/commands/quality/baseline.js +0 -124
- package/dist/cli/commands/quality/baseline.js.map +0 -1
- package/dist/cli/commands/quality/compare.d.ts +0 -36
- package/dist/cli/commands/quality/compare.d.ts.map +0 -1
- package/dist/cli/commands/quality/compare.js +0 -136
- package/dist/cli/commands/quality/compare.js.map +0 -1
- package/dist/cli/commands/quality/decision.d.ts +0 -81
- package/dist/cli/commands/quality/decision.d.ts.map +0 -1
- package/dist/cli/commands/quality/decision.js +0 -319
- package/dist/cli/commands/quality/decision.js.map +0 -1
- package/dist/cli/commands/quality/gate.d.ts +0 -47
- package/dist/cli/commands/quality/gate.d.ts.map +0 -1
- package/dist/cli/commands/quality/gate.js +0 -205
- package/dist/cli/commands/quality/gate.js.map +0 -1
- package/dist/cli/commands/quality/index.d.ts +0 -17
- package/dist/cli/commands/quality/index.d.ts.map +0 -1
- package/dist/cli/commands/quality/index.js +0 -41
- package/dist/cli/commands/quality/index.js.map +0 -1
- package/dist/cli/commands/quality/policy.d.ts +0 -57
- package/dist/cli/commands/quality/policy.d.ts.map +0 -1
- package/dist/cli/commands/quality/policy.js +0 -359
- package/dist/cli/commands/quality/policy.js.map +0 -1
- package/dist/cli/commands/quality/risk.d.ts +0 -41
- package/dist/cli/commands/quality/risk.d.ts.map +0 -1
- package/dist/cli/commands/quality/risk.js +0 -255
- package/dist/cli/commands/quality/risk.js.map +0 -1
- package/dist/cli/commands/quality/trends.d.ts +0 -40
- package/dist/cli/commands/quality/trends.d.ts.map +0 -1
- package/dist/cli/commands/quality/trends.js +0 -122
- package/dist/cli/commands/quality/trends.js.map +0 -1
- package/dist/cli/commands/quality/validate.d.ts +0 -44
- package/dist/cli/commands/quality/validate.d.ts.map +0 -1
- package/dist/cli/commands/quality/validate.js +0 -234
- package/dist/cli/commands/quality/validate.js.map +0 -1
- package/dist/cli/commands/test/analyze-failures.d.ts +0 -39
- package/dist/cli/commands/test/analyze-failures.d.ts.map +0 -1
- package/dist/cli/commands/test/analyze-failures.js +0 -113
- package/dist/cli/commands/test/analyze-failures.js.map +0 -1
- package/dist/cli/commands/test/clean.d.ts +0 -3
- package/dist/cli/commands/test/clean.d.ts.map +0 -1
- package/dist/cli/commands/test/clean.js +0 -148
- package/dist/cli/commands/test/clean.js.map +0 -1
- package/dist/cli/commands/test/debug.d.ts +0 -3
- package/dist/cli/commands/test/debug.d.ts.map +0 -1
- package/dist/cli/commands/test/debug.js +0 -167
- package/dist/cli/commands/test/debug.js.map +0 -1
- package/dist/cli/commands/test/diff.d.ts +0 -3
- package/dist/cli/commands/test/diff.d.ts.map +0 -1
- package/dist/cli/commands/test/diff.js +0 -195
- package/dist/cli/commands/test/diff.js.map +0 -1
- package/dist/cli/commands/test/flakiness.d.ts +0 -32
- package/dist/cli/commands/test/flakiness.d.ts.map +0 -1
- package/dist/cli/commands/test/flakiness.js +0 -121
- package/dist/cli/commands/test/flakiness.js.map +0 -1
- package/dist/cli/commands/test/index.d.ts +0 -17
- package/dist/cli/commands/test/index.d.ts.map +0 -1
- package/dist/cli/commands/test/index.js +0 -45
- package/dist/cli/commands/test/index.js.map +0 -1
- package/dist/cli/commands/test/mutate.d.ts +0 -29
- package/dist/cli/commands/test/mutate.d.ts.map +0 -1
- package/dist/cli/commands/test/mutate.js +0 -163
- package/dist/cli/commands/test/mutate.js.map +0 -1
- package/dist/cli/commands/test/parallel.d.ts +0 -3
- package/dist/cli/commands/test/parallel.d.ts.map +0 -1
- package/dist/cli/commands/test/parallel.js +0 -117
- package/dist/cli/commands/test/parallel.js.map +0 -1
- package/dist/cli/commands/test/profile.d.ts +0 -3
- package/dist/cli/commands/test/profile.d.ts.map +0 -1
- package/dist/cli/commands/test/profile.js +0 -156
- package/dist/cli/commands/test/profile.js.map +0 -1
- package/dist/cli/commands/test/queue.d.ts +0 -3
- package/dist/cli/commands/test/queue.d.ts.map +0 -1
- package/dist/cli/commands/test/queue.js +0 -140
- package/dist/cli/commands/test/queue.js.map +0 -1
- package/dist/cli/commands/test/retry.d.ts +0 -3
- package/dist/cli/commands/test/retry.d.ts.map +0 -1
- package/dist/cli/commands/test/retry.js +0 -105
- package/dist/cli/commands/test/retry.js.map +0 -1
- package/dist/cli/commands/test/snapshot.d.ts +0 -3
- package/dist/cli/commands/test/snapshot.d.ts.map +0 -1
- package/dist/cli/commands/test/snapshot.js +0 -176
- package/dist/cli/commands/test/snapshot.js.map +0 -1
- package/dist/cli/commands/test/trace.d.ts +0 -3
- package/dist/cli/commands/test/trace.d.ts.map +0 -1
- package/dist/cli/commands/test/trace.js +0 -137
- package/dist/cli/commands/test/trace.js.map +0 -1
- package/dist/cli/commands/test/watch.d.ts +0 -3
- package/dist/cli/commands/test/watch.d.ts.map +0 -1
- package/dist/cli/commands/test/watch.js +0 -130
- package/dist/cli/commands/test/watch.js.map +0 -1
- package/dist/cli/index-spec.d.ts +0 -3
- package/dist/cli/index-spec.d.ts.map +0 -1
- package/dist/cli/index-spec.js +0 -154
- package/dist/cli/index-spec.js.map +0 -1
- package/dist/cli/index-working.d.ts +0 -7
- package/dist/cli/index-working.d.ts.map +0 -1
- package/dist/cli/index-working.js +0 -617
- package/dist/cli/index-working.js.map +0 -1
- package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.d.ts +0 -83
- package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.d.ts.map +0 -1
- package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.js +0 -130
- package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.js.map +0 -1
- package/dist/mcp/handlers/filtered/flaky-detector-filtered.d.ts +0 -58
- package/dist/mcp/handlers/filtered/flaky-detector-filtered.d.ts.map +0 -1
- package/dist/mcp/handlers/filtered/flaky-detector-filtered.js +0 -84
- package/dist/mcp/handlers/filtered/flaky-detector-filtered.js.map +0 -1
- package/dist/mcp/handlers/filtered/security-scanner-filtered.d.ts +0 -54
- package/dist/mcp/handlers/filtered/security-scanner-filtered.d.ts.map +0 -1
- package/dist/mcp/handlers/filtered/security-scanner-filtered.js +0 -73
- package/dist/mcp/handlers/filtered/security-scanner-filtered.js.map +0 -1
- package/dist/mcp/handlers/integration/contract-validate.d.ts +0 -10
- package/dist/mcp/handlers/integration/contract-validate.d.ts.map +0 -1
- package/dist/mcp/handlers/integration/contract-validate.js +0 -348
- package/dist/mcp/handlers/integration/contract-validate.js.map +0 -1
- package/dist/reporting/ResultAggregator.d.ts +0 -107
- package/dist/reporting/ResultAggregator.d.ts.map +0 -1
- package/dist/reporting/ResultAggregator.js +0 -435
- package/dist/reporting/ResultAggregator.js.map +0 -1
- package/dist/reporting/index.d.ts +0 -48
- package/dist/reporting/index.d.ts.map +0 -1
- package/dist/reporting/index.js +0 -154
- package/dist/reporting/index.js.map +0 -1
- package/dist/reporting/reporters/ControlLoopReporter.d.ts +0 -128
- package/dist/reporting/reporters/ControlLoopReporter.d.ts.map +0 -1
- package/dist/reporting/reporters/ControlLoopReporter.js +0 -417
- package/dist/reporting/reporters/ControlLoopReporter.js.map +0 -1
- package/dist/reporting/reporters/HumanReadableReporter.d.ts +0 -140
- package/dist/reporting/reporters/HumanReadableReporter.d.ts.map +0 -1
- package/dist/reporting/reporters/HumanReadableReporter.js +0 -524
- package/dist/reporting/reporters/HumanReadableReporter.js.map +0 -1
- package/dist/reporting/reporters/JSONReporter.d.ts +0 -251
- package/dist/reporting/reporters/JSONReporter.d.ts.map +0 -1
- package/dist/reporting/reporters/JSONReporter.js +0 -325
- package/dist/reporting/reporters/JSONReporter.js.map +0 -1
- package/dist/reporting/reporters/index.d.ts +0 -14
- package/dist/reporting/reporters/index.d.ts.map +0 -1
- package/dist/reporting/reporters/index.js +0 -19
- package/dist/reporting/reporters/index.js.map +0 -1
- package/dist/reporting/types.d.ts +0 -427
- package/dist/reporting/types.d.ts.map +0 -1
- package/dist/reporting/types.js +0 -12
- package/dist/reporting/types.js.map +0 -1
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ed25519 Signature Operations
|
|
3
|
+
*
|
|
4
|
+
* Provides signing and verification operations for P2P agent messages.
|
|
5
|
+
* Uses SHA-256 based HMAC for browser compatibility (production should use proper Ed25519).
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Sign messages with private key
|
|
9
|
+
* - Verify signatures with public key
|
|
10
|
+
* - JSON canonicalization for structured data
|
|
11
|
+
* - Batch signature verification
|
|
12
|
+
* - Identity proof generation
|
|
13
|
+
*
|
|
14
|
+
* @module edge/p2p/crypto/Signer
|
|
15
|
+
* @version 1.0.0
|
|
16
|
+
*/
|
|
17
|
+
import type { KeyPair, SignedMessage, VerificationResult, BatchVerificationResult, IdentityProof, AgentIdentity } from './types';
|
|
18
|
+
/**
|
|
19
|
+
* Signer - Ed25519 signature operations for P2P messages
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* // Sign a message
|
|
24
|
+
* const signed = await Signer.sign(keyPair, identity, { action: 'share-pattern', data: {...} });
|
|
25
|
+
*
|
|
26
|
+
* // Verify signature
|
|
27
|
+
* const result = await Signer.verify(signed);
|
|
28
|
+
* if (result.valid) {
|
|
29
|
+
* console.log('Signed by:', result.signerId);
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare class Signer {
|
|
34
|
+
/**
|
|
35
|
+
* Sign a message with the private key
|
|
36
|
+
*
|
|
37
|
+
* @param keyPair - Ed25519 keypair
|
|
38
|
+
* @param identity - Agent identity
|
|
39
|
+
* @param payload - Message payload to sign
|
|
40
|
+
* @param includeNonce - Whether to include a nonce (default: true)
|
|
41
|
+
* @returns Signed message
|
|
42
|
+
*/
|
|
43
|
+
static sign<T>(keyPair: KeyPair, identity: AgentIdentity, payload: T, includeNonce?: boolean): Promise<SignedMessage<T>>;
|
|
44
|
+
/**
|
|
45
|
+
* Sign raw bytes
|
|
46
|
+
*
|
|
47
|
+
* @param keyPair - Ed25519 keypair
|
|
48
|
+
* @param data - Data to sign
|
|
49
|
+
* @returns Base64-encoded signature
|
|
50
|
+
*/
|
|
51
|
+
static signRaw(keyPair: KeyPair, data: Uint8Array): Promise<string>;
|
|
52
|
+
/**
|
|
53
|
+
* Verify a signed message
|
|
54
|
+
*
|
|
55
|
+
* @param signedMessage - Message to verify
|
|
56
|
+
* @returns Verification result
|
|
57
|
+
*/
|
|
58
|
+
static verify<T>(signedMessage: SignedMessage<T>): Promise<VerificationResult>;
|
|
59
|
+
/**
|
|
60
|
+
* Verify raw signature
|
|
61
|
+
*
|
|
62
|
+
* @param publicKey - Base64-encoded public key
|
|
63
|
+
* @param signature - Base64-encoded signature
|
|
64
|
+
* @param data - Original data
|
|
65
|
+
* @returns true if valid
|
|
66
|
+
*/
|
|
67
|
+
static verifyRaw(publicKey: string, signature: string, data: Uint8Array): Promise<boolean>;
|
|
68
|
+
/**
|
|
69
|
+
* Verify multiple messages in batch
|
|
70
|
+
*
|
|
71
|
+
* @param messages - Array of signed messages to verify
|
|
72
|
+
* @returns Batch verification results
|
|
73
|
+
*/
|
|
74
|
+
static verifyBatch<T>(messages: SignedMessage<T>[]): Promise<BatchVerificationResult>;
|
|
75
|
+
/**
|
|
76
|
+
* Create an identity proof for authentication
|
|
77
|
+
*
|
|
78
|
+
* @param keyPair - Ed25519 keypair
|
|
79
|
+
* @param identity - Agent identity
|
|
80
|
+
* @param challenge - Challenge string to sign
|
|
81
|
+
* @param expiresIn - Expiration in milliseconds (default: 5 minutes)
|
|
82
|
+
* @returns Identity proof
|
|
83
|
+
*/
|
|
84
|
+
static createIdentityProof(keyPair: KeyPair, identity: AgentIdentity, challenge: string, expiresIn?: number): Promise<IdentityProof>;
|
|
85
|
+
/**
|
|
86
|
+
* Verify an identity proof
|
|
87
|
+
*
|
|
88
|
+
* @param proof - Identity proof to verify
|
|
89
|
+
* @returns Verification result
|
|
90
|
+
*/
|
|
91
|
+
static verifyIdentityProof(proof: IdentityProof): Promise<VerificationResult>;
|
|
92
|
+
/**
|
|
93
|
+
* Generate a random challenge for authentication
|
|
94
|
+
*
|
|
95
|
+
* @param length - Challenge length in bytes (default: 32)
|
|
96
|
+
* @returns Base64-encoded challenge
|
|
97
|
+
*/
|
|
98
|
+
static generateChallenge(length?: number): string;
|
|
99
|
+
/**
|
|
100
|
+
* Canonicalize JSON for consistent signing
|
|
101
|
+
*
|
|
102
|
+
* @param obj - Object to canonicalize
|
|
103
|
+
* @returns Canonical JSON string
|
|
104
|
+
*/
|
|
105
|
+
static canonicalizeJson(obj: unknown): string;
|
|
106
|
+
/**
|
|
107
|
+
* Create canonical message bytes for signing
|
|
108
|
+
*/
|
|
109
|
+
private static createCanonicalMessage;
|
|
110
|
+
/**
|
|
111
|
+
* Create signature using HMAC-SHA256 (browser-compatible)
|
|
112
|
+
* Note: In production, use proper Ed25519 signing via @noble/ed25519
|
|
113
|
+
*/
|
|
114
|
+
private static createSignature;
|
|
115
|
+
/**
|
|
116
|
+
* Verify signature using HMAC-SHA256 (browser-compatible)
|
|
117
|
+
* Note: In production, use proper Ed25519 verification via @noble/ed25519
|
|
118
|
+
*/
|
|
119
|
+
private static verifySignature;
|
|
120
|
+
/**
|
|
121
|
+
* Generate random nonce
|
|
122
|
+
*/
|
|
123
|
+
private static generateNonce;
|
|
124
|
+
/**
|
|
125
|
+
* JSON replacer that sorts object keys for canonical output
|
|
126
|
+
*/
|
|
127
|
+
private static sortedReplacer;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Message envelope for P2P transmission
|
|
131
|
+
* Wraps signed messages with routing information
|
|
132
|
+
*/
|
|
133
|
+
export interface MessageEnvelope<T = unknown> {
|
|
134
|
+
/** Unique message ID */
|
|
135
|
+
messageId: string;
|
|
136
|
+
/** The signed message */
|
|
137
|
+
signedMessage: SignedMessage<T>;
|
|
138
|
+
/** Target agent ID (or '*' for broadcast) */
|
|
139
|
+
to: string;
|
|
140
|
+
/** Message type for routing */
|
|
141
|
+
type: string;
|
|
142
|
+
/** TTL in hops (for gossip protocols) */
|
|
143
|
+
ttl: number;
|
|
144
|
+
/** Timestamp for ordering */
|
|
145
|
+
timestamp: number;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Create a message envelope for P2P transmission
|
|
149
|
+
*
|
|
150
|
+
* @param signedMessage - The signed message
|
|
151
|
+
* @param to - Target agent ID
|
|
152
|
+
* @param type - Message type
|
|
153
|
+
* @param ttl - Time to live in hops
|
|
154
|
+
* @returns Message envelope
|
|
155
|
+
*/
|
|
156
|
+
export declare function createEnvelope<T>(signedMessage: SignedMessage<T>, to: string, type: string, ttl?: number): MessageEnvelope<T>;
|
|
157
|
+
/**
|
|
158
|
+
* Verify a message envelope
|
|
159
|
+
*
|
|
160
|
+
* @param envelope - Message envelope to verify
|
|
161
|
+
* @returns Verification result
|
|
162
|
+
*/
|
|
163
|
+
export declare function verifyEnvelope<T>(envelope: MessageEnvelope<T>): Promise<VerificationResult>;
|
|
164
|
+
//# sourceMappingURL=Signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Signer.d.ts","sourceRoot":"","sources":["../../../../src/edge/p2p/crypto/Signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,aAAa,EACd,MAAM,SAAS,CAAC;AASjB;;;;;;;;;;;;;;GAcG;AACH,qBAAa,MAAM;IACjB;;;;;;;;OAQG;WACU,IAAI,CAAC,CAAC,EACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,CAAC,EACV,YAAY,GAAE,OAAc,GAC3B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAyB5B;;;;;;OAMG;WACU,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzE;;;;;OAKG;WACU,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsCpF;;;;;;;OAOG;WACU,SAAS,CACpB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,CAAC;IAInB;;;;;OAKG;WACU,WAAW,CAAC,CAAC,EACxB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAC3B,OAAO,CAAC,uBAAuB,CAAC;IAcnC;;;;;;;;OAQG;WACU,mBAAmB,CAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAgC,GAC1C,OAAO,CAAC,aAAa,CAAC;IAqBzB;;;;;OAKG;WACU,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6CnF;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAE,MAAW,GAAG,MAAM;IAMrD;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAQ7C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAiBrC;;;OAGG;mBACkB,eAAe;IA4BpC;;;OAGG;mBACkB,eAAe;IAqCpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAM5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;CAW9B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAChC,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAU,GACd,eAAe,CAAC,CAAC,CAAC,CAWpB;AAiBD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAG7B"}
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Ed25519 Signature Operations
|
|
4
|
+
*
|
|
5
|
+
* Provides signing and verification operations for P2P agent messages.
|
|
6
|
+
* Uses SHA-256 based HMAC for browser compatibility (production should use proper Ed25519).
|
|
7
|
+
*
|
|
8
|
+
* Features:
|
|
9
|
+
* - Sign messages with private key
|
|
10
|
+
* - Verify signatures with public key
|
|
11
|
+
* - JSON canonicalization for structured data
|
|
12
|
+
* - Batch signature verification
|
|
13
|
+
* - Identity proof generation
|
|
14
|
+
*
|
|
15
|
+
* @module edge/p2p/crypto/Signer
|
|
16
|
+
* @version 1.0.0
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.Signer = void 0;
|
|
20
|
+
exports.createEnvelope = createEnvelope;
|
|
21
|
+
exports.verifyEnvelope = verifyEnvelope;
|
|
22
|
+
const Identity_1 = require("./Identity");
|
|
23
|
+
/**
|
|
24
|
+
* Default proof expiration (5 minutes)
|
|
25
|
+
*/
|
|
26
|
+
const DEFAULT_PROOF_EXPIRY_MS = 5 * 60 * 1000;
|
|
27
|
+
/**
|
|
28
|
+
* Signer - Ed25519 signature operations for P2P messages
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* // Sign a message
|
|
33
|
+
* const signed = await Signer.sign(keyPair, identity, { action: 'share-pattern', data: {...} });
|
|
34
|
+
*
|
|
35
|
+
* // Verify signature
|
|
36
|
+
* const result = await Signer.verify(signed);
|
|
37
|
+
* if (result.valid) {
|
|
38
|
+
* console.log('Signed by:', result.signerId);
|
|
39
|
+
* }
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
class Signer {
|
|
43
|
+
/**
|
|
44
|
+
* Sign a message with the private key
|
|
45
|
+
*
|
|
46
|
+
* @param keyPair - Ed25519 keypair
|
|
47
|
+
* @param identity - Agent identity
|
|
48
|
+
* @param payload - Message payload to sign
|
|
49
|
+
* @param includeNonce - Whether to include a nonce (default: true)
|
|
50
|
+
* @returns Signed message
|
|
51
|
+
*/
|
|
52
|
+
static async sign(keyPair, identity, payload, includeNonce = true) {
|
|
53
|
+
const signedAt = new Date().toISOString();
|
|
54
|
+
const nonce = includeNonce ? this.generateNonce() : undefined;
|
|
55
|
+
// Create canonical message for signing
|
|
56
|
+
const messageToSign = this.createCanonicalMessage(payload, identity.publicKey, signedAt, nonce);
|
|
57
|
+
// Sign the message
|
|
58
|
+
const signature = await this.createSignature(keyPair.privateKey, messageToSign);
|
|
59
|
+
return {
|
|
60
|
+
payload,
|
|
61
|
+
signature,
|
|
62
|
+
signerPublicKey: identity.publicKey,
|
|
63
|
+
signerId: identity.agentId,
|
|
64
|
+
signedAt,
|
|
65
|
+
nonce,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Sign raw bytes
|
|
70
|
+
*
|
|
71
|
+
* @param keyPair - Ed25519 keypair
|
|
72
|
+
* @param data - Data to sign
|
|
73
|
+
* @returns Base64-encoded signature
|
|
74
|
+
*/
|
|
75
|
+
static async signRaw(keyPair, data) {
|
|
76
|
+
return this.createSignature(keyPair.privateKey, data);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Verify a signed message
|
|
80
|
+
*
|
|
81
|
+
* @param signedMessage - Message to verify
|
|
82
|
+
* @returns Verification result
|
|
83
|
+
*/
|
|
84
|
+
static async verify(signedMessage) {
|
|
85
|
+
try {
|
|
86
|
+
const { payload, signature, signerPublicKey, signedAt, nonce } = signedMessage;
|
|
87
|
+
// Recreate canonical message
|
|
88
|
+
const messageToVerify = this.createCanonicalMessage(payload, signerPublicKey, signedAt, nonce);
|
|
89
|
+
// Verify signature
|
|
90
|
+
const isValid = await this.verifySignature(signerPublicKey, signature, messageToVerify);
|
|
91
|
+
if (isValid) {
|
|
92
|
+
return {
|
|
93
|
+
valid: true,
|
|
94
|
+
signerId: signedMessage.signerId,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
return {
|
|
99
|
+
valid: false,
|
|
100
|
+
error: 'Invalid signature',
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
return {
|
|
106
|
+
valid: false,
|
|
107
|
+
error: error instanceof Error ? error.message : 'Verification failed',
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Verify raw signature
|
|
113
|
+
*
|
|
114
|
+
* @param publicKey - Base64-encoded public key
|
|
115
|
+
* @param signature - Base64-encoded signature
|
|
116
|
+
* @param data - Original data
|
|
117
|
+
* @returns true if valid
|
|
118
|
+
*/
|
|
119
|
+
static async verifyRaw(publicKey, signature, data) {
|
|
120
|
+
return this.verifySignature(publicKey, signature, data);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Verify multiple messages in batch
|
|
124
|
+
*
|
|
125
|
+
* @param messages - Array of signed messages to verify
|
|
126
|
+
* @returns Batch verification results
|
|
127
|
+
*/
|
|
128
|
+
static async verifyBatch(messages) {
|
|
129
|
+
const results = await Promise.all(messages.map((msg) => this.verify(msg)));
|
|
130
|
+
const valid = results.filter((r) => r.valid).length;
|
|
131
|
+
const invalid = results.filter((r) => !r.valid).length;
|
|
132
|
+
return {
|
|
133
|
+
total: messages.length,
|
|
134
|
+
valid,
|
|
135
|
+
invalid,
|
|
136
|
+
results,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Create an identity proof for authentication
|
|
141
|
+
*
|
|
142
|
+
* @param keyPair - Ed25519 keypair
|
|
143
|
+
* @param identity - Agent identity
|
|
144
|
+
* @param challenge - Challenge string to sign
|
|
145
|
+
* @param expiresIn - Expiration in milliseconds (default: 5 minutes)
|
|
146
|
+
* @returns Identity proof
|
|
147
|
+
*/
|
|
148
|
+
static async createIdentityProof(keyPair, identity, challenge, expiresIn = DEFAULT_PROOF_EXPIRY_MS) {
|
|
149
|
+
const timestamp = new Date().toISOString();
|
|
150
|
+
// Create proof message
|
|
151
|
+
const proofMessage = `proof:${identity.agentId}:${challenge}:${timestamp}:${expiresIn}`;
|
|
152
|
+
const encoder = new TextEncoder();
|
|
153
|
+
const messageBytes = encoder.encode(proofMessage);
|
|
154
|
+
// Sign the proof
|
|
155
|
+
const signature = await this.createSignature(keyPair.privateKey, messageBytes);
|
|
156
|
+
return {
|
|
157
|
+
agentId: identity.agentId,
|
|
158
|
+
publicKey: identity.publicKey,
|
|
159
|
+
challenge,
|
|
160
|
+
signature,
|
|
161
|
+
timestamp,
|
|
162
|
+
expiresIn,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Verify an identity proof
|
|
167
|
+
*
|
|
168
|
+
* @param proof - Identity proof to verify
|
|
169
|
+
* @returns Verification result
|
|
170
|
+
*/
|
|
171
|
+
static async verifyIdentityProof(proof) {
|
|
172
|
+
try {
|
|
173
|
+
// Check expiration
|
|
174
|
+
const proofTime = new Date(proof.timestamp).getTime();
|
|
175
|
+
const now = Date.now();
|
|
176
|
+
const expiresAt = proofTime + proof.expiresIn;
|
|
177
|
+
if (now > expiresAt) {
|
|
178
|
+
return {
|
|
179
|
+
valid: false,
|
|
180
|
+
error: 'Proof has expired',
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
// Recreate proof message
|
|
184
|
+
const proofMessage = `proof:${proof.agentId}:${proof.challenge}:${proof.timestamp}:${proof.expiresIn}`;
|
|
185
|
+
const encoder = new TextEncoder();
|
|
186
|
+
const messageBytes = encoder.encode(proofMessage);
|
|
187
|
+
// Verify signature
|
|
188
|
+
const isValid = await this.verifySignature(proof.publicKey, proof.signature, messageBytes);
|
|
189
|
+
if (isValid) {
|
|
190
|
+
return {
|
|
191
|
+
valid: true,
|
|
192
|
+
signerId: proof.agentId,
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
return {
|
|
197
|
+
valid: false,
|
|
198
|
+
error: 'Invalid proof signature',
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
catch (error) {
|
|
203
|
+
return {
|
|
204
|
+
valid: false,
|
|
205
|
+
error: error instanceof Error ? error.message : 'Proof verification failed',
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Generate a random challenge for authentication
|
|
211
|
+
*
|
|
212
|
+
* @param length - Challenge length in bytes (default: 32)
|
|
213
|
+
* @returns Base64-encoded challenge
|
|
214
|
+
*/
|
|
215
|
+
static generateChallenge(length = 32) {
|
|
216
|
+
const bytes = new Uint8Array(length);
|
|
217
|
+
crypto.getRandomValues(bytes);
|
|
218
|
+
return Identity_1.base64Utils.encode(bytes);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Canonicalize JSON for consistent signing
|
|
222
|
+
*
|
|
223
|
+
* @param obj - Object to canonicalize
|
|
224
|
+
* @returns Canonical JSON string
|
|
225
|
+
*/
|
|
226
|
+
static canonicalizeJson(obj) {
|
|
227
|
+
return JSON.stringify(obj, this.sortedReplacer);
|
|
228
|
+
}
|
|
229
|
+
// ==========================================
|
|
230
|
+
// Private Helper Methods
|
|
231
|
+
// ==========================================
|
|
232
|
+
/**
|
|
233
|
+
* Create canonical message bytes for signing
|
|
234
|
+
*/
|
|
235
|
+
static createCanonicalMessage(payload, publicKey, signedAt, nonce) {
|
|
236
|
+
const canonical = {
|
|
237
|
+
payload: this.canonicalizeJson(payload),
|
|
238
|
+
publicKey,
|
|
239
|
+
signedAt,
|
|
240
|
+
nonce,
|
|
241
|
+
};
|
|
242
|
+
const encoder = new TextEncoder();
|
|
243
|
+
return encoder.encode(this.canonicalizeJson(canonical));
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Create signature using HMAC-SHA256 (browser-compatible)
|
|
247
|
+
* Note: In production, use proper Ed25519 signing via @noble/ed25519
|
|
248
|
+
*/
|
|
249
|
+
static async createSignature(privateKeyBase64, message) {
|
|
250
|
+
const privateKey = Identity_1.base64Utils.decode(privateKeyBase64);
|
|
251
|
+
// Use the public key portion (bytes 32-64) for HMAC to ensure
|
|
252
|
+
// verification can work with the same key
|
|
253
|
+
// In production, this should use proper Ed25519 signing
|
|
254
|
+
const publicKeyPortion = privateKey.slice(32, 64);
|
|
255
|
+
const keyBuffer = new ArrayBuffer(publicKeyPortion.length);
|
|
256
|
+
new Uint8Array(keyBuffer).set(publicKeyPortion);
|
|
257
|
+
const messageBuffer = new ArrayBuffer(message.length);
|
|
258
|
+
new Uint8Array(messageBuffer).set(message);
|
|
259
|
+
// Use HMAC-SHA256 for browser compatibility
|
|
260
|
+
const key = await crypto.subtle.importKey('raw', keyBuffer, { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
|
|
261
|
+
const signatureBuffer = await crypto.subtle.sign('HMAC', key, messageBuffer);
|
|
262
|
+
return Identity_1.base64Utils.encode(new Uint8Array(signatureBuffer));
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Verify signature using HMAC-SHA256 (browser-compatible)
|
|
266
|
+
* Note: In production, use proper Ed25519 verification via @noble/ed25519
|
|
267
|
+
*/
|
|
268
|
+
static async verifySignature(publicKeyBase64, signatureBase64, message) {
|
|
269
|
+
try {
|
|
270
|
+
// For our simplified implementation, we derive the verification key
|
|
271
|
+
// from the public key. In real Ed25519, verification uses the public key directly.
|
|
272
|
+
const publicKey = Identity_1.base64Utils.decode(publicKeyBase64);
|
|
273
|
+
// Create ArrayBuffer copies for Web Crypto API
|
|
274
|
+
const keyBuffer = new ArrayBuffer(publicKey.length);
|
|
275
|
+
new Uint8Array(keyBuffer).set(publicKey);
|
|
276
|
+
const messageBuffer = new ArrayBuffer(message.length);
|
|
277
|
+
new Uint8Array(messageBuffer).set(message);
|
|
278
|
+
// Import key for HMAC verification
|
|
279
|
+
// Note: This is a simplified approach - real Ed25519 verification
|
|
280
|
+
// would use the public key to verify the signature mathematically
|
|
281
|
+
const key = await crypto.subtle.importKey('raw', keyBuffer, { name: 'HMAC', hash: 'SHA-256' }, false, ['verify']);
|
|
282
|
+
const signature = Identity_1.base64Utils.decode(signatureBase64);
|
|
283
|
+
const sigBuffer = new ArrayBuffer(signature.length);
|
|
284
|
+
new Uint8Array(sigBuffer).set(signature);
|
|
285
|
+
return crypto.subtle.verify('HMAC', key, sigBuffer, messageBuffer);
|
|
286
|
+
}
|
|
287
|
+
catch {
|
|
288
|
+
return false;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Generate random nonce
|
|
293
|
+
*/
|
|
294
|
+
static generateNonce() {
|
|
295
|
+
const bytes = new Uint8Array(16);
|
|
296
|
+
crypto.getRandomValues(bytes);
|
|
297
|
+
return Identity_1.base64Utils.encode(bytes);
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* JSON replacer that sorts object keys for canonical output
|
|
301
|
+
*/
|
|
302
|
+
static sortedReplacer(_key, value) {
|
|
303
|
+
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
304
|
+
const sorted = {};
|
|
305
|
+
const keys = Object.keys(value).sort();
|
|
306
|
+
for (const k of keys) {
|
|
307
|
+
sorted[k] = value[k];
|
|
308
|
+
}
|
|
309
|
+
return sorted;
|
|
310
|
+
}
|
|
311
|
+
return value;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
exports.Signer = Signer;
|
|
315
|
+
/**
|
|
316
|
+
* Create a message envelope for P2P transmission
|
|
317
|
+
*
|
|
318
|
+
* @param signedMessage - The signed message
|
|
319
|
+
* @param to - Target agent ID
|
|
320
|
+
* @param type - Message type
|
|
321
|
+
* @param ttl - Time to live in hops
|
|
322
|
+
* @returns Message envelope
|
|
323
|
+
*/
|
|
324
|
+
function createEnvelope(signedMessage, to, type, ttl = 3) {
|
|
325
|
+
const messageId = generateMessageId();
|
|
326
|
+
return {
|
|
327
|
+
messageId,
|
|
328
|
+
signedMessage,
|
|
329
|
+
to,
|
|
330
|
+
type,
|
|
331
|
+
ttl,
|
|
332
|
+
timestamp: Date.now(),
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Generate unique message ID
|
|
337
|
+
*/
|
|
338
|
+
function generateMessageId() {
|
|
339
|
+
const bytes = new Uint8Array(16);
|
|
340
|
+
crypto.getRandomValues(bytes);
|
|
341
|
+
// Format as UUID-like string
|
|
342
|
+
const hex = Array.from(bytes)
|
|
343
|
+
.map((b) => b.toString(16).padStart(2, '0'))
|
|
344
|
+
.join('');
|
|
345
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Verify a message envelope
|
|
349
|
+
*
|
|
350
|
+
* @param envelope - Message envelope to verify
|
|
351
|
+
* @returns Verification result
|
|
352
|
+
*/
|
|
353
|
+
async function verifyEnvelope(envelope) {
|
|
354
|
+
// Verify the contained signed message
|
|
355
|
+
return Signer.verify(envelope.signedMessage);
|
|
356
|
+
}
|
|
357
|
+
//# sourceMappingURL=Signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Signer.js","sourceRoot":"","sources":["../../../../src/edge/p2p/crypto/Signer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* P2P Cryptographic Identity Module
|
|
3
|
+
*
|
|
4
|
+
* Ed25519-based cryptographic identity system for P2P agent communication.
|
|
5
|
+
* Provides secure identity generation, key management, and message signing.
|
|
6
|
+
*
|
|
7
|
+
* @module edge/p2p/crypto
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { IdentityManager, KeyManager, Signer } from './crypto';
|
|
13
|
+
*
|
|
14
|
+
* // Create new identity
|
|
15
|
+
* const identity = await IdentityManager.create({
|
|
16
|
+
* displayName: 'My Agent',
|
|
17
|
+
* password: 'secure-password'
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* // Store identity securely
|
|
21
|
+
* const keyManager = new KeyManager();
|
|
22
|
+
* await keyManager.initialize();
|
|
23
|
+
* await keyManager.store(identity);
|
|
24
|
+
*
|
|
25
|
+
* // Sign messages
|
|
26
|
+
* const keyPair = await keyManager.unlock(identity.agentId, 'secure-password');
|
|
27
|
+
* const signed = await Signer.sign(keyPair, identity, { action: 'share-pattern' });
|
|
28
|
+
*
|
|
29
|
+
* // Verify signatures
|
|
30
|
+
* const result = await Signer.verify(signed);
|
|
31
|
+
* console.log('Valid:', result.valid);
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export type { KeyPair, EncryptedKeyPair, AgentIdentity, StoredIdentity, SignedMessage, IdentityProof, KeyRotationEvent, IdentityExport, SeedPhrase, IdentityConfig, KeyStorageConfig, VerificationResult, BatchVerificationResult, } from './types';
|
|
35
|
+
export { CryptoError, CryptoErrorCode } from './types';
|
|
36
|
+
export { IdentityManager, base64Utils } from './Identity';
|
|
37
|
+
export { KeyManager } from './KeyManager';
|
|
38
|
+
export { Signer, createEnvelope, verifyEnvelope, type MessageEnvelope, } from './Signer';
|
|
39
|
+
/**
|
|
40
|
+
* Convenience function to create a complete identity setup
|
|
41
|
+
*
|
|
42
|
+
* @param config - Identity configuration
|
|
43
|
+
* @returns Object with identity and initialized key manager
|
|
44
|
+
*/
|
|
45
|
+
export declare function createIdentityWithStorage(config: {
|
|
46
|
+
displayName?: string;
|
|
47
|
+
password: string;
|
|
48
|
+
metadata?: Record<string, unknown>;
|
|
49
|
+
}): Promise<{
|
|
50
|
+
identity: import('./types').StoredIdentity;
|
|
51
|
+
keyManager: import('./KeyManager').KeyManager;
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* Quick sign helper - signs data with a stored identity
|
|
55
|
+
*
|
|
56
|
+
* @param keyManager - Initialized key manager
|
|
57
|
+
* @param agentId - Agent ID to sign with
|
|
58
|
+
* @param password - Password to unlock the key
|
|
59
|
+
* @param payload - Data to sign
|
|
60
|
+
* @returns Signed message
|
|
61
|
+
*/
|
|
62
|
+
export declare function quickSign<T>(keyManager: import('./KeyManager').KeyManager, agentId: string, password: string, payload: T): Promise<import('./types').SignedMessage<T>>;
|
|
63
|
+
/**
|
|
64
|
+
* Version information
|
|
65
|
+
*/
|
|
66
|
+
export declare const CRYPTO_VERSION = "1.0.0";
|
|
67
|
+
/**
|
|
68
|
+
* Module capabilities
|
|
69
|
+
*/
|
|
70
|
+
export declare const CRYPTO_CAPABILITIES: {
|
|
71
|
+
/** Ed25519 key generation (browser-compatible) */
|
|
72
|
+
keyGeneration: boolean;
|
|
73
|
+
/** AES-GCM encryption for private keys */
|
|
74
|
+
encryptionAtRest: boolean;
|
|
75
|
+
/** PBKDF2 key derivation */
|
|
76
|
+
keyDerivation: boolean;
|
|
77
|
+
/** Seed phrase recovery */
|
|
78
|
+
seedPhraseRecovery: boolean;
|
|
79
|
+
/** IndexedDB key storage */
|
|
80
|
+
persistentStorage: boolean;
|
|
81
|
+
/** Key rotation support */
|
|
82
|
+
keyRotation: boolean;
|
|
83
|
+
/** Key revocation */
|
|
84
|
+
keyRevocation: boolean;
|
|
85
|
+
/** Batch signature verification */
|
|
86
|
+
batchVerification: boolean;
|
|
87
|
+
/** Identity proof generation */
|
|
88
|
+
identityProofs: boolean;
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/edge/p2p/crypto/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,YAAY,EACV,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAGvD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EACL,MAAM,EACN,cAAc,EACd,cAAc,EACd,KAAK,eAAe,GACrB,MAAM,UAAU,CAAC;AAElB;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,OAAO,CAAC;IACV,QAAQ,EAAE,OAAO,SAAS,EAAE,cAAc,CAAC;IAC3C,UAAU,EAAE,OAAO,cAAc,EAAE,UAAU,CAAC;CAC/C,CAAC,CAmBD;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,UAAU,EAAE,OAAO,cAAc,EAAE,UAAU,EAC7C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,GACT,OAAO,CAAC,OAAO,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAe7C;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B,kDAAkD;;IAElD,0CAA0C;;IAE1C,4BAA4B;;IAE5B,2BAA2B;;IAE3B,4BAA4B;;IAE5B,2BAA2B;;IAE3B,qBAAqB;;IAErB,mCAAmC;;IAEnC,gCAAgC;;CAEjC,CAAC"}
|