@xylabs/aries 0.1.1

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 (421) hide show
  1. package/README.md +693 -0
  2. package/dist/actions/audit/auditPaths.mjs +22 -0
  3. package/dist/actions/audit/auditPaths.mjs.map +1 -0
  4. package/dist/actions/audit/index.mjs +739 -0
  5. package/dist/actions/audit/index.mjs.map +1 -0
  6. package/dist/actions/audit/installPlugin.mjs +298 -0
  7. package/dist/actions/audit/installPlugin.mjs.map +1 -0
  8. package/dist/actions/audit/listSessions.mjs +93 -0
  9. package/dist/actions/audit/listSessions.mjs.map +1 -0
  10. package/dist/actions/audit/openAuditDir.mjs +44 -0
  11. package/dist/actions/audit/openAuditDir.mjs.map +1 -0
  12. package/dist/actions/audit/searchAudit.mjs +77 -0
  13. package/dist/actions/audit/searchAudit.mjs.map +1 -0
  14. package/dist/actions/audit/showAiMeta.mjs +105 -0
  15. package/dist/actions/audit/showAiMeta.mjs.map +1 -0
  16. package/dist/actions/audit/showSession.mjs +105 -0
  17. package/dist/actions/audit/showSession.mjs.map +1 -0
  18. package/dist/actions/audit/statusAudit.mjs +98 -0
  19. package/dist/actions/audit/statusAudit.mjs.map +1 -0
  20. package/dist/actions/clamp/clampAudit.mjs +53 -0
  21. package/dist/actions/clamp/clampAudit.mjs.map +1 -0
  22. package/dist/actions/clamp/index.mjs +2258 -0
  23. package/dist/actions/clamp/index.mjs.map +1 -0
  24. package/dist/actions/clamp/ipcServer.mjs +55 -0
  25. package/dist/actions/clamp/ipcServer.mjs.map +1 -0
  26. package/dist/actions/clamp/policyManagement.mjs +144 -0
  27. package/dist/actions/clamp/policyManagement.mjs.map +1 -0
  28. package/dist/actions/clamp/promptUser.mjs +91 -0
  29. package/dist/actions/clamp/promptUser.mjs.map +1 -0
  30. package/dist/actions/clamp/runClamped.mjs +2107 -0
  31. package/dist/actions/clamp/runClamped.mjs.map +1 -0
  32. package/dist/actions/clamp/sandboxExec.mjs +1612 -0
  33. package/dist/actions/clamp/sandboxExec.mjs.map +1 -0
  34. package/dist/actions/clamp/shellEnvSetup.mjs +59 -0
  35. package/dist/actions/clamp/shellEnvSetup.mjs.map +1 -0
  36. package/dist/actions/clamp/shimGenerator.mjs +68 -0
  37. package/dist/actions/clamp/shimGenerator.mjs.map +1 -0
  38. package/dist/actions/clamp/terminalRenderer.mjs +145 -0
  39. package/dist/actions/clamp/terminalRenderer.mjs.map +1 -0
  40. package/dist/actions/datalake/audit/auditLog.mjs +191 -0
  41. package/dist/actions/datalake/audit/auditLog.mjs.map +1 -0
  42. package/dist/actions/datalake/createDatalake.mjs +127 -0
  43. package/dist/actions/datalake/createDatalake.mjs.map +1 -0
  44. package/dist/actions/datalake/describeDatalake.mjs +159 -0
  45. package/dist/actions/datalake/describeDatalake.mjs.map +1 -0
  46. package/dist/actions/datalake/destroyDatalake.mjs +34 -0
  47. package/dist/actions/datalake/destroyDatalake.mjs.map +1 -0
  48. package/dist/actions/datalake/dev/downDevServer.mjs +102 -0
  49. package/dist/actions/datalake/dev/downDevServer.mjs.map +1 -0
  50. package/dist/actions/datalake/dev/index.mjs +369 -0
  51. package/dist/actions/datalake/dev/index.mjs.map +1 -0
  52. package/dist/actions/datalake/dev/logsDevServer.mjs +44 -0
  53. package/dist/actions/datalake/dev/logsDevServer.mjs.map +1 -0
  54. package/dist/actions/datalake/dev/paths.mjs +25 -0
  55. package/dist/actions/datalake/dev/paths.mjs.map +1 -0
  56. package/dist/actions/datalake/dev/resetDevServer.mjs +118 -0
  57. package/dist/actions/datalake/dev/resetDevServer.mjs.map +1 -0
  58. package/dist/actions/datalake/dev/resolveServerBin.mjs +26 -0
  59. package/dist/actions/datalake/dev/resolveServerBin.mjs.map +1 -0
  60. package/dist/actions/datalake/dev/state.mjs +62 -0
  61. package/dist/actions/datalake/dev/state.mjs.map +1 -0
  62. package/dist/actions/datalake/dev/statusDevServer.mjs +101 -0
  63. package/dist/actions/datalake/dev/statusDevServer.mjs.map +1 -0
  64. package/dist/actions/datalake/dev/upDevServer.mjs +221 -0
  65. package/dist/actions/datalake/dev/upDevServer.mjs.map +1 -0
  66. package/dist/actions/datalake/dev/waitForHealth.mjs +22 -0
  67. package/dist/actions/datalake/dev/waitForHealth.mjs.map +1 -0
  68. package/dist/actions/datalake/formatters.mjs +90 -0
  69. package/dist/actions/datalake/formatters.mjs.map +1 -0
  70. package/dist/actions/datalake/grantAccess.mjs +116 -0
  71. package/dist/actions/datalake/grantAccess.mjs.map +1 -0
  72. package/dist/actions/datalake/index.mjs +361 -0
  73. package/dist/actions/datalake/index.mjs.map +1 -0
  74. package/dist/actions/datalake/listDatalakes.mjs +54 -0
  75. package/dist/actions/datalake/listDatalakes.mjs.map +1 -0
  76. package/dist/actions/datalake/login.mjs +20 -0
  77. package/dist/actions/datalake/login.mjs.map +1 -0
  78. package/dist/actions/datalake/logout.mjs +11 -0
  79. package/dist/actions/datalake/logout.mjs.map +1 -0
  80. package/dist/actions/datalake/mintToken.mjs +37 -0
  81. package/dist/actions/datalake/mintToken.mjs.map +1 -0
  82. package/dist/actions/datalake/parseSize.mjs +21 -0
  83. package/dist/actions/datalake/parseSize.mjs.map +1 -0
  84. package/dist/actions/datalake/payloads/fetchPayload.mjs +76 -0
  85. package/dist/actions/datalake/payloads/fetchPayload.mjs.map +1 -0
  86. package/dist/actions/datalake/payloads/index.mjs +271 -0
  87. package/dist/actions/datalake/payloads/index.mjs.map +1 -0
  88. package/dist/actions/datalake/payloads/mintAndConnect.mjs +46 -0
  89. package/dist/actions/datalake/payloads/mintAndConnect.mjs.map +1 -0
  90. package/dist/actions/datalake/payloads/parsePayloadsFile.mjs +71 -0
  91. package/dist/actions/datalake/payloads/parsePayloadsFile.mjs.map +1 -0
  92. package/dist/actions/datalake/payloads/pushPayloads.mjs +181 -0
  93. package/dist/actions/datalake/payloads/pushPayloads.mjs.map +1 -0
  94. package/dist/actions/datalake/payloads/tailPayloads.mjs +106 -0
  95. package/dist/actions/datalake/payloads/tailPayloads.mjs.map +1 -0
  96. package/dist/actions/datalake/resolveTarget.mjs +15 -0
  97. package/dist/actions/datalake/resolveTarget.mjs.map +1 -0
  98. package/dist/actions/datalake/revokeAccess.mjs +108 -0
  99. package/dist/actions/datalake/revokeAccess.mjs.map +1 -0
  100. package/dist/actions/datalake/useDatalake.mjs +22 -0
  101. package/dist/actions/datalake/useDatalake.mjs.map +1 -0
  102. package/dist/actions/detect/detectAiClients.mjs +405 -0
  103. package/dist/actions/detect/detectAiClients.mjs.map +1 -0
  104. package/dist/actions/detect/index.mjs +405 -0
  105. package/dist/actions/detect/index.mjs.map +1 -0
  106. package/dist/actions/hash/algorithms/blockhash.mjs +61 -0
  107. package/dist/actions/hash/algorithms/blockhash.mjs.map +1 -0
  108. package/dist/actions/hash/algorithms/chromaprint.mjs +205 -0
  109. package/dist/actions/hash/algorithms/chromaprint.mjs.map +1 -0
  110. package/dist/actions/hash/algorithms/dhash.mjs +75 -0
  111. package/dist/actions/hash/algorithms/dhash.mjs.map +1 -0
  112. package/dist/actions/hash/algorithms/index.mjs +818 -0
  113. package/dist/actions/hash/algorithms/index.mjs.map +1 -0
  114. package/dist/actions/hash/algorithms/nilsimsa.mjs +27 -0
  115. package/dist/actions/hash/algorithms/nilsimsa.mjs.map +1 -0
  116. package/dist/actions/hash/algorithms/pdq.mjs +83 -0
  117. package/dist/actions/hash/algorithms/pdq.mjs.map +1 -0
  118. package/dist/actions/hash/algorithms/phash.mjs +71 -0
  119. package/dist/actions/hash/algorithms/phash.mjs.map +1 -0
  120. package/dist/actions/hash/algorithms/sha256.mjs +24 -0
  121. package/dist/actions/hash/algorithms/sha256.mjs.map +1 -0
  122. package/dist/actions/hash/algorithms/ssdeep.mjs +203 -0
  123. package/dist/actions/hash/algorithms/ssdeep.mjs.map +1 -0
  124. package/dist/actions/hash/algorithms/tlsh.mjs +66 -0
  125. package/dist/actions/hash/algorithms/tlsh.mjs.map +1 -0
  126. package/dist/actions/hash/algorithms/types.mjs +1 -0
  127. package/dist/actions/hash/algorithms/types.mjs.map +1 -0
  128. package/dist/actions/hash/algorithms/videoFrames.mjs +404 -0
  129. package/dist/actions/hash/algorithms/videoFrames.mjs.map +1 -0
  130. package/dist/actions/hash/algorithms/xyo.mjs +30 -0
  131. package/dist/actions/hash/algorithms/xyo.mjs.map +1 -0
  132. package/dist/actions/hash/compareHashes.mjs +823 -0
  133. package/dist/actions/hash/compareHashes.mjs.map +1 -0
  134. package/dist/actions/hash/hashInput.mjs +868 -0
  135. package/dist/actions/hash/hashInput.mjs.map +1 -0
  136. package/dist/actions/hash/index.mjs +881 -0
  137. package/dist/actions/hash/index.mjs.map +1 -0
  138. package/dist/actions/hash/lib/hamming.mjs +44 -0
  139. package/dist/actions/hash/lib/hamming.mjs.map +1 -0
  140. package/dist/actions/hash/lib/levenshtein.mjs +36 -0
  141. package/dist/actions/hash/lib/levenshtein.mjs.map +1 -0
  142. package/dist/actions/hash/lib/runBinary.mjs +54 -0
  143. package/dist/actions/hash/lib/runBinary.mjs.map +1 -0
  144. package/dist/actions/hash/lib/which.mjs +36 -0
  145. package/dist/actions/hash/lib/which.mjs.map +1 -0
  146. package/dist/actions/hash/lib/withTempfile.mjs +19 -0
  147. package/dist/actions/hash/lib/withTempfile.mjs.map +1 -0
  148. package/dist/actions/index.mjs +4615 -0
  149. package/dist/actions/index.mjs.map +1 -0
  150. package/dist/actions/printVersion.mjs +12 -0
  151. package/dist/actions/printVersion.mjs.map +1 -0
  152. package/dist/actions/sync/index.mjs +51 -0
  153. package/dist/actions/sync/index.mjs.map +1 -0
  154. package/dist/actions/sync/syncAiConfig.mjs +51 -0
  155. package/dist/actions/sync/syncAiConfig.mjs.map +1 -0
  156. package/dist/actions/wallet/account/deriveAndAdd.mjs +394 -0
  157. package/dist/actions/wallet/account/deriveAndAdd.mjs.map +1 -0
  158. package/dist/actions/wallet/account/getActiveWallet.mjs +338 -0
  159. package/dist/actions/wallet/account/getActiveWallet.mjs.map +1 -0
  160. package/dist/actions/wallet/account/labelAccount.mjs +389 -0
  161. package/dist/actions/wallet/account/labelAccount.mjs.map +1 -0
  162. package/dist/actions/wallet/account/listAccounts.mjs +374 -0
  163. package/dist/actions/wallet/account/listAccounts.mjs.map +1 -0
  164. package/dist/actions/wallet/account/removeAccount.mjs +384 -0
  165. package/dist/actions/wallet/account/removeAccount.mjs.map +1 -0
  166. package/dist/actions/wallet/account/showAccount.mjs +368 -0
  167. package/dist/actions/wallet/account/showAccount.mjs.map +1 -0
  168. package/dist/actions/wallet/addressBook/storage.mjs +110 -0
  169. package/dist/actions/wallet/addressBook/storage.mjs.map +1 -0
  170. package/dist/actions/wallet/backup/exportBackup.mjs +93 -0
  171. package/dist/actions/wallet/backup/exportBackup.mjs.map +1 -0
  172. package/dist/actions/wallet/backup/importBackup.mjs +142 -0
  173. package/dist/actions/wallet/backup/importBackup.mjs.map +1 -0
  174. package/dist/actions/wallet/balance/getBalance.mjs +434 -0
  175. package/dist/actions/wallet/balance/getBalance.mjs.map +1 -0
  176. package/dist/actions/wallet/client/walletClient.mjs +64 -0
  177. package/dist/actions/wallet/client/walletClient.mjs.map +1 -0
  178. package/dist/actions/wallet/contact/contactActions.mjs +120 -0
  179. package/dist/actions/wallet/contact/contactActions.mjs.map +1 -0
  180. package/dist/actions/wallet/contact/storage.mjs +69 -0
  181. package/dist/actions/wallet/contact/storage.mjs.map +1 -0
  182. package/dist/actions/wallet/index.mjs +1439 -0
  183. package/dist/actions/wallet/index.mjs.map +1 -0
  184. package/dist/actions/wallet/network/networkActions.mjs +137 -0
  185. package/dist/actions/wallet/network/networkActions.mjs.map +1 -0
  186. package/dist/actions/wallet/network/storage.mjs +93 -0
  187. package/dist/actions/wallet/network/storage.mjs.map +1 -0
  188. package/dist/actions/wallet/password/changePassword.mjs +282 -0
  189. package/dist/actions/wallet/password/changePassword.mjs.map +1 -0
  190. package/dist/actions/wallet/password/getActiveKey.mjs +297 -0
  191. package/dist/actions/wallet/password/getActiveKey.mjs.map +1 -0
  192. package/dist/actions/wallet/password/initOrUnlock.mjs +337 -0
  193. package/dist/actions/wallet/password/initOrUnlock.mjs.map +1 -0
  194. package/dist/actions/wallet/password/passwordStorage.mjs +69 -0
  195. package/dist/actions/wallet/password/passwordStorage.mjs.map +1 -0
  196. package/dist/actions/wallet/password/setPassword.mjs +138 -0
  197. package/dist/actions/wallet/password/setPassword.mjs.map +1 -0
  198. package/dist/actions/wallet/password/validatePassword.mjs +123 -0
  199. package/dist/actions/wallet/password/validatePassword.mjs.map +1 -0
  200. package/dist/actions/wallet/passwordKey.mjs +87 -0
  201. package/dist/actions/wallet/passwordKey.mjs.map +1 -0
  202. package/dist/actions/wallet/paths.mjs +26 -0
  203. package/dist/actions/wallet/paths.mjs.map +1 -0
  204. package/dist/actions/wallet/prompt.mjs +93 -0
  205. package/dist/actions/wallet/prompt.mjs.map +1 -0
  206. package/dist/actions/wallet/seedPhrase/createPhrase.mjs +392 -0
  207. package/dist/actions/wallet/seedPhrase/createPhrase.mjs.map +1 -0
  208. package/dist/actions/wallet/seedPhrase/exportPhrase.mjs +334 -0
  209. package/dist/actions/wallet/seedPhrase/exportPhrase.mjs.map +1 -0
  210. package/dist/actions/wallet/seedPhrase/idGen.mjs +11 -0
  211. package/dist/actions/wallet/seedPhrase/idGen.mjs.map +1 -0
  212. package/dist/actions/wallet/seedPhrase/importPhrase.mjs +393 -0
  213. package/dist/actions/wallet/seedPhrase/importPhrase.mjs.map +1 -0
  214. package/dist/actions/wallet/seedPhrase/listPhrases.mjs +62 -0
  215. package/dist/actions/wallet/seedPhrase/listPhrases.mjs.map +1 -0
  216. package/dist/actions/wallet/seedPhrase/phraseStorage.mjs +89 -0
  217. package/dist/actions/wallet/seedPhrase/phraseStorage.mjs.map +1 -0
  218. package/dist/actions/wallet/seedPhrase/removePhrase.mjs +366 -0
  219. package/dist/actions/wallet/seedPhrase/removePhrase.mjs.map +1 -0
  220. package/dist/actions/wallet/seedPhrase/renamePhrase.mjs +78 -0
  221. package/dist/actions/wallet/seedPhrase/renamePhrase.mjs.map +1 -0
  222. package/dist/actions/wallet/seedPhrase/types.mjs +1 -0
  223. package/dist/actions/wallet/seedPhrase/types.mjs.map +1 -0
  224. package/dist/actions/wallet/seedPhrase/usePhrase.mjs +83 -0
  225. package/dist/actions/wallet/seedPhrase/usePhrase.mjs.map +1 -0
  226. package/dist/actions/wallet/session/machineId.mjs +145 -0
  227. package/dist/actions/wallet/session/machineId.mjs.map +1 -0
  228. package/dist/actions/wallet/session/sessionCache.mjs +221 -0
  229. package/dist/actions/wallet/session/sessionCache.mjs.map +1 -0
  230. package/dist/actions/wallet/session/unlock.mjs +307 -0
  231. package/dist/actions/wallet/session/unlock.mjs.map +1 -0
  232. package/dist/actions/wallet/sign/signPayload.mjs +637 -0
  233. package/dist/actions/wallet/sign/signPayload.mjs.map +1 -0
  234. package/dist/actions/wallet/storage.mjs +51 -0
  235. package/dist/actions/wallet/storage.mjs.map +1 -0
  236. package/dist/actions/wallet/transaction/broadcastTransaction.mjs +453 -0
  237. package/dist/actions/wallet/transaction/broadcastTransaction.mjs.map +1 -0
  238. package/dist/actions/wallet/transaction/sendTransaction.mjs +457 -0
  239. package/dist/actions/wallet/transaction/sendTransaction.mjs.map +1 -0
  240. package/dist/actions/wallet/transaction/signTransactionFile.mjs +378 -0
  241. package/dist/actions/wallet/transaction/signTransactionFile.mjs.map +1 -0
  242. package/dist/actions/xyo/index.mjs +138 -0
  243. package/dist/actions/xyo/index.mjs.map +1 -0
  244. package/dist/actions/xyo/transaction/index.mjs +138 -0
  245. package/dist/actions/xyo/transaction/index.mjs.map +1 -0
  246. package/dist/actions/xyo/transaction/validateTransactions.mjs +138 -0
  247. package/dist/actions/xyo/transaction/validateTransactions.mjs.map +1 -0
  248. package/dist/aries.mjs +8466 -0
  249. package/dist/aries.mjs.map +1 -0
  250. package/dist/bin/aries.mjs +8472 -0
  251. package/dist/bin/aries.mjs.map +1 -0
  252. package/dist/commands/aiCommand.mjs +492 -0
  253. package/dist/commands/aiCommand.mjs.map +1 -0
  254. package/dist/commands/auditAiCommand.mjs +119 -0
  255. package/dist/commands/auditAiCommand.mjs.map +1 -0
  256. package/dist/commands/auditCommand.mjs +857 -0
  257. package/dist/commands/auditCommand.mjs.map +1 -0
  258. package/dist/commands/auditInstallCommand.mjs +324 -0
  259. package/dist/commands/auditInstallCommand.mjs.map +1 -0
  260. package/dist/commands/auditListCommand.mjs +107 -0
  261. package/dist/commands/auditListCommand.mjs.map +1 -0
  262. package/dist/commands/auditOpenCommand.mjs +51 -0
  263. package/dist/commands/auditOpenCommand.mjs.map +1 -0
  264. package/dist/commands/auditSearchCommand.mjs +98 -0
  265. package/dist/commands/auditSearchCommand.mjs.map +1 -0
  266. package/dist/commands/auditShowCommand.mjs +123 -0
  267. package/dist/commands/auditShowCommand.mjs.map +1 -0
  268. package/dist/commands/auditStatusCommand.mjs +105 -0
  269. package/dist/commands/auditStatusCommand.mjs.map +1 -0
  270. package/dist/commands/clampCommand.mjs +2328 -0
  271. package/dist/commands/clampCommand.mjs.map +1 -0
  272. package/dist/commands/clampPolicyCommand.mjs +184 -0
  273. package/dist/commands/clampPolicyCommand.mjs.map +1 -0
  274. package/dist/commands/clampPolicyInitCommand.mjs +63 -0
  275. package/dist/commands/clampPolicyInitCommand.mjs.map +1 -0
  276. package/dist/commands/clampPolicyListCommand.mjs +56 -0
  277. package/dist/commands/clampPolicyListCommand.mjs.map +1 -0
  278. package/dist/commands/clampPolicyShowCommand.mjs +83 -0
  279. package/dist/commands/clampPolicyShowCommand.mjs.map +1 -0
  280. package/dist/commands/clampRunCommand.mjs +2137 -0
  281. package/dist/commands/clampRunCommand.mjs.map +1 -0
  282. package/dist/commands/datalakeAuditCommand.mjs +273 -0
  283. package/dist/commands/datalakeAuditCommand.mjs.map +1 -0
  284. package/dist/commands/datalakeCommand.mjs +1637 -0
  285. package/dist/commands/datalakeCommand.mjs.map +1 -0
  286. package/dist/commands/datalakeCreateCommand.mjs +189 -0
  287. package/dist/commands/datalakeCreateCommand.mjs.map +1 -0
  288. package/dist/commands/datalakeDescribeCommand.mjs +172 -0
  289. package/dist/commands/datalakeDescribeCommand.mjs.map +1 -0
  290. package/dist/commands/datalakeDestroyCommand.mjs +53 -0
  291. package/dist/commands/datalakeDestroyCommand.mjs.map +1 -0
  292. package/dist/commands/datalakeDevCommand.mjs +470 -0
  293. package/dist/commands/datalakeDevCommand.mjs.map +1 -0
  294. package/dist/commands/datalakeDevDownCommand.mjs +111 -0
  295. package/dist/commands/datalakeDevDownCommand.mjs.map +1 -0
  296. package/dist/commands/datalakeDevLogsCommand.mjs +65 -0
  297. package/dist/commands/datalakeDevLogsCommand.mjs.map +1 -0
  298. package/dist/commands/datalakeDevResetCommand.mjs +125 -0
  299. package/dist/commands/datalakeDevResetCommand.mjs.map +1 -0
  300. package/dist/commands/datalakeDevStatusCommand.mjs +110 -0
  301. package/dist/commands/datalakeDevStatusCommand.mjs.map +1 -0
  302. package/dist/commands/datalakeDevUpCommand.mjs +268 -0
  303. package/dist/commands/datalakeDevUpCommand.mjs.map +1 -0
  304. package/dist/commands/datalakeFetchCommand.mjs +106 -0
  305. package/dist/commands/datalakeFetchCommand.mjs.map +1 -0
  306. package/dist/commands/datalakeGrantCommand.mjs +147 -0
  307. package/dist/commands/datalakeGrantCommand.mjs.map +1 -0
  308. package/dist/commands/datalakeListCommand.mjs +61 -0
  309. package/dist/commands/datalakeListCommand.mjs.map +1 -0
  310. package/dist/commands/datalakeLoginCommand.mjs +39 -0
  311. package/dist/commands/datalakeLoginCommand.mjs.map +1 -0
  312. package/dist/commands/datalakeLogoutCommand.mjs +20 -0
  313. package/dist/commands/datalakeLogoutCommand.mjs.map +1 -0
  314. package/dist/commands/datalakePushCommand.mjs +214 -0
  315. package/dist/commands/datalakePushCommand.mjs.map +1 -0
  316. package/dist/commands/datalakeRevokeCommand.mjs +127 -0
  317. package/dist/commands/datalakeRevokeCommand.mjs.map +1 -0
  318. package/dist/commands/datalakeTailCommand.mjs +144 -0
  319. package/dist/commands/datalakeTailCommand.mjs.map +1 -0
  320. package/dist/commands/datalakeTokenCommand.mjs +61 -0
  321. package/dist/commands/datalakeTokenCommand.mjs.map +1 -0
  322. package/dist/commands/datalakeUseCommand.mjs +35 -0
  323. package/dist/commands/datalakeUseCommand.mjs.map +1 -0
  324. package/dist/commands/detectCommand.mjs +419 -0
  325. package/dist/commands/detectCommand.mjs.map +1 -0
  326. package/dist/commands/hashCommand.mjs +976 -0
  327. package/dist/commands/hashCommand.mjs.map +1 -0
  328. package/dist/commands/hashCompareCommand.mjs +865 -0
  329. package/dist/commands/hashCompareCommand.mjs.map +1 -0
  330. package/dist/commands/index.mjs +8461 -0
  331. package/dist/commands/index.mjs.map +1 -0
  332. package/dist/commands/syncCommand.mjs +66 -0
  333. package/dist/commands/syncCommand.mjs.map +1 -0
  334. package/dist/commands/versionCommand.mjs +24 -0
  335. package/dist/commands/versionCommand.mjs.map +1 -0
  336. package/dist/commands/walletAccountCommand.mjs +536 -0
  337. package/dist/commands/walletAccountCommand.mjs.map +1 -0
  338. package/dist/commands/walletAccountDeriveCommand.mjs +415 -0
  339. package/dist/commands/walletAccountDeriveCommand.mjs.map +1 -0
  340. package/dist/commands/walletAccountLabelCommand.mjs +405 -0
  341. package/dist/commands/walletAccountLabelCommand.mjs.map +1 -0
  342. package/dist/commands/walletAccountListCommand.mjs +381 -0
  343. package/dist/commands/walletAccountListCommand.mjs.map +1 -0
  344. package/dist/commands/walletAccountRemoveCommand.mjs +396 -0
  345. package/dist/commands/walletAccountRemoveCommand.mjs.map +1 -0
  346. package/dist/commands/walletAccountShowCommand.mjs +380 -0
  347. package/dist/commands/walletAccountShowCommand.mjs.map +1 -0
  348. package/dist/commands/walletBackupCommand.mjs +222 -0
  349. package/dist/commands/walletBackupCommand.mjs.map +1 -0
  350. package/dist/commands/walletBackupExportCommand.mjs +107 -0
  351. package/dist/commands/walletBackupExportCommand.mjs.map +1 -0
  352. package/dist/commands/walletBackupImportCommand.mjs +154 -0
  353. package/dist/commands/walletBackupImportCommand.mjs.map +1 -0
  354. package/dist/commands/walletBalanceCommand.mjs +448 -0
  355. package/dist/commands/walletBalanceCommand.mjs.map +1 -0
  356. package/dist/commands/walletCommand.mjs +1968 -0
  357. package/dist/commands/walletCommand.mjs.map +1 -0
  358. package/dist/commands/walletContactAddCommand.mjs +111 -0
  359. package/dist/commands/walletContactAddCommand.mjs.map +1 -0
  360. package/dist/commands/walletContactCommand.mjs +184 -0
  361. package/dist/commands/walletContactCommand.mjs.map +1 -0
  362. package/dist/commands/walletContactListCommand.mjs +66 -0
  363. package/dist/commands/walletContactListCommand.mjs.map +1 -0
  364. package/dist/commands/walletContactRemoveCommand.mjs +97 -0
  365. package/dist/commands/walletContactRemoveCommand.mjs.map +1 -0
  366. package/dist/commands/walletContactRenameCommand.mjs +114 -0
  367. package/dist/commands/walletContactRenameCommand.mjs.map +1 -0
  368. package/dist/commands/walletCreateCommand.mjs +407 -0
  369. package/dist/commands/walletCreateCommand.mjs.map +1 -0
  370. package/dist/commands/walletExportCommand.mjs +345 -0
  371. package/dist/commands/walletExportCommand.mjs.map +1 -0
  372. package/dist/commands/walletImportCommand.mjs +413 -0
  373. package/dist/commands/walletImportCommand.mjs.map +1 -0
  374. package/dist/commands/walletListCommand.mjs +69 -0
  375. package/dist/commands/walletListCommand.mjs.map +1 -0
  376. package/dist/commands/walletLockCommand.mjs +56 -0
  377. package/dist/commands/walletLockCommand.mjs.map +1 -0
  378. package/dist/commands/walletNetworkAddCommand.mjs +131 -0
  379. package/dist/commands/walletNetworkAddCommand.mjs.map +1 -0
  380. package/dist/commands/walletNetworkCommand.mjs +206 -0
  381. package/dist/commands/walletNetworkCommand.mjs.map +1 -0
  382. package/dist/commands/walletNetworkListCommand.mjs +104 -0
  383. package/dist/commands/walletNetworkListCommand.mjs.map +1 -0
  384. package/dist/commands/walletNetworkRemoveCommand.mjs +112 -0
  385. package/dist/commands/walletNetworkRemoveCommand.mjs.map +1 -0
  386. package/dist/commands/walletNetworkUseCommand.mjs +110 -0
  387. package/dist/commands/walletNetworkUseCommand.mjs.map +1 -0
  388. package/dist/commands/walletPasswordChangeCommand.mjs +291 -0
  389. package/dist/commands/walletPasswordChangeCommand.mjs.map +1 -0
  390. package/dist/commands/walletPasswordCommand.mjs +301 -0
  391. package/dist/commands/walletPasswordCommand.mjs.map +1 -0
  392. package/dist/commands/walletRemoveCommand.mjs +378 -0
  393. package/dist/commands/walletRemoveCommand.mjs.map +1 -0
  394. package/dist/commands/walletRenameCommand.mjs +94 -0
  395. package/dist/commands/walletRenameCommand.mjs.map +1 -0
  396. package/dist/commands/walletSignCommand.mjs +662 -0
  397. package/dist/commands/walletSignCommand.mjs.map +1 -0
  398. package/dist/commands/walletTxBroadcastCommand.mjs +473 -0
  399. package/dist/commands/walletTxBroadcastCommand.mjs.map +1 -0
  400. package/dist/commands/walletTxCommand.mjs +612 -0
  401. package/dist/commands/walletTxCommand.mjs.map +1 -0
  402. package/dist/commands/walletTxSendCommand.mjs +492 -0
  403. package/dist/commands/walletTxSendCommand.mjs.map +1 -0
  404. package/dist/commands/walletTxSignCommand.mjs +403 -0
  405. package/dist/commands/walletTxSignCommand.mjs.map +1 -0
  406. package/dist/commands/walletUnlockCommand.mjs +308 -0
  407. package/dist/commands/walletUnlockCommand.mjs.map +1 -0
  408. package/dist/commands/walletUseCommand.mjs +95 -0
  409. package/dist/commands/walletUseCommand.mjs.map +1 -0
  410. package/dist/commands/xyoCommand.mjs +188 -0
  411. package/dist/commands/xyoCommand.mjs.map +1 -0
  412. package/dist/commands/xyoTxCommand.mjs +178 -0
  413. package/dist/commands/xyoTxCommand.mjs.map +1 -0
  414. package/dist/commands/xyoTxValidateCommand.mjs +168 -0
  415. package/dist/commands/xyoTxValidateCommand.mjs.map +1 -0
  416. package/dist/index.d.ts +3 -0
  417. package/dist/index.mjs +8466 -0
  418. package/dist/index.mjs.map +1 -0
  419. package/dist/types/modules.d.mjs +1 -0
  420. package/dist/types/modules.d.mjs.map +1 -0
  421. package/package.json +197 -0
