@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,77 @@
1
+ // src/actions/audit/searchAudit.ts
2
+ import {
3
+ existsSync,
4
+ readdirSync,
5
+ readFileSync
6
+ } from "fs";
7
+ import path2 from "path";
8
+ import chalk from "chalk";
9
+
10
+ // src/actions/audit/auditPaths.ts
11
+ import { homedir } from "os";
12
+ import path from "path";
13
+ function getAuditRootDir() {
14
+ return path.join(homedir(), ".aries", "audit-logs");
15
+ }
16
+ function getAuditDir(provider) {
17
+ return provider ? path.join(getAuditRootDir(), provider) : getAuditRootDir();
18
+ }
19
+ function getAuditSearchDirs() {
20
+ return [
21
+ getAuditDir("claude"),
22
+ getAuditDir("codex"),
23
+ getAuditRootDir()
24
+ ];
25
+ }
26
+
27
+ // src/actions/audit/searchAudit.ts
28
+ function searchAudit(query, date, limit = 50) {
29
+ const auditDirs = getAuditSearchDirs().filter((dir) => existsSync(dir));
30
+ if (auditDirs.length === 0) {
31
+ console.log(chalk.yellow("No audit logs found."));
32
+ return;
33
+ }
34
+ const dates = date ? [date] : [...new Set(
35
+ auditDirs.flatMap((auditDir) => readdirSync(auditDir).filter((d) => /^\d{4}-\d{2}-\d{2}$/.test(d)))
36
+ )].toSorted((a, b) => a.localeCompare(b)).toReversed();
37
+ const lowerQuery = query.toLowerCase();
38
+ let matchCount = 0;
39
+ for (const d of dates) {
40
+ const files = auditDirs.flatMap((auditDir) => {
41
+ const dayDir = path2.join(auditDir, d);
42
+ if (!existsSync(dayDir)) return [];
43
+ return readdirSync(dayDir).filter((f) => f.endsWith(".jsonl")).map((file) => path2.join(dayDir, file));
44
+ });
45
+ for (const file of files) {
46
+ const content = readFileSync(file, "utf8").trim();
47
+ if (!content) continue;
48
+ for (const line of content.split("\n")) {
49
+ if (!line.toLowerCase().includes(lowerQuery)) continue;
50
+ try {
51
+ const entry = JSON.parse(line);
52
+ const time = (entry.timestamp ?? "").slice(0, 19);
53
+ const event = entry.event ?? "unknown";
54
+ const snippet = JSON.stringify(entry.data).slice(0, 150);
55
+ console.log(`${chalk.gray(time)} ${chalk.cyan((entry.sessionId ?? "").slice(0, 8))} ${chalk.yellow(event)} ${snippet}`);
56
+ matchCount++;
57
+ if (matchCount >= limit) {
58
+ console.log(chalk.gray(`
59
+ ... showing first ${limit} matches`));
60
+ return;
61
+ }
62
+ } catch {
63
+ }
64
+ }
65
+ }
66
+ }
67
+ if (matchCount === 0) {
68
+ console.log(chalk.yellow(`No matches found for: ${query}`));
69
+ } else {
70
+ console.log(chalk.gray(`
71
+ ${matchCount} match${matchCount === 1 ? "" : "es"} found`));
72
+ }
73
+ }
74
+ export {
75
+ searchAudit
76
+ };
77
+ //# sourceMappingURL=searchAudit.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/audit/searchAudit.ts","../../../src/actions/audit/auditPaths.ts"],"sourcesContent":["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 { 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"],"mappings":";AAAA;AAAA,EACE;AAAA,EAAY;AAAA,EAAa;AAAA,OACpB;AACP,OAAOA,WAAU;AAEjB,OAAO,WAAW;;;ACLlB,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;AAEO,SAAS,qBAA+B;AAC7C,SAAO;AAAA,IACL,YAAY,QAAQ;AAAA,IACpB,YAAY,OAAO;AAAA,IACnB,gBAAgB;AAAA,EAClB;AACF;;;ADFO,SAAS,YAAY,OAAe,MAAe,QAAQ,IAAU;AAC1E,QAAM,YAAY,mBAAmB,EAAE,OAAO,SAAO,WAAW,GAAG,CAAC;AACpE,MAAI,UAAU,WAAW,GAAG;AAC1B,YAAQ,IAAI,MAAM,OAAO,sBAAsB,CAAC;AAChD;AAAA,EACF;AAEA,QAAM,QAAQ,OACV,CAAC,IAAI,IACL,CAAC,GAAG,IAAI;AAAA,IACN,UAAU,QAAQ,cAChB,YAAY,QAAQ,EAAE,OAAO,OAAK,sBAAsB,KAAK,CAAC,CAAC,CAAC;AAAA,EACpE,CAAC,EACE,SAAS,CAAC,GAAG,MAAM,EAAE,cAAc,CAAC,CAAC,EACrC,WAAW;AAElB,QAAM,aAAa,MAAM,YAAY;AACrC,MAAI,aAAa;AAEjB,aAAW,KAAK,OAAO;AACrB,UAAM,QAAQ,UAAU,QAAQ,CAAC,aAAa;AAC5C,YAAM,SAASC,MAAK,KAAK,UAAU,CAAC;AACpC,UAAI,CAAC,WAAW,MAAM,EAAG,QAAO,CAAC;AACjC,aAAO,YAAY,MAAM,EACtB,OAAO,OAAK,EAAE,SAAS,QAAQ,CAAC,EAChC,IAAI,UAAQA,MAAK,KAAK,QAAQ,IAAI,CAAC;AAAA,IACxC,CAAC;AAED,eAAW,QAAQ,OAAO;AACxB,YAAM,UAAU,aAAa,MAAM,MAAM,EAAE,KAAK;AAChD,UAAI,CAAC,QAAS;AAEd,iBAAW,QAAQ,QAAQ,MAAM,IAAI,GAAG;AACtC,YAAI,CAAC,KAAK,YAAY,EAAE,SAAS,UAAU,EAAG;AAE9C,YAAI;AACF,gBAAM,QAAQ,KAAK,MAAM,IAAI;AAC7B,gBAAM,QAAQ,MAAM,aAAa,IAAI,MAAM,GAAG,EAAE;AAChD,gBAAM,QAAQ,MAAM,SAAS;AAE7B,gBAAM,UAAU,KAAK,UAAU,MAAM,IAAI,EAAE,MAAM,GAAG,GAAG;AACvD,kBAAQ,IAAI,GAAG,MAAM,KAAK,IAAI,CAAC,IAAI,MAAM,MAAM,MAAM,aAAa,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,OAAO,KAAK,CAAC,IAAI,OAAO,EAAE;AAEtH;AACA,cAAI,cAAc,OAAO;AACvB,oBAAQ,IAAI,MAAM,KAAK;AAAA,oBAAuB,KAAK,UAAU,CAAC;AAC9D;AAAA,UACF;AAAA,QACF,QAAQ;AAAA,QAER;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,eAAe,GAAG;AACpB,YAAQ,IAAI,MAAM,OAAO,yBAAyB,KAAK,EAAE,CAAC;AAAA,EAC5D,OAAO;AACL,YAAQ,IAAI,MAAM,KAAK;AAAA,EAAK,UAAU,SAAS,eAAe,IAAI,KAAK,IAAI,QAAQ,CAAC;AAAA,EACtF;AACF;","names":["path","path"]}
@@ -0,0 +1,105 @@
1
+ // src/actions/audit/showAiMeta.ts
2
+ import { execSync } from "child_process";
3
+ import {
4
+ existsSync,
5
+ readdirSync,
6
+ readFileSync
7
+ } from "fs";
8
+ import { homedir } from "os";
9
+ import path from "path";
10
+ import { fileURLToPath } from "url";
11
+ import chalk from "chalk";
12
+ function getClientVersion() {
13
+ try {
14
+ const thisFile = fileURLToPath(import.meta.url);
15
+ const pkgDir = path.resolve(path.dirname(thisFile), "..", "..");
16
+ const pkg = JSON.parse(readFileSync(path.join(pkgDir, "package.json"), "utf8"));
17
+ return pkg.version;
18
+ } catch {
19
+ return void 0;
20
+ }
21
+ }
22
+ function getClaudeVersion() {
23
+ const execPath = process.env.CLAUDE_CODE_EXECPATH;
24
+ if (execPath) return path.basename(execPath);
25
+ try {
26
+ const output = execSync("claude --version", { encoding: "utf8", timeout: 5e3 }).trim();
27
+ const match = /^([\d.]+)/.exec(output);
28
+ return match?.[1];
29
+ } catch {
30
+ return void 0;
31
+ }
32
+ }
33
+ function getClaudeDir() {
34
+ return path.join(homedir(), ".claude");
35
+ }
36
+ function readRestrictions() {
37
+ try {
38
+ const raw = JSON.parse(readFileSync(path.join(getClaudeDir(), "policy-limits.json"), "utf8"));
39
+ if (!raw.restrictions) return void 0;
40
+ const result = {};
41
+ for (const [key, value] of Object.entries(raw.restrictions)) {
42
+ result[key] = value.allowed ?? false;
43
+ }
44
+ return Object.keys(result).length > 0 ? result : void 0;
45
+ } catch {
46
+ return void 0;
47
+ }
48
+ }
49
+ function readIdeName() {
50
+ try {
51
+ const ideDir = path.join(getClaudeDir(), "ide");
52
+ if (!existsSync(ideDir)) return void 0;
53
+ const lockFile = readdirSync(ideDir).find((f) => f.endsWith(".lock"));
54
+ if (!lockFile) return void 0;
55
+ const content = JSON.parse(readFileSync(path.join(ideDir, lockFile), "utf8"));
56
+ return content.ideName;
57
+ } catch {
58
+ return void 0;
59
+ }
60
+ }
61
+ var DYNAMIC_FIELDS = /* @__PURE__ */ new Set(["kind", "model", "permissionMode"]);
62
+ function printSection(label, entries) {
63
+ console.log(chalk.cyan(label));
64
+ for (const [key, value] of Object.entries(entries)) {
65
+ if (value === void 0) {
66
+ const fallback = DYNAMIC_FIELDS.has(key) ? chalk.gray("<dynamic>") : chalk.gray("unknown");
67
+ console.log(` ${chalk.white(key)}: ${fallback}`);
68
+ } else if (typeof value === "object" && value !== null) {
69
+ console.log(` ${chalk.white(key)}:`);
70
+ for (const [k, v] of Object.entries(value)) {
71
+ console.log(` ${chalk.white(k)}: ${chalk.green(String(v))}`);
72
+ }
73
+ } else {
74
+ console.log(` ${chalk.white(key)}: ${chalk.green(typeof value === "string" ? value : JSON.stringify(value))}`);
75
+ }
76
+ }
77
+ }
78
+ function showAiMeta(json) {
79
+ const ai = {
80
+ entrypoint: process.env.CLAUDE_CODE_ENTRYPOINT,
81
+ ide: readIdeName(),
82
+ kind: void 0,
83
+ model: void 0,
84
+ permissionMode: void 0,
85
+ product: "claude-code",
86
+ provider: "anthropic",
87
+ restrictions: readRestrictions(),
88
+ version: getClaudeVersion()
89
+ };
90
+ const client = {
91
+ name: "@xylabs/aries-audit-plugin",
92
+ version: getClientVersion()
93
+ };
94
+ if (json) {
95
+ console.log(JSON.stringify({ ai, client }, null, 2));
96
+ return;
97
+ }
98
+ printSection("AI", ai);
99
+ console.log();
100
+ printSection("Client", client);
101
+ }
102
+ export {
103
+ showAiMeta
104
+ };
105
+ //# sourceMappingURL=showAiMeta.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/audit/showAiMeta.ts"],"sourcesContent":["import { execSync } from 'node:child_process'\nimport {\n existsSync, readdirSync, readFileSync,\n} from 'node:fs'\nimport { homedir } from 'node:os'\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\n\nimport chalk from 'chalk'\n\nfunction getClientVersion(): string | undefined {\n try {\n const thisFile = fileURLToPath(import.meta.url)\n const pkgDir = path.resolve(path.dirname(thisFile), '..', '..')\n const pkg = JSON.parse(readFileSync(path.join(pkgDir, 'package.json'), 'utf8')) as { version?: string }\n return pkg.version\n } catch {\n return undefined\n }\n}\n\nfunction getClaudeVersion(): string | undefined {\n const execPath = process.env.CLAUDE_CODE_EXECPATH\n if (execPath) return path.basename(execPath)\n try {\n const output = execSync('claude --version', { encoding: 'utf8', timeout: 5000 }).trim()\n const match = /^([\\d.]+)/.exec(output)\n return match?.[1]\n } catch {\n return undefined\n }\n}\n\nfunction getClaudeDir(): string {\n return path.join(homedir(), '.claude')\n}\n\nfunction readRestrictions(): Record<string, boolean> | undefined {\n try {\n const raw = JSON.parse(readFileSync(path.join(getClaudeDir(), 'policy-limits.json'), 'utf8')) as {\n restrictions?: Record<string, { allowed?: boolean }>\n }\n if (!raw.restrictions) return undefined\n const result: Record<string, boolean> = {}\n for (const [key, value] of Object.entries(raw.restrictions)) {\n result[key] = value.allowed ?? false\n }\n return Object.keys(result).length > 0 ? result : undefined\n } catch {\n return undefined\n }\n}\n\nfunction readIdeName(): string | undefined {\n try {\n const ideDir = path.join(getClaudeDir(), 'ide')\n if (!existsSync(ideDir)) return undefined\n const lockFile = readdirSync(ideDir).find(f => f.endsWith('.lock'))\n if (!lockFile) return undefined\n const content = JSON.parse(readFileSync(path.join(ideDir, lockFile), 'utf8')) as { ideName?: string }\n return content.ideName\n } catch {\n return undefined\n }\n}\n\nconst DYNAMIC_FIELDS = new Set(['kind', 'model', 'permissionMode'])\n\nfunction printSection(label: string, entries: Record<string, unknown>): void {\n console.log(chalk.cyan(label))\n for (const [key, value] of Object.entries(entries)) {\n if (value === undefined) {\n const fallback = DYNAMIC_FIELDS.has(key) ? chalk.gray('<dynamic>') : chalk.gray('unknown')\n console.log(` ${chalk.white(key)}: ${fallback}`)\n } else if (typeof value === 'object' && value !== null) {\n console.log(` ${chalk.white(key)}:`)\n for (const [k, v] of Object.entries(value)) {\n console.log(` ${chalk.white(k)}: ${chalk.green(String(v))}`)\n }\n } else {\n console.log(` ${chalk.white(key)}: ${chalk.green(typeof value === 'string' ? value : JSON.stringify(value))}`)\n }\n }\n}\n\nexport function showAiMeta(json: boolean): void {\n const ai: Record<string, unknown> = {\n entrypoint: process.env.CLAUDE_CODE_ENTRYPOINT,\n ide: readIdeName(),\n kind: undefined,\n model: undefined,\n permissionMode: undefined,\n product: 'claude-code',\n provider: 'anthropic',\n restrictions: readRestrictions(),\n version: getClaudeVersion(),\n }\n\n const client: Record<string, string | undefined> = {\n name: '@xylabs/aries-audit-plugin',\n version: getClientVersion(),\n }\n\n if (json) {\n console.log(JSON.stringify({ ai, client }, null, 2))\n return\n }\n\n printSection('AI', ai)\n console.log()\n printSection('Client', client)\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,105 @@
1
+ // src/actions/audit/showSession.ts
2
+ import {
3
+ existsSync,
4
+ readdirSync,
5
+ readFileSync
6
+ } from "fs";
7
+ import path2 from "path";
8
+ import chalk from "chalk";
9
+
10
+ // src/actions/audit/auditPaths.ts
11
+ import { homedir } from "os";
12
+ import path from "path";
13
+ function getAuditRootDir() {
14
+ return path.join(homedir(), ".aries", "audit-logs");
15
+ }
16
+ function getAuditDir(provider) {
17
+ return provider ? path.join(getAuditRootDir(), provider) : getAuditRootDir();
18
+ }
19
+ function getAuditSearchDirs() {
20
+ return [
21
+ getAuditDir("claude"),
22
+ getAuditDir("codex"),
23
+ getAuditRootDir()
24
+ ];
25
+ }
26
+
27
+ // src/actions/audit/showSession.ts
28
+ function findSessionFile(sessionId) {
29
+ const auditDirs = getAuditSearchDirs().filter((dir) => existsSync(dir));
30
+ if (auditDirs.length === 0) return void 0;
31
+ const dates = [...new Set(
32
+ auditDirs.flatMap((auditDir) => readdirSync(auditDir).filter((d) => /^\d{4}-\d{2}-\d{2}$/.test(d)))
33
+ )].toSorted((a, b) => a.localeCompare(b)).toReversed();
34
+ for (const date of dates) {
35
+ for (const auditDir of auditDirs) {
36
+ const dayDir = path2.join(auditDir, date);
37
+ if (!existsSync(dayDir)) continue;
38
+ const files = readdirSync(dayDir).filter((f) => f.includes(sessionId) && f.endsWith(".jsonl"));
39
+ if (files.length > 0) return path2.join(dayDir, files[0]);
40
+ }
41
+ }
42
+ return void 0;
43
+ }
44
+ function formatSessionStart(time, entry) {
45
+ const version = entry.ai?.version ? ` v${entry.ai.version}` : "";
46
+ const mode = entry.data?.permissionMode ? ` mode=${entry.data.permissionMode}` : "";
47
+ return `${chalk.gray(time)} ${chalk.blue("SESSION START")}${version}${mode}`;
48
+ }
49
+ function formatEntry(entry) {
50
+ const time = (entry.timestamp ?? "").slice(11, 23);
51
+ const event = entry.event ?? "unknown";
52
+ const data = entry.data;
53
+ switch (event) {
54
+ case "SessionStart": {
55
+ return formatSessionStart(time, entry);
56
+ }
57
+ case "UserPromptSubmit": {
58
+ return `${chalk.gray(time)} ${chalk.green("PROMPT")} ${String(data?.prompt ?? "").slice(0, 200)}`;
59
+ }
60
+ case "PostToolUse": {
61
+ return `${chalk.gray(time)} ${chalk.yellow("TOOL")} ${chalk.white(String(data?.toolName ?? ""))} ${chalk.gray(String(data?.toolInput ?? "").slice(0, 120))}`;
62
+ }
63
+ case "Stop": {
64
+ return `${chalk.gray(time)} ${chalk.magenta("RESPONSE")} ${String(data?.response ?? "").slice(0, 200)}`;
65
+ }
66
+ default: {
67
+ return `${chalk.gray(time)} ${event} ${JSON.stringify(data)}`;
68
+ }
69
+ }
70
+ }
71
+ function showSession(sessionId, format) {
72
+ const filePath = findSessionFile(sessionId);
73
+ if (!filePath) {
74
+ console.log(chalk.red(`No audit log found for session: ${sessionId}`));
75
+ return;
76
+ }
77
+ const content = readFileSync(filePath, "utf8").trim();
78
+ if (!content) {
79
+ console.log(chalk.yellow("Session log is empty."));
80
+ return;
81
+ }
82
+ const lines = content.split("\n");
83
+ if (format === "json") {
84
+ for (const line of lines) {
85
+ console.log(line);
86
+ }
87
+ return;
88
+ }
89
+ console.log(chalk.cyan(`Session: ${sessionId}`));
90
+ console.log(chalk.cyan(`File: ${filePath}`));
91
+ console.log(chalk.cyan(`Entries: ${lines.length}`));
92
+ console.log();
93
+ for (const line of lines) {
94
+ try {
95
+ const entry = JSON.parse(line);
96
+ console.log(formatEntry(entry));
97
+ } catch {
98
+ console.log(chalk.red(` [malformed] ${line.slice(0, 80)}`));
99
+ }
100
+ }
101
+ }
102
+ export {
103
+ showSession
104
+ };
105
+ //# sourceMappingURL=showSession.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/audit/showSession.ts","../../../src/actions/audit/auditPaths.ts"],"sourcesContent":["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 { 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"],"mappings":"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","names":["path","path"]}
@@ -0,0 +1,98 @@
1
+ // src/actions/audit/statusAudit.ts
2
+ import {
3
+ existsSync,
4
+ readdirSync,
5
+ readFileSync,
6
+ statSync
7
+ } from "fs";
8
+ import { homedir as homedir2 } from "os";
9
+ import path2 from "path";
10
+ import chalk from "chalk";
11
+
12
+ // src/actions/audit/auditPaths.ts
13
+ import { homedir } from "os";
14
+ import path from "path";
15
+ function getAuditRootDir() {
16
+ return path.join(homedir(), ".aries", "audit-logs");
17
+ }
18
+ function getAuditDir(provider) {
19
+ return provider ? path.join(getAuditRootDir(), provider) : getAuditRootDir();
20
+ }
21
+ function getAuditSearchDirs() {
22
+ return [
23
+ getAuditDir("claude"),
24
+ getAuditDir("codex"),
25
+ getAuditRootDir()
26
+ ];
27
+ }
28
+
29
+ // src/actions/audit/statusAudit.ts
30
+ function getDirectorySize(dir) {
31
+ let size = 0;
32
+ if (!existsSync(dir)) return size;
33
+ for (const entry of readdirSync(dir)) {
34
+ const fullPath = path2.join(dir, entry);
35
+ const stat = statSync(fullPath);
36
+ size += stat.isDirectory() ? getDirectorySize(fullPath) : stat.size;
37
+ }
38
+ return size;
39
+ }
40
+ function formatBytes(bytes) {
41
+ if (bytes < 1024) return `${bytes} B`;
42
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
43
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
44
+ }
45
+ function countSessions(dir) {
46
+ if (!existsSync(dir)) return 0;
47
+ let count = 0;
48
+ for (const date of readdirSync(dir)) {
49
+ const dayDir = path2.join(dir, date);
50
+ const stat = statSync(dayDir);
51
+ if (stat.isDirectory()) {
52
+ count += readdirSync(dayDir).filter((f) => f.endsWith(".jsonl")).length;
53
+ }
54
+ }
55
+ return count;
56
+ }
57
+ function checkHooksInstalled() {
58
+ const settingsPath = path2.join(homedir2(), ".claude", "settings.json");
59
+ if (!existsSync(settingsPath)) return false;
60
+ try {
61
+ const settings = JSON.parse(readFileSync(settingsPath, "utf8"));
62
+ return settings.hooks != null;
63
+ } catch {
64
+ return false;
65
+ }
66
+ }
67
+ function statusAudit() {
68
+ const auditRootDir = getAuditRootDir();
69
+ const auditDirs = getAuditSearchDirs().filter((dir) => existsSync(dir));
70
+ console.log(chalk.cyan("Audit Plugin Status"));
71
+ console.log();
72
+ if (checkHooksInstalled()) {
73
+ console.log(` ${chalk.green("Hooks:")} configured in ~/.claude/settings.json`);
74
+ } else {
75
+ console.log(` ${chalk.red("Hooks:")} not installed (run: aries audit install)`);
76
+ }
77
+ console.log();
78
+ console.log(` ${chalk.gray("Log root:")} ${auditRootDir}`);
79
+ console.log(` ${chalk.gray("Claude logs:")} ${getAuditDir("claude")}`);
80
+ console.log(` ${chalk.gray("Codex logs:")} ${getAuditDir("codex")}`);
81
+ if (auditDirs.length > 0) {
82
+ const sessions = auditDirs.reduce((sum, dir) => sum + countSessions(dir), 0);
83
+ const size = auditDirs.reduce((sum, dir) => sum + getDirectorySize(dir), 0);
84
+ const dates = [...new Set(
85
+ auditDirs.flatMap((dir) => readdirSync(dir).filter((d) => /^\d{4}-\d{2}-\d{2}$/.test(d)))
86
+ )];
87
+ const sorted = dates.toSorted((a, b) => a.localeCompare(b));
88
+ console.log(` ${chalk.gray("Sessions:")} ${sessions}`);
89
+ console.log(` ${chalk.gray("Date range:")} ${sorted[0] ?? "none"} - ${sorted.at(-1) ?? "none"}`);
90
+ console.log(` ${chalk.gray("Disk usage:")} ${formatBytes(size)}`);
91
+ } else {
92
+ console.log(` ${chalk.gray("No logs yet")}`);
93
+ }
94
+ }
95
+ export {
96
+ statusAudit
97
+ };
98
+ //# sourceMappingURL=statusAudit.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/audit/statusAudit.ts","../../../src/actions/audit/auditPaths.ts"],"sourcesContent":["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 { 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"],"mappings":"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","names":["homedir","path","path","homedir"]}
@@ -0,0 +1,53 @@
1
+ // src/actions/clamp/clampAudit.ts
2
+ import { writeAuditEntry } from "@xylabs/aries-audit-core";
3
+ import { CLAMP_AUDIT_SCHEMA } from "@xylabs/aries-clamp-core";
4
+ function logClampPermission(options) {
5
+ writeAuditEntry({
6
+ ai: { product: "clamp", provider: "aries" },
7
+ client: { name: "@xylabs/aries", version: "0.1.0" },
8
+ cwd: process.cwd(),
9
+ data: {
10
+ args: options.args,
11
+ command: options.command,
12
+ decision: options.decision,
13
+ policy: options.policy.name
14
+ },
15
+ event: "ClampPermission",
16
+ schema: CLAMP_AUDIT_SCHEMA,
17
+ sessionId: options.sessionId,
18
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
19
+ });
20
+ }
21
+ function logClampStart(options) {
22
+ writeAuditEntry({
23
+ ai: { product: "clamp", provider: "aries" },
24
+ client: { name: "@xylabs/aries", version: "0.1.0" },
25
+ cwd: process.cwd(),
26
+ data: {
27
+ command: options.command,
28
+ policy: options.policy.name
29
+ },
30
+ event: "ClampStart",
31
+ schema: CLAMP_AUDIT_SCHEMA,
32
+ sessionId: options.sessionId,
33
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
34
+ });
35
+ }
36
+ function logClampStop(options) {
37
+ writeAuditEntry({
38
+ ai: { product: "clamp", provider: "aries" },
39
+ client: { name: "@xylabs/aries", version: "0.1.0" },
40
+ cwd: process.cwd(),
41
+ data: { exitCode: options.exitCode },
42
+ event: "ClampStop",
43
+ schema: CLAMP_AUDIT_SCHEMA,
44
+ sessionId: options.sessionId,
45
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
46
+ });
47
+ }
48
+ export {
49
+ logClampPermission,
50
+ logClampStart,
51
+ logClampStop
52
+ };
53
+ //# sourceMappingURL=clampAudit.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/clamp/clampAudit.ts"],"sourcesContent":["import { writeAuditEntry } from '@xylabs/aries-audit-core'\nimport type { ClampPolicy } from '@xylabs/aries-clamp-core'\nimport { CLAMP_AUDIT_SCHEMA } from '@xylabs/aries-clamp-core'\n\nexport type ClampDecision = 'allowed' | 'denied' | 'prompted-allow' | 'prompted-deny'\n\nexport function logClampPermission(\n options: {\n args: string[]\n command: string\n decision: ClampDecision\n policy: ClampPolicy\n sessionId: string\n },\n): void {\n writeAuditEntry({\n ai: { product: 'clamp', provider: 'aries' },\n client: { name: '@xylabs/aries', version: '0.1.0' },\n cwd: process.cwd(),\n data: {\n args: options.args,\n command: options.command,\n decision: options.decision,\n policy: options.policy.name,\n },\n event: 'ClampPermission',\n schema: CLAMP_AUDIT_SCHEMA,\n sessionId: options.sessionId,\n timestamp: new Date().toISOString(),\n })\n}\n\nexport function logClampStart(\n options: {\n command: string\n policy: ClampPolicy\n sessionId: string\n },\n): void {\n writeAuditEntry({\n ai: { product: 'clamp', provider: 'aries' },\n client: { name: '@xylabs/aries', version: '0.1.0' },\n cwd: process.cwd(),\n data: {\n command: options.command,\n policy: options.policy.name,\n },\n event: 'ClampStart',\n schema: CLAMP_AUDIT_SCHEMA,\n sessionId: options.sessionId,\n timestamp: new Date().toISOString(),\n })\n}\n\nexport function logClampStop(\n options: {\n exitCode: number | null\n sessionId: string\n },\n): void {\n writeAuditEntry({\n ai: { product: 'clamp', provider: 'aries' },\n client: { name: '@xylabs/aries', version: '0.1.0' },\n cwd: process.cwd(),\n data: { exitCode: options.exitCode },\n event: 'ClampStop',\n schema: CLAMP_AUDIT_SCHEMA,\n sessionId: options.sessionId,\n timestamp: new Date().toISOString(),\n })\n}\n"],"mappings":";AAAA,SAAS,uBAAuB;AAEhC,SAAS,0BAA0B;AAI5B,SAAS,mBACd,SAOM;AACN,kBAAgB;AAAA,IACd,IAAI,EAAE,SAAS,SAAS,UAAU,QAAQ;AAAA,IAC1C,QAAQ,EAAE,MAAM,iBAAiB,SAAS,QAAQ;AAAA,IAClD,KAAK,QAAQ,IAAI;AAAA,IACjB,MAAM;AAAA,MACJ,MAAM,QAAQ;AAAA,MACd,SAAS,QAAQ;AAAA,MACjB,UAAU,QAAQ;AAAA,MAClB,QAAQ,QAAQ,OAAO;AAAA,IACzB;AAAA,IACA,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,WAAW,QAAQ;AAAA,IACnB,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,EACpC,CAAC;AACH;AAEO,SAAS,cACd,SAKM;AACN,kBAAgB;AAAA,IACd,IAAI,EAAE,SAAS,SAAS,UAAU,QAAQ;AAAA,IAC1C,QAAQ,EAAE,MAAM,iBAAiB,SAAS,QAAQ;AAAA,IAClD,KAAK,QAAQ,IAAI;AAAA,IACjB,MAAM;AAAA,MACJ,SAAS,QAAQ;AAAA,MACjB,QAAQ,QAAQ,OAAO;AAAA,IACzB;AAAA,IACA,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,WAAW,QAAQ;AAAA,IACnB,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,EACpC,CAAC;AACH;AAEO,SAAS,aACd,SAIM;AACN,kBAAgB;AAAA,IACd,IAAI,EAAE,SAAS,SAAS,UAAU,QAAQ;AAAA,IAC1C,QAAQ,EAAE,MAAM,iBAAiB,SAAS,QAAQ;AAAA,IAClD,KAAK,QAAQ,IAAI;AAAA,IACjB,MAAM,EAAE,UAAU,QAAQ,SAAS;AAAA,IACnC,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,WAAW,QAAQ;AAAA,IACnB,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,EACpC,CAAC;AACH;","names":[]}