agentvault 1.0.2 → 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 +357 -1
- 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.map +1 -0
- package/dist/cli/commands/backup.d.ts.map +1 -0
- package/dist/cli/commands/backup.js +303 -20
- 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 +17 -0
- 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.map +1 -0
- package/dist/cli/commands/deploy.d.ts.map +1 -0
- 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.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 +68 -4
- 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.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 +18 -1
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +152 -27
- 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.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.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 +1 -1
- 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.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.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 +2 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +25 -0
- 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 +3 -3
- 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.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 +2 -26
- package/dist/cli/commands/wallet-sign.js.map +1 -0
- package/dist/cli/commands/wallet.d.ts +61 -0
- package/dist/cli/commands/wallet.d.ts.map +1 -0
- package/dist/cli/commands/wallet.js +312 -42
- 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.map +1 -0
- package/dist/cli/index.js +74 -2
- 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 +4 -0
- package/dist/src/archival/archive-manager.d.ts.map +1 -0
- package/dist/src/archival/archive-manager.js +6 -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 +1 -0
- package/dist/src/archival/arweave-client.d.ts.map +1 -0
- package/dist/src/archival/arweave-client.js +5 -2
- package/dist/src/archival/arweave-client.js.map +1 -0
- package/dist/src/archival/index.d.ts +4 -1
- package/dist/src/archival/index.d.ts.map +1 -0
- package/dist/src/archival/index.js +2 -1
- 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 +107 -1
- package/dist/src/backup/backup.d.ts.map +1 -0
- package/dist/src/backup/backup.js +413 -4
- package/dist/src/backup/backup.js.map +1 -0
- package/dist/src/backup/index.d.ts +3 -1
- package/dist/src/backup/index.d.ts.map +1 -0
- package/dist/src/backup/index.js +3 -1
- 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.map +1 -0
- package/dist/src/cloud-storage/cloud-sync.js +10 -5
- package/dist/src/cloud-storage/cloud-sync.js.map +1 -0
- package/dist/src/cloud-storage/index.d.ts.map +1 -0
- package/dist/src/cloud-storage/index.js.map +1 -0
- package/dist/src/cloud-storage/provider-detector.d.ts.map +1 -0
- package/dist/src/cloud-storage/provider-detector.js.map +1 -0
- package/dist/src/cloud-storage/types.d.ts +5 -0
- package/dist/src/cloud-storage/types.d.ts.map +1 -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 +1 -0
- package/dist/src/debugging/index.d.ts.map +1 -0
- package/dist/src/debugging/index.js +1 -0
- package/dist/src/debugging/index.js.map +1 -0
- package/dist/src/debugging/logs.d.ts.map +1 -0
- package/dist/src/debugging/logs.js.map +1 -0
- package/dist/src/debugging/types.d.ts.map +1 -0
- package/dist/src/debugging/types.js.map +1 -0
- package/dist/src/deployment/deployer.d.ts.map +1 -0
- package/dist/src/deployment/deployer.js +133 -1
- package/dist/src/deployment/deployer.js.map +1 -0
- package/dist/src/deployment/icpClient.d.ts.map +1 -0
- package/dist/src/deployment/icpClient.js +4 -0
- package/dist/src/deployment/icpClient.js.map +1 -0
- package/dist/src/deployment/index.d.ts.map +1 -0
- package/dist/src/deployment/index.js.map +1 -0
- package/dist/src/deployment/promotion.d.ts.map +1 -0
- package/dist/src/deployment/promotion.js.map +1 -0
- package/dist/src/deployment/types.d.ts +2 -1
- package/dist/src/deployment/types.d.ts.map +1 -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.map +1 -0
- package/dist/src/icp/batch.js +10 -4
- package/dist/src/icp/batch.js.map +1 -0
- package/dist/src/icp/cycles.d.ts.map +1 -0
- package/dist/src/icp/cycles.js.map +1 -0
- package/dist/src/icp/environment.d.ts.map +1 -0
- package/dist/src/icp/environment.js.map +1 -0
- package/dist/src/icp/icpcli.d.ts.map +1 -0
- package/dist/src/icp/icpcli.js.map +1 -0
- package/dist/src/icp/icwasm.d.ts.map +1 -0
- package/dist/src/icp/icwasm.js.map +1 -0
- package/dist/src/icp/identity.d.ts.map +1 -0
- package/dist/src/icp/identity.js.map +1 -0
- package/dist/src/icp/index.d.ts.map +1 -0
- package/dist/src/icp/index.js.map +1 -0
- package/dist/src/icp/optimization.d.ts.map +1 -0
- package/dist/src/icp/optimization.js.map +1 -0
- package/dist/src/icp/tokens.d.ts.map +1 -0
- package/dist/src/icp/tokens.js.map +1 -0
- package/dist/src/icp/tool-detector.d.ts.map +1 -0
- package/dist/src/icp/tool-detector.js +19 -5
- package/dist/src/icp/tool-detector.js.map +1 -0
- package/dist/src/icp/types.d.ts.map +1 -0
- package/dist/src/icp/types.js.map +1 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +22 -1
- package/dist/src/index.js.map +1 -0
- package/dist/src/inference/bittensor-client.d.ts +54 -1
- package/dist/src/inference/bittensor-client.d.ts.map +1 -0
- package/dist/src/inference/bittensor-client.js +96 -3
- 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 +6 -1
- package/dist/src/inference/index.d.ts.map +1 -0
- package/dist/src/inference/index.js +6 -1
- package/dist/src/inference/index.js.map +1 -0
- package/dist/src/inference/inference-manager.d.ts.map +1 -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.map +1 -0
- package/dist/src/metrics/index.js.map +1 -0
- package/dist/src/metrics/metrics.d.ts.map +1 -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.map +1 -0
- package/dist/src/monitoring/alerting.js.map +1 -0
- package/dist/src/monitoring/health.d.ts +9 -1
- package/dist/src/monitoring/health.d.ts.map +1 -0
- package/dist/src/monitoring/health.js +63 -0
- package/dist/src/monitoring/health.js.map +1 -0
- package/dist/src/monitoring/index.d.ts +2 -2
- package/dist/src/monitoring/index.d.ts.map +1 -0
- package/dist/src/monitoring/index.js +1 -1
- package/dist/src/monitoring/index.js.map +1 -0
- package/dist/src/monitoring/info.d.ts.map +1 -0
- package/dist/src/monitoring/info.js.map +1 -0
- package/dist/src/monitoring/types.d.ts +26 -0
- package/dist/src/monitoring/types.d.ts.map +1 -0
- package/dist/src/monitoring/types.js.map +1 -0
- package/dist/src/network/index.d.ts.map +1 -0
- package/dist/src/network/index.js.map +1 -0
- package/dist/src/network/network-config.d.ts.map +1 -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.map +1 -0
- package/dist/src/packaging/compiler.js.map +1 -0
- package/dist/src/packaging/config-persistence.d.ts.map +1 -0
- package/dist/src/packaging/config-persistence.js.map +1 -0
- package/dist/src/packaging/config-schemas.d.ts +44 -2
- package/dist/src/packaging/config-schemas.d.ts.map +1 -0
- package/dist/src/packaging/config-schemas.js +19 -0
- package/dist/src/packaging/config-schemas.js.map +1 -0
- package/dist/src/packaging/detector.d.ts.map +1 -0
- package/dist/src/packaging/detector.js +15 -1
- package/dist/src/packaging/detector.js.map +1 -0
- package/dist/src/packaging/index.d.ts +11 -5
- package/dist/src/packaging/index.d.ts.map +1 -0
- package/dist/src/packaging/index.js +10 -4
- package/dist/src/packaging/index.js.map +1 -0
- package/dist/src/packaging/packager.d.ts.map +1 -0
- package/dist/src/packaging/packager.js.map +1 -0
- package/dist/src/packaging/parsers/clawdbot.d.ts +1 -1
- package/dist/src/packaging/parsers/clawdbot.d.ts.map +1 -0
- package/dist/src/packaging/parsers/clawdbot.js +26 -28
- package/dist/src/packaging/parsers/clawdbot.js.map +1 -0
- package/dist/src/packaging/parsers/cline.d.ts.map +1 -0
- package/dist/src/packaging/parsers/cline.js.map +1 -0
- package/dist/src/packaging/parsers/generic.d.ts +1 -1
- package/dist/src/packaging/parsers/generic.d.ts.map +1 -0
- package/dist/src/packaging/parsers/generic.js +13 -20
- package/dist/src/packaging/parsers/generic.js.map +1 -0
- package/dist/src/packaging/parsers/goose.d.ts.map +1 -0
- package/dist/src/packaging/parsers/goose.js.map +1 -0
- package/dist/src/packaging/parsers/index.d.ts +2 -0
- package/dist/src/packaging/parsers/index.d.ts.map +1 -0
- package/dist/src/packaging/parsers/index.js +2 -0
- 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 +7 -1
- package/dist/src/packaging/serializer.d.ts.map +1 -0
- package/dist/src/packaging/serializer.js +14 -3
- 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 +2 -2
- package/dist/src/packaging/types.d.ts.map +1 -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.map +1 -0
- package/dist/src/packaging/wasmedge-compiler.js +6 -4
- 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 +7 -1
- package/dist/src/security/index.d.ts.map +1 -0
- package/dist/src/security/index.js +12 -2
- 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.map +1 -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 +7 -2
- package/dist/src/security/types.d.ts.map +1 -0
- package/dist/src/security/types.js +14 -14
- package/dist/src/security/types.js.map +1 -0
- package/dist/src/security/vetkeys.d.ts +43 -0
- package/dist/src/security/vetkeys.d.ts.map +1 -0
- package/dist/src/security/vetkeys.js +144 -15
- 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.map +1 -0
- package/dist/src/testing/index.js.map +1 -0
- package/dist/src/testing/local-runner.d.ts.map +1 -0
- package/dist/src/testing/local-runner.js.map +1 -0
- package/dist/src/testing/types.d.ts.map +1 -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.map +1 -0
- package/dist/src/wallet/cbor-serializer.js +7 -2
- package/dist/src/wallet/cbor-serializer.js.map +1 -0
- package/dist/src/wallet/chain-dispatcher.d.ts +1 -1
- package/dist/src/wallet/chain-dispatcher.d.ts.map +1 -0
- package/dist/src/wallet/chain-dispatcher.js +8 -19
- package/dist/src/wallet/chain-dispatcher.js.map +1 -0
- package/dist/src/wallet/cross-chain-aggregator.d.ts.map +1 -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 +8 -2
- package/dist/src/wallet/index.d.ts.map +1 -0
- package/dist/src/wallet/index.js +9 -2
- package/dist/src/wallet/index.js.map +1 -0
- package/dist/src/wallet/key-derivation.d.ts +29 -1
- package/dist/src/wallet/key-derivation.d.ts.map +1 -0
- package/dist/src/wallet/key-derivation.js +106 -23
- 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.map +1 -0
- package/dist/src/wallet/providers/base-provider.js.map +1 -0
- package/dist/src/wallet/providers/cketh-provider.d.ts.map +1 -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.map +1 -0
- package/dist/src/wallet/providers/polkadot-provider.js +5 -6
- 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.map +1 -0
- package/dist/src/wallet/providers/solana-provider.js +6 -7
- 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.map +1 -0
- package/dist/src/wallet/transaction-queue.js.map +1 -0
- package/dist/src/wallet/types.d.ts +57 -2
- package/dist/src/wallet/types.d.ts.map +1 -0
- package/dist/src/wallet/types.js.map +1 -0
- package/dist/src/wallet/vetkeys-adapter.d.ts.map +1 -0
- package/dist/src/wallet/vetkeys-adapter.js +16 -25
- 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 +24 -4
- package/dist/src/wallet/wallet-manager.d.ts.map +1 -0
- package/dist/src/wallet/wallet-manager.js +70 -3
- package/dist/src/wallet/wallet-manager.js.map +1 -0
- package/dist/src/wallet/wallet-storage.d.ts +15 -7
- package/dist/src/wallet/wallet-storage.d.ts.map +1 -0
- package/dist/src/wallet/wallet-storage.js +34 -18
- 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 +35 -11
- package/.claude/settings.local.json +0 -9
- 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/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/macos-wallet-app/AgentVaultWallet/App/AgentVaultWalletApp.swift +0 -54
- package/macos-wallet-app/AgentVaultWallet/Models/AppState.swift +0 -102
- package/macos-wallet-app/AgentVaultWallet/Models/Chain.swift +0 -121
- package/macos-wallet-app/AgentVaultWallet/Models/Wallet.swift +0 -98
- package/macos-wallet-app/AgentVaultWallet/Resources/AgentVaultWallet.entitlements +0 -27
- package/macos-wallet-app/AgentVaultWallet/Resources/Info.plist +0 -69
- package/macos-wallet-app/AgentVaultWallet/Services/BackupService.swift +0 -270
- package/macos-wallet-app/AgentVaultWallet/Services/CLIBridge.swift +0 -367
- package/macos-wallet-app/AgentVaultWallet/Services/CryptoService.swift +0 -157
- package/macos-wallet-app/AgentVaultWallet/Services/FileService.swift +0 -120
- package/macos-wallet-app/AgentVaultWallet/Services/KeychainService.swift +0 -219
- package/macos-wallet-app/AgentVaultWallet/Utilities/Constants.swift +0 -44
- package/macos-wallet-app/AgentVaultWallet/Utilities/Extensions.swift +0 -115
- package/macos-wallet-app/AgentVaultWallet/ViewModels/BackupViewModel.swift +0 -237
- package/macos-wallet-app/AgentVaultWallet/ViewModels/CreateWalletViewModel.swift +0 -137
- package/macos-wallet-app/AgentVaultWallet/ViewModels/ImportWalletViewModel.swift +0 -179
- package/macos-wallet-app/AgentVaultWallet/ViewModels/WalletStore.swift +0 -286
- package/macos-wallet-app/AgentVaultWallet/Views/Backup/BackupView.swift +0 -235
- package/macos-wallet-app/AgentVaultWallet/Views/Backup/RestoreView.swift +0 -316
- package/macos-wallet-app/AgentVaultWallet/Views/Create/CreateWalletFlow.swift +0 -438
- package/macos-wallet-app/AgentVaultWallet/Views/Import/ImportWalletFlow.swift +0 -399
- package/macos-wallet-app/AgentVaultWallet/Views/MainView.swift +0 -134
- package/macos-wallet-app/AgentVaultWallet/Views/Settings/SettingsView.swift +0 -276
- package/macos-wallet-app/AgentVaultWallet/Views/Sidebar/SidebarView.swift +0 -133
- package/macos-wallet-app/AgentVaultWallet/Views/Wallet/DashboardView.swift +0 -233
- package/macos-wallet-app/AgentVaultWallet/Views/Wallet/WalletDetailView.swift +0 -281
- package/macos-wallet-app/AgentVaultWallet/Views/Wallet/WalletListView.swift +0 -280
- package/macos-wallet-app/AgentVaultWallet/Views/Welcome/WelcomeView.swift +0 -176
- package/macos-wallet-app/Makefile +0 -47
- package/macos-wallet-app/project.yml +0 -40
- package/macos-wallet-app/setup.sh +0 -73
- package/pnpm-workspace.yaml +0 -5
- package/vercel.json +0 -8
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secret management for AgentVault
|
|
3
|
+
*
|
|
4
|
+
* Supports HashiCorp Vault (self-hosted via Docker or any Vault server) and
|
|
5
|
+
* Bitwarden CLI as secret backends. All providers implement the `SecretProvider`
|
|
6
|
+
* interface – secrets are fetched at runtime only and are NEVER persisted to
|
|
7
|
+
* the ICP canister.
|
|
8
|
+
*
|
|
9
|
+
* Quick start (HashiCorp Vault):
|
|
10
|
+
* # Start local Vault: docker compose up -d
|
|
11
|
+
* import { HashiCorpVaultProvider } from './vault/index.js';
|
|
12
|
+
* const provider = HashiCorpVaultProvider.forAgent('my-agent');
|
|
13
|
+
* await provider.storeSecret('api_binance', process.env.KEY!);
|
|
14
|
+
* const key = await provider.getSecret('api_binance'); // fetch at runtime only
|
|
15
|
+
*
|
|
16
|
+
* Quick start (Bitwarden):
|
|
17
|
+
* import { BitwardenProvider } from './vault/index.js';
|
|
18
|
+
* const provider = new BitwardenProvider({ agentId: 'my-agent' });
|
|
19
|
+
* const key = await provider.getSecret('api_binance');
|
|
20
|
+
*/
|
|
21
|
+
export * from './types.js';
|
|
22
|
+
export { VaultClient } from './client.js';
|
|
23
|
+
export { loadVaultConfig, saveVaultConfig, loadAgentPolicies, saveAgentPolicies, getOrCreateAgentPolicy, validateVaultConfig, getVaultConfigDir, ensureVaultConfigDir, } from './config.js';
|
|
24
|
+
export type { SecretProvider, SecretProviderHealth } from './provider.js';
|
|
25
|
+
export { fetchSecretsAsEnv, fetchAllSecretsAsEnv } from './provider.js';
|
|
26
|
+
export { HashiCorpVaultProvider } from './hashicorp-provider.js';
|
|
27
|
+
export { BitwardenProvider } from './bitwarden.js';
|
|
28
|
+
export type { BitwardenConfig } from './bitwarden.js';
|
|
29
|
+
export { MemorySecretProvider } from './memory-provider.js';
|
|
30
|
+
export type { SecretAccessLevel, SecretScopeGrant, SecretSandboxScope, EncryptedMemoryEntry, RotationStrategy, SecretRotationConfig, SecretRotationState, LeakSeverity, LeakDetectionEvent, InjectionMethod, SecretInjectionConfig, InjectedSecret, AuditAction, SecretAuditEntry, SecretManagementLayerConfig, SecretManagementStats, } from './safehouse-types.js';
|
|
31
|
+
export { EncryptedMemoryStore } from './encrypted-memory-store.js';
|
|
32
|
+
export { SecretSandbox } from './secret-sandbox.js';
|
|
33
|
+
export type { CreateScopeOptions, AuditCallback } from './secret-sandbox.js';
|
|
34
|
+
export { SecretRotationManager } from './secret-rotation.js';
|
|
35
|
+
export { SecretLeakDetector } from './secret-leak-detector.js';
|
|
36
|
+
export type { LeakEventCallback, LeakDetectorOptions } from './secret-leak-detector.js';
|
|
37
|
+
export { SecretInjector } from './secret-injector.js';
|
|
38
|
+
export { SecretAccessAudit } from './secret-audit.js';
|
|
39
|
+
export { SecretManagementLayer } from './secret-management-layer.js';
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vault/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAO5D,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secret management for AgentVault
|
|
3
|
+
*
|
|
4
|
+
* Supports HashiCorp Vault (self-hosted via Docker or any Vault server) and
|
|
5
|
+
* Bitwarden CLI as secret backends. All providers implement the `SecretProvider`
|
|
6
|
+
* interface – secrets are fetched at runtime only and are NEVER persisted to
|
|
7
|
+
* the ICP canister.
|
|
8
|
+
*
|
|
9
|
+
* Quick start (HashiCorp Vault):
|
|
10
|
+
* # Start local Vault: docker compose up -d
|
|
11
|
+
* import { HashiCorpVaultProvider } from './vault/index.js';
|
|
12
|
+
* const provider = HashiCorpVaultProvider.forAgent('my-agent');
|
|
13
|
+
* await provider.storeSecret('api_binance', process.env.KEY!);
|
|
14
|
+
* const key = await provider.getSecret('api_binance'); // fetch at runtime only
|
|
15
|
+
*
|
|
16
|
+
* Quick start (Bitwarden):
|
|
17
|
+
* import { BitwardenProvider } from './vault/index.js';
|
|
18
|
+
* const provider = new BitwardenProvider({ agentId: 'my-agent' });
|
|
19
|
+
* const key = await provider.getSecret('api_binance');
|
|
20
|
+
*/
|
|
21
|
+
export * from './types.js';
|
|
22
|
+
export { VaultClient } from './client.js';
|
|
23
|
+
export { loadVaultConfig, saveVaultConfig, loadAgentPolicies, saveAgentPolicies, getOrCreateAgentPolicy, validateVaultConfig, getVaultConfigDir, ensureVaultConfigDir, } from './config.js';
|
|
24
|
+
export { fetchSecretsAsEnv, fetchAllSecretsAsEnv } from './provider.js';
|
|
25
|
+
// Concrete provider implementations
|
|
26
|
+
export { HashiCorpVaultProvider } from './hashicorp-provider.js';
|
|
27
|
+
export { BitwardenProvider } from './bitwarden.js';
|
|
28
|
+
export { MemorySecretProvider } from './memory-provider.js';
|
|
29
|
+
// Safehouse components
|
|
30
|
+
export { EncryptedMemoryStore } from './encrypted-memory-store.js';
|
|
31
|
+
export { SecretSandbox } from './secret-sandbox.js';
|
|
32
|
+
export { SecretRotationManager } from './secret-rotation.js';
|
|
33
|
+
export { SecretLeakDetector } from './secret-leak-detector.js';
|
|
34
|
+
export { SecretInjector } from './secret-injector.js';
|
|
35
|
+
export { SecretAccessAudit } from './secret-audit.js';
|
|
36
|
+
// Unified orchestrator
|
|
37
|
+
export { SecretManagementLayer } from './secret-management-layer.js';
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vault/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAExE,oCAAoC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA0B5D,uBAAuB;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,uBAAuB;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-memory secret provider for testing and local development
|
|
3
|
+
*
|
|
4
|
+
* Secrets are held only in process memory – no backend is required.
|
|
5
|
+
* Useful for unit tests and development workflows where a real Vault
|
|
6
|
+
* or Bitwarden instance is not available.
|
|
7
|
+
*/
|
|
8
|
+
import type { SecretProvider, SecretProviderHealth } from './provider.js';
|
|
9
|
+
export declare class MemorySecretProvider implements SecretProvider {
|
|
10
|
+
readonly name = "In-Memory (ephemeral)";
|
|
11
|
+
private readonly store;
|
|
12
|
+
getSecret(key: string): Promise<string | null>;
|
|
13
|
+
storeSecret(key: string, value: string): Promise<void>;
|
|
14
|
+
listSecrets(): Promise<string[]>;
|
|
15
|
+
deleteSecret(key: string): Promise<void>;
|
|
16
|
+
healthCheck(): Promise<SecretProviderHealth>;
|
|
17
|
+
/**
|
|
18
|
+
* Clear all secrets. Useful between tests.
|
|
19
|
+
*/
|
|
20
|
+
clear(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Number of secrets stored.
|
|
23
|
+
*/
|
|
24
|
+
get size(): number;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=memory-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-provider.d.ts","sourceRoot":"","sources":["../../../src/vault/memory-provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1E,qBAAa,oBAAqB,YAAW,cAAc;IACzD,QAAQ,CAAC,IAAI,2BAA2B;IAExC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAE7C,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI9C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIhC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxC,WAAW,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAIlD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-memory secret provider for testing and local development
|
|
3
|
+
*
|
|
4
|
+
* Secrets are held only in process memory – no backend is required.
|
|
5
|
+
* Useful for unit tests and development workflows where a real Vault
|
|
6
|
+
* or Bitwarden instance is not available.
|
|
7
|
+
*/
|
|
8
|
+
export class MemorySecretProvider {
|
|
9
|
+
name = 'In-Memory (ephemeral)';
|
|
10
|
+
store = new Map();
|
|
11
|
+
async getSecret(key) {
|
|
12
|
+
return this.store.get(key) ?? null;
|
|
13
|
+
}
|
|
14
|
+
async storeSecret(key, value) {
|
|
15
|
+
this.store.set(key, value);
|
|
16
|
+
}
|
|
17
|
+
async listSecrets() {
|
|
18
|
+
return [...this.store.keys()];
|
|
19
|
+
}
|
|
20
|
+
async deleteSecret(key) {
|
|
21
|
+
if (!this.store.has(key)) {
|
|
22
|
+
throw new Error(`Secret "${key}" not found`);
|
|
23
|
+
}
|
|
24
|
+
this.store.delete(key);
|
|
25
|
+
}
|
|
26
|
+
async healthCheck() {
|
|
27
|
+
return { healthy: true, message: 'In-memory provider is ready', version: '1.0.0' };
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Clear all secrets. Useful between tests.
|
|
31
|
+
*/
|
|
32
|
+
clear() {
|
|
33
|
+
this.store.clear();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Number of secrets stored.
|
|
37
|
+
*/
|
|
38
|
+
get size() {
|
|
39
|
+
return this.store.size;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=memory-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-provider.js","sourceRoot":"","sources":["../../../src/vault/memory-provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,OAAO,oBAAoB;IACtB,IAAI,GAAG,uBAAuB,CAAC;IAEvB,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEnD,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,KAAa;QAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW;QAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,6BAA6B,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACrF,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified runtime-only secret provider for AgentVault
|
|
3
|
+
*
|
|
4
|
+
* Design principles:
|
|
5
|
+
* - Secrets are fetched from the backend (HashiCorp Vault or Bitwarden) at
|
|
6
|
+
* agent execution time and held only in process memory for the duration of
|
|
7
|
+
* that call.
|
|
8
|
+
* - Values are NEVER written to canister stable storage, disk files, or any
|
|
9
|
+
* other form of persistence.
|
|
10
|
+
* - Each backend must implement the `SecretProvider` interface so CLI commands
|
|
11
|
+
* and agent runtime code can be backend-agnostic.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Common interface for every secret backend.
|
|
15
|
+
*/
|
|
16
|
+
export interface SecretProvider {
|
|
17
|
+
/** Human-readable backend name shown in CLI output */
|
|
18
|
+
readonly name: string;
|
|
19
|
+
/**
|
|
20
|
+
* Retrieve a single secret value by key.
|
|
21
|
+
* Returns `null` when the key does not exist.
|
|
22
|
+
*/
|
|
23
|
+
getSecret(key: string): Promise<string | null>;
|
|
24
|
+
/**
|
|
25
|
+
* Store or update a secret.
|
|
26
|
+
* The value travels over the wire to the backend and is not retained locally.
|
|
27
|
+
*/
|
|
28
|
+
storeSecret(key: string, value: string): Promise<void>;
|
|
29
|
+
/** Return all known secret keys (values are NOT returned). */
|
|
30
|
+
listSecrets(): Promise<string[]>;
|
|
31
|
+
/** Permanently delete a secret key. */
|
|
32
|
+
deleteSecret(key: string): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Confirm the backend is reachable and operational.
|
|
35
|
+
* Used by `agentvault vault health`.
|
|
36
|
+
*/
|
|
37
|
+
healthCheck(): Promise<SecretProviderHealth>;
|
|
38
|
+
}
|
|
39
|
+
export interface SecretProviderHealth {
|
|
40
|
+
healthy: boolean;
|
|
41
|
+
message: string;
|
|
42
|
+
version?: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Fetch a named set of secrets and return them as an environment-variable map.
|
|
46
|
+
*
|
|
47
|
+
* The returned object is intended to be merged with the process environment
|
|
48
|
+
* **only for the duration of a single agent execution call**. Callers MUST
|
|
49
|
+
* NOT persist this map to disk, canister state, or any log output.
|
|
50
|
+
*
|
|
51
|
+
* Key conversion: `api_binance` → `API_BINANCE`
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* const provider = new HashiCorpVaultProvider(client, agentId);
|
|
56
|
+
* const env = await fetchSecretsAsEnv(provider, ['api_binance', 'openai_key']);
|
|
57
|
+
* // env === { API_BINANCE: '...', OPENAI_KEY: '...' }
|
|
58
|
+
* await runAgent({ env: { ...process.env, ...env } });
|
|
59
|
+
* // env is never stored after this point
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function fetchSecretsAsEnv(provider: SecretProvider, keys: string[]): Promise<Record<string, string>>;
|
|
63
|
+
/**
|
|
64
|
+
* Fetch ALL secrets for an agent and return them as an env-var map.
|
|
65
|
+
* Same zero-persistence guarantee as `fetchSecretsAsEnv`.
|
|
66
|
+
*/
|
|
67
|
+
export declare function fetchAllSecretsAsEnv(provider: SecretProvider): Promise<Record<string, string>>;
|
|
68
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/vault/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE/C;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD,8DAA8D;IAC9D,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEjC,uCAAuC;IACvC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAcjC;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAGjC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified runtime-only secret provider for AgentVault
|
|
3
|
+
*
|
|
4
|
+
* Design principles:
|
|
5
|
+
* - Secrets are fetched from the backend (HashiCorp Vault or Bitwarden) at
|
|
6
|
+
* agent execution time and held only in process memory for the duration of
|
|
7
|
+
* that call.
|
|
8
|
+
* - Values are NEVER written to canister stable storage, disk files, or any
|
|
9
|
+
* other form of persistence.
|
|
10
|
+
* - Each backend must implement the `SecretProvider` interface so CLI commands
|
|
11
|
+
* and agent runtime code can be backend-agnostic.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Fetch a named set of secrets and return them as an environment-variable map.
|
|
15
|
+
*
|
|
16
|
+
* The returned object is intended to be merged with the process environment
|
|
17
|
+
* **only for the duration of a single agent execution call**. Callers MUST
|
|
18
|
+
* NOT persist this map to disk, canister state, or any log output.
|
|
19
|
+
*
|
|
20
|
+
* Key conversion: `api_binance` → `API_BINANCE`
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* const provider = new HashiCorpVaultProvider(client, agentId);
|
|
25
|
+
* const env = await fetchSecretsAsEnv(provider, ['api_binance', 'openai_key']);
|
|
26
|
+
* // env === { API_BINANCE: '...', OPENAI_KEY: '...' }
|
|
27
|
+
* await runAgent({ env: { ...process.env, ...env } });
|
|
28
|
+
* // env is never stored after this point
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export async function fetchSecretsAsEnv(provider, keys) {
|
|
32
|
+
const env = {};
|
|
33
|
+
await Promise.all(keys.map(async (key) => {
|
|
34
|
+
const value = await provider.getSecret(key);
|
|
35
|
+
if (value !== null) {
|
|
36
|
+
const envKey = key.toUpperCase().replace(/[^A-Z0-9]/g, '_');
|
|
37
|
+
env[envKey] = value;
|
|
38
|
+
}
|
|
39
|
+
}));
|
|
40
|
+
return env;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Fetch ALL secrets for an agent and return them as an env-var map.
|
|
44
|
+
* Same zero-persistence guarantee as `fetchSecretsAsEnv`.
|
|
45
|
+
*/
|
|
46
|
+
export async function fetchAllSecretsAsEnv(provider) {
|
|
47
|
+
const keys = await provider.listSecrets();
|
|
48
|
+
return fetchSecretsAsEnv(provider, keys);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/vault/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAwCH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAwB,EACxB,IAAc;IAEd,MAAM,GAAG,GAA2B,EAAE,CAAC;IAEvC,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAC5D,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC1C,OAAO,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the Agent Safehouse Secret Management Layer
|
|
3
|
+
*
|
|
4
|
+
* Inspired by Agent Safehouse's deny-first sandboxing philosophy, applied to
|
|
5
|
+
* secret management: every secret access is denied by default and must be
|
|
6
|
+
* explicitly permitted by a scope policy.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Access level for a secret within a sandbox scope.
|
|
10
|
+
*/
|
|
11
|
+
export type SecretAccessLevel = 'none' | 'read' | 'write' | 'admin';
|
|
12
|
+
/**
|
|
13
|
+
* A single permission grant within a sandbox scope.
|
|
14
|
+
*/
|
|
15
|
+
export interface SecretScopeGrant {
|
|
16
|
+
/** Glob pattern matching secret keys (e.g. "api_*", "db_password") */
|
|
17
|
+
keyPattern: string;
|
|
18
|
+
/** Access level */
|
|
19
|
+
access: SecretAccessLevel;
|
|
20
|
+
/** Optional TTL override (seconds) for secrets matching this grant */
|
|
21
|
+
ttlSeconds?: number;
|
|
22
|
+
/** Maximum number of reads before the grant is revoked */
|
|
23
|
+
maxReads?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A sandbox scope defines the complete set of secret permissions for one agent
|
|
27
|
+
* execution. Follows the deny-first principle: anything not explicitly granted
|
|
28
|
+
* is denied.
|
|
29
|
+
*/
|
|
30
|
+
export interface SecretSandboxScope {
|
|
31
|
+
/** Unique scope identifier */
|
|
32
|
+
scopeId: string;
|
|
33
|
+
/** Agent this scope applies to */
|
|
34
|
+
agentId: string;
|
|
35
|
+
/** Human-readable label */
|
|
36
|
+
label?: string;
|
|
37
|
+
/** Explicit grants (deny-first: only these are allowed) */
|
|
38
|
+
grants: SecretScopeGrant[];
|
|
39
|
+
/** When this scope was created */
|
|
40
|
+
createdAt: string;
|
|
41
|
+
/** When this scope expires (ISO-8601). Null = session-scoped. */
|
|
42
|
+
expiresAt: string | null;
|
|
43
|
+
/** Whether this scope has been revoked */
|
|
44
|
+
revoked: boolean;
|
|
45
|
+
/** Maximum total secrets accessible through this scope */
|
|
46
|
+
maxSecrets?: number;
|
|
47
|
+
/** Whether to allow accessing secrets from other agents' namespaces */
|
|
48
|
+
allowCrossAgent: boolean;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* A secret value held in the encrypted memory store.
|
|
52
|
+
* The plaintext is encrypted in-memory with an ephemeral key.
|
|
53
|
+
*/
|
|
54
|
+
export interface EncryptedMemoryEntry {
|
|
55
|
+
/** Original secret key */
|
|
56
|
+
key: string;
|
|
57
|
+
/** AES-256-GCM encrypted value (base64) */
|
|
58
|
+
ciphertext: string;
|
|
59
|
+
/** Initialization vector (base64) */
|
|
60
|
+
iv: string;
|
|
61
|
+
/** Auth tag (base64) */
|
|
62
|
+
authTag: string;
|
|
63
|
+
/** When this entry was cached */
|
|
64
|
+
cachedAt: number;
|
|
65
|
+
/** TTL in milliseconds. 0 = no expiry (session-scoped). */
|
|
66
|
+
ttlMs: number;
|
|
67
|
+
/** Number of times this entry has been read */
|
|
68
|
+
readCount: number;
|
|
69
|
+
/** Maximum reads allowed. 0 = unlimited. */
|
|
70
|
+
maxReads: number;
|
|
71
|
+
}
|
|
72
|
+
export type RotationStrategy = 'periodic' | 'on-access' | 'manual';
|
|
73
|
+
/**
|
|
74
|
+
* Configuration for automatic secret rotation.
|
|
75
|
+
*/
|
|
76
|
+
export interface SecretRotationConfig {
|
|
77
|
+
/** Secret key to rotate */
|
|
78
|
+
key: string;
|
|
79
|
+
/** Rotation strategy */
|
|
80
|
+
strategy: RotationStrategy;
|
|
81
|
+
/** For periodic: interval in seconds */
|
|
82
|
+
intervalSeconds?: number;
|
|
83
|
+
/** For on-access: rotate after N reads */
|
|
84
|
+
rotateAfterReads?: number;
|
|
85
|
+
/** Callback that produces a new secret value */
|
|
86
|
+
generator: () => Promise<string>;
|
|
87
|
+
/** Notification callback on rotation */
|
|
88
|
+
onRotated?: (key: string, version: number) => void;
|
|
89
|
+
}
|
|
90
|
+
export interface SecretRotationState {
|
|
91
|
+
key: string;
|
|
92
|
+
currentVersion: number;
|
|
93
|
+
lastRotatedAt: string;
|
|
94
|
+
totalRotations: number;
|
|
95
|
+
nextRotationAt?: string;
|
|
96
|
+
readsSinceRotation: number;
|
|
97
|
+
}
|
|
98
|
+
export type LeakSeverity = 'info' | 'warning' | 'critical';
|
|
99
|
+
export interface LeakDetectionEvent {
|
|
100
|
+
/** When the leak was detected */
|
|
101
|
+
detectedAt: string;
|
|
102
|
+
/** Severity level */
|
|
103
|
+
severity: LeakSeverity;
|
|
104
|
+
/** Description of the leak vector */
|
|
105
|
+
description: string;
|
|
106
|
+
/** The secret key that was leaked (NOT the value) */
|
|
107
|
+
secretKey: string;
|
|
108
|
+
/** Where the leak was detected */
|
|
109
|
+
source: 'env' | 'log' | 'process-args' | 'file' | 'network' | 'stdout';
|
|
110
|
+
/** Whether the leak was automatically remediated */
|
|
111
|
+
remediated: boolean;
|
|
112
|
+
/** Remediation action taken */
|
|
113
|
+
remediationAction?: string;
|
|
114
|
+
}
|
|
115
|
+
export type InjectionMethod = 'memory-fd' | 'tmpfs-file' | 'env-scoped' | 'callback';
|
|
116
|
+
/**
|
|
117
|
+
* Configuration for injecting secrets into an agent's execution context.
|
|
118
|
+
*/
|
|
119
|
+
export interface SecretInjectionConfig {
|
|
120
|
+
/** Injection method */
|
|
121
|
+
method: InjectionMethod;
|
|
122
|
+
/** For tmpfs-file: directory to use (default: auto-detect tmpfs) */
|
|
123
|
+
tmpfsPath?: string;
|
|
124
|
+
/** For env-scoped: prefix for environment variable names */
|
|
125
|
+
envPrefix?: string;
|
|
126
|
+
/** Auto-cleanup after injection (default: true) */
|
|
127
|
+
autoCleanup?: boolean;
|
|
128
|
+
/** Maximum time (ms) the injection remains valid */
|
|
129
|
+
maxLifetimeMs?: number;
|
|
130
|
+
}
|
|
131
|
+
export interface InjectedSecret {
|
|
132
|
+
/** Secret key */
|
|
133
|
+
key: string;
|
|
134
|
+
/** How it was injected */
|
|
135
|
+
method: InjectionMethod;
|
|
136
|
+
/** Reference for retrieval (fd number, file path, env name, etc.) */
|
|
137
|
+
reference: string;
|
|
138
|
+
/** When the injection was created */
|
|
139
|
+
injectedAt: string;
|
|
140
|
+
/** When the injection expires */
|
|
141
|
+
expiresAt: string | null;
|
|
142
|
+
/** Cleanup function */
|
|
143
|
+
cleanup: () => Promise<void>;
|
|
144
|
+
}
|
|
145
|
+
export type AuditAction = 'secret.read' | 'secret.write' | 'secret.delete' | 'secret.list' | 'secret.rotate' | 'secret.inject' | 'secret.leak_detected' | 'scope.create' | 'scope.revoke' | 'scope.deny' | 'sandbox.enter' | 'sandbox.exit';
|
|
146
|
+
export interface SecretAuditEntry {
|
|
147
|
+
/** Unique entry ID */
|
|
148
|
+
id: string;
|
|
149
|
+
/** Timestamp */
|
|
150
|
+
timestamp: string;
|
|
151
|
+
/** Action performed */
|
|
152
|
+
action: AuditAction;
|
|
153
|
+
/** Agent performing the action */
|
|
154
|
+
agentId: string;
|
|
155
|
+
/** Scope ID under which the action was performed */
|
|
156
|
+
scopeId: string;
|
|
157
|
+
/** Secret key involved (if applicable) */
|
|
158
|
+
secretKey?: string;
|
|
159
|
+
/** Whether the action was allowed or denied */
|
|
160
|
+
allowed: boolean;
|
|
161
|
+
/** Reason for denial (if denied) */
|
|
162
|
+
denialReason?: string;
|
|
163
|
+
/** Additional metadata */
|
|
164
|
+
metadata?: Record<string, string>;
|
|
165
|
+
/** SHA-256 hash of previous entry (chain integrity) */
|
|
166
|
+
previousHash?: string;
|
|
167
|
+
/** SHA-256 hash of this entry */
|
|
168
|
+
entryHash: string;
|
|
169
|
+
}
|
|
170
|
+
export interface SecretManagementLayerConfig {
|
|
171
|
+
/** Default TTL for cached secrets (seconds). Default: 300 (5 minutes). */
|
|
172
|
+
defaultTtlSeconds?: number;
|
|
173
|
+
/** Enable leak detection. Default: true. */
|
|
174
|
+
leakDetection?: boolean;
|
|
175
|
+
/** Enable audit trail. Default: true. */
|
|
176
|
+
auditEnabled?: boolean;
|
|
177
|
+
/** Maximum number of secrets an agent can access per session. Default: 100. */
|
|
178
|
+
maxSecretsPerSession?: number;
|
|
179
|
+
/** Secret injection method. Default: 'memory-fd'. */
|
|
180
|
+
injectionMethod?: InjectionMethod;
|
|
181
|
+
/** Secret provider backend */
|
|
182
|
+
backend?: 'hashicorp' | 'bitwarden' | 'memory';
|
|
183
|
+
/** Auto-wipe interval for expired entries (ms). Default: 30000. */
|
|
184
|
+
autoWipeIntervalMs?: number;
|
|
185
|
+
}
|
|
186
|
+
export interface SecretManagementStats {
|
|
187
|
+
/** Total secrets currently cached */
|
|
188
|
+
cachedSecrets: number;
|
|
189
|
+
/** Total read operations */
|
|
190
|
+
totalReads: number;
|
|
191
|
+
/** Total write operations */
|
|
192
|
+
totalWrites: number;
|
|
193
|
+
/** Total denied operations */
|
|
194
|
+
totalDenied: number;
|
|
195
|
+
/** Total leak events */
|
|
196
|
+
totalLeaks: number;
|
|
197
|
+
/** Total rotations performed */
|
|
198
|
+
totalRotations: number;
|
|
199
|
+
/** Active scopes */
|
|
200
|
+
activeScopes: number;
|
|
201
|
+
/** Uptime in ms */
|
|
202
|
+
uptimeMs: number;
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=safehouse-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safehouse-types.d.ts","sourceRoot":"","sources":["../../../src/vault/safehouse-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the Agent Safehouse Secret Management Layer
|
|
3
|
+
*
|
|
4
|
+
* Inspired by Agent Safehouse's deny-first sandboxing philosophy, applied to
|
|
5
|
+
* secret management: every secret access is denied by default and must be
|
|
6
|
+
* explicitly permitted by a scope policy.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=safehouse-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safehouse-types.js","sourceRoot":"","sources":["../../../src/vault/safehouse-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secret Access Audit Trail
|
|
3
|
+
*
|
|
4
|
+
* Maintains a tamper-evident, hash-chained log of every secret operation.
|
|
5
|
+
* Each entry includes a SHA-256 hash of the previous entry, forming an
|
|
6
|
+
* append-only chain that can be verified for integrity.
|
|
7
|
+
*
|
|
8
|
+
* The audit trail can be:
|
|
9
|
+
* - Kept in memory for the session
|
|
10
|
+
* - Flushed to a YAML file on disk
|
|
11
|
+
* - Forwarded to an ICP canister for permanent storage
|
|
12
|
+
*/
|
|
13
|
+
import type { SecretAuditEntry, AuditAction } from './safehouse-types.js';
|
|
14
|
+
export declare class SecretAccessAudit {
|
|
15
|
+
private readonly entries;
|
|
16
|
+
private lastHash;
|
|
17
|
+
private readonly persistToDisk;
|
|
18
|
+
private readonly auditFilePath;
|
|
19
|
+
constructor(options?: {
|
|
20
|
+
persistToDisk?: boolean;
|
|
21
|
+
auditDir?: string;
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Record a new audit entry.
|
|
25
|
+
*/
|
|
26
|
+
record(params: {
|
|
27
|
+
action: AuditAction;
|
|
28
|
+
agentId: string;
|
|
29
|
+
scopeId: string;
|
|
30
|
+
secretKey?: string;
|
|
31
|
+
allowed: boolean;
|
|
32
|
+
denialReason?: string;
|
|
33
|
+
metadata?: Record<string, string>;
|
|
34
|
+
}): SecretAuditEntry;
|
|
35
|
+
/**
|
|
36
|
+
* Get all audit entries.
|
|
37
|
+
*/
|
|
38
|
+
getEntries(): SecretAuditEntry[];
|
|
39
|
+
/**
|
|
40
|
+
* Get entries for a specific agent.
|
|
41
|
+
*/
|
|
42
|
+
getEntriesByAgent(agentId: string): SecretAuditEntry[];
|
|
43
|
+
/**
|
|
44
|
+
* Get entries for a specific scope.
|
|
45
|
+
*/
|
|
46
|
+
getEntriesByScope(scopeId: string): SecretAuditEntry[];
|
|
47
|
+
/**
|
|
48
|
+
* Get denied operations only.
|
|
49
|
+
*/
|
|
50
|
+
getDeniedEntries(): SecretAuditEntry[];
|
|
51
|
+
/**
|
|
52
|
+
* Get entries by action type.
|
|
53
|
+
*/
|
|
54
|
+
getEntriesByAction(action: AuditAction): SecretAuditEntry[];
|
|
55
|
+
/**
|
|
56
|
+
* Get the total number of entries.
|
|
57
|
+
*/
|
|
58
|
+
get count(): number;
|
|
59
|
+
/**
|
|
60
|
+
* Verify the integrity of the entire audit chain.
|
|
61
|
+
* Returns true if the chain is valid (no tampering detected).
|
|
62
|
+
*/
|
|
63
|
+
verifyChain(): {
|
|
64
|
+
valid: boolean;
|
|
65
|
+
brokenAt?: number;
|
|
66
|
+
reason?: string;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Export the audit trail as JSON Lines.
|
|
70
|
+
*/
|
|
71
|
+
exportAsJsonl(): string;
|
|
72
|
+
/**
|
|
73
|
+
* Summary statistics.
|
|
74
|
+
*/
|
|
75
|
+
summary(): {
|
|
76
|
+
totalEntries: number;
|
|
77
|
+
allowed: number;
|
|
78
|
+
denied: number;
|
|
79
|
+
byAction: Record<string, number>;
|
|
80
|
+
byAgent: Record<string, number>;
|
|
81
|
+
chainValid: boolean;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Clear all in-memory entries (does NOT erase disk).
|
|
85
|
+
*/
|
|
86
|
+
clear(): void;
|
|
87
|
+
private computeHash;
|
|
88
|
+
private appendToDisk;
|
|
89
|
+
private loadLastHash;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=secret-audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-audit.d.ts","sourceRoot":"","sources":["../../../src/vault/secret-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAK1E,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAkBpE;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE;QACb,MAAM,EAAE,WAAW,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACnC,GAAG,gBAAgB;IAgCpB;;OAEG;IACH,UAAU,IAAI,gBAAgB,EAAE;IAIhC;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAItD;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAItD;;OAEG;IACH,gBAAgB,IAAI,gBAAgB,EAAE;IAItC;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,EAAE;IAI3D;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAMD;;;OAGG;IACH,WAAW,IAAI;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAuCrE;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,OAAO,IAAI;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,UAAU,EAAE,OAAO,CAAC;KACrB;IAuBD;;OAEG;IACH,KAAK,IAAI,IAAI;IASb,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,YAAY;CAerB"}
|