@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,51 @@
1
+ // src/actions/audit/auditPaths.ts
2
+ import { homedir } from "os";
3
+ import path from "path";
4
+ function getAuditRootDir() {
5
+ return path.join(homedir(), ".aries", "audit-logs");
6
+ }
7
+ function getAuditDir(provider) {
8
+ return provider ? path.join(getAuditRootDir(), provider) : getAuditRootDir();
9
+ }
10
+
11
+ // src/actions/audit/openAuditDir.ts
12
+ import { execSync } from "child_process";
13
+ import { existsSync, mkdirSync } from "fs";
14
+ import { platform } from "os";
15
+ import chalk from "chalk";
16
+ function openAuditDir() {
17
+ const dir = getAuditDir();
18
+ if (!existsSync(dir)) {
19
+ mkdirSync(dir, { recursive: true });
20
+ console.log(chalk.yellow(`Created audit log directory: ${dir}`));
21
+ }
22
+ const os = platform();
23
+ switch (os) {
24
+ case "darwin": {
25
+ execSync(`open "${dir}"`);
26
+ break;
27
+ }
28
+ case "win32": {
29
+ execSync(`explorer "${dir}"`);
30
+ break;
31
+ }
32
+ default: {
33
+ execSync(`xdg-open "${dir}"`);
34
+ break;
35
+ }
36
+ }
37
+ console.log(chalk.green(`Opened: ${dir}`));
38
+ }
39
+
40
+ // src/commands/auditOpenCommand.ts
41
+ var auditOpenCommand = {
42
+ command: "open",
43
+ describe: "Open the audit log directory in Finder / File Explorer",
44
+ handler: () => {
45
+ openAuditDir();
46
+ }
47
+ };
48
+ export {
49
+ auditOpenCommand
50
+ };
51
+ //# sourceMappingURL=auditOpenCommand.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/actions/audit/auditPaths.ts","../../src/actions/audit/openAuditDir.ts","../../src/commands/auditOpenCommand.ts"],"sourcesContent":["import { homedir } from 'node:os'\nimport path from 'node:path'\n\nexport type AuditProvider = 'claude' | 'codex'\n\nexport function getAuditRootDir(): string {\n return path.join(homedir(), '.aries', 'audit-logs')\n}\n\nexport function getAuditDir(provider?: AuditProvider): string {\n return provider ? path.join(getAuditRootDir(), provider) : getAuditRootDir()\n}\n\nexport function getAuditSearchDirs(): string[] {\n return [\n getAuditDir('claude'),\n getAuditDir('codex'),\n getAuditRootDir(),\n ]\n}\n","import { execSync } from 'node:child_process'\nimport { existsSync, mkdirSync } from 'node:fs'\nimport { platform } from 'node:os'\n\nimport chalk from 'chalk'\n\nimport { getAuditDir } from './auditPaths.ts'\n\nexport function openAuditDir(): void {\n const dir = getAuditDir()\n\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true })\n console.log(chalk.yellow(`Created audit log directory: ${dir}`))\n }\n\n const os = platform()\n switch (os) {\n case 'darwin': {\n execSync(`open \"${dir}\"`)\n break\n }\n case 'win32': {\n execSync(`explorer \"${dir}\"`)\n break\n }\n default: {\n execSync(`xdg-open \"${dir}\"`)\n break\n }\n }\n\n console.log(chalk.green(`Opened: ${dir}`))\n}\n","import type { CommandModule } from 'yargs'\n\nimport { openAuditDir } from '../actions/audit/index.ts'\n\nexport const auditOpenCommand: CommandModule = {\n command: 'open',\n describe: 'Open the audit log directory in Finder / File Explorer',\n handler: () => {\n openAuditDir()\n },\n}\n"],"mappings":";AAAA,SAAS,eAAe;AACxB,OAAO,UAAU;AAIV,SAAS,kBAA0B;AACxC,SAAO,KAAK,KAAK,QAAQ,GAAG,UAAU,YAAY;AACpD;AAEO,SAAS,YAAY,UAAkC;AAC5D,SAAO,WAAW,KAAK,KAAK,gBAAgB,GAAG,QAAQ,IAAI,gBAAgB;AAC7E;;;ACXA,SAAS,gBAAgB;AACzB,SAAS,YAAY,iBAAiB;AACtC,SAAS,gBAAgB;AAEzB,OAAO,WAAW;AAIX,SAAS,eAAqB;AACnC,QAAM,MAAM,YAAY;AAExB,MAAI,CAAC,WAAW,GAAG,GAAG;AACpB,cAAU,KAAK,EAAE,WAAW,KAAK,CAAC;AAClC,YAAQ,IAAI,MAAM,OAAO,gCAAgC,GAAG,EAAE,CAAC;AAAA,EACjE;AAEA,QAAM,KAAK,SAAS;AACpB,UAAQ,IAAI;AAAA,IACV,KAAK,UAAU;AACb,eAAS,SAAS,GAAG,GAAG;AACxB;AAAA,IACF;AAAA,IACA,KAAK,SAAS;AACZ,eAAS,aAAa,GAAG,GAAG;AAC5B;AAAA,IACF;AAAA,IACA,SAAS;AACP,eAAS,aAAa,GAAG,GAAG;AAC5B;AAAA,IACF;AAAA,EACF;AAEA,UAAQ,IAAI,MAAM,MAAM,WAAW,GAAG,EAAE,CAAC;AAC3C;;;AC7BO,IAAM,mBAAkC;AAAA,EAC7C,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS,MAAM;AACb,iBAAa;AAAA,EACf;AACF;","names":[]}
@@ -0,0 +1,98 @@
1
+ // src/actions/audit/auditPaths.ts
2
+ import { homedir } from "os";
3
+ import path from "path";
4
+ function getAuditRootDir() {
5
+ return path.join(homedir(), ".aries", "audit-logs");
6
+ }
7
+ function getAuditDir(provider) {
8
+ return provider ? path.join(getAuditRootDir(), provider) : getAuditRootDir();
9
+ }
10
+ function getAuditSearchDirs() {
11
+ return [
12
+ getAuditDir("claude"),
13
+ getAuditDir("codex"),
14
+ getAuditRootDir()
15
+ ];
16
+ }
17
+
18
+ // src/actions/audit/searchAudit.ts
19
+ import {
20
+ existsSync,
21
+ readdirSync,
22
+ readFileSync
23
+ } from "fs";
24
+ import path2 from "path";
25
+ import chalk from "chalk";
26
+ function searchAudit(query, date, limit = 50) {
27
+ const auditDirs = getAuditSearchDirs().filter((dir) => existsSync(dir));
28
+ if (auditDirs.length === 0) {
29
+ console.log(chalk.yellow("No audit logs found."));
30
+ return;
31
+ }
32
+ const dates = date ? [date] : [...new Set(
33
+ auditDirs.flatMap((auditDir) => readdirSync(auditDir).filter((d) => /^\d{4}-\d{2}-\d{2}$/.test(d)))
34
+ )].toSorted((a, b) => a.localeCompare(b)).toReversed();
35
+ const lowerQuery = query.toLowerCase();
36
+ let matchCount = 0;
37
+ for (const d of dates) {
38
+ const files = auditDirs.flatMap((auditDir) => {
39
+ const dayDir = path2.join(auditDir, d);
40
+ if (!existsSync(dayDir)) return [];
41
+ return readdirSync(dayDir).filter((f) => f.endsWith(".jsonl")).map((file) => path2.join(dayDir, file));
42
+ });
43
+ for (const file of files) {
44
+ const content = readFileSync(file, "utf8").trim();
45
+ if (!content) continue;
46
+ for (const line of content.split("\n")) {
47
+ if (!line.toLowerCase().includes(lowerQuery)) continue;
48
+ try {
49
+ const entry = JSON.parse(line);
50
+ const time = (entry.timestamp ?? "").slice(0, 19);
51
+ const event = entry.event ?? "unknown";
52
+ const snippet = JSON.stringify(entry.data).slice(0, 150);
53
+ console.log(`${chalk.gray(time)} ${chalk.cyan((entry.sessionId ?? "").slice(0, 8))} ${chalk.yellow(event)} ${snippet}`);
54
+ matchCount++;
55
+ if (matchCount >= limit) {
56
+ console.log(chalk.gray(`
57
+ ... showing first ${limit} matches`));
58
+ return;
59
+ }
60
+ } catch {
61
+ }
62
+ }
63
+ }
64
+ }
65
+ if (matchCount === 0) {
66
+ console.log(chalk.yellow(`No matches found for: ${query}`));
67
+ } else {
68
+ console.log(chalk.gray(`
69
+ ${matchCount} match${matchCount === 1 ? "" : "es"} found`));
70
+ }
71
+ }
72
+
73
+ // src/commands/auditSearchCommand.ts
74
+ var auditSearchCommand = {
75
+ command: "search <query>",
76
+ describe: "Search audit logs",
77
+ builder: (yargs) => yargs.positional("query", {
78
+ type: "string",
79
+ describe: "Search text",
80
+ demandOption: true
81
+ }).option("date", {
82
+ alias: "d",
83
+ type: "string",
84
+ describe: "Filter by date (YYYY-MM-DD)"
85
+ }).option("limit", {
86
+ alias: "n",
87
+ type: "number",
88
+ default: 50,
89
+ describe: "Max results"
90
+ }),
91
+ handler: (argv) => {
92
+ searchAudit(argv.query, argv.date, argv.limit);
93
+ }
94
+ };
95
+ export {
96
+ auditSearchCommand
97
+ };
98
+ //# sourceMappingURL=auditSearchCommand.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/actions/audit/auditPaths.ts","../../src/actions/audit/searchAudit.ts","../../src/commands/auditSearchCommand.ts"],"sourcesContent":["import { homedir } from 'node:os'\nimport path from 'node:path'\n\nexport type AuditProvider = 'claude' | 'codex'\n\nexport function getAuditRootDir(): string {\n return path.join(homedir(), '.aries', 'audit-logs')\n}\n\nexport function getAuditDir(provider?: AuditProvider): string {\n return provider ? path.join(getAuditRootDir(), provider) : getAuditRootDir()\n}\n\nexport function getAuditSearchDirs(): string[] {\n return [\n getAuditDir('claude'),\n getAuditDir('codex'),\n getAuditRootDir(),\n ]\n}\n","import {\n existsSync, readdirSync, readFileSync,\n} from 'node:fs'\nimport path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { getAuditSearchDirs } from './auditPaths.ts'\n\ninterface AuditEntryParsed {\n data?: Record<string, unknown>\n event?: string\n schema?: string\n sessionId?: string\n timestamp?: string\n}\n\nexport function searchAudit(query: string, date?: string, limit = 50): void {\n const auditDirs = getAuditSearchDirs().filter(dir => existsSync(dir))\n if (auditDirs.length === 0) {\n console.log(chalk.yellow('No audit logs found.'))\n return\n }\n\n const dates = date\n ? [date]\n : [...new Set(\n auditDirs.flatMap(auditDir =>\n readdirSync(auditDir).filter(d => /^\\d{4}-\\d{2}-\\d{2}$/.test(d))),\n )]\n .toSorted((a, b) => a.localeCompare(b))\n .toReversed()\n\n const lowerQuery = query.toLowerCase()\n let matchCount = 0\n\n for (const d of dates) {\n const files = auditDirs.flatMap((auditDir) => {\n const dayDir = path.join(auditDir, d)\n if (!existsSync(dayDir)) return []\n return readdirSync(dayDir)\n .filter(f => f.endsWith('.jsonl'))\n .map(file => path.join(dayDir, file))\n })\n\n for (const file of files) {\n const content = readFileSync(file, 'utf8').trim()\n if (!content) continue\n\n for (const line of content.split('\\n')) {\n if (!line.toLowerCase().includes(lowerQuery)) continue\n\n try {\n const entry = JSON.parse(line) as AuditEntryParsed\n const time = (entry.timestamp ?? '').slice(0, 19)\n const event = entry.event ?? 'unknown'\n\n const snippet = JSON.stringify(entry.data).slice(0, 150)\n console.log(`${chalk.gray(time)} ${chalk.cyan((entry.sessionId ?? '').slice(0, 8))} ${chalk.yellow(event)} ${snippet}`)\n\n matchCount++\n if (matchCount >= limit) {\n console.log(chalk.gray(`\\n... showing first ${limit} matches`))\n return\n }\n } catch {\n // skip malformed\n }\n }\n }\n }\n\n if (matchCount === 0) {\n console.log(chalk.yellow(`No matches found for: ${query}`))\n } else {\n console.log(chalk.gray(`\\n${matchCount} match${matchCount === 1 ? '' : 'es'} found`))\n }\n}\n","import type { CommandModule } from 'yargs'\n\nimport { searchAudit } from '../actions/audit/index.ts'\n\nexport const auditSearchCommand: CommandModule = {\n command: 'search <query>',\n describe: 'Search audit logs',\n builder: yargs =>\n yargs\n .positional('query', {\n type: 'string',\n describe: 'Search text',\n demandOption: true,\n })\n .option('date', {\n alias: 'd',\n type: 'string',\n describe: 'Filter by date (YYYY-MM-DD)',\n })\n .option('limit', {\n alias: 'n',\n type: 'number',\n default: 50,\n describe: 'Max results',\n }),\n handler: (argv) => {\n searchAudit(argv.query as string, argv.date as string | undefined, argv.limit as number)\n },\n}\n"],"mappings":"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","names":["path","path"]}
@@ -0,0 +1,123 @@
1
+ // src/actions/audit/auditPaths.ts
2
+ import { homedir } from "os";
3
+ import path from "path";
4
+ function getAuditRootDir() {
5
+ return path.join(homedir(), ".aries", "audit-logs");
6
+ }
7
+ function getAuditDir(provider) {
8
+ return provider ? path.join(getAuditRootDir(), provider) : getAuditRootDir();
9
+ }
10
+ function getAuditSearchDirs() {
11
+ return [
12
+ getAuditDir("claude"),
13
+ getAuditDir("codex"),
14
+ getAuditRootDir()
15
+ ];
16
+ }
17
+
18
+ // src/actions/audit/showSession.ts
19
+ import {
20
+ existsSync,
21
+ readdirSync,
22
+ readFileSync
23
+ } from "fs";
24
+ import path2 from "path";
25
+ import chalk from "chalk";
26
+ function findSessionFile(sessionId) {
27
+ const auditDirs = getAuditSearchDirs().filter((dir) => existsSync(dir));
28
+ if (auditDirs.length === 0) return void 0;
29
+ const dates = [...new Set(
30
+ auditDirs.flatMap((auditDir) => readdirSync(auditDir).filter((d) => /^\d{4}-\d{2}-\d{2}$/.test(d)))
31
+ )].toSorted((a, b) => a.localeCompare(b)).toReversed();
32
+ for (const date of dates) {
33
+ for (const auditDir of auditDirs) {
34
+ const dayDir = path2.join(auditDir, date);
35
+ if (!existsSync(dayDir)) continue;
36
+ const files = readdirSync(dayDir).filter((f) => f.includes(sessionId) && f.endsWith(".jsonl"));
37
+ if (files.length > 0) return path2.join(dayDir, files[0]);
38
+ }
39
+ }
40
+ return void 0;
41
+ }
42
+ function formatSessionStart(time, entry) {
43
+ const version = entry.ai?.version ? ` v${entry.ai.version}` : "";
44
+ const mode = entry.data?.permissionMode ? ` mode=${entry.data.permissionMode}` : "";
45
+ return `${chalk.gray(time)} ${chalk.blue("SESSION START")}${version}${mode}`;
46
+ }
47
+ function formatEntry(entry) {
48
+ const time = (entry.timestamp ?? "").slice(11, 23);
49
+ const event = entry.event ?? "unknown";
50
+ const data = entry.data;
51
+ switch (event) {
52
+ case "SessionStart": {
53
+ return formatSessionStart(time, entry);
54
+ }
55
+ case "UserPromptSubmit": {
56
+ return `${chalk.gray(time)} ${chalk.green("PROMPT")} ${String(data?.prompt ?? "").slice(0, 200)}`;
57
+ }
58
+ case "PostToolUse": {
59
+ return `${chalk.gray(time)} ${chalk.yellow("TOOL")} ${chalk.white(String(data?.toolName ?? ""))} ${chalk.gray(String(data?.toolInput ?? "").slice(0, 120))}`;
60
+ }
61
+ case "Stop": {
62
+ return `${chalk.gray(time)} ${chalk.magenta("RESPONSE")} ${String(data?.response ?? "").slice(0, 200)}`;
63
+ }
64
+ default: {
65
+ return `${chalk.gray(time)} ${event} ${JSON.stringify(data)}`;
66
+ }
67
+ }
68
+ }
69
+ function showSession(sessionId, format) {
70
+ const filePath = findSessionFile(sessionId);
71
+ if (!filePath) {
72
+ console.log(chalk.red(`No audit log found for session: ${sessionId}`));
73
+ return;
74
+ }
75
+ const content = readFileSync(filePath, "utf8").trim();
76
+ if (!content) {
77
+ console.log(chalk.yellow("Session log is empty."));
78
+ return;
79
+ }
80
+ const lines = content.split("\n");
81
+ if (format === "json") {
82
+ for (const line of lines) {
83
+ console.log(line);
84
+ }
85
+ return;
86
+ }
87
+ console.log(chalk.cyan(`Session: ${sessionId}`));
88
+ console.log(chalk.cyan(`File: ${filePath}`));
89
+ console.log(chalk.cyan(`Entries: ${lines.length}`));
90
+ console.log();
91
+ for (const line of lines) {
92
+ try {
93
+ const entry = JSON.parse(line);
94
+ console.log(formatEntry(entry));
95
+ } catch {
96
+ console.log(chalk.red(` [malformed] ${line.slice(0, 80)}`));
97
+ }
98
+ }
99
+ }
100
+
101
+ // src/commands/auditShowCommand.ts
102
+ var auditShowCommand = {
103
+ command: "show <session-id>",
104
+ describe: "Show audit trail for a session",
105
+ builder: (yargs) => yargs.positional("session-id", {
106
+ type: "string",
107
+ describe: "Session ID (or prefix)",
108
+ demandOption: true
109
+ }).option("format", {
110
+ alias: "f",
111
+ type: "string",
112
+ choices: ["text", "json"],
113
+ default: "text",
114
+ describe: "Output format"
115
+ }),
116
+ handler: (argv) => {
117
+ showSession(argv["session-id"], argv.format);
118
+ }
119
+ };
120
+ export {
121
+ auditShowCommand
122
+ };
123
+ //# sourceMappingURL=auditShowCommand.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/actions/audit/auditPaths.ts","../../src/actions/audit/showSession.ts","../../src/commands/auditShowCommand.ts"],"sourcesContent":["import { homedir } from 'node:os'\nimport path from 'node:path'\n\nexport type AuditProvider = 'claude' | 'codex'\n\nexport function getAuditRootDir(): string {\n return path.join(homedir(), '.aries', 'audit-logs')\n}\n\nexport function getAuditDir(provider?: AuditProvider): string {\n return provider ? path.join(getAuditRootDir(), provider) : getAuditRootDir()\n}\n\nexport function getAuditSearchDirs(): string[] {\n return [\n getAuditDir('claude'),\n getAuditDir('codex'),\n getAuditRootDir(),\n ]\n}\n","import {\n existsSync, readdirSync, readFileSync,\n} from 'node:fs'\nimport path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { getAuditSearchDirs } from './auditPaths.ts'\n\ninterface AiMetaParsed {\n entrypoint?: string\n ide?: string\n kind?: string\n model?: string\n permissionMode?: string\n product?: string\n provider?: string\n restrictions?: Record<string, boolean>\n version?: string\n}\n\ninterface AuditEntryData {\n permissionMode?: string\n prompt?: string\n response?: string\n toolInput?: string\n toolName?: string\n}\n\ninterface AuditEntryParsed {\n ai?: AiMetaParsed\n data?: AuditEntryData\n event?: string\n schema?: string\n sessionId?: string\n timestamp?: string\n}\n\nfunction findSessionFile(sessionId: string): string | undefined {\n const auditDirs = getAuditSearchDirs().filter(dir => existsSync(dir))\n if (auditDirs.length === 0) return undefined\n\n const dates = [...new Set(\n auditDirs.flatMap(auditDir =>\n readdirSync(auditDir).filter(d => /^\\d{4}-\\d{2}-\\d{2}$/.test(d))),\n )]\n .toSorted((a, b) => a.localeCompare(b))\n .toReversed()\n\n for (const date of dates) {\n for (const auditDir of auditDirs) {\n const dayDir = path.join(auditDir, date)\n if (!existsSync(dayDir)) continue\n const files = readdirSync(dayDir).filter(f => f.includes(sessionId) && f.endsWith('.jsonl'))\n if (files.length > 0) return path.join(dayDir, files[0])\n }\n }\n\n return undefined\n}\n\nfunction formatSessionStart(time: string, entry: AuditEntryParsed): string {\n const version = entry.ai?.version ? ` v${entry.ai.version}` : ''\n const mode = entry.data?.permissionMode ? ` mode=${entry.data.permissionMode}` : ''\n return `${chalk.gray(time)} ${chalk.blue('SESSION START')}${version}${mode}`\n}\n\nfunction formatEntry(entry: AuditEntryParsed): string {\n const time = (entry.timestamp ?? '').slice(11, 23)\n const event = entry.event ?? 'unknown'\n const data = entry.data\n\n switch (event) {\n case 'SessionStart': {\n return formatSessionStart(time, entry)\n }\n case 'UserPromptSubmit': {\n return `${chalk.gray(time)} ${chalk.green('PROMPT')} ${String(data?.prompt ?? '').slice(0, 200)}`\n }\n case 'PostToolUse': {\n return `${chalk.gray(time)} ${chalk.yellow('TOOL')} ${chalk.white(String(data?.toolName ?? ''))} ${chalk.gray(String(data?.toolInput ?? '').slice(0, 120))}`\n }\n case 'Stop': {\n return `${chalk.gray(time)} ${chalk.magenta('RESPONSE')} ${String(data?.response ?? '').slice(0, 200)}`\n }\n default: {\n return `${chalk.gray(time)} ${event} ${JSON.stringify(data)}`\n }\n }\n}\n\nexport function showSession(sessionId: string, format: string): void {\n const filePath = findSessionFile(sessionId)\n if (!filePath) {\n console.log(chalk.red(`No audit log found for session: ${sessionId}`))\n return\n }\n\n const content = readFileSync(filePath, 'utf8').trim()\n if (!content) {\n console.log(chalk.yellow('Session log is empty.'))\n return\n }\n\n const lines = content.split('\\n')\n\n if (format === 'json') {\n for (const line of lines) {\n console.log(line)\n }\n return\n }\n\n console.log(chalk.cyan(`Session: ${sessionId}`))\n console.log(chalk.cyan(`File: ${filePath}`))\n console.log(chalk.cyan(`Entries: ${lines.length}`))\n console.log()\n\n for (const line of lines) {\n try {\n const entry = JSON.parse(line) as AuditEntryParsed\n console.log(formatEntry(entry))\n } catch {\n console.log(chalk.red(` [malformed] ${line.slice(0, 80)}`))\n }\n }\n}\n","import type { CommandModule } from 'yargs'\n\nimport { showSession } from '../actions/audit/index.ts'\n\nexport const auditShowCommand: CommandModule = {\n command: 'show <session-id>',\n describe: 'Show audit trail for a session',\n builder: yargs =>\n yargs\n .positional('session-id', {\n type: 'string',\n describe: 'Session ID (or prefix)',\n demandOption: true,\n })\n .option('format', {\n alias: 'f',\n type: 'string',\n choices: ['text', 'json'] as const,\n default: 'text',\n describe: 'Output format',\n }),\n handler: (argv) => {\n showSession(argv['session-id'] as string, argv.format as string)\n },\n}\n"],"mappings":"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","names":["path","path"]}
@@ -0,0 +1,105 @@
1
+ // src/actions/audit/auditPaths.ts
2
+ import { homedir } from "os";
3
+ import path from "path";
4
+ function getAuditRootDir() {
5
+ return path.join(homedir(), ".aries", "audit-logs");
6
+ }
7
+ function getAuditDir(provider) {
8
+ return provider ? path.join(getAuditRootDir(), provider) : getAuditRootDir();
9
+ }
10
+ function getAuditSearchDirs() {
11
+ return [
12
+ getAuditDir("claude"),
13
+ getAuditDir("codex"),
14
+ getAuditRootDir()
15
+ ];
16
+ }
17
+
18
+ // src/actions/audit/statusAudit.ts
19
+ import {
20
+ existsSync,
21
+ readdirSync,
22
+ readFileSync,
23
+ statSync
24
+ } from "fs";
25
+ import { homedir as homedir2 } from "os";
26
+ import path2 from "path";
27
+ import chalk from "chalk";
28
+ function getDirectorySize(dir) {
29
+ let size = 0;
30
+ if (!existsSync(dir)) return size;
31
+ for (const entry of readdirSync(dir)) {
32
+ const fullPath = path2.join(dir, entry);
33
+ const stat = statSync(fullPath);
34
+ size += stat.isDirectory() ? getDirectorySize(fullPath) : stat.size;
35
+ }
36
+ return size;
37
+ }
38
+ function formatBytes(bytes) {
39
+ if (bytes < 1024) return `${bytes} B`;
40
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
41
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
42
+ }
43
+ function countSessions(dir) {
44
+ if (!existsSync(dir)) return 0;
45
+ let count = 0;
46
+ for (const date of readdirSync(dir)) {
47
+ const dayDir = path2.join(dir, date);
48
+ const stat = statSync(dayDir);
49
+ if (stat.isDirectory()) {
50
+ count += readdirSync(dayDir).filter((f) => f.endsWith(".jsonl")).length;
51
+ }
52
+ }
53
+ return count;
54
+ }
55
+ function checkHooksInstalled() {
56
+ const settingsPath = path2.join(homedir2(), ".claude", "settings.json");
57
+ if (!existsSync(settingsPath)) return false;
58
+ try {
59
+ const settings = JSON.parse(readFileSync(settingsPath, "utf8"));
60
+ return settings.hooks != null;
61
+ } catch {
62
+ return false;
63
+ }
64
+ }
65
+ function statusAudit() {
66
+ const auditRootDir = getAuditRootDir();
67
+ const auditDirs = getAuditSearchDirs().filter((dir) => existsSync(dir));
68
+ console.log(chalk.cyan("Audit Plugin Status"));
69
+ console.log();
70
+ if (checkHooksInstalled()) {
71
+ console.log(` ${chalk.green("Hooks:")} configured in ~/.claude/settings.json`);
72
+ } else {
73
+ console.log(` ${chalk.red("Hooks:")} not installed (run: aries audit install)`);
74
+ }
75
+ console.log();
76
+ console.log(` ${chalk.gray("Log root:")} ${auditRootDir}`);
77
+ console.log(` ${chalk.gray("Claude logs:")} ${getAuditDir("claude")}`);
78
+ console.log(` ${chalk.gray("Codex logs:")} ${getAuditDir("codex")}`);
79
+ if (auditDirs.length > 0) {
80
+ const sessions = auditDirs.reduce((sum, dir) => sum + countSessions(dir), 0);
81
+ const size = auditDirs.reduce((sum, dir) => sum + getDirectorySize(dir), 0);
82
+ const dates = [...new Set(
83
+ auditDirs.flatMap((dir) => readdirSync(dir).filter((d) => /^\d{4}-\d{2}-\d{2}$/.test(d)))
84
+ )];
85
+ const sorted = dates.toSorted((a, b) => a.localeCompare(b));
86
+ console.log(` ${chalk.gray("Sessions:")} ${sessions}`);
87
+ console.log(` ${chalk.gray("Date range:")} ${sorted[0] ?? "none"} - ${sorted.at(-1) ?? "none"}`);
88
+ console.log(` ${chalk.gray("Disk usage:")} ${formatBytes(size)}`);
89
+ } else {
90
+ console.log(` ${chalk.gray("No logs yet")}`);
91
+ }
92
+ }
93
+
94
+ // src/commands/auditStatusCommand.ts
95
+ var auditStatusCommand = {
96
+ command: "status",
97
+ describe: "Show audit plugin status and log statistics",
98
+ handler: () => {
99
+ statusAudit();
100
+ }
101
+ };
102
+ export {
103
+ auditStatusCommand
104
+ };
105
+ //# sourceMappingURL=auditStatusCommand.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/actions/audit/auditPaths.ts","../../src/actions/audit/statusAudit.ts","../../src/commands/auditStatusCommand.ts"],"sourcesContent":["import { homedir } from 'node:os'\nimport path from 'node:path'\n\nexport type AuditProvider = 'claude' | 'codex'\n\nexport function getAuditRootDir(): string {\n return path.join(homedir(), '.aries', 'audit-logs')\n}\n\nexport function getAuditDir(provider?: AuditProvider): string {\n return provider ? path.join(getAuditRootDir(), provider) : getAuditRootDir()\n}\n\nexport function getAuditSearchDirs(): string[] {\n return [\n getAuditDir('claude'),\n getAuditDir('codex'),\n getAuditRootDir(),\n ]\n}\n","import {\n existsSync, readdirSync, readFileSync, statSync,\n} from 'node:fs'\nimport { homedir } from 'node:os'\nimport path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport {\n getAuditDir, getAuditRootDir, getAuditSearchDirs,\n} from './auditPaths.ts'\n\nfunction getDirectorySize(dir: string): number {\n let size = 0\n if (!existsSync(dir)) return size\n\n for (const entry of readdirSync(dir)) {\n const fullPath = path.join(dir, entry)\n const stat = statSync(fullPath)\n size += stat.isDirectory() ? getDirectorySize(fullPath) : stat.size\n }\n return size\n}\n\nfunction formatBytes(bytes: number): string {\n if (bytes < 1024) return `${bytes} B`\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`\n return `${(bytes / (1024 * 1024)).toFixed(1)} MB`\n}\n\nfunction countSessions(dir: string): number {\n if (!existsSync(dir)) return 0\n let count = 0\n for (const date of readdirSync(dir)) {\n const dayDir = path.join(dir, date)\n const stat = statSync(dayDir)\n if (stat.isDirectory()) {\n count += readdirSync(dayDir).filter(f => f.endsWith('.jsonl')).length\n }\n }\n return count\n}\n\nfunction checkHooksInstalled(): boolean {\n const settingsPath = path.join(homedir(), '.claude', 'settings.json')\n if (!existsSync(settingsPath)) return false\n try {\n const settings = JSON.parse(readFileSync(settingsPath, 'utf8')) as Record<string, unknown>\n return settings.hooks != null\n } catch {\n return false\n }\n}\n\nexport function statusAudit(): void {\n const auditRootDir = getAuditRootDir()\n const auditDirs = getAuditSearchDirs().filter(dir => existsSync(dir))\n\n console.log(chalk.cyan('Audit Plugin Status'))\n console.log()\n\n // Hook installation\n if (checkHooksInstalled()) {\n console.log(` ${chalk.green('Hooks:')} configured in ~/.claude/settings.json`)\n } else {\n console.log(` ${chalk.red('Hooks:')} not installed (run: aries audit install)`)\n }\n\n console.log()\n\n // Audit logs\n console.log(` ${chalk.gray('Log root:')} ${auditRootDir}`)\n console.log(` ${chalk.gray('Claude logs:')} ${getAuditDir('claude')}`)\n console.log(` ${chalk.gray('Codex logs:')} ${getAuditDir('codex')}`)\n\n if (auditDirs.length > 0) {\n const sessions = auditDirs.reduce((sum, dir) => sum + countSessions(dir), 0)\n const size = auditDirs.reduce((sum, dir) => sum + getDirectorySize(dir), 0)\n const dates = [...new Set(\n auditDirs.flatMap(dir => readdirSync(dir).filter(d => /^\\d{4}-\\d{2}-\\d{2}$/.test(d))),\n )]\n const sorted = dates.toSorted((a, b) => a.localeCompare(b))\n\n console.log(` ${chalk.gray('Sessions:')} ${sessions}`)\n console.log(` ${chalk.gray('Date range:')} ${sorted[0] ?? 'none'} - ${sorted.at(-1) ?? 'none'}`)\n console.log(` ${chalk.gray('Disk usage:')} ${formatBytes(size)}`)\n } else {\n console.log(` ${chalk.gray('No logs yet')}`)\n }\n}\n","import type { CommandModule } from 'yargs'\n\nimport { statusAudit } from '../actions/audit/index.ts'\n\nexport const auditStatusCommand: CommandModule = {\n command: 'status',\n describe: 'Show audit plugin status and log statistics',\n handler: () => {\n statusAudit()\n },\n}\n"],"mappings":"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","names":["homedir","path","path","homedir"]}