agentic-qe 2.7.4 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +104 -0
- package/README.md +67 -2
- 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/index.js +91 -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/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 +14 -0
- 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/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 +29 -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,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* P2P Cryptographic Identity Module
|
|
4
|
+
*
|
|
5
|
+
* Ed25519-based cryptographic identity system for P2P agent communication.
|
|
6
|
+
* Provides secure identity generation, key management, and message signing.
|
|
7
|
+
*
|
|
8
|
+
* @module edge/p2p/crypto
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { IdentityManager, KeyManager, Signer } from './crypto';
|
|
14
|
+
*
|
|
15
|
+
* // Create new identity
|
|
16
|
+
* const identity = await IdentityManager.create({
|
|
17
|
+
* displayName: 'My Agent',
|
|
18
|
+
* password: 'secure-password'
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* // Store identity securely
|
|
22
|
+
* const keyManager = new KeyManager();
|
|
23
|
+
* await keyManager.initialize();
|
|
24
|
+
* await keyManager.store(identity);
|
|
25
|
+
*
|
|
26
|
+
* // Sign messages
|
|
27
|
+
* const keyPair = await keyManager.unlock(identity.agentId, 'secure-password');
|
|
28
|
+
* const signed = await Signer.sign(keyPair, identity, { action: 'share-pattern' });
|
|
29
|
+
*
|
|
30
|
+
* // Verify signatures
|
|
31
|
+
* const result = await Signer.verify(signed);
|
|
32
|
+
* console.log('Valid:', result.valid);
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
36
|
+
if (k2 === undefined) k2 = k;
|
|
37
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
38
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
39
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
40
|
+
}
|
|
41
|
+
Object.defineProperty(o, k2, desc);
|
|
42
|
+
}) : (function(o, m, k, k2) {
|
|
43
|
+
if (k2 === undefined) k2 = k;
|
|
44
|
+
o[k2] = m[k];
|
|
45
|
+
}));
|
|
46
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
47
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
48
|
+
}) : function(o, v) {
|
|
49
|
+
o["default"] = v;
|
|
50
|
+
});
|
|
51
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
52
|
+
var ownKeys = function(o) {
|
|
53
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
54
|
+
var ar = [];
|
|
55
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
56
|
+
return ar;
|
|
57
|
+
};
|
|
58
|
+
return ownKeys(o);
|
|
59
|
+
};
|
|
60
|
+
return function (mod) {
|
|
61
|
+
if (mod && mod.__esModule) return mod;
|
|
62
|
+
var result = {};
|
|
63
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
64
|
+
__setModuleDefault(result, mod);
|
|
65
|
+
return result;
|
|
66
|
+
};
|
|
67
|
+
})();
|
|
68
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
69
|
+
exports.CRYPTO_CAPABILITIES = exports.CRYPTO_VERSION = exports.verifyEnvelope = exports.createEnvelope = exports.Signer = exports.KeyManager = exports.base64Utils = exports.IdentityManager = exports.CryptoErrorCode = exports.CryptoError = void 0;
|
|
70
|
+
exports.createIdentityWithStorage = createIdentityWithStorage;
|
|
71
|
+
exports.quickSign = quickSign;
|
|
72
|
+
var types_1 = require("./types");
|
|
73
|
+
Object.defineProperty(exports, "CryptoError", { enumerable: true, get: function () { return types_1.CryptoError; } });
|
|
74
|
+
Object.defineProperty(exports, "CryptoErrorCode", { enumerable: true, get: function () { return types_1.CryptoErrorCode; } });
|
|
75
|
+
// Identity Management
|
|
76
|
+
var Identity_1 = require("./Identity");
|
|
77
|
+
Object.defineProperty(exports, "IdentityManager", { enumerable: true, get: function () { return Identity_1.IdentityManager; } });
|
|
78
|
+
Object.defineProperty(exports, "base64Utils", { enumerable: true, get: function () { return Identity_1.base64Utils; } });
|
|
79
|
+
// Key Storage
|
|
80
|
+
var KeyManager_1 = require("./KeyManager");
|
|
81
|
+
Object.defineProperty(exports, "KeyManager", { enumerable: true, get: function () { return KeyManager_1.KeyManager; } });
|
|
82
|
+
// Signing Operations
|
|
83
|
+
var Signer_1 = require("./Signer");
|
|
84
|
+
Object.defineProperty(exports, "Signer", { enumerable: true, get: function () { return Signer_1.Signer; } });
|
|
85
|
+
Object.defineProperty(exports, "createEnvelope", { enumerable: true, get: function () { return Signer_1.createEnvelope; } });
|
|
86
|
+
Object.defineProperty(exports, "verifyEnvelope", { enumerable: true, get: function () { return Signer_1.verifyEnvelope; } });
|
|
87
|
+
/**
|
|
88
|
+
* Convenience function to create a complete identity setup
|
|
89
|
+
*
|
|
90
|
+
* @param config - Identity configuration
|
|
91
|
+
* @returns Object with identity and initialized key manager
|
|
92
|
+
*/
|
|
93
|
+
async function createIdentityWithStorage(config) {
|
|
94
|
+
const { IdentityManager } = await Promise.resolve().then(() => __importStar(require('./Identity')));
|
|
95
|
+
const { KeyManager } = await Promise.resolve().then(() => __importStar(require('./KeyManager')));
|
|
96
|
+
// Create identity
|
|
97
|
+
const identity = await IdentityManager.create({
|
|
98
|
+
displayName: config.displayName,
|
|
99
|
+
password: config.password,
|
|
100
|
+
metadata: config.metadata,
|
|
101
|
+
});
|
|
102
|
+
// Initialize storage
|
|
103
|
+
const keyManager = new KeyManager();
|
|
104
|
+
await keyManager.initialize();
|
|
105
|
+
// Store identity
|
|
106
|
+
await keyManager.store(identity);
|
|
107
|
+
return { identity, keyManager };
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Quick sign helper - signs data with a stored identity
|
|
111
|
+
*
|
|
112
|
+
* @param keyManager - Initialized key manager
|
|
113
|
+
* @param agentId - Agent ID to sign with
|
|
114
|
+
* @param password - Password to unlock the key
|
|
115
|
+
* @param payload - Data to sign
|
|
116
|
+
* @returns Signed message
|
|
117
|
+
*/
|
|
118
|
+
async function quickSign(keyManager, agentId, password, payload) {
|
|
119
|
+
const { IdentityManager } = await Promise.resolve().then(() => __importStar(require('./Identity')));
|
|
120
|
+
const { Signer } = await Promise.resolve().then(() => __importStar(require('./Signer')));
|
|
121
|
+
// Get identity
|
|
122
|
+
const storedIdentity = await keyManager.get(agentId);
|
|
123
|
+
if (!storedIdentity) {
|
|
124
|
+
throw new Error(`Identity ${agentId} not found`);
|
|
125
|
+
}
|
|
126
|
+
// Unlock and sign
|
|
127
|
+
const keyPair = await keyManager.unlock(agentId, password);
|
|
128
|
+
const publicIdentity = IdentityManager.getPublicIdentity(storedIdentity);
|
|
129
|
+
return Signer.sign(keyPair, publicIdentity, payload);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Version information
|
|
133
|
+
*/
|
|
134
|
+
exports.CRYPTO_VERSION = '1.0.0';
|
|
135
|
+
/**
|
|
136
|
+
* Module capabilities
|
|
137
|
+
*/
|
|
138
|
+
exports.CRYPTO_CAPABILITIES = {
|
|
139
|
+
/** Ed25519 key generation (browser-compatible) */
|
|
140
|
+
keyGeneration: true,
|
|
141
|
+
/** AES-GCM encryption for private keys */
|
|
142
|
+
encryptionAtRest: true,
|
|
143
|
+
/** PBKDF2 key derivation */
|
|
144
|
+
keyDerivation: true,
|
|
145
|
+
/** Seed phrase recovery */
|
|
146
|
+
seedPhraseRecovery: true,
|
|
147
|
+
/** IndexedDB key storage */
|
|
148
|
+
persistentStorage: true,
|
|
149
|
+
/** Key rotation support */
|
|
150
|
+
keyRotation: true,
|
|
151
|
+
/** Key revocation */
|
|
152
|
+
keyRevocation: true,
|
|
153
|
+
/** Batch signature verification */
|
|
154
|
+
batchVerification: true,
|
|
155
|
+
/** Identity proof generation */
|
|
156
|
+
identityProofs: true,
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/edge/p2p/crypto/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCH,8DA0BC;AAWD,8BAoBC;AA/ED,iCAAuD;AAA9C,oGAAA,WAAW,OAAA;AAAE,wGAAA,eAAe,OAAA;AAErC,sBAAsB;AACtB,uCAA0D;AAAjD,2GAAA,eAAe,OAAA;AAAE,uGAAA,WAAW,OAAA;AAErC,cAAc;AACd,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,qBAAqB;AACrB,mCAKkB;AAJhB,gGAAA,MAAM,OAAA;AACN,wGAAA,cAAc,OAAA;AACd,wGAAA,cAAc,OAAA;AAIhB;;;;;GAKG;AACI,KAAK,UAAU,yBAAyB,CAAC,MAI/C;IAIC,MAAM,EAAE,eAAe,EAAE,GAAG,wDAAa,YAAY,GAAC,CAAC;IACvD,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,cAAc,GAAC,CAAC;IAEpD,kBAAkB;IAClB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC;QAC5C,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IACpC,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;IAE9B,iBAAiB;IACjB,MAAM,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEjC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,SAAS,CAC7B,UAA6C,EAC7C,OAAe,EACf,QAAgB,EAChB,OAAU;IAEV,MAAM,EAAE,eAAe,EAAE,GAAG,wDAAa,YAAY,GAAC,CAAC;IACvD,MAAM,EAAE,MAAM,EAAE,GAAG,wDAAa,UAAU,GAAC,CAAC;IAE5C,eAAe;IACf,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,YAAY,CAAC,CAAC;IACnD,CAAC;IAED,kBAAkB;IAClB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,eAAe,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAEzE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACU,QAAA,cAAc,GAAG,OAAO,CAAC;AAEtC;;GAEG;AACU,QAAA,mBAAmB,GAAG;IACjC,kDAAkD;IAClD,aAAa,EAAE,IAAI;IACnB,0CAA0C;IAC1C,gBAAgB,EAAE,IAAI;IACtB,4BAA4B;IAC5B,aAAa,EAAE,IAAI;IACnB,2BAA2B;IAC3B,kBAAkB,EAAE,IAAI;IACxB,4BAA4B;IAC5B,iBAAiB,EAAE,IAAI;IACvB,2BAA2B;IAC3B,WAAW,EAAE,IAAI;IACjB,qBAAqB;IACrB,aAAa,EAAE,IAAI;IACnB,mCAAmC;IACnC,iBAAiB,EAAE,IAAI;IACvB,gCAAgC;IAChC,cAAc,EAAE,IAAI;CACrB,CAAC"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* P2P Cryptographic Identity Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for Ed25519-based agent identity system.
|
|
5
|
+
* All keys use Base64 encoding for safe storage and transmission.
|
|
6
|
+
*
|
|
7
|
+
* @module edge/p2p/crypto/types
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Ed25519 keypair for agent identity
|
|
12
|
+
*/
|
|
13
|
+
export interface KeyPair {
|
|
14
|
+
/** Base64-encoded public key (32 bytes) */
|
|
15
|
+
publicKey: string;
|
|
16
|
+
/** Base64-encoded private key (64 bytes for Ed25519 seed+public) */
|
|
17
|
+
privateKey: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Encrypted keypair for secure storage
|
|
21
|
+
* Private key is encrypted using AES-GCM with a derived key
|
|
22
|
+
*/
|
|
23
|
+
export interface EncryptedKeyPair {
|
|
24
|
+
/** Base64-encoded public key (never encrypted) */
|
|
25
|
+
publicKey: string;
|
|
26
|
+
/** Base64-encoded encrypted private key */
|
|
27
|
+
encryptedPrivateKey: string;
|
|
28
|
+
/** Base64-encoded salt for key derivation */
|
|
29
|
+
salt: string;
|
|
30
|
+
/** Base64-encoded initialization vector */
|
|
31
|
+
iv: string;
|
|
32
|
+
/** Key derivation algorithm used */
|
|
33
|
+
kdf: 'PBKDF2';
|
|
34
|
+
/** Number of iterations for PBKDF2 */
|
|
35
|
+
iterations: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Agent identity derived from Ed25519 keypair
|
|
39
|
+
*/
|
|
40
|
+
export interface AgentIdentity {
|
|
41
|
+
/** Unique agent identifier (first 16 chars of SHA-256 of public key) */
|
|
42
|
+
agentId: string;
|
|
43
|
+
/** Base64-encoded public key for signature verification */
|
|
44
|
+
publicKey: string;
|
|
45
|
+
/** ISO timestamp of identity creation */
|
|
46
|
+
createdAt: string;
|
|
47
|
+
/** Optional human-readable display name */
|
|
48
|
+
displayName?: string;
|
|
49
|
+
/** Optional identity metadata */
|
|
50
|
+
metadata?: Record<string, unknown>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Full identity including encrypted private key (for storage)
|
|
54
|
+
*/
|
|
55
|
+
export interface StoredIdentity extends AgentIdentity {
|
|
56
|
+
/** Encrypted keypair for persistence */
|
|
57
|
+
encryptedKeyPair: EncryptedKeyPair;
|
|
58
|
+
/** Schema version for migration support */
|
|
59
|
+
version: number;
|
|
60
|
+
/** ISO timestamp of last key rotation */
|
|
61
|
+
lastRotatedAt?: string;
|
|
62
|
+
/** Whether this identity has been revoked */
|
|
63
|
+
revoked: boolean;
|
|
64
|
+
/** Revocation timestamp if revoked */
|
|
65
|
+
revokedAt?: string;
|
|
66
|
+
/** Reason for revocation */
|
|
67
|
+
revocationReason?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Signed message structure
|
|
71
|
+
*/
|
|
72
|
+
export interface SignedMessage<T = unknown> {
|
|
73
|
+
/** The signed payload */
|
|
74
|
+
payload: T;
|
|
75
|
+
/** Base64-encoded Ed25519 signature */
|
|
76
|
+
signature: string;
|
|
77
|
+
/** Base64-encoded public key of signer */
|
|
78
|
+
signerPublicKey: string;
|
|
79
|
+
/** Agent ID of signer (for quick lookup) */
|
|
80
|
+
signerId: string;
|
|
81
|
+
/** ISO timestamp when signed */
|
|
82
|
+
signedAt: string;
|
|
83
|
+
/** Optional nonce to prevent replay attacks */
|
|
84
|
+
nonce?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Identity proof for verifying agent ownership
|
|
88
|
+
* Used in P2P handshakes and authentication
|
|
89
|
+
*/
|
|
90
|
+
export interface IdentityProof {
|
|
91
|
+
/** Agent ID being proven */
|
|
92
|
+
agentId: string;
|
|
93
|
+
/** Base64-encoded public key */
|
|
94
|
+
publicKey: string;
|
|
95
|
+
/** Challenge that was signed */
|
|
96
|
+
challenge: string;
|
|
97
|
+
/** Base64-encoded signature of challenge */
|
|
98
|
+
signature: string;
|
|
99
|
+
/** ISO timestamp when proof was created */
|
|
100
|
+
timestamp: string;
|
|
101
|
+
/** Proof expiration in milliseconds from timestamp */
|
|
102
|
+
expiresIn: number;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Key rotation event for audit trail
|
|
106
|
+
*/
|
|
107
|
+
export interface KeyRotationEvent {
|
|
108
|
+
/** Agent ID */
|
|
109
|
+
agentId: string;
|
|
110
|
+
/** Previous public key (Base64) */
|
|
111
|
+
previousPublicKey: string;
|
|
112
|
+
/** New public key (Base64) */
|
|
113
|
+
newPublicKey: string;
|
|
114
|
+
/** Signature by old key proving ownership */
|
|
115
|
+
rotationProof: string;
|
|
116
|
+
/** ISO timestamp of rotation */
|
|
117
|
+
rotatedAt: string;
|
|
118
|
+
/** Optional reason for rotation */
|
|
119
|
+
reason?: string;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Identity export format (encrypted)
|
|
123
|
+
*/
|
|
124
|
+
export interface IdentityExport {
|
|
125
|
+
/** Export format version */
|
|
126
|
+
version: number;
|
|
127
|
+
/** Export type identifier */
|
|
128
|
+
type: 'agentic-qe-identity-export';
|
|
129
|
+
/** The stored identity data */
|
|
130
|
+
identity: StoredIdentity;
|
|
131
|
+
/** Checksum for integrity verification */
|
|
132
|
+
checksum: string;
|
|
133
|
+
/** ISO timestamp of export */
|
|
134
|
+
exportedAt: string;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* BIP39-style seed phrase for identity recovery
|
|
138
|
+
*/
|
|
139
|
+
export interface SeedPhrase {
|
|
140
|
+
/** 12 or 24 word mnemonic */
|
|
141
|
+
words: string[];
|
|
142
|
+
/** Optional passphrase for additional security */
|
|
143
|
+
passphrase?: string;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Configuration for identity generation
|
|
147
|
+
*/
|
|
148
|
+
export interface IdentityConfig {
|
|
149
|
+
/** Optional display name */
|
|
150
|
+
displayName?: string;
|
|
151
|
+
/** Optional metadata */
|
|
152
|
+
metadata?: Record<string, unknown>;
|
|
153
|
+
/** Password for encrypting private key */
|
|
154
|
+
password: string;
|
|
155
|
+
/** PBKDF2 iterations (default: 100000) */
|
|
156
|
+
iterations?: number;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Configuration for key storage
|
|
160
|
+
*/
|
|
161
|
+
export interface KeyStorageConfig {
|
|
162
|
+
/** IndexedDB database name */
|
|
163
|
+
dbName?: string;
|
|
164
|
+
/** IndexedDB store name */
|
|
165
|
+
storeName?: string;
|
|
166
|
+
/** Auto-lock timeout in milliseconds (0 = never) */
|
|
167
|
+
autoLockTimeout?: number;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Result of signature verification
|
|
171
|
+
*/
|
|
172
|
+
export interface VerificationResult {
|
|
173
|
+
/** Whether signature is valid */
|
|
174
|
+
valid: boolean;
|
|
175
|
+
/** Signer's agent ID if valid */
|
|
176
|
+
signerId?: string;
|
|
177
|
+
/** Error message if invalid */
|
|
178
|
+
error?: string;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Batch verification result
|
|
182
|
+
*/
|
|
183
|
+
export interface BatchVerificationResult {
|
|
184
|
+
/** Total messages verified */
|
|
185
|
+
total: number;
|
|
186
|
+
/** Number of valid signatures */
|
|
187
|
+
valid: number;
|
|
188
|
+
/** Number of invalid signatures */
|
|
189
|
+
invalid: number;
|
|
190
|
+
/** Individual results indexed by position */
|
|
191
|
+
results: VerificationResult[];
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Error codes for crypto operations
|
|
195
|
+
*/
|
|
196
|
+
export declare enum CryptoErrorCode {
|
|
197
|
+
INVALID_KEY = "INVALID_KEY",
|
|
198
|
+
INVALID_SIGNATURE = "INVALID_SIGNATURE",
|
|
199
|
+
INVALID_PASSWORD = "INVALID_PASSWORD",
|
|
200
|
+
KEY_NOT_FOUND = "KEY_NOT_FOUND",
|
|
201
|
+
KEY_LOCKED = "KEY_LOCKED",
|
|
202
|
+
KEY_REVOKED = "KEY_REVOKED",
|
|
203
|
+
DECRYPTION_FAILED = "DECRYPTION_FAILED",
|
|
204
|
+
STORAGE_ERROR = "STORAGE_ERROR",
|
|
205
|
+
SERIALIZATION_ERROR = "SERIALIZATION_ERROR",
|
|
206
|
+
EXPIRED_PROOF = "EXPIRED_PROOF",
|
|
207
|
+
INVALID_SEED = "INVALID_SEED"
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Custom error class for crypto operations
|
|
211
|
+
*/
|
|
212
|
+
export declare class CryptoError extends Error {
|
|
213
|
+
readonly code: CryptoErrorCode;
|
|
214
|
+
readonly details?: unknown | undefined;
|
|
215
|
+
constructor(message: string, code: CryptoErrorCode, details?: unknown | undefined);
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/edge/p2p/crypto/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* P2P Cryptographic Identity Types
|
|
4
|
+
*
|
|
5
|
+
* Type definitions for Ed25519-based agent identity system.
|
|
6
|
+
* All keys use Base64 encoding for safe storage and transmission.
|
|
7
|
+
*
|
|
8
|
+
* @module edge/p2p/crypto/types
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CryptoError = exports.CryptoErrorCode = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* Error codes for crypto operations
|
|
15
|
+
*/
|
|
16
|
+
var CryptoErrorCode;
|
|
17
|
+
(function (CryptoErrorCode) {
|
|
18
|
+
CryptoErrorCode["INVALID_KEY"] = "INVALID_KEY";
|
|
19
|
+
CryptoErrorCode["INVALID_SIGNATURE"] = "INVALID_SIGNATURE";
|
|
20
|
+
CryptoErrorCode["INVALID_PASSWORD"] = "INVALID_PASSWORD";
|
|
21
|
+
CryptoErrorCode["KEY_NOT_FOUND"] = "KEY_NOT_FOUND";
|
|
22
|
+
CryptoErrorCode["KEY_LOCKED"] = "KEY_LOCKED";
|
|
23
|
+
CryptoErrorCode["KEY_REVOKED"] = "KEY_REVOKED";
|
|
24
|
+
CryptoErrorCode["DECRYPTION_FAILED"] = "DECRYPTION_FAILED";
|
|
25
|
+
CryptoErrorCode["STORAGE_ERROR"] = "STORAGE_ERROR";
|
|
26
|
+
CryptoErrorCode["SERIALIZATION_ERROR"] = "SERIALIZATION_ERROR";
|
|
27
|
+
CryptoErrorCode["EXPIRED_PROOF"] = "EXPIRED_PROOF";
|
|
28
|
+
CryptoErrorCode["INVALID_SEED"] = "INVALID_SEED";
|
|
29
|
+
})(CryptoErrorCode || (exports.CryptoErrorCode = CryptoErrorCode = {}));
|
|
30
|
+
/**
|
|
31
|
+
* Custom error class for crypto operations
|
|
32
|
+
*/
|
|
33
|
+
class CryptoError extends Error {
|
|
34
|
+
constructor(message, code, details) {
|
|
35
|
+
super(message);
|
|
36
|
+
this.code = code;
|
|
37
|
+
this.details = details;
|
|
38
|
+
this.name = 'CryptoError';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.CryptoError = CryptoError;
|
|
42
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/edge/p2p/crypto/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAsMH;;GAEG;AACH,IAAY,eAYX;AAZD,WAAY,eAAe;IACzB,8CAA2B,CAAA;IAC3B,0DAAuC,CAAA;IACvC,wDAAqC,CAAA;IACrC,kDAA+B,CAAA;IAC/B,4CAAyB,CAAA;IACzB,8CAA2B,CAAA;IAC3B,0DAAuC,CAAA;IACvC,kDAA+B,CAAA;IAC/B,8DAA2C,CAAA;IAC3C,kDAA+B,CAAA;IAC/B,gDAA6B,CAAA;AAC/B,CAAC,EAZW,eAAe,+BAAf,eAAe,QAY1B;AAED;;GAEG;AACH,MAAa,WAAY,SAAQ,KAAK;IACpC,YACE,OAAe,EACC,IAAqB,EACrB,OAAiB;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAiB;QACrB,YAAO,GAAP,OAAO,CAAU;QAGjC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AATD,kCASC"}
|