void 0.10.5 → 0.10.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/dist/agents-Bmr5tFFb.mjs +1454 -0
  2. package/dist/{auth-cmd-UoCwfDQv.mjs → auth-cmd-DlgNwByu.mjs} +10 -10
  3. package/dist/{better-auth-shared-D0Mbmx5V.mjs → better-auth-shared-BQooDxbw.mjs} +1 -1
  4. package/dist/{better-auth-shared-jkksALri.d.mts → better-auth-shared-BvnM9px6.d.mts} +2 -2
  5. package/dist/{build-cmd-CVyuBHjP.mjs → build-cmd-Br8qL0rA.mjs} +15 -17
  6. package/dist/{cache-ACORQCIq.mjs → cache-wH-mP8UE.mjs} +10 -12
  7. package/dist/{cancel-deploy-Gi8zmoZC.mjs → cancel-deploy-BEBOEgtu.mjs} +16 -18
  8. package/dist/cli/cli.mjs +47 -49
  9. package/dist/{client-BlbnA92X.mjs → client-Cj96iiBH.mjs} +74 -8
  10. package/dist/{config-8dLIngKW.mjs → config-1twldYCW.mjs} +10 -10
  11. package/dist/{config-CbJS4Krx.mjs → config-BdUctCZD.mjs} +4 -4
  12. package/dist/{create-project-LjvkYziS.mjs → create-project-DD9n8Ho-.mjs} +28 -23
  13. package/dist/{db-C00yjN01.mjs → db-DjKE2-A-.mjs} +147 -149
  14. package/dist/{delete-CplfvTgU.mjs → delete-D2kr3Kmk.mjs} +13 -15
  15. package/dist/{deploy-CISNL5uK.mjs → deploy-C4PbkFyE.mjs} +97 -100
  16. package/dist/{discover-ZWuBvt22.mjs → discover-BuVVSAum.mjs} +3 -3
  17. package/dist/{dist-5cGIJHQQ.mjs → dist-BuiRJkTd.mjs} +59 -27
  18. package/dist/{domain-B4HpcgNG.mjs → domain-_luIsM_B.mjs} +14 -16
  19. package/dist/{env-DNMJpeVF.mjs → env-CO5XAS9t.mjs} +23 -25
  20. package/dist/{env-helpers-B_ks681T.d.mts → env-helpers-z4stu8uc.d.mts} +1 -1
  21. package/dist/{env-types-BS8cZead.mjs → env-types-D51bnR-c.mjs} +3 -3
  22. package/dist/{env-validation-BxbtBbjh.mjs → env-validation-CeC2FL66.mjs} +4 -4
  23. package/dist/{fetch-error-C6qffTl2.mjs → fetch-error-Dj3crt0e.mjs} +3 -3
  24. package/dist/{gen-C0pV2gRQ.mjs → gen-Cf79J4aw.mjs} +42 -44
  25. package/dist/{github-cmd-CwtLD1yI.mjs → github-cmd-DnqxyOsb.mjs} +88 -90
  26. package/dist/{handler-B7rCOy21.d.mts → handler-imD0UVDT.d.mts} +4 -5
  27. package/dist/{headers-BNWymgnH.mjs → headers-BwvFGhkx.mjs} +3 -3
  28. package/dist/index.d.mts +3 -3
  29. package/dist/index.mjs +102 -83
  30. package/dist/{init-D58GxCtt.mjs → init-KirOzVDs.mjs} +132 -134
  31. package/dist/link-CUmiosyb.mjs +45 -0
  32. package/dist/{list-CbNNjXTm.mjs → list-3GEw7b6m.mjs} +10 -12
  33. package/dist/{login-CvxxF_9z.mjs → login-DJReaT_Q.mjs} +14 -15
  34. package/dist/{logs-BDZ9AuhM.mjs → logs-D-rQ56Lq.mjs} +9 -11
  35. package/dist/{magic-string.es-C1Fb0uxq.mjs → magic-string.es-ZQjdJFFn.mjs} +3 -3
  36. package/dist/{mcp-C8BjRt_z.mjs → mcp-D7yc0dXY.mjs} +2 -3
  37. package/dist/{node-B07cZs0d.mjs → node-yFFk626c.mjs} +6 -6
  38. package/dist/{package-json-Bg_GJdJB.mjs → package-json-B0NuUWGd.mjs} +1 -1
  39. package/dist/pages/client.d.mts +1 -1
  40. package/dist/pages/client.mjs +2 -1
  41. package/dist/pages/head-client.d.mts +1 -1
  42. package/dist/pages/head.d.mts +1 -1
  43. package/dist/pages/index.d.mts +2 -2
  44. package/dist/pages/index.mjs +5 -5
  45. package/dist/pages/islands-plugin.d.mts +1 -1
  46. package/dist/pages/islands-plugin.mjs +3 -3
  47. package/dist/pages/protocol.d.mts +2 -2
  48. package/dist/pages/protocol.mjs +5 -2
  49. package/dist/{plugin-inference-D04iL1mW.mjs → plugin-inference-CJxi_fWI.mjs} +3 -3
  50. package/dist/{prepare-DUo9q8cM.mjs → prepare-C_cVurhP.mjs} +15 -18
  51. package/dist/{preset-D0My64KQ.mjs → preset-CVvwCeIy.mjs} +4 -4
  52. package/dist/{project-cmd-Dd1gNRdd.mjs → project-cmd-DnU7u9QF.mjs} +13 -14
  53. package/dist/{project-paths-CCMrHYQm.mjs → project-paths-tpdR1mJR.mjs} +2 -2
  54. package/dist/{project-tsconfig-DMBV55K2.mjs → project-tsconfig-D9uSVVpA.mjs} +2 -2
  55. package/dist/{protocol-6UZCowS1.d.mts → protocol-6hTJ04T1.d.mts} +3 -3
  56. package/dist/{resolve-project-D4O1_fZz.mjs → resolve-project-D2HI3TrG.mjs} +2 -2
  57. package/dist/{rollback-DzmCCrFg.mjs → rollback-Yh7bCKob.mjs} +21 -23
  58. package/dist/{route-types-BpSJEW20.mjs → route-types-CfKfhbIg.mjs} +234 -3
  59. package/dist/{runner-BQyKUqAL.mjs → runner-h272wcPj.mjs} +4 -5
  60. package/dist/{runner-pg-EuhrFW3D.mjs → runner-pg-waxJOnBb.mjs} +1 -1
  61. package/dist/runtime/ai.mjs +2 -2
  62. package/dist/runtime/auth.d.mts +1 -1
  63. package/dist/runtime/better-auth-pg.d.mts +1 -1
  64. package/dist/runtime/better-auth-pg.mjs +3 -3
  65. package/dist/runtime/better-auth.d.mts +1 -1
  66. package/dist/runtime/better-auth.mjs +2 -2
  67. package/dist/runtime/client-react.d.mts +2 -2
  68. package/dist/runtime/client-react.mjs +1 -1
  69. package/dist/runtime/client-solid.d.mts +2 -2
  70. package/dist/runtime/client-solid.mjs +1 -1
  71. package/dist/runtime/client-svelte.d.mts +2 -2
  72. package/dist/runtime/client-svelte.mjs +1 -1
  73. package/dist/runtime/client-vue.d.mts +2 -2
  74. package/dist/runtime/client-vue.mjs +1 -1
  75. package/dist/runtime/client.d.mts +2 -2
  76. package/dist/runtime/client.mjs +1 -1
  77. package/dist/runtime/db-pg.d.mts +1 -1
  78. package/dist/runtime/env-helpers.d.mts +1 -1
  79. package/dist/runtime/env-public-client.d.mts +1 -1
  80. package/dist/runtime/env-public-client.mjs +2 -0
  81. package/dist/runtime/env-public.d.mts +3 -4
  82. package/dist/runtime/env-public.mjs +3 -1
  83. package/dist/runtime/env.mjs +1 -1
  84. package/dist/runtime/fetch-stream.d.mts +1 -1
  85. package/dist/runtime/fetch-stream.mjs +1 -1
  86. package/dist/runtime/fetch.d.mts +1 -1
  87. package/dist/runtime/fetch.mjs +1 -1
  88. package/dist/runtime/handler.d.mts +2 -2
  89. package/dist/runtime/handler.mjs +1 -1
  90. package/dist/runtime/isr.mjs +1 -1
  91. package/dist/runtime/live-server.mjs +2 -0
  92. package/dist/runtime/live.d.mts +2 -2
  93. package/dist/runtime/live.mjs +3 -1
  94. package/dist/runtime/migration-handler-pg.mjs +1 -1
  95. package/dist/runtime/migration-handler.mjs +1 -1
  96. package/dist/runtime/remote/index.mjs +11 -1
  97. package/dist/runtime/sandbox.d.mts +1 -4
  98. package/dist/runtime/sandbox.mjs +1 -1
  99. package/dist/runtime/validator.d.mts +1 -1
  100. package/dist/runtime/ws-server.d.mts +2 -2
  101. package/dist/runtime/ws-server.mjs +2 -0
  102. package/dist/runtime/ws.d.mts +3 -3
  103. package/dist/runtime/ws.mjs +2 -0
  104. package/dist/{scan-VCAM1oh3.mjs → scan-Dp_Gyzs3.mjs} +3 -3
  105. package/dist/{scan---8wfN58.mjs → scan-i7Yz54fv.mjs} +26 -8
  106. package/dist/{secret-CMLYWkE-.mjs → secret-u7FRvg8d.mjs} +22 -24
  107. package/dist/{skills-Dl3u05da.mjs → skills-DsdNDtX3.mjs} +6 -7
  108. package/dist/{subcommand-prompt-B8ng0FTS.mjs → subcommand-prompt-DtES-oP6.mjs} +34 -35
  109. package/dist/sveltekit.mjs +1 -1
  110. package/dist/validate-DT7nFMlf.mjs +504 -0
  111. package/dist/{yarn-pnp-WLW2IHUY.mjs → yarn-pnp-CW8LB6g_.mjs} +1 -1
  112. package/package.json +19 -19
  113. package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/CHANGELOG.md +94 -0
  114. package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/README.md +32 -11
  115. package/skills/void/docs/node_modules/void/node_modules/@cloudflare/sandbox/README.md +45 -0
  116. package/skills/void/docs/node_modules/void/node_modules/@electric-sql/pglite/README.md +5 -5
  117. package/skills/void/docs/node_modules/void/node_modules/@types/node/README.md +1 -1
  118. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@types/node/README.md +1 -1
  119. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-exit/README.md +4 -1
  120. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/tinyglobby/README.md +1 -1
  121. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/AGENTS.md +1 -0
  122. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/README.md +18 -6
  123. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/build.md +1 -1
  124. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/check.md +35 -0
  125. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/create.md +70 -0
  126. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/fmt.md +3 -1
  127. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/index.md +11 -7
  128. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/lint.md +3 -1
  129. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/pack.md +1 -1
  130. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/run.md +141 -26
  131. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/staged.md +1 -1
  132. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/test.md +1 -1
  133. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +145 -0
  134. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/cache.md +16 -28
  135. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/check.md +16 -0
  136. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ci.md +15 -17
  137. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/commit-hooks.md +9 -0
  138. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/create.md +255 -2
  139. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/docker.md +175 -0
  140. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/env.md +70 -5
  141. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/github-actions-cache.md +165 -0
  142. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ide-integration.md +2 -2
  143. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/index.md +9 -3
  144. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/install.md +63 -11
  145. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate-rules.md +347 -0
  146. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate.md +27 -3
  147. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/monorepo.md +176 -0
  148. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/pack.md +8 -0
  149. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/run.md +36 -4
  150. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/troubleshooting.md +11 -35
  151. package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/upgrade.md +65 -13
  152. package/skills/void/docs/node_modules/void/node_modules/es-module-lexer/README.md +403 -390
  153. package/skills/void/docs/node_modules/void/node_modules/pg/README.md +2 -1
  154. package/skills/void/docs/node_modules/void/node_modules/tinyglobby/README.md +1 -1
  155. package/skills/void/docs/node_modules/void/node_modules/vite-plus/AGENTS.md +1 -0
  156. package/skills/void/docs/node_modules/void/node_modules/vite-plus/README.md +18 -6
  157. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/build.md +1 -1
  158. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/check.md +35 -0
  159. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/create.md +70 -0
  160. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/fmt.md +3 -1
  161. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/index.md +11 -7
  162. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/lint.md +3 -1
  163. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/pack.md +1 -1
  164. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/run.md +141 -26
  165. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/staged.md +1 -1
  166. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/test.md +1 -1
  167. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +145 -0
  168. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/cache.md +16 -28
  169. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/check.md +16 -0
  170. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ci.md +15 -17
  171. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/commit-hooks.md +9 -0
  172. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/create.md +255 -2
  173. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/docker.md +175 -0
  174. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/env.md +70 -5
  175. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/github-actions-cache.md +165 -0
  176. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ide-integration.md +2 -2
  177. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/index.md +9 -3
  178. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/install.md +63 -11
  179. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate-rules.md +347 -0
  180. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate.md +27 -3
  181. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/monorepo.md +176 -0
  182. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/pack.md +8 -0
  183. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/run.md +36 -4
  184. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/troubleshooting.md +11 -35
  185. package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/upgrade.md +65 -13
  186. package/skills/void/docs/reference/cli.md +5 -1
  187. package/dist/agents-MhSzNMiC.mjs +0 -151
  188. package/dist/collect-9rO3JFNM.mjs +0 -55
  189. package/dist/config-hhMYPVRT.mjs +0 -21
  190. package/dist/dist-abzUneor.mjs +0 -1287
  191. package/dist/drizzle-DqstQTGq.mjs +0 -232
  192. package/dist/link-ZFmboqY3.mjs +0 -47
  193. package/dist/output-DeiS4oEX.mjs +0 -139
  194. package/dist/plan-aD3wRDqF.mjs +0 -271
  195. package/dist/project-CH9pdo16.mjs +0 -72
  196. package/dist/project-slug-rX3kTOfY.mjs +0 -10
  197. package/dist/validate-CNWm-PsL.mjs +0 -186
  198. /package/dist/{auth-migrations-BP-hMzYl.mjs → auth-migrations-BTZ-ATvQ.mjs} +0 -0
  199. /package/dist/{auth-Dz2CCn4T.d.mts → auth-qgMlYp7Z.d.mts} +0 -0
  200. /package/dist/{canonical-json-CEyQaVDa.mjs → canonical-json-DuDiiUsQ.mjs} +0 -0
  201. /package/dist/{cf-access-DKDsgwOU.mjs → cf-access-Bqw81xAf.mjs} +0 -0
  202. /package/dist/{defer-C-bdSM_b.mjs → defer-YsYDUoii.mjs} +0 -0
  203. /package/dist/{dotenv-lS94ymhM.mjs → dotenv-D_UbC_vc.mjs} +0 -0
  204. /package/dist/{env-raw-Dtj1UAoK.mjs → env-raw-CoS20LHP.mjs} +0 -0
  205. /package/dist/{fetch-error-B6RaJ-eZ.d.mts → fetch-error-Sp1R4mZv.d.mts} +0 -0
  206. /package/dist/{git-metadata-Ce0AtSZL.mjs → git-metadata-CBKaL0v5.mjs} +0 -0
  207. /package/dist/{head-eOUCWUNy.d.mts → head-nmvOgFjd.d.mts} +0 -0
  208. /package/dist/{log-BdD_Fpms.mjs → log-ChfPKsVd.mjs} +0 -0
  209. /package/dist/{pathe.M-eThtNZ-BrPhGF_K.mjs → pathe.M-eThtNZ-CQzLbt4c.mjs} +0 -0
  210. /package/dist/{pg-CempqvEJ.mjs → pg-J2HbZIkX.mjs} +0 -0
  211. /package/dist/{providers-BJIoduK9.d.mts → providers-BNKRacMr.d.mts} +0 -0
  212. /package/dist/{providers-BwPbdHdi.mjs → providers-CJlNS3kT.mjs} +0 -0
  213. /package/dist/{proxy-M3pxItg2.mjs → proxy-D-3_D-Gl.mjs} +0 -0
  214. /package/dist/{chunk-DJd-R1mw.mjs → rolldown-runtime-DJK8HYOj.mjs} +0 -0
  215. /package/dist/{standard-schema-Cy0lfeWv.d.mts → standard-schema-DJ0HW7QP.d.mts} +0 -0
  216. /package/dist/{types-BodZGegX.d.mts → types-lLjNE9Qp.d.mts} +0 -0
