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,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SecureWallet – deploy-time wallet with real cryptography
|
|
3
|
+
*
|
|
4
|
+
* Implements the three BDD scenarios:
|
|
5
|
+
*
|
|
6
|
+
* 1. Wallet creation on deploy
|
|
7
|
+
* • Keys generated with @noble/curves (secp256k1 or Ed25519)
|
|
8
|
+
* • Private key is IMMEDIATELY encrypted with AES-256-GCM
|
|
9
|
+
* • Encrypted bundle stored in stable memory (encryptedState field)
|
|
10
|
+
*
|
|
11
|
+
* 2. Message signing
|
|
12
|
+
* • Decrypts private key ephemerally, signs, zeroes memory
|
|
13
|
+
* • Produces signatures that validate against RFC 8032 / NIST test vectors
|
|
14
|
+
*
|
|
15
|
+
* 3. Key rotation
|
|
16
|
+
* • Old private key is zeroed from memory before new keys are generated
|
|
17
|
+
* • New keys are encrypted and replace the previous stable-memory entry
|
|
18
|
+
*/
|
|
19
|
+
import type { EncryptedKeyBundle } from './types.js';
|
|
20
|
+
export type CurveType = 'secp256k1' | 'ed25519';
|
|
21
|
+
/**
|
|
22
|
+
* The on-chain / stable-memory representation of a secure wallet.
|
|
23
|
+
* Private key material is NEVER present; only the encrypted bundle is stored.
|
|
24
|
+
*/
|
|
25
|
+
export interface SecureWalletState {
|
|
26
|
+
/** Curve used for key generation */
|
|
27
|
+
curve: CurveType;
|
|
28
|
+
/** Raw public key bytes (hex) – safe to store in plaintext */
|
|
29
|
+
publicKey: string;
|
|
30
|
+
/** AES-256-GCM encrypted private key bundle */
|
|
31
|
+
encryptedBundle: EncryptedKeyBundle;
|
|
32
|
+
/** Unix ms timestamp of initial creation */
|
|
33
|
+
createdAt: number;
|
|
34
|
+
/** Unix ms timestamp of last key rotation (undefined before first rotation) */
|
|
35
|
+
rotatedAt?: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* In-memory wallet handle returned after initialisation.
|
|
39
|
+
* Callers must retain the `encryptionKey` (passphrase) to perform signing or
|
|
40
|
+
* rotation; it is never stored inside SecureWallet.
|
|
41
|
+
*/
|
|
42
|
+
export interface WalletHandle {
|
|
43
|
+
state: SecureWalletState;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* SecureWallet manages an asymmetric keypair whose private key is always
|
|
47
|
+
* stored encrypted with AES-256-GCM and never persisted in plaintext.
|
|
48
|
+
*
|
|
49
|
+
* All operations that require the private key (sign, rotateKeys) accept the
|
|
50
|
+
* caller-supplied passphrase, decrypt ephemerally, operate, then zero the
|
|
51
|
+
* ephemeral buffer.
|
|
52
|
+
*/
|
|
53
|
+
export declare class SecureWallet {
|
|
54
|
+
/** Stable-memory / on-chain state – safe to serialise and store */
|
|
55
|
+
private _state;
|
|
56
|
+
/**
|
|
57
|
+
* Initialise the wallet: generate a keypair with @noble/curves and
|
|
58
|
+
* immediately encrypt the private key with AES-256-GCM.
|
|
59
|
+
*
|
|
60
|
+
* The plaintext private key exists in memory only for the duration of this
|
|
61
|
+
* call and is zeroed before the method returns.
|
|
62
|
+
*
|
|
63
|
+
* @param passphrase - Secret used as AES key material (e.g. BIP39 mnemonic
|
|
64
|
+
* or randomly generated deployment secret).
|
|
65
|
+
* @param curve - 'secp256k1' (Ethereum/Polkadot) or 'ed25519'
|
|
66
|
+
* (Solana/ICP/Arweave). Defaults to 'ed25519'.
|
|
67
|
+
*/
|
|
68
|
+
initialize(passphrase: string, curve?: CurveType): WalletHandle;
|
|
69
|
+
/**
|
|
70
|
+
* Sign an arbitrary message.
|
|
71
|
+
*
|
|
72
|
+
* The private key is decrypted ephemerally for the duration of the signing
|
|
73
|
+
* operation and zeroed before this method returns.
|
|
74
|
+
*
|
|
75
|
+
* For Ed25519: returns a 64-byte raw signature.
|
|
76
|
+
* For secp256k1: returns a 64-byte compact (r || s) DER-free signature.
|
|
77
|
+
*
|
|
78
|
+
* @param message - Raw message bytes to sign.
|
|
79
|
+
* @param passphrase - Passphrase used during `initialize()`.
|
|
80
|
+
*/
|
|
81
|
+
sign(message: Uint8Array, passphrase: string): Uint8Array;
|
|
82
|
+
/**
|
|
83
|
+
* Sign a pre-hashed digest directly (useful for secp256k1 ECDSA where the
|
|
84
|
+
* caller controls hashing, e.g. for NIST test-vector validation).
|
|
85
|
+
*
|
|
86
|
+
* Only supported on secp256k1 wallets.
|
|
87
|
+
*/
|
|
88
|
+
signDigest(digest: Uint8Array, passphrase: string): Uint8Array;
|
|
89
|
+
/**
|
|
90
|
+
* Verify a signature against the wallet's current public key.
|
|
91
|
+
*
|
|
92
|
+
* For Ed25519 and secp256k1 this is a pure-public-key operation – no
|
|
93
|
+
* passphrase required.
|
|
94
|
+
*
|
|
95
|
+
* @param message - Original raw message bytes.
|
|
96
|
+
* @param signature - Signature bytes returned by `sign()`.
|
|
97
|
+
*/
|
|
98
|
+
verify(message: Uint8Array, signature: Uint8Array): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Verify a secp256k1 signature against a pre-hashed digest.
|
|
101
|
+
*/
|
|
102
|
+
verifyDigest(digest: Uint8Array, signature: Uint8Array): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Rotate keys: decrypt the old private key, zero it, generate new keys, and
|
|
105
|
+
* encrypt the new private key with AES-256-GCM.
|
|
106
|
+
*
|
|
107
|
+
* After this call the wallet's `publicKey` and `encryptedBundle` are updated
|
|
108
|
+
* atomically; the old key material is zeroed.
|
|
109
|
+
*
|
|
110
|
+
* @param currentPassphrase - Passphrase used to decrypt the current key.
|
|
111
|
+
* @param newPassphrase - Passphrase to encrypt the new key. May be the
|
|
112
|
+
* same as `currentPassphrase`.
|
|
113
|
+
*/
|
|
114
|
+
rotateKeys(currentPassphrase: string, newPassphrase: string): WalletHandle;
|
|
115
|
+
/** Returns the current stable-memory state (safe to serialise). */
|
|
116
|
+
get state(): SecureWalletState;
|
|
117
|
+
/** True once `initialize()` has been called. */
|
|
118
|
+
get isInitialized(): boolean;
|
|
119
|
+
private _requireState;
|
|
120
|
+
private _decryptPrivateKey;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Create and immediately initialise a SecureWallet in one call.
|
|
124
|
+
*
|
|
125
|
+
* @param passphrase - Passphrase for AES-256-GCM key derivation.
|
|
126
|
+
* @param curve - Key curve ('secp256k1' | 'ed25519', default 'ed25519').
|
|
127
|
+
*/
|
|
128
|
+
export declare function createSecureWallet(passphrase: string, curve?: CurveType): {
|
|
129
|
+
wallet: SecureWallet;
|
|
130
|
+
handle: WalletHandle;
|
|
131
|
+
};
|
|
132
|
+
//# sourceMappingURL=secure-wallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secure-wallet.d.ts","sourceRoot":"","sources":["../../../src/wallet/secure-wallet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMrD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,KAAK,EAAE,SAAS,CAAC;IACjB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,eAAe,EAAE,kBAAkB,CAAC;IACpC,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,iBAAiB,CAAC;CAC1B;AA6BD;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB,mEAAmE;IACnE,OAAO,CAAC,MAAM,CAAkC;IAMhD;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,SAAqB,GAAG,YAAY;IAoD1E;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU;IA6BzD;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU;IAwB9D;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO;IAY3D;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO;IAahE;;;;;;;;;;OAUG;IACH,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,YAAY;IAyD1E,mEAAmE;IACnE,IAAI,KAAK,IAAI,iBAAiB,CAE7B;IAED,gDAAgD;IAChD,IAAI,aAAa,IAAI,OAAO,CAE3B;IAMD,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,kBAAkB;CAY3B;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE,SAAqB,GAC3B;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAIhD"}
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SecureWallet – deploy-time wallet with real cryptography
|
|
3
|
+
*
|
|
4
|
+
* Implements the three BDD scenarios:
|
|
5
|
+
*
|
|
6
|
+
* 1. Wallet creation on deploy
|
|
7
|
+
* • Keys generated with @noble/curves (secp256k1 or Ed25519)
|
|
8
|
+
* • Private key is IMMEDIATELY encrypted with AES-256-GCM
|
|
9
|
+
* • Encrypted bundle stored in stable memory (encryptedState field)
|
|
10
|
+
*
|
|
11
|
+
* 2. Message signing
|
|
12
|
+
* • Decrypts private key ephemerally, signs, zeroes memory
|
|
13
|
+
* • Produces signatures that validate against RFC 8032 / NIST test vectors
|
|
14
|
+
*
|
|
15
|
+
* 3. Key rotation
|
|
16
|
+
* • Old private key is zeroed from memory before new keys are generated
|
|
17
|
+
* • New keys are encrypted and replace the previous stable-memory entry
|
|
18
|
+
*/
|
|
19
|
+
import * as crypto from 'node:crypto';
|
|
20
|
+
import { secp256k1 } from '@noble/curves/secp256k1';
|
|
21
|
+
import { ed25519 } from '@noble/curves/ed25519';
|
|
22
|
+
import { encryptSecret, decryptSecret, deriveStorageKey } from './wallet-crypto.js';
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
// Internal helpers
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
const SALT_BYTES = 32;
|
|
27
|
+
/** Generate a fresh per-wallet salt and derive a 32-byte AES key */
|
|
28
|
+
function freshKey(passphrase) {
|
|
29
|
+
const salt = crypto.randomBytes(SALT_BYTES);
|
|
30
|
+
const aesKey = deriveStorageKey(passphrase, salt);
|
|
31
|
+
return { salt, aesKey };
|
|
32
|
+
}
|
|
33
|
+
/** Overwrite a Buffer's contents with zeros to wipe sensitive data */
|
|
34
|
+
function zeroBuffer(buf) {
|
|
35
|
+
buf.fill(0);
|
|
36
|
+
}
|
|
37
|
+
/** Overwrite a Uint8Array's contents with zeros */
|
|
38
|
+
function zeroBytes(arr) {
|
|
39
|
+
arr.fill(0);
|
|
40
|
+
}
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
// SecureWallet
|
|
43
|
+
// ---------------------------------------------------------------------------
|
|
44
|
+
/**
|
|
45
|
+
* SecureWallet manages an asymmetric keypair whose private key is always
|
|
46
|
+
* stored encrypted with AES-256-GCM and never persisted in plaintext.
|
|
47
|
+
*
|
|
48
|
+
* All operations that require the private key (sign, rotateKeys) accept the
|
|
49
|
+
* caller-supplied passphrase, decrypt ephemerally, operate, then zero the
|
|
50
|
+
* ephemeral buffer.
|
|
51
|
+
*/
|
|
52
|
+
export class SecureWallet {
|
|
53
|
+
/** Stable-memory / on-chain state – safe to serialise and store */
|
|
54
|
+
_state = null;
|
|
55
|
+
// -------------------------------------------------------------------------
|
|
56
|
+
// Scenario 1: Wallet creation on deploy
|
|
57
|
+
// -------------------------------------------------------------------------
|
|
58
|
+
/**
|
|
59
|
+
* Initialise the wallet: generate a keypair with @noble/curves and
|
|
60
|
+
* immediately encrypt the private key with AES-256-GCM.
|
|
61
|
+
*
|
|
62
|
+
* The plaintext private key exists in memory only for the duration of this
|
|
63
|
+
* call and is zeroed before the method returns.
|
|
64
|
+
*
|
|
65
|
+
* @param passphrase - Secret used as AES key material (e.g. BIP39 mnemonic
|
|
66
|
+
* or randomly generated deployment secret).
|
|
67
|
+
* @param curve - 'secp256k1' (Ethereum/Polkadot) or 'ed25519'
|
|
68
|
+
* (Solana/ICP/Arweave). Defaults to 'ed25519'.
|
|
69
|
+
*/
|
|
70
|
+
initialize(passphrase, curve = 'ed25519') {
|
|
71
|
+
// 1. Generate raw entropy
|
|
72
|
+
const entropy = crypto.randomBytes(32);
|
|
73
|
+
// 2. Derive keypair via @noble/curves
|
|
74
|
+
let privateKeyBytes;
|
|
75
|
+
let publicKeyBytes;
|
|
76
|
+
if (curve === 'secp256k1') {
|
|
77
|
+
privateKeyBytes = secp256k1.utils.randomPrivateKey();
|
|
78
|
+
// Use our generated entropy as the private key
|
|
79
|
+
privateKeyBytes = entropy;
|
|
80
|
+
publicKeyBytes = secp256k1.getPublicKey(privateKeyBytes, true); // compressed
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
// ed25519
|
|
84
|
+
privateKeyBytes = entropy;
|
|
85
|
+
publicKeyBytes = ed25519.getPublicKey(privateKeyBytes);
|
|
86
|
+
}
|
|
87
|
+
// 3. Encrypt the private key with AES-256-GCM immediately
|
|
88
|
+
const { salt, aesKey } = freshKey(passphrase);
|
|
89
|
+
const encryptedPrivateKey = encryptSecret(Buffer.from(privateKeyBytes).toString('hex'), aesKey);
|
|
90
|
+
// 4. Zero the plaintext private key and AES key from memory
|
|
91
|
+
zeroBytes(privateKeyBytes);
|
|
92
|
+
zeroBuffer(aesKey);
|
|
93
|
+
// 5. Build the encrypted bundle (stable-memory representation)
|
|
94
|
+
const bundle = {
|
|
95
|
+
version: 1,
|
|
96
|
+
salt: salt.toString('hex'),
|
|
97
|
+
privateKey: encryptedPrivateKey,
|
|
98
|
+
};
|
|
99
|
+
const state = {
|
|
100
|
+
curve,
|
|
101
|
+
publicKey: Buffer.from(publicKeyBytes).toString('hex'),
|
|
102
|
+
encryptedBundle: bundle,
|
|
103
|
+
createdAt: Date.now(),
|
|
104
|
+
};
|
|
105
|
+
this._state = state;
|
|
106
|
+
return { state };
|
|
107
|
+
}
|
|
108
|
+
// -------------------------------------------------------------------------
|
|
109
|
+
// Scenario 2: Message signing
|
|
110
|
+
// -------------------------------------------------------------------------
|
|
111
|
+
/**
|
|
112
|
+
* Sign an arbitrary message.
|
|
113
|
+
*
|
|
114
|
+
* The private key is decrypted ephemerally for the duration of the signing
|
|
115
|
+
* operation and zeroed before this method returns.
|
|
116
|
+
*
|
|
117
|
+
* For Ed25519: returns a 64-byte raw signature.
|
|
118
|
+
* For secp256k1: returns a 64-byte compact (r || s) DER-free signature.
|
|
119
|
+
*
|
|
120
|
+
* @param message - Raw message bytes to sign.
|
|
121
|
+
* @param passphrase - Passphrase used during `initialize()`.
|
|
122
|
+
*/
|
|
123
|
+
sign(message, passphrase) {
|
|
124
|
+
const state = this._requireState();
|
|
125
|
+
const { privateKeyHex, aesKey } = this._decryptPrivateKey(state.encryptedBundle, passphrase);
|
|
126
|
+
let signature;
|
|
127
|
+
try {
|
|
128
|
+
const privateKeyBytes = Buffer.from(privateKeyHex, 'hex');
|
|
129
|
+
if (state.curve === 'ed25519') {
|
|
130
|
+
signature = ed25519.sign(message, privateKeyBytes);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
// secp256k1 – SHA-256 the message first (standard practice)
|
|
134
|
+
const digest = crypto.createHash('sha256').update(message).digest();
|
|
135
|
+
const sig = secp256k1.sign(digest, privateKeyBytes);
|
|
136
|
+
signature = sig.toCompactRawBytes();
|
|
137
|
+
}
|
|
138
|
+
// Zero ephemeral key material
|
|
139
|
+
zeroBuffer(Buffer.from(privateKeyBytes));
|
|
140
|
+
}
|
|
141
|
+
finally {
|
|
142
|
+
zeroBuffer(aesKey);
|
|
143
|
+
}
|
|
144
|
+
return signature;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Sign a pre-hashed digest directly (useful for secp256k1 ECDSA where the
|
|
148
|
+
* caller controls hashing, e.g. for NIST test-vector validation).
|
|
149
|
+
*
|
|
150
|
+
* Only supported on secp256k1 wallets.
|
|
151
|
+
*/
|
|
152
|
+
signDigest(digest, passphrase) {
|
|
153
|
+
const state = this._requireState();
|
|
154
|
+
if (state.curve !== 'secp256k1') {
|
|
155
|
+
throw new Error('signDigest is only supported for secp256k1 wallets');
|
|
156
|
+
}
|
|
157
|
+
const { privateKeyHex, aesKey } = this._decryptPrivateKey(state.encryptedBundle, passphrase);
|
|
158
|
+
let signature;
|
|
159
|
+
try {
|
|
160
|
+
const privateKeyBytes = Buffer.from(privateKeyHex, 'hex');
|
|
161
|
+
const sig = secp256k1.sign(digest, privateKeyBytes);
|
|
162
|
+
signature = sig.toCompactRawBytes();
|
|
163
|
+
zeroBuffer(Buffer.from(privateKeyBytes));
|
|
164
|
+
}
|
|
165
|
+
finally {
|
|
166
|
+
zeroBuffer(aesKey);
|
|
167
|
+
}
|
|
168
|
+
return signature;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Verify a signature against the wallet's current public key.
|
|
172
|
+
*
|
|
173
|
+
* For Ed25519 and secp256k1 this is a pure-public-key operation – no
|
|
174
|
+
* passphrase required.
|
|
175
|
+
*
|
|
176
|
+
* @param message - Original raw message bytes.
|
|
177
|
+
* @param signature - Signature bytes returned by `sign()`.
|
|
178
|
+
*/
|
|
179
|
+
verify(message, signature) {
|
|
180
|
+
const state = this._requireState();
|
|
181
|
+
const publicKeyBytes = Buffer.from(state.publicKey, 'hex');
|
|
182
|
+
if (state.curve === 'ed25519') {
|
|
183
|
+
return ed25519.verify(signature, message, publicKeyBytes);
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
const digest = crypto.createHash('sha256').update(message).digest();
|
|
187
|
+
return secp256k1.verify(signature, digest, publicKeyBytes);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Verify a secp256k1 signature against a pre-hashed digest.
|
|
192
|
+
*/
|
|
193
|
+
verifyDigest(digest, signature) {
|
|
194
|
+
const state = this._requireState();
|
|
195
|
+
if (state.curve !== 'secp256k1') {
|
|
196
|
+
throw new Error('verifyDigest is only supported for secp256k1 wallets');
|
|
197
|
+
}
|
|
198
|
+
const publicKeyBytes = Buffer.from(state.publicKey, 'hex');
|
|
199
|
+
return secp256k1.verify(signature, digest, publicKeyBytes);
|
|
200
|
+
}
|
|
201
|
+
// -------------------------------------------------------------------------
|
|
202
|
+
// Scenario 3: Key rotation
|
|
203
|
+
// -------------------------------------------------------------------------
|
|
204
|
+
/**
|
|
205
|
+
* Rotate keys: decrypt the old private key, zero it, generate new keys, and
|
|
206
|
+
* encrypt the new private key with AES-256-GCM.
|
|
207
|
+
*
|
|
208
|
+
* After this call the wallet's `publicKey` and `encryptedBundle` are updated
|
|
209
|
+
* atomically; the old key material is zeroed.
|
|
210
|
+
*
|
|
211
|
+
* @param currentPassphrase - Passphrase used to decrypt the current key.
|
|
212
|
+
* @param newPassphrase - Passphrase to encrypt the new key. May be the
|
|
213
|
+
* same as `currentPassphrase`.
|
|
214
|
+
*/
|
|
215
|
+
rotateKeys(currentPassphrase, newPassphrase) {
|
|
216
|
+
const state = this._requireState();
|
|
217
|
+
// 1. Decrypt and zero the old private key
|
|
218
|
+
const { privateKeyHex, aesKey: oldAesKey } = this._decryptPrivateKey(state.encryptedBundle, currentPassphrase);
|
|
219
|
+
const oldPrivateKeyBuf = Buffer.from(privateKeyHex, 'hex');
|
|
220
|
+
zeroBuffer(oldPrivateKeyBuf);
|
|
221
|
+
zeroBuffer(oldAesKey);
|
|
222
|
+
// 2. Generate fresh key material
|
|
223
|
+
const newEntropy = crypto.randomBytes(32);
|
|
224
|
+
const newPrivateKeyBytes = newEntropy;
|
|
225
|
+
let newPublicKeyBytes;
|
|
226
|
+
if (state.curve === 'secp256k1') {
|
|
227
|
+
newPublicKeyBytes = secp256k1.getPublicKey(newPrivateKeyBytes, true);
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
newPublicKeyBytes = ed25519.getPublicKey(newPrivateKeyBytes);
|
|
231
|
+
}
|
|
232
|
+
// 3. Encrypt new private key with AES-256-GCM using the new passphrase
|
|
233
|
+
const { salt: newSalt, aesKey: newAesKey } = freshKey(newPassphrase);
|
|
234
|
+
const encryptedNewKey = encryptSecret(Buffer.from(newPrivateKeyBytes).toString('hex'), newAesKey);
|
|
235
|
+
// 4. Zero new plaintext key material
|
|
236
|
+
zeroBytes(newPrivateKeyBytes);
|
|
237
|
+
zeroBuffer(newAesKey);
|
|
238
|
+
// 5. Atomically replace stable-memory state
|
|
239
|
+
const newBundle = {
|
|
240
|
+
version: 1,
|
|
241
|
+
salt: newSalt.toString('hex'),
|
|
242
|
+
privateKey: encryptedNewKey,
|
|
243
|
+
};
|
|
244
|
+
const newState = {
|
|
245
|
+
curve: state.curve,
|
|
246
|
+
publicKey: Buffer.from(newPublicKeyBytes).toString('hex'),
|
|
247
|
+
encryptedBundle: newBundle,
|
|
248
|
+
createdAt: state.createdAt,
|
|
249
|
+
rotatedAt: Date.now(),
|
|
250
|
+
};
|
|
251
|
+
this._state = newState;
|
|
252
|
+
return { state: newState };
|
|
253
|
+
}
|
|
254
|
+
// -------------------------------------------------------------------------
|
|
255
|
+
// Accessors
|
|
256
|
+
// -------------------------------------------------------------------------
|
|
257
|
+
/** Returns the current stable-memory state (safe to serialise). */
|
|
258
|
+
get state() {
|
|
259
|
+
return this._requireState();
|
|
260
|
+
}
|
|
261
|
+
/** True once `initialize()` has been called. */
|
|
262
|
+
get isInitialized() {
|
|
263
|
+
return this._state !== null;
|
|
264
|
+
}
|
|
265
|
+
// -------------------------------------------------------------------------
|
|
266
|
+
// Private helpers
|
|
267
|
+
// -------------------------------------------------------------------------
|
|
268
|
+
_requireState() {
|
|
269
|
+
if (!this._state) {
|
|
270
|
+
throw new Error('SecureWallet has not been initialized – call initialize() first');
|
|
271
|
+
}
|
|
272
|
+
return this._state;
|
|
273
|
+
}
|
|
274
|
+
_decryptPrivateKey(bundle, passphrase) {
|
|
275
|
+
if (!bundle.privateKey) {
|
|
276
|
+
throw new Error('No encrypted private key found in bundle');
|
|
277
|
+
}
|
|
278
|
+
const salt = Buffer.from(bundle.salt, 'hex');
|
|
279
|
+
const aesKey = deriveStorageKey(passphrase, salt);
|
|
280
|
+
const privateKeyHex = decryptSecret(bundle.privateKey, aesKey);
|
|
281
|
+
return { salt, privateKeyHex, aesKey };
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
// ---------------------------------------------------------------------------
|
|
285
|
+
// Convenience factory
|
|
286
|
+
// ---------------------------------------------------------------------------
|
|
287
|
+
/**
|
|
288
|
+
* Create and immediately initialise a SecureWallet in one call.
|
|
289
|
+
*
|
|
290
|
+
* @param passphrase - Passphrase for AES-256-GCM key derivation.
|
|
291
|
+
* @param curve - Key curve ('secp256k1' | 'ed25519', default 'ed25519').
|
|
292
|
+
*/
|
|
293
|
+
export function createSecureWallet(passphrase, curve = 'ed25519') {
|
|
294
|
+
const wallet = new SecureWallet();
|
|
295
|
+
const handle = wallet.initialize(passphrase, curve);
|
|
296
|
+
return { wallet, handle };
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=secure-wallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secure-wallet.js","sourceRoot":"","sources":["../../../src/wallet/secure-wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transaction Queue Processor (Phase 5B)
|
|
3
|
+
*
|
|
4
|
+
* Advanced transaction queue with priority, retries, and scheduling.
|
|
5
|
+
* Handles agent-initiated transactions queued in canister.
|
|
6
|
+
*/
|
|
7
|
+
import type { WalletData, TransactionRequest, SignedTransaction } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Transaction action type
|
|
10
|
+
*/
|
|
11
|
+
export type TransactionAction = 'send_funds' | 'sign_message' | 'deploy_contract';
|
|
12
|
+
/**
|
|
13
|
+
* Transaction priority
|
|
14
|
+
*/
|
|
15
|
+
export type TransactionPriority = 'low' | 'normal' | 'high';
|
|
16
|
+
/**
|
|
17
|
+
* Transaction status
|
|
18
|
+
*/
|
|
19
|
+
export type TransactionStatus = 'pending' | 'queued' | 'signed' | 'completed' | 'failed';
|
|
20
|
+
/**
|
|
21
|
+
* Queued transaction from canister
|
|
22
|
+
*/
|
|
23
|
+
export interface QueuedTransaction {
|
|
24
|
+
id: string;
|
|
25
|
+
action: {
|
|
26
|
+
walletId: string;
|
|
27
|
+
action: TransactionAction;
|
|
28
|
+
parameters: [string, string][];
|
|
29
|
+
priority: TransactionPriority;
|
|
30
|
+
threshold?: number;
|
|
31
|
+
};
|
|
32
|
+
status: TransactionStatus;
|
|
33
|
+
result?: string;
|
|
34
|
+
retryCount: number;
|
|
35
|
+
scheduledAt?: number;
|
|
36
|
+
createdAt: number;
|
|
37
|
+
signedAt?: number;
|
|
38
|
+
completedAt?: number;
|
|
39
|
+
errorMessage?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Queue statistics
|
|
43
|
+
*/
|
|
44
|
+
export interface QueueStats {
|
|
45
|
+
total: number;
|
|
46
|
+
pending: number;
|
|
47
|
+
queued: number;
|
|
48
|
+
signed: number;
|
|
49
|
+
completed: number;
|
|
50
|
+
failed: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Process result
|
|
54
|
+
*/
|
|
55
|
+
export interface ProcessResult {
|
|
56
|
+
transactionId: string;
|
|
57
|
+
success: boolean;
|
|
58
|
+
txHash?: string;
|
|
59
|
+
error?: string;
|
|
60
|
+
processedAt: number;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Transaction queue processor
|
|
64
|
+
*/
|
|
65
|
+
export declare class TransactionQueueProcessor {
|
|
66
|
+
private actor;
|
|
67
|
+
private maxRetries;
|
|
68
|
+
constructor(_canisterId: string, actor: any, options?: {
|
|
69
|
+
maxRetries?: number;
|
|
70
|
+
retryDelay?: number;
|
|
71
|
+
});
|
|
72
|
+
/**
|
|
73
|
+
* Fetch pending transactions from canister
|
|
74
|
+
*/
|
|
75
|
+
fetchPendingTransactions(): Promise<QueuedTransaction[]>;
|
|
76
|
+
/**
|
|
77
|
+
* Process all pending transactions
|
|
78
|
+
*
|
|
79
|
+
* @param signCallback - Callback to sign transactions
|
|
80
|
+
* @returns Processing results
|
|
81
|
+
*/
|
|
82
|
+
processPendingTransactions(signCallback: (wallet: WalletData, action: TransactionRequest) => Promise<SignedTransaction | null>): Promise<ProcessResult[]>;
|
|
83
|
+
/**
|
|
84
|
+
* Process a single transaction
|
|
85
|
+
*/
|
|
86
|
+
private processTransaction;
|
|
87
|
+
/**
|
|
88
|
+
* Map canister action to transaction request
|
|
89
|
+
*/
|
|
90
|
+
private mapActionToRequest;
|
|
91
|
+
/**
|
|
92
|
+
* Mark transaction as signed in canister
|
|
93
|
+
*/
|
|
94
|
+
private markSigned;
|
|
95
|
+
/**
|
|
96
|
+
* Mark transaction as failed in canister
|
|
97
|
+
*/
|
|
98
|
+
private markFailed;
|
|
99
|
+
/**
|
|
100
|
+
* Mark transaction as completed in canister
|
|
101
|
+
*/
|
|
102
|
+
markCompleted(txId: string, txHash: string): Promise<void>;
|
|
103
|
+
/**
|
|
104
|
+
* Get queue statistics
|
|
105
|
+
*/
|
|
106
|
+
getStats(): Promise<QueueStats | null>;
|
|
107
|
+
/**
|
|
108
|
+
* Schedule transaction for future execution
|
|
109
|
+
*/
|
|
110
|
+
scheduleTransaction(txId: string, scheduledAt: Date): Promise<{
|
|
111
|
+
success: boolean;
|
|
112
|
+
error?: string;
|
|
113
|
+
}>;
|
|
114
|
+
/**
|
|
115
|
+
* Clear completed transactions
|
|
116
|
+
*/
|
|
117
|
+
clearCompleted(): Promise<{
|
|
118
|
+
success: boolean;
|
|
119
|
+
error?: string;
|
|
120
|
+
}>;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Create transaction queue processor
|
|
124
|
+
*
|
|
125
|
+
* @param canisterId - Canister ID
|
|
126
|
+
* @param actor - Canister actor instance
|
|
127
|
+
* @returns Queue processor instance
|
|
128
|
+
*/
|
|
129
|
+
export declare function createQueueProcessor(canisterId: string, actor: any, options?: {
|
|
130
|
+
maxRetries?: number;
|
|
131
|
+
retryDelay?: number;
|
|
132
|
+
}): TransactionQueueProcessor;
|
|
133
|
+
//# sourceMappingURL=transaction-queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-queue.d.ts","sourceRoot":"","sources":["../../../src/wallet/transaction-queue.ts"],"names":[],"mappings":"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"}
|