@xylabs/aries 0.1.1 → 0.1.7

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 +6 -688
  2. package/dist/aries.mjs +47 -8466
  3. package/package.json +14 -169
  4. package/dist/actions/audit/auditPaths.mjs +0 -22
  5. package/dist/actions/audit/auditPaths.mjs.map +0 -1
  6. package/dist/actions/audit/index.mjs +0 -739
  7. package/dist/actions/audit/index.mjs.map +0 -1
  8. package/dist/actions/audit/installPlugin.mjs +0 -298
  9. package/dist/actions/audit/installPlugin.mjs.map +0 -1
  10. package/dist/actions/audit/listSessions.mjs +0 -93
  11. package/dist/actions/audit/listSessions.mjs.map +0 -1
  12. package/dist/actions/audit/openAuditDir.mjs +0 -44
  13. package/dist/actions/audit/openAuditDir.mjs.map +0 -1
  14. package/dist/actions/audit/searchAudit.mjs +0 -77
  15. package/dist/actions/audit/searchAudit.mjs.map +0 -1
  16. package/dist/actions/audit/showAiMeta.mjs +0 -105
  17. package/dist/actions/audit/showAiMeta.mjs.map +0 -1
  18. package/dist/actions/audit/showSession.mjs +0 -105
  19. package/dist/actions/audit/showSession.mjs.map +0 -1
  20. package/dist/actions/audit/statusAudit.mjs +0 -98
  21. package/dist/actions/audit/statusAudit.mjs.map +0 -1
  22. package/dist/actions/clamp/clampAudit.mjs +0 -53
  23. package/dist/actions/clamp/clampAudit.mjs.map +0 -1
  24. package/dist/actions/clamp/index.mjs +0 -2258
  25. package/dist/actions/clamp/index.mjs.map +0 -1
  26. package/dist/actions/clamp/ipcServer.mjs +0 -55
  27. package/dist/actions/clamp/ipcServer.mjs.map +0 -1
  28. package/dist/actions/clamp/policyManagement.mjs +0 -144
  29. package/dist/actions/clamp/policyManagement.mjs.map +0 -1
  30. package/dist/actions/clamp/promptUser.mjs +0 -91
  31. package/dist/actions/clamp/promptUser.mjs.map +0 -1
  32. package/dist/actions/clamp/runClamped.mjs +0 -2107
  33. package/dist/actions/clamp/runClamped.mjs.map +0 -1
  34. package/dist/actions/clamp/sandboxExec.mjs +0 -1612
  35. package/dist/actions/clamp/sandboxExec.mjs.map +0 -1
  36. package/dist/actions/clamp/shellEnvSetup.mjs +0 -59
  37. package/dist/actions/clamp/shellEnvSetup.mjs.map +0 -1
  38. package/dist/actions/clamp/shimGenerator.mjs +0 -68
  39. package/dist/actions/clamp/shimGenerator.mjs.map +0 -1
  40. package/dist/actions/clamp/terminalRenderer.mjs +0 -145
  41. package/dist/actions/clamp/terminalRenderer.mjs.map +0 -1
  42. package/dist/actions/datalake/audit/auditLog.mjs +0 -191
  43. package/dist/actions/datalake/audit/auditLog.mjs.map +0 -1
  44. package/dist/actions/datalake/createDatalake.mjs +0 -127
  45. package/dist/actions/datalake/createDatalake.mjs.map +0 -1
  46. package/dist/actions/datalake/describeDatalake.mjs +0 -159
  47. package/dist/actions/datalake/describeDatalake.mjs.map +0 -1
  48. package/dist/actions/datalake/destroyDatalake.mjs +0 -34
  49. package/dist/actions/datalake/destroyDatalake.mjs.map +0 -1
  50. package/dist/actions/datalake/dev/downDevServer.mjs +0 -102
  51. package/dist/actions/datalake/dev/downDevServer.mjs.map +0 -1
  52. package/dist/actions/datalake/dev/index.mjs +0 -369
  53. package/dist/actions/datalake/dev/index.mjs.map +0 -1
  54. package/dist/actions/datalake/dev/logsDevServer.mjs +0 -44
  55. package/dist/actions/datalake/dev/logsDevServer.mjs.map +0 -1
  56. package/dist/actions/datalake/dev/paths.mjs +0 -25
  57. package/dist/actions/datalake/dev/paths.mjs.map +0 -1
  58. package/dist/actions/datalake/dev/resetDevServer.mjs +0 -118
  59. package/dist/actions/datalake/dev/resetDevServer.mjs.map +0 -1
  60. package/dist/actions/datalake/dev/resolveServerBin.mjs +0 -26
  61. package/dist/actions/datalake/dev/resolveServerBin.mjs.map +0 -1
  62. package/dist/actions/datalake/dev/state.mjs +0 -62
  63. package/dist/actions/datalake/dev/state.mjs.map +0 -1
  64. package/dist/actions/datalake/dev/statusDevServer.mjs +0 -101
  65. package/dist/actions/datalake/dev/statusDevServer.mjs.map +0 -1
  66. package/dist/actions/datalake/dev/upDevServer.mjs +0 -221
  67. package/dist/actions/datalake/dev/upDevServer.mjs.map +0 -1
  68. package/dist/actions/datalake/dev/waitForHealth.mjs +0 -22
  69. package/dist/actions/datalake/dev/waitForHealth.mjs.map +0 -1
  70. package/dist/actions/datalake/formatters.mjs +0 -90
  71. package/dist/actions/datalake/formatters.mjs.map +0 -1
  72. package/dist/actions/datalake/grantAccess.mjs +0 -116
  73. package/dist/actions/datalake/grantAccess.mjs.map +0 -1
  74. package/dist/actions/datalake/index.mjs +0 -361
  75. package/dist/actions/datalake/index.mjs.map +0 -1
  76. package/dist/actions/datalake/listDatalakes.mjs +0 -54
  77. package/dist/actions/datalake/listDatalakes.mjs.map +0 -1
  78. package/dist/actions/datalake/login.mjs +0 -20
  79. package/dist/actions/datalake/login.mjs.map +0 -1
  80. package/dist/actions/datalake/logout.mjs +0 -11
  81. package/dist/actions/datalake/logout.mjs.map +0 -1
  82. package/dist/actions/datalake/mintToken.mjs +0 -37
  83. package/dist/actions/datalake/mintToken.mjs.map +0 -1
  84. package/dist/actions/datalake/parseSize.mjs +0 -21
  85. package/dist/actions/datalake/parseSize.mjs.map +0 -1
  86. package/dist/actions/datalake/payloads/fetchPayload.mjs +0 -76
  87. package/dist/actions/datalake/payloads/fetchPayload.mjs.map +0 -1
  88. package/dist/actions/datalake/payloads/index.mjs +0 -271
  89. package/dist/actions/datalake/payloads/index.mjs.map +0 -1
  90. package/dist/actions/datalake/payloads/mintAndConnect.mjs +0 -46
  91. package/dist/actions/datalake/payloads/mintAndConnect.mjs.map +0 -1
  92. package/dist/actions/datalake/payloads/parsePayloadsFile.mjs +0 -71
  93. package/dist/actions/datalake/payloads/parsePayloadsFile.mjs.map +0 -1
  94. package/dist/actions/datalake/payloads/pushPayloads.mjs +0 -181
  95. package/dist/actions/datalake/payloads/pushPayloads.mjs.map +0 -1
  96. package/dist/actions/datalake/payloads/tailPayloads.mjs +0 -106
  97. package/dist/actions/datalake/payloads/tailPayloads.mjs.map +0 -1
  98. package/dist/actions/datalake/resolveTarget.mjs +0 -15
  99. package/dist/actions/datalake/resolveTarget.mjs.map +0 -1
  100. package/dist/actions/datalake/revokeAccess.mjs +0 -108
  101. package/dist/actions/datalake/revokeAccess.mjs.map +0 -1
  102. package/dist/actions/datalake/useDatalake.mjs +0 -22
  103. package/dist/actions/datalake/useDatalake.mjs.map +0 -1
  104. package/dist/actions/detect/detectAiClients.mjs +0 -405
  105. package/dist/actions/detect/detectAiClients.mjs.map +0 -1
  106. package/dist/actions/detect/index.mjs +0 -405
  107. package/dist/actions/detect/index.mjs.map +0 -1
  108. package/dist/actions/hash/algorithms/blockhash.mjs +0 -61
  109. package/dist/actions/hash/algorithms/blockhash.mjs.map +0 -1
  110. package/dist/actions/hash/algorithms/chromaprint.mjs +0 -205
  111. package/dist/actions/hash/algorithms/chromaprint.mjs.map +0 -1
  112. package/dist/actions/hash/algorithms/dhash.mjs +0 -75
  113. package/dist/actions/hash/algorithms/dhash.mjs.map +0 -1
  114. package/dist/actions/hash/algorithms/index.mjs +0 -818
  115. package/dist/actions/hash/algorithms/index.mjs.map +0 -1
  116. package/dist/actions/hash/algorithms/nilsimsa.mjs +0 -27
  117. package/dist/actions/hash/algorithms/nilsimsa.mjs.map +0 -1
  118. package/dist/actions/hash/algorithms/pdq.mjs +0 -83
  119. package/dist/actions/hash/algorithms/pdq.mjs.map +0 -1
  120. package/dist/actions/hash/algorithms/phash.mjs +0 -71
  121. package/dist/actions/hash/algorithms/phash.mjs.map +0 -1
  122. package/dist/actions/hash/algorithms/sha256.mjs +0 -24
  123. package/dist/actions/hash/algorithms/sha256.mjs.map +0 -1
  124. package/dist/actions/hash/algorithms/ssdeep.mjs +0 -203
  125. package/dist/actions/hash/algorithms/ssdeep.mjs.map +0 -1
  126. package/dist/actions/hash/algorithms/tlsh.mjs +0 -66
  127. package/dist/actions/hash/algorithms/tlsh.mjs.map +0 -1
  128. package/dist/actions/hash/algorithms/types.mjs +0 -1
  129. package/dist/actions/hash/algorithms/types.mjs.map +0 -1
  130. package/dist/actions/hash/algorithms/videoFrames.mjs +0 -404
  131. package/dist/actions/hash/algorithms/videoFrames.mjs.map +0 -1
  132. package/dist/actions/hash/algorithms/xyo.mjs +0 -30
  133. package/dist/actions/hash/algorithms/xyo.mjs.map +0 -1
  134. package/dist/actions/hash/compareHashes.mjs +0 -823
  135. package/dist/actions/hash/compareHashes.mjs.map +0 -1
  136. package/dist/actions/hash/hashInput.mjs +0 -868
  137. package/dist/actions/hash/hashInput.mjs.map +0 -1
  138. package/dist/actions/hash/index.mjs +0 -881
  139. package/dist/actions/hash/index.mjs.map +0 -1
  140. package/dist/actions/hash/lib/hamming.mjs +0 -44
  141. package/dist/actions/hash/lib/hamming.mjs.map +0 -1
  142. package/dist/actions/hash/lib/levenshtein.mjs +0 -36
  143. package/dist/actions/hash/lib/levenshtein.mjs.map +0 -1
  144. package/dist/actions/hash/lib/runBinary.mjs +0 -54
  145. package/dist/actions/hash/lib/runBinary.mjs.map +0 -1
  146. package/dist/actions/hash/lib/which.mjs +0 -36
  147. package/dist/actions/hash/lib/which.mjs.map +0 -1
  148. package/dist/actions/hash/lib/withTempfile.mjs +0 -19
  149. package/dist/actions/hash/lib/withTempfile.mjs.map +0 -1
  150. package/dist/actions/index.mjs +0 -4615
  151. package/dist/actions/index.mjs.map +0 -1
  152. package/dist/actions/printVersion.mjs +0 -12
  153. package/dist/actions/printVersion.mjs.map +0 -1
  154. package/dist/actions/sync/index.mjs +0 -51
  155. package/dist/actions/sync/index.mjs.map +0 -1
  156. package/dist/actions/sync/syncAiConfig.mjs +0 -51
  157. package/dist/actions/sync/syncAiConfig.mjs.map +0 -1
  158. package/dist/actions/wallet/account/deriveAndAdd.mjs +0 -394
  159. package/dist/actions/wallet/account/deriveAndAdd.mjs.map +0 -1
  160. package/dist/actions/wallet/account/getActiveWallet.mjs +0 -338
  161. package/dist/actions/wallet/account/getActiveWallet.mjs.map +0 -1
  162. package/dist/actions/wallet/account/labelAccount.mjs +0 -389
  163. package/dist/actions/wallet/account/labelAccount.mjs.map +0 -1
  164. package/dist/actions/wallet/account/listAccounts.mjs +0 -374
  165. package/dist/actions/wallet/account/listAccounts.mjs.map +0 -1
  166. package/dist/actions/wallet/account/removeAccount.mjs +0 -384
  167. package/dist/actions/wallet/account/removeAccount.mjs.map +0 -1
  168. package/dist/actions/wallet/account/showAccount.mjs +0 -368
  169. package/dist/actions/wallet/account/showAccount.mjs.map +0 -1
  170. package/dist/actions/wallet/addressBook/storage.mjs +0 -110
  171. package/dist/actions/wallet/addressBook/storage.mjs.map +0 -1
  172. package/dist/actions/wallet/backup/exportBackup.mjs +0 -93
  173. package/dist/actions/wallet/backup/exportBackup.mjs.map +0 -1
  174. package/dist/actions/wallet/backup/importBackup.mjs +0 -142
  175. package/dist/actions/wallet/backup/importBackup.mjs.map +0 -1
  176. package/dist/actions/wallet/balance/getBalance.mjs +0 -434
  177. package/dist/actions/wallet/balance/getBalance.mjs.map +0 -1
  178. package/dist/actions/wallet/client/walletClient.mjs +0 -64
  179. package/dist/actions/wallet/client/walletClient.mjs.map +0 -1
  180. package/dist/actions/wallet/contact/contactActions.mjs +0 -120
  181. package/dist/actions/wallet/contact/contactActions.mjs.map +0 -1
  182. package/dist/actions/wallet/contact/storage.mjs +0 -69
  183. package/dist/actions/wallet/contact/storage.mjs.map +0 -1
  184. package/dist/actions/wallet/index.mjs +0 -1439
  185. package/dist/actions/wallet/index.mjs.map +0 -1
  186. package/dist/actions/wallet/network/networkActions.mjs +0 -137
  187. package/dist/actions/wallet/network/networkActions.mjs.map +0 -1
  188. package/dist/actions/wallet/network/storage.mjs +0 -93
  189. package/dist/actions/wallet/network/storage.mjs.map +0 -1
  190. package/dist/actions/wallet/password/changePassword.mjs +0 -282
  191. package/dist/actions/wallet/password/changePassword.mjs.map +0 -1
  192. package/dist/actions/wallet/password/getActiveKey.mjs +0 -297
  193. package/dist/actions/wallet/password/getActiveKey.mjs.map +0 -1
  194. package/dist/actions/wallet/password/initOrUnlock.mjs +0 -337
  195. package/dist/actions/wallet/password/initOrUnlock.mjs.map +0 -1
  196. package/dist/actions/wallet/password/passwordStorage.mjs +0 -69
  197. package/dist/actions/wallet/password/passwordStorage.mjs.map +0 -1
  198. package/dist/actions/wallet/password/setPassword.mjs +0 -138
  199. package/dist/actions/wallet/password/setPassword.mjs.map +0 -1
  200. package/dist/actions/wallet/password/validatePassword.mjs +0 -123
  201. package/dist/actions/wallet/password/validatePassword.mjs.map +0 -1
  202. package/dist/actions/wallet/passwordKey.mjs +0 -87
  203. package/dist/actions/wallet/passwordKey.mjs.map +0 -1
  204. package/dist/actions/wallet/paths.mjs +0 -26
  205. package/dist/actions/wallet/paths.mjs.map +0 -1
  206. package/dist/actions/wallet/prompt.mjs +0 -93
  207. package/dist/actions/wallet/prompt.mjs.map +0 -1
  208. package/dist/actions/wallet/seedPhrase/createPhrase.mjs +0 -392
  209. package/dist/actions/wallet/seedPhrase/createPhrase.mjs.map +0 -1
  210. package/dist/actions/wallet/seedPhrase/exportPhrase.mjs +0 -334
  211. package/dist/actions/wallet/seedPhrase/exportPhrase.mjs.map +0 -1
  212. package/dist/actions/wallet/seedPhrase/idGen.mjs +0 -11
  213. package/dist/actions/wallet/seedPhrase/idGen.mjs.map +0 -1
  214. package/dist/actions/wallet/seedPhrase/importPhrase.mjs +0 -393
  215. package/dist/actions/wallet/seedPhrase/importPhrase.mjs.map +0 -1
  216. package/dist/actions/wallet/seedPhrase/listPhrases.mjs +0 -62
  217. package/dist/actions/wallet/seedPhrase/listPhrases.mjs.map +0 -1
  218. package/dist/actions/wallet/seedPhrase/phraseStorage.mjs +0 -89
  219. package/dist/actions/wallet/seedPhrase/phraseStorage.mjs.map +0 -1
  220. package/dist/actions/wallet/seedPhrase/removePhrase.mjs +0 -366
  221. package/dist/actions/wallet/seedPhrase/removePhrase.mjs.map +0 -1
  222. package/dist/actions/wallet/seedPhrase/renamePhrase.mjs +0 -78
  223. package/dist/actions/wallet/seedPhrase/renamePhrase.mjs.map +0 -1
  224. package/dist/actions/wallet/seedPhrase/types.mjs +0 -1
  225. package/dist/actions/wallet/seedPhrase/types.mjs.map +0 -1
  226. package/dist/actions/wallet/seedPhrase/usePhrase.mjs +0 -83
  227. package/dist/actions/wallet/seedPhrase/usePhrase.mjs.map +0 -1
  228. package/dist/actions/wallet/session/machineId.mjs +0 -145
  229. package/dist/actions/wallet/session/machineId.mjs.map +0 -1
  230. package/dist/actions/wallet/session/sessionCache.mjs +0 -221
  231. package/dist/actions/wallet/session/sessionCache.mjs.map +0 -1
  232. package/dist/actions/wallet/session/unlock.mjs +0 -307
  233. package/dist/actions/wallet/session/unlock.mjs.map +0 -1
  234. package/dist/actions/wallet/sign/signPayload.mjs +0 -637
  235. package/dist/actions/wallet/sign/signPayload.mjs.map +0 -1
  236. package/dist/actions/wallet/storage.mjs +0 -51
  237. package/dist/actions/wallet/storage.mjs.map +0 -1
  238. package/dist/actions/wallet/transaction/broadcastTransaction.mjs +0 -453
  239. package/dist/actions/wallet/transaction/broadcastTransaction.mjs.map +0 -1
  240. package/dist/actions/wallet/transaction/sendTransaction.mjs +0 -457
  241. package/dist/actions/wallet/transaction/sendTransaction.mjs.map +0 -1
  242. package/dist/actions/wallet/transaction/signTransactionFile.mjs +0 -378
  243. package/dist/actions/wallet/transaction/signTransactionFile.mjs.map +0 -1
  244. package/dist/actions/xyo/index.mjs +0 -138
  245. package/dist/actions/xyo/index.mjs.map +0 -1
  246. package/dist/actions/xyo/transaction/index.mjs +0 -138
  247. package/dist/actions/xyo/transaction/index.mjs.map +0 -1
  248. package/dist/actions/xyo/transaction/validateTransactions.mjs +0 -138
  249. package/dist/actions/xyo/transaction/validateTransactions.mjs.map +0 -1
  250. package/dist/aries.mjs.map +0 -1
  251. package/dist/bin/aries.mjs +0 -8472
  252. package/dist/bin/aries.mjs.map +0 -1
  253. package/dist/commands/aiCommand.mjs +0 -492
  254. package/dist/commands/aiCommand.mjs.map +0 -1
  255. package/dist/commands/auditAiCommand.mjs +0 -119
  256. package/dist/commands/auditAiCommand.mjs.map +0 -1
  257. package/dist/commands/auditCommand.mjs +0 -857
  258. package/dist/commands/auditCommand.mjs.map +0 -1
  259. package/dist/commands/auditInstallCommand.mjs +0 -324
  260. package/dist/commands/auditInstallCommand.mjs.map +0 -1
  261. package/dist/commands/auditListCommand.mjs +0 -107
  262. package/dist/commands/auditListCommand.mjs.map +0 -1
  263. package/dist/commands/auditOpenCommand.mjs +0 -51
  264. package/dist/commands/auditOpenCommand.mjs.map +0 -1
  265. package/dist/commands/auditSearchCommand.mjs +0 -98
  266. package/dist/commands/auditSearchCommand.mjs.map +0 -1
  267. package/dist/commands/auditShowCommand.mjs +0 -123
  268. package/dist/commands/auditShowCommand.mjs.map +0 -1
  269. package/dist/commands/auditStatusCommand.mjs +0 -105
  270. package/dist/commands/auditStatusCommand.mjs.map +0 -1
  271. package/dist/commands/clampCommand.mjs +0 -2328
  272. package/dist/commands/clampCommand.mjs.map +0 -1
  273. package/dist/commands/clampPolicyCommand.mjs +0 -184
  274. package/dist/commands/clampPolicyCommand.mjs.map +0 -1
  275. package/dist/commands/clampPolicyInitCommand.mjs +0 -63
  276. package/dist/commands/clampPolicyInitCommand.mjs.map +0 -1
  277. package/dist/commands/clampPolicyListCommand.mjs +0 -56
  278. package/dist/commands/clampPolicyListCommand.mjs.map +0 -1
  279. package/dist/commands/clampPolicyShowCommand.mjs +0 -83
  280. package/dist/commands/clampPolicyShowCommand.mjs.map +0 -1
  281. package/dist/commands/clampRunCommand.mjs +0 -2137
  282. package/dist/commands/clampRunCommand.mjs.map +0 -1
  283. package/dist/commands/datalakeAuditCommand.mjs +0 -273
  284. package/dist/commands/datalakeAuditCommand.mjs.map +0 -1
  285. package/dist/commands/datalakeCommand.mjs +0 -1637
  286. package/dist/commands/datalakeCommand.mjs.map +0 -1
  287. package/dist/commands/datalakeCreateCommand.mjs +0 -189
  288. package/dist/commands/datalakeCreateCommand.mjs.map +0 -1
  289. package/dist/commands/datalakeDescribeCommand.mjs +0 -172
  290. package/dist/commands/datalakeDescribeCommand.mjs.map +0 -1
  291. package/dist/commands/datalakeDestroyCommand.mjs +0 -53
  292. package/dist/commands/datalakeDestroyCommand.mjs.map +0 -1
  293. package/dist/commands/datalakeDevCommand.mjs +0 -470
  294. package/dist/commands/datalakeDevCommand.mjs.map +0 -1
  295. package/dist/commands/datalakeDevDownCommand.mjs +0 -111
  296. package/dist/commands/datalakeDevDownCommand.mjs.map +0 -1
  297. package/dist/commands/datalakeDevLogsCommand.mjs +0 -65
  298. package/dist/commands/datalakeDevLogsCommand.mjs.map +0 -1
  299. package/dist/commands/datalakeDevResetCommand.mjs +0 -125
  300. package/dist/commands/datalakeDevResetCommand.mjs.map +0 -1
  301. package/dist/commands/datalakeDevStatusCommand.mjs +0 -110
  302. package/dist/commands/datalakeDevStatusCommand.mjs.map +0 -1
  303. package/dist/commands/datalakeDevUpCommand.mjs +0 -268
  304. package/dist/commands/datalakeDevUpCommand.mjs.map +0 -1
  305. package/dist/commands/datalakeFetchCommand.mjs +0 -106
  306. package/dist/commands/datalakeFetchCommand.mjs.map +0 -1
  307. package/dist/commands/datalakeGrantCommand.mjs +0 -147
  308. package/dist/commands/datalakeGrantCommand.mjs.map +0 -1
  309. package/dist/commands/datalakeListCommand.mjs +0 -61
  310. package/dist/commands/datalakeListCommand.mjs.map +0 -1
  311. package/dist/commands/datalakeLoginCommand.mjs +0 -39
  312. package/dist/commands/datalakeLoginCommand.mjs.map +0 -1
  313. package/dist/commands/datalakeLogoutCommand.mjs +0 -20
  314. package/dist/commands/datalakeLogoutCommand.mjs.map +0 -1
  315. package/dist/commands/datalakePushCommand.mjs +0 -214
  316. package/dist/commands/datalakePushCommand.mjs.map +0 -1
  317. package/dist/commands/datalakeRevokeCommand.mjs +0 -127
  318. package/dist/commands/datalakeRevokeCommand.mjs.map +0 -1
  319. package/dist/commands/datalakeTailCommand.mjs +0 -144
  320. package/dist/commands/datalakeTailCommand.mjs.map +0 -1
  321. package/dist/commands/datalakeTokenCommand.mjs +0 -61
  322. package/dist/commands/datalakeTokenCommand.mjs.map +0 -1
  323. package/dist/commands/datalakeUseCommand.mjs +0 -35
  324. package/dist/commands/datalakeUseCommand.mjs.map +0 -1
  325. package/dist/commands/detectCommand.mjs +0 -419
  326. package/dist/commands/detectCommand.mjs.map +0 -1
  327. package/dist/commands/hashCommand.mjs +0 -976
  328. package/dist/commands/hashCommand.mjs.map +0 -1
  329. package/dist/commands/hashCompareCommand.mjs +0 -865
  330. package/dist/commands/hashCompareCommand.mjs.map +0 -1
  331. package/dist/commands/index.mjs +0 -8461
  332. package/dist/commands/index.mjs.map +0 -1
  333. package/dist/commands/syncCommand.mjs +0 -66
  334. package/dist/commands/syncCommand.mjs.map +0 -1
  335. package/dist/commands/versionCommand.mjs +0 -24
  336. package/dist/commands/versionCommand.mjs.map +0 -1
  337. package/dist/commands/walletAccountCommand.mjs +0 -536
  338. package/dist/commands/walletAccountCommand.mjs.map +0 -1
  339. package/dist/commands/walletAccountDeriveCommand.mjs +0 -415
  340. package/dist/commands/walletAccountDeriveCommand.mjs.map +0 -1
  341. package/dist/commands/walletAccountLabelCommand.mjs +0 -405
  342. package/dist/commands/walletAccountLabelCommand.mjs.map +0 -1
  343. package/dist/commands/walletAccountListCommand.mjs +0 -381
  344. package/dist/commands/walletAccountListCommand.mjs.map +0 -1
  345. package/dist/commands/walletAccountRemoveCommand.mjs +0 -396
  346. package/dist/commands/walletAccountRemoveCommand.mjs.map +0 -1
  347. package/dist/commands/walletAccountShowCommand.mjs +0 -380
  348. package/dist/commands/walletAccountShowCommand.mjs.map +0 -1
  349. package/dist/commands/walletBackupCommand.mjs +0 -222
  350. package/dist/commands/walletBackupCommand.mjs.map +0 -1
  351. package/dist/commands/walletBackupExportCommand.mjs +0 -107
  352. package/dist/commands/walletBackupExportCommand.mjs.map +0 -1
  353. package/dist/commands/walletBackupImportCommand.mjs +0 -154
  354. package/dist/commands/walletBackupImportCommand.mjs.map +0 -1
  355. package/dist/commands/walletBalanceCommand.mjs +0 -448
  356. package/dist/commands/walletBalanceCommand.mjs.map +0 -1
  357. package/dist/commands/walletCommand.mjs +0 -1968
  358. package/dist/commands/walletCommand.mjs.map +0 -1
  359. package/dist/commands/walletContactAddCommand.mjs +0 -111
  360. package/dist/commands/walletContactAddCommand.mjs.map +0 -1
  361. package/dist/commands/walletContactCommand.mjs +0 -184
  362. package/dist/commands/walletContactCommand.mjs.map +0 -1
  363. package/dist/commands/walletContactListCommand.mjs +0 -66
  364. package/dist/commands/walletContactListCommand.mjs.map +0 -1
  365. package/dist/commands/walletContactRemoveCommand.mjs +0 -97
  366. package/dist/commands/walletContactRemoveCommand.mjs.map +0 -1
  367. package/dist/commands/walletContactRenameCommand.mjs +0 -114
  368. package/dist/commands/walletContactRenameCommand.mjs.map +0 -1
  369. package/dist/commands/walletCreateCommand.mjs +0 -407
  370. package/dist/commands/walletCreateCommand.mjs.map +0 -1
  371. package/dist/commands/walletExportCommand.mjs +0 -345
  372. package/dist/commands/walletExportCommand.mjs.map +0 -1
  373. package/dist/commands/walletImportCommand.mjs +0 -413
  374. package/dist/commands/walletImportCommand.mjs.map +0 -1
  375. package/dist/commands/walletListCommand.mjs +0 -69
  376. package/dist/commands/walletListCommand.mjs.map +0 -1
  377. package/dist/commands/walletLockCommand.mjs +0 -56
  378. package/dist/commands/walletLockCommand.mjs.map +0 -1
  379. package/dist/commands/walletNetworkAddCommand.mjs +0 -131
  380. package/dist/commands/walletNetworkAddCommand.mjs.map +0 -1
  381. package/dist/commands/walletNetworkCommand.mjs +0 -206
  382. package/dist/commands/walletNetworkCommand.mjs.map +0 -1
  383. package/dist/commands/walletNetworkListCommand.mjs +0 -104
  384. package/dist/commands/walletNetworkListCommand.mjs.map +0 -1
  385. package/dist/commands/walletNetworkRemoveCommand.mjs +0 -112
  386. package/dist/commands/walletNetworkRemoveCommand.mjs.map +0 -1
  387. package/dist/commands/walletNetworkUseCommand.mjs +0 -110
  388. package/dist/commands/walletNetworkUseCommand.mjs.map +0 -1
  389. package/dist/commands/walletPasswordChangeCommand.mjs +0 -291
  390. package/dist/commands/walletPasswordChangeCommand.mjs.map +0 -1
  391. package/dist/commands/walletPasswordCommand.mjs +0 -301
  392. package/dist/commands/walletPasswordCommand.mjs.map +0 -1
  393. package/dist/commands/walletRemoveCommand.mjs +0 -378
  394. package/dist/commands/walletRemoveCommand.mjs.map +0 -1
  395. package/dist/commands/walletRenameCommand.mjs +0 -94
  396. package/dist/commands/walletRenameCommand.mjs.map +0 -1
  397. package/dist/commands/walletSignCommand.mjs +0 -662
  398. package/dist/commands/walletSignCommand.mjs.map +0 -1
  399. package/dist/commands/walletTxBroadcastCommand.mjs +0 -473
  400. package/dist/commands/walletTxBroadcastCommand.mjs.map +0 -1
  401. package/dist/commands/walletTxCommand.mjs +0 -612
  402. package/dist/commands/walletTxCommand.mjs.map +0 -1
  403. package/dist/commands/walletTxSendCommand.mjs +0 -492
  404. package/dist/commands/walletTxSendCommand.mjs.map +0 -1
  405. package/dist/commands/walletTxSignCommand.mjs +0 -403
  406. package/dist/commands/walletTxSignCommand.mjs.map +0 -1
  407. package/dist/commands/walletUnlockCommand.mjs +0 -308
  408. package/dist/commands/walletUnlockCommand.mjs.map +0 -1
  409. package/dist/commands/walletUseCommand.mjs +0 -95
  410. package/dist/commands/walletUseCommand.mjs.map +0 -1
  411. package/dist/commands/xyoCommand.mjs +0 -188
  412. package/dist/commands/xyoCommand.mjs.map +0 -1
  413. package/dist/commands/xyoTxCommand.mjs +0 -178
  414. package/dist/commands/xyoTxCommand.mjs.map +0 -1
  415. package/dist/commands/xyoTxValidateCommand.mjs +0 -168
  416. package/dist/commands/xyoTxValidateCommand.mjs.map +0 -1
  417. package/dist/index.d.ts +0 -3
  418. package/dist/index.mjs +0 -8466
  419. package/dist/index.mjs.map +0 -1
  420. package/dist/types/modules.d.mjs +0 -1
  421. package/dist/types/modules.d.mjs.map +0 -1
