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.
Files changed (776) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/README.md +66 -6
  3. package/dist/cli/commands/approve.d.ts.map +1 -0
  4. package/dist/cli/commands/approve.js +357 -1
  5. package/dist/cli/commands/approve.js.map +1 -0
  6. package/dist/cli/commands/archive.d.ts.map +1 -0
  7. package/dist/cli/commands/archive.js.map +1 -0
  8. package/dist/cli/commands/backup.d.ts.map +1 -0
  9. package/dist/cli/commands/backup.js +303 -20
  10. package/dist/cli/commands/backup.js.map +1 -0
  11. package/dist/cli/commands/cloud-backup.d.ts.map +1 -0
  12. package/dist/cli/commands/cloud-backup.js +17 -0
  13. package/dist/cli/commands/cloud-backup.js.map +1 -0
  14. package/dist/cli/commands/cron.d.ts +14 -0
  15. package/dist/cli/commands/cron.d.ts.map +1 -0
  16. package/dist/cli/commands/cron.js +144 -0
  17. package/dist/cli/commands/cron.js.map +1 -0
  18. package/dist/cli/commands/cycles.d.ts.map +1 -0
  19. package/dist/cli/commands/cycles.js.map +1 -0
  20. package/dist/cli/commands/decrypt.d.ts.map +1 -0
  21. package/dist/cli/commands/decrypt.js.map +1 -0
  22. package/dist/cli/commands/deploy.d.ts.map +1 -0
  23. package/dist/cli/commands/deploy.js.map +1 -0
  24. package/dist/cli/commands/exec.d.ts.map +1 -0
  25. package/dist/cli/commands/exec.js.map +1 -0
  26. package/dist/cli/commands/fetch.d.ts +3 -0
  27. package/dist/cli/commands/fetch.d.ts.map +1 -0
  28. package/dist/cli/commands/fetch.js +68 -4
  29. package/dist/cli/commands/fetch.js.map +1 -0
  30. package/dist/cli/commands/health.d.ts.map +1 -0
  31. package/dist/cli/commands/health.js +57 -2
  32. package/dist/cli/commands/health.js.map +1 -0
  33. package/dist/cli/commands/identity.d.ts.map +1 -0
  34. package/dist/cli/commands/identity.js.map +1 -0
  35. package/dist/cli/commands/inference.d.ts.map +1 -0
  36. package/dist/cli/commands/inference.js.map +1 -0
  37. package/dist/cli/commands/info.d.ts.map +1 -0
  38. package/dist/cli/commands/info.js.map +1 -0
  39. package/dist/cli/commands/init.d.ts +18 -1
  40. package/dist/cli/commands/init.d.ts.map +1 -0
  41. package/dist/cli/commands/init.js +152 -27
  42. package/dist/cli/commands/init.js.map +1 -0
  43. package/dist/cli/commands/instrument.d.ts.map +1 -0
  44. package/dist/cli/commands/instrument.js.map +1 -0
  45. package/dist/cli/commands/list.d.ts.map +1 -0
  46. package/dist/cli/commands/list.js.map +1 -0
  47. package/dist/cli/commands/logs.d.ts.map +1 -0
  48. package/dist/cli/commands/logs.js.map +1 -0
  49. package/dist/cli/commands/mcp.d.ts +4 -0
  50. package/dist/cli/commands/mcp.d.ts.map +1 -0
  51. package/dist/cli/commands/mcp.js +228 -0
  52. package/dist/cli/commands/mcp.js.map +1 -0
  53. package/dist/cli/commands/memory.d.ts +26 -0
  54. package/dist/cli/commands/memory.d.ts.map +1 -0
  55. package/dist/cli/commands/memory.js +509 -0
  56. package/dist/cli/commands/memory.js.map +1 -0
  57. package/dist/cli/commands/mint.d.ts +25 -0
  58. package/dist/cli/commands/mint.d.ts.map +1 -0
  59. package/dist/cli/commands/mint.js +276 -0
  60. package/dist/cli/commands/mint.js.map +1 -0
  61. package/dist/cli/commands/mirror.d.ts +19 -0
  62. package/dist/cli/commands/mirror.d.ts.map +1 -0
  63. package/dist/cli/commands/mirror.js +216 -0
  64. package/dist/cli/commands/mirror.js.map +1 -0
  65. package/dist/cli/commands/monitor.d.ts.map +1 -0
  66. package/dist/cli/commands/monitor.js.map +1 -0
  67. package/dist/cli/commands/network.d.ts.map +1 -0
  68. package/dist/cli/commands/network.js.map +1 -0
  69. package/dist/cli/commands/orchestrate.d.ts +35 -0
  70. package/dist/cli/commands/orchestrate.d.ts.map +1 -0
  71. package/dist/cli/commands/orchestrate.js +190 -0
  72. package/dist/cli/commands/orchestrate.js.map +1 -0
  73. package/dist/cli/commands/package.d.ts.map +1 -0
  74. package/dist/cli/commands/package.js.map +1 -0
  75. package/dist/cli/commands/pilot.d.ts +17 -0
  76. package/dist/cli/commands/pilot.d.ts.map +1 -0
  77. package/dist/cli/commands/pilot.js +490 -0
  78. package/dist/cli/commands/pilot.js.map +1 -0
  79. package/dist/cli/commands/polytician.d.ts +4 -0
  80. package/dist/cli/commands/polytician.d.ts.map +1 -0
  81. package/dist/cli/commands/polytician.js +229 -0
  82. package/dist/cli/commands/polytician.js.map +1 -0
  83. package/dist/cli/commands/profile.d.ts.map +1 -0
  84. package/dist/cli/commands/profile.js +1 -1
  85. package/dist/cli/commands/profile.js.map +1 -0
  86. package/dist/cli/commands/promote.d.ts.map +1 -0
  87. package/dist/cli/commands/promote.js.map +1 -0
  88. package/dist/cli/commands/rebase.d.ts +85 -0
  89. package/dist/cli/commands/rebase.d.ts.map +1 -0
  90. package/dist/cli/commands/rebase.js +175 -0
  91. package/dist/cli/commands/rebase.js.map +1 -0
  92. package/dist/cli/commands/rebuild.d.ts.map +1 -0
  93. package/dist/cli/commands/rebuild.js.map +1 -0
  94. package/dist/cli/commands/repo.d.ts +19 -0
  95. package/dist/cli/commands/repo.d.ts.map +1 -0
  96. package/dist/cli/commands/repo.js +187 -0
  97. package/dist/cli/commands/repo.js.map +1 -0
  98. package/dist/cli/commands/rollback.d.ts.map +1 -0
  99. package/dist/cli/commands/rollback.js.map +1 -0
  100. package/dist/cli/commands/safehouse.d.ts +11 -0
  101. package/dist/cli/commands/safehouse.d.ts.map +1 -0
  102. package/dist/cli/commands/safehouse.js +323 -0
  103. package/dist/cli/commands/safehouse.js.map +1 -0
  104. package/dist/cli/commands/show.d.ts.map +1 -0
  105. package/dist/cli/commands/show.js.map +1 -0
  106. package/dist/cli/commands/skills.d.ts +12 -0
  107. package/dist/cli/commands/skills.d.ts.map +1 -0
  108. package/dist/cli/commands/skills.js +248 -0
  109. package/dist/cli/commands/skills.js.map +1 -0
  110. package/dist/cli/commands/stats.d.ts.map +1 -0
  111. package/dist/cli/commands/stats.js +2 -2
  112. package/dist/cli/commands/stats.js.map +1 -0
  113. package/dist/cli/commands/status.d.ts +2 -0
  114. package/dist/cli/commands/status.d.ts.map +1 -0
  115. package/dist/cli/commands/status.js +25 -0
  116. package/dist/cli/commands/status.js.map +1 -0
  117. package/dist/cli/commands/test.d.ts.map +1 -0
  118. package/dist/cli/commands/test.js.map +1 -0
  119. package/dist/cli/commands/tokens.d.ts.map +1 -0
  120. package/dist/cli/commands/tokens.js.map +1 -0
  121. package/dist/cli/commands/trace.d.ts.map +1 -0
  122. package/dist/cli/commands/trace.js +3 -3
  123. package/dist/cli/commands/trace.js.map +1 -0
  124. package/dist/cli/commands/vault.d.ts +7 -0
  125. package/dist/cli/commands/vault.d.ts.map +1 -0
  126. package/dist/cli/commands/vault.js +551 -0
  127. package/dist/cli/commands/vault.js.map +1 -0
  128. package/dist/cli/commands/wallet-export.d.ts.map +1 -0
  129. package/dist/cli/commands/wallet-export.js.map +1 -0
  130. package/dist/cli/commands/wallet-history.d.ts.map +1 -0
  131. package/dist/cli/commands/wallet-history.js +2 -26
  132. package/dist/cli/commands/wallet-history.js.map +1 -0
  133. package/dist/cli/commands/wallet-import.d.ts.map +1 -0
  134. package/dist/cli/commands/wallet-import.js.map +1 -0
  135. package/dist/cli/commands/wallet-multi-send.d.ts.map +1 -0
  136. package/dist/cli/commands/wallet-multi-send.js.map +1 -0
  137. package/dist/cli/commands/wallet-process-queue.d.ts.map +1 -0
  138. package/dist/cli/commands/wallet-process-queue.js +2 -23
  139. package/dist/cli/commands/wallet-process-queue.js.map +1 -0
  140. package/dist/cli/commands/wallet-sign.d.ts.map +1 -0
  141. package/dist/cli/commands/wallet-sign.js +2 -26
  142. package/dist/cli/commands/wallet-sign.js.map +1 -0
  143. package/dist/cli/commands/wallet.d.ts +61 -0
  144. package/dist/cli/commands/wallet.d.ts.map +1 -0
  145. package/dist/cli/commands/wallet.js +312 -42
  146. package/dist/cli/commands/wallet.js.map +1 -0
  147. package/dist/cli/commands/wiki.d.ts +29 -0
  148. package/dist/cli/commands/wiki.d.ts.map +1 -0
  149. package/dist/cli/commands/wiki.js +528 -0
  150. package/dist/cli/commands/wiki.js.map +1 -0
  151. package/dist/cli/index.d.ts.map +1 -0
  152. package/dist/cli/index.js +74 -2
  153. package/dist/cli/index.js.map +1 -0
  154. package/dist/cli/merge.d.ts +70 -0
  155. package/dist/cli/merge.d.ts.map +1 -0
  156. package/dist/cli/merge.js +232 -0
  157. package/dist/cli/merge.js.map +1 -0
  158. package/dist/src/archival/archive-manager.d.ts +4 -0
  159. package/dist/src/archival/archive-manager.d.ts.map +1 -0
  160. package/dist/src/archival/archive-manager.js +6 -0
  161. package/dist/src/archival/archive-manager.js.map +1 -0
  162. package/dist/src/archival/arweave-archiver.d.ts +173 -0
  163. package/dist/src/archival/arweave-archiver.d.ts.map +1 -0
  164. package/dist/src/archival/arweave-archiver.js +279 -0
  165. package/dist/src/archival/arweave-archiver.js.map +1 -0
  166. package/dist/src/archival/arweave-client.d.ts +1 -0
  167. package/dist/src/archival/arweave-client.d.ts.map +1 -0
  168. package/dist/src/archival/arweave-client.js +5 -2
  169. package/dist/src/archival/arweave-client.js.map +1 -0
  170. package/dist/src/archival/index.d.ts +4 -1
  171. package/dist/src/archival/index.d.ts.map +1 -0
  172. package/dist/src/archival/index.js +2 -1
  173. package/dist/src/archival/index.js.map +1 -0
  174. package/dist/src/backbone/constants.d.ts +30 -0
  175. package/dist/src/backbone/constants.d.ts.map +1 -0
  176. package/dist/src/backbone/constants.js +62 -0
  177. package/dist/src/backbone/constants.js.map +1 -0
  178. package/dist/src/backbone/index.d.ts +15 -0
  179. package/dist/src/backbone/index.d.ts.map +1 -0
  180. package/dist/src/backbone/index.js +18 -0
  181. package/dist/src/backbone/index.js.map +1 -0
  182. package/dist/src/backbone/services/communication.d.ts +42 -0
  183. package/dist/src/backbone/services/communication.d.ts.map +1 -0
  184. package/dist/src/backbone/services/communication.js +107 -0
  185. package/dist/src/backbone/services/communication.js.map +1 -0
  186. package/dist/src/backbone/services/consensus.d.ts +61 -0
  187. package/dist/src/backbone/services/consensus.d.ts.map +1 -0
  188. package/dist/src/backbone/services/consensus.js +210 -0
  189. package/dist/src/backbone/services/consensus.js.map +1 -0
  190. package/dist/src/backbone/services/index.d.ts +10 -0
  191. package/dist/src/backbone/services/index.d.ts.map +1 -0
  192. package/dist/src/backbone/services/index.js +6 -0
  193. package/dist/src/backbone/services/index.js.map +1 -0
  194. package/dist/src/backbone/services/knowledge.d.ts +44 -0
  195. package/dist/src/backbone/services/knowledge.d.ts.map +1 -0
  196. package/dist/src/backbone/services/knowledge.js +99 -0
  197. package/dist/src/backbone/services/knowledge.js.map +1 -0
  198. package/dist/src/backbone/services/memory.d.ts +36 -0
  199. package/dist/src/backbone/services/memory.d.ts.map +1 -0
  200. package/dist/src/backbone/services/memory.js +94 -0
  201. package/dist/src/backbone/services/memory.js.map +1 -0
  202. package/dist/src/backbone/services/vault-health.d.ts +18 -0
  203. package/dist/src/backbone/services/vault-health.d.ts.map +1 -0
  204. package/dist/src/backbone/services/vault-health.js +74 -0
  205. package/dist/src/backbone/services/vault-health.js.map +1 -0
  206. package/dist/src/backbone/types.d.ts +211 -0
  207. package/dist/src/backbone/types.d.ts.map +1 -0
  208. package/dist/src/backbone/types.js +8 -0
  209. package/dist/src/backbone/types.js.map +1 -0
  210. package/dist/src/backbone/validators.d.ts +211 -0
  211. package/dist/src/backbone/validators.d.ts.map +1 -0
  212. package/dist/src/backbone/validators.js +122 -0
  213. package/dist/src/backbone/validators.js.map +1 -0
  214. package/dist/src/backup/backup.d.ts +107 -1
  215. package/dist/src/backup/backup.d.ts.map +1 -0
  216. package/dist/src/backup/backup.js +413 -4
  217. package/dist/src/backup/backup.js.map +1 -0
  218. package/dist/src/backup/index.d.ts +3 -1
  219. package/dist/src/backup/index.d.ts.map +1 -0
  220. package/dist/src/backup/index.js +3 -1
  221. package/dist/src/backup/index.js.map +1 -0
  222. package/dist/src/backup/merkle.d.ts +44 -0
  223. package/dist/src/backup/merkle.d.ts.map +1 -0
  224. package/dist/src/backup/merkle.js +85 -0
  225. package/dist/src/backup/merkle.js.map +1 -0
  226. package/dist/src/backup/thoughtform-bundle.d.ts +42 -0
  227. package/dist/src/backup/thoughtform-bundle.d.ts.map +1 -0
  228. package/dist/src/backup/thoughtform-bundle.js +200 -0
  229. package/dist/src/backup/thoughtform-bundle.js.map +1 -0
  230. package/dist/src/canister/actor.d.ts +310 -0
  231. package/dist/src/canister/actor.d.ts.map +1 -0
  232. package/dist/src/canister/actor.idl.d.ts +8 -0
  233. package/dist/src/canister/actor.idl.d.ts.map +1 -0
  234. package/dist/src/canister/actor.idl.js +518 -0
  235. package/dist/src/canister/actor.idl.js.map +1 -0
  236. package/dist/src/canister/actor.js +51 -0
  237. package/dist/src/canister/actor.js.map +1 -0
  238. package/dist/src/canister/encryption.d.ts +158 -0
  239. package/dist/src/canister/encryption.d.ts.map +1 -0
  240. package/dist/src/canister/encryption.js +296 -0
  241. package/dist/src/canister/encryption.js.map +1 -0
  242. package/dist/src/canister/memory-repo-actor.d.ts +162 -0
  243. package/dist/src/canister/memory-repo-actor.d.ts.map +1 -0
  244. package/dist/src/canister/memory-repo-actor.idl.d.ts +8 -0
  245. package/dist/src/canister/memory-repo-actor.idl.d.ts.map +1 -0
  246. package/dist/src/canister/memory-repo-actor.idl.js +90 -0
  247. package/dist/src/canister/memory-repo-actor.idl.js.map +1 -0
  248. package/dist/src/canister/memory-repo-actor.js +69 -0
  249. package/dist/src/canister/memory-repo-actor.js.map +1 -0
  250. package/dist/src/canister/types.d.ts +54 -0
  251. package/dist/src/canister/types.d.ts.map +1 -0
  252. package/dist/src/canister/types.js +7 -0
  253. package/dist/src/canister/types.js.map +1 -0
  254. package/dist/src/cloud-storage/cloud-sync.d.ts.map +1 -0
  255. package/dist/src/cloud-storage/cloud-sync.js +10 -5
  256. package/dist/src/cloud-storage/cloud-sync.js.map +1 -0
  257. package/dist/src/cloud-storage/index.d.ts.map +1 -0
  258. package/dist/src/cloud-storage/index.js.map +1 -0
  259. package/dist/src/cloud-storage/provider-detector.d.ts.map +1 -0
  260. package/dist/src/cloud-storage/provider-detector.js.map +1 -0
  261. package/dist/src/cloud-storage/types.d.ts +5 -0
  262. package/dist/src/cloud-storage/types.d.ts.map +1 -0
  263. package/dist/src/cloud-storage/types.js.map +1 -0
  264. package/dist/src/debugging/debug-logger.d.ts +8 -0
  265. package/dist/src/debugging/debug-logger.d.ts.map +1 -0
  266. package/dist/src/debugging/debug-logger.js +11 -0
  267. package/dist/src/debugging/debug-logger.js.map +1 -0
  268. package/dist/src/debugging/index.d.ts +1 -0
  269. package/dist/src/debugging/index.d.ts.map +1 -0
  270. package/dist/src/debugging/index.js +1 -0
  271. package/dist/src/debugging/index.js.map +1 -0
  272. package/dist/src/debugging/logs.d.ts.map +1 -0
  273. package/dist/src/debugging/logs.js.map +1 -0
  274. package/dist/src/debugging/types.d.ts.map +1 -0
  275. package/dist/src/debugging/types.js.map +1 -0
  276. package/dist/src/deployment/deployer.d.ts.map +1 -0
  277. package/dist/src/deployment/deployer.js +133 -1
  278. package/dist/src/deployment/deployer.js.map +1 -0
  279. package/dist/src/deployment/icpClient.d.ts.map +1 -0
  280. package/dist/src/deployment/icpClient.js +4 -0
  281. package/dist/src/deployment/icpClient.js.map +1 -0
  282. package/dist/src/deployment/index.d.ts.map +1 -0
  283. package/dist/src/deployment/index.js.map +1 -0
  284. package/dist/src/deployment/promotion.d.ts.map +1 -0
  285. package/dist/src/deployment/promotion.js.map +1 -0
  286. package/dist/src/deployment/types.d.ts +2 -1
  287. package/dist/src/deployment/types.d.ts.map +1 -0
  288. package/dist/src/deployment/types.js.map +1 -0
  289. package/dist/src/fault-tolerance/backup-status.d.ts +31 -0
  290. package/dist/src/fault-tolerance/backup-status.d.ts.map +1 -0
  291. package/dist/src/fault-tolerance/backup-status.js +76 -0
  292. package/dist/src/fault-tolerance/backup-status.js.map +1 -0
  293. package/dist/src/fault-tolerance/cron-check.d.ts +66 -0
  294. package/dist/src/fault-tolerance/cron-check.d.ts.map +1 -0
  295. package/dist/src/fault-tolerance/cron-check.js +177 -0
  296. package/dist/src/fault-tolerance/cron-check.js.map +1 -0
  297. package/dist/src/fault-tolerance/index.d.ts +12 -0
  298. package/dist/src/fault-tolerance/index.d.ts.map +1 -0
  299. package/dist/src/fault-tolerance/index.js +12 -0
  300. package/dist/src/fault-tolerance/index.js.map +1 -0
  301. package/dist/src/fault-tolerance/mirror-sync.d.ts +61 -0
  302. package/dist/src/fault-tolerance/mirror-sync.d.ts.map +1 -0
  303. package/dist/src/fault-tolerance/mirror-sync.js +203 -0
  304. package/dist/src/fault-tolerance/mirror-sync.js.map +1 -0
  305. package/dist/src/icp/batch.d.ts.map +1 -0
  306. package/dist/src/icp/batch.js +10 -4
  307. package/dist/src/icp/batch.js.map +1 -0
  308. package/dist/src/icp/cycles.d.ts.map +1 -0
  309. package/dist/src/icp/cycles.js.map +1 -0
  310. package/dist/src/icp/environment.d.ts.map +1 -0
  311. package/dist/src/icp/environment.js.map +1 -0
  312. package/dist/src/icp/icpcli.d.ts.map +1 -0
  313. package/dist/src/icp/icpcli.js.map +1 -0
  314. package/dist/src/icp/icwasm.d.ts.map +1 -0
  315. package/dist/src/icp/icwasm.js.map +1 -0
  316. package/dist/src/icp/identity.d.ts.map +1 -0
  317. package/dist/src/icp/identity.js.map +1 -0
  318. package/dist/src/icp/index.d.ts.map +1 -0
  319. package/dist/src/icp/index.js.map +1 -0
  320. package/dist/src/icp/optimization.d.ts.map +1 -0
  321. package/dist/src/icp/optimization.js.map +1 -0
  322. package/dist/src/icp/tokens.d.ts.map +1 -0
  323. package/dist/src/icp/tokens.js.map +1 -0
  324. package/dist/src/icp/tool-detector.d.ts.map +1 -0
  325. package/dist/src/icp/tool-detector.js +19 -5
  326. package/dist/src/icp/tool-detector.js.map +1 -0
  327. package/dist/src/icp/types.d.ts.map +1 -0
  328. package/dist/src/icp/types.js.map +1 -0
  329. package/dist/src/index.d.ts +1 -1
  330. package/dist/src/index.d.ts.map +1 -0
  331. package/dist/src/index.js +22 -1
  332. package/dist/src/index.js.map +1 -0
  333. package/dist/src/inference/bittensor-client.d.ts +54 -1
  334. package/dist/src/inference/bittensor-client.d.ts.map +1 -0
  335. package/dist/src/inference/bittensor-client.js +96 -3
  336. package/dist/src/inference/bittensor-client.js.map +1 -0
  337. package/dist/src/inference/fallback-chain.d.ts +90 -0
  338. package/dist/src/inference/fallback-chain.d.ts.map +1 -0
  339. package/dist/src/inference/fallback-chain.js +219 -0
  340. package/dist/src/inference/fallback-chain.js.map +1 -0
  341. package/dist/src/inference/index.d.ts +6 -1
  342. package/dist/src/inference/index.d.ts.map +1 -0
  343. package/dist/src/inference/index.js +6 -1
  344. package/dist/src/inference/index.js.map +1 -0
  345. package/dist/src/inference/inference-manager.d.ts.map +1 -0
  346. package/dist/src/inference/inference-manager.js.map +1 -0
  347. package/dist/src/inference/local-model-client.d.ts +46 -0
  348. package/dist/src/inference/local-model-client.d.ts.map +1 -0
  349. package/dist/src/inference/local-model-client.js +92 -0
  350. package/dist/src/inference/local-model-client.js.map +1 -0
  351. package/dist/src/inference/secure-inference.d.ts +105 -0
  352. package/dist/src/inference/secure-inference.d.ts.map +1 -0
  353. package/dist/src/inference/secure-inference.js +237 -0
  354. package/dist/src/inference/secure-inference.js.map +1 -0
  355. package/dist/src/inference/venice-client.d.ts +149 -0
  356. package/dist/src/inference/venice-client.d.ts.map +1 -0
  357. package/dist/src/inference/venice-client.js +333 -0
  358. package/dist/src/inference/venice-client.js.map +1 -0
  359. package/dist/src/metrics/index.d.ts.map +1 -0
  360. package/dist/src/metrics/index.js.map +1 -0
  361. package/dist/src/metrics/metrics.d.ts.map +1 -0
  362. package/dist/src/metrics/metrics.js.map +1 -0
  363. package/dist/src/mint/google-adk.d.ts +19 -0
  364. package/dist/src/mint/google-adk.d.ts.map +1 -0
  365. package/dist/src/mint/google-adk.js +180 -0
  366. package/dist/src/mint/google-adk.js.map +1 -0
  367. package/dist/src/monitoring/alerting.d.ts.map +1 -0
  368. package/dist/src/monitoring/alerting.js.map +1 -0
  369. package/dist/src/monitoring/health.d.ts +9 -1
  370. package/dist/src/monitoring/health.d.ts.map +1 -0
  371. package/dist/src/monitoring/health.js +63 -0
  372. package/dist/src/monitoring/health.js.map +1 -0
  373. package/dist/src/monitoring/index.d.ts +2 -2
  374. package/dist/src/monitoring/index.d.ts.map +1 -0
  375. package/dist/src/monitoring/index.js +1 -1
  376. package/dist/src/monitoring/index.js.map +1 -0
  377. package/dist/src/monitoring/info.d.ts.map +1 -0
  378. package/dist/src/monitoring/info.js.map +1 -0
  379. package/dist/src/monitoring/types.d.ts +26 -0
  380. package/dist/src/monitoring/types.d.ts.map +1 -0
  381. package/dist/src/monitoring/types.js.map +1 -0
  382. package/dist/src/network/index.d.ts.map +1 -0
  383. package/dist/src/network/index.js.map +1 -0
  384. package/dist/src/network/network-config.d.ts.map +1 -0
  385. package/dist/src/network/network-config.js.map +1 -0
  386. package/dist/src/orchestration/claude.d.ts +125 -0
  387. package/dist/src/orchestration/claude.d.ts.map +1 -0
  388. package/dist/src/orchestration/claude.js +639 -0
  389. package/dist/src/orchestration/claude.js.map +1 -0
  390. package/dist/src/orchestration/google-adk.d.ts +77 -0
  391. package/dist/src/orchestration/google-adk.d.ts.map +1 -0
  392. package/dist/src/orchestration/google-adk.js +659 -0
  393. package/dist/src/orchestration/google-adk.js.map +1 -0
  394. package/dist/src/orchestration/mcp-client.d.ts +47 -0
  395. package/dist/src/orchestration/mcp-client.d.ts.map +1 -0
  396. package/dist/src/orchestration/mcp-client.js +179 -0
  397. package/dist/src/orchestration/mcp-client.js.map +1 -0
  398. package/dist/src/orchestration/polytician-enricher.d.ts +21 -0
  399. package/dist/src/orchestration/polytician-enricher.d.ts.map +1 -0
  400. package/dist/src/orchestration/polytician-enricher.js +131 -0
  401. package/dist/src/orchestration/polytician-enricher.js.map +1 -0
  402. package/dist/src/orchestration/smallchat-bridge.d.ts +121 -0
  403. package/dist/src/orchestration/smallchat-bridge.d.ts.map +1 -0
  404. package/dist/src/orchestration/smallchat-bridge.js +331 -0
  405. package/dist/src/orchestration/smallchat-bridge.js.map +1 -0
  406. package/dist/src/orchestration/smallchat-compression.d.ts +100 -0
  407. package/dist/src/orchestration/smallchat-compression.d.ts.map +1 -0
  408. package/dist/src/orchestration/smallchat-compression.js +203 -0
  409. package/dist/src/orchestration/smallchat-compression.js.map +1 -0
  410. package/dist/src/orchestration/smallchat-policy.d.ts +158 -0
  411. package/dist/src/orchestration/smallchat-policy.d.ts.map +1 -0
  412. package/dist/src/orchestration/smallchat-policy.js +314 -0
  413. package/dist/src/orchestration/smallchat-policy.js.map +1 -0
  414. package/dist/src/orchestration/smallchat-tools.d.ts +69 -0
  415. package/dist/src/orchestration/smallchat-tools.d.ts.map +1 -0
  416. package/dist/src/orchestration/smallchat-tools.js +501 -0
  417. package/dist/src/orchestration/smallchat-tools.js.map +1 -0
  418. package/dist/src/packaging/compiler.d.ts.map +1 -0
  419. package/dist/src/packaging/compiler.js.map +1 -0
  420. package/dist/src/packaging/config-persistence.d.ts.map +1 -0
  421. package/dist/src/packaging/config-persistence.js.map +1 -0
  422. package/dist/src/packaging/config-schemas.d.ts +44 -2
  423. package/dist/src/packaging/config-schemas.d.ts.map +1 -0
  424. package/dist/src/packaging/config-schemas.js +19 -0
  425. package/dist/src/packaging/config-schemas.js.map +1 -0
  426. package/dist/src/packaging/detector.d.ts.map +1 -0
  427. package/dist/src/packaging/detector.js +15 -1
  428. package/dist/src/packaging/detector.js.map +1 -0
  429. package/dist/src/packaging/index.d.ts +11 -5
  430. package/dist/src/packaging/index.d.ts.map +1 -0
  431. package/dist/src/packaging/index.js +10 -4
  432. package/dist/src/packaging/index.js.map +1 -0
  433. package/dist/src/packaging/packager.d.ts.map +1 -0
  434. package/dist/src/packaging/packager.js.map +1 -0
  435. package/dist/src/packaging/parsers/clawdbot.d.ts +1 -1
  436. package/dist/src/packaging/parsers/clawdbot.d.ts.map +1 -0
  437. package/dist/src/packaging/parsers/clawdbot.js +26 -28
  438. package/dist/src/packaging/parsers/clawdbot.js.map +1 -0
  439. package/dist/src/packaging/parsers/cline.d.ts.map +1 -0
  440. package/dist/src/packaging/parsers/cline.js.map +1 -0
  441. package/dist/src/packaging/parsers/generic.d.ts +1 -1
  442. package/dist/src/packaging/parsers/generic.d.ts.map +1 -0
  443. package/dist/src/packaging/parsers/generic.js +13 -20
  444. package/dist/src/packaging/parsers/generic.js.map +1 -0
  445. package/dist/src/packaging/parsers/goose.d.ts.map +1 -0
  446. package/dist/src/packaging/parsers/goose.js.map +1 -0
  447. package/dist/src/packaging/parsers/index.d.ts +2 -0
  448. package/dist/src/packaging/parsers/index.d.ts.map +1 -0
  449. package/dist/src/packaging/parsers/index.js +2 -0
  450. package/dist/src/packaging/parsers/index.js.map +1 -0
  451. package/dist/src/packaging/parsers/nemoclaw.d.ts +4 -0
  452. package/dist/src/packaging/parsers/nemoclaw.d.ts.map +1 -0
  453. package/dist/src/packaging/parsers/nemoclaw.js +145 -0
  454. package/dist/src/packaging/parsers/nemoclaw.js.map +1 -0
  455. package/dist/src/packaging/parsers/polytician.d.ts +4 -0
  456. package/dist/src/packaging/parsers/polytician.d.ts.map +1 -0
  457. package/dist/src/packaging/parsers/polytician.js +121 -0
  458. package/dist/src/packaging/parsers/polytician.js.map +1 -0
  459. package/dist/src/packaging/serializer.d.ts +7 -1
  460. package/dist/src/packaging/serializer.d.ts.map +1 -0
  461. package/dist/src/packaging/serializer.js +14 -3
  462. package/dist/src/packaging/serializer.js.map +1 -0
  463. package/dist/src/packaging/serializers/index.d.ts +3 -0
  464. package/dist/src/packaging/serializers/index.d.ts.map +1 -0
  465. package/dist/src/packaging/serializers/index.js +2 -0
  466. package/dist/src/packaging/serializers/index.js.map +1 -0
  467. package/dist/src/packaging/serializers/thoughtform.d.ts +89 -0
  468. package/dist/src/packaging/serializers/thoughtform.d.ts.map +1 -0
  469. package/dist/src/packaging/serializers/thoughtform.js +84 -0
  470. package/dist/src/packaging/serializers/thoughtform.js.map +1 -0
  471. package/dist/src/packaging/state-format.d.ts +332 -0
  472. package/dist/src/packaging/state-format.d.ts.map +1 -0
  473. package/dist/src/packaging/state-format.js +602 -0
  474. package/dist/src/packaging/state-format.js.map +1 -0
  475. package/dist/src/packaging/types.d.ts +2 -2
  476. package/dist/src/packaging/types.d.ts.map +1 -0
  477. package/dist/src/packaging/types.js.map +1 -0
  478. package/dist/src/packaging/wasm-compiler.d.ts +160 -0
  479. package/dist/src/packaging/wasm-compiler.d.ts.map +1 -0
  480. package/dist/src/packaging/wasm-compiler.js +662 -0
  481. package/dist/src/packaging/wasm-compiler.js.map +1 -0
  482. package/dist/src/packaging/wasmedge-compiler.d.ts.map +1 -0
  483. package/dist/src/packaging/wasmedge-compiler.js +6 -4
  484. package/dist/src/packaging/wasmedge-compiler.js.map +1 -0
  485. package/dist/src/pilot/air-gap.d.ts +51 -0
  486. package/dist/src/pilot/air-gap.d.ts.map +1 -0
  487. package/dist/src/pilot/air-gap.js +118 -0
  488. package/dist/src/pilot/air-gap.js.map +1 -0
  489. package/dist/src/pilot/index.d.ts +14 -0
  490. package/dist/src/pilot/index.d.ts.map +1 -0
  491. package/dist/src/pilot/index.js +16 -0
  492. package/dist/src/pilot/index.js.map +1 -0
  493. package/dist/src/pilot/private-replica.d.ts +67 -0
  494. package/dist/src/pilot/private-replica.d.ts.map +1 -0
  495. package/dist/src/pilot/private-replica.js +429 -0
  496. package/dist/src/pilot/private-replica.js.map +1 -0
  497. package/dist/src/pilot/proxy-config.d.ts +36 -0
  498. package/dist/src/pilot/proxy-config.d.ts.map +1 -0
  499. package/dist/src/pilot/proxy-config.js +96 -0
  500. package/dist/src/pilot/proxy-config.js.map +1 -0
  501. package/dist/src/pilot/types.d.ts +181 -0
  502. package/dist/src/pilot/types.d.ts.map +1 -0
  503. package/dist/src/pilot/types.js +7 -0
  504. package/dist/src/pilot/types.js.map +1 -0
  505. package/dist/src/security/icp-audit.d.ts +63 -0
  506. package/dist/src/security/icp-audit.d.ts.map +1 -0
  507. package/dist/src/security/icp-audit.js +234 -0
  508. package/dist/src/security/icp-audit.js.map +1 -0
  509. package/dist/src/security/index.d.ts +7 -1
  510. package/dist/src/security/index.d.ts.map +1 -0
  511. package/dist/src/security/index.js +12 -2
  512. package/dist/src/security/index.js.map +1 -0
  513. package/dist/src/security/mfa-approval.d.ts +219 -0
  514. package/dist/src/security/mfa-approval.d.ts.map +1 -0
  515. package/dist/src/security/mfa-approval.js +668 -0
  516. package/dist/src/security/mfa-approval.js.map +1 -0
  517. package/dist/src/security/multisig.d.ts.map +1 -0
  518. package/dist/src/security/multisig.js.map +1 -0
  519. package/dist/src/security/totp.d.ts +67 -0
  520. package/dist/src/security/totp.d.ts.map +1 -0
  521. package/dist/src/security/totp.js +148 -0
  522. package/dist/src/security/totp.js.map +1 -0
  523. package/dist/src/security/types.d.ts +7 -2
  524. package/dist/src/security/types.d.ts.map +1 -0
  525. package/dist/src/security/types.js +14 -14
  526. package/dist/src/security/types.js.map +1 -0
  527. package/dist/src/security/vetkeys.d.ts +43 -0
  528. package/dist/src/security/vetkeys.d.ts.map +1 -0
  529. package/dist/src/security/vetkeys.js +144 -15
  530. package/dist/src/security/vetkeys.js.map +1 -0
  531. package/dist/src/security/webauthn.d.ts +127 -0
  532. package/dist/src/security/webauthn.d.ts.map +1 -0
  533. package/dist/src/security/webauthn.js +246 -0
  534. package/dist/src/security/webauthn.js.map +1 -0
  535. package/dist/src/testing/index.d.ts.map +1 -0
  536. package/dist/src/testing/index.js.map +1 -0
  537. package/dist/src/testing/local-runner.d.ts.map +1 -0
  538. package/dist/src/testing/local-runner.js.map +1 -0
  539. package/dist/src/testing/types.d.ts.map +1 -0
  540. package/dist/src/testing/types.js.map +1 -0
  541. package/dist/src/trading/api-key-manager.d.ts +96 -0
  542. package/dist/src/trading/api-key-manager.d.ts.map +1 -0
  543. package/dist/src/trading/api-key-manager.js +201 -0
  544. package/dist/src/trading/api-key-manager.js.map +1 -0
  545. package/dist/src/trading/consensus.d.ts +171 -0
  546. package/dist/src/trading/consensus.d.ts.map +1 -0
  547. package/dist/src/trading/consensus.js +291 -0
  548. package/dist/src/trading/consensus.js.map +1 -0
  549. package/dist/src/trading/index.d.ts +19 -0
  550. package/dist/src/trading/index.d.ts.map +1 -0
  551. package/dist/src/trading/index.js +15 -0
  552. package/dist/src/trading/index.js.map +1 -0
  553. package/dist/src/trading/ip-whitelist.d.ts +70 -0
  554. package/dist/src/trading/ip-whitelist.d.ts.map +1 -0
  555. package/dist/src/trading/ip-whitelist.js +239 -0
  556. package/dist/src/trading/ip-whitelist.js.map +1 -0
  557. package/dist/src/trading/skill-sandbox.d.ts +88 -0
  558. package/dist/src/trading/skill-sandbox.d.ts.map +1 -0
  559. package/dist/src/trading/skill-sandbox.js +175 -0
  560. package/dist/src/trading/skill-sandbox.js.map +1 -0
  561. package/dist/src/utils/path-validation.d.ts +34 -0
  562. package/dist/src/utils/path-validation.d.ts.map +1 -0
  563. package/dist/src/utils/path-validation.js +88 -0
  564. package/dist/src/utils/path-validation.js.map +1 -0
  565. package/dist/src/vault/bitwarden.d.ts +51 -0
  566. package/dist/src/vault/bitwarden.d.ts.map +1 -0
  567. package/dist/src/vault/bitwarden.js +172 -0
  568. package/dist/src/vault/bitwarden.js.map +1 -0
  569. package/dist/src/vault/client.d.ts +44 -0
  570. package/dist/src/vault/client.d.ts.map +1 -0
  571. package/dist/src/vault/client.js +523 -0
  572. package/dist/src/vault/client.js.map +1 -0
  573. package/dist/src/vault/config.d.ts +68 -0
  574. package/dist/src/vault/config.d.ts.map +1 -0
  575. package/dist/src/vault/config.js +265 -0
  576. package/dist/src/vault/config.js.map +1 -0
  577. package/dist/src/vault/encrypted-memory-store.d.ts +80 -0
  578. package/dist/src/vault/encrypted-memory-store.d.ts.map +1 -0
  579. package/dist/src/vault/encrypted-memory-store.js +175 -0
  580. package/dist/src/vault/encrypted-memory-store.js.map +1 -0
  581. package/dist/src/vault/hashicorp-provider.d.ts +22 -0
  582. package/dist/src/vault/hashicorp-provider.d.ts.map +1 -0
  583. package/dist/src/vault/hashicorp-provider.js +63 -0
  584. package/dist/src/vault/hashicorp-provider.js.map +1 -0
  585. package/dist/src/vault/index.d.ts +40 -0
  586. package/dist/src/vault/index.d.ts.map +1 -0
  587. package/dist/src/vault/index.js +38 -0
  588. package/dist/src/vault/index.js.map +1 -0
  589. package/dist/src/vault/memory-provider.d.ts +26 -0
  590. package/dist/src/vault/memory-provider.d.ts.map +1 -0
  591. package/dist/src/vault/memory-provider.js +42 -0
  592. package/dist/src/vault/memory-provider.js.map +1 -0
  593. package/dist/src/vault/provider.d.ts +68 -0
  594. package/dist/src/vault/provider.d.ts.map +1 -0
  595. package/dist/src/vault/provider.js +50 -0
  596. package/dist/src/vault/provider.js.map +1 -0
  597. package/dist/src/vault/safehouse-types.d.ts +204 -0
  598. package/dist/src/vault/safehouse-types.d.ts.map +1 -0
  599. package/dist/src/vault/safehouse-types.js +9 -0
  600. package/dist/src/vault/safehouse-types.js.map +1 -0
  601. package/dist/src/vault/secret-audit.d.ts +91 -0
  602. package/dist/src/vault/secret-audit.d.ts.map +1 -0
  603. package/dist/src/vault/secret-audit.js +224 -0
  604. package/dist/src/vault/secret-audit.js.map +1 -0
  605. package/dist/src/vault/secret-injector.d.ts +62 -0
  606. package/dist/src/vault/secret-injector.d.ts.map +1 -0
  607. package/dist/src/vault/secret-injector.js +237 -0
  608. package/dist/src/vault/secret-injector.js.map +1 -0
  609. package/dist/src/vault/secret-leak-detector.d.ts +94 -0
  610. package/dist/src/vault/secret-leak-detector.d.ts.map +1 -0
  611. package/dist/src/vault/secret-leak-detector.js +218 -0
  612. package/dist/src/vault/secret-leak-detector.js.map +1 -0
  613. package/dist/src/vault/secret-management-layer.d.ts +139 -0
  614. package/dist/src/vault/secret-management-layer.d.ts.map +1 -0
  615. package/dist/src/vault/secret-management-layer.js +366 -0
  616. package/dist/src/vault/secret-management-layer.js.map +1 -0
  617. package/dist/src/vault/secret-rotation.d.ts +54 -0
  618. package/dist/src/vault/secret-rotation.d.ts.map +1 -0
  619. package/dist/src/vault/secret-rotation.js +156 -0
  620. package/dist/src/vault/secret-rotation.js.map +1 -0
  621. package/dist/src/vault/secret-sandbox.d.ts +94 -0
  622. package/dist/src/vault/secret-sandbox.d.ts.map +1 -0
  623. package/dist/src/vault/secret-sandbox.js +232 -0
  624. package/dist/src/vault/secret-sandbox.js.map +1 -0
  625. package/dist/src/vault/types.d.ts +148 -0
  626. package/dist/src/vault/types.d.ts.map +1 -0
  627. package/dist/src/vault/types.js +7 -0
  628. package/dist/src/vault/types.js.map +1 -0
  629. package/dist/src/wallet/cbor-serializer.d.ts.map +1 -0
  630. package/dist/src/wallet/cbor-serializer.js +7 -2
  631. package/dist/src/wallet/cbor-serializer.js.map +1 -0
  632. package/dist/src/wallet/chain-dispatcher.d.ts +1 -1
  633. package/dist/src/wallet/chain-dispatcher.d.ts.map +1 -0
  634. package/dist/src/wallet/chain-dispatcher.js +8 -19
  635. package/dist/src/wallet/chain-dispatcher.js.map +1 -0
  636. package/dist/src/wallet/cross-chain-aggregator.d.ts.map +1 -0
  637. package/dist/src/wallet/cross-chain-aggregator.js.map +1 -0
  638. package/dist/src/wallet/hsm/index.d.ts +39 -0
  639. package/dist/src/wallet/hsm/index.d.ts.map +1 -0
  640. package/dist/src/wallet/hsm/index.js +60 -0
  641. package/dist/src/wallet/hsm/index.js.map +1 -0
  642. package/dist/src/wallet/hsm/ledger-provider.d.ts +75 -0
  643. package/dist/src/wallet/hsm/ledger-provider.d.ts.map +1 -0
  644. package/dist/src/wallet/hsm/ledger-provider.js +272 -0
  645. package/dist/src/wallet/hsm/ledger-provider.js.map +1 -0
  646. package/dist/src/wallet/hsm/sgx-provider.d.ts +83 -0
  647. package/dist/src/wallet/hsm/sgx-provider.d.ts.map +1 -0
  648. package/dist/src/wallet/hsm/sgx-provider.js +281 -0
  649. package/dist/src/wallet/hsm/sgx-provider.js.map +1 -0
  650. package/dist/src/wallet/hsm/types.d.ts +134 -0
  651. package/dist/src/wallet/hsm/types.d.ts.map +1 -0
  652. package/dist/src/wallet/hsm/types.js +46 -0
  653. package/dist/src/wallet/hsm/types.js.map +1 -0
  654. package/dist/src/wallet/index.d.ts +8 -2
  655. package/dist/src/wallet/index.d.ts.map +1 -0
  656. package/dist/src/wallet/index.js +9 -2
  657. package/dist/src/wallet/index.js.map +1 -0
  658. package/dist/src/wallet/key-derivation.d.ts +29 -1
  659. package/dist/src/wallet/key-derivation.d.ts.map +1 -0
  660. package/dist/src/wallet/key-derivation.js +106 -23
  661. package/dist/src/wallet/key-derivation.js.map +1 -0
  662. package/dist/src/wallet/providers/arweave-provider.d.ts +34 -0
  663. package/dist/src/wallet/providers/arweave-provider.d.ts.map +1 -0
  664. package/dist/src/wallet/providers/arweave-provider.js +126 -0
  665. package/dist/src/wallet/providers/arweave-provider.js.map +1 -0
  666. package/dist/src/wallet/providers/base-provider.d.ts.map +1 -0
  667. package/dist/src/wallet/providers/base-provider.js.map +1 -0
  668. package/dist/src/wallet/providers/cketh-provider.d.ts.map +1 -0
  669. package/dist/src/wallet/providers/cketh-provider.js.map +1 -0
  670. package/dist/src/wallet/providers/icp-provider.d.ts +34 -0
  671. package/dist/src/wallet/providers/icp-provider.d.ts.map +1 -0
  672. package/dist/src/wallet/providers/icp-provider.js +114 -0
  673. package/dist/src/wallet/providers/icp-provider.js.map +1 -0
  674. package/dist/src/wallet/providers/polkadot-provider.d.ts.map +1 -0
  675. package/dist/src/wallet/providers/polkadot-provider.js +5 -6
  676. package/dist/src/wallet/providers/polkadot-provider.js.map +1 -0
  677. package/dist/src/wallet/providers/provider-factory.d.ts +23 -0
  678. package/dist/src/wallet/providers/provider-factory.d.ts.map +1 -0
  679. package/dist/src/wallet/providers/provider-factory.js +74 -0
  680. package/dist/src/wallet/providers/provider-factory.js.map +1 -0
  681. package/dist/src/wallet/providers/solana-provider.d.ts.map +1 -0
  682. package/dist/src/wallet/providers/solana-provider.js +6 -7
  683. package/dist/src/wallet/providers/solana-provider.js.map +1 -0
  684. package/dist/src/wallet/secure-wallet.d.ts +132 -0
  685. package/dist/src/wallet/secure-wallet.d.ts.map +1 -0
  686. package/dist/src/wallet/secure-wallet.js +298 -0
  687. package/dist/src/wallet/secure-wallet.js.map +1 -0
  688. package/dist/src/wallet/transaction-queue.d.ts.map +1 -0
  689. package/dist/src/wallet/transaction-queue.js.map +1 -0
  690. package/dist/src/wallet/types.d.ts +57 -2
  691. package/dist/src/wallet/types.d.ts.map +1 -0
  692. package/dist/src/wallet/types.js.map +1 -0
  693. package/dist/src/wallet/vetkeys-adapter.d.ts.map +1 -0
  694. package/dist/src/wallet/vetkeys-adapter.js +16 -25
  695. package/dist/src/wallet/vetkeys-adapter.js.map +1 -0
  696. package/dist/src/wallet/wallet-crypto.d.ts +101 -0
  697. package/dist/src/wallet/wallet-crypto.d.ts.map +1 -0
  698. package/dist/src/wallet/wallet-crypto.js +185 -0
  699. package/dist/src/wallet/wallet-crypto.js.map +1 -0
  700. package/dist/src/wallet/wallet-manager.d.ts +24 -4
  701. package/dist/src/wallet/wallet-manager.d.ts.map +1 -0
  702. package/dist/src/wallet/wallet-manager.js +70 -3
  703. package/dist/src/wallet/wallet-manager.js.map +1 -0
  704. package/dist/src/wallet/wallet-storage.d.ts +15 -7
  705. package/dist/src/wallet/wallet-storage.d.ts.map +1 -0
  706. package/dist/src/wallet/wallet-storage.js +34 -18
  707. package/dist/src/wallet/wallet-storage.js.map +1 -0
  708. package/dist/src/wiki/index.d.ts +30 -0
  709. package/dist/src/wiki/index.d.ts.map +1 -0
  710. package/dist/src/wiki/index.js +30 -0
  711. package/dist/src/wiki/index.js.map +1 -0
  712. package/dist/src/wiki/ingest.d.ts +51 -0
  713. package/dist/src/wiki/ingest.d.ts.map +1 -0
  714. package/dist/src/wiki/ingest.js +197 -0
  715. package/dist/src/wiki/ingest.js.map +1 -0
  716. package/dist/src/wiki/lint.d.ts +43 -0
  717. package/dist/src/wiki/lint.d.ts.map +1 -0
  718. package/dist/src/wiki/lint.js +187 -0
  719. package/dist/src/wiki/lint.js.map +1 -0
  720. package/dist/src/wiki/mcp-tools.d.ts +35 -0
  721. package/dist/src/wiki/mcp-tools.d.ts.map +1 -0
  722. package/dist/src/wiki/mcp-tools.js +353 -0
  723. package/dist/src/wiki/mcp-tools.js.map +1 -0
  724. package/dist/src/wiki/query.d.ts +38 -0
  725. package/dist/src/wiki/query.d.ts.map +1 -0
  726. package/dist/src/wiki/query.js +117 -0
  727. package/dist/src/wiki/query.js.map +1 -0
  728. package/dist/src/wiki/wiki-store.d.ts +53 -0
  729. package/dist/src/wiki/wiki-store.d.ts.map +1 -0
  730. package/dist/src/wiki/wiki-store.js +132 -0
  731. package/dist/src/wiki/wiki-store.js.map +1 -0
  732. package/package.json +35 -11
  733. package/.claude/settings.local.json +0 -9
  734. package/.dfx/local/network-id +0 -4
  735. package/.next/trace +0 -2
  736. package/.vercel/README.txt +0 -11
  737. package/.vercel/project.json +0 -1
  738. package/AGENTS.md +0 -43
  739. package/PLAN_VAULT_INTEGRATION.md +0 -318
  740. package/dist/vitest.config.d.ts +0 -3
  741. package/dist/vitest.config.js +0 -14
  742. package/fixup_1_0_OSS_release.md +0 -136
  743. package/fixup_REALEASE_PRD.md +0 -136
  744. package/macos-wallet-app/AgentVaultWallet/App/AgentVaultWalletApp.swift +0 -54
  745. package/macos-wallet-app/AgentVaultWallet/Models/AppState.swift +0 -102
  746. package/macos-wallet-app/AgentVaultWallet/Models/Chain.swift +0 -121
  747. package/macos-wallet-app/AgentVaultWallet/Models/Wallet.swift +0 -98
  748. package/macos-wallet-app/AgentVaultWallet/Resources/AgentVaultWallet.entitlements +0 -27
  749. package/macos-wallet-app/AgentVaultWallet/Resources/Info.plist +0 -69
  750. package/macos-wallet-app/AgentVaultWallet/Services/BackupService.swift +0 -270
  751. package/macos-wallet-app/AgentVaultWallet/Services/CLIBridge.swift +0 -367
  752. package/macos-wallet-app/AgentVaultWallet/Services/CryptoService.swift +0 -157
  753. package/macos-wallet-app/AgentVaultWallet/Services/FileService.swift +0 -120
  754. package/macos-wallet-app/AgentVaultWallet/Services/KeychainService.swift +0 -219
  755. package/macos-wallet-app/AgentVaultWallet/Utilities/Constants.swift +0 -44
  756. package/macos-wallet-app/AgentVaultWallet/Utilities/Extensions.swift +0 -115
  757. package/macos-wallet-app/AgentVaultWallet/ViewModels/BackupViewModel.swift +0 -237
  758. package/macos-wallet-app/AgentVaultWallet/ViewModels/CreateWalletViewModel.swift +0 -137
  759. package/macos-wallet-app/AgentVaultWallet/ViewModels/ImportWalletViewModel.swift +0 -179
  760. package/macos-wallet-app/AgentVaultWallet/ViewModels/WalletStore.swift +0 -286
  761. package/macos-wallet-app/AgentVaultWallet/Views/Backup/BackupView.swift +0 -235
  762. package/macos-wallet-app/AgentVaultWallet/Views/Backup/RestoreView.swift +0 -316
  763. package/macos-wallet-app/AgentVaultWallet/Views/Create/CreateWalletFlow.swift +0 -438
  764. package/macos-wallet-app/AgentVaultWallet/Views/Import/ImportWalletFlow.swift +0 -399
  765. package/macos-wallet-app/AgentVaultWallet/Views/MainView.swift +0 -134
  766. package/macos-wallet-app/AgentVaultWallet/Views/Settings/SettingsView.swift +0 -276
  767. package/macos-wallet-app/AgentVaultWallet/Views/Sidebar/SidebarView.swift +0 -133
  768. package/macos-wallet-app/AgentVaultWallet/Views/Wallet/DashboardView.swift +0 -233
  769. package/macos-wallet-app/AgentVaultWallet/Views/Wallet/WalletDetailView.swift +0 -281
  770. package/macos-wallet-app/AgentVaultWallet/Views/Wallet/WalletListView.swift +0 -280
  771. package/macos-wallet-app/AgentVaultWallet/Views/Welcome/WelcomeView.swift +0 -176
  772. package/macos-wallet-app/Makefile +0 -47
  773. package/macos-wallet-app/project.yml +0 -40
  774. package/macos-wallet-app/setup.sh +0 -73
  775. package/pnpm-workspace.yaml +0 -5
  776. package/vercel.json +0 -8
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Wallet Crypto Module
3
+ *
4
+ * Provides cryptographic primitives for wallet key generation and at-rest
5
+ * encryption using industry-standard algorithms:
6
+ *
7
+ * - secp256k1 ECDSA (Ethereum / Polkadot) via @noble/curves
8
+ * - Ed25519 EdDSA (Solana / ICP / Arweave) via @noble/curves
9
+ * - AES-256-GCM authenticated encryption for private keys / mnemonics
10
+ * - PBKDF2-SHA256 (210 000 iterations) for storage-key derivation
11
+ *
12
+ * Private keys and mnemonics are NEVER stored in plaintext. When a
13
+ * caller supplies an encryptionKey (the wallet's BIP39 mnemonic) the
14
+ * sensitive fields are encrypted into an EncryptedKeyBundle before the
15
+ * wallet is written to disk.
16
+ */
17
+ import type { EncryptedCiphertext, WalletData } from './types.js';
18
+ /**
19
+ * Derive a secp256k1 keypair from a 32-byte seed.
20
+ *
21
+ * Uses @noble/curves/secp256k1 – the same underlying library used by ethers
22
+ * and most modern JS wallets. The uncompressed public key (65 bytes,
23
+ * 0x04 prefix) is returned so callers can choose their own encoding.
24
+ *
25
+ * @param seed - 32 bytes of key material (e.g. from BIP32 derivation)
26
+ */
27
+ export declare function secp256k1KeypairFromSeed(seed: Uint8Array): {
28
+ privateKey: Uint8Array;
29
+ publicKeyUncompressed: Uint8Array;
30
+ publicKeyCompressed: Uint8Array;
31
+ };
32
+ /**
33
+ * Derive an Ed25519 keypair from a 32-byte seed.
34
+ *
35
+ * Uses @noble/curves/ed25519. The private key is the raw 32-byte seed;
36
+ * the public key is the 32-byte Ed25519 point.
37
+ *
38
+ * @param seed - 32 bytes of key material
39
+ */
40
+ export declare function ed25519KeypairFromSeed(seed: Uint8Array): {
41
+ privateKey: Uint8Array;
42
+ publicKey: Uint8Array;
43
+ };
44
+ /**
45
+ * Derive a 32-byte AES-256-GCM key from a BIP39 mnemonic and a random salt
46
+ * using PBKDF2-SHA256.
47
+ *
48
+ * The per-wallet salt ensures that two wallets encrypted with the same
49
+ * mnemonic produce independent keys, preventing cross-wallet key reuse.
50
+ *
51
+ * @param mnemonic - BIP39 mnemonic (the wallet owner's seed phrase)
52
+ * @param salt - 32-byte random per-wallet salt (stored alongside ciphertext)
53
+ */
54
+ export declare function deriveStorageKey(mnemonic: string, salt: Buffer): Buffer;
55
+ /**
56
+ * Encrypt a UTF-8 plaintext string with AES-256-GCM.
57
+ *
58
+ * A fresh 12-byte IV is generated for every call. The authentication tag
59
+ * is stored alongside the ciphertext so that any tampering is detected on
60
+ * decryption.
61
+ *
62
+ * @param plaintext - The string to encrypt (private key hex or mnemonic)
63
+ * @param key - 32-byte AES key (output of deriveStorageKey)
64
+ */
65
+ export declare function encryptSecret(plaintext: string, key: Buffer): EncryptedCiphertext;
66
+ /**
67
+ * Decrypt an AES-256-GCM ciphertext produced by encryptSecret.
68
+ *
69
+ * Throws if the authentication tag does not match (tamper detection).
70
+ *
71
+ * @param encrypted - EncryptedCiphertext produced by encryptSecret
72
+ * @param key - 32-byte AES key (must match the key used for encryption)
73
+ */
74
+ export declare function decryptSecret(encrypted: EncryptedCiphertext, key: Buffer): string;
75
+ /**
76
+ * Encrypt a wallet's sensitive fields (privateKey and/or mnemonic) using
77
+ * AES-256-GCM with a key derived from the supplied mnemonic + a fresh
78
+ * random salt.
79
+ *
80
+ * The returned wallet has:
81
+ * - privateKey set to undefined
82
+ * - mnemonic set to undefined
83
+ * - encryptedSecrets populated with the ciphertext bundle
84
+ *
85
+ * The in-memory wallet object passed in is not mutated.
86
+ *
87
+ * @param wallet - Wallet whose secrets should be encrypted
88
+ * @param mnemonic - BIP39 mnemonic used as key-derivation material
89
+ */
90
+ export declare function encryptWalletSecrets(wallet: WalletData, mnemonic: string): WalletData;
91
+ /**
92
+ * Decrypt a wallet's EncryptedKeyBundle back into plaintext fields.
93
+ *
94
+ * If the wallet has no encryptedSecrets the wallet is returned unchanged.
95
+ * Throws if the mnemonic is wrong (AES-GCM authentication will fail).
96
+ *
97
+ * @param wallet - Wallet with encryptedSecrets populated
98
+ * @param mnemonic - BIP39 mnemonic used as key-derivation material
99
+ */
100
+ export declare function decryptWalletSecrets(wallet: WalletData, mnemonic: string): WalletData;
101
+ //# sourceMappingURL=wallet-crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-crypto.d.ts","sourceRoot":"","sources":["../../../src/wallet/wallet-crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAsB,UAAU,EAAE,MAAM,YAAY,CAAC;AAsBtF;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG;IAC1D,UAAU,EAAE,UAAU,CAAC;IACvB,qBAAqB,EAAE,UAAU,CAAC;IAClC,mBAAmB,EAAE,UAAU,CAAC;CACjC,CAKA;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,UAAU,GAAG;IACxD,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,UAAU,CAAC;CACvB,CAIA;AAMD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvE;AAMD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAcjF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAcjF;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAsBrF;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAmBrF"}
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Wallet Crypto Module
3
+ *
4
+ * Provides cryptographic primitives for wallet key generation and at-rest
5
+ * encryption using industry-standard algorithms:
6
+ *
7
+ * - secp256k1 ECDSA (Ethereum / Polkadot) via @noble/curves
8
+ * - Ed25519 EdDSA (Solana / ICP / Arweave) via @noble/curves
9
+ * - AES-256-GCM authenticated encryption for private keys / mnemonics
10
+ * - PBKDF2-SHA256 (210 000 iterations) for storage-key derivation
11
+ *
12
+ * Private keys and mnemonics are NEVER stored in plaintext. When a
13
+ * caller supplies an encryptionKey (the wallet's BIP39 mnemonic) the
14
+ * sensitive fields are encrypted into an EncryptedKeyBundle before the
15
+ * wallet is written to disk.
16
+ */
17
+ import * as crypto from 'node:crypto';
18
+ import { secp256k1 } from '@noble/curves/secp256k1';
19
+ import { ed25519 } from '@noble/curves/ed25519';
20
+ // ---------------------------------------------------------------------------
21
+ // Constants
22
+ // ---------------------------------------------------------------------------
23
+ /** PBKDF2 iteration count – OWASP 2023 recommendation for SHA-256 */
24
+ const PBKDF2_ITERATIONS = 210_000;
25
+ /** AES-256-GCM key length in bytes */
26
+ const AES_KEY_BYTES = 32;
27
+ /** AES-256-GCM IV length in bytes */
28
+ const GCM_IV_BYTES = 12;
29
+ /** PBKDF2 salt length in bytes */
30
+ const SALT_BYTES = 32;
31
+ // ---------------------------------------------------------------------------
32
+ // Key-generation helpers (exported for use in key-derivation.ts)
33
+ // ---------------------------------------------------------------------------
34
+ /**
35
+ * Derive a secp256k1 keypair from a 32-byte seed.
36
+ *
37
+ * Uses @noble/curves/secp256k1 – the same underlying library used by ethers
38
+ * and most modern JS wallets. The uncompressed public key (65 bytes,
39
+ * 0x04 prefix) is returned so callers can choose their own encoding.
40
+ *
41
+ * @param seed - 32 bytes of key material (e.g. from BIP32 derivation)
42
+ */
43
+ export function secp256k1KeypairFromSeed(seed) {
44
+ const privateKey = seed.slice(0, 32);
45
+ const publicKeyUncompressed = secp256k1.getPublicKey(privateKey, false);
46
+ const publicKeyCompressed = secp256k1.getPublicKey(privateKey, true);
47
+ return { privateKey, publicKeyUncompressed, publicKeyCompressed };
48
+ }
49
+ /**
50
+ * Derive an Ed25519 keypair from a 32-byte seed.
51
+ *
52
+ * Uses @noble/curves/ed25519. The private key is the raw 32-byte seed;
53
+ * the public key is the 32-byte Ed25519 point.
54
+ *
55
+ * @param seed - 32 bytes of key material
56
+ */
57
+ export function ed25519KeypairFromSeed(seed) {
58
+ const privateKey = seed.slice(0, 32);
59
+ const publicKey = ed25519.getPublicKey(privateKey);
60
+ return { privateKey, publicKey };
61
+ }
62
+ // ---------------------------------------------------------------------------
63
+ // Storage-key derivation
64
+ // ---------------------------------------------------------------------------
65
+ /**
66
+ * Derive a 32-byte AES-256-GCM key from a BIP39 mnemonic and a random salt
67
+ * using PBKDF2-SHA256.
68
+ *
69
+ * The per-wallet salt ensures that two wallets encrypted with the same
70
+ * mnemonic produce independent keys, preventing cross-wallet key reuse.
71
+ *
72
+ * @param mnemonic - BIP39 mnemonic (the wallet owner's seed phrase)
73
+ * @param salt - 32-byte random per-wallet salt (stored alongside ciphertext)
74
+ */
75
+ export function deriveStorageKey(mnemonic, salt) {
76
+ return crypto.pbkdf2Sync(mnemonic, salt, PBKDF2_ITERATIONS, AES_KEY_BYTES, 'sha256');
77
+ }
78
+ // ---------------------------------------------------------------------------
79
+ // AES-256-GCM encrypt / decrypt
80
+ // ---------------------------------------------------------------------------
81
+ /**
82
+ * Encrypt a UTF-8 plaintext string with AES-256-GCM.
83
+ *
84
+ * A fresh 12-byte IV is generated for every call. The authentication tag
85
+ * is stored alongside the ciphertext so that any tampering is detected on
86
+ * decryption.
87
+ *
88
+ * @param plaintext - The string to encrypt (private key hex or mnemonic)
89
+ * @param key - 32-byte AES key (output of deriveStorageKey)
90
+ */
91
+ export function encryptSecret(plaintext, key) {
92
+ const iv = crypto.randomBytes(GCM_IV_BYTES);
93
+ const cipher = crypto.createCipheriv('aes-256-gcm', key, iv);
94
+ const ciphertext = Buffer.concat([
95
+ cipher.update(plaintext, 'utf8'),
96
+ cipher.final(),
97
+ ]);
98
+ const tag = cipher.getAuthTag();
99
+ return {
100
+ iv: iv.toString('hex'),
101
+ ciphertext: ciphertext.toString('hex'),
102
+ tag: tag.toString('hex'),
103
+ };
104
+ }
105
+ /**
106
+ * Decrypt an AES-256-GCM ciphertext produced by encryptSecret.
107
+ *
108
+ * Throws if the authentication tag does not match (tamper detection).
109
+ *
110
+ * @param encrypted - EncryptedCiphertext produced by encryptSecret
111
+ * @param key - 32-byte AES key (must match the key used for encryption)
112
+ */
113
+ export function decryptSecret(encrypted, key) {
114
+ const decipher = crypto.createDecipheriv('aes-256-gcm', key, Buffer.from(encrypted.iv, 'hex'));
115
+ decipher.setAuthTag(Buffer.from(encrypted.tag, 'hex'));
116
+ const plaintext = Buffer.concat([
117
+ decipher.update(Buffer.from(encrypted.ciphertext, 'hex')),
118
+ decipher.final(),
119
+ ]);
120
+ return plaintext.toString('utf8');
121
+ }
122
+ // ---------------------------------------------------------------------------
123
+ // Wallet-level encrypt / decrypt
124
+ // ---------------------------------------------------------------------------
125
+ /**
126
+ * Encrypt a wallet's sensitive fields (privateKey and/or mnemonic) using
127
+ * AES-256-GCM with a key derived from the supplied mnemonic + a fresh
128
+ * random salt.
129
+ *
130
+ * The returned wallet has:
131
+ * - privateKey set to undefined
132
+ * - mnemonic set to undefined
133
+ * - encryptedSecrets populated with the ciphertext bundle
134
+ *
135
+ * The in-memory wallet object passed in is not mutated.
136
+ *
137
+ * @param wallet - Wallet whose secrets should be encrypted
138
+ * @param mnemonic - BIP39 mnemonic used as key-derivation material
139
+ */
140
+ export function encryptWalletSecrets(wallet, mnemonic) {
141
+ const salt = crypto.randomBytes(SALT_BYTES);
142
+ const key = deriveStorageKey(mnemonic, salt);
143
+ const bundle = {
144
+ version: 1,
145
+ salt: salt.toString('hex'),
146
+ };
147
+ if (wallet.privateKey) {
148
+ bundle.privateKey = encryptSecret(wallet.privateKey, key);
149
+ }
150
+ if (wallet.mnemonic) {
151
+ bundle.mnemonic = encryptSecret(wallet.mnemonic, key);
152
+ }
153
+ return {
154
+ ...wallet,
155
+ privateKey: undefined,
156
+ mnemonic: undefined,
157
+ encryptedSecrets: bundle,
158
+ };
159
+ }
160
+ /**
161
+ * Decrypt a wallet's EncryptedKeyBundle back into plaintext fields.
162
+ *
163
+ * If the wallet has no encryptedSecrets the wallet is returned unchanged.
164
+ * Throws if the mnemonic is wrong (AES-GCM authentication will fail).
165
+ *
166
+ * @param wallet - Wallet with encryptedSecrets populated
167
+ * @param mnemonic - BIP39 mnemonic used as key-derivation material
168
+ */
169
+ export function decryptWalletSecrets(wallet, mnemonic) {
170
+ if (!wallet.encryptedSecrets) {
171
+ return wallet;
172
+ }
173
+ const { encryptedSecrets } = wallet;
174
+ const salt = Buffer.from(encryptedSecrets.salt, 'hex');
175
+ const key = deriveStorageKey(mnemonic, salt);
176
+ const decrypted = {};
177
+ if (encryptedSecrets.privateKey) {
178
+ decrypted.privateKey = decryptSecret(encryptedSecrets.privateKey, key);
179
+ }
180
+ if (encryptedSecrets.mnemonic) {
181
+ decrypted.mnemonic = decryptSecret(encryptedSecrets.mnemonic, key);
182
+ }
183
+ return { ...wallet, ...decrypted };
184
+ }
185
+ //# sourceMappingURL=wallet-crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-crypto.js","sourceRoot":"","sources":["../../../src/wallet/wallet-crypto.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Handles wallet creation, storage, and retrieval with per-agent isolation.
6
6
  * Phase 5A: Added canister sync functionality.
7
7
  */
8
- import type { WalletData, WalletCreationOptions, WalletStorageOptions } from './types.js';
8
+ import type { WalletData, WalletCreationOptions, WalletStorageOptions, HsmWalletCreationOptions } from './types.js';
9
9
  /**
10
10
  * Create a new wallet
11
11
  *
@@ -23,7 +23,7 @@ export declare function createWallet(options: WalletCreationOptions, storageOpti
23
23
  * @param storageOptions - Storage options
24
24
  * @returns Imported wallet data
25
25
  */
26
- export declare function importWalletFromPrivateKey(agentId: string, chain: string, privateKey: string, storageOptions?: WalletStorageOptions): WalletData;
26
+ export declare function importWalletFromPrivateKey(agentId: string, chain: string, privateKey: string, storageOptions?: WalletStorageOptions, chainMetadata?: Record<string, unknown>): WalletData;
27
27
  /**
28
28
  * Import wallet from seed phrase
29
29
  *
@@ -34,7 +34,7 @@ export declare function importWalletFromPrivateKey(agentId: string, chain: strin
34
34
  * @param storageOptions - Storage options
35
35
  * @returns Imported wallet data
36
36
  */
37
- export declare function importWalletFromSeed(agentId: string, chain: string, seedPhrase: string, derivationPath?: string, storageOptions?: WalletStorageOptions): WalletData;
37
+ export declare function importWalletFromSeed(agentId: string, chain: string, seedPhrase: string, derivationPath?: string, storageOptions?: WalletStorageOptions, chainMetadata?: Record<string, unknown>): WalletData;
38
38
  /**
39
39
  * Import wallet from mnemonic
40
40
  *
@@ -45,7 +45,7 @@ export declare function importWalletFromSeed(agentId: string, chain: string, see
45
45
  * @param storageOptions - Storage options
46
46
  * @returns Imported wallet data
47
47
  */
48
- export declare function importWalletFromMnemonic(agentId: string, chain: string, mnemonic: string, derivationPath?: string, storageOptions?: WalletStorageOptions): WalletData;
48
+ export declare function importWalletFromMnemonic(agentId: string, chain: string, mnemonic: string, derivationPath?: string, storageOptions?: WalletStorageOptions, chainMetadata?: Record<string, unknown>): WalletData;
49
49
  /**
50
50
  * Generate new wallet
51
51
  *
@@ -126,6 +126,26 @@ export declare function clearCachedConnection(agentId: string, walletId: string)
126
126
  * @returns True if valid
127
127
  */
128
128
  export declare function validateSeedPhraseWrapper(seedPhrase: string): boolean;
129
+ /**
130
+ * Create a wallet whose private key is generated and permanently stored inside
131
+ * a hardware secure element (Ledger) or Trusted Execution Environment (SGX).
132
+ *
133
+ * Security guarantees:
134
+ * - The private key is generated inside the secure boundary.
135
+ * - The BIP39 mnemonic never exists in this process (Ledger) or is sealed
136
+ * inside the enclave (SGX).
137
+ * - Only the public key and chain address cross the hardware boundary.
138
+ * - The returned WalletData has privateKey=undefined and mnemonic=undefined.
139
+ *
140
+ * @param options - HSM-specific wallet creation options.
141
+ * @param storageOptions - Where / how to persist the wallet metadata.
142
+ * @returns WalletData with address/publicKey populated, secrets absent.
143
+ *
144
+ * @throws {HsmNotAvailableError} when device / daemon is unreachable.
145
+ * @throws {HsmCurveUnsupportedError} when the chain's curve is unsupported.
146
+ * @throws {HsmOperationError} on device-level failures.
147
+ */
148
+ export declare function createWalletWithHsm(options: HsmWalletCreationOptions, storageOptions?: WalletStorageOptions): Promise<WalletData>;
129
149
  /**
130
150
  * Sync wallet to canister (register wallet metadata)
131
151
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-manager.d.ts","sourceRoot":"","sources":["../../../src/wallet/wallet-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAsDpB;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,qBAAqB,EAC9B,cAAc,GAAE,oBAAyB,GACxC,UAAU,CA+BZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,cAAc,GAAE,oBAAyB,EACzC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,UAAU,CAQZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,GAAE,oBAAyB,EACzC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,UAAU,CASZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,GAAE,oBAAyB,EACzC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,UAAU,CASZ;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,cAAc,GAAE,oBAAyB,GACxC,UAAU,CAGZ;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,cAAc,GAAE,oBAAyB,GACxC,UAAU,GAAG,IAAI,CAEnB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,cAAc,GAAE,oBAAyB,GACxC,MAAM,EAAE,CAEV;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,cAAc,GAAE,oBAAyB,GACxC,OAAO,CAET;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,cAAc,GAAE,oBAAyB,GACxC,IAAI,CAKN;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,cAAc,GAAE,oBAAyB,GACxC,IAAI,CAON;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,GACZ,IAAI,CAEN;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,GAAG,CAEL;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,IAAI,CAEN;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAErE;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,wBAAwB,EACjC,cAAc,GAAE,oBAAyB,GACxC,OAAO,CAAC,UAAU,CAAC,CA+CrB;AAID;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyCtE;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC,CAkB9E;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CAoCD;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,GAAG,EAAE,CAAC,CAchB;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyB/C;AAED;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,EACzC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiC/C"}
@@ -90,12 +90,13 @@ export function createWallet(options, storageOptions = {}) {
90
90
  * @param storageOptions - Storage options
91
91
  * @returns Imported wallet data
92
92
  */
93
- export function importWalletFromPrivateKey(agentId, chain, privateKey, storageOptions = {}) {
93
+ export function importWalletFromPrivateKey(agentId, chain, privateKey, storageOptions = {}, chainMetadata) {
94
94
  return createWallet({
95
95
  agentId,
96
96
  chain: chain,
97
97
  method: 'private-key',
98
98
  privateKey,
99
+ chainMetadata,
99
100
  }, storageOptions);
100
101
  }
101
102
  /**
@@ -108,13 +109,14 @@ export function importWalletFromPrivateKey(agentId, chain, privateKey, storageOp
108
109
  * @param storageOptions - Storage options
109
110
  * @returns Imported wallet data
110
111
  */
111
- export function importWalletFromSeed(agentId, chain, seedPhrase, derivationPath, storageOptions = {}) {
112
+ export function importWalletFromSeed(agentId, chain, seedPhrase, derivationPath, storageOptions = {}, chainMetadata) {
112
113
  return createWallet({
113
114
  agentId,
114
115
  chain: chain,
115
116
  method: 'seed',
116
117
  seedPhrase,
117
118
  derivationPath,
119
+ chainMetadata,
118
120
  }, storageOptions);
119
121
  }
120
122
  /**
@@ -127,13 +129,14 @@ export function importWalletFromSeed(agentId, chain, seedPhrase, derivationPath,
127
129
  * @param storageOptions - Storage options
128
130
  * @returns Imported wallet data
129
131
  */
130
- export function importWalletFromMnemonic(agentId, chain, mnemonic, derivationPath, storageOptions = {}) {
132
+ export function importWalletFromMnemonic(agentId, chain, mnemonic, derivationPath, storageOptions = {}, chainMetadata) {
131
133
  return createWallet({
132
134
  agentId,
133
135
  chain: chain,
134
136
  method: 'mnemonic',
135
137
  seedPhrase: mnemonic,
136
138
  derivationPath,
139
+ chainMetadata,
137
140
  }, storageOptions);
138
141
  }
139
142
  /**
@@ -243,6 +246,70 @@ export function clearCachedConnection(agentId, walletId) {
243
246
  export function validateSeedPhraseWrapper(seedPhrase) {
244
247
  return validateSeedPhrase(seedPhrase);
245
248
  }
249
+ // ==================== HSM / TEE Keygen ====================
250
+ /**
251
+ * Create a wallet whose private key is generated and permanently stored inside
252
+ * a hardware secure element (Ledger) or Trusted Execution Environment (SGX).
253
+ *
254
+ * Security guarantees:
255
+ * - The private key is generated inside the secure boundary.
256
+ * - The BIP39 mnemonic never exists in this process (Ledger) or is sealed
257
+ * inside the enclave (SGX).
258
+ * - Only the public key and chain address cross the hardware boundary.
259
+ * - The returned WalletData has privateKey=undefined and mnemonic=undefined.
260
+ *
261
+ * @param options - HSM-specific wallet creation options.
262
+ * @param storageOptions - Where / how to persist the wallet metadata.
263
+ * @returns WalletData with address/publicKey populated, secrets absent.
264
+ *
265
+ * @throws {HsmNotAvailableError} when device / daemon is unreachable.
266
+ * @throws {HsmCurveUnsupportedError} when the chain's curve is unsupported.
267
+ * @throws {HsmOperationError} on device-level failures.
268
+ */
269
+ export async function createWalletWithHsm(options, storageOptions = {}) {
270
+ const { createHsmProvider } = await import('./hsm/index.js');
271
+ const { getDefaultDerivationPath } = await import('./key-derivation.js');
272
+ // Determine curve from chain
273
+ const chain = options.chain.toLowerCase();
274
+ const isEd25519Chain = ['solana', 'icp', 'arweave'].includes(chain);
275
+ const curve = isEd25519Chain ? 'ed25519' : 'secp256k1';
276
+ const derivationPath = options.derivationPath ?? getDefaultDerivationPath(chain);
277
+ let provider = null;
278
+ try {
279
+ provider = await createHsmProvider(options.hsmBackend, options.hsmOptions ?? {});
280
+ const pubKeyResult = await provider.getPublicKey(derivationPath, curve);
281
+ const deviceId = await provider.deviceId();
282
+ const walletData = {
283
+ id: options.walletId ?? generateWalletId(),
284
+ agentId: options.agentId,
285
+ chain: options.chain,
286
+ address: pubKeyResult.address,
287
+ // No privateKey or mnemonic – they stay inside the hardware boundary.
288
+ privateKey: undefined,
289
+ mnemonic: undefined,
290
+ seedDerivationPath: derivationPath,
291
+ createdAt: Date.now(),
292
+ updatedAt: Date.now(),
293
+ creationMethod: 'hsm',
294
+ chainMetadata: {
295
+ hsm: {
296
+ backend: options.hsmBackend,
297
+ deviceId,
298
+ derivationPath,
299
+ curve,
300
+ createdAt: new Date().toISOString(),
301
+ publicKeyHex: pubKeyResult.publicKeyHex,
302
+ },
303
+ },
304
+ };
305
+ saveWallet(walletData, storageOptions);
306
+ return walletData;
307
+ }
308
+ finally {
309
+ if (provider)
310
+ await provider.close();
311
+ }
312
+ }
246
313
  // ==================== Phase 5A: Canister Sync Functions ====================
247
314
  /**
248
315
  * Sync wallet to canister (register wallet metadata)
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-manager.js","sourceRoot":"","sources":["../../../src/wallet/wallet-manager.ts"],"names":[],"mappings":"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"}
@@ -37,19 +37,27 @@ export declare function getWalletFilePath(agentId: string, walletId: string, opt
37
37
  */
38
38
  export declare function ensureWalletDirectories(agentId: string, options?: WalletStorageOptions): void;
39
39
  /**
40
- * Save wallet to encrypted storage
40
+ * Save wallet to storage, encrypting private keys and mnemonics with
41
+ * AES-256-GCM when options.encryptionKey (a BIP39 mnemonic) is supplied.
41
42
  *
42
- * @param wallet - Wallet data to save
43
- * @param options - Storage options
43
+ * When encryption is active the on-disk CBOR file will contain an
44
+ * `encryptedSecrets` bundle and the plaintext `privateKey` / `mnemonic`
45
+ * fields will be absent, ensuring no sensitive material is committed to
46
+ * the canister or filesystem in cleartext.
47
+ *
48
+ * @param wallet - Wallet data to save
49
+ * @param options - Storage options; supply `encryptionKey` to enable at-rest
50
+ * encryption of private keys / mnemonics
44
51
  */
45
52
  export declare function saveWallet(wallet: WalletData, options?: WalletStorageOptions): void;
46
53
  /**
47
- * Load wallet from storage
54
+ * Load wallet from storage, decrypting secrets when options.encryptionKey
55
+ * is supplied and the wallet contains an encrypted bundle.
48
56
  *
49
- * @param agentId - Agent ID
57
+ * @param agentId - Agent ID
50
58
  * @param walletId - Wallet ID
51
- * @param options - Storage options
52
- * @returns Loaded wallet data or null if not found
59
+ * @param options - Storage options; supply `encryptionKey` to decrypt secrets
60
+ * @returns Loaded (and optionally decrypted) wallet data, or null if not found
53
61
  */
54
62
  export declare function loadWallet(agentId: string, walletId: string, options?: WalletStorageOptions): WalletData | null;
55
63
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-storage.d.ts","sourceRoot":"","sources":["../../../src/wallet/wallet-storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,CAG3E;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,oBAAyB,GACjC,MAAM,CAIR;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,oBAAyB,GACjC,MAAM,CAIR;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,oBAAyB,GACjC,IAAI,CAMN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,oBAAyB,GACjC,IAAI,CAiBN;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,oBAAyB,GACjC,UAAU,GAAG,IAAI,CAoBnB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,oBAAyB,GACjC,IAAI,CAON;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,oBAAyB,GACjC,MAAM,EAAE,CAiBV;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,EAAE,CAkBvE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAGT;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,oBAAyB,GACjC;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;CACf,GAAG,IAAI,CAcP;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,oBAAyB,GACjC,IAAI,CAoBN;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,oBAAyB,GACjC,IAAI,CAmBN;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,oBAAyB,GACjC,IAAI,CAaN;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,oBAAyB,GACjC,MAAM,CAmBR"}
@@ -7,7 +7,9 @@
7
7
  import * as fs from 'node:fs';
8
8
  import * as path from 'node:path';
9
9
  import * as os from 'node:os';
10
- import { serializeWallet, deserializeWallet, validateCborData, } from './cbor-serializer.js';
10
+ import { serializeWallet, deserializeWallet, } from './cbor-serializer.js';
11
+ import { encryptWalletSecrets, decryptWalletSecrets, } from './wallet-crypto.js';
12
+ import { sanitizePathPart, atomicWriteFileSync, } from '../utils/path-validation.js';
11
13
  /**
12
14
  * Get base directory for wallet storage
13
15
  *
@@ -27,7 +29,8 @@ export function getWalletBaseDir(options = {}) {
27
29
  */
28
30
  export function getAgentWalletDir(agentId, options = {}) {
29
31
  const baseDir = getWalletBaseDir(options);
30
- return path.join(baseDir, agentId);
32
+ // SEC-12: reject `..`, separators, NUL, etc. before joining
33
+ return path.join(baseDir, sanitizePathPart(agentId));
31
34
  }
32
35
  /**
33
36
  * Get wallet file path
@@ -39,7 +42,8 @@ export function getAgentWalletDir(agentId, options = {}) {
39
42
  */
40
43
  export function getWalletFilePath(agentId, walletId, options = {}) {
41
44
  const agentDir = getAgentWalletDir(agentId, options);
42
- return path.join(agentDir, `${walletId}.wallet`);
45
+ // SEC-12: walletId is also user-supplied
46
+ return path.join(agentDir, `${sanitizePathPart(walletId)}.wallet`);
43
47
  }
44
48
  /**
45
49
  * Ensure wallet directories exist
@@ -54,28 +58,40 @@ export function ensureWalletDirectories(agentId, options = {}) {
54
58
  }
55
59
  }
56
60
  /**
57
- * Save wallet to encrypted storage
61
+ * Save wallet to storage, encrypting private keys and mnemonics with
62
+ * AES-256-GCM when options.encryptionKey (a BIP39 mnemonic) is supplied.
58
63
  *
59
- * @param wallet - Wallet data to save
60
- * @param options - Storage options
64
+ * When encryption is active the on-disk CBOR file will contain an
65
+ * `encryptedSecrets` bundle and the plaintext `privateKey` / `mnemonic`
66
+ * fields will be absent, ensuring no sensitive material is committed to
67
+ * the canister or filesystem in cleartext.
68
+ *
69
+ * @param wallet - Wallet data to save
70
+ * @param options - Storage options; supply `encryptionKey` to enable at-rest
71
+ * encryption of private keys / mnemonics
61
72
  */
62
73
  export function saveWallet(wallet, options = {}) {
63
74
  // Ensure directories exist
64
75
  ensureWalletDirectories(wallet.agentId, options);
76
+ // Encrypt sensitive fields when a key is available
77
+ const walletToStore = options.encryptionKey
78
+ ? encryptWalletSecrets(wallet, options.encryptionKey)
79
+ : wallet;
65
80
  // Serialize wallet to CBOR
66
- const serialized = serializeWallet(wallet);
81
+ const serialized = serializeWallet(walletToStore);
67
82
  // Get wallet file path
68
83
  const walletPath = getWalletFilePath(wallet.agentId, wallet.id, options);
69
- // Write wallet file
70
- fs.writeFileSync(walletPath, Buffer.from(serialized));
84
+ // SEC-17: atomic write so a crash mid-flight doesn't corrupt the wallet
85
+ atomicWriteFileSync(walletPath, Buffer.from(serialized), { mode: 0o600 });
71
86
  }
72
87
  /**
73
- * Load wallet from storage
88
+ * Load wallet from storage, decrypting secrets when options.encryptionKey
89
+ * is supplied and the wallet contains an encrypted bundle.
74
90
  *
75
- * @param agentId - Agent ID
91
+ * @param agentId - Agent ID
76
92
  * @param walletId - Wallet ID
77
- * @param options - Storage options
78
- * @returns Loaded wallet data or null if not found
93
+ * @param options - Storage options; supply `encryptionKey` to decrypt secrets
94
+ * @returns Loaded (and optionally decrypted) wallet data, or null if not found
79
95
  */
80
96
  export function loadWallet(agentId, walletId, options = {}) {
81
97
  const walletPath = getWalletFilePath(agentId, walletId, options);
@@ -85,12 +101,12 @@ export function loadWallet(agentId, walletId, options = {}) {
85
101
  }
86
102
  // Read wallet file
87
103
  const data = fs.readFileSync(walletPath);
88
- // Validate CBOR data
89
- if (!validateCborData(new Uint8Array(data))) {
90
- throw new Error(`Invalid wallet data: ${walletId}`);
91
- }
92
- // Deserialize wallet
104
+ // Deserialize wallet (validation is done inside deserializeWallet)
93
105
  const wallet = deserializeWallet(new Uint8Array(data));
106
+ // Decrypt secrets when a key is present
107
+ if (options.encryptionKey && wallet.encryptedSecrets) {
108
+ return decryptWalletSecrets(wallet, options.encryptionKey);
109
+ }
94
110
  return wallet;
95
111
  }
96
112
  /**