agentvault 1.0.1 → 1.0.5
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 +69 -0
- package/README.md +66 -6
- package/dist/cli/commands/approve.d.ts.map +1 -0
- package/dist/cli/commands/approve.js +362 -6
- package/dist/cli/commands/approve.js.map +1 -0
- package/dist/cli/commands/archive.d.ts.map +1 -0
- package/dist/cli/commands/archive.js +5 -5
- package/dist/cli/commands/archive.js.map +1 -0
- package/dist/cli/commands/backup.d.ts.map +1 -0
- package/dist/cli/commands/backup.js +308 -25
- package/dist/cli/commands/backup.js.map +1 -0
- package/dist/cli/commands/cloud-backup.d.ts.map +1 -0
- package/dist/cli/commands/cloud-backup.js +29 -12
- package/dist/cli/commands/cloud-backup.js.map +1 -0
- package/dist/cli/commands/cron.d.ts +14 -0
- package/dist/cli/commands/cron.d.ts.map +1 -0
- package/dist/cli/commands/cron.js +144 -0
- package/dist/cli/commands/cron.js.map +1 -0
- package/dist/cli/commands/cycles.d.ts.map +1 -0
- package/dist/cli/commands/cycles.js.map +1 -0
- package/dist/cli/commands/decrypt.d.ts.map +1 -0
- package/dist/cli/commands/decrypt.js +2 -2
- package/dist/cli/commands/decrypt.js.map +1 -0
- package/dist/cli/commands/deploy.d.ts.map +1 -0
- package/dist/cli/commands/deploy.js +1 -1
- package/dist/cli/commands/deploy.js.map +1 -0
- package/dist/cli/commands/exec.d.ts.map +1 -0
- package/dist/cli/commands/exec.js +2 -2
- package/dist/cli/commands/exec.js.map +1 -0
- package/dist/cli/commands/fetch.d.ts +3 -0
- package/dist/cli/commands/fetch.d.ts.map +1 -0
- package/dist/cli/commands/fetch.js +72 -8
- package/dist/cli/commands/fetch.js.map +1 -0
- package/dist/cli/commands/health.d.ts.map +1 -0
- package/dist/cli/commands/health.js +57 -2
- package/dist/cli/commands/health.js.map +1 -0
- package/dist/cli/commands/identity.d.ts.map +1 -0
- package/dist/cli/commands/identity.js.map +1 -0
- package/dist/cli/commands/inference.d.ts.map +1 -0
- package/dist/cli/commands/inference.js +5 -5
- package/dist/cli/commands/inference.js.map +1 -0
- package/dist/cli/commands/info.d.ts.map +1 -0
- package/dist/cli/commands/info.js.map +1 -0
- package/dist/cli/commands/init.d.ts +19 -2
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +162 -37
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/instrument.d.ts.map +1 -0
- package/dist/cli/commands/instrument.js.map +1 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +4 -4
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/logs.d.ts.map +1 -0
- package/dist/cli/commands/logs.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +4 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -0
- package/dist/cli/commands/mcp.js +228 -0
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/commands/memory.d.ts +26 -0
- package/dist/cli/commands/memory.d.ts.map +1 -0
- package/dist/cli/commands/memory.js +509 -0
- package/dist/cli/commands/memory.js.map +1 -0
- package/dist/cli/commands/mint.d.ts +25 -0
- package/dist/cli/commands/mint.d.ts.map +1 -0
- package/dist/cli/commands/mint.js +276 -0
- package/dist/cli/commands/mint.js.map +1 -0
- package/dist/cli/commands/mirror.d.ts +19 -0
- package/dist/cli/commands/mirror.d.ts.map +1 -0
- package/dist/cli/commands/mirror.js +216 -0
- package/dist/cli/commands/mirror.js.map +1 -0
- package/dist/cli/commands/monitor.d.ts.map +1 -0
- package/dist/cli/commands/monitor.js.map +1 -0
- package/dist/cli/commands/network.d.ts.map +1 -0
- package/dist/cli/commands/network.js.map +1 -0
- package/dist/cli/commands/orchestrate.d.ts +35 -0
- package/dist/cli/commands/orchestrate.d.ts.map +1 -0
- package/dist/cli/commands/orchestrate.js +190 -0
- package/dist/cli/commands/orchestrate.js.map +1 -0
- package/dist/cli/commands/package.d.ts.map +1 -0
- package/dist/cli/commands/package.js +2 -2
- package/dist/cli/commands/package.js.map +1 -0
- package/dist/cli/commands/pilot.d.ts +17 -0
- package/dist/cli/commands/pilot.d.ts.map +1 -0
- package/dist/cli/commands/pilot.js +490 -0
- package/dist/cli/commands/pilot.js.map +1 -0
- package/dist/cli/commands/polytician.d.ts +4 -0
- package/dist/cli/commands/polytician.d.ts.map +1 -0
- package/dist/cli/commands/polytician.js +229 -0
- package/dist/cli/commands/polytician.js.map +1 -0
- package/dist/cli/commands/profile.d.ts.map +1 -0
- package/dist/cli/commands/profile.js +2 -2
- package/dist/cli/commands/profile.js.map +1 -0
- package/dist/cli/commands/promote.d.ts.map +1 -0
- package/dist/cli/commands/promote.js.map +1 -0
- package/dist/cli/commands/rebase.d.ts +85 -0
- package/dist/cli/commands/rebase.d.ts.map +1 -0
- package/dist/cli/commands/rebase.js +175 -0
- package/dist/cli/commands/rebase.js.map +1 -0
- package/dist/cli/commands/rebuild.d.ts.map +1 -0
- package/dist/cli/commands/rebuild.js +2 -2
- package/dist/cli/commands/rebuild.js.map +1 -0
- package/dist/cli/commands/repo.d.ts +19 -0
- package/dist/cli/commands/repo.d.ts.map +1 -0
- package/dist/cli/commands/repo.js +187 -0
- package/dist/cli/commands/repo.js.map +1 -0
- package/dist/cli/commands/rollback.d.ts.map +1 -0
- package/dist/cli/commands/rollback.js.map +1 -0
- package/dist/cli/commands/safehouse.d.ts +11 -0
- package/dist/cli/commands/safehouse.d.ts.map +1 -0
- package/dist/cli/commands/safehouse.js +323 -0
- package/dist/cli/commands/safehouse.js.map +1 -0
- package/dist/cli/commands/show.d.ts.map +1 -0
- package/dist/cli/commands/show.js +1 -1
- package/dist/cli/commands/show.js.map +1 -0
- package/dist/cli/commands/skills.d.ts +12 -0
- package/dist/cli/commands/skills.d.ts.map +1 -0
- package/dist/cli/commands/skills.js +248 -0
- package/dist/cli/commands/skills.js.map +1 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +2 -2
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/commands/status.d.ts +3 -1
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +33 -8
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/test.d.ts.map +1 -0
- package/dist/cli/commands/test.js.map +1 -0
- package/dist/cli/commands/tokens.d.ts.map +1 -0
- package/dist/cli/commands/tokens.js.map +1 -0
- package/dist/cli/commands/trace.d.ts.map +1 -0
- package/dist/cli/commands/trace.js +4 -4
- package/dist/cli/commands/trace.js.map +1 -0
- package/dist/cli/commands/vault.d.ts +7 -0
- package/dist/cli/commands/vault.d.ts.map +1 -0
- package/dist/cli/commands/vault.js +551 -0
- package/dist/cli/commands/vault.js.map +1 -0
- package/dist/cli/commands/wallet-export.d.ts.map +1 -0
- package/dist/cli/commands/wallet-export.js +1 -1
- package/dist/cli/commands/wallet-export.js.map +1 -0
- package/dist/cli/commands/wallet-history.d.ts.map +1 -0
- package/dist/cli/commands/wallet-history.js +2 -26
- package/dist/cli/commands/wallet-history.js.map +1 -0
- package/dist/cli/commands/wallet-import.d.ts.map +1 -0
- package/dist/cli/commands/wallet-import.js.map +1 -0
- package/dist/cli/commands/wallet-multi-send.d.ts.map +1 -0
- package/dist/cli/commands/wallet-multi-send.js.map +1 -0
- package/dist/cli/commands/wallet-process-queue.d.ts.map +1 -0
- package/dist/cli/commands/wallet-process-queue.js +2 -23
- package/dist/cli/commands/wallet-process-queue.js.map +1 -0
- package/dist/cli/commands/wallet-sign.d.ts.map +1 -0
- package/dist/cli/commands/wallet-sign.js +3 -27
- package/dist/cli/commands/wallet-sign.js.map +1 -0
- package/dist/cli/commands/wallet.d.ts +62 -1
- package/dist/cli/commands/wallet.d.ts.map +1 -0
- package/dist/cli/commands/wallet.js +313 -43
- package/dist/cli/commands/wallet.js.map +1 -0
- package/dist/cli/commands/wiki.d.ts +29 -0
- package/dist/cli/commands/wiki.d.ts.map +1 -0
- package/dist/cli/commands/wiki.js +528 -0
- package/dist/cli/commands/wiki.js.map +1 -0
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +77 -5
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/merge.d.ts +70 -0
- package/dist/cli/merge.d.ts.map +1 -0
- package/dist/cli/merge.js +232 -0
- package/dist/cli/merge.js.map +1 -0
- package/dist/src/archival/archive-manager.d.ts +89 -0
- package/dist/src/archival/archive-manager.d.ts.map +1 -0
- package/dist/src/archival/archive-manager.js +300 -0
- package/dist/src/archival/archive-manager.js.map +1 -0
- package/dist/src/archival/arweave-archiver.d.ts +173 -0
- package/dist/src/archival/arweave-archiver.d.ts.map +1 -0
- package/dist/src/archival/arweave-archiver.js +279 -0
- package/dist/src/archival/arweave-archiver.js.map +1 -0
- package/dist/src/archival/arweave-client.d.ts +89 -0
- package/dist/src/archival/arweave-client.d.ts.map +1 -0
- package/dist/src/archival/arweave-client.js +226 -0
- package/dist/src/archival/arweave-client.js.map +1 -0
- package/dist/src/archival/index.d.ts +11 -0
- package/dist/src/archival/index.d.ts.map +1 -0
- package/dist/src/archival/index.js +9 -0
- package/dist/src/archival/index.js.map +1 -0
- package/dist/src/backbone/constants.d.ts +30 -0
- package/dist/src/backbone/constants.d.ts.map +1 -0
- package/dist/src/backbone/constants.js +62 -0
- package/dist/src/backbone/constants.js.map +1 -0
- package/dist/src/backbone/index.d.ts +15 -0
- package/dist/src/backbone/index.d.ts.map +1 -0
- package/dist/src/backbone/index.js +18 -0
- package/dist/src/backbone/index.js.map +1 -0
- package/dist/src/backbone/services/communication.d.ts +42 -0
- package/dist/src/backbone/services/communication.d.ts.map +1 -0
- package/dist/src/backbone/services/communication.js +107 -0
- package/dist/src/backbone/services/communication.js.map +1 -0
- package/dist/src/backbone/services/consensus.d.ts +61 -0
- package/dist/src/backbone/services/consensus.d.ts.map +1 -0
- package/dist/src/backbone/services/consensus.js +210 -0
- package/dist/src/backbone/services/consensus.js.map +1 -0
- package/dist/src/backbone/services/index.d.ts +10 -0
- package/dist/src/backbone/services/index.d.ts.map +1 -0
- package/dist/src/backbone/services/index.js +6 -0
- package/dist/src/backbone/services/index.js.map +1 -0
- package/dist/src/backbone/services/knowledge.d.ts +44 -0
- package/dist/src/backbone/services/knowledge.d.ts.map +1 -0
- package/dist/src/backbone/services/knowledge.js +99 -0
- package/dist/src/backbone/services/knowledge.js.map +1 -0
- package/dist/src/backbone/services/memory.d.ts +36 -0
- package/dist/src/backbone/services/memory.d.ts.map +1 -0
- package/dist/src/backbone/services/memory.js +94 -0
- package/dist/src/backbone/services/memory.js.map +1 -0
- package/dist/src/backbone/services/vault-health.d.ts +18 -0
- package/dist/src/backbone/services/vault-health.d.ts.map +1 -0
- package/dist/src/backbone/services/vault-health.js +74 -0
- package/dist/src/backbone/services/vault-health.js.map +1 -0
- package/dist/src/backbone/types.d.ts +211 -0
- package/dist/src/backbone/types.d.ts.map +1 -0
- package/dist/src/backbone/types.js +8 -0
- package/dist/src/backbone/types.js.map +1 -0
- package/dist/src/backbone/validators.d.ts +211 -0
- package/dist/src/backbone/validators.d.ts.map +1 -0
- package/dist/src/backbone/validators.js +122 -0
- package/dist/src/backbone/validators.js.map +1 -0
- package/dist/src/backup/backup.d.ts +173 -0
- package/dist/src/backup/backup.d.ts.map +1 -0
- package/dist/src/backup/backup.js +640 -0
- package/dist/src/backup/backup.js.map +1 -0
- package/dist/src/backup/index.d.ts +9 -0
- package/dist/src/backup/index.d.ts.map +1 -0
- package/dist/src/backup/index.js +9 -0
- package/dist/src/backup/index.js.map +1 -0
- package/dist/src/backup/merkle.d.ts +44 -0
- package/dist/src/backup/merkle.d.ts.map +1 -0
- package/dist/src/backup/merkle.js +85 -0
- package/dist/src/backup/merkle.js.map +1 -0
- package/dist/src/backup/thoughtform-bundle.d.ts +42 -0
- package/dist/src/backup/thoughtform-bundle.d.ts.map +1 -0
- package/dist/src/backup/thoughtform-bundle.js +200 -0
- package/dist/src/backup/thoughtform-bundle.js.map +1 -0
- package/dist/src/canister/actor.d.ts +310 -0
- package/dist/src/canister/actor.d.ts.map +1 -0
- package/dist/src/canister/actor.idl.d.ts +8 -0
- package/dist/src/canister/actor.idl.d.ts.map +1 -0
- package/dist/src/canister/actor.idl.js +518 -0
- package/dist/src/canister/actor.idl.js.map +1 -0
- package/dist/src/canister/actor.js +51 -0
- package/dist/src/canister/actor.js.map +1 -0
- package/dist/src/canister/encryption.d.ts +158 -0
- package/dist/src/canister/encryption.d.ts.map +1 -0
- package/dist/src/canister/encryption.js +296 -0
- package/dist/src/canister/encryption.js.map +1 -0
- package/dist/src/canister/memory-repo-actor.d.ts +162 -0
- package/dist/src/canister/memory-repo-actor.d.ts.map +1 -0
- package/dist/src/canister/memory-repo-actor.idl.d.ts +8 -0
- package/dist/src/canister/memory-repo-actor.idl.d.ts.map +1 -0
- package/dist/src/canister/memory-repo-actor.idl.js +90 -0
- package/dist/src/canister/memory-repo-actor.idl.js.map +1 -0
- package/dist/src/canister/memory-repo-actor.js +69 -0
- package/dist/src/canister/memory-repo-actor.js.map +1 -0
- package/dist/src/canister/types.d.ts +54 -0
- package/dist/src/canister/types.d.ts.map +1 -0
- package/dist/src/canister/types.js +7 -0
- package/dist/src/canister/types.js.map +1 -0
- package/dist/src/cloud-storage/cloud-sync.d.ts +49 -0
- package/dist/src/cloud-storage/cloud-sync.d.ts.map +1 -0
- package/dist/src/cloud-storage/cloud-sync.js +377 -0
- package/dist/src/cloud-storage/cloud-sync.js.map +1 -0
- package/dist/src/cloud-storage/index.d.ts +11 -0
- package/dist/src/cloud-storage/index.d.ts.map +1 -0
- package/{src/cloud-storage/index.ts → dist/src/cloud-storage/index.js} +1 -1
- package/dist/src/cloud-storage/index.js.map +1 -0
- package/dist/src/cloud-storage/provider-detector.d.ts +34 -0
- package/dist/src/cloud-storage/provider-detector.d.ts.map +1 -0
- package/dist/src/cloud-storage/provider-detector.js +158 -0
- package/dist/src/cloud-storage/provider-detector.js.map +1 -0
- package/dist/src/cloud-storage/types.d.ts +96 -0
- package/dist/src/cloud-storage/types.d.ts.map +1 -0
- package/dist/src/cloud-storage/types.js +10 -0
- package/dist/src/cloud-storage/types.js.map +1 -0
- package/dist/src/debugging/debug-logger.d.ts +8 -0
- package/dist/src/debugging/debug-logger.d.ts.map +1 -0
- package/dist/src/debugging/debug-logger.js +11 -0
- package/dist/src/debugging/debug-logger.js.map +1 -0
- package/dist/src/debugging/index.d.ts +7 -0
- package/dist/src/debugging/index.d.ts.map +1 -0
- package/{src/debugging/index.ts → dist/src/debugging/index.js} +2 -1
- package/dist/src/debugging/index.js.map +1 -0
- package/dist/src/debugging/logs.d.ts +32 -0
- package/dist/src/debugging/logs.d.ts.map +1 -0
- package/dist/src/debugging/logs.js +158 -0
- package/dist/src/debugging/logs.js.map +1 -0
- package/dist/src/debugging/types.d.ts +91 -0
- package/dist/src/debugging/types.d.ts.map +1 -0
- package/dist/src/debugging/types.js +5 -0
- package/dist/src/debugging/types.js.map +1 -0
- package/dist/src/deployment/deployer.d.ts +52 -0
- package/dist/src/deployment/deployer.d.ts.map +1 -0
- package/dist/src/deployment/deployer.js +343 -0
- package/dist/src/deployment/deployer.js.map +1 -0
- package/dist/src/deployment/icpClient.d.ts +144 -0
- package/dist/src/deployment/icpClient.d.ts.map +1 -0
- package/dist/src/deployment/icpClient.js +549 -0
- package/dist/src/deployment/icpClient.js.map +1 -0
- package/dist/src/deployment/index.d.ts +11 -0
- package/dist/src/deployment/index.d.ts.map +1 -0
- package/dist/src/deployment/index.js +14 -0
- package/dist/src/deployment/index.js.map +1 -0
- package/dist/src/deployment/promotion.d.ts +32 -0
- package/dist/src/deployment/promotion.d.ts.map +1 -0
- package/dist/src/deployment/promotion.js +114 -0
- package/dist/src/deployment/promotion.js.map +1 -0
- package/dist/src/deployment/types.d.ts +102 -0
- package/dist/src/deployment/types.d.ts.map +1 -0
- package/dist/src/deployment/types.js +5 -0
- package/dist/src/deployment/types.js.map +1 -0
- package/dist/src/fault-tolerance/backup-status.d.ts +31 -0
- package/dist/src/fault-tolerance/backup-status.d.ts.map +1 -0
- package/dist/src/fault-tolerance/backup-status.js +76 -0
- package/dist/src/fault-tolerance/backup-status.js.map +1 -0
- package/dist/src/fault-tolerance/cron-check.d.ts +66 -0
- package/dist/src/fault-tolerance/cron-check.d.ts.map +1 -0
- package/dist/src/fault-tolerance/cron-check.js +177 -0
- package/dist/src/fault-tolerance/cron-check.js.map +1 -0
- package/dist/src/fault-tolerance/index.d.ts +12 -0
- package/dist/src/fault-tolerance/index.d.ts.map +1 -0
- package/dist/src/fault-tolerance/index.js +12 -0
- package/dist/src/fault-tolerance/index.js.map +1 -0
- package/dist/src/fault-tolerance/mirror-sync.d.ts +61 -0
- package/dist/src/fault-tolerance/mirror-sync.d.ts.map +1 -0
- package/dist/src/fault-tolerance/mirror-sync.js +203 -0
- package/dist/src/fault-tolerance/mirror-sync.js.map +1 -0
- package/dist/src/icp/batch.d.ts +112 -0
- package/dist/src/icp/batch.d.ts.map +1 -0
- package/dist/src/icp/batch.js +279 -0
- package/dist/src/icp/batch.js.map +1 -0
- package/dist/src/icp/cycles.d.ts +29 -0
- package/dist/src/icp/cycles.d.ts.map +1 -0
- package/{src/icp/cycles.ts → dist/src/icp/cycles.js} +8 -22
- package/dist/src/icp/cycles.js.map +1 -0
- package/dist/src/icp/environment.d.ts +60 -0
- package/dist/src/icp/environment.d.ts.map +1 -0
- package/dist/src/icp/environment.js +183 -0
- package/dist/src/icp/environment.js.map +1 -0
- package/dist/src/icp/icpcli.d.ts +204 -0
- package/dist/src/icp/icpcli.d.ts.map +1 -0
- package/dist/src/icp/icpcli.js +374 -0
- package/dist/src/icp/icpcli.js.map +1 -0
- package/dist/src/icp/icwasm.d.ts +94 -0
- package/dist/src/icp/icwasm.d.ts.map +1 -0
- package/dist/src/icp/icwasm.js +197 -0
- package/dist/src/icp/icwasm.js.map +1 -0
- package/dist/src/icp/identity.d.ts +50 -0
- package/dist/src/icp/identity.d.ts.map +1 -0
- package/{src/icp/identity.ts → dist/src/icp/identity.js} +15 -28
- package/dist/src/icp/identity.js.map +1 -0
- package/dist/src/icp/index.d.ts +16 -0
- package/dist/src/icp/index.d.ts.map +1 -0
- package/dist/src/icp/index.js +20 -0
- package/dist/src/icp/index.js.map +1 -0
- package/dist/src/icp/optimization.d.ts +16 -0
- package/dist/src/icp/optimization.d.ts.map +1 -0
- package/dist/src/icp/optimization.js +225 -0
- package/dist/src/icp/optimization.js.map +1 -0
- package/dist/src/icp/tokens.d.ts +24 -0
- package/dist/src/icp/tokens.d.ts.map +1 -0
- package/{src/icp/tokens.ts → dist/src/icp/tokens.js} +5 -12
- package/dist/src/icp/tokens.js.map +1 -0
- package/dist/src/icp/tool-detector.d.ts +31 -0
- package/dist/src/icp/tool-detector.d.ts.map +1 -0
- package/dist/src/icp/tool-detector.js +118 -0
- package/dist/src/icp/tool-detector.js.map +1 -0
- package/dist/src/icp/types.d.ts +493 -0
- package/dist/src/icp/types.d.ts.map +1 -0
- package/dist/src/icp/types.js +7 -0
- package/dist/src/icp/types.js.map +1 -0
- package/dist/src/index.d.ts +12 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +39 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/inference/bittensor-client.d.ts +161 -0
- package/dist/src/inference/bittensor-client.d.ts.map +1 -0
- package/dist/src/inference/bittensor-client.js +317 -0
- package/dist/src/inference/bittensor-client.js.map +1 -0
- package/dist/src/inference/fallback-chain.d.ts +90 -0
- package/dist/src/inference/fallback-chain.d.ts.map +1 -0
- package/dist/src/inference/fallback-chain.js +219 -0
- package/dist/src/inference/fallback-chain.js.map +1 -0
- package/dist/src/inference/index.d.ts +13 -0
- package/dist/src/inference/index.d.ts.map +1 -0
- package/dist/src/inference/index.js +13 -0
- package/dist/src/inference/index.js.map +1 -0
- package/dist/src/inference/inference-manager.d.ts +76 -0
- package/dist/src/inference/inference-manager.d.ts.map +1 -0
- package/dist/src/inference/inference-manager.js +228 -0
- package/dist/src/inference/inference-manager.js.map +1 -0
- package/dist/src/inference/local-model-client.d.ts +46 -0
- package/dist/src/inference/local-model-client.d.ts.map +1 -0
- package/dist/src/inference/local-model-client.js +92 -0
- package/dist/src/inference/local-model-client.js.map +1 -0
- package/dist/src/inference/secure-inference.d.ts +105 -0
- package/dist/src/inference/secure-inference.d.ts.map +1 -0
- package/dist/src/inference/secure-inference.js +237 -0
- package/dist/src/inference/secure-inference.js.map +1 -0
- package/dist/src/inference/venice-client.d.ts +149 -0
- package/dist/src/inference/venice-client.d.ts.map +1 -0
- package/dist/src/inference/venice-client.js +333 -0
- package/dist/src/inference/venice-client.js.map +1 -0
- package/dist/src/metrics/index.d.ts +7 -0
- package/dist/src/metrics/index.d.ts.map +1 -0
- package/{src/metrics/index.ts → dist/src/metrics/index.js} +1 -1
- package/dist/src/metrics/index.js.map +1 -0
- package/dist/src/metrics/metrics.d.ts +39 -0
- package/dist/src/metrics/metrics.d.ts.map +1 -0
- package/dist/src/metrics/metrics.js +129 -0
- package/dist/src/metrics/metrics.js.map +1 -0
- package/dist/src/mint/google-adk.d.ts +19 -0
- package/dist/src/mint/google-adk.d.ts.map +1 -0
- package/dist/src/mint/google-adk.js +180 -0
- package/dist/src/mint/google-adk.js.map +1 -0
- package/dist/src/monitoring/alerting.d.ts +51 -0
- package/dist/src/monitoring/alerting.d.ts.map +1 -0
- package/dist/src/monitoring/alerting.js +169 -0
- package/dist/src/monitoring/alerting.js.map +1 -0
- package/dist/src/monitoring/health.d.ts +48 -0
- package/dist/src/monitoring/health.d.ts.map +1 -0
- package/dist/src/monitoring/health.js +227 -0
- package/dist/src/monitoring/health.js.map +1 -0
- package/dist/src/monitoring/index.d.ts +10 -0
- package/dist/src/monitoring/index.d.ts.map +1 -0
- package/dist/src/monitoring/index.js +12 -0
- package/dist/src/monitoring/index.js.map +1 -0
- package/dist/src/monitoring/info.d.ts +15 -0
- package/dist/src/monitoring/info.d.ts.map +1 -0
- package/dist/src/monitoring/info.js +109 -0
- package/dist/src/monitoring/info.js.map +1 -0
- package/dist/src/monitoring/types.d.ts +119 -0
- package/dist/src/monitoring/types.d.ts.map +1 -0
- package/dist/src/monitoring/types.js +7 -0
- package/dist/src/monitoring/types.js.map +1 -0
- package/dist/src/network/index.d.ts +5 -0
- package/dist/src/network/index.d.ts.map +1 -0
- package/{src/network/index.ts → dist/src/network/index.js} +1 -1
- package/dist/src/network/index.js.map +1 -0
- package/dist/src/network/network-config.d.ts +31 -0
- package/dist/src/network/network-config.d.ts.map +1 -0
- package/dist/src/network/network-config.js +109 -0
- package/dist/src/network/network-config.js.map +1 -0
- package/dist/src/orchestration/claude.d.ts +125 -0
- package/dist/src/orchestration/claude.d.ts.map +1 -0
- package/dist/src/orchestration/claude.js +639 -0
- package/dist/src/orchestration/claude.js.map +1 -0
- package/dist/src/orchestration/google-adk.d.ts +77 -0
- package/dist/src/orchestration/google-adk.d.ts.map +1 -0
- package/dist/src/orchestration/google-adk.js +659 -0
- package/dist/src/orchestration/google-adk.js.map +1 -0
- package/dist/src/orchestration/mcp-client.d.ts +47 -0
- package/dist/src/orchestration/mcp-client.d.ts.map +1 -0
- package/dist/src/orchestration/mcp-client.js +179 -0
- package/dist/src/orchestration/mcp-client.js.map +1 -0
- package/dist/src/orchestration/polytician-enricher.d.ts +21 -0
- package/dist/src/orchestration/polytician-enricher.d.ts.map +1 -0
- package/dist/src/orchestration/polytician-enricher.js +131 -0
- package/dist/src/orchestration/polytician-enricher.js.map +1 -0
- package/dist/src/orchestration/smallchat-bridge.d.ts +121 -0
- package/dist/src/orchestration/smallchat-bridge.d.ts.map +1 -0
- package/dist/src/orchestration/smallchat-bridge.js +331 -0
- package/dist/src/orchestration/smallchat-bridge.js.map +1 -0
- package/dist/src/orchestration/smallchat-compression.d.ts +100 -0
- package/dist/src/orchestration/smallchat-compression.d.ts.map +1 -0
- package/dist/src/orchestration/smallchat-compression.js +203 -0
- package/dist/src/orchestration/smallchat-compression.js.map +1 -0
- package/dist/src/orchestration/smallchat-policy.d.ts +158 -0
- package/dist/src/orchestration/smallchat-policy.d.ts.map +1 -0
- package/dist/src/orchestration/smallchat-policy.js +314 -0
- package/dist/src/orchestration/smallchat-policy.js.map +1 -0
- package/dist/src/orchestration/smallchat-tools.d.ts +69 -0
- package/dist/src/orchestration/smallchat-tools.d.ts.map +1 -0
- package/dist/src/orchestration/smallchat-tools.js +501 -0
- package/dist/src/orchestration/smallchat-tools.js.map +1 -0
- package/dist/src/packaging/compiler.d.ts +61 -0
- package/dist/src/packaging/compiler.d.ts.map +1 -0
- package/dist/src/packaging/compiler.js +562 -0
- package/dist/src/packaging/compiler.js.map +1 -0
- package/dist/src/packaging/config-persistence.d.ts +46 -0
- package/dist/src/packaging/config-persistence.d.ts.map +1 -0
- package/dist/src/packaging/config-persistence.js +108 -0
- package/dist/src/packaging/config-persistence.js.map +1 -0
- package/dist/src/packaging/config-schemas.d.ts +157 -0
- package/dist/src/packaging/config-schemas.d.ts.map +1 -0
- package/dist/src/packaging/config-schemas.js +62 -0
- package/dist/src/packaging/config-schemas.js.map +1 -0
- package/dist/src/packaging/detector.d.ts +26 -0
- package/dist/src/packaging/detector.d.ts.map +1 -0
- package/dist/src/packaging/detector.js +207 -0
- package/dist/src/packaging/detector.js.map +1 -0
- package/dist/src/packaging/index.d.ts +22 -0
- package/dist/src/packaging/index.d.ts.map +1 -0
- package/dist/src/packaging/index.js +28 -0
- package/dist/src/packaging/index.js.map +1 -0
- package/dist/src/packaging/packager.d.ts +31 -0
- package/dist/src/packaging/packager.d.ts.map +1 -0
- package/dist/src/packaging/packager.js +90 -0
- package/dist/src/packaging/packager.js.map +1 -0
- package/dist/src/packaging/parsers/clawdbot.d.ts +19 -0
- package/dist/src/packaging/parsers/clawdbot.d.ts.map +1 -0
- package/dist/src/packaging/parsers/clawdbot.js +229 -0
- package/dist/src/packaging/parsers/clawdbot.js.map +1 -0
- package/dist/src/packaging/parsers/cline.d.ts +26 -0
- package/dist/src/packaging/parsers/cline.d.ts.map +1 -0
- package/dist/src/packaging/parsers/cline.js +185 -0
- package/dist/src/packaging/parsers/cline.js.map +1 -0
- package/dist/src/packaging/parsers/generic.d.ts +27 -0
- package/dist/src/packaging/parsers/generic.d.ts.map +1 -0
- package/dist/src/packaging/parsers/generic.js +221 -0
- package/dist/src/packaging/parsers/generic.js.map +1 -0
- package/dist/src/packaging/parsers/goose.d.ts +26 -0
- package/dist/src/packaging/parsers/goose.d.ts.map +1 -0
- package/dist/src/packaging/parsers/goose.js +175 -0
- package/dist/src/packaging/parsers/goose.js.map +1 -0
- package/dist/src/packaging/parsers/index.d.ts +13 -0
- package/dist/src/packaging/parsers/index.d.ts.map +1 -0
- package/{src/packaging/parsers/index.ts → dist/src/packaging/parsers/index.js} +3 -1
- package/dist/src/packaging/parsers/index.js.map +1 -0
- package/dist/src/packaging/parsers/nemoclaw.d.ts +4 -0
- package/dist/src/packaging/parsers/nemoclaw.d.ts.map +1 -0
- package/dist/src/packaging/parsers/nemoclaw.js +145 -0
- package/dist/src/packaging/parsers/nemoclaw.js.map +1 -0
- package/dist/src/packaging/parsers/polytician.d.ts +4 -0
- package/dist/src/packaging/parsers/polytician.d.ts.map +1 -0
- package/dist/src/packaging/parsers/polytician.js +121 -0
- package/dist/src/packaging/parsers/polytician.js.map +1 -0
- package/dist/src/packaging/serializer.d.ts +114 -0
- package/dist/src/packaging/serializer.d.ts.map +1 -0
- package/dist/src/packaging/serializer.js +164 -0
- package/dist/src/packaging/serializer.js.map +1 -0
- package/dist/src/packaging/serializers/index.d.ts +3 -0
- package/dist/src/packaging/serializers/index.d.ts.map +1 -0
- package/dist/src/packaging/serializers/index.js +2 -0
- package/dist/src/packaging/serializers/index.js.map +1 -0
- package/dist/src/packaging/serializers/thoughtform.d.ts +89 -0
- package/dist/src/packaging/serializers/thoughtform.d.ts.map +1 -0
- package/dist/src/packaging/serializers/thoughtform.js +84 -0
- package/dist/src/packaging/serializers/thoughtform.js.map +1 -0
- package/dist/src/packaging/state-format.d.ts +332 -0
- package/dist/src/packaging/state-format.d.ts.map +1 -0
- package/dist/src/packaging/state-format.js +602 -0
- package/dist/src/packaging/state-format.js.map +1 -0
- package/dist/src/packaging/types.d.ts +131 -0
- package/dist/src/packaging/types.d.ts.map +1 -0
- package/dist/src/packaging/types.js +5 -0
- package/dist/src/packaging/types.js.map +1 -0
- package/dist/src/packaging/wasm-compiler.d.ts +160 -0
- package/dist/src/packaging/wasm-compiler.d.ts.map +1 -0
- package/dist/src/packaging/wasm-compiler.js +662 -0
- package/dist/src/packaging/wasm-compiler.js.map +1 -0
- package/dist/src/packaging/wasmedge-compiler.d.ts +76 -0
- package/dist/src/packaging/wasmedge-compiler.d.ts.map +1 -0
- package/dist/src/packaging/wasmedge-compiler.js +351 -0
- package/dist/src/packaging/wasmedge-compiler.js.map +1 -0
- package/dist/src/pilot/air-gap.d.ts +51 -0
- package/dist/src/pilot/air-gap.d.ts.map +1 -0
- package/dist/src/pilot/air-gap.js +118 -0
- package/dist/src/pilot/air-gap.js.map +1 -0
- package/dist/src/pilot/index.d.ts +14 -0
- package/dist/src/pilot/index.d.ts.map +1 -0
- package/dist/src/pilot/index.js +16 -0
- package/dist/src/pilot/index.js.map +1 -0
- package/dist/src/pilot/private-replica.d.ts +67 -0
- package/dist/src/pilot/private-replica.d.ts.map +1 -0
- package/dist/src/pilot/private-replica.js +429 -0
- package/dist/src/pilot/private-replica.js.map +1 -0
- package/dist/src/pilot/proxy-config.d.ts +36 -0
- package/dist/src/pilot/proxy-config.d.ts.map +1 -0
- package/dist/src/pilot/proxy-config.js +96 -0
- package/dist/src/pilot/proxy-config.js.map +1 -0
- package/dist/src/pilot/types.d.ts +181 -0
- package/dist/src/pilot/types.d.ts.map +1 -0
- package/dist/src/pilot/types.js +7 -0
- package/dist/src/pilot/types.js.map +1 -0
- package/dist/src/security/icp-audit.d.ts +63 -0
- package/dist/src/security/icp-audit.d.ts.map +1 -0
- package/dist/src/security/icp-audit.js +234 -0
- package/dist/src/security/icp-audit.js.map +1 -0
- package/dist/src/security/index.d.ts +17 -0
- package/dist/src/security/index.d.ts.map +1 -0
- package/dist/src/security/index.js +24 -0
- package/dist/src/security/index.js.map +1 -0
- package/dist/src/security/mfa-approval.d.ts +219 -0
- package/dist/src/security/mfa-approval.d.ts.map +1 -0
- package/dist/src/security/mfa-approval.js +668 -0
- package/dist/src/security/mfa-approval.js.map +1 -0
- package/dist/src/security/multisig.d.ts +102 -0
- package/dist/src/security/multisig.d.ts.map +1 -0
- package/dist/src/security/multisig.js +283 -0
- package/dist/src/security/multisig.js.map +1 -0
- package/dist/src/security/totp.d.ts +67 -0
- package/dist/src/security/totp.d.ts.map +1 -0
- package/dist/src/security/totp.js +148 -0
- package/dist/src/security/totp.js.map +1 -0
- package/dist/src/security/types.d.ts +212 -0
- package/dist/src/security/types.d.ts.map +1 -0
- package/dist/src/security/types.js +217 -0
- package/dist/src/security/types.js.map +1 -0
- package/dist/src/security/vetkeys.d.ts +222 -0
- package/dist/src/security/vetkeys.d.ts.map +1 -0
- package/dist/src/security/vetkeys.js +628 -0
- package/dist/src/security/vetkeys.js.map +1 -0
- package/dist/src/security/webauthn.d.ts +127 -0
- package/dist/src/security/webauthn.d.ts.map +1 -0
- package/dist/src/security/webauthn.js +246 -0
- package/dist/src/security/webauthn.js.map +1 -0
- package/dist/src/testing/index.d.ts +6 -0
- package/dist/src/testing/index.d.ts.map +1 -0
- package/{src/testing/index.ts → dist/src/testing/index.js} +1 -1
- package/dist/src/testing/index.js.map +1 -0
- package/dist/src/testing/local-runner.d.ts +23 -0
- package/dist/src/testing/local-runner.d.ts.map +1 -0
- package/dist/src/testing/local-runner.js +226 -0
- package/dist/src/testing/local-runner.js.map +1 -0
- package/dist/src/testing/types.d.ts +98 -0
- package/dist/src/testing/types.d.ts.map +1 -0
- package/dist/src/testing/types.js +5 -0
- package/dist/src/testing/types.js.map +1 -0
- package/dist/src/trading/api-key-manager.d.ts +96 -0
- package/dist/src/trading/api-key-manager.d.ts.map +1 -0
- package/dist/src/trading/api-key-manager.js +201 -0
- package/dist/src/trading/api-key-manager.js.map +1 -0
- package/dist/src/trading/consensus.d.ts +171 -0
- package/dist/src/trading/consensus.d.ts.map +1 -0
- package/dist/src/trading/consensus.js +291 -0
- package/dist/src/trading/consensus.js.map +1 -0
- package/dist/src/trading/index.d.ts +19 -0
- package/dist/src/trading/index.d.ts.map +1 -0
- package/dist/src/trading/index.js +15 -0
- package/dist/src/trading/index.js.map +1 -0
- package/dist/src/trading/ip-whitelist.d.ts +70 -0
- package/dist/src/trading/ip-whitelist.d.ts.map +1 -0
- package/dist/src/trading/ip-whitelist.js +239 -0
- package/dist/src/trading/ip-whitelist.js.map +1 -0
- package/dist/src/trading/skill-sandbox.d.ts +88 -0
- package/dist/src/trading/skill-sandbox.d.ts.map +1 -0
- package/dist/src/trading/skill-sandbox.js +175 -0
- package/dist/src/trading/skill-sandbox.js.map +1 -0
- package/dist/src/utils/path-validation.d.ts +34 -0
- package/dist/src/utils/path-validation.d.ts.map +1 -0
- package/dist/src/utils/path-validation.js +88 -0
- package/dist/src/utils/path-validation.js.map +1 -0
- package/dist/src/vault/bitwarden.d.ts +51 -0
- package/dist/src/vault/bitwarden.d.ts.map +1 -0
- package/dist/src/vault/bitwarden.js +172 -0
- package/dist/src/vault/bitwarden.js.map +1 -0
- package/dist/src/vault/client.d.ts +44 -0
- package/dist/src/vault/client.d.ts.map +1 -0
- package/dist/src/vault/client.js +523 -0
- package/dist/src/vault/client.js.map +1 -0
- package/dist/src/vault/config.d.ts +68 -0
- package/dist/src/vault/config.d.ts.map +1 -0
- package/dist/src/vault/config.js +265 -0
- package/dist/src/vault/config.js.map +1 -0
- package/dist/src/vault/encrypted-memory-store.d.ts +80 -0
- package/dist/src/vault/encrypted-memory-store.d.ts.map +1 -0
- package/dist/src/vault/encrypted-memory-store.js +175 -0
- package/dist/src/vault/encrypted-memory-store.js.map +1 -0
- package/dist/src/vault/hashicorp-provider.d.ts +22 -0
- package/dist/src/vault/hashicorp-provider.d.ts.map +1 -0
- package/dist/src/vault/hashicorp-provider.js +63 -0
- package/dist/src/vault/hashicorp-provider.js.map +1 -0
- package/dist/src/vault/index.d.ts +40 -0
- package/dist/src/vault/index.d.ts.map +1 -0
- package/dist/src/vault/index.js +38 -0
- package/dist/src/vault/index.js.map +1 -0
- package/dist/src/vault/memory-provider.d.ts +26 -0
- package/dist/src/vault/memory-provider.d.ts.map +1 -0
- package/dist/src/vault/memory-provider.js +42 -0
- package/dist/src/vault/memory-provider.js.map +1 -0
- package/dist/src/vault/provider.d.ts +68 -0
- package/dist/src/vault/provider.d.ts.map +1 -0
- package/dist/src/vault/provider.js +50 -0
- package/dist/src/vault/provider.js.map +1 -0
- package/dist/src/vault/safehouse-types.d.ts +204 -0
- package/dist/src/vault/safehouse-types.d.ts.map +1 -0
- package/dist/src/vault/safehouse-types.js +9 -0
- package/dist/src/vault/safehouse-types.js.map +1 -0
- package/dist/src/vault/secret-audit.d.ts +91 -0
- package/dist/src/vault/secret-audit.d.ts.map +1 -0
- package/dist/src/vault/secret-audit.js +224 -0
- package/dist/src/vault/secret-audit.js.map +1 -0
- package/dist/src/vault/secret-injector.d.ts +62 -0
- package/dist/src/vault/secret-injector.d.ts.map +1 -0
- package/dist/src/vault/secret-injector.js +237 -0
- package/dist/src/vault/secret-injector.js.map +1 -0
- package/dist/src/vault/secret-leak-detector.d.ts +94 -0
- package/dist/src/vault/secret-leak-detector.d.ts.map +1 -0
- package/dist/src/vault/secret-leak-detector.js +218 -0
- package/dist/src/vault/secret-leak-detector.js.map +1 -0
- package/dist/src/vault/secret-management-layer.d.ts +139 -0
- package/dist/src/vault/secret-management-layer.d.ts.map +1 -0
- package/dist/src/vault/secret-management-layer.js +366 -0
- package/dist/src/vault/secret-management-layer.js.map +1 -0
- package/dist/src/vault/secret-rotation.d.ts +54 -0
- package/dist/src/vault/secret-rotation.d.ts.map +1 -0
- package/dist/src/vault/secret-rotation.js +156 -0
- package/dist/src/vault/secret-rotation.js.map +1 -0
- package/dist/src/vault/secret-sandbox.d.ts +94 -0
- package/dist/src/vault/secret-sandbox.d.ts.map +1 -0
- package/dist/src/vault/secret-sandbox.js +232 -0
- package/dist/src/vault/secret-sandbox.js.map +1 -0
- package/dist/src/vault/types.d.ts +148 -0
- package/dist/src/vault/types.d.ts.map +1 -0
- package/dist/src/vault/types.js +7 -0
- package/dist/src/vault/types.js.map +1 -0
- package/dist/src/wallet/cbor-serializer.d.ts +82 -0
- package/dist/src/wallet/cbor-serializer.d.ts.map +1 -0
- package/dist/src/wallet/cbor-serializer.js +287 -0
- package/dist/src/wallet/cbor-serializer.js.map +1 -0
- package/dist/src/wallet/chain-dispatcher.d.ts +112 -0
- package/dist/src/wallet/chain-dispatcher.d.ts.map +1 -0
- package/dist/src/wallet/chain-dispatcher.js +230 -0
- package/dist/src/wallet/chain-dispatcher.js.map +1 -0
- package/dist/src/wallet/cross-chain-aggregator.d.ts +119 -0
- package/dist/src/wallet/cross-chain-aggregator.d.ts.map +1 -0
- package/dist/src/wallet/cross-chain-aggregator.js +235 -0
- package/dist/src/wallet/cross-chain-aggregator.js.map +1 -0
- package/dist/src/wallet/hsm/index.d.ts +39 -0
- package/dist/src/wallet/hsm/index.d.ts.map +1 -0
- package/dist/src/wallet/hsm/index.js +60 -0
- package/dist/src/wallet/hsm/index.js.map +1 -0
- package/dist/src/wallet/hsm/ledger-provider.d.ts +75 -0
- package/dist/src/wallet/hsm/ledger-provider.d.ts.map +1 -0
- package/dist/src/wallet/hsm/ledger-provider.js +272 -0
- package/dist/src/wallet/hsm/ledger-provider.js.map +1 -0
- package/dist/src/wallet/hsm/sgx-provider.d.ts +83 -0
- package/dist/src/wallet/hsm/sgx-provider.d.ts.map +1 -0
- package/dist/src/wallet/hsm/sgx-provider.js +281 -0
- package/dist/src/wallet/hsm/sgx-provider.js.map +1 -0
- package/dist/src/wallet/hsm/types.d.ts +134 -0
- package/dist/src/wallet/hsm/types.d.ts.map +1 -0
- package/dist/src/wallet/hsm/types.js +46 -0
- package/dist/src/wallet/hsm/types.js.map +1 -0
- package/dist/src/wallet/index.d.ts +22 -0
- package/dist/src/wallet/index.d.ts.map +1 -0
- package/dist/src/wallet/index.js +29 -0
- package/dist/src/wallet/index.js.map +1 -0
- package/dist/src/wallet/key-derivation.d.ts +145 -0
- package/dist/src/wallet/key-derivation.d.ts.map +1 -0
- package/dist/src/wallet/key-derivation.js +408 -0
- package/dist/src/wallet/key-derivation.js.map +1 -0
- package/dist/src/wallet/providers/arweave-provider.d.ts +34 -0
- package/dist/src/wallet/providers/arweave-provider.d.ts.map +1 -0
- package/dist/src/wallet/providers/arweave-provider.js +126 -0
- package/dist/src/wallet/providers/arweave-provider.js.map +1 -0
- package/dist/src/wallet/providers/base-provider.d.ts +111 -0
- package/dist/src/wallet/providers/base-provider.d.ts.map +1 -0
- package/dist/src/wallet/providers/base-provider.js +58 -0
- package/dist/src/wallet/providers/base-provider.js.map +1 -0
- package/dist/src/wallet/providers/cketh-provider.d.ts +104 -0
- package/dist/src/wallet/providers/cketh-provider.d.ts.map +1 -0
- package/dist/src/wallet/providers/cketh-provider.js +343 -0
- package/dist/src/wallet/providers/cketh-provider.js.map +1 -0
- package/dist/src/wallet/providers/icp-provider.d.ts +34 -0
- package/dist/src/wallet/providers/icp-provider.d.ts.map +1 -0
- package/dist/src/wallet/providers/icp-provider.js +114 -0
- package/dist/src/wallet/providers/icp-provider.js.map +1 -0
- package/dist/src/wallet/providers/polkadot-provider.d.ts +115 -0
- package/dist/src/wallet/providers/polkadot-provider.d.ts.map +1 -0
- package/dist/src/wallet/providers/polkadot-provider.js +406 -0
- package/dist/src/wallet/providers/polkadot-provider.js.map +1 -0
- package/dist/src/wallet/providers/provider-factory.d.ts +23 -0
- package/dist/src/wallet/providers/provider-factory.d.ts.map +1 -0
- package/dist/src/wallet/providers/provider-factory.js +74 -0
- package/dist/src/wallet/providers/provider-factory.js.map +1 -0
- package/dist/src/wallet/providers/solana-provider.d.ts +102 -0
- package/dist/src/wallet/providers/solana-provider.d.ts.map +1 -0
- package/dist/src/wallet/providers/solana-provider.js +392 -0
- package/dist/src/wallet/providers/solana-provider.js.map +1 -0
- package/dist/src/wallet/secure-wallet.d.ts +132 -0
- package/dist/src/wallet/secure-wallet.d.ts.map +1 -0
- package/dist/src/wallet/secure-wallet.js +298 -0
- package/dist/src/wallet/secure-wallet.js.map +1 -0
- package/dist/src/wallet/transaction-queue.d.ts +133 -0
- package/dist/src/wallet/transaction-queue.d.ts.map +1 -0
- package/dist/src/wallet/transaction-queue.js +195 -0
- package/dist/src/wallet/transaction-queue.js.map +1 -0
- package/dist/src/wallet/types.d.ts +222 -0
- package/dist/src/wallet/types.d.ts.map +1 -0
- package/dist/src/wallet/types.js +5 -0
- package/dist/src/wallet/types.js.map +1 -0
- package/dist/src/wallet/vetkeys-adapter.d.ts +134 -0
- package/dist/src/wallet/vetkeys-adapter.d.ts.map +1 -0
- package/dist/src/wallet/vetkeys-adapter.js +304 -0
- package/dist/src/wallet/vetkeys-adapter.js.map +1 -0
- package/dist/src/wallet/wallet-crypto.d.ts +101 -0
- package/dist/src/wallet/wallet-crypto.d.ts.map +1 -0
- package/dist/src/wallet/wallet-crypto.js +185 -0
- package/dist/src/wallet/wallet-crypto.js.map +1 -0
- package/dist/src/wallet/wallet-manager.d.ts +222 -0
- package/dist/src/wallet/wallet-manager.d.ts.map +1 -0
- package/dist/src/wallet/wallet-manager.js +518 -0
- package/dist/src/wallet/wallet-manager.js.map +1 -0
- package/dist/src/wallet/wallet-storage.d.ts +139 -0
- package/dist/src/wallet/wallet-storage.d.ts.map +1 -0
- package/dist/src/wallet/wallet-storage.js +290 -0
- package/dist/src/wallet/wallet-storage.js.map +1 -0
- package/dist/src/wiki/index.d.ts +30 -0
- package/dist/src/wiki/index.d.ts.map +1 -0
- package/dist/src/wiki/index.js +30 -0
- package/dist/src/wiki/index.js.map +1 -0
- package/dist/src/wiki/ingest.d.ts +51 -0
- package/dist/src/wiki/ingest.d.ts.map +1 -0
- package/dist/src/wiki/ingest.js +197 -0
- package/dist/src/wiki/ingest.js.map +1 -0
- package/dist/src/wiki/lint.d.ts +43 -0
- package/dist/src/wiki/lint.d.ts.map +1 -0
- package/dist/src/wiki/lint.js +187 -0
- package/dist/src/wiki/lint.js.map +1 -0
- package/dist/src/wiki/mcp-tools.d.ts +35 -0
- package/dist/src/wiki/mcp-tools.d.ts.map +1 -0
- package/dist/src/wiki/mcp-tools.js +353 -0
- package/dist/src/wiki/mcp-tools.js.map +1 -0
- package/dist/src/wiki/query.d.ts +38 -0
- package/dist/src/wiki/query.d.ts.map +1 -0
- package/dist/src/wiki/query.js +117 -0
- package/dist/src/wiki/query.js.map +1 -0
- package/dist/src/wiki/wiki-store.d.ts +53 -0
- package/dist/src/wiki/wiki-store.d.ts.map +1 -0
- package/dist/src/wiki/wiki-store.js +132 -0
- package/dist/src/wiki/wiki-store.js.map +1 -0
- package/package.json +44 -12
- package/.dfx/local/network-id +0 -4
- package/.next/trace +0 -2
- package/.vercel/README.txt +0 -11
- package/.vercel/project.json +0 -1
- package/AGENTS.md +0 -43
- package/PLAN_VAULT_INTEGRATION.md +0 -318
- package/backups/agentvault-backup-test-agent-2026-02-12T17-54-28-967Z.json +0 -28
- package/backups/agentvault-backup-test-agent-2026-02-12T17-54-29-032Z.backup +0 -1
- package/backups/agentvault-backup-test-agent-2026-02-12T17-57-42-373Z.json +0 -28
- package/backups/agentvault-backup-test-agent-2026-02-12T17-57-42-428Z.backup +0 -1
- package/backups/agentvault-backup-test-agent-2026-02-12T18-52-25-132Z.json +0 -28
- package/backups/agentvault-backup-test-agent-2026-02-12T18-52-25-247Z.backup +0 -1
- package/backups/agentvault-backup-test-agent-2026-02-12T18-54-09-216Z.json +0 -28
- package/backups/agentvault-backup-test-agent-2026-02-12T18-54-09-283Z.backup +0 -1
- package/backups/agentvault-backup-test-agent-2026-02-12T22-18-22-772Z.backup +0 -1
- package/backups/agentvault-backup-test-agent-2026-02-12T22-18-22-793Z.json +0 -28
- package/backups/test-backup.json +0 -28
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.js +0 -14
- package/fixup_1_0_OSS_release.md +0 -136
- package/fixup_REALEASE_PRD.md +0 -136
- package/pnpm-workspace.yaml +0 -5
- package/scripts/dev-dashboard.mjs +0 -84
- package/site/README.md +0 -63
- package/site/docusaurus.config.ts +0 -148
- package/site/package-lock.json +0 -18383
- package/site/package.json +0 -47
- package/site/sidebars.ts +0 -86
- package/site/static/.gitkeep +0 -0
- package/site/static/img/logo.svg +0 -28
- package/site/static/img/og-image.svg +0 -35
- package/src/archival/archive-manager.ts +0 -372
- package/src/archival/arweave-client.ts +0 -289
- package/src/archival/index.ts +0 -8
- package/src/backup/backup.ts +0 -315
- package/src/backup/index.ts +0 -7
- package/src/cloud-storage/cloud-sync.ts +0 -461
- package/src/cloud-storage/provider-detector.ts +0 -198
- package/src/cloud-storage/types.ts +0 -104
- package/src/debugging/logs.ts +0 -193
- package/src/debugging/types.ts +0 -100
- package/src/deployment/deployer.ts +0 -274
- package/src/deployment/icpClient.ts +0 -620
- package/src/deployment/index.ts +0 -46
- package/src/deployment/promotion.ts +0 -161
- package/src/deployment/types.ts +0 -111
- package/src/icp/batch.ts +0 -374
- package/src/icp/environment.ts +0 -215
- package/src/icp/icpcli.ts +0 -438
- package/src/icp/icwasm.ts +0 -222
- package/src/icp/index.ts +0 -94
- package/src/icp/optimization.ts +0 -242
- package/src/icp/tool-detector.ts +0 -110
- package/src/icp/types.ts +0 -574
- package/src/index.ts +0 -25
- package/src/inference/bittensor-client.ts +0 -304
- package/src/inference/index.ts +0 -8
- package/src/inference/inference-manager.ts +0 -327
- package/src/metrics/metrics.ts +0 -186
- package/src/monitoring/alerting.ts +0 -190
- package/src/monitoring/health.ts +0 -197
- package/src/monitoring/index.ts +0 -38
- package/src/monitoring/info.ts +0 -114
- package/src/monitoring/types.ts +0 -99
- package/src/network/network-config.ts +0 -129
- package/src/packaging/compiler.ts +0 -647
- package/src/packaging/config-persistence.ts +0 -135
- package/src/packaging/config-schemas.ts +0 -156
- package/src/packaging/detector.ts +0 -220
- package/src/packaging/index.ts +0 -90
- package/src/packaging/packager.ts +0 -118
- package/src/packaging/parsers/clawdbot.ts +0 -278
- package/src/packaging/parsers/cline.ts +0 -223
- package/src/packaging/parsers/generic.ts +0 -266
- package/src/packaging/parsers/goose.ts +0 -214
- package/src/packaging/serializer.ts +0 -260
- package/src/packaging/types.ts +0 -144
- package/src/packaging/wasmedge-compiler.ts +0 -406
- package/src/security/index.ts +0 -17
- package/src/security/multisig.ts +0 -415
- package/src/security/types.ts +0 -416
- package/src/security/vetkeys.ts +0 -655
- package/src/testing/local-runner.ts +0 -264
- package/src/testing/types.ts +0 -104
- package/src/wallet/cbor-serializer.ts +0 -323
- package/src/wallet/chain-dispatcher.ts +0 -313
- package/src/wallet/cross-chain-aggregator.ts +0 -346
- package/src/wallet/index.ts +0 -76
- package/src/wallet/key-derivation.ts +0 -425
- package/src/wallet/providers/base-provider.ts +0 -154
- package/src/wallet/providers/cketh-provider.ts +0 -434
- package/src/wallet/providers/polkadot-provider.ts +0 -503
- package/src/wallet/providers/solana-provider.ts +0 -490
- package/src/wallet/transaction-queue.ts +0 -284
- package/src/wallet/types.ts +0 -178
- package/src/wallet/vetkeys-adapter.ts +0 -431
- package/src/wallet/wallet-manager.ts +0 -597
- package/src/wallet/wallet-storage.ts +0 -380
- package/vercel.json +0 -8
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VetKeys Adapter (Phase 5D)
|
|
3
|
+
*
|
|
4
|
+
* Mock VetKeys canister integration for threshold signatures.
|
|
5
|
+
* Uses local-only implementation until VetKeys canister is deployed.
|
|
6
|
+
*/
|
|
7
|
+
import { debugLog } from '../debugging/debug-logger.js';
|
|
8
|
+
/**
|
|
9
|
+
* VetKeys adapter
|
|
10
|
+
*
|
|
11
|
+
* VetKeys integration with optional canister support.
|
|
12
|
+
* Real VetKeys canister integration requires canisterId to be set.
|
|
13
|
+
*/
|
|
14
|
+
export class VetKeysAdapter {
|
|
15
|
+
options;
|
|
16
|
+
canisterId;
|
|
17
|
+
constructor(options = {}) {
|
|
18
|
+
this.options = {
|
|
19
|
+
threshold: options.threshold ?? 2,
|
|
20
|
+
totalParties: options.totalParties ?? 3,
|
|
21
|
+
encryptionAlgorithm: options.encryptionAlgorithm ?? 'aes-256-gcm',
|
|
22
|
+
canisterId: options.canisterId,
|
|
23
|
+
};
|
|
24
|
+
this.canisterId = options.canisterId;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Encrypt secret for canister storage
|
|
28
|
+
*
|
|
29
|
+
* @param secret - Secret data to encrypt
|
|
30
|
+
* @param transactionId - Transaction ID for reference
|
|
31
|
+
* @returns Encrypted secret
|
|
32
|
+
*/
|
|
33
|
+
async encryptSecret(secret, transactionId) {
|
|
34
|
+
const crypto = await import('node:crypto');
|
|
35
|
+
const key = crypto.randomBytes(32);
|
|
36
|
+
const iv = crypto.randomBytes(12);
|
|
37
|
+
const cipher = crypto.createCipheriv(this.options.encryptionAlgorithm === 'aes-256-gcm' ? 'aes-256-gcm' : 'chacha20-poly1305', key, iv);
|
|
38
|
+
let encrypted;
|
|
39
|
+
let tag;
|
|
40
|
+
if (this.options.encryptionAlgorithm === 'aes-256-gcm') {
|
|
41
|
+
const enc = cipher;
|
|
42
|
+
encrypted = Buffer.concat([
|
|
43
|
+
enc.update(secret, 'utf8'),
|
|
44
|
+
enc.final(),
|
|
45
|
+
]);
|
|
46
|
+
tag = enc.getAuthTag();
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
encrypted = Buffer.concat([
|
|
50
|
+
cipher.update(secret, 'utf8'),
|
|
51
|
+
cipher.final(),
|
|
52
|
+
]);
|
|
53
|
+
tag = Buffer.alloc(0);
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
id: transactionId || `secret_${Date.now()}`,
|
|
57
|
+
ciphertext: new Uint8Array(encrypted),
|
|
58
|
+
iv: new Uint8Array(iv),
|
|
59
|
+
tag: new Uint8Array(tag),
|
|
60
|
+
createdAt: Date.now(),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Decrypt secret from canister
|
|
65
|
+
*
|
|
66
|
+
* @param encrypted - Encrypted secret data
|
|
67
|
+
* @param key - Decryption key
|
|
68
|
+
* @returns Decrypted secret
|
|
69
|
+
*/
|
|
70
|
+
async decryptSecret(encrypted, key) {
|
|
71
|
+
const crypto = await import('node:crypto');
|
|
72
|
+
const decipher = crypto.createDecipheriv(this.options.encryptionAlgorithm === 'aes-256-gcm' ? 'aes-256-gcm' : 'chacha20-poly1305', key, encrypted.iv);
|
|
73
|
+
if (this.options.encryptionAlgorithm === 'aes-256-gcm') {
|
|
74
|
+
decipher.setAuthTag(encrypted.tag);
|
|
75
|
+
}
|
|
76
|
+
const decrypted = Buffer.concat([
|
|
77
|
+
decipher.update(Buffer.from(encrypted.ciphertext)),
|
|
78
|
+
decipher.final(),
|
|
79
|
+
]);
|
|
80
|
+
return decrypted.toString('utf8');
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Initiate threshold signature (mock)
|
|
84
|
+
*
|
|
85
|
+
* @param transactionId - Transaction ID
|
|
86
|
+
* @param wallet - Wallet to use
|
|
87
|
+
* @param request - Transaction request
|
|
88
|
+
* @returns Threshold signature result
|
|
89
|
+
*/
|
|
90
|
+
async initiateThresholdSignature(transactionId, wallet, request) {
|
|
91
|
+
debugLog(`Initiating threshold signature for ${transactionId}...`);
|
|
92
|
+
if (this.options.threshold && this.options.threshold > 1) {
|
|
93
|
+
const { VetKeysImplementation } = await import('../security/vetkeys.js');
|
|
94
|
+
const client = new VetKeysImplementation({
|
|
95
|
+
threshold: this.options.threshold,
|
|
96
|
+
totalParties: this.options.totalParties,
|
|
97
|
+
encryptionAlgorithm: this.options.encryptionAlgorithm,
|
|
98
|
+
});
|
|
99
|
+
const mnemonic = wallet.mnemonic;
|
|
100
|
+
if (!mnemonic) {
|
|
101
|
+
throw new Error('Wallet mnemonic not available for threshold signing');
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
const derived = await client.deriveThresholdKey(mnemonic);
|
|
105
|
+
debugLog('Threshold key derived successfully');
|
|
106
|
+
return {
|
|
107
|
+
transactionId,
|
|
108
|
+
success: true,
|
|
109
|
+
partialSignatures: derived.shareMetadata.map((s) => s.encryptedShare),
|
|
110
|
+
thresholdMet: (derived.threshold ?? 0) > 1,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
return {
|
|
115
|
+
transactionId,
|
|
116
|
+
success: false,
|
|
117
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
118
|
+
thresholdMet: false,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
debugLog('Threshold is 1, using direct signing');
|
|
124
|
+
const { createWalletProvider } = await import('./index.js');
|
|
125
|
+
const provider = createWalletProvider(wallet.chain, { isTestnet: false });
|
|
126
|
+
await provider.connect();
|
|
127
|
+
if (!wallet.privateKey) {
|
|
128
|
+
throw new Error('Wallet private key not available for signing');
|
|
129
|
+
}
|
|
130
|
+
const signed = await provider.signTransaction(request, wallet.privateKey);
|
|
131
|
+
return {
|
|
132
|
+
transactionId,
|
|
133
|
+
success: true,
|
|
134
|
+
signature: signed.signature,
|
|
135
|
+
thresholdMet: true,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Combine partial signatures
|
|
141
|
+
*
|
|
142
|
+
* IMPORTANT: This requires a deployed VetKeys canister for proper threshold
|
|
143
|
+
* signature combination. Without the canister, this implementation validates
|
|
144
|
+
* signature format but cannot perform cryptographic combination.
|
|
145
|
+
*
|
|
146
|
+
* @param partialSignatures - Array of partial signatures
|
|
147
|
+
* @param canisterConnected - Whether VetKeys canister is available
|
|
148
|
+
* @returns Combined signature or error
|
|
149
|
+
*/
|
|
150
|
+
async combineSignatures(partialSignatures, canisterConnected = false) {
|
|
151
|
+
debugLog(`Combining ${partialSignatures.length} partial signatures...`);
|
|
152
|
+
const threshold = this.options.threshold ?? 2;
|
|
153
|
+
if (partialSignatures.length < threshold) {
|
|
154
|
+
return {
|
|
155
|
+
success: false,
|
|
156
|
+
error: `Insufficient signatures: ${partialSignatures.length}/${threshold} required`,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
for (let i = 0; i < partialSignatures.length; i++) {
|
|
160
|
+
const sig = partialSignatures[i];
|
|
161
|
+
if (!sig || typeof sig !== 'string' || sig.length < 64) {
|
|
162
|
+
return {
|
|
163
|
+
success: false,
|
|
164
|
+
error: `Invalid partial signature at index ${i}: must be a valid hex string of at least 64 characters`,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
if (!/^[0-9a-fA-F]+$/.test(sig)) {
|
|
168
|
+
return {
|
|
169
|
+
success: false,
|
|
170
|
+
error: `Invalid partial signature at index ${i}: must be hexadecimal`,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
if (!canisterConnected) {
|
|
175
|
+
return {
|
|
176
|
+
success: false,
|
|
177
|
+
error: 'VetKeys canister not connected: threshold signature combination requires deployed VetKeys canister. Use single-party signing or deploy the VetKeys canister.',
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
try {
|
|
181
|
+
const crypto = await import('node:crypto');
|
|
182
|
+
const combinedData = Buffer.concat(partialSignatures.map((sig) => Buffer.from(sig, 'hex')));
|
|
183
|
+
const combined = crypto.createHash('sha256').update(combinedData).digest('hex');
|
|
184
|
+
debugLog('Signatures combined successfully (VetKeys canister mode)');
|
|
185
|
+
return {
|
|
186
|
+
success: true,
|
|
187
|
+
combinedSignature: combined,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
return {
|
|
192
|
+
success: false,
|
|
193
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Verify threshold signature
|
|
199
|
+
*
|
|
200
|
+
* IMPORTANT: This requires a deployed VetKeys canister for proper threshold
|
|
201
|
+
* signature verification. Without the canister, this validates format only.
|
|
202
|
+
*
|
|
203
|
+
* @param signature - Signature to verify
|
|
204
|
+
* @param transaction - Transaction data
|
|
205
|
+
* @param canisterConnected - Whether VetKeys canister is available
|
|
206
|
+
* @returns Verification result
|
|
207
|
+
*/
|
|
208
|
+
async verifySignature(signature, transaction, canisterConnected = false) {
|
|
209
|
+
debugLog('Verifying signature...');
|
|
210
|
+
if (!signature || typeof signature !== 'string') {
|
|
211
|
+
return { valid: false, error: 'Signature must be a non-empty string' };
|
|
212
|
+
}
|
|
213
|
+
if (signature.length < 64) {
|
|
214
|
+
return { valid: false, error: 'Signature must be at least 64 characters' };
|
|
215
|
+
}
|
|
216
|
+
if (!/^[0-9a-fA-F]+$/.test(signature)) {
|
|
217
|
+
return { valid: false, error: 'Signature must be hexadecimal' };
|
|
218
|
+
}
|
|
219
|
+
if (!transaction || typeof transaction !== 'object') {
|
|
220
|
+
return { valid: false, error: 'Transaction must be a valid object' };
|
|
221
|
+
}
|
|
222
|
+
if (!canisterConnected) {
|
|
223
|
+
debugLog('Warning: VetKeys canister not connected, signature format validated only');
|
|
224
|
+
return {
|
|
225
|
+
valid: false,
|
|
226
|
+
error: 'VetKeys canister not connected: threshold signature verification requires deployed VetKeys canister. Use single-party verification or deploy the VetKeys canister.',
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
try {
|
|
230
|
+
const crypto = await import('node:crypto');
|
|
231
|
+
const dataToVerify = JSON.stringify({
|
|
232
|
+
to: transaction.to,
|
|
233
|
+
amount: transaction.amount,
|
|
234
|
+
chain: transaction.chain,
|
|
235
|
+
memo: transaction.memo,
|
|
236
|
+
});
|
|
237
|
+
const expectedHash = crypto.createHash('sha256')
|
|
238
|
+
.update(dataToVerify)
|
|
239
|
+
.digest('hex');
|
|
240
|
+
const isValid = signature.includes(expectedHash.slice(0, 32));
|
|
241
|
+
if (isValid) {
|
|
242
|
+
debugLog('Signature verified successfully (VetKeys canister mode)');
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
debugLog('Signature verification failed');
|
|
246
|
+
}
|
|
247
|
+
return { valid: isValid };
|
|
248
|
+
}
|
|
249
|
+
catch (error) {
|
|
250
|
+
return {
|
|
251
|
+
valid: false,
|
|
252
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Get VetKeys status
|
|
258
|
+
*
|
|
259
|
+
* @returns VetKeys configuration status
|
|
260
|
+
*/
|
|
261
|
+
getStatus() {
|
|
262
|
+
return {
|
|
263
|
+
thresholdSupported: true,
|
|
264
|
+
currentThreshold: this.options.threshold ?? 2,
|
|
265
|
+
totalParties: this.options.totalParties ?? 3,
|
|
266
|
+
encryptionAlgorithm: this.options.encryptionAlgorithm ?? 'aes-256-gcm',
|
|
267
|
+
mode: this.canisterId ? 'production' : 'mock',
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Check if canister is connected
|
|
272
|
+
*
|
|
273
|
+
* Attempts to ping the VetKeys canister to verify connectivity.
|
|
274
|
+
* Returns false if canisterId is not configured or canister is unreachable.
|
|
275
|
+
*
|
|
276
|
+
* @returns True if VetKeys canister is accessible
|
|
277
|
+
*/
|
|
278
|
+
async isCanisterConnected() {
|
|
279
|
+
if (!this.canisterId) {
|
|
280
|
+
return false;
|
|
281
|
+
}
|
|
282
|
+
try {
|
|
283
|
+
const { createActor } = await import('../canister/actor.js');
|
|
284
|
+
const actor = createActor(this.canisterId);
|
|
285
|
+
const status = await actor.getVetKeysStatus();
|
|
286
|
+
return status && typeof status === 'object' && 'enabled' in status;
|
|
287
|
+
}
|
|
288
|
+
catch (error) {
|
|
289
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
290
|
+
debugLog(`VetKeys canister not accessible: ${message}`);
|
|
291
|
+
return false;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Create VetKeys adapter
|
|
297
|
+
*
|
|
298
|
+
* @param options - Adapter options
|
|
299
|
+
* @returns VetKeys adapter instance
|
|
300
|
+
*/
|
|
301
|
+
export function createVetKeysAdapter(options) {
|
|
302
|
+
return new VetKeysAdapter(options);
|
|
303
|
+
}
|
|
304
|
+
//# sourceMappingURL=vetkeys-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vetkeys-adapter.js","sourceRoot":"","sources":["../../../src/wallet/vetkeys-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wallet Crypto Module
|
|
3
|
+
*
|
|
4
|
+
* Provides cryptographic primitives for wallet key generation and at-rest
|
|
5
|
+
* encryption using industry-standard algorithms:
|
|
6
|
+
*
|
|
7
|
+
* - secp256k1 ECDSA (Ethereum / Polkadot) via @noble/curves
|
|
8
|
+
* - Ed25519 EdDSA (Solana / ICP / Arweave) via @noble/curves
|
|
9
|
+
* - AES-256-GCM authenticated encryption for private keys / mnemonics
|
|
10
|
+
* - PBKDF2-SHA256 (210 000 iterations) for storage-key derivation
|
|
11
|
+
*
|
|
12
|
+
* Private keys and mnemonics are NEVER stored in plaintext. When a
|
|
13
|
+
* caller supplies an encryptionKey (the wallet's BIP39 mnemonic) the
|
|
14
|
+
* sensitive fields are encrypted into an EncryptedKeyBundle before the
|
|
15
|
+
* wallet is written to disk.
|
|
16
|
+
*/
|
|
17
|
+
import type { EncryptedCiphertext, WalletData } from './types.js';
|
|
18
|
+
/**
|
|
19
|
+
* Derive a secp256k1 keypair from a 32-byte seed.
|
|
20
|
+
*
|
|
21
|
+
* Uses @noble/curves/secp256k1 – the same underlying library used by ethers
|
|
22
|
+
* and most modern JS wallets. The uncompressed public key (65 bytes,
|
|
23
|
+
* 0x04 prefix) is returned so callers can choose their own encoding.
|
|
24
|
+
*
|
|
25
|
+
* @param seed - 32 bytes of key material (e.g. from BIP32 derivation)
|
|
26
|
+
*/
|
|
27
|
+
export declare function secp256k1KeypairFromSeed(seed: Uint8Array): {
|
|
28
|
+
privateKey: Uint8Array;
|
|
29
|
+
publicKeyUncompressed: Uint8Array;
|
|
30
|
+
publicKeyCompressed: Uint8Array;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Derive an Ed25519 keypair from a 32-byte seed.
|
|
34
|
+
*
|
|
35
|
+
* Uses @noble/curves/ed25519. The private key is the raw 32-byte seed;
|
|
36
|
+
* the public key is the 32-byte Ed25519 point.
|
|
37
|
+
*
|
|
38
|
+
* @param seed - 32 bytes of key material
|
|
39
|
+
*/
|
|
40
|
+
export declare function ed25519KeypairFromSeed(seed: Uint8Array): {
|
|
41
|
+
privateKey: Uint8Array;
|
|
42
|
+
publicKey: Uint8Array;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Derive a 32-byte AES-256-GCM key from a BIP39 mnemonic and a random salt
|
|
46
|
+
* using PBKDF2-SHA256.
|
|
47
|
+
*
|
|
48
|
+
* The per-wallet salt ensures that two wallets encrypted with the same
|
|
49
|
+
* mnemonic produce independent keys, preventing cross-wallet key reuse.
|
|
50
|
+
*
|
|
51
|
+
* @param mnemonic - BIP39 mnemonic (the wallet owner's seed phrase)
|
|
52
|
+
* @param salt - 32-byte random per-wallet salt (stored alongside ciphertext)
|
|
53
|
+
*/
|
|
54
|
+
export declare function deriveStorageKey(mnemonic: string, salt: Buffer): Buffer;
|
|
55
|
+
/**
|
|
56
|
+
* Encrypt a UTF-8 plaintext string with AES-256-GCM.
|
|
57
|
+
*
|
|
58
|
+
* A fresh 12-byte IV is generated for every call. The authentication tag
|
|
59
|
+
* is stored alongside the ciphertext so that any tampering is detected on
|
|
60
|
+
* decryption.
|
|
61
|
+
*
|
|
62
|
+
* @param plaintext - The string to encrypt (private key hex or mnemonic)
|
|
63
|
+
* @param key - 32-byte AES key (output of deriveStorageKey)
|
|
64
|
+
*/
|
|
65
|
+
export declare function encryptSecret(plaintext: string, key: Buffer): EncryptedCiphertext;
|
|
66
|
+
/**
|
|
67
|
+
* Decrypt an AES-256-GCM ciphertext produced by encryptSecret.
|
|
68
|
+
*
|
|
69
|
+
* Throws if the authentication tag does not match (tamper detection).
|
|
70
|
+
*
|
|
71
|
+
* @param encrypted - EncryptedCiphertext produced by encryptSecret
|
|
72
|
+
* @param key - 32-byte AES key (must match the key used for encryption)
|
|
73
|
+
*/
|
|
74
|
+
export declare function decryptSecret(encrypted: EncryptedCiphertext, key: Buffer): string;
|
|
75
|
+
/**
|
|
76
|
+
* Encrypt a wallet's sensitive fields (privateKey and/or mnemonic) using
|
|
77
|
+
* AES-256-GCM with a key derived from the supplied mnemonic + a fresh
|
|
78
|
+
* random salt.
|
|
79
|
+
*
|
|
80
|
+
* The returned wallet has:
|
|
81
|
+
* - privateKey set to undefined
|
|
82
|
+
* - mnemonic set to undefined
|
|
83
|
+
* - encryptedSecrets populated with the ciphertext bundle
|
|
84
|
+
*
|
|
85
|
+
* The in-memory wallet object passed in is not mutated.
|
|
86
|
+
*
|
|
87
|
+
* @param wallet - Wallet whose secrets should be encrypted
|
|
88
|
+
* @param mnemonic - BIP39 mnemonic used as key-derivation material
|
|
89
|
+
*/
|
|
90
|
+
export declare function encryptWalletSecrets(wallet: WalletData, mnemonic: string): WalletData;
|
|
91
|
+
/**
|
|
92
|
+
* Decrypt a wallet's EncryptedKeyBundle back into plaintext fields.
|
|
93
|
+
*
|
|
94
|
+
* If the wallet has no encryptedSecrets the wallet is returned unchanged.
|
|
95
|
+
* Throws if the mnemonic is wrong (AES-GCM authentication will fail).
|
|
96
|
+
*
|
|
97
|
+
* @param wallet - Wallet with encryptedSecrets populated
|
|
98
|
+
* @param mnemonic - BIP39 mnemonic used as key-derivation material
|
|
99
|
+
*/
|
|
100
|
+
export declare function decryptWalletSecrets(wallet: WalletData, mnemonic: string): WalletData;
|
|
101
|
+
//# sourceMappingURL=wallet-crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet-crypto.d.ts","sourceRoot":"","sources":["../../../src/wallet/wallet-crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAsB,UAAU,EAAE,MAAM,YAAY,CAAC;AAsBtF;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG;IAC1D,UAAU,EAAE,UAAU,CAAC;IACvB,qBAAqB,EAAE,UAAU,CAAC;IAClC,mBAAmB,EAAE,UAAU,CAAC;CACjC,CAKA;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,UAAU,GAAG;IACxD,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,UAAU,CAAC;CACvB,CAIA;AAMD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvE;AAMD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAcjF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAcjF;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAsBrF;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAmBrF"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wallet Crypto Module
|
|
3
|
+
*
|
|
4
|
+
* Provides cryptographic primitives for wallet key generation and at-rest
|
|
5
|
+
* encryption using industry-standard algorithms:
|
|
6
|
+
*
|
|
7
|
+
* - secp256k1 ECDSA (Ethereum / Polkadot) via @noble/curves
|
|
8
|
+
* - Ed25519 EdDSA (Solana / ICP / Arweave) via @noble/curves
|
|
9
|
+
* - AES-256-GCM authenticated encryption for private keys / mnemonics
|
|
10
|
+
* - PBKDF2-SHA256 (210 000 iterations) for storage-key derivation
|
|
11
|
+
*
|
|
12
|
+
* Private keys and mnemonics are NEVER stored in plaintext. When a
|
|
13
|
+
* caller supplies an encryptionKey (the wallet's BIP39 mnemonic) the
|
|
14
|
+
* sensitive fields are encrypted into an EncryptedKeyBundle before the
|
|
15
|
+
* wallet is written to disk.
|
|
16
|
+
*/
|
|
17
|
+
import * as crypto from 'node:crypto';
|
|
18
|
+
import { secp256k1 } from '@noble/curves/secp256k1';
|
|
19
|
+
import { ed25519 } from '@noble/curves/ed25519';
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// Constants
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
/** PBKDF2 iteration count – OWASP 2023 recommendation for SHA-256 */
|
|
24
|
+
const PBKDF2_ITERATIONS = 210_000;
|
|
25
|
+
/** AES-256-GCM key length in bytes */
|
|
26
|
+
const AES_KEY_BYTES = 32;
|
|
27
|
+
/** AES-256-GCM IV length in bytes */
|
|
28
|
+
const GCM_IV_BYTES = 12;
|
|
29
|
+
/** PBKDF2 salt length in bytes */
|
|
30
|
+
const SALT_BYTES = 32;
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
// Key-generation helpers (exported for use in key-derivation.ts)
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
/**
|
|
35
|
+
* Derive a secp256k1 keypair from a 32-byte seed.
|
|
36
|
+
*
|
|
37
|
+
* Uses @noble/curves/secp256k1 – the same underlying library used by ethers
|
|
38
|
+
* and most modern JS wallets. The uncompressed public key (65 bytes,
|
|
39
|
+
* 0x04 prefix) is returned so callers can choose their own encoding.
|
|
40
|
+
*
|
|
41
|
+
* @param seed - 32 bytes of key material (e.g. from BIP32 derivation)
|
|
42
|
+
*/
|
|
43
|
+
export function secp256k1KeypairFromSeed(seed) {
|
|
44
|
+
const privateKey = seed.slice(0, 32);
|
|
45
|
+
const publicKeyUncompressed = secp256k1.getPublicKey(privateKey, false);
|
|
46
|
+
const publicKeyCompressed = secp256k1.getPublicKey(privateKey, true);
|
|
47
|
+
return { privateKey, publicKeyUncompressed, publicKeyCompressed };
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Derive an Ed25519 keypair from a 32-byte seed.
|
|
51
|
+
*
|
|
52
|
+
* Uses @noble/curves/ed25519. The private key is the raw 32-byte seed;
|
|
53
|
+
* the public key is the 32-byte Ed25519 point.
|
|
54
|
+
*
|
|
55
|
+
* @param seed - 32 bytes of key material
|
|
56
|
+
*/
|
|
57
|
+
export function ed25519KeypairFromSeed(seed) {
|
|
58
|
+
const privateKey = seed.slice(0, 32);
|
|
59
|
+
const publicKey = ed25519.getPublicKey(privateKey);
|
|
60
|
+
return { privateKey, publicKey };
|
|
61
|
+
}
|
|
62
|
+
// ---------------------------------------------------------------------------
|
|
63
|
+
// Storage-key derivation
|
|
64
|
+
// ---------------------------------------------------------------------------
|
|
65
|
+
/**
|
|
66
|
+
* Derive a 32-byte AES-256-GCM key from a BIP39 mnemonic and a random salt
|
|
67
|
+
* using PBKDF2-SHA256.
|
|
68
|
+
*
|
|
69
|
+
* The per-wallet salt ensures that two wallets encrypted with the same
|
|
70
|
+
* mnemonic produce independent keys, preventing cross-wallet key reuse.
|
|
71
|
+
*
|
|
72
|
+
* @param mnemonic - BIP39 mnemonic (the wallet owner's seed phrase)
|
|
73
|
+
* @param salt - 32-byte random per-wallet salt (stored alongside ciphertext)
|
|
74
|
+
*/
|
|
75
|
+
export function deriveStorageKey(mnemonic, salt) {
|
|
76
|
+
return crypto.pbkdf2Sync(mnemonic, salt, PBKDF2_ITERATIONS, AES_KEY_BYTES, 'sha256');
|
|
77
|
+
}
|
|
78
|
+
// ---------------------------------------------------------------------------
|
|
79
|
+
// AES-256-GCM encrypt / decrypt
|
|
80
|
+
// ---------------------------------------------------------------------------
|
|
81
|
+
/**
|
|
82
|
+
* Encrypt a UTF-8 plaintext string with AES-256-GCM.
|
|
83
|
+
*
|
|
84
|
+
* A fresh 12-byte IV is generated for every call. The authentication tag
|
|
85
|
+
* is stored alongside the ciphertext so that any tampering is detected on
|
|
86
|
+
* decryption.
|
|
87
|
+
*
|
|
88
|
+
* @param plaintext - The string to encrypt (private key hex or mnemonic)
|
|
89
|
+
* @param key - 32-byte AES key (output of deriveStorageKey)
|
|
90
|
+
*/
|
|
91
|
+
export function encryptSecret(plaintext, key) {
|
|
92
|
+
const iv = crypto.randomBytes(GCM_IV_BYTES);
|
|
93
|
+
const cipher = crypto.createCipheriv('aes-256-gcm', key, iv);
|
|
94
|
+
const ciphertext = Buffer.concat([
|
|
95
|
+
cipher.update(plaintext, 'utf8'),
|
|
96
|
+
cipher.final(),
|
|
97
|
+
]);
|
|
98
|
+
const tag = cipher.getAuthTag();
|
|
99
|
+
return {
|
|
100
|
+
iv: iv.toString('hex'),
|
|
101
|
+
ciphertext: ciphertext.toString('hex'),
|
|
102
|
+
tag: tag.toString('hex'),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Decrypt an AES-256-GCM ciphertext produced by encryptSecret.
|
|
107
|
+
*
|
|
108
|
+
* Throws if the authentication tag does not match (tamper detection).
|
|
109
|
+
*
|
|
110
|
+
* @param encrypted - EncryptedCiphertext produced by encryptSecret
|
|
111
|
+
* @param key - 32-byte AES key (must match the key used for encryption)
|
|
112
|
+
*/
|
|
113
|
+
export function decryptSecret(encrypted, key) {
|
|
114
|
+
const decipher = crypto.createDecipheriv('aes-256-gcm', key, Buffer.from(encrypted.iv, 'hex'));
|
|
115
|
+
decipher.setAuthTag(Buffer.from(encrypted.tag, 'hex'));
|
|
116
|
+
const plaintext = Buffer.concat([
|
|
117
|
+
decipher.update(Buffer.from(encrypted.ciphertext, 'hex')),
|
|
118
|
+
decipher.final(),
|
|
119
|
+
]);
|
|
120
|
+
return plaintext.toString('utf8');
|
|
121
|
+
}
|
|
122
|
+
// ---------------------------------------------------------------------------
|
|
123
|
+
// Wallet-level encrypt / decrypt
|
|
124
|
+
// ---------------------------------------------------------------------------
|
|
125
|
+
/**
|
|
126
|
+
* Encrypt a wallet's sensitive fields (privateKey and/or mnemonic) using
|
|
127
|
+
* AES-256-GCM with a key derived from the supplied mnemonic + a fresh
|
|
128
|
+
* random salt.
|
|
129
|
+
*
|
|
130
|
+
* The returned wallet has:
|
|
131
|
+
* - privateKey set to undefined
|
|
132
|
+
* - mnemonic set to undefined
|
|
133
|
+
* - encryptedSecrets populated with the ciphertext bundle
|
|
134
|
+
*
|
|
135
|
+
* The in-memory wallet object passed in is not mutated.
|
|
136
|
+
*
|
|
137
|
+
* @param wallet - Wallet whose secrets should be encrypted
|
|
138
|
+
* @param mnemonic - BIP39 mnemonic used as key-derivation material
|
|
139
|
+
*/
|
|
140
|
+
export function encryptWalletSecrets(wallet, mnemonic) {
|
|
141
|
+
const salt = crypto.randomBytes(SALT_BYTES);
|
|
142
|
+
const key = deriveStorageKey(mnemonic, salt);
|
|
143
|
+
const bundle = {
|
|
144
|
+
version: 1,
|
|
145
|
+
salt: salt.toString('hex'),
|
|
146
|
+
};
|
|
147
|
+
if (wallet.privateKey) {
|
|
148
|
+
bundle.privateKey = encryptSecret(wallet.privateKey, key);
|
|
149
|
+
}
|
|
150
|
+
if (wallet.mnemonic) {
|
|
151
|
+
bundle.mnemonic = encryptSecret(wallet.mnemonic, key);
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
...wallet,
|
|
155
|
+
privateKey: undefined,
|
|
156
|
+
mnemonic: undefined,
|
|
157
|
+
encryptedSecrets: bundle,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Decrypt a wallet's EncryptedKeyBundle back into plaintext fields.
|
|
162
|
+
*
|
|
163
|
+
* If the wallet has no encryptedSecrets the wallet is returned unchanged.
|
|
164
|
+
* Throws if the mnemonic is wrong (AES-GCM authentication will fail).
|
|
165
|
+
*
|
|
166
|
+
* @param wallet - Wallet with encryptedSecrets populated
|
|
167
|
+
* @param mnemonic - BIP39 mnemonic used as key-derivation material
|
|
168
|
+
*/
|
|
169
|
+
export function decryptWalletSecrets(wallet, mnemonic) {
|
|
170
|
+
if (!wallet.encryptedSecrets) {
|
|
171
|
+
return wallet;
|
|
172
|
+
}
|
|
173
|
+
const { encryptedSecrets } = wallet;
|
|
174
|
+
const salt = Buffer.from(encryptedSecrets.salt, 'hex');
|
|
175
|
+
const key = deriveStorageKey(mnemonic, salt);
|
|
176
|
+
const decrypted = {};
|
|
177
|
+
if (encryptedSecrets.privateKey) {
|
|
178
|
+
decrypted.privateKey = decryptSecret(encryptedSecrets.privateKey, key);
|
|
179
|
+
}
|
|
180
|
+
if (encryptedSecrets.mnemonic) {
|
|
181
|
+
decrypted.mnemonic = decryptSecret(encryptedSecrets.mnemonic, key);
|
|
182
|
+
}
|
|
183
|
+
return { ...wallet, ...decrypted };
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=wallet-crypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet-crypto.js","sourceRoot":"","sources":["../../../src/wallet/wallet-crypto.ts"],"names":[],"mappings":"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"}
|