@@ -0,0 +1,1454 @@
1
+ import { n as __exportAll, r as __toESM, t as __commonJSMin } from "./rolldown-runtime-DJK8HYOj.mjs";
2
+ import { a as join } from "./pathe.M-eThtNZ-CQzLbt4c.mjs";
3
+ import { existsSync, readFileSync } from "node:fs";
4
+ import { fileURLToPath } from "node:url";
5
+ import { styleText } from "node:util";
6
+ import process$1, { stdin, stdout } from "node:process";
7
+ import * as l from "node:readline";
8
+ import l__default from "node:readline";
9
+ import { ReadStream } from "node:tty";
10
+ //#region ../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js
11
+ var require_picocolors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
12
+ let p = process || {}, argv = p.argv || [], env = p.env || {};
13
+ let isColorSupported = !(!!env.NO_COLOR || argv.includes("--no-color")) && (!!env.FORCE_COLOR || argv.includes("--color") || p.platform === "win32" || (p.stdout || {}).isTTY && env.TERM !== "dumb" || !!env.CI);
14
+ let formatter = (open, close, replace = open) => (input) => {
15
+ let string = "" + input, index = string.indexOf(close, open.length);
16
+ return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;
17
+ };
18
+ let replaceClose = (string, close, replace, index) => {
19
+ let result = "", cursor = 0;
20
+ do {
21
+ result += string.substring(cursor, index) + replace;
22
+ cursor = index + close.length;
23
+ index = string.indexOf(close, cursor);
24
+ } while (~index);
25
+ return result + string.substring(cursor);
26
+ };
27
+ let createColors = (enabled = isColorSupported) => {
28
+ let f = enabled ? formatter : () => String;
29
+ return {
30
+ isColorSupported: enabled,
31
+ reset: f("\x1B[0m", "\x1B[0m"),
32
+ bold: f("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m"),
33
+ dim: f("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m"),
34
+ italic: f("\x1B[3m", "\x1B[23m"),
35
+ underline: f("\x1B[4m", "\x1B[24m"),
36
+ inverse: f("\x1B[7m", "\x1B[27m"),
37
+ hidden: f("\x1B[8m", "\x1B[28m"),
38
+ strikethrough: f("\x1B[9m", "\x1B[29m"),
39
+ black: f("\x1B[30m", "\x1B[39m"),
40
+ red: f("\x1B[31m", "\x1B[39m"),
41
+ green: f("\x1B[32m", "\x1B[39m"),
42
+ yellow: f("\x1B[33m", "\x1B[39m"),
43
+ blue: f("\x1B[34m", "\x1B[39m"),
44
+ magenta: f("\x1B[35m", "\x1B[39m"),
45
+ cyan: f("\x1B[36m", "\x1B[39m"),
46
+ white: f("\x1B[37m", "\x1B[39m"),
47
+ gray: f("\x1B[90m", "\x1B[39m"),
48
+ bgBlack: f("\x1B[40m", "\x1B[49m"),
49
+ bgRed: f("\x1B[41m", "\x1B[49m"),
50
+ bgGreen: f("\x1B[42m", "\x1B[49m"),
51
+ bgYellow: f("\x1B[43m", "\x1B[49m"),
52
+ bgBlue: f("\x1B[44m", "\x1B[49m"),
53
+ bgMagenta: f("\x1B[45m", "\x1B[49m"),
54
+ bgCyan: f("\x1B[46m", "\x1B[49m"),
55
+ bgWhite: f("\x1B[47m", "\x1B[49m"),
56
+ blackBright: f("\x1B[90m", "\x1B[39m"),
57
+ redBright: f("\x1B[91m", "\x1B[39m"),
58
+ greenBright: f("\x1B[92m", "\x1B[39m"),
59
+ yellowBright: f("\x1B[93m", "\x1B[39m"),
60
+ blueBright: f("\x1B[94m", "\x1B[39m"),
61
+ magentaBright: f("\x1B[95m", "\x1B[39m"),
62
+ cyanBright: f("\x1B[96m", "\x1B[39m"),
63
+ whiteBright: f("\x1B[97m", "\x1B[39m"),
64
+ bgBlackBright: f("\x1B[100m", "\x1B[49m"),
65
+ bgRedBright: f("\x1B[101m", "\x1B[49m"),
66
+ bgGreenBright: f("\x1B[102m", "\x1B[49m"),
67
+ bgYellowBright: f("\x1B[103m", "\x1B[49m"),
68
+ bgBlueBright: f("\x1B[104m", "\x1B[49m"),
69
+ bgMagentaBright: f("\x1B[105m", "\x1B[49m"),
70
+ bgCyanBright: f("\x1B[106m", "\x1B[49m"),
71
+ bgWhiteBright: f("\x1B[107m", "\x1B[49m")
72
+ };
73
+ };
74
+ module.exports = createColors();
75
+ module.exports.createColors = createColors;
76
+ }));
77
+ //#endregion
78
+ //#region ../../node_modules/.pnpm/fast-string-truncated-width@3.0.3/node_modules/fast-string-truncated-width/dist/utils.js
79
+ const getCodePointsLength = (() => {
80
+ const SURROGATE_PAIR_RE = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
81
+ return (input) => {
82
+ let surrogatePairsNr = 0;
83
+ SURROGATE_PAIR_RE.lastIndex = 0;
84
+ while (SURROGATE_PAIR_RE.test(input)) surrogatePairsNr += 1;
85
+ return input.length - surrogatePairsNr;
86
+ };
87
+ })();
88
+ const isFullWidth = (x) => {
89
+ return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
90
+ };
91
+ const isWideNotCJKTNotEmoji = (x) => {
92
+ return x === 8987 || x === 9001 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12771 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 19903 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
93
+ };
94
+ //#endregion
95
+ //#region ../../node_modules/.pnpm/fast-string-truncated-width@3.0.3/node_modules/fast-string-truncated-width/dist/index.js
96
+ const ANSI_RE = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y;
97
+ const CONTROL_RE = /[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y;
98
+ const CJKT_WIDE_RE = /(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy;
99
+ const TAB_RE = /\t{1,1000}/y;
100
+ const EMOJI_RE = /[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy;
101
+ const LATIN_RE = /(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y;
102
+ const MODIFIER_RE = /\p{M}+/gu;
103
+ const NO_TRUNCATION$1 = {
104
+ limit: Infinity,
105
+ ellipsis: ""
106
+ };
107
+ const getStringTruncatedWidth = (input, truncationOptions = {}, widthOptions = {}) => {
108
+ const LIMIT = truncationOptions.limit ?? Infinity;
109
+ const ELLIPSIS = truncationOptions.ellipsis ?? "";
110
+ const ELLIPSIS_WIDTH = truncationOptions?.ellipsisWidth ?? (ELLIPSIS ? getStringTruncatedWidth(ELLIPSIS, NO_TRUNCATION$1, widthOptions).width : 0);
111
+ const ANSI_WIDTH = 0;
112
+ const CONTROL_WIDTH = widthOptions.controlWidth ?? 0;
113
+ const TAB_WIDTH = widthOptions.tabWidth ?? 8;
114
+ const EMOJI_WIDTH = widthOptions.emojiWidth ?? 2;
115
+ const FULL_WIDTH_WIDTH = 2;
116
+ const REGULAR_WIDTH = widthOptions.regularWidth ?? 1;
117
+ const WIDE_WIDTH = widthOptions.wideWidth ?? FULL_WIDTH_WIDTH;
118
+ const PARSE_BLOCKS = [
119
+ [LATIN_RE, REGULAR_WIDTH],
120
+ [ANSI_RE, ANSI_WIDTH],
121
+ [CONTROL_RE, CONTROL_WIDTH],
122
+ [TAB_RE, TAB_WIDTH],
123
+ [EMOJI_RE, EMOJI_WIDTH],
124
+ [CJKT_WIDE_RE, WIDE_WIDTH]
125
+ ];
126
+ let indexPrev = 0;
127
+ let index = 0;
128
+ let length = input.length;
129
+ let lengthExtra = 0;
130
+ let truncationEnabled = false;
131
+ let truncationIndex = length;
132
+ let truncationLimit = Math.max(0, LIMIT - ELLIPSIS_WIDTH);
133
+ let unmatchedStart = 0;
134
+ let unmatchedEnd = 0;
135
+ let width = 0;
136
+ let widthExtra = 0;
137
+ outer: while (true) {
138
+ if (unmatchedEnd > unmatchedStart || index >= length && index > indexPrev) {
139
+ const unmatched = input.slice(unmatchedStart, unmatchedEnd) || input.slice(indexPrev, index);
140
+ lengthExtra = 0;
141
+ for (const char of unmatched.replaceAll(MODIFIER_RE, "")) {
142
+ const codePoint = char.codePointAt(0) || 0;
143
+ if (isFullWidth(codePoint)) widthExtra = FULL_WIDTH_WIDTH;
144
+ else if (isWideNotCJKTNotEmoji(codePoint)) widthExtra = WIDE_WIDTH;
145
+ else widthExtra = REGULAR_WIDTH;
146
+ if (width + widthExtra > truncationLimit) truncationIndex = Math.min(truncationIndex, Math.max(unmatchedStart, indexPrev) + lengthExtra);
147
+ if (width + widthExtra > LIMIT) {
148
+ truncationEnabled = true;
149
+ break outer;
150
+ }
151
+ lengthExtra += char.length;
152
+ width += widthExtra;
153
+ }
154
+ unmatchedStart = unmatchedEnd = 0;
155
+ }
156
+ if (index >= length) break outer;
157
+ for (let i = 0, l = PARSE_BLOCKS.length; i < l; i++) {
158
+ const [BLOCK_RE, BLOCK_WIDTH] = PARSE_BLOCKS[i];
159
+ BLOCK_RE.lastIndex = index;
160
+ if (BLOCK_RE.test(input)) {
161
+ lengthExtra = BLOCK_RE === CJKT_WIDE_RE ? getCodePointsLength(input.slice(index, BLOCK_RE.lastIndex)) : BLOCK_RE === EMOJI_RE ? 1 : BLOCK_RE.lastIndex - index;
162
+ widthExtra = lengthExtra * BLOCK_WIDTH;
163
+ if (width + widthExtra > truncationLimit) truncationIndex = Math.min(truncationIndex, index + Math.floor((truncationLimit - width) / BLOCK_WIDTH));
164
+ if (width + widthExtra > LIMIT) {
165
+ truncationEnabled = true;
166
+ break outer;
167
+ }
168
+ width += widthExtra;
169
+ unmatchedStart = indexPrev;
170
+ unmatchedEnd = index;
171
+ index = indexPrev = BLOCK_RE.lastIndex;
172
+ continue outer;
173
+ }
174
+ }
175
+ index += 1;
176
+ }
177
+ return {
178
+ width: truncationEnabled ? truncationLimit : width,
179
+ index: truncationEnabled ? truncationIndex : length,
180
+ truncated: truncationEnabled,
181
+ ellipsed: truncationEnabled && LIMIT >= ELLIPSIS_WIDTH
182
+ };
183
+ };
184
+ //#endregion
185
+ //#region ../../node_modules/.pnpm/fast-string-width@3.0.2/node_modules/fast-string-width/dist/index.js
186
+ const NO_TRUNCATION = {
187
+ limit: Infinity,
188
+ ellipsis: "",
189
+ ellipsisWidth: 0
190
+ };
191
+ const fastStringWidth = (input, options = {}) => {
192
+ return getStringTruncatedWidth(input, NO_TRUNCATION, options).width;
193
+ };
194
+ //#endregion
195
+ //#region ../../node_modules/.pnpm/fast-wrap-ansi@0.2.2/node_modules/fast-wrap-ansi/lib/main.js
196
+ const ESC = "\x1B";
197
+ const CSI = "›";
198
+ const END_CODE = 39;
199
+ const ANSI_ESCAPE_BELL = "\x07";
200
+ const ANSI_CSI = "[";
201
+ const ANSI_OSC = "]";
202
+ const ANSI_SGR_TERMINATOR = "m";
203
+ const ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
204
+ const GROUP_REGEX = new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`, "y");
205
+ const getClosingCode = (openingCode) => {
206
+ if (openingCode >= 30 && openingCode <= 37) return 39;
207
+ if (openingCode >= 90 && openingCode <= 97) return 39;
208
+ if (openingCode >= 40 && openingCode <= 47) return 49;
209
+ if (openingCode >= 100 && openingCode <= 107) return 49;
210
+ if (openingCode === 1 || openingCode === 2) return 22;
211
+ if (openingCode === 3) return 23;
212
+ if (openingCode === 4) return 24;
213
+ if (openingCode === 7) return 27;
214
+ if (openingCode === 8) return 28;
215
+ if (openingCode === 9) return 29;
216
+ if (openingCode === 0) return 0;
217
+ };
218
+ const wrapAnsiCode = (code) => `${ESC}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;
219
+ const wrapAnsiHyperlink = (url) => `${ESC}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`;
220
+ const wrapWord = (rows, word, columns) => {
221
+ const characters = word[Symbol.iterator]();
222
+ let isInsideEscape = false;
223
+ let isInsideLinkEscape = false;
224
+ let lastRow = rows.at(-1);
225
+ let visible = lastRow === void 0 ? 0 : fastStringWidth(lastRow);
226
+ let currentCharacter = characters.next();
227
+ let nextCharacter = characters.next();
228
+ let rawCharacterIndex = 0;
229
+ while (!currentCharacter.done) {
230
+ const character = currentCharacter.value;
231
+ const characterLength = fastStringWidth(character);
232
+ if (visible + characterLength <= columns) rows[rows.length - 1] += character;
233
+ else {
234
+ rows.push(character);
235
+ visible = 0;
236
+ }
237
+ if (character === ESC || character === CSI) {
238
+ isInsideEscape = true;
239
+ isInsideLinkEscape = word.startsWith(ANSI_ESCAPE_LINK, rawCharacterIndex + 1);
240
+ }
241
+ if (isInsideEscape) {
242
+ if (isInsideLinkEscape) {
243
+ if (character === ANSI_ESCAPE_BELL) {
244
+ isInsideEscape = false;
245
+ isInsideLinkEscape = false;
246
+ }
247
+ } else if (character === ANSI_SGR_TERMINATOR) isInsideEscape = false;
248
+ } else {
249
+ visible += characterLength;
250
+ if (visible === columns && !nextCharacter.done) {
251
+ rows.push("");
252
+ visible = 0;
253
+ }
254
+ }
255
+ currentCharacter = nextCharacter;
256
+ nextCharacter = characters.next();
257
+ rawCharacterIndex += character.length;
258
+ }
259
+ lastRow = rows.at(-1);
260
+ if (!visible && lastRow !== void 0 && lastRow.length && rows.length > 1) rows[rows.length - 2] += rows.pop();
261
+ };
262
+ const stringVisibleTrimSpacesRight = (string) => {
263
+ const words = string.split(" ");
264
+ let last = words.length;
265
+ while (last) {
266
+ if (fastStringWidth(words[last - 1])) break;
267
+ last--;
268
+ }
269
+ if (last === words.length) return string;
270
+ return words.slice(0, last).join(" ") + words.slice(last).join("");
271
+ };
272
+ const exec = (string, columns, options = {}) => {
273
+ if (options.trim !== false && string.trim() === "") return "";
274
+ let returnValue = "";
275
+ let escapeCode;
276
+ let escapeUrl;
277
+ const words = string.split(" ");
278
+ let rows = [""];
279
+ let rowLength = 0;
280
+ for (let index = 0; index < words.length; index++) {
281
+ const word = words[index];
282
+ if (options.trim !== false) {
283
+ const row = rows.at(-1) ?? "";
284
+ const trimmed = row.trimStart();
285
+ if (row.length !== trimmed.length) {
286
+ rows[rows.length - 1] = trimmed;
287
+ rowLength = fastStringWidth(trimmed);
288
+ }
289
+ }
290
+ if (index !== 0) {
291
+ if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
292
+ rows.push("");
293
+ rowLength = 0;
294
+ }
295
+ if (rowLength || options.trim === false) {
296
+ rows[rows.length - 1] += " ";
297
+ rowLength++;
298
+ }
299
+ }
300
+ const wordLength = fastStringWidth(word);
301
+ if (options.hard && wordLength > columns) {
302
+ const remainingColumns = columns - rowLength;
303
+ const breaksStartingThisLine = 1 + Math.floor((wordLength - remainingColumns - 1) / columns);
304
+ if (Math.floor((wordLength - 1) / columns) < breaksStartingThisLine) rows.push("");
305
+ wrapWord(rows, word, columns);
306
+ rowLength = fastStringWidth(rows.at(-1) ?? "");
307
+ continue;
308
+ }
309
+ if (rowLength + wordLength > columns && rowLength && wordLength) {
310
+ if (options.wordWrap === false && rowLength < columns) {
311
+ wrapWord(rows, word, columns);
312
+ rowLength = fastStringWidth(rows.at(-1) ?? "");
313
+ continue;
314
+ }
315
+ rows.push("");
316
+ rowLength = 0;
317
+ }
318
+ if (rowLength + wordLength > columns && options.wordWrap === false) {
319
+ wrapWord(rows, word, columns);
320
+ rowLength = fastStringWidth(rows.at(-1) ?? "");
321
+ continue;
322
+ }
323
+ rows[rows.length - 1] += word;
324
+ rowLength += wordLength;
325
+ }
326
+ if (options.trim !== false) rows = rows.map((row) => stringVisibleTrimSpacesRight(row));
327
+ const preString = rows.join("\n");
328
+ let inSurrogate = false;
329
+ for (let i = 0; i < preString.length; i++) {
330
+ const character = preString[i];
331
+ returnValue += character;
332
+ if (!inSurrogate) {
333
+ inSurrogate = character >= "\ud800" && character <= "\udbff";
334
+ if (inSurrogate) continue;
335
+ } else inSurrogate = false;
336
+ if (character === ESC || character === CSI) {
337
+ GROUP_REGEX.lastIndex = i + 1;
338
+ const groups = GROUP_REGEX.exec(preString)?.groups;
339
+ if (groups?.code !== void 0) {
340
+ const code = Number.parseFloat(groups.code);
341
+ escapeCode = code === END_CODE ? void 0 : code;
342
+ } else if (groups?.uri !== void 0) escapeUrl = groups.uri.length === 0 ? void 0 : groups.uri;
343
+ }
344
+ if (preString[i + 1] === "\n") {
345
+ if (escapeUrl) returnValue += wrapAnsiHyperlink("");
346
+ const closingCode = escapeCode ? getClosingCode(escapeCode) : void 0;
347
+ if (escapeCode && closingCode) returnValue += wrapAnsiCode(closingCode);
348
+ } else if (character === "\n") {
349
+ if (escapeCode && getClosingCode(escapeCode)) returnValue += wrapAnsiCode(escapeCode);
350
+ if (escapeUrl) returnValue += wrapAnsiHyperlink(escapeUrl);
351
+ }
352
+ }
353
+ return returnValue;
354
+ };
355
+ const CRLF_OR_LF = /\r?\n/;
356
+ function wrapAnsi(string, columns, options) {
357
+ return String(string).normalize().split(CRLF_OR_LF).map((line) => exec(line, columns, options)).join("\n");
358
+ }
359
+ //#endregion
360
+ //#region ../../node_modules/.pnpm/@clack+core@1.4.3/node_modules/@clack/core/dist/index.mjs
361
+ var import_src = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
362
+ const ESC = "\x1B";
363
+ const CSI = `${ESC}[`;
364
+ const beep = "\x07";
365
+ const cursor = {
366
+ to(x, y) {
367
+ if (!y) return `${CSI}${x + 1}G`;
368
+ return `${CSI}${y + 1};${x + 1}H`;
369
+ },
370
+ move(x, y) {
371
+ let ret = "";
372
+ if (x < 0) ret += `${CSI}${-x}D`;
373
+ else if (x > 0) ret += `${CSI}${x}C`;
374
+ if (y < 0) ret += `${CSI}${-y}A`;
375
+ else if (y > 0) ret += `${CSI}${y}B`;
376
+ return ret;
377
+ },
378
+ up: (count = 1) => `${CSI}${count}A`,
379
+ down: (count = 1) => `${CSI}${count}B`,
380
+ forward: (count = 1) => `${CSI}${count}C`,
381
+ backward: (count = 1) => `${CSI}${count}D`,
382
+ nextLine: (count = 1) => `${CSI}E`.repeat(count),
383
+ prevLine: (count = 1) => `${CSI}F`.repeat(count),
384
+ left: `${CSI}G`,
385
+ hide: `${CSI}?25l`,
386
+ show: `${CSI}?25h`,
387
+ save: `${ESC}7`,
388
+ restore: `${ESC}8`
389
+ };
390
+ module.exports = {
391
+ cursor,
392
+ scroll: {
393
+ up: (count = 1) => `${CSI}S`.repeat(count),
394
+ down: (count = 1) => `${CSI}T`.repeat(count)
395
+ },
396
+ erase: {
397
+ screen: `${CSI}2J`,
398
+ up: (count = 1) => `${CSI}1J`.repeat(count),
399
+ down: (count = 1) => `${CSI}J`.repeat(count),
400
+ line: `${CSI}2K`,
401
+ lineEnd: `${CSI}K`,
402
+ lineStart: `${CSI}1K`,
403
+ lines(count) {
404
+ let clear = "";
405
+ for (let i = 0; i < count; i++) clear += this.line + (i < count - 1 ? cursor.up() : "");
406
+ if (count) clear += cursor.left;
407
+ return clear;
408
+ }
409
+ },
410
+ beep
411
+ };
412
+ })))();
413
+ function findCursor(s, o, l) {
414
+ if (!l.some((r) => !r.disabled)) return s;
415
+ const t = s + o, n = Math.max(l.length - 1, 0), e = t < 0 ? n : t > n ? 0 : t;
416
+ return l[e]?.disabled ? findCursor(e, o < 0 ? -1 : 1, l) : e;
417
+ }
418
+ const settings = {
419
+ actions: /* @__PURE__ */ new Set([
420
+ "up",
421
+ "down",
422
+ "left",
423
+ "right",
424
+ "space",
425
+ "enter",
426
+ "cancel"
427
+ ]),
428
+ aliases: /* @__PURE__ */ new Map([
429
+ ["k", "up"],
430
+ ["j", "down"],
431
+ ["h", "left"],
432
+ ["l", "right"],
433
+ ["", "cancel"],
434
+ ["escape", "cancel"]
435
+ ]),
436
+ messages: {
437
+ cancel: "Canceled",
438
+ error: "Something went wrong"
439
+ },
440
+ withGuide: true,
441
+ date: {
442
+ monthNames: [...[
443
+ "January",
444
+ "February",
445
+ "March",
446
+ "April",
447
+ "May",
448
+ "June",
449
+ "July",
450
+ "August",
451
+ "September",
452
+ "October",
453
+ "November",
454
+ "December"
455
+ ]],
456
+ messages: {
457
+ required: "Please enter a valid date",
458
+ invalidMonth: "There are only 12 months in a year",
459
+ invalidDay: (n, e) => `There are only ${n} days in ${e}`,
460
+ afterMin: (n) => `Date must be on or after ${n.toISOString().slice(0, 10)}`,
461
+ beforeMax: (n) => `Date must be on or before ${n.toISOString().slice(0, 10)}`
462
+ }
463
+ }
464
+ };
465
+ function isActionKey(n, e) {
466
+ if (typeof n == "string") return settings.aliases.get(n) === e;
467
+ for (const s of n) if (s !== void 0 && isActionKey(s, e)) return true;
468
+ return false;
469
+ }
470
+ function diffLines(i, s) {
471
+ if (i === s) return;
472
+ const e = i.split(`
473
+ `), t = s.split(`
474
+ `), r = Math.max(e.length, t.length), f = [];
475
+ for (let n = 0; n < r; n++) e[n] !== t[n] && f.push(n);
476
+ return {
477
+ lines: f,
478
+ numLinesBefore: e.length,
479
+ numLinesAfter: t.length,
480
+ numLines: r
481
+ };
482
+ }
483
+ const R = globalThis.process.platform.startsWith("win");
484
+ const CANCEL_SYMBOL = Symbol("clack:cancel");
485
+ function isCancel(e) {
486
+ return e === CANCEL_SYMBOL;
487
+ }
488
+ function setRawMode(e, r) {
489
+ const o = e;
490
+ o.isTTY && o.setRawMode(r);
491
+ }
492
+ function block({ input: e = stdin, output: r = stdout, overwrite: o = true, hideCursor: t = true } = {}) {
493
+ const s = l.createInterface({
494
+ input: e,
495
+ output: r,
496
+ prompt: "",
497
+ tabSize: 1
498
+ });
499
+ l.emitKeypressEvents(e, s), e instanceof ReadStream && e.isTTY && e.setRawMode(true);
500
+ const n = (f, { name: a, sequence: p }) => {
501
+ if (isActionKey([
502
+ String(f),
503
+ a,
504
+ p
505
+ ], "cancel")) {
506
+ t && r.write(import_src.cursor.show), process.exit(0);
507
+ return;
508
+ }
509
+ if (!o) return;
510
+ const i = a === "return" ? 0 : -1, m = a === "return" ? -1 : 0;
511
+ l.moveCursor(r, i, m, () => {
512
+ l.clearLine(r, 1, () => {
513
+ e.once("keypress", n);
514
+ });
515
+ });
516
+ };
517
+ return t && r.write(import_src.cursor.hide), e.once("keypress", n), () => {
518
+ e.off("keypress", n), t && r.write(import_src.cursor.show), e instanceof ReadStream && e.isTTY && !R && e.setRawMode(false), s.terminal = false, s.close();
519
+ };
520
+ }
521
+ const getColumns = (e) => "columns" in e && typeof e.columns == "number" ? e.columns : 80, getRows = (e) => "rows" in e && typeof e.rows == "number" ? e.rows : 20;
522
+ function wrapTextWithPrefix(e, r, o, t = o, s = o, n) {
523
+ return wrapAnsi(r, getColumns(e ?? stdout) - o.length, {
524
+ hard: true,
525
+ trim: false
526
+ }).split(`
527
+ `).map((c, i, m) => {
528
+ const d = n ? n(c, i) : c;
529
+ return i === 0 ? `${t}${d}` : i === m.length - 1 ? `${s}${d}` : `${o}${d}`;
530
+ }).join(`
531
+ `);
532
+ }
533
+ function runValidation(e, n) {
534
+ if ("~standard" in e) {
535
+ const a = e["~standard"].validate(n);
536
+ if (a instanceof Promise) throw new TypeError("Schema validation must be synchronous. Update `validate()` and remove any asynchronous logic.");
537
+ return a.issues?.at(0)?.message;
538
+ }
539
+ return e(n);
540
+ }
541
+ var V = class {
542
+ input;
543
+ output;
544
+ _abortSignal;
545
+ rl;
546
+ opts;
547
+ _render;
548
+ _track = false;
549
+ _prevFrame = "";
550
+ _subscribers = /* @__PURE__ */ new Map();
551
+ _cursor = 0;
552
+ state = "initial";
553
+ error = "";
554
+ value;
555
+ userInput = "";
556
+ constructor(t, e = true) {
557
+ const { input: i = stdin, output: n = stdout, render: s, signal: r, ...o } = t;
558
+ this.opts = o, this.onKeypress = this.onKeypress.bind(this), this.close = this.close.bind(this), this.render = this.render.bind(this), this._render = s.bind(this), this._track = e, this._abortSignal = r, this.input = i, this.output = n;
559
+ }
560
+ /**
561
+ * Unsubscribe all listeners
562
+ */
563
+ unsubscribe() {
564
+ this._subscribers.clear();
565
+ }
566
+ /**
567
+ * Set a subscriber with opts
568
+ * @param event - The event name
569
+ */
570
+ setSubscriber(t, e) {
571
+ const i = this._subscribers.get(t) ?? [];
572
+ i.push(e), this._subscribers.set(t, i);
573
+ }
574
+ /**
575
+ * Subscribe to an event
576
+ * @param event - The event name
577
+ * @param cb - The callback
578
+ */
579
+ on(t, e) {
580
+ this.setSubscriber(t, { cb: e });
581
+ }
582
+ /**
583
+ * Subscribe to an event once
584
+ * @param event - The event name
585
+ * @param cb - The callback
586
+ */
587
+ once(t, e) {
588
+ this.setSubscriber(t, {
589
+ cb: e,
590
+ once: true
591
+ });
592
+ }
593
+ /**
594
+ * Emit an event with data
595
+ * @param event - The event name
596
+ * @param data - The data to pass to the callback
597
+ */
598
+ emit(t, ...e) {
599
+ const i = this._subscribers.get(t) ?? [], n = [];
600
+ for (const s of i) s.cb(...e), s.once && n.push(() => i.splice(i.indexOf(s), 1));
601
+ for (const s of n) s();
602
+ }
603
+ prompt() {
604
+ return new Promise((t) => {
605
+ if (this._abortSignal) {
606
+ if (this._abortSignal.aborted) return this.state = "cancel", this.close(), t(CANCEL_SYMBOL);
607
+ this._abortSignal.addEventListener("abort", () => {
608
+ this.state = "cancel", this.close();
609
+ }, { once: true });
610
+ }
611
+ this.rl = l__default.createInterface({
612
+ input: this.input,
613
+ tabSize: 2,
614
+ prompt: "",
615
+ escapeCodeTimeout: 50,
616
+ terminal: true
617
+ }), this.rl.prompt(), this.opts.initialUserInput !== void 0 && this._setUserInput(this.opts.initialUserInput, true), this.input.on("keypress", this.onKeypress), setRawMode(this.input, true), this.output.on("resize", this.render), this.render(), this.once("submit", () => {
618
+ this.output.write(import_src.cursor.show), this.output.off("resize", this.render), setRawMode(this.input, false), t(this.value);
619
+ }), this.once("cancel", () => {
620
+ this.output.write(import_src.cursor.show), this.output.off("resize", this.render), setRawMode(this.input, false), t(CANCEL_SYMBOL);
621
+ });
622
+ });
623
+ }
624
+ _isActionKey(t, e) {
625
+ return t === " ";
626
+ }
627
+ _shouldSubmit(t, e) {
628
+ return true;
629
+ }
630
+ _setValue(t) {
631
+ this.value = t, this.emit("value", this.value);
632
+ }
633
+ _setUserInput(t, e) {
634
+ this.userInput = t ?? "", this.emit("userInput", this.userInput), e && this._track && this.rl && (this.rl.write(this.userInput), this._cursor = this.rl.cursor);
635
+ }
636
+ _clearUserInput() {
637
+ this.rl?.write(null, {
638
+ ctrl: true,
639
+ name: "u"
640
+ }), this._setUserInput("");
641
+ }
642
+ onKeypress(t, e) {
643
+ if (this._track && e.name !== "return" && (e.name && this._isActionKey(t, e) && this.rl?.write(null, {
644
+ ctrl: true,
645
+ name: "h"
646
+ }), this._cursor = this.rl?.cursor ?? 0, this._setUserInput(this.rl?.line)), this.state === "error" && (this.state = "active"), e?.name && (!this._track && settings.aliases.has(e.name) && this.emit("cursor", settings.aliases.get(e.name)), settings.actions.has(e.name) && this.emit("cursor", e.name)), t && (t.toLowerCase() === "y" || t.toLowerCase() === "n") && this.emit("confirm", t.toLowerCase() === "y"), this.emit("key", t, e), e?.name === "return" && this._shouldSubmit(t, e)) {
647
+ if (this.opts.validate) {
648
+ const i = runValidation(this.opts.validate, this.value);
649
+ i && (this.error = i instanceof Error ? i.message : i, this.state = "error", this.rl?.write(this.userInput));
650
+ }
651
+ this.state !== "error" && (this.state = "submit");
652
+ }
653
+ isActionKey([
654
+ t,
655
+ e?.name,
656
+ e?.sequence
657
+ ], "cancel") && (this.state = "cancel"), (this.state === "submit" || this.state === "cancel") && this.emit("finalize"), this.render(), (this.state === "submit" || this.state === "cancel") && this.close();
658
+ }
659
+ close() {
660
+ this.input.unpipe(), this.input.removeListener("keypress", this.onKeypress), this.output.write(`
661
+ `), setRawMode(this.input, false), this.rl?.close(), this.rl = void 0, this.emit(`${this.state}`, this.value), this.unsubscribe();
662
+ }
663
+ restoreCursor() {
664
+ const t = wrapAnsi(this._prevFrame, process.stdout.columns, {
665
+ hard: true,
666
+ trim: false
667
+ }).split(`
668
+ `).length - 1;
669
+ this.output.write(import_src.cursor.move(-999, t * -1));
670
+ }
671
+ render() {
672
+ const t = wrapAnsi(this._render(this) ?? "", process.stdout.columns, {
673
+ hard: true,
674
+ trim: false
675
+ });
676
+ if (t !== this._prevFrame) {
677
+ if (this.state === "initial") this.output.write(import_src.cursor.hide);
678
+ else {
679
+ const e = diffLines(this._prevFrame, t), i = getRows(this.output);
680
+ if (this.restoreCursor(), e) {
681
+ const n = Math.max(0, e.numLinesAfter - i), s = Math.max(0, e.numLinesBefore - i);
682
+ let r = e.lines.find((o) => o >= n);
683
+ if (r === void 0) {
684
+ this._prevFrame = t;
685
+ return;
686
+ }
687
+ if (e.lines.length === 1) {
688
+ this.output.write(import_src.cursor.move(0, r - s)), this.output.write(import_src.erase.lines(1));
689
+ const o = t.split(`
690
+ `);
691
+ this.output.write(o[r]), this._prevFrame = t, this.output.write(import_src.cursor.move(0, o.length - r - 1));
692
+ return;
693
+ } else if (e.lines.length > 1) {
694
+ if (n < s) r = n;
695
+ else {
696
+ const h = r - s;
697
+ h > 0 && this.output.write(import_src.cursor.move(0, h));
698
+ }
699
+ this.output.write(import_src.erase.down());
700
+ const f = t.split(`
701
+ `).slice(r);
702
+ this.output.write(f.join(`
703
+ `)), this._prevFrame = t;
704
+ return;
705
+ }
706
+ }
707
+ this.output.write(import_src.erase.down());
708
+ }
709
+ this.output.write(t), this.state === "initial" && (this.state = "active"), this._prevFrame = t;
710
+ }
711
+ }
712
+ };
713
+ var r = class extends V {
714
+ get cursor() {
715
+ return this.value ? 0 : 1;
716
+ }
717
+ get _value() {
718
+ return this.cursor === 0;
719
+ }
720
+ constructor(t) {
721
+ super(t, false), this.value = !!t.initialValue, this.on("userInput", () => {
722
+ this.value = this._value;
723
+ }), this.on("confirm", (i) => {
724
+ this.output.write(import_src.cursor.move(0, -1)), this.value = i, this.state = "submit", this.close();
725
+ }), this.on("cursor", () => {
726
+ this.value = !this.value;
727
+ });
728
+ }
729
+ };
730
+ let u$1 = class u extends V {
731
+ _mask = "•";
732
+ get cursor() {
733
+ return this._cursor;
734
+ }
735
+ get masked() {
736
+ return this.userInput.replaceAll(/./g, this._mask);
737
+ }
738
+ get userInputWithCursor() {
739
+ if (this.state === "submit" || this.state === "cancel") return this.masked;
740
+ const t = this.userInput;
741
+ if (this.cursor >= t.length) return `${this.masked}${styleText(["inverse", "hidden"], "_")}`;
742
+ const s = this.masked, r = s.slice(0, this.cursor), i = s.slice(this.cursor, this.cursor + 1), o = s.slice(this.cursor + 1);
743
+ return `${r}${styleText("inverse", i)}${o}`;
744
+ }
745
+ clear() {
746
+ this._clearUserInput();
747
+ }
748
+ constructor({ mask: t, ...s }) {
749
+ super(s), this._mask = t ?? "•", this.on("userInput", (r) => {
750
+ this._setValue(r);
751
+ }), this.on("finalize", () => {
752
+ this.value === void 0 && (this.value = "");
753
+ });
754
+ }
755
+ };
756
+ let n$1 = class n extends V {
757
+ options;
758
+ cursor = 0;
759
+ get _selectedValue() {
760
+ return this.options[this.cursor];
761
+ }
762
+ changeValue() {
763
+ const e = this._selectedValue;
764
+ this.value = e === void 0 ? void 0 : e.value;
765
+ }
766
+ constructor(e) {
767
+ super(e, false), this.options = e.options;
768
+ const o = this.options.findIndex(({ value: s }) => s === e.initialValue), t = o === -1 ? 0 : o;
769
+ this.cursor = this.options[t]?.disabled ? findCursor(t, 1, this.options) : t, this.changeValue(), this.on("cursor", (s) => {
770
+ switch (s) {
771
+ case "left":
772
+ case "up":
773
+ this.cursor = findCursor(this.cursor, -1, this.options);
774
+ break;
775
+ case "down":
776
+ case "right":
777
+ this.cursor = findCursor(this.cursor, 1, this.options);
778
+ break;
779
+ }
780
+ this.changeValue();
781
+ });
782
+ }
783
+ };
784
+ var n = class extends V {
785
+ get userInputWithCursor() {
786
+ if (this.state === "submit") return this.userInput;
787
+ const t = this.userInput;
788
+ if (this.cursor >= t.length) return `${this.userInput}\u2588`;
789
+ const r = t.slice(0, this.cursor), s = t.slice(this.cursor, this.cursor + 1), e = t.slice(this.cursor + 1);
790
+ return `${r}${styleText("inverse", s)}${e}`;
791
+ }
792
+ get cursor() {
793
+ return this._cursor;
794
+ }
795
+ constructor(t) {
796
+ super({
797
+ ...t,
798
+ initialUserInput: t.initialUserInput ?? t.initialValue
799
+ }), this.on("userInput", (r) => {
800
+ this._setValue(r);
801
+ }), this.on("finalize", () => {
802
+ this.value || (this.value = t.defaultValue), this.value === void 0 && (this.value = "");
803
+ });
804
+ }
805
+ };
806
+ //#endregion
807
+ //#region ../../node_modules/.pnpm/@clack+prompts@1.7.0/node_modules/@clack/prompts/dist/index.mjs
808
+ var dist_exports = /* @__PURE__ */ __exportAll({
809
+ SELECT_INSTRUCTIONS: () => SELECT_INSTRUCTIONS,
810
+ S_BAR: () => S_BAR,
811
+ S_BAR_END: () => S_BAR_END,
812
+ S_BAR_H: () => S_BAR_H,
813
+ S_BAR_START: () => S_BAR_START,
814
+ S_CHECKBOX_ACTIVE: () => S_CHECKBOX_ACTIVE,
815
+ S_CHECKBOX_INACTIVE: () => S_CHECKBOX_INACTIVE,
816
+ S_CONNECT_LEFT: () => S_CONNECT_LEFT,
817
+ S_CORNER_BOTTOM_LEFT: () => S_CORNER_BOTTOM_LEFT,
818
+ S_CORNER_BOTTOM_RIGHT: () => S_CORNER_BOTTOM_RIGHT,
819
+ S_CORNER_TOP_RIGHT: () => S_CORNER_TOP_RIGHT,
820
+ S_ERROR: () => S_ERROR,
821
+ S_INFO: () => S_INFO,
822
+ S_PASSWORD_MASK: () => S_PASSWORD_MASK,
823
+ S_RADIO_ACTIVE: () => S_RADIO_ACTIVE,
824
+ S_RADIO_INACTIVE: () => S_RADIO_INACTIVE,
825
+ S_STEP_ACTIVE: () => S_STEP_ACTIVE,
826
+ S_STEP_CANCEL: () => S_STEP_CANCEL,
827
+ S_STEP_ERROR: () => S_STEP_ERROR,
828
+ S_STEP_SUBMIT: () => S_STEP_SUBMIT,
829
+ S_SUCCESS: () => S_SUCCESS,
830
+ S_WARN: () => S_WARN,
831
+ cancel: () => cancel,
832
+ confirm: () => confirm,
833
+ formatInstructionFooter: () => formatInstructionFooter,
834
+ intro: () => intro,
835
+ isCI: () => isCI,
836
+ isCancel: () => isCancel,
837
+ limitOptions: () => limitOptions,
838
+ log: () => log,
839
+ note: () => note,
840
+ outro: () => outro,
841
+ password: () => password,
842
+ select: () => select,
843
+ spinner: () => spinner,
844
+ symbol: () => symbol,
845
+ symbolBar: () => symbolBar,
846
+ text: () => text,
847
+ unicode: () => unicode,
848
+ unicodeOr: () => unicodeOr
849
+ });
850
+ function isUnicodeSupported() {
851
+ if (process$1.platform !== "win32") return process$1.env.TERM !== "linux";
852
+ return Boolean(process$1.env.CI) || Boolean(process$1.env.WT_SESSION) || Boolean(process$1.env.TERMINUS_SUBLIME) || process$1.env.ConEmuTask === "{cmd::Cmder}" || process$1.env.TERM_PROGRAM === "Terminus-Sublime" || process$1.env.TERM_PROGRAM === "vscode" || process$1.env.TERM === "xterm-256color" || process$1.env.TERM === "alacritty" || process$1.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
853
+ }
854
+ const unicode = isUnicodeSupported(), isCI = () => process.env.CI === "true", unicodeOr = (o, e) => unicode ? o : e, S_STEP_ACTIVE = unicodeOr("◆", "*"), S_STEP_CANCEL = unicodeOr("■", "x"), S_STEP_ERROR = unicodeOr("▲", "x"), S_STEP_SUBMIT = unicodeOr("◇", "o"), S_BAR_START = unicodeOr("┌", "T"), S_BAR = unicodeOr("│", "|"), S_BAR_END = unicodeOr("└", "—"), S_RADIO_ACTIVE = unicodeOr("●", ">"), S_RADIO_INACTIVE = unicodeOr("○", " "), S_CHECKBOX_ACTIVE = unicodeOr("◻", "[•]"), S_CHECKBOX_INACTIVE = unicodeOr("◻", "[ ]"), S_PASSWORD_MASK = unicodeOr("▪", "•"), S_BAR_H = unicodeOr("─", "-"), S_CORNER_TOP_RIGHT = unicodeOr("╮", "+"), S_CONNECT_LEFT = unicodeOr("├", "+"), S_CORNER_BOTTOM_RIGHT = unicodeOr("╯", "+"), S_CORNER_BOTTOM_LEFT = unicodeOr("╰", "+"), S_INFO = unicodeOr("●", "•"), S_SUCCESS = unicodeOr("◆", "*"), S_WARN = unicodeOr("▲", "!"), S_ERROR = unicodeOr("■", "x"), symbol = (o) => {
855
+ switch (o) {
856
+ case "initial":
857
+ case "active": return styleText("cyan", S_STEP_ACTIVE);
858
+ case "cancel": return styleText("red", S_STEP_CANCEL);
859
+ case "error": return styleText("yellow", S_STEP_ERROR);
860
+ case "submit": return styleText("green", S_STEP_SUBMIT);
861
+ }
862
+ }, symbolBar = (o) => {
863
+ switch (o) {
864
+ case "initial":
865
+ case "active": return styleText("cyan", S_BAR);
866
+ case "cancel": return styleText("red", S_BAR);
867
+ case "error": return styleText("yellow", S_BAR);
868
+ case "submit": return styleText("green", S_BAR);
869
+ }
870
+ };
871
+ function formatInstructionFooter(o, e) {
872
+ const r = [`${e ? `${styleText("cyan", S_BAR)} ` : ""}${o.join(" • ")}`];
873
+ return e && r.push(styleText("cyan", S_BAR_END)), r;
874
+ }
875
+ const I = (l, e, w, p, b, C = false) => {
876
+ let r = e, O = 0;
877
+ if (C) for (let i = p - 1; i >= w; i--) {
878
+ const m = l[i];
879
+ if (m && (r -= m.length), O++, r <= b) break;
880
+ }
881
+ else for (let i = w; i < p; i++) {
882
+ const m = l[i];
883
+ if (m && (r -= m.length), O++, r <= b) break;
884
+ }
885
+ return {
886
+ lineCount: r,
887
+ removals: O
888
+ };
889
+ };
890
+ const limitOptions = ({ cursor: l, options: e, style: w, output: p = process.stdout, maxItems: b = Number.POSITIVE_INFINITY, columnPadding: C = 0, rowPadding: r = 4 }) => {
891
+ const i = getColumns(p) - C, m = getRows(p), M = styleText("dim", "..."), v = Math.max(m - r, 0), a = Math.max(Math.min(b, v), 5);
892
+ let f = 0;
893
+ l >= a - 3 && (f = Math.max(Math.min(l - a + 3, e.length - a), 0));
894
+ let d = a < e.length && f > 0, c = a < e.length && f + a < e.length;
895
+ const W = Math.min(f + a, e.length), s = [];
896
+ let g = 0;
897
+ d && g++, c && g++;
898
+ const T = f + (d ? 1 : 0), y = W - (c ? 1 : 0);
899
+ for (let t = T; t < y; t++) {
900
+ const n = e[t], h = wrapAnsi(n ? w(n, t === l) : "", i, {
901
+ hard: true,
902
+ trim: false
903
+ }).split(`
904
+ `);
905
+ s.push(h), g += h.length;
906
+ }
907
+ if (g > v) {
908
+ let t = 0, n = 0, o = g;
909
+ const h = l - T;
910
+ let u = v;
911
+ const L = () => I(s, o, 0, h, u), E = () => I(s, o, h + 1, s.length, u, true);
912
+ d ? ({lineCount: o, removals: t} = L(), o > u && (c || (u -= 1), {lineCount: o, removals: n} = E())) : (c || (u -= 1), {lineCount: o, removals: n} = E(), o > u && (u -= 1, {lineCount: o, removals: t} = L())), t > 0 && (d = true, s.splice(0, t)), n > 0 && (c = true, s.splice(s.length - n, n));
913
+ }
914
+ const x = [];
915
+ d && x.push(M);
916
+ for (const t of s) for (const n of t) x.push(n);
917
+ return c && x.push(M), x;
918
+ };
919
+ const confirm = (i) => {
920
+ const a = i.active ?? "Yes", s = i.inactive ?? "No";
921
+ return new r({
922
+ active: a,
923
+ inactive: s,
924
+ signal: i.signal,
925
+ input: i.input,
926
+ output: i.output,
927
+ initialValue: i.initialValue ?? true,
928
+ render() {
929
+ const e = i.withGuide ?? settings.withGuide, u = `${symbol(this.state)} `, l = e ? `${styleText("gray", S_BAR)} ` : "", f = wrapTextWithPrefix(i.output, i.message, l, u), o = `${e ? `${styleText("gray", S_BAR)}
930
+ ` : ""}${f}
931
+ `, c = this.value ? a : s;
932
+ switch (this.state) {
933
+ case "submit": return `${o}${e ? `${styleText("gray", S_BAR)} ` : ""}${styleText("dim", c)}`;
934
+ case "cancel": return `${o}${e ? `${styleText("gray", S_BAR)} ` : ""}${styleText(["strikethrough", "dim"], c)}${e ? `
935
+ ${styleText("gray", S_BAR)}` : ""}`;
936
+ default: {
937
+ const r = e ? `${styleText("cyan", S_BAR)} ` : "", g = e ? styleText("cyan", S_BAR_END) : "";
938
+ return `${o}${r}${this.value ? `${styleText("green", S_RADIO_ACTIVE)} ${a}` : `${styleText("dim", S_RADIO_INACTIVE)} ${styleText("dim", a)}`}${i.vertical ? e ? `
939
+ ${styleText("cyan", S_BAR)} ` : `
940
+ ` : ` ${styleText("dim", "/")} `}${this.value ? `${styleText("dim", S_RADIO_INACTIVE)} ${styleText("dim", s)}` : `${styleText("green", S_RADIO_ACTIVE)} ${s}`}
941
+ ${g}
942
+ `;
943
+ }
944
+ }
945
+ }
946
+ }).prompt();
947
+ };
948
+ `${styleText("dim", "↑/↓")}`, `${styleText("dim", "Space:")}`, `${styleText("dim", "Enter:")}`;
949
+ const log = {
950
+ message: (s = [], { symbol: e = styleText("gray", S_BAR), secondarySymbol: r = styleText("gray", S_BAR), output: m = process.stdout, spacing: l = 1, withGuide: c } = {}) => {
951
+ const t = [], o = c ?? settings.withGuide, f = o ? r : "", O = o ? `${e} ` : "", u = o ? `${r} ` : "";
952
+ for (let i = 0; i < l; i++) t.push(f);
953
+ const g = Array.isArray(s) ? s : s.split(`
954
+ `);
955
+ if (g.length > 0) {
956
+ const [i, ...y] = g;
957
+ i.length > 0 ? t.push(`${O}${i}`) : t.push(o ? e : "");
958
+ for (const p of y) p.length > 0 ? t.push(`${u}${p}`) : t.push(o ? r : "");
959
+ }
960
+ m.write(`${t.join(`
961
+ `)}
962
+ `);
963
+ },
964
+ info: (s, e) => {
965
+ log.message(s, {
966
+ ...e,
967
+ symbol: styleText("blue", S_INFO)
968
+ });
969
+ },
970
+ success: (s, e) => {
971
+ log.message(s, {
972
+ ...e,
973
+ symbol: styleText("green", S_SUCCESS)
974
+ });
975
+ },
976
+ step: (s, e) => {
977
+ log.message(s, {
978
+ ...e,
979
+ symbol: styleText("green", S_STEP_SUBMIT)
980
+ });
981
+ },
982
+ warn: (s, e) => {
983
+ log.message(s, {
984
+ ...e,
985
+ symbol: styleText("yellow", S_WARN)
986
+ });
987
+ },
988
+ /** alias for `log.warn()`. */
989
+ warning: (s, e) => {
990
+ log.warn(s, e);
991
+ },
992
+ error: (s, e) => {
993
+ log.message(s, {
994
+ ...e,
995
+ symbol: styleText("red", S_ERROR)
996
+ });
997
+ }
998
+ };
999
+ const cancel = (o = "", t) => {
1000
+ const i = t?.output ?? process.stdout, e = t?.withGuide ?? settings.withGuide ? `${styleText("gray", S_BAR_END)} ` : "";
1001
+ i.write(`${e}${styleText("red", o)}
1002
+
1003
+ `);
1004
+ }, intro = (o = "", t) => {
1005
+ const i = t?.output ?? process.stdout, e = t?.withGuide ?? settings.withGuide ? `${styleText("gray", S_BAR_START)} ` : "";
1006
+ i.write(`${e}${o}
1007
+ `);
1008
+ }, outro = (o = "", t) => {
1009
+ const i = t?.output ?? process.stdout, e = t?.withGuide ?? settings.withGuide ? `${styleText("gray", S_BAR)}
1010
+ ${styleText("gray", S_BAR_END)} ` : "";
1011
+ i.write(`${e}${o}
1012
+
1013
+ `);
1014
+ };
1015
+ const W$1 = (o) => o, C = (o, e, s) => {
1016
+ const a = {
1017
+ hard: true,
1018
+ trim: false
1019
+ }, i = wrapAnsi(o, e, a).split(`
1020
+ `), c = i.reduce((n, t) => Math.max(fastStringWidth(t), n), 0);
1021
+ return wrapAnsi(o, e - (i.map(s).reduce((n, t) => Math.max(fastStringWidth(t), n), 0) - c), a);
1022
+ };
1023
+ const note = (o = "", e = "", s) => {
1024
+ const a = s?.output ?? process$1.stdout, i = s?.withGuide ?? settings.withGuide, c = s?.format ?? W$1, g = [
1025
+ "",
1026
+ ...C(o, getColumns(a) - 6, c).split(`
1027
+ `).map(c),
1028
+ ""
1029
+ ], n = fastStringWidth(e), t = Math.max(g.reduce((m, F) => {
1030
+ const O = fastStringWidth(F);
1031
+ return O > m ? O : m;
1032
+ }, 0), n) + 2, h = g.map((m) => `${styleText("gray", S_BAR)} ${m}${" ".repeat(t - fastStringWidth(m))}${styleText("gray", S_BAR)}`).join(`
1033
+ `), T = i ? `${styleText("gray", S_BAR)}
1034
+ ` : "", l$1 = i ? S_CONNECT_LEFT : S_CORNER_BOTTOM_LEFT;
1035
+ a.write(`${T}${styleText("green", S_STEP_SUBMIT)} ${styleText("reset", e)} ${styleText("gray", S_BAR_H.repeat(Math.max(t - n - 1, 1)) + S_CORNER_TOP_RIGHT)}
1036
+ ${h}
1037
+ ${styleText("gray", l$1 + S_BAR_H.repeat(t + 2) + S_CORNER_BOTTOM_RIGHT)}
1038
+ `);
1039
+ };
1040
+ const password = (r) => new u$1({
1041
+ validate: r.validate,
1042
+ mask: r.mask ?? S_PASSWORD_MASK,
1043
+ signal: r.signal,
1044
+ input: r.input,
1045
+ output: r.output,
1046
+ render() {
1047
+ const e = r.withGuide ?? settings.withGuide, o = `${e ? `${styleText("gray", S_BAR)}
1048
+ ` : ""}${symbol(this.state)} ${r.message}
1049
+ `, c = this.userInputWithCursor, i = this.masked;
1050
+ switch (this.state) {
1051
+ case "error": {
1052
+ const s = e ? `${styleText("yellow", S_BAR)} ` : "", n = e ? `${styleText("yellow", S_BAR_END)} ` : "", l = i ?? "";
1053
+ return r.clearOnError && this.clear(), `${o.trim()}
1054
+ ${s}${l}
1055
+ ${n}${styleText("yellow", this.error)}
1056
+ `;
1057
+ }
1058
+ case "submit": return `${o}${e ? `${styleText("gray", S_BAR)} ` : ""}${i ? styleText("dim", i) : ""}`;
1059
+ case "cancel": return `${o}${e ? `${styleText("gray", S_BAR)} ` : ""}${i ? styleText(["strikethrough", "dim"], i) : ""}${i && e ? `
1060
+ ${styleText("gray", S_BAR)}` : ""}`;
1061
+ default: return `${o}${e ? `${styleText("cyan", S_BAR)} ` : ""}${c}
1062
+ ${e ? styleText("cyan", S_BAR_END) : ""}
1063
+ `;
1064
+ }
1065
+ }
1066
+ }).prompt();
1067
+ const W = (l) => styleText("magenta", l);
1068
+ const spinner = ({ indicator: l = "dots", onCancel: h, output: n = process.stdout, cancelMessage: G, errorMessage: O, frames: E = unicode ? [
1069
+ "◒",
1070
+ "◐",
1071
+ "◓",
1072
+ "◑"
1073
+ ] : [
1074
+ "•",
1075
+ "o",
1076
+ "O",
1077
+ "0"
1078
+ ], delay: F = unicode ? 80 : 120, signal: m, ...I } = {}) => {
1079
+ const u = isCI();
1080
+ let M, T, d = false, S = false, s = "", p, w = performance.now();
1081
+ const x = getColumns(n), k = I?.styleFrame ?? W, g = (e) => {
1082
+ const r = e > 1 ? O ?? settings.messages.error : G ?? settings.messages.cancel;
1083
+ S = e === 1, d && (a(r, e), S && typeof h == "function" && h());
1084
+ }, f = () => g(2), i = () => g(1), A = () => {
1085
+ process.on("uncaughtExceptionMonitor", f), process.on("unhandledRejection", f), process.on("SIGINT", i), process.on("SIGTERM", i), process.on("exit", g), m && m.addEventListener("abort", i);
1086
+ }, H = () => {
1087
+ process.removeListener("uncaughtExceptionMonitor", f), process.removeListener("unhandledRejection", f), process.removeListener("SIGINT", i), process.removeListener("SIGTERM", i), process.removeListener("exit", g), m && m.removeEventListener("abort", i);
1088
+ }, y = () => {
1089
+ if (p === void 0) return;
1090
+ u && n.write(`
1091
+ `);
1092
+ const r = wrapAnsi(p, x, {
1093
+ hard: true,
1094
+ trim: false
1095
+ }).split(`
1096
+ `);
1097
+ r.length > 1 && n.write(import_src.cursor.up(r.length - 1)), n.write(import_src.cursor.to(0)), n.write(import_src.erase.down());
1098
+ }, C = (e) => e.replace(/\.+$/, ""), _ = (e) => {
1099
+ const r = (performance.now() - e) / 1e3, t = Math.floor(r / 60), o = Math.floor(r % 60);
1100
+ return t > 0 ? `[${t}m ${o}s]` : `[${o}s]`;
1101
+ }, N = I.withGuide ?? settings.withGuide, P = (e = "") => {
1102
+ d = true, M = block({ output: n }), s = C(e), w = performance.now(), N && n.write(`${styleText("gray", S_BAR)}
1103
+ `);
1104
+ let r = 0, t = 0;
1105
+ A(), T = setInterval(() => {
1106
+ if (u && s === p) return;
1107
+ y(), p = s;
1108
+ const o = k(E[r]);
1109
+ let v;
1110
+ if (u) v = `${o} ${s}...`;
1111
+ else if (l === "timer") v = `${o} ${s} ${_(w)}`;
1112
+ else {
1113
+ const B = ".".repeat(Math.floor(t)).slice(0, 3);
1114
+ v = `${o} ${s}${B}`;
1115
+ }
1116
+ const j = wrapAnsi(v, x, {
1117
+ hard: true,
1118
+ trim: false
1119
+ });
1120
+ n.write(j), r = r + 1 < E.length ? r + 1 : 0, t = t < 4 ? t + .125 : 0;
1121
+ }, F);
1122
+ }, a = (e = "", r = 0, t = false) => {
1123
+ if (!d) return;
1124
+ d = false, clearInterval(T), y();
1125
+ const o = r === 0 ? styleText("green", S_STEP_SUBMIT) : r === 1 ? styleText("red", S_STEP_CANCEL) : styleText("red", S_STEP_ERROR);
1126
+ s = e ?? s, t || (l === "timer" ? n.write(`${o} ${s} ${_(w)}
1127
+ `) : n.write(`${o} ${s}
1128
+ `)), H(), M();
1129
+ };
1130
+ return {
1131
+ start: P,
1132
+ stop: (e = "") => a(e, 0),
1133
+ message: (e = "") => {
1134
+ s = C(e ?? s);
1135
+ },
1136
+ cancel: (e = "") => a(e, 1),
1137
+ error: (e = "") => a(e, 2),
1138
+ clear: () => a("", 0, true),
1139
+ get isCancelled() {
1140
+ return S;
1141
+ }
1142
+ };
1143
+ };
1144
+ const SELECT_INSTRUCTIONS = [`${styleText("dim", "↑/↓")} to navigate`, `${styleText("dim", "Enter:")} confirm`];
1145
+ const c = (t, o) => t.includes(`
1146
+ `) ? t.split(`
1147
+ `).map((d) => o(d)).join(`
1148
+ `) : o(t);
1149
+ const select = (t) => {
1150
+ const o = (n, m) => {
1151
+ if (n === void 0) return "";
1152
+ const s = n.label ?? String(n.value);
1153
+ switch (m) {
1154
+ case "disabled": return `${styleText("gray", S_RADIO_INACTIVE)} ${c(s, (i) => styleText("gray", i))}${n.hint ? ` ${styleText("dim", `(${n.hint ?? "disabled"})`)}` : ""}`;
1155
+ case "selected": return `${c(s, (i) => styleText("dim", i))}`;
1156
+ case "active": return `${styleText("green", S_RADIO_ACTIVE)} ${s}${n.hint ? ` ${styleText("dim", `(${n.hint})`)}` : ""}`;
1157
+ case "cancelled": return `${c(s, (i) => styleText(["strikethrough", "dim"], i))}`;
1158
+ default: return `${styleText("dim", S_RADIO_INACTIVE)} ${c(s, (i) => styleText("dim", i))}`;
1159
+ }
1160
+ }, d = t.showInstructions ?? true;
1161
+ return new n$1({
1162
+ options: t.options,
1163
+ signal: t.signal,
1164
+ input: t.input,
1165
+ output: t.output,
1166
+ initialValue: t.initialValue,
1167
+ render() {
1168
+ const n = t.withGuide ?? settings.withGuide, m = `${symbol(this.state)} `, s = `${symbolBar(this.state)} `, i = wrapTextWithPrefix(t.output, t.message, s, m), u = `${n ? `${styleText("gray", S_BAR)}
1169
+ ` : ""}${i}
1170
+ `;
1171
+ switch (this.state) {
1172
+ case "submit": {
1173
+ const r = n ? `${styleText("gray", S_BAR)} ` : "";
1174
+ return `${u}${wrapTextWithPrefix(t.output, o(this.options[this.cursor], "selected"), r)}`;
1175
+ }
1176
+ case "cancel": {
1177
+ const r = n ? `${styleText("gray", S_BAR)} ` : "";
1178
+ return `${u}${wrapTextWithPrefix(t.output, o(this.options[this.cursor], "cancelled"), r)}${n ? `
1179
+ ${styleText("gray", S_BAR)}` : ""}`;
1180
+ }
1181
+ default: {
1182
+ const r = n ? `${styleText("cyan", S_BAR)} ` : "", a = u.split(`
1183
+ `).length, p = d ? formatInstructionFooter(SELECT_INSTRUCTIONS, n) : n ? [styleText("cyan", S_BAR_END)] : [], b = p.join(`
1184
+ `), f = p.length + 1;
1185
+ return `${u}${r}${limitOptions({
1186
+ output: t.output,
1187
+ cursor: this.cursor,
1188
+ options: this.options,
1189
+ maxItems: t.maxItems,
1190
+ columnPadding: r.length,
1191
+ rowPadding: a + f,
1192
+ style: (g, x) => o(g, g.disabled ? "disabled" : x ? "active" : "inactive")
1193
+ }).join(`
1194
+ ${r}`)}
1195
+ ${b}
1196
+ `;
1197
+ }
1198
+ }
1199
+ }
1200
+ }).prompt();
1201
+ };
1202
+ `${styleText("gray", S_BAR)}`;
1203
+ const text = (e) => new n({
1204
+ validate: e.validate,
1205
+ placeholder: e.placeholder,
1206
+ defaultValue: e.defaultValue,
1207
+ initialValue: e.initialValue,
1208
+ output: e.output,
1209
+ signal: e.signal,
1210
+ input: e.input,
1211
+ render() {
1212
+ const i = e?.withGuide ?? settings.withGuide, s = `${`${i ? `${styleText("gray", S_BAR)}
1213
+ ` : ""}${symbol(this.state)} `}${e.message}
1214
+ `, c = e.placeholder && e.placeholder.length > 0 ? styleText("inverse", e.placeholder[0]) + styleText("dim", e.placeholder.slice(1)) : styleText(["inverse", "hidden"], "_"), o = this.userInput ? this.userInputWithCursor : c, l = this.value ?? "";
1215
+ switch (this.state) {
1216
+ case "error": {
1217
+ const n = this.error ? ` ${styleText("yellow", this.error)}` : "", r = i ? `${styleText("yellow", S_BAR)} ` : "", d = i ? styleText("yellow", S_BAR_END) : "";
1218
+ return `${s.trim()}
1219
+ ${r}${o}
1220
+ ${d}${n}
1221
+ `;
1222
+ }
1223
+ case "submit": {
1224
+ const n = l ? ` ${styleText("dim", l)}` : "";
1225
+ return `${s}${i ? styleText("gray", S_BAR) : ""}${n}`;
1226
+ }
1227
+ case "cancel": {
1228
+ const n = l ? ` ${styleText(["strikethrough", "dim"], l)}` : "", r = i ? styleText("gray", S_BAR) : "";
1229
+ return `${s}${r}${n}${l.trim() ? `
1230
+ ${r}` : ""}`;
1231
+ }
1232
+ default: return `${s}${i ? `${styleText("cyan", S_BAR)} ` : ""}${o}
1233
+ ${i ? styleText("cyan", S_BAR_END) : ""}
1234
+ `;
1235
+ }
1236
+ }
1237
+ }).prompt();
1238
+ //#endregion
1239
+ //#region src/cli/output.ts
1240
+ var import_picocolors = /* @__PURE__ */ __toESM(require_picocolors(), 1);
1241
+ /**
1242
+ * CI-safe spinner wrapper. In CI environments (GitHub Actions, etc.),
1243
+ * `@clack/prompts` spinner emits DEC Private Mode cursor hide/show codes
1244
+ * (`\x1b[?25l` / `\x1b[?25h`) that render as text artifacts. This wrapper
1245
+ * replaces the spinner with plain log output in CI.
1246
+ */
1247
+ function createSpinner() {
1248
+ if (!isCI()) return spinner();
1249
+ let currentMessage = "";
1250
+ return {
1251
+ start(msg = "") {
1252
+ currentMessage = msg;
1253
+ if (msg) log.step(msg);
1254
+ },
1255
+ stop(msg = "") {
1256
+ if (msg) log.info(msg);
1257
+ },
1258
+ message(msg = "") {
1259
+ if (msg && msg !== currentMessage) {
1260
+ currentMessage = msg;
1261
+ log.step(msg);
1262
+ }
1263
+ },
1264
+ cancel(msg = "") {
1265
+ if (msg) log.warn(msg);
1266
+ },
1267
+ error(msg = "") {
1268
+ if (msg) log.error(msg);
1269
+ },
1270
+ clear() {},
1271
+ get isCancelled() {
1272
+ return false;
1273
+ }
1274
+ };
1275
+ }
1276
+ function cliTitle(command) {
1277
+ return import_picocolors.default.blue(`void ${command}`);
1278
+ }
1279
+ function sectionTitle(title) {
1280
+ return import_picocolors.default.reset(import_picocolors.default.blue(title));
1281
+ }
1282
+ function categoryTitle(title) {
1283
+ return import_picocolors.default.reset(import_picocolors.default.bold(import_picocolors.default.cyan(title)));
1284
+ }
1285
+ function dim(text) {
1286
+ return import_picocolors.default.dim(text);
1287
+ }
1288
+ function tablePrefix() {
1289
+ return `${import_picocolors.default.gray("│")} `;
1290
+ }
1291
+ function helpLine(command, description) {
1292
+ return `${import_picocolors.default.reset(command.padEnd(34))} ${import_picocolors.default.dim(description)}`;
1293
+ }
1294
+ /**
1295
+ * Ensure a timestamp string will be parsed as UTC by `new Date()`.
1296
+ * DB timestamps lack timezone info — appends 'Z' only when no
1297
+ * existing indicator (Z, z, or numeric offset) is present.
1298
+ */
1299
+ function ensureUtc(s) {
1300
+ const last = s.at(-1);
1301
+ if (last === "Z" || last === "z") return s;
1302
+ if (s.includes("+", 10)) return s;
1303
+ if (s.lastIndexOf("-") > 9) return s;
1304
+ return s + "Z";
1305
+ }
1306
+ //#endregion
1307
+ //#region src/cli/agents.ts
1308
+ function getPackageDir() {
1309
+ let dir = join(fileURLToPath(import.meta.url), "..");
1310
+ for (let i = 0; i < 5; i++) {
1311
+ if (existsSync(join(dir, "package.json"))) {
1312
+ if (JSON.parse(readFileSync(join(dir, "package.json"), "utf-8")).name === "void") return dir;
1313
+ }
1314
+ dir = join(dir, "..");
1315
+ }
1316
+ throw new Error("Could not find void package root");
1317
+ }
1318
+ const agents = {
1319
+ "claude-code": {
1320
+ displayName: "Claude Code",
1321
+ skillsDir: ".claude/skills",
1322
+ detect: (root) => existsSync(join(root, ".claude")) || existsSync(join(root, "CLAUDE.md")),
1323
+ mcpConfig: [{
1324
+ filePath: ".claude/settings.json",
1325
+ rootKey: "mcpServers"
1326
+ }, {
1327
+ filePath: ".claude/settings.local.json",
1328
+ rootKey: "mcpServers"
1329
+ }]
1330
+ },
1331
+ amp: {
1332
+ displayName: "Amp",
1333
+ skillsDir: ".agents/skills",
1334
+ detect: (root) => existsSync(join(root, ".agents")),
1335
+ mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
1336
+ },
1337
+ codex: {
1338
+ displayName: "Codex",
1339
+ skillsDir: ".agents/skills",
1340
+ detect: (root) => existsSync(join(root, ".codex")),
1341
+ mcpHint: "codex mcp add void -- npx void mcp"
1342
+ },
1343
+ cursor: {
1344
+ displayName: "Cursor",
1345
+ skillsDir: ".agents/skills",
1346
+ detect: (root) => existsSync(join(root, ".cursor")),
1347
+ mcpConfig: [{
1348
+ filePath: ".cursor/mcp.json",
1349
+ rootKey: "mcpServers"
1350
+ }]
1351
+ },
1352
+ windsurf: {
1353
+ displayName: "Windsurf",
1354
+ skillsDir: ".windsurf/skills",
1355
+ detect: (root) => existsSync(join(root, ".windsurf")),
1356
+ mcpConfig: [{
1357
+ filePath: ".windsurf/mcp.json",
1358
+ rootKey: "mcpServers"
1359
+ }]
1360
+ },
1361
+ "gemini-cli": {
1362
+ displayName: "Gemini CLI",
1363
+ skillsDir: ".agents/skills",
1364
+ detect: (root) => existsSync(join(root, ".gemini")),
1365
+ mcpHint: "gemini mcp add void -- npx void mcp"
1366
+ },
1367
+ "github-copilot": {
1368
+ displayName: "GitHub Copilot",
1369
+ skillsDir: ".agents/skills",
1370
+ detect: (root) => existsSync(join(root, ".github", "copilot-instructions.md")) || existsSync(join(root, ".vscode", "mcp.json")),
1371
+ mcpConfig: [{
1372
+ filePath: ".vscode/mcp.json",
1373
+ rootKey: "servers",
1374
+ extraFields: { type: "stdio" }
1375
+ }]
1376
+ },
1377
+ cline: {
1378
+ displayName: "Cline",
1379
+ skillsDir: ".cline/skills",
1380
+ detect: (root) => existsSync(join(root, ".cline")),
1381
+ mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
1382
+ },
1383
+ roo: {
1384
+ displayName: "Roo Code",
1385
+ skillsDir: ".roo/skills",
1386
+ detect: (root) => existsSync(join(root, ".roo")),
1387
+ mcpConfig: [{
1388
+ filePath: ".roo/mcp.json",
1389
+ rootKey: "mcpServers"
1390
+ }]
1391
+ },
1392
+ kilo: {
1393
+ displayName: "Kilo Code",
1394
+ skillsDir: ".kilocode/skills",
1395
+ detect: (root) => existsSync(join(root, ".kilocode")),
1396
+ mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
1397
+ },
1398
+ continue: {
1399
+ displayName: "Continue",
1400
+ skillsDir: ".continue/skills",
1401
+ detect: (root) => existsSync(join(root, ".continue")),
1402
+ mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
1403
+ },
1404
+ goose: {
1405
+ displayName: "Goose",
1406
+ skillsDir: ".goose/skills",
1407
+ detect: (root) => existsSync(join(root, ".goose")),
1408
+ mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
1409
+ },
1410
+ opencode: {
1411
+ displayName: "OpenCode",
1412
+ skillsDir: ".agents/skills",
1413
+ detect: (root) => existsSync(join(root, ".opencode")),
1414
+ mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
1415
+ },
1416
+ trae: {
1417
+ displayName: "Trae",
1418
+ skillsDir: ".trae/skills",
1419
+ detect: (root) => existsSync(join(root, ".trae")),
1420
+ mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
1421
+ },
1422
+ junie: {
1423
+ displayName: "Junie",
1424
+ skillsDir: ".junie/skills",
1425
+ detect: (root) => existsSync(join(root, ".junie")),
1426
+ mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
1427
+ },
1428
+ "kiro-cli": {
1429
+ displayName: "Kiro CLI",
1430
+ skillsDir: ".kiro/skills",
1431
+ detect: (root) => existsSync(join(root, ".kiro")),
1432
+ mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
1433
+ },
1434
+ zencoder: {
1435
+ displayName: "Zencoder",
1436
+ skillsDir: ".zencoder/skills",
1437
+ detect: (root) => existsSync(join(root, ".zencoder")),
1438
+ mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
1439
+ },
1440
+ "qwen-code": {
1441
+ displayName: "Qwen Code",
1442
+ skillsDir: ".qwen/skills",
1443
+ detect: (root) => existsSync(join(root, ".qwen")),
1444
+ mcpHint: "Run `npx void mcp` — this starts a stdio MCP server. See your agent's docs for how to add a local MCP server."
1445
+ }
1446
+ };
1447
+ function getAgentById(id) {
1448
+ return agents[id];
1449
+ }
1450
+ function detectAgents(root) {
1451
+ return Object.values(agents).filter((a) => a.detect(root));
1452
+ }
1453
+ //#endregion
1454
+ export { text as A, dist_exports as C, outro as D, note as E, require_picocolors as M, password as O, confirm as S, log as T, S_RADIO_ACTIVE as _, cliTitle as a, S_STEP_SUBMIT as b, ensureUtc as c, sectionTitle as d, tablePrefix as f, S_CHECKBOX_INACTIVE as g, S_CHECKBOX_ACTIVE as h, categoryTitle as i, isCancel as j, select as k, helpLine as l, S_BAR_END as m, getAgentById as n, createSpinner as o, S_BAR as p, getPackageDir as r, dim as s, detectAgents as t, import_picocolors as u, S_RADIO_INACTIVE as v, intro as w, cancel as x, S_STEP_ACTIVE as y };