@@ -0,0 +1,90 @@
1
+ // src/actions/datalake/formatters.ts
2
+ import chalk from "chalk";
3
+ var STATUS_COLORS = {
4
+ pending: chalk.gray,
5
+ provisioning: chalk.yellow,
6
+ ready: chalk.green,
7
+ resizing: chalk.yellow,
8
+ deprovisioning: chalk.yellow,
9
+ deleted: chalk.gray,
10
+ error: chalk.red
11
+ };
12
+ function formatBytes(bytes) {
13
+ if (bytes < 1024) return `${bytes} B`;
14
+ if (bytes < 1024 ** 2) return `${(bytes / 1024).toFixed(1)} KB`;
15
+ if (bytes < 1024 ** 3) return `${(bytes / 1024 ** 2).toFixed(1)} MB`;
16
+ if (bytes < 1024 ** 4) return `${(bytes / 1024 ** 3).toFixed(1)} GB`;
17
+ return `${(bytes / 1024 ** 4).toFixed(1)} TB`;
18
+ }
19
+ function formatStatus(status) {
20
+ const colorize = STATUS_COLORS[status] ?? chalk.white;
21
+ return colorize(status);
22
+ }
23
+ function printDatalakeRow(datalake) {
24
+ const size = datalake.config.sizeBytes ? formatBytes(datalake.config.sizeBytes) : "\u2014";
25
+ const name = chalk.white(datalake.name.padEnd(20));
26
+ const tier = chalk.cyan(datalake.config.tier.padEnd(8));
27
+ const region = chalk.gray((datalake.config.region ?? "\u2014").padEnd(12));
28
+ const status = formatStatus(datalake.status).padEnd(14);
29
+ console.log(` ${name} ${tier} ${region} ${size.padStart(8)} ${status}`);
30
+ }
31
+ function printRateLimits(limits) {
32
+ const parts = [];
33
+ if (limits.authenticatedPerMinute !== void 0) parts.push(`auth=${limits.authenticatedPerMinute}/min`);
34
+ if (limits.anonymousPerMinute !== void 0) parts.push(`anon=${limits.anonymousPerMinute}/min`);
35
+ if (limits.burstFactor !== void 0) parts.push(`burst=${limits.burstFactor}x`);
36
+ if (parts.length > 0) {
37
+ console.log(` ${chalk.gray("limits:")} ${parts.join(" ")}`);
38
+ }
39
+ }
40
+ function printUsage(usage) {
41
+ console.log();
42
+ console.log(chalk.cyan(" usage"));
43
+ console.log(` ${chalk.gray("payloads:")} ${usage.payloadCount}`);
44
+ console.log(` ${chalk.gray("stored:")} ${formatBytes(usage.bytesStored)} / ${formatBytes(usage.bytesStoredLimit)}`);
45
+ console.log(` ${chalk.gray("reads 24h:")} ${usage.readsLast24h}`);
46
+ console.log(` ${chalk.gray("writes 24h:")} ${usage.writesLast24h}`);
47
+ }
48
+ function printAcl(acl) {
49
+ if (acl.length === 0) return;
50
+ console.log();
51
+ console.log(chalk.cyan(" access"));
52
+ for (const entry of acl) {
53
+ const principal = entry.principal === "public" ? chalk.yellow("public") : entry.principal;
54
+ console.log(` ${principal.padEnd(24)} ${chalk.magenta(entry.role)} ${chalk.gray(entry.grantedAt)}`);
55
+ }
56
+ }
57
+ function printDatalakeDetail(datalake) {
58
+ console.log(chalk.cyan(`
59
+ ${datalake.name}`));
60
+ console.log(` ${chalk.gray("id:")} ${datalake.id}`);
61
+ console.log(` ${chalk.gray("status:")} ${formatStatus(datalake.status)}`);
62
+ if (datalake.url) {
63
+ console.log(` ${chalk.gray("url:")} ${datalake.url}`);
64
+ }
65
+ console.log(` ${chalk.gray("owner:")} ${datalake.ownerId}`);
66
+ console.log(` ${chalk.gray("tier:")} ${datalake.config.tier}`);
67
+ console.log(` ${chalk.gray("region:")} ${datalake.config.region ?? "\u2014"}`);
68
+ console.log(` ${chalk.gray("size:")} ${datalake.config.sizeBytes ? formatBytes(datalake.config.sizeBytes) : "\u2014"}`);
69
+ console.log(` ${chalk.gray("iops:")} ${datalake.config.iops ?? "\u2014"}`);
70
+ console.log(` ${chalk.gray("retention:")} ${datalake.config.retentionDays ?? "forever"}`);
71
+ if (datalake.config.verifyHashes) {
72
+ console.log(` ${chalk.gray("verify:")} ${chalk.green("hashes enforced")}`);
73
+ }
74
+ if (datalake.config.rateLimits) printRateLimits(datalake.config.rateLimits);
75
+ console.log(` ${chalk.gray("created:")} ${datalake.createdAt}`);
76
+ console.log(` ${chalk.gray("updated:")} ${datalake.updatedAt}`);
77
+ if (datalake.usage) printUsage(datalake.usage);
78
+ printAcl(datalake.acl);
79
+ if (datalake.errorMessage) {
80
+ console.log();
81
+ console.log(` ${chalk.red("error:")} ${datalake.errorMessage}`);
82
+ }
83
+ }
84
+ export {
85
+ formatBytes,
86
+ formatStatus,
87
+ printDatalakeDetail,
88
+ printDatalakeRow
89
+ };
90
+ //# sourceMappingURL=formatters.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/datalake/formatters.ts"],"sourcesContent":["import type {\n DatalakeDescriptor, DatalakeStatus, DatalakeUsage, RateLimitOverrides,\n} from '@xylabs/aries-datalake-core'\nimport chalk from 'chalk'\n\nconst STATUS_COLORS: Record<DatalakeStatus, (s: string) => string> = {\n pending: chalk.gray,\n provisioning: chalk.yellow,\n ready: chalk.green,\n resizing: chalk.yellow,\n deprovisioning: chalk.yellow,\n deleted: chalk.gray,\n error: chalk.red,\n}\n\nexport function formatBytes(bytes: number): string {\n if (bytes < 1024) return `${bytes} B`\n if (bytes < 1024 ** 2) return `${(bytes / 1024).toFixed(1)} KB`\n if (bytes < 1024 ** 3) return `${(bytes / 1024 ** 2).toFixed(1)} MB`\n if (bytes < 1024 ** 4) return `${(bytes / 1024 ** 3).toFixed(1)} GB`\n return `${(bytes / 1024 ** 4).toFixed(1)} TB`\n}\n\nexport function formatStatus(status: DatalakeStatus): string {\n const colorize = STATUS_COLORS[status] ?? chalk.white\n return colorize(status)\n}\n\nexport function printDatalakeRow(datalake: DatalakeDescriptor): void {\n const size = datalake.config.sizeBytes ? formatBytes(datalake.config.sizeBytes) : '—'\n const name = chalk.white(datalake.name.padEnd(20))\n const tier = chalk.cyan(datalake.config.tier.padEnd(8))\n const region = chalk.gray((datalake.config.region ?? '—').padEnd(12))\n const status = formatStatus(datalake.status).padEnd(14)\n console.log(` ${name} ${tier} ${region} ${size.padStart(8)} ${status}`)\n}\n\nfunction printRateLimits(limits: RateLimitOverrides): void {\n const parts: string[] = []\n if (limits.authenticatedPerMinute !== undefined) parts.push(`auth=${limits.authenticatedPerMinute}/min`)\n if (limits.anonymousPerMinute !== undefined) parts.push(`anon=${limits.anonymousPerMinute}/min`)\n if (limits.burstFactor !== undefined) parts.push(`burst=${limits.burstFactor}x`)\n if (parts.length > 0) {\n console.log(` ${chalk.gray('limits:')} ${parts.join(' ')}`)\n }\n}\n\nfunction printUsage(usage: DatalakeUsage): void {\n console.log()\n console.log(chalk.cyan(' usage'))\n console.log(` ${chalk.gray('payloads:')} ${usage.payloadCount}`)\n console.log(` ${chalk.gray('stored:')} ${formatBytes(usage.bytesStored)} / ${formatBytes(usage.bytesStoredLimit)}`)\n console.log(` ${chalk.gray('reads 24h:')} ${usage.readsLast24h}`)\n console.log(` ${chalk.gray('writes 24h:')} ${usage.writesLast24h}`)\n}\n\nfunction printAcl(acl: DatalakeDescriptor['acl']): void {\n if (acl.length === 0) return\n console.log()\n console.log(chalk.cyan(' access'))\n for (const entry of acl) {\n const principal = entry.principal === 'public' ? chalk.yellow('public') : entry.principal\n console.log(` ${principal.padEnd(24)} ${chalk.magenta(entry.role)} ${chalk.gray(entry.grantedAt)}`)\n }\n}\n\nexport function printDatalakeDetail(datalake: DatalakeDescriptor): void {\n console.log(chalk.cyan(`\\n${datalake.name}`))\n console.log(` ${chalk.gray('id:')} ${datalake.id}`)\n console.log(` ${chalk.gray('status:')} ${formatStatus(datalake.status)}`)\n if (datalake.url) {\n console.log(` ${chalk.gray('url:')} ${datalake.url}`)\n }\n console.log(` ${chalk.gray('owner:')} ${datalake.ownerId}`)\n console.log(` ${chalk.gray('tier:')} ${datalake.config.tier}`)\n console.log(` ${chalk.gray('region:')} ${datalake.config.region ?? '—'}`)\n console.log(` ${chalk.gray('size:')} ${datalake.config.sizeBytes ? formatBytes(datalake.config.sizeBytes) : '—'}`)\n console.log(` ${chalk.gray('iops:')} ${datalake.config.iops ?? '—'}`)\n console.log(` ${chalk.gray('retention:')} ${datalake.config.retentionDays ?? 'forever'}`)\n if (datalake.config.verifyHashes) {\n console.log(` ${chalk.gray('verify:')} ${chalk.green('hashes enforced')}`)\n }\n if (datalake.config.rateLimits) printRateLimits(datalake.config.rateLimits)\n console.log(` ${chalk.gray('created:')} ${datalake.createdAt}`)\n console.log(` ${chalk.gray('updated:')} ${datalake.updatedAt}`)\n if (datalake.usage) printUsage(datalake.usage)\n printAcl(datalake.acl)\n if (datalake.errorMessage) {\n console.log()\n console.log(` ${chalk.red('error:')} ${datalake.errorMessage}`)\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,116 @@
1
+ // src/actions/datalake/grantAccess.ts
2
+ import { createDatalakeClient } from "@xylabs/aries-datalake-client";
3
+ import chalk2 from "chalk";
4
+
5
+ // src/actions/datalake/formatters.ts
6
+ import chalk from "chalk";
7
+ var STATUS_COLORS = {
8
+ pending: chalk.gray,
9
+ provisioning: chalk.yellow,
10
+ ready: chalk.green,
11
+ resizing: chalk.yellow,
12
+ deprovisioning: chalk.yellow,
13
+ deleted: chalk.gray,
14
+ error: chalk.red
15
+ };
16
+ function formatBytes(bytes) {
17
+ if (bytes < 1024) return `${bytes} B`;
18
+ if (bytes < 1024 ** 2) return `${(bytes / 1024).toFixed(1)} KB`;
19
+ if (bytes < 1024 ** 3) return `${(bytes / 1024 ** 2).toFixed(1)} MB`;
20
+ if (bytes < 1024 ** 4) return `${(bytes / 1024 ** 3).toFixed(1)} GB`;
21
+ return `${(bytes / 1024 ** 4).toFixed(1)} TB`;
22
+ }
23
+ function formatStatus(status) {
24
+ const colorize = STATUS_COLORS[status] ?? chalk.white;
25
+ return colorize(status);
26
+ }
27
+ function printRateLimits(limits) {
28
+ const parts = [];
29
+ if (limits.authenticatedPerMinute !== void 0) parts.push(`auth=${limits.authenticatedPerMinute}/min`);
30
+ if (limits.anonymousPerMinute !== void 0) parts.push(`anon=${limits.anonymousPerMinute}/min`);
31
+ if (limits.burstFactor !== void 0) parts.push(`burst=${limits.burstFactor}x`);
32
+ if (parts.length > 0) {
33
+ console.log(` ${chalk.gray("limits:")} ${parts.join(" ")}`);
34
+ }
35
+ }
36
+ function printUsage(usage) {
37
+ console.log();
38
+ console.log(chalk.cyan(" usage"));
39
+ console.log(` ${chalk.gray("payloads:")} ${usage.payloadCount}`);
40
+ console.log(` ${chalk.gray("stored:")} ${formatBytes(usage.bytesStored)} / ${formatBytes(usage.bytesStoredLimit)}`);
41
+ console.log(` ${chalk.gray("reads 24h:")} ${usage.readsLast24h}`);
42
+ console.log(` ${chalk.gray("writes 24h:")} ${usage.writesLast24h}`);
43
+ }
44
+ function printAcl(acl) {
45
+ if (acl.length === 0) return;
46
+ console.log();
47
+ console.log(chalk.cyan(" access"));
48
+ for (const entry of acl) {
49
+ const principal = entry.principal === "public" ? chalk.yellow("public") : entry.principal;
50
+ console.log(` ${principal.padEnd(24)} ${chalk.magenta(entry.role)} ${chalk.gray(entry.grantedAt)}`);
51
+ }
52
+ }
53
+ function printDatalakeDetail(datalake) {
54
+ console.log(chalk.cyan(`
55
+ ${datalake.name}`));
56
+ console.log(` ${chalk.gray("id:")} ${datalake.id}`);
57
+ console.log(` ${chalk.gray("status:")} ${formatStatus(datalake.status)}`);
58
+ if (datalake.url) {
59
+ console.log(` ${chalk.gray("url:")} ${datalake.url}`);
60
+ }
61
+ console.log(` ${chalk.gray("owner:")} ${datalake.ownerId}`);
62
+ console.log(` ${chalk.gray("tier:")} ${datalake.config.tier}`);
63
+ console.log(` ${chalk.gray("region:")} ${datalake.config.region ?? "\u2014"}`);
64
+ console.log(` ${chalk.gray("size:")} ${datalake.config.sizeBytes ? formatBytes(datalake.config.sizeBytes) : "\u2014"}`);
65
+ console.log(` ${chalk.gray("iops:")} ${datalake.config.iops ?? "\u2014"}`);
66
+ console.log(` ${chalk.gray("retention:")} ${datalake.config.retentionDays ?? "forever"}`);
67
+ if (datalake.config.verifyHashes) {
68
+ console.log(` ${chalk.gray("verify:")} ${chalk.green("hashes enforced")}`);
69
+ }
70
+ if (datalake.config.rateLimits) printRateLimits(datalake.config.rateLimits);
71
+ console.log(` ${chalk.gray("created:")} ${datalake.createdAt}`);
72
+ console.log(` ${chalk.gray("updated:")} ${datalake.updatedAt}`);
73
+ if (datalake.usage) printUsage(datalake.usage);
74
+ printAcl(datalake.acl);
75
+ if (datalake.errorMessage) {
76
+ console.log();
77
+ console.log(` ${chalk.red("error:")} ${datalake.errorMessage}`);
78
+ }
79
+ }
80
+
81
+ // src/actions/datalake/resolveTarget.ts
82
+ import { getDefaultDatalake } from "@xylabs/aries-datalake-client";
83
+ function resolveTarget(argValue) {
84
+ const target = argValue ?? getDefaultDatalake();
85
+ if (!target) {
86
+ throw new Error(
87
+ "No datalake specified and no default set. Pass <name> or run `aries datalake use <name>`."
88
+ );
89
+ }
90
+ return target;
91
+ }
92
+
93
+ // src/actions/datalake/grantAccess.ts
94
+ async function grantAccess(options) {
95
+ const client = createDatalakeClient();
96
+ const target = resolveTarget(options.idOrName);
97
+ if (options.principal === "public" && options.role === "runner" && !options.confirmPublic) {
98
+ console.log(chalk2.yellow(
99
+ "Granting `public runner` makes anonymous writes possible. Re-run with --confirm-public to proceed."
100
+ ));
101
+ process.exitCode = 1;
102
+ return;
103
+ }
104
+ const descriptor = await client.describe(target);
105
+ const updated = await client.grant({
106
+ datalakeId: descriptor.id,
107
+ principal: options.principal,
108
+ role: options.role
109
+ });
110
+ console.log(chalk2.green(`granted ${options.role} to ${options.principal} on ${updated.name}`));
111
+ printDatalakeDetail(updated);
112
+ }
113
+ export {
114
+ grantAccess
115
+ };
116
+ //# sourceMappingURL=grantAccess.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/datalake/grantAccess.ts","../../../src/actions/datalake/formatters.ts","../../../src/actions/datalake/resolveTarget.ts"],"sourcesContent":["import { createDatalakeClient } from '@xylabs/aries-datalake-client'\nimport type { DatalakePrincipal, DatalakeRole } from '@xylabs/aries-datalake-core'\nimport chalk from 'chalk'\n\nimport { printDatalakeDetail } from './formatters.ts'\nimport { resolveTarget } from './resolveTarget.ts'\n\nexport interface GrantAccessOptions {\n idOrName?: string\n principal: DatalakePrincipal\n role: DatalakeRole\n confirmPublic?: boolean\n}\n\nexport async function grantAccess(options: GrantAccessOptions): Promise<void> {\n const client = createDatalakeClient()\n const target = resolveTarget(options.idOrName)\n\n if (options.principal === 'public' && options.role === 'runner' && !options.confirmPublic) {\n console.log(chalk.yellow(\n 'Granting `public runner` makes anonymous writes possible. '\n + 'Re-run with --confirm-public to proceed.',\n ))\n process.exitCode = 1\n return\n }\n\n const descriptor = await client.describe(target)\n const updated = await client.grant({\n datalakeId: descriptor.id,\n principal: options.principal,\n role: options.role,\n })\n console.log(chalk.green(`granted ${options.role} to ${options.principal} on ${updated.name}`))\n printDatalakeDetail(updated)\n}\n","import type {\n DatalakeDescriptor, DatalakeStatus, DatalakeUsage, RateLimitOverrides,\n} from '@xylabs/aries-datalake-core'\nimport chalk from 'chalk'\n\nconst STATUS_COLORS: Record<DatalakeStatus, (s: string) => string> = {\n pending: chalk.gray,\n provisioning: chalk.yellow,\n ready: chalk.green,\n resizing: chalk.yellow,\n deprovisioning: chalk.yellow,\n deleted: chalk.gray,\n error: chalk.red,\n}\n\nexport function formatBytes(bytes: number): string {\n if (bytes < 1024) return `${bytes} B`\n if (bytes < 1024 ** 2) return `${(bytes / 1024).toFixed(1)} KB`\n if (bytes < 1024 ** 3) return `${(bytes / 1024 ** 2).toFixed(1)} MB`\n if (bytes < 1024 ** 4) return `${(bytes / 1024 ** 3).toFixed(1)} GB`\n return `${(bytes / 1024 ** 4).toFixed(1)} TB`\n}\n\nexport function formatStatus(status: DatalakeStatus): string {\n const colorize = STATUS_COLORS[status] ?? chalk.white\n return colorize(status)\n}\n\nexport function printDatalakeRow(datalake: DatalakeDescriptor): void {\n const size = datalake.config.sizeBytes ? formatBytes(datalake.config.sizeBytes) : '—'\n const name = chalk.white(datalake.name.padEnd(20))\n const tier = chalk.cyan(datalake.config.tier.padEnd(8))\n const region = chalk.gray((datalake.config.region ?? '—').padEnd(12))\n const status = formatStatus(datalake.status).padEnd(14)\n console.log(` ${name} ${tier} ${region} ${size.padStart(8)} ${status}`)\n}\n\nfunction printRateLimits(limits: RateLimitOverrides): void {\n const parts: string[] = []\n if (limits.authenticatedPerMinute !== undefined) parts.push(`auth=${limits.authenticatedPerMinute}/min`)\n if (limits.anonymousPerMinute !== undefined) parts.push(`anon=${limits.anonymousPerMinute}/min`)\n if (limits.burstFactor !== undefined) parts.push(`burst=${limits.burstFactor}x`)\n if (parts.length > 0) {\n console.log(` ${chalk.gray('limits:')} ${parts.join(' ')}`)\n }\n}\n\nfunction printUsage(usage: DatalakeUsage): void {\n console.log()\n console.log(chalk.cyan(' usage'))\n console.log(` ${chalk.gray('payloads:')} ${usage.payloadCount}`)\n console.log(` ${chalk.gray('stored:')} ${formatBytes(usage.bytesStored)} / ${formatBytes(usage.bytesStoredLimit)}`)\n console.log(` ${chalk.gray('reads 24h:')} ${usage.readsLast24h}`)\n console.log(` ${chalk.gray('writes 24h:')} ${usage.writesLast24h}`)\n}\n\nfunction printAcl(acl: DatalakeDescriptor['acl']): void {\n if (acl.length === 0) return\n console.log()\n console.log(chalk.cyan(' access'))\n for (const entry of acl) {\n const principal = entry.principal === 'public' ? chalk.yellow('public') : entry.principal\n console.log(` ${principal.padEnd(24)} ${chalk.magenta(entry.role)} ${chalk.gray(entry.grantedAt)}`)\n }\n}\n\nexport function printDatalakeDetail(datalake: DatalakeDescriptor): void {\n console.log(chalk.cyan(`\\n${datalake.name}`))\n console.log(` ${chalk.gray('id:')} ${datalake.id}`)\n console.log(` ${chalk.gray('status:')} ${formatStatus(datalake.status)}`)\n if (datalake.url) {\n console.log(` ${chalk.gray('url:')} ${datalake.url}`)\n }\n console.log(` ${chalk.gray('owner:')} ${datalake.ownerId}`)\n console.log(` ${chalk.gray('tier:')} ${datalake.config.tier}`)\n console.log(` ${chalk.gray('region:')} ${datalake.config.region ?? '—'}`)\n console.log(` ${chalk.gray('size:')} ${datalake.config.sizeBytes ? formatBytes(datalake.config.sizeBytes) : '—'}`)\n console.log(` ${chalk.gray('iops:')} ${datalake.config.iops ?? '—'}`)\n console.log(` ${chalk.gray('retention:')} ${datalake.config.retentionDays ?? 'forever'}`)\n if (datalake.config.verifyHashes) {\n console.log(` ${chalk.gray('verify:')} ${chalk.green('hashes enforced')}`)\n }\n if (datalake.config.rateLimits) printRateLimits(datalake.config.rateLimits)\n console.log(` ${chalk.gray('created:')} ${datalake.createdAt}`)\n console.log(` ${chalk.gray('updated:')} ${datalake.updatedAt}`)\n if (datalake.usage) printUsage(datalake.usage)\n printAcl(datalake.acl)\n if (datalake.errorMessage) {\n console.log()\n console.log(` ${chalk.red('error:')} ${datalake.errorMessage}`)\n }\n}\n","import { getDefaultDatalake } from '@xylabs/aries-datalake-client'\n\n/**\n * Resolves the target datalake name/id for commands that take an optional\n * argument. Falls back to the one set via `aries datalake use`.\n */\nexport function resolveTarget(argValue: string | undefined): string {\n const target = argValue ?? getDefaultDatalake()\n if (!target) {\n throw new Error(\n 'No datalake specified and no default set. '\n + 'Pass <name> or run `aries datalake use <name>`.',\n )\n }\n return target\n}\n"],"mappings":"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","names":["chalk","chalk"]}
@@ -0,0 +1,361 @@
1
+ // src/actions/datalake/createDatalake.ts
2
+ import { createDatalakeClient } from "@xylabs/aries-datalake-client";
3
+ import chalk2 from "chalk";
4
+
5
+ // src/actions/datalake/formatters.ts
6
+ import chalk from "chalk";
7
+ var STATUS_COLORS = {
8
+ pending: chalk.gray,
9
+ provisioning: chalk.yellow,
10
+ ready: chalk.green,
11
+ resizing: chalk.yellow,
12
+ deprovisioning: chalk.yellow,
13
+ deleted: chalk.gray,
14
+ error: chalk.red
15
+ };
16
+ function formatBytes(bytes) {
17
+ if (bytes < 1024) return `${bytes} B`;
18
+ if (bytes < 1024 ** 2) return `${(bytes / 1024).toFixed(1)} KB`;
19
+ if (bytes < 1024 ** 3) return `${(bytes / 1024 ** 2).toFixed(1)} MB`;
20
+ if (bytes < 1024 ** 4) return `${(bytes / 1024 ** 3).toFixed(1)} GB`;
21
+ return `${(bytes / 1024 ** 4).toFixed(1)} TB`;
22
+ }
23
+ function formatStatus(status) {
24
+ const colorize = STATUS_COLORS[status] ?? chalk.white;
25
+ return colorize(status);
26
+ }
27
+ function printDatalakeRow(datalake) {
28
+ const size = datalake.config.sizeBytes ? formatBytes(datalake.config.sizeBytes) : "\u2014";
29
+ const name = chalk.white(datalake.name.padEnd(20));
30
+ const tier = chalk.cyan(datalake.config.tier.padEnd(8));
31
+ const region = chalk.gray((datalake.config.region ?? "\u2014").padEnd(12));
32
+ const status = formatStatus(datalake.status).padEnd(14);
33
+ console.log(` ${name} ${tier} ${region} ${size.padStart(8)} ${status}`);
34
+ }
35
+ function printRateLimits(limits) {
36
+ const parts = [];
37
+ if (limits.authenticatedPerMinute !== void 0) parts.push(`auth=${limits.authenticatedPerMinute}/min`);
38
+ if (limits.anonymousPerMinute !== void 0) parts.push(`anon=${limits.anonymousPerMinute}/min`);
39
+ if (limits.burstFactor !== void 0) parts.push(`burst=${limits.burstFactor}x`);
40
+ if (parts.length > 0) {
41
+ console.log(` ${chalk.gray("limits:")} ${parts.join(" ")}`);
42
+ }
43
+ }
44
+ function printUsage(usage) {
45
+ console.log();
46
+ console.log(chalk.cyan(" usage"));
47
+ console.log(` ${chalk.gray("payloads:")} ${usage.payloadCount}`);
48
+ console.log(` ${chalk.gray("stored:")} ${formatBytes(usage.bytesStored)} / ${formatBytes(usage.bytesStoredLimit)}`);
49
+ console.log(` ${chalk.gray("reads 24h:")} ${usage.readsLast24h}`);
50
+ console.log(` ${chalk.gray("writes 24h:")} ${usage.writesLast24h}`);
51
+ }
52
+ function printAcl(acl) {
53
+ if (acl.length === 0) return;
54
+ console.log();
55
+ console.log(chalk.cyan(" access"));
56
+ for (const entry of acl) {
57
+ const principal = entry.principal === "public" ? chalk.yellow("public") : entry.principal;
58
+ console.log(` ${principal.padEnd(24)} ${chalk.magenta(entry.role)} ${chalk.gray(entry.grantedAt)}`);
59
+ }
60
+ }
61
+ function printDatalakeDetail(datalake) {
62
+ console.log(chalk.cyan(`
63
+ ${datalake.name}`));
64
+ console.log(` ${chalk.gray("id:")} ${datalake.id}`);
65
+ console.log(` ${chalk.gray("status:")} ${formatStatus(datalake.status)}`);
66
+ if (datalake.url) {
67
+ console.log(` ${chalk.gray("url:")} ${datalake.url}`);
68
+ }
69
+ console.log(` ${chalk.gray("owner:")} ${datalake.ownerId}`);
70
+ console.log(` ${chalk.gray("tier:")} ${datalake.config.tier}`);
71
+ console.log(` ${chalk.gray("region:")} ${datalake.config.region ?? "\u2014"}`);
72
+ console.log(` ${chalk.gray("size:")} ${datalake.config.sizeBytes ? formatBytes(datalake.config.sizeBytes) : "\u2014"}`);
73
+ console.log(` ${chalk.gray("iops:")} ${datalake.config.iops ?? "\u2014"}`);
74
+ console.log(` ${chalk.gray("retention:")} ${datalake.config.retentionDays ?? "forever"}`);
75
+ if (datalake.config.verifyHashes) {
76
+ console.log(` ${chalk.gray("verify:")} ${chalk.green("hashes enforced")}`);
77
+ }
78
+ if (datalake.config.rateLimits) printRateLimits(datalake.config.rateLimits);
79
+ console.log(` ${chalk.gray("created:")} ${datalake.createdAt}`);
80
+ console.log(` ${chalk.gray("updated:")} ${datalake.updatedAt}`);
81
+ if (datalake.usage) printUsage(datalake.usage);
82
+ printAcl(datalake.acl);
83
+ if (datalake.errorMessage) {
84
+ console.log();
85
+ console.log(` ${chalk.red("error:")} ${datalake.errorMessage}`);
86
+ }
87
+ }
88
+
89
+ // src/actions/datalake/parseSize.ts
90
+ var SIZE_UNITS = {
91
+ b: 1,
92
+ kb: 1024,
93
+ mb: 1024 ** 2,
94
+ gb: 1024 ** 3,
95
+ tb: 1024 ** 4
96
+ };
97
+ function parseSize(input) {
98
+ const match = /^(\d+(?:\.\d+)?)\s*([a-zA-Z]+)?$/.exec(input.trim());
99
+ if (!match) throw new Error(`Invalid size: ${input}`);
100
+ const value = Number(match[1]);
101
+ const unitRaw = (match[2] ?? "b").toLowerCase();
102
+ const unit = SIZE_UNITS[unitRaw];
103
+ if (unit === void 0) throw new Error(`Unknown size unit: ${match[2]}`);
104
+ return Math.round(value * unit);
105
+ }
106
+
107
+ // src/actions/datalake/createDatalake.ts
108
+ function buildRateLimits(options) {
109
+ if (options.rateAuthPerMinute === void 0 && options.rateAnonPerMinute === void 0 && options.rateBurstFactor === void 0) return void 0;
110
+ return {
111
+ authenticatedPerMinute: options.rateAuthPerMinute,
112
+ anonymousPerMinute: options.rateAnonPerMinute,
113
+ burstFactor: options.rateBurstFactor
114
+ };
115
+ }
116
+ async function createDatalake(options) {
117
+ const client = createDatalakeClient();
118
+ const config = {
119
+ tier: options.tier,
120
+ sizeBytes: options.size === void 0 ? void 0 : parseSize(options.size),
121
+ iops: options.iops,
122
+ region: options.region,
123
+ retentionDays: options.retentionDays,
124
+ verifyHashes: options.verifyHashes,
125
+ rateLimits: buildRateLimits(options)
126
+ };
127
+ console.log(chalk2.gray(`provisioning ${options.name} (tier=${options.tier})...`));
128
+ const descriptor = await client.create({ name: options.name, config });
129
+ console.log(chalk2.green(`created ${descriptor.name} (${descriptor.id})`));
130
+ printDatalakeDetail(descriptor);
131
+ }
132
+
133
+ // src/actions/datalake/describeDatalake.ts
134
+ import { createDatalakeClient as createDatalakeClient3 } from "@xylabs/aries-datalake-client";
135
+ import chalk3 from "chalk";
136
+
137
+ // src/actions/datalake/payloads/mintAndConnect.ts
138
+ import { createDatalakeClient as createDatalakeClient2, RestPayloadsClient } from "@xylabs/aries-datalake-client";
139
+ import { XyoPayloadsClient } from "@xylabs/aries-datalake-xl1-adapter";
140
+
141
+ // src/actions/datalake/resolveTarget.ts
142
+ import { getDefaultDatalake } from "@xylabs/aries-datalake-client";
143
+ function resolveTarget(argValue) {
144
+ const target = argValue ?? getDefaultDatalake();
145
+ if (!target) {
146
+ throw new Error(
147
+ "No datalake specified and no default set. Pass <name> or run `aries datalake use <name>`."
148
+ );
149
+ }
150
+ return target;
151
+ }
152
+
153
+ // src/actions/datalake/payloads/mintAndConnect.ts
154
+ async function mintAndConnect(options) {
155
+ const controlClient = createDatalakeClient2();
156
+ const target = resolveTarget(options.idOrName);
157
+ const descriptor = await controlClient.describe(target);
158
+ if (!descriptor.url) {
159
+ throw new Error(`Datalake ${descriptor.name} has no URL yet (status=${descriptor.status})`);
160
+ }
161
+ const token = await controlClient.mintToken({
162
+ datalakeId: descriptor.id,
163
+ role: options.role,
164
+ ttlSeconds: options.ttlSeconds ?? 3600
165
+ });
166
+ const clientOptions = {
167
+ baseUrl: token.url,
168
+ datalakeId: descriptor.id,
169
+ authToken: token.token
170
+ };
171
+ return {
172
+ client: options.useXl1Sdk ? new XyoPayloadsClient(clientOptions) : new RestPayloadsClient(clientOptions),
173
+ datalakeName: descriptor.name,
174
+ datalakeId: descriptor.id,
175
+ url: token.url,
176
+ transport: options.useXl1Sdk ? "xl1-sdk" : "native"
177
+ };
178
+ }
179
+
180
+ // src/actions/datalake/describeDatalake.ts
181
+ async function describeDatalake(idOrName) {
182
+ const client = createDatalakeClient3();
183
+ const target = resolveTarget(idOrName);
184
+ const descriptor = await client.describe(target);
185
+ printDatalakeDetail(descriptor);
186
+ if (descriptor.status !== "ready") return;
187
+ try {
188
+ const connection = await mintAndConnect({ idOrName: target, role: "viewer" });
189
+ const usage = await connection.client.usage();
190
+ printLiveUsage(usage);
191
+ } catch (error) {
192
+ console.log();
193
+ console.log(chalk3.gray(
194
+ ` (live quota unavailable: ${error instanceof Error ? error.message : String(error)})`
195
+ ));
196
+ }
197
+ }
198
+ function printLiveUsage(usage) {
199
+ console.log();
200
+ console.log(chalk3.cyan(" live"));
201
+ console.log(` ${chalk3.gray("payloads:")} ${usage.payloadCount}`);
202
+ const limits = usage.rateLimits;
203
+ if (limits?.authenticated) {
204
+ const { remaining, limit } = limits.authenticated;
205
+ console.log(` ${chalk3.gray("auth quota:")} ${remaining}/${limit}`);
206
+ }
207
+ if (limits?.anonymous) {
208
+ const { remaining, limit } = limits.anonymous;
209
+ console.log(` ${chalk3.gray("anon quota:")} ${remaining}/${limit}`);
210
+ }
211
+ }
212
+
213
+ // src/actions/datalake/destroyDatalake.ts
214
+ import { createDatalakeClient as createDatalakeClient4 } from "@xylabs/aries-datalake-client";
215
+ import chalk4 from "chalk";
216
+ async function destroyDatalake(options) {
217
+ const client = createDatalakeClient4();
218
+ const target = resolveTarget(options.idOrName);
219
+ if (!options.force) {
220
+ console.log(chalk4.yellow(
221
+ `Refusing to destroy ${target} without --force. This operation permanently deletes the datalake and all its payloads.`
222
+ ));
223
+ process.exitCode = 1;
224
+ return;
225
+ }
226
+ await client.destroy(target);
227
+ console.log(chalk4.green(`destroyed ${target}`));
228
+ }
229
+
230
+ // src/actions/datalake/grantAccess.ts
231
+ import { createDatalakeClient as createDatalakeClient5 } from "@xylabs/aries-datalake-client";
232
+ import chalk5 from "chalk";
233
+ async function grantAccess(options) {
234
+ const client = createDatalakeClient5();
235
+ const target = resolveTarget(options.idOrName);
236
+ if (options.principal === "public" && options.role === "runner" && !options.confirmPublic) {
237
+ console.log(chalk5.yellow(
238
+ "Granting `public runner` makes anonymous writes possible. Re-run with --confirm-public to proceed."
239
+ ));
240
+ process.exitCode = 1;
241
+ return;
242
+ }
243
+ const descriptor = await client.describe(target);
244
+ const updated = await client.grant({
245
+ datalakeId: descriptor.id,
246
+ principal: options.principal,
247
+ role: options.role
248
+ });
249
+ console.log(chalk5.green(`granted ${options.role} to ${options.principal} on ${updated.name}`));
250
+ printDatalakeDetail(updated);
251
+ }
252
+
253
+ // src/actions/datalake/listDatalakes.ts
254
+ import { createDatalakeClient as createDatalakeClient6 } from "@xylabs/aries-datalake-client";
255
+ import chalk6 from "chalk";
256
+ async function listDatalakes() {
257
+ const client = createDatalakeClient6();
258
+ const datalakes = await client.list();
259
+ if (datalakes.length === 0) {
260
+ console.log(chalk6.yellow("No datalakes yet. Create one with `aries datalake create <name>`."));
261
+ return;
262
+ }
263
+ console.log(
264
+ chalk6.gray(" ") + chalk6.gray("name".padEnd(20)) + " " + chalk6.gray("tier".padEnd(8)) + " " + chalk6.gray("region".padEnd(12)) + " " + chalk6.gray(" size") + " " + chalk6.gray("status")
265
+ );
266
+ for (const datalake of datalakes) {
267
+ printDatalakeRow(datalake);
268
+ }
269
+ }
270
+
271
+ // src/actions/datalake/login.ts
272
+ import { saveCredentials } from "@xylabs/aries-datalake-client";
273
+ import chalk7 from "chalk";
274
+ async function login(options) {
275
+ const baseUrl = options.baseUrl ?? process.env.ARIES_DATALAKE_API;
276
+ const token = options.token ?? process.env.ARIES_DATALAKE_TOKEN;
277
+ if (!baseUrl || !token) {
278
+ console.log(chalk7.yellow(
279
+ "P0 login requires --base-url and --token (or ARIES_DATALAKE_API + ARIES_DATALAKE_TOKEN). OAuth device-flow lands in P1."
280
+ ));
281
+ process.exitCode = 1;
282
+ return;
283
+ }
284
+ saveCredentials({ baseUrl, authToken: token });
285
+ console.log(chalk7.green(`credentials saved for ${baseUrl}`));
286
+ }
287
+
288
+ // src/actions/datalake/logout.ts
289
+ import { clearCredentials } from "@xylabs/aries-datalake-client";
290
+ import chalk8 from "chalk";
291
+ async function logout() {
292
+ clearCredentials();
293
+ console.log(chalk8.green("signed out"));
294
+ }
295
+
296
+ // src/actions/datalake/mintToken.ts
297
+ import { createDatalakeClient as createDatalakeClient7 } from "@xylabs/aries-datalake-client";
298
+ import chalk9 from "chalk";
299
+ async function mintToken(options) {
300
+ const client = createDatalakeClient7();
301
+ const target = resolveTarget(options.idOrName);
302
+ const descriptor = await client.describe(target);
303
+ const token = await client.mintToken({
304
+ datalakeId: descriptor.id,
305
+ role: options.role,
306
+ ttlSeconds: options.ttlSeconds
307
+ });
308
+ console.log(chalk9.cyan("datalake token"));
309
+ console.log(` ${chalk9.gray("url:")} ${token.url}`);
310
+ console.log(` ${chalk9.gray("role:")} ${token.role}`);
311
+ console.log(` ${chalk9.gray("exp:")} ${token.expiresAt}`);
312
+ console.log();
313
+ console.log(token.token);
314
+ }
315
+
316
+ // src/actions/datalake/revokeAccess.ts
317
+ import { createDatalakeClient as createDatalakeClient8 } from "@xylabs/aries-datalake-client";
318
+ import chalk10 from "chalk";
319
+ async function revokeAccess(options) {
320
+ const client = createDatalakeClient8();
321
+ const target = resolveTarget(options.idOrName);
322
+ const descriptor = await client.describe(target);
323
+ const updated = await client.revoke({
324
+ datalakeId: descriptor.id,
325
+ principal: options.principal
326
+ });
327
+ console.log(chalk10.green(`revoked access for ${options.principal} on ${updated.name}`));
328
+ printDatalakeDetail(updated);
329
+ }
330
+
331
+ // src/actions/datalake/useDatalake.ts
332
+ import {
333
+ clearDefaultDatalake,
334
+ createDatalakeClient as createDatalakeClient9,
335
+ setDefaultDatalake
336
+ } from "@xylabs/aries-datalake-client";
337
+ import chalk11 from "chalk";
338
+ async function useDatalake(name) {
339
+ if (!name) {
340
+ clearDefaultDatalake();
341
+ console.log(chalk11.green("cleared default datalake"));
342
+ return;
343
+ }
344
+ const client = createDatalakeClient9();
345
+ const descriptor = await client.describe(name);
346
+ setDefaultDatalake(descriptor.name, descriptor.id);
347
+ console.log(chalk11.green(`default datalake set to ${descriptor.name} (${descriptor.id})`));
348
+ }
349
+ export {
350
+ createDatalake,
351
+ describeDatalake,
352
+ destroyDatalake,
353
+ grantAccess,
354
+ listDatalakes,
355
+ login,
356
+ logout,
357
+ mintToken,
358
+ revokeAccess,
359
+ useDatalake
360
+ };
361
+ //# sourceMappingURL=index.mjs.map