@@ -1,470 +0,0 @@
1
- // src/actions/datalake/dev/downDevServer.ts
2
- import { clearCredentials, loadCredentials } from "@xylabs/aries-datalake-client";
3
- import chalk from "chalk";
4
-
5
- // src/actions/datalake/dev/state.ts
6
- import {
7
- existsSync,
8
- mkdirSync,
9
- readFileSync,
10
- unlinkSync,
11
- writeFileSync
12
- } from "fs";
13
-
14
- // src/actions/datalake/dev/paths.ts
15
- import { homedir } from "os";
16
- import path from "path";
17
- function getAriesHome() {
18
- return process.env.ARIES_HOME ?? path.join(homedir(), ".aries");
19
- }
20
- function getDevDir() {
21
- return path.join(getAriesHome(), "dev");
22
- }
23
- function getDevStatePath() {
24
- return path.join(getDevDir(), "state.json");
25
- }
26
- function getDevPidPath() {
27
- return path.join(getDevDir(), "pid");
28
- }
29
- function getDevLogPath() {
30
- return path.join(getDevDir(), "server.log");
31
- }
32
-
33
- // src/actions/datalake/dev/state.ts
34
- function readDevState() {
35
- const filePath = getDevStatePath();
36
- if (!existsSync(filePath)) return void 0;
37
- try {
38
- return JSON.parse(readFileSync(filePath, "utf8"));
39
- } catch {
40
- return void 0;
41
- }
42
- }
43
- function writeDevState(state) {
44
- const dir = getDevDir();
45
- if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
46
- writeFileSync(getDevStatePath(), JSON.stringify(state, void 0, 2), "utf8");
47
- writeFileSync(getDevPidPath(), String(state.pid), "utf8");
48
- }
49
- function clearDevState() {
50
- for (const filePath of [getDevStatePath(), getDevPidPath()]) {
51
- if (existsSync(filePath)) unlinkSync(filePath);
52
- }
53
- }
54
- function isProcessAlive(pid) {
55
- try {
56
- process.kill(pid, 0);
57
- return true;
58
- } catch (error) {
59
- const code = error.code;
60
- return code === "EPERM";
61
- }
62
- }
63
-
64
- // src/actions/datalake/dev/downDevServer.ts
65
- var DEFAULT_GRACE_MS = 2e3;
66
- var POLL_MS = 50;
67
- async function downDevServer(options = {}) {
68
- const state = readDevState();
69
- if (!state) {
70
- console.log(chalk.yellow("dev server is not running"));
71
- return;
72
- }
73
- const graceMs = options.gracePeriodMs ?? DEFAULT_GRACE_MS;
74
- if (!isProcessAlive(state.pid)) {
75
- cleanup(state.controlUrl);
76
- console.log(chalk.green(`dev server pid ${state.pid} was already stopped \u2014 cleaned up state`));
77
- return;
78
- }
79
- try {
80
- process.kill(state.pid, "SIGTERM");
81
- } catch (error) {
82
- const code = error.code;
83
- if (code !== "ESRCH") throw error;
84
- }
85
- const deadline = Date.now() + graceMs;
86
- while (Date.now() < deadline && isProcessAlive(state.pid)) {
87
- await delay(POLL_MS);
88
- }
89
- if (isProcessAlive(state.pid)) {
90
- try {
91
- process.kill(state.pid, "SIGKILL");
92
- } catch {
93
- }
94
- }
95
- cleanup(state.controlUrl);
96
- console.log(chalk.green(`dev server pid ${state.pid} stopped`));
97
- }
98
- function cleanup(controlUrl) {
99
- const credentials = loadCredentials();
100
- if (credentials?.baseUrl === controlUrl) {
101
- clearCredentials();
102
- }
103
- clearDevState();
104
- }
105
- function delay(ms) {
106
- return new Promise((resolve) => setTimeout(resolve, ms));
107
- }
108
-
109
- // src/actions/datalake/dev/logsDevServer.ts
110
- import { spawn } from "child_process";
111
- import { existsSync as existsSync2, readFileSync as readFileSync2 } from "fs";
112
- import chalk2 from "chalk";
113
- async function logsDevServer(options = {}) {
114
- const logPath = getDevLogPath();
115
- if (!existsSync2(logPath)) {
116
- console.log(chalk2.yellow("no dev server log file yet"));
117
- return;
118
- }
119
- if (options.follow) {
120
- const child = spawn("tail", ["-n", String(options.lines ?? 50), "-f", logPath], { stdio: "inherit" });
121
- await new Promise((resolve) => {
122
- child.on("exit", (code) => {
123
- process.exitCode = code ?? 0;
124
- resolve();
125
- });
126
- });
127
- return;
128
- }
129
- const lines = readFileSync2(logPath, "utf8").split("\n");
130
- const tail = lines.slice(-(options.lines ?? 50));
131
- process.stdout.write(tail.join("\n"));
132
- if (!tail.at(-1)?.endsWith("\n")) process.stdout.write("\n");
133
- }
134
-
135
- // src/actions/datalake/dev/resetDevServer.ts
136
- import { existsSync as existsSync3, rmSync } from "fs";
137
- import chalk3 from "chalk";
138
- async function resetDevServer() {
139
- await downDevServer();
140
- const dir = getDevDir();
141
- if (!existsSync3(dir)) {
142
- console.log(chalk3.green("nothing to reset"));
143
- return;
144
- }
145
- rmSync(dir, { recursive: true, force: true });
146
- console.log(chalk3.green(`reset ${dir}`));
147
- }
148
-
149
- // src/actions/datalake/dev/statusDevServer.ts
150
- import chalk4 from "chalk";
151
- async function statusDevServer() {
152
- const state = readDevState();
153
- if (!state) {
154
- console.log(chalk4.yellow("dev server not running"));
155
- process.exitCode = 3;
156
- return;
157
- }
158
- const alive = isProcessAlive(state.pid);
159
- const healthy = alive ? await pingHealth(state.controlUrl) : false;
160
- const uptime = formatUptime(state.startedAt);
161
- console.log(chalk4.cyan("dev server status"));
162
- console.log(` ${chalk4.gray("state:")} ${statusLabel(alive, healthy)}`);
163
- console.log(` ${chalk4.gray("pid:")} ${state.pid}`);
164
- console.log(` ${chalk4.gray("control:")} ${state.controlUrl}`);
165
- console.log(` ${chalk4.gray("data:")} ${state.planeUrl}`);
166
- console.log(` ${chalk4.gray("user:")} ${state.userId}`);
167
- console.log(` ${chalk4.gray("started:")} ${state.startedAt}${uptime ? ` (${uptime})` : ""}`);
168
- console.log(` ${chalk4.gray("log:")} ${getDevLogPath()}`);
169
- if (alive && !healthy) {
170
- process.exitCode = 2;
171
- } else if (!alive) {
172
- process.exitCode = 3;
173
- }
174
- }
175
- function statusLabel(alive, healthy) {
176
- if (alive && healthy) return chalk4.green("running + healthy");
177
- if (alive) return chalk4.yellow("running but unresponsive");
178
- return chalk4.red("stale state (process gone)");
179
- }
180
- async function pingHealth(controlUrl) {
181
- try {
182
- const controller = new AbortController();
183
- const timeout = setTimeout(() => controller.abort(), 1e3);
184
- const response = await fetch(`${controlUrl}/v1/health`, { signal: controller.signal });
185
- clearTimeout(timeout);
186
- return response.ok;
187
- } catch {
188
- return false;
189
- }
190
- }
191
- function formatUptime(startedAt) {
192
- const started = new Date(startedAt).getTime();
193
- if (Number.isNaN(started)) return "";
194
- const seconds = Math.max(0, Math.floor((Date.now() - started) / 1e3));
195
- if (seconds < 60) return `${seconds}s`;
196
- const minutes = Math.floor(seconds / 60);
197
- if (minutes < 60) return `${minutes}m ${seconds % 60}s`;
198
- const hours = Math.floor(minutes / 60);
199
- return `${hours}h ${minutes % 60}m`;
200
- }
201
-
202
- // src/actions/datalake/dev/upDevServer.ts
203
- import { spawn as spawn2 } from "child_process";
204
- import { randomBytes } from "crypto";
205
- import {
206
- existsSync as existsSync5,
207
- mkdirSync as mkdirSync2,
208
- openSync
209
- } from "fs";
210
- import path3 from "path";
211
- import { saveCredentials } from "@xylabs/aries-datalake-client";
212
- import chalk5 from "chalk";
213
-
214
- // src/actions/datalake/dev/resolveServerBin.ts
215
- import { existsSync as existsSync4 } from "fs";
216
- import { createRequire } from "module";
217
- import path2 from "path";
218
- var require2 = createRequire(import.meta.url);
219
- function resolveServerBin() {
220
- let packageJsonPath;
221
- try {
222
- packageJsonPath = require2.resolve("@xylabs/aries-datalake-plane/package.json");
223
- } catch {
224
- throw new Error(
225
- "@xylabs/aries-datalake-plane is not installed. Install it as a dev dependency to use `aries datalake dev` locally."
226
- );
227
- }
228
- const binPath = path2.join(path2.dirname(packageJsonPath), "dist", "bin", "devServer.mjs");
229
- if (!existsSync4(binPath)) {
230
- throw new Error(
231
- `Dev server binary not found at ${binPath}. Run \`pnpm xy compile\` to build it.`
232
- );
233
- }
234
- return binPath;
235
- }
236
-
237
- // src/actions/datalake/dev/waitForHealth.ts
238
- var POLL_INTERVAL_MS = 100;
239
- async function waitForHealth(baseUrl, timeoutMs) {
240
- const deadline = Date.now() + timeoutMs;
241
- const url = `${baseUrl.replace(/\/$/, "")}/v1/health`;
242
- while (Date.now() < deadline) {
243
- try {
244
- const response = await fetch(url);
245
- if (response.ok) return true;
246
- } catch {
247
- }
248
- await delay2(POLL_INTERVAL_MS);
249
- }
250
- return false;
251
- }
252
- function delay2(ms) {
253
- return new Promise((resolve) => setTimeout(resolve, ms));
254
- }
255
-
256
- // src/actions/datalake/dev/upDevServer.ts
257
- var DEFAULT_CONTROL_PORT = 8787;
258
- var DEFAULT_PLANE_PORT = 8788;
259
- var DEFAULT_TIMEOUT_SECONDS = 10;
260
- function resolveOptions(options) {
261
- const controlPort = options.controlPort ?? DEFAULT_CONTROL_PORT;
262
- const planePort = options.planePort ?? DEFAULT_PLANE_PORT;
263
- const rotate = options.auditRotate === true;
264
- return {
265
- controlPort,
266
- planePort,
267
- controlUrl: `http://127.0.0.1:${controlPort}`,
268
- planeUrl: `http://127.0.0.1:${planePort}`,
269
- userId: options.userId ?? "dev-user",
270
- authToken: options.authToken ?? randomBytes(16).toString("hex"),
271
- signingSecret: options.signingSecret ?? randomBytes(32).toString("hex"),
272
- timeoutMs: (options.timeoutSeconds ?? DEFAULT_TIMEOUT_SECONDS) * 1e3,
273
- persistDir: options.persist ? path3.join(getDevDir(), "store") : void 0,
274
- auditLogPath: options.audit && !rotate ? path3.join(getDevDir(), "audit.log") : void 0,
275
- auditDir: options.audit && rotate ? path3.join(getDevDir(), "audit") : void 0,
276
- auditKeepDays: rotate ? options.auditKeepDays : void 0
277
- };
278
- }
279
- function spawnDaemon(binPath, resolved) {
280
- const devDir = getDevDir();
281
- if (!existsSync5(devDir)) mkdirSync2(devDir, { recursive: true });
282
- const logFd = openSync(getDevLogPath(), "a");
283
- const env = {
284
- ...process.env,
285
- CONTROL_PORT: String(resolved.controlPort),
286
- PLANE_PORT: String(resolved.planePort),
287
- HOST: "127.0.0.1",
288
- DATALAKE_CONTROL_TOKENS: `${resolved.authToken}=${resolved.userId}`,
289
- TOKEN_SIGNING_SECRET: resolved.signingSecret,
290
- DATALAKE_ORIGIN_URL: resolved.planeUrl,
291
- LOG_LEVEL: process.env.LOG_LEVEL ?? "info"
292
- };
293
- if (resolved.persistDir) env.DATALAKE_PERSIST_DIR = resolved.persistDir;
294
- if (resolved.auditLogPath) env.DATALAKE_AUDIT_LOG = resolved.auditLogPath;
295
- if (resolved.auditDir) env.DATALAKE_AUDIT_DIR = resolved.auditDir;
296
- if (resolved.auditKeepDays !== void 0) env.DATALAKE_AUDIT_MAX_AGE_DAYS = String(resolved.auditKeepDays);
297
- const child = spawn2(process.execPath, [binPath], {
298
- detached: true,
299
- stdio: ["ignore", logFd, logFd],
300
- env
301
- });
302
- child.unref();
303
- return child;
304
- }
305
- function describeAudit(resolved) {
306
- if (resolved.auditDir) {
307
- return `rotating ${resolved.auditDir}${resolved.auditKeepDays ? ` (keep ${resolved.auditKeepDays}d)` : ""}`;
308
- }
309
- return resolved.auditLogPath ?? "disabled";
310
- }
311
- function printReadyBanner(state, resolved) {
312
- console.log(chalk5.green("dev server ready"));
313
- console.log(` ${chalk5.gray("control:")} ${state.controlUrl}`);
314
- console.log(` ${chalk5.gray("data:")} ${state.planeUrl}`);
315
- console.log(` ${chalk5.gray("user:")} ${state.userId}`);
316
- console.log(` ${chalk5.gray("log:")} ${getDevLogPath()}`);
317
- console.log(` ${chalk5.gray("store:")} ${resolved.persistDir ? `persisted (${resolved.persistDir})` : "in-memory"}`);
318
- console.log(` ${chalk5.gray("audit:")} ${describeAudit(resolved)}`);
319
- console.log(chalk5.gray("\nCLI is configured \u2014 try `aries datalake list`"));
320
- }
321
- async function upDevServer(options = {}) {
322
- const existing = readDevState();
323
- if (existing && isProcessAlive(existing.pid)) {
324
- console.log(chalk5.yellow(`dev server already running (pid ${existing.pid}) at ${existing.controlUrl}`));
325
- return existing;
326
- }
327
- if (existing) clearDevState();
328
- const resolved = resolveOptions(options);
329
- const child = spawnDaemon(resolveServerBin(), resolved);
330
- if (!child.pid) throw new Error("Failed to spawn dev server process");
331
- console.log(chalk5.gray(`starting dev server (pid ${child.pid})...`));
332
- const healthy = await waitForHealth(resolved.controlUrl, resolved.timeoutMs);
333
- if (!healthy) {
334
- try {
335
- process.kill(child.pid, "SIGTERM");
336
- } catch {
337
- }
338
- throw new Error(
339
- `Dev server did not become healthy within ${resolved.timeoutMs / 1e3}s. Check logs at ${getDevLogPath()}`
340
- );
341
- }
342
- const state = {
343
- pid: child.pid,
344
- controlUrl: resolved.controlUrl,
345
- planeUrl: resolved.planeUrl,
346
- controlPort: resolved.controlPort,
347
- planePort: resolved.planePort,
348
- userId: resolved.userId,
349
- authToken: resolved.authToken,
350
- signingSecret: resolved.signingSecret,
351
- startedAt: (/* @__PURE__ */ new Date()).toISOString()
352
- };
353
- writeDevState(state);
354
- saveCredentials({
355
- baseUrl: resolved.controlUrl,
356
- authToken: resolved.authToken,
357
- userId: resolved.userId
358
- });
359
- printReadyBanner(state, resolved);
360
- return state;
361
- }
362
-
363
- // src/commands/datalakeDevDownCommand.ts
364
- var datalakeDevDownCommand = {
365
- command: "down",
366
- describe: "Stop the local dev server (if running) and clear its credentials",
367
- handler: async () => {
368
- await downDevServer();
369
- }
370
- };
371
-
372
- // src/commands/datalakeDevLogsCommand.ts
373
- var datalakeDevLogsCommand = {
374
- command: "logs",
375
- describe: "Print recent dev server log output",
376
- builder: (yargs) => yargs.option("follow", {
377
- alias: "f",
378
- type: "boolean",
379
- default: false,
380
- describe: "Stream new lines as they arrive"
381
- }).option("lines", {
382
- alias: "n",
383
- type: "number",
384
- default: 50,
385
- describe: "Number of tail lines to show"
386
- }),
387
- handler: async (argv) => {
388
- await logsDevServer({
389
- follow: argv.follow,
390
- lines: argv.lines
391
- });
392
- }
393
- };
394
-
395
- // src/commands/datalakeDevResetCommand.ts
396
- var datalakeDevResetCommand = {
397
- command: "reset",
398
- describe: "Stop the dev server and wipe all its local state",
399
- handler: async () => {
400
- await resetDevServer();
401
- }
402
- };
403
-
404
- // src/commands/datalakeDevStatusCommand.ts
405
- var datalakeDevStatusCommand = {
406
- command: "status",
407
- describe: "Report whether the local dev server is running and healthy",
408
- handler: async () => {
409
- await statusDevServer();
410
- }
411
- };
412
-
413
- // src/commands/datalakeDevUpCommand.ts
414
- var datalakeDevUpCommand = {
415
- command: "up",
416
- describe: "Start the local control + data plane dev server and wire the CLI to it",
417
- builder: (yargs) => yargs.option("control-port", {
418
- type: "number",
419
- default: 8787,
420
- describe: "Control-plane port"
421
- }).option("plane-port", {
422
- type: "number",
423
- default: 8788,
424
- describe: "Data-plane port"
425
- }).option("timeout", {
426
- type: "number",
427
- default: 10,
428
- describe: "Seconds to wait for health"
429
- }).option("persist", {
430
- type: "boolean",
431
- default: false,
432
- describe: "Persist store state to disk so it survives restarts"
433
- }).option("audit", {
434
- type: "boolean",
435
- default: false,
436
- describe: "Write a JSONL audit log of every data-plane request"
437
- }).option("audit-rotate", {
438
- type: "boolean",
439
- default: false,
440
- describe: "Rotate the audit log daily (writes to <home>/dev/audit/)"
441
- }).option("audit-keep-days", {
442
- type: "number",
443
- describe: "Prune rotated audit files older than this many days"
444
- }),
445
- handler: async (argv) => {
446
- await upDevServer({
447
- controlPort: argv["control-port"],
448
- planePort: argv["plane-port"],
449
- timeoutSeconds: argv.timeout,
450
- persist: argv.persist,
451
- audit: argv.audit,
452
- auditRotate: argv["audit-rotate"],
453
- auditKeepDays: argv["audit-keep-days"]
454
- });
455
- }
456
- };
457
-
458
- // src/commands/datalakeDevCommand.ts
459
- var datalakeDevCommand = {
460
- command: "dev",
461
- describe: "Run a local datalake control + data plane for development & testing",
462
- builder: (yargs) => yargs.command(datalakeDevUpCommand).command(datalakeDevDownCommand).command(datalakeDevStatusCommand).command(datalakeDevLogsCommand).command(datalakeDevResetCommand).demandCommand(1).strictCommands(),
463
- // eslint-disable-next-line @typescript-eslint/no-empty-function
464
- handler: () => {
465
- }
466
- };
467
- export {
468
- datalakeDevCommand
469
- };
470
- //# sourceMappingURL=datalakeDevCommand.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/actions/datalake/dev/downDevServer.ts","../../src/actions/datalake/dev/state.ts","../../src/actions/datalake/dev/paths.ts","../../src/actions/datalake/dev/logsDevServer.ts","../../src/actions/datalake/dev/resetDevServer.ts","../../src/actions/datalake/dev/statusDevServer.ts","../../src/actions/datalake/dev/upDevServer.ts","../../src/actions/datalake/dev/resolveServerBin.ts","../../src/actions/datalake/dev/waitForHealth.ts","../../src/commands/datalakeDevDownCommand.ts","../../src/commands/datalakeDevLogsCommand.ts","../../src/commands/datalakeDevResetCommand.ts","../../src/commands/datalakeDevStatusCommand.ts","../../src/commands/datalakeDevUpCommand.ts","../../src/commands/datalakeDevCommand.ts"],"sourcesContent":["import { clearCredentials, loadCredentials } from '@xylabs/aries-datalake-client'\nimport chalk from 'chalk'\n\nimport {\n clearDevState, isProcessAlive, readDevState,\n} from './state.ts'\n\n/**\n * Stops the dev server spawned by `upDevServer`. Sends SIGTERM, waits up to\n * `gracePeriodMs` for a clean exit, then SIGKILLs if the process is still\n * around. Clears credentials only when they still point at the dev server —\n * we never want to stomp a user's real sign-in.\n */\nexport interface DownDevServerOptions {\n gracePeriodMs?: number\n}\n\nconst DEFAULT_GRACE_MS = 2000\nconst POLL_MS = 50\n\nexport async function downDevServer(options: DownDevServerOptions = {}): Promise<void> {\n const state = readDevState()\n if (!state) {\n console.log(chalk.yellow('dev server is not running'))\n return\n }\n const graceMs = options.gracePeriodMs ?? DEFAULT_GRACE_MS\n\n if (!isProcessAlive(state.pid)) {\n cleanup(state.controlUrl)\n console.log(chalk.green(`dev server pid ${state.pid} was already stopped — cleaned up state`))\n return\n }\n\n try {\n process.kill(state.pid, 'SIGTERM')\n } catch (error) {\n const code = (error as NodeJS.ErrnoException).code\n if (code !== 'ESRCH') throw error\n }\n\n const deadline = Date.now() + graceMs\n while (Date.now() < deadline && isProcessAlive(state.pid)) {\n await delay(POLL_MS)\n }\n if (isProcessAlive(state.pid)) {\n try {\n process.kill(state.pid, 'SIGKILL')\n } catch {\n // best effort\n }\n }\n\n cleanup(state.controlUrl)\n console.log(chalk.green(`dev server pid ${state.pid} stopped`))\n}\n\nfunction cleanup(controlUrl: string): void {\n const credentials = loadCredentials()\n if (credentials?.baseUrl === controlUrl) {\n clearCredentials()\n }\n clearDevState()\n}\n\nfunction delay(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms))\n}\n","import {\n existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync,\n} from 'node:fs'\n\nimport {\n getDevDir, getDevPidPath, getDevStatePath,\n} from './paths.ts'\n\n/**\n * On-disk bookkeeping for a running dev server. Lives in `~/.aries/dev/` so\n * it survives across CLI invocations and can be queried by `dev status` /\n * `dev logs` / `dev down`.\n */\nexport interface DevState {\n pid: number\n controlUrl: string\n planeUrl: string\n controlPort: number\n planePort: number\n /** User id the dev auth token resolves to on the control plane. */\n userId: string\n /** Bearer token accepted by the dev control plane (written to credentials). */\n authToken: string\n /** Secret the dev control plane HMAC-signs data-plane JWTs with. */\n signingSecret: string\n /** ISO-8601 startup time. */\n startedAt: string\n}\n\nexport function readDevState(): DevState | undefined {\n const filePath = getDevStatePath()\n if (!existsSync(filePath)) return undefined\n try {\n return JSON.parse(readFileSync(filePath, 'utf8')) as DevState\n } catch {\n return undefined\n }\n}\n\nexport function writeDevState(state: DevState): void {\n const dir = getDevDir()\n if (!existsSync(dir)) mkdirSync(dir, { recursive: true })\n writeFileSync(getDevStatePath(), JSON.stringify(state, undefined, 2), 'utf8')\n writeFileSync(getDevPidPath(), String(state.pid), 'utf8')\n}\n\nexport function clearDevState(): void {\n for (const filePath of [getDevStatePath(), getDevPidPath()]) {\n if (existsSync(filePath)) unlinkSync(filePath)\n }\n}\n\n/**\n * Returns true iff the pid is still a live process. `kill(pid, 0)` throws\n * ESRCH when the process doesn't exist and EPERM when it does but we can't\n * signal it — both answer the question we're asking.\n */\nexport function isProcessAlive(pid: number): boolean {\n try {\n process.kill(pid, 0)\n return true\n } catch (error) {\n const code = (error as NodeJS.ErrnoException).code\n return code === 'EPERM'\n }\n}\n","import { homedir } from 'node:os'\nimport path from 'node:path'\n\nfunction getAriesHome(): string {\n return process.env.ARIES_HOME ?? path.join(homedir(), '.aries')\n}\n\nexport function getDevDir(): string {\n return path.join(getAriesHome(), 'dev')\n}\n\nexport function getDevStatePath(): string {\n return path.join(getDevDir(), 'state.json')\n}\n\nexport function getDevPidPath(): string {\n return path.join(getDevDir(), 'pid')\n}\n\nexport function getDevLogPath(): string {\n return path.join(getDevDir(), 'server.log')\n}\n","import { spawn } from 'node:child_process'\nimport { existsSync, readFileSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { getDevLogPath } from './paths.ts'\n\nexport interface LogsDevServerOptions {\n follow?: boolean\n /** Number of tail lines to print when not following. */\n lines?: number\n}\n\n/**\n * Streams or dumps the dev server log file. Uses `tail -f` for the follow\n * case so the output stays bounded; for one-shot we read the file and print\n * the last `lines` lines ourselves (portable, no shell subprocess).\n */\nexport async function logsDevServer(options: LogsDevServerOptions = {}): Promise<void> {\n const logPath = getDevLogPath()\n if (!existsSync(logPath)) {\n console.log(chalk.yellow('no dev server log file yet'))\n return\n }\n\n if (options.follow) {\n const child = spawn('tail', ['-n', String(options.lines ?? 50), '-f', logPath], { stdio: 'inherit' })\n await new Promise<void>((resolve) => {\n child.on('exit', (code) => {\n process.exitCode = code ?? 0\n resolve()\n })\n })\n return\n }\n\n const lines = readFileSync(logPath, 'utf8').split('\\n')\n const tail = lines.slice(-(options.lines ?? 50))\n process.stdout.write(tail.join('\\n'))\n if (!tail.at(-1)?.endsWith('\\n')) process.stdout.write('\\n')\n}\n","import { existsSync, rmSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { downDevServer } from './downDevServer.ts'\nimport { getDevDir } from './paths.ts'\n\n/**\n * Stops the dev server and deletes all dev state. Useful after a crashed\n * server leaves stale sockets or a dirty log file.\n */\nexport async function resetDevServer(): Promise<void> {\n await downDevServer()\n const dir = getDevDir()\n if (!existsSync(dir)) {\n console.log(chalk.green('nothing to reset'))\n return\n }\n rmSync(dir, { recursive: true, force: true })\n console.log(chalk.green(`reset ${dir}`))\n}\n","import chalk from 'chalk'\n\nimport { getDevLogPath } from './paths.ts'\nimport { isProcessAlive, readDevState } from './state.ts'\n\nexport async function statusDevServer(): Promise<void> {\n const state = readDevState()\n if (!state) {\n console.log(chalk.yellow('dev server not running'))\n process.exitCode = 3\n return\n }\n\n const alive = isProcessAlive(state.pid)\n const healthy = alive ? await pingHealth(state.controlUrl) : false\n const uptime = formatUptime(state.startedAt)\n\n console.log(chalk.cyan('dev server status'))\n console.log(` ${chalk.gray('state:')} ${statusLabel(alive, healthy)}`)\n console.log(` ${chalk.gray('pid:')} ${state.pid}`)\n console.log(` ${chalk.gray('control:')} ${state.controlUrl}`)\n console.log(` ${chalk.gray('data:')} ${state.planeUrl}`)\n console.log(` ${chalk.gray('user:')} ${state.userId}`)\n console.log(` ${chalk.gray('started:')} ${state.startedAt}${uptime ? ` (${uptime})` : ''}`)\n console.log(` ${chalk.gray('log:')} ${getDevLogPath()}`)\n\n if (alive && !healthy) {\n process.exitCode = 2\n } else if (!alive) {\n process.exitCode = 3\n }\n}\n\nfunction statusLabel(alive: boolean, healthy: boolean): string {\n if (alive && healthy) return chalk.green('running + healthy')\n if (alive) return chalk.yellow('running but unresponsive')\n return chalk.red('stale state (process gone)')\n}\n\nasync function pingHealth(controlUrl: string): Promise<boolean> {\n try {\n const controller = new AbortController()\n const timeout = setTimeout(() => controller.abort(), 1000)\n const response = await fetch(`${controlUrl}/v1/health`, { signal: controller.signal })\n clearTimeout(timeout)\n return response.ok\n } catch {\n return false\n }\n}\n\nfunction formatUptime(startedAt: string): string {\n const started = new Date(startedAt).getTime()\n if (Number.isNaN(started)) return ''\n const seconds = Math.max(0, Math.floor((Date.now() - started) / 1000))\n if (seconds < 60) return `${seconds}s`\n const minutes = Math.floor(seconds / 60)\n if (minutes < 60) return `${minutes}m ${seconds % 60}s`\n const hours = Math.floor(minutes / 60)\n return `${hours}h ${minutes % 60}m`\n}\n","import type { ChildProcess } from 'node:child_process'\nimport { spawn } from 'node:child_process'\nimport { randomBytes } from 'node:crypto'\nimport {\n existsSync, mkdirSync, openSync,\n} from 'node:fs'\nimport path from 'node:path'\n\nimport { saveCredentials } from '@xylabs/aries-datalake-client'\nimport chalk from 'chalk'\n\nimport { getDevDir, getDevLogPath } from './paths.ts'\nimport { resolveServerBin } from './resolveServerBin.ts'\nimport {\n clearDevState, type DevState, isProcessAlive, readDevState, writeDevState,\n} from './state.ts'\nimport { waitForHealth } from './waitForHealth.ts'\n\nexport interface UpDevServerOptions {\n controlPort?: number\n planePort?: number\n /** Seconds to wait for the dev server to become healthy. Default 10. */\n timeoutSeconds?: number\n /** Override the bearer token. Default: random hex. */\n authToken?: string\n /** Override the HMAC signing secret. Default: random hex. */\n signingSecret?: string\n /** Override the user id the dev token resolves to. Default: 'dev-user'. */\n userId?: string\n /**\n * Persist the datalake + payload stores to `<ARIES_HOME>/dev/store/` so\n * state survives a `dev down` + `dev up` cycle. Default: false.\n */\n persist?: boolean\n /**\n * Enable the data-plane audit log. When true, every request is appended\n * to `<ARIES_HOME>/dev/audit.log` as JSONL.\n */\n audit?: boolean\n /**\n * Use a rotating directory writer instead of a single file. Files live at\n * `<ARIES_HOME>/dev/audit/audit-YYYY-MM-DD.log`.\n */\n auditRotate?: boolean\n /** Retention window in days when rotation is enabled. */\n auditKeepDays?: number\n}\n\nconst DEFAULT_CONTROL_PORT = 8787\nconst DEFAULT_PLANE_PORT = 8788\nconst DEFAULT_TIMEOUT_SECONDS = 10\n\ninterface ResolvedOptions {\n controlPort: number\n planePort: number\n controlUrl: string\n planeUrl: string\n userId: string\n authToken: string\n signingSecret: string\n timeoutMs: number\n persistDir?: string\n auditLogPath?: string\n auditDir?: string\n auditKeepDays?: number\n}\n\nfunction resolveOptions(options: UpDevServerOptions): ResolvedOptions {\n const controlPort = options.controlPort ?? DEFAULT_CONTROL_PORT\n const planePort = options.planePort ?? DEFAULT_PLANE_PORT\n const rotate = options.auditRotate === true\n return {\n controlPort,\n planePort,\n controlUrl: `http://127.0.0.1:${controlPort}`,\n planeUrl: `http://127.0.0.1:${planePort}`,\n userId: options.userId ?? 'dev-user',\n authToken: options.authToken ?? randomBytes(16).toString('hex'),\n signingSecret: options.signingSecret ?? randomBytes(32).toString('hex'),\n timeoutMs: (options.timeoutSeconds ?? DEFAULT_TIMEOUT_SECONDS) * 1000,\n persistDir: options.persist ? path.join(getDevDir(), 'store') : undefined,\n auditLogPath: options.audit && !rotate ? path.join(getDevDir(), 'audit.log') : undefined,\n auditDir: options.audit && rotate ? path.join(getDevDir(), 'audit') : undefined,\n auditKeepDays: rotate ? options.auditKeepDays : undefined,\n }\n}\n\nfunction spawnDaemon(binPath: string, resolved: ResolvedOptions): ChildProcess {\n const devDir = getDevDir()\n if (!existsSync(devDir)) mkdirSync(devDir, { recursive: true })\n const logFd = openSync(getDevLogPath(), 'a')\n\n const env: NodeJS.ProcessEnv = {\n ...process.env,\n CONTROL_PORT: String(resolved.controlPort),\n PLANE_PORT: String(resolved.planePort),\n HOST: '127.0.0.1',\n DATALAKE_CONTROL_TOKENS: `${resolved.authToken}=${resolved.userId}`,\n TOKEN_SIGNING_SECRET: resolved.signingSecret,\n DATALAKE_ORIGIN_URL: resolved.planeUrl,\n LOG_LEVEL: process.env.LOG_LEVEL ?? 'info',\n }\n if (resolved.persistDir) env.DATALAKE_PERSIST_DIR = resolved.persistDir\n if (resolved.auditLogPath) env.DATALAKE_AUDIT_LOG = resolved.auditLogPath\n if (resolved.auditDir) env.DATALAKE_AUDIT_DIR = resolved.auditDir\n if (resolved.auditKeepDays !== undefined) env.DATALAKE_AUDIT_MAX_AGE_DAYS = String(resolved.auditKeepDays)\n\n const child = spawn(process.execPath, [binPath], {\n detached: true,\n stdio: ['ignore', logFd, logFd],\n env,\n })\n child.unref()\n return child\n}\n\nfunction describeAudit(resolved: ResolvedOptions): string {\n if (resolved.auditDir) {\n return `rotating ${resolved.auditDir}${resolved.auditKeepDays ? ` (keep ${resolved.auditKeepDays}d)` : ''}`\n }\n return resolved.auditLogPath ?? 'disabled'\n}\n\nfunction printReadyBanner(state: DevState, resolved: ResolvedOptions): void {\n console.log(chalk.green('dev server ready'))\n console.log(` ${chalk.gray('control:')} ${state.controlUrl}`)\n console.log(` ${chalk.gray('data:')} ${state.planeUrl}`)\n console.log(` ${chalk.gray('user:')} ${state.userId}`)\n console.log(` ${chalk.gray('log:')} ${getDevLogPath()}`)\n console.log(` ${chalk.gray('store:')} ${resolved.persistDir ? `persisted (${resolved.persistDir})` : 'in-memory'}`)\n console.log(` ${chalk.gray('audit:')} ${describeAudit(resolved)}`)\n console.log(chalk.gray('\\nCLI is configured — try `aries datalake list`'))\n}\n\nexport async function upDevServer(options: UpDevServerOptions = {}): Promise<DevState> {\n const existing = readDevState()\n if (existing && isProcessAlive(existing.pid)) {\n console.log(chalk.yellow(`dev server already running (pid ${existing.pid}) at ${existing.controlUrl}`))\n return existing\n }\n if (existing) clearDevState()\n\n const resolved = resolveOptions(options)\n const child = spawnDaemon(resolveServerBin(), resolved)\n if (!child.pid) throw new Error('Failed to spawn dev server process')\n\n console.log(chalk.gray(`starting dev server (pid ${child.pid})...`))\n const healthy = await waitForHealth(resolved.controlUrl, resolved.timeoutMs)\n if (!healthy) {\n try {\n process.kill(child.pid, 'SIGTERM')\n } catch {\n // best effort\n }\n throw new Error(\n `Dev server did not become healthy within ${resolved.timeoutMs / 1000}s. `\n + `Check logs at ${getDevLogPath()}`,\n )\n }\n\n const state: DevState = {\n pid: child.pid,\n controlUrl: resolved.controlUrl,\n planeUrl: resolved.planeUrl,\n controlPort: resolved.controlPort,\n planePort: resolved.planePort,\n userId: resolved.userId,\n authToken: resolved.authToken,\n signingSecret: resolved.signingSecret,\n startedAt: new Date().toISOString(),\n }\n writeDevState(state)\n saveCredentials({\n baseUrl: resolved.controlUrl, authToken: resolved.authToken, userId: resolved.userId,\n })\n printReadyBanner(state, resolved)\n return state\n}\n","import { existsSync } from 'node:fs'\nimport { createRequire } from 'node:module'\nimport path from 'node:path'\n\n// Static type-only import so `deplint` recognizes the package as a declared\n// dependency. The bin path itself is resolved at runtime via `require.resolve`.\nimport type { BuildPlaneOptions as _KeepAsDep } from '@xylabs/aries-datalake-plane'\n\nconst require = createRequire(import.meta.url)\n\n/**\n * Resolves the absolute path to `aries-datalake-dev` (the plane/control dev\n * server binary) from the installed `@xylabs/aries-datalake-plane` package.\n * Throws with an actionable message if the package isn't available — e.g.\n * when someone installs `@xylabs/aries` standalone without the dev server.\n */\nexport function resolveServerBin(): string {\n let packageJsonPath: string\n try {\n packageJsonPath = require.resolve('@xylabs/aries-datalake-plane/package.json')\n } catch {\n throw new Error(\n '@xylabs/aries-datalake-plane is not installed. '\n + 'Install it as a dev dependency to use `aries datalake dev` locally.',\n )\n }\n const binPath = path.join(path.dirname(packageJsonPath), 'dist', 'bin', 'devServer.mjs')\n if (!existsSync(binPath)) {\n throw new Error(\n `Dev server binary not found at ${binPath}. `\n + 'Run `pnpm xy compile` to build it.',\n )\n }\n return binPath\n}\n","const POLL_INTERVAL_MS = 100\n\n/**\n * Polls `GET <baseUrl>/v1/health` until it returns 200 or the timeout\n * expires. Returns `true` on success, `false` on timeout. Callers should\n * kill the daemon on failure; it never came up.\n */\nexport async function waitForHealth(baseUrl: string, timeoutMs: number): Promise<boolean> {\n const deadline = Date.now() + timeoutMs\n const url = `${baseUrl.replace(/\\/$/, '')}/v1/health`\n while (Date.now() < deadline) {\n try {\n const response = await fetch(url)\n if (response.ok) return true\n } catch {\n // ECONNREFUSED while the listener is still starting — keep polling.\n }\n await delay(POLL_INTERVAL_MS)\n }\n return false\n}\n\nfunction delay(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms))\n}\n","import type { CommandModule } from 'yargs'\n\nimport { downDevServer } from '../actions/datalake/dev/index.ts'\n\nexport const datalakeDevDownCommand: CommandModule = {\n command: 'down',\n describe: 'Stop the local dev server (if running) and clear its credentials',\n handler: async () => {\n await downDevServer()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { logsDevServer } from '../actions/datalake/dev/index.ts'\n\nexport const datalakeDevLogsCommand: CommandModule = {\n command: 'logs',\n describe: 'Print recent dev server log output',\n builder: yargs =>\n yargs\n .option('follow', {\n alias: 'f',\n type: 'boolean',\n default: false,\n describe: 'Stream new lines as they arrive',\n })\n .option('lines', {\n alias: 'n',\n type: 'number',\n default: 50,\n describe: 'Number of tail lines to show',\n }),\n handler: async (argv) => {\n await logsDevServer({\n follow: argv.follow as boolean,\n lines: argv.lines as number,\n })\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { resetDevServer } from '../actions/datalake/dev/index.ts'\n\nexport const datalakeDevResetCommand: CommandModule = {\n command: 'reset',\n describe: 'Stop the dev server and wipe all its local state',\n handler: async () => {\n await resetDevServer()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { statusDevServer } from '../actions/datalake/dev/index.ts'\n\nexport const datalakeDevStatusCommand: CommandModule = {\n command: 'status',\n describe: 'Report whether the local dev server is running and healthy',\n handler: async () => {\n await statusDevServer()\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { upDevServer } from '../actions/datalake/dev/index.ts'\n\nexport const datalakeDevUpCommand: CommandModule = {\n command: 'up',\n describe: 'Start the local control + data plane dev server and wire the CLI to it',\n builder: yargs =>\n yargs\n .option('control-port', {\n type: 'number',\n default: 8787,\n describe: 'Control-plane port',\n })\n .option('plane-port', {\n type: 'number',\n default: 8788,\n describe: 'Data-plane port',\n })\n .option('timeout', {\n type: 'number',\n default: 10,\n describe: 'Seconds to wait for health',\n })\n .option('persist', {\n type: 'boolean',\n default: false,\n describe: 'Persist store state to disk so it survives restarts',\n })\n .option('audit', {\n type: 'boolean',\n default: false,\n describe: 'Write a JSONL audit log of every data-plane request',\n })\n .option('audit-rotate', {\n type: 'boolean',\n default: false,\n describe: 'Rotate the audit log daily (writes to <home>/dev/audit/)',\n })\n .option('audit-keep-days', {\n type: 'number',\n describe: 'Prune rotated audit files older than this many days',\n }),\n handler: async (argv) => {\n await upDevServer({\n controlPort: argv['control-port'] as number,\n planePort: argv['plane-port'] as number,\n timeoutSeconds: argv.timeout as number,\n persist: argv.persist as boolean,\n audit: argv.audit as boolean,\n auditRotate: argv['audit-rotate'] as boolean,\n auditKeepDays: argv['audit-keep-days'] as number | undefined,\n })\n },\n}\n","import type { CommandModule } from 'yargs'\n\nimport { datalakeDevDownCommand } from './datalakeDevDownCommand.ts'\nimport { datalakeDevLogsCommand } from './datalakeDevLogsCommand.ts'\nimport { datalakeDevResetCommand } from './datalakeDevResetCommand.ts'\nimport { datalakeDevStatusCommand } from './datalakeDevStatusCommand.ts'\nimport { datalakeDevUpCommand } from './datalakeDevUpCommand.ts'\n\nexport const datalakeDevCommand: CommandModule = {\n command: 'dev',\n describe: 'Run a local datalake control + data plane for development & testing',\n builder: yargs =>\n yargs\n .command(datalakeDevUpCommand)\n .command(datalakeDevDownCommand)\n .command(datalakeDevStatusCommand)\n .command(datalakeDevLogsCommand)\n .command(datalakeDevResetCommand)\n .demandCommand(1)\n .strictCommands(),\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n handler: () => {},\n}\n"],"mappings":"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","names":["existsSync","readFileSync","chalk","existsSync","chalk","readFileSync","existsSync","chalk","existsSync","chalk","chalk","chalk","spawn","existsSync","mkdirSync","path","chalk","existsSync","path","require","delay","path","existsSync","mkdirSync","spawn","chalk"]}
@@ -1,111 +0,0 @@
1
- // src/actions/datalake/dev/downDevServer.ts
2
- import { clearCredentials, loadCredentials } from "@xylabs/aries-datalake-client";
3
- import chalk from "chalk";
4
-
5
- // src/actions/datalake/dev/state.ts
6
- import {
7
- existsSync,
8
- mkdirSync,
9
- readFileSync,
10
- unlinkSync,
11
- writeFileSync
12
- } from "fs";
13
-
14
- // src/actions/datalake/dev/paths.ts
15
- import { homedir } from "os";
16
- import path from "path";
17
- function getAriesHome() {
18
- return process.env.ARIES_HOME ?? path.join(homedir(), ".aries");
19
- }
20
- function getDevDir() {
21
- return path.join(getAriesHome(), "dev");
22
- }
23
- function getDevStatePath() {
24
- return path.join(getDevDir(), "state.json");
25
- }
26
- function getDevPidPath() {
27
- return path.join(getDevDir(), "pid");
28
- }
29
-
30
- // src/actions/datalake/dev/state.ts
31
- function readDevState() {
32
- const filePath = getDevStatePath();
33
- if (!existsSync(filePath)) return void 0;
34
- try {
35
- return JSON.parse(readFileSync(filePath, "utf8"));
36
- } catch {
37
- return void 0;
38
- }
39
- }
40
- function clearDevState() {
41
- for (const filePath of [getDevStatePath(), getDevPidPath()]) {
42
- if (existsSync(filePath)) unlinkSync(filePath);
43
- }
44
- }
45
- function isProcessAlive(pid) {
46
- try {
47
- process.kill(pid, 0);
48
- return true;
49
- } catch (error) {
50
- const code = error.code;
51
- return code === "EPERM";
52
- }
53
- }
54
-
55
- // src/actions/datalake/dev/downDevServer.ts
56
- var DEFAULT_GRACE_MS = 2e3;
57
- var POLL_MS = 50;
58
- async function downDevServer(options = {}) {
59
- const state = readDevState();
60
- if (!state) {
61
- console.log(chalk.yellow("dev server is not running"));
62
- return;
63
- }
64
- const graceMs = options.gracePeriodMs ?? DEFAULT_GRACE_MS;
65
- if (!isProcessAlive(state.pid)) {
66
- cleanup(state.controlUrl);
67
- console.log(chalk.green(`dev server pid ${state.pid} was already stopped \u2014 cleaned up state`));
68
- return;
69
- }
70
- try {
71
- process.kill(state.pid, "SIGTERM");
72
- } catch (error) {
73
- const code = error.code;
74
- if (code !== "ESRCH") throw error;
75
- }
76
- const deadline = Date.now() + graceMs;
77
- while (Date.now() < deadline && isProcessAlive(state.pid)) {
78
- await delay(POLL_MS);
79
- }
80
- if (isProcessAlive(state.pid)) {
81
- try {
82
- process.kill(state.pid, "SIGKILL");
83
- } catch {
84
- }
85
- }
86
- cleanup(state.controlUrl);
87
- console.log(chalk.green(`dev server pid ${state.pid} stopped`));
88
- }
89
- function cleanup(controlUrl) {
90
- const credentials = loadCredentials();
91
- if (credentials?.baseUrl === controlUrl) {
92
- clearCredentials();
93
- }
94
- clearDevState();
95
- }
96
- function delay(ms) {
97
- return new Promise((resolve) => setTimeout(resolve, ms));
98
- }
99
-
100
- // src/commands/datalakeDevDownCommand.ts
101
- var datalakeDevDownCommand = {
102
- command: "down",
103
- describe: "Stop the local dev server (if running) and clear its credentials",
104
- handler: async () => {
105
- await downDevServer();
106
- }
107
- };
108
- export {
109
- datalakeDevDownCommand
110
- };
111
- //# sourceMappingURL=datalakeDevDownCommand.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/actions/datalake/dev/downDevServer.ts","../../src/actions/datalake/dev/state.ts","../../src/actions/datalake/dev/paths.ts","../../src/commands/datalakeDevDownCommand.ts"],"sourcesContent":["import { clearCredentials, loadCredentials } from '@xylabs/aries-datalake-client'\nimport chalk from 'chalk'\n\nimport {\n clearDevState, isProcessAlive, readDevState,\n} from './state.ts'\n\n/**\n * Stops the dev server spawned by `upDevServer`. Sends SIGTERM, waits up to\n * `gracePeriodMs` for a clean exit, then SIGKILLs if the process is still\n * around. Clears credentials only when they still point at the dev server —\n * we never want to stomp a user's real sign-in.\n */\nexport interface DownDevServerOptions {\n gracePeriodMs?: number\n}\n\nconst DEFAULT_GRACE_MS = 2000\nconst POLL_MS = 50\n\nexport async function downDevServer(options: DownDevServerOptions = {}): Promise<void> {\n const state = readDevState()\n if (!state) {\n console.log(chalk.yellow('dev server is not running'))\n return\n }\n const graceMs = options.gracePeriodMs ?? DEFAULT_GRACE_MS\n\n if (!isProcessAlive(state.pid)) {\n cleanup(state.controlUrl)\n console.log(chalk.green(`dev server pid ${state.pid} was already stopped — cleaned up state`))\n return\n }\n\n try {\n process.kill(state.pid, 'SIGTERM')\n } catch (error) {\n const code = (error as NodeJS.ErrnoException).code\n if (code !== 'ESRCH') throw error\n }\n\n const deadline = Date.now() + graceMs\n while (Date.now() < deadline && isProcessAlive(state.pid)) {\n await delay(POLL_MS)\n }\n if (isProcessAlive(state.pid)) {\n try {\n process.kill(state.pid, 'SIGKILL')\n } catch {\n // best effort\n }\n }\n\n cleanup(state.controlUrl)\n console.log(chalk.green(`dev server pid ${state.pid} stopped`))\n}\n\nfunction cleanup(controlUrl: string): void {\n const credentials = loadCredentials()\n if (credentials?.baseUrl === controlUrl) {\n clearCredentials()\n }\n clearDevState()\n}\n\nfunction delay(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms))\n}\n","import {\n existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync,\n} from 'node:fs'\n\nimport {\n getDevDir, getDevPidPath, getDevStatePath,\n} from './paths.ts'\n\n/**\n * On-disk bookkeeping for a running dev server. Lives in `~/.aries/dev/` so\n * it survives across CLI invocations and can be queried by `dev status` /\n * `dev logs` / `dev down`.\n */\nexport interface DevState {\n pid: number\n controlUrl: string\n planeUrl: string\n controlPort: number\n planePort: number\n /** User id the dev auth token resolves to on the control plane. */\n userId: string\n /** Bearer token accepted by the dev control plane (written to credentials). */\n authToken: string\n /** Secret the dev control plane HMAC-signs data-plane JWTs with. */\n signingSecret: string\n /** ISO-8601 startup time. */\n startedAt: string\n}\n\nexport function readDevState(): DevState | undefined {\n const filePath = getDevStatePath()\n if (!existsSync(filePath)) return undefined\n try {\n return JSON.parse(readFileSync(filePath, 'utf8')) as DevState\n } catch {\n return undefined\n }\n}\n\nexport function writeDevState(state: DevState): void {\n const dir = getDevDir()\n if (!existsSync(dir)) mkdirSync(dir, { recursive: true })\n writeFileSync(getDevStatePath(), JSON.stringify(state, undefined, 2), 'utf8')\n writeFileSync(getDevPidPath(), String(state.pid), 'utf8')\n}\n\nexport function clearDevState(): void {\n for (const filePath of [getDevStatePath(), getDevPidPath()]) {\n if (existsSync(filePath)) unlinkSync(filePath)\n }\n}\n\n/**\n * Returns true iff the pid is still a live process. `kill(pid, 0)` throws\n * ESRCH when the process doesn't exist and EPERM when it does but we can't\n * signal it — both answer the question we're asking.\n */\nexport function isProcessAlive(pid: number): boolean {\n try {\n process.kill(pid, 0)\n return true\n } catch (error) {\n const code = (error as NodeJS.ErrnoException).code\n return code === 'EPERM'\n }\n}\n","import { homedir } from 'node:os'\nimport path from 'node:path'\n\nfunction getAriesHome(): string {\n return process.env.ARIES_HOME ?? path.join(homedir(), '.aries')\n}\n\nexport function getDevDir(): string {\n return path.join(getAriesHome(), 'dev')\n}\n\nexport function getDevStatePath(): string {\n return path.join(getDevDir(), 'state.json')\n}\n\nexport function getDevPidPath(): string {\n return path.join(getDevDir(), 'pid')\n}\n\nexport function getDevLogPath(): string {\n return path.join(getDevDir(), 'server.log')\n}\n","import type { CommandModule } from 'yargs'\n\nimport { downDevServer } from '../actions/datalake/dev/index.ts'\n\nexport const datalakeDevDownCommand: CommandModule = {\n command: 'down',\n describe: 'Stop the local dev server (if running) and clear its credentials',\n handler: async () => {\n await downDevServer()\n },\n}\n"],"mappings":";AAAA,SAAS,kBAAkB,uBAAuB;AAClD,OAAO,WAAW;;;ACDlB;AAAA,EACE;AAAA,EAAY;AAAA,EAAW;AAAA,EAAc;AAAA,EAAY;AAAA,OAC5C;;;ACFP,SAAS,eAAe;AACxB,OAAO,UAAU;AAEjB,SAAS,eAAuB;AAC9B,SAAO,QAAQ,IAAI,cAAc,KAAK,KAAK,QAAQ,GAAG,QAAQ;AAChE;AAEO,SAAS,YAAoB;AAClC,SAAO,KAAK,KAAK,aAAa,GAAG,KAAK;AACxC;AAEO,SAAS,kBAA0B;AACxC,SAAO,KAAK,KAAK,UAAU,GAAG,YAAY;AAC5C;AAEO,SAAS,gBAAwB;AACtC,SAAO,KAAK,KAAK,UAAU,GAAG,KAAK;AACrC;;;ADYO,SAAS,eAAqC;AACnD,QAAM,WAAW,gBAAgB;AACjC,MAAI,CAAC,WAAW,QAAQ,EAAG,QAAO;AAClC,MAAI;AACF,WAAO,KAAK,MAAM,aAAa,UAAU,MAAM,CAAC;AAAA,EAClD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AASO,SAAS,gBAAsB;AACpC,aAAW,YAAY,CAAC,gBAAgB,GAAG,cAAc,CAAC,GAAG;AAC3D,QAAI,WAAW,QAAQ,EAAG,YAAW,QAAQ;AAAA,EAC/C;AACF;AAOO,SAAS,eAAe,KAAsB;AACnD,MAAI;AACF,YAAQ,KAAK,KAAK,CAAC;AACnB,WAAO;AAAA,EACT,SAAS,OAAO;AACd,UAAM,OAAQ,MAAgC;AAC9C,WAAO,SAAS;AAAA,EAClB;AACF;;;ADhDA,IAAM,mBAAmB;AACzB,IAAM,UAAU;AAEhB,eAAsB,cAAc,UAAgC,CAAC,GAAkB;AACrF,QAAM,QAAQ,aAAa;AAC3B,MAAI,CAAC,OAAO;AACV,YAAQ,IAAI,MAAM,OAAO,2BAA2B,CAAC;AACrD;AAAA,EACF;AACA,QAAM,UAAU,QAAQ,iBAAiB;AAEzC,MAAI,CAAC,eAAe,MAAM,GAAG,GAAG;AAC9B,YAAQ,MAAM,UAAU;AACxB,YAAQ,IAAI,MAAM,MAAM,kBAAkB,MAAM,GAAG,8CAAyC,CAAC;AAC7F;AAAA,EACF;AAEA,MAAI;AACF,YAAQ,KAAK,MAAM,KAAK,SAAS;AAAA,EACnC,SAAS,OAAO;AACd,UAAM,OAAQ,MAAgC;AAC9C,QAAI,SAAS,QAAS,OAAM;AAAA,EAC9B;AAEA,QAAM,WAAW,KAAK,IAAI,IAAI;AAC9B,SAAO,KAAK,IAAI,IAAI,YAAY,eAAe,MAAM,GAAG,GAAG;AACzD,UAAM,MAAM,OAAO;AAAA,EACrB;AACA,MAAI,eAAe,MAAM,GAAG,GAAG;AAC7B,QAAI;AACF,cAAQ,KAAK,MAAM,KAAK,SAAS;AAAA,IACnC,QAAQ;AAAA,IAER;AAAA,EACF;AAEA,UAAQ,MAAM,UAAU;AACxB,UAAQ,IAAI,MAAM,MAAM,kBAAkB,MAAM,GAAG,UAAU,CAAC;AAChE;AAEA,SAAS,QAAQ,YAA0B;AACzC,QAAM,cAAc,gBAAgB;AACpC,MAAI,aAAa,YAAY,YAAY;AACvC,qBAAiB;AAAA,EACnB;AACA,gBAAc;AAChB;AAEA,SAAS,MAAM,IAA2B;AACxC,SAAO,IAAI,QAAQ,aAAW,WAAW,SAAS,EAAE,CAAC;AACvD;;;AG/DO,IAAM,yBAAwC;AAAA,EACnD,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS,YAAY;AACnB,UAAM,cAAc;AAAA,EACtB;AACF;","names":[]}