@ailog/cli 0.1.0

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 (303) hide show
  1. package/README.md +56 -0
  2. package/dist/bin/cli.js +1912 -0
  3. package/dist/standalone/.env +0 -0
  4. package/dist/standalone/.next/BUILD_ID +1 -0
  5. package/dist/standalone/.next/app-path-routes-manifest.json +10 -0
  6. package/dist/standalone/.next/build-manifest.json +21 -0
  7. package/dist/standalone/.next/package.json +1 -0
  8. package/dist/standalone/.next/prerender-manifest.json +118 -0
  9. package/dist/standalone/.next/required-server-files.json +333 -0
  10. package/dist/standalone/.next/routes-manifest.json +102 -0
  11. package/dist/standalone/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  12. package/dist/standalone/.next/server/app/_global-error/page/build-manifest.json +18 -0
  13. package/dist/standalone/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  14. package/dist/standalone/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  15. package/dist/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  16. package/dist/standalone/.next/server/app/_global-error/page.js +11 -0
  17. package/dist/standalone/.next/server/app/_global-error/page.js.map +5 -0
  18. package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -0
  19. package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +2 -0
  20. package/dist/standalone/.next/server/app/_global-error.html +2 -0
  21. package/dist/standalone/.next/server/app/_global-error.meta +15 -0
  22. package/dist/standalone/.next/server/app/_global-error.rsc +13 -0
  23. package/dist/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  24. package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +13 -0
  25. package/dist/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +8 -0
  26. package/dist/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +4 -0
  27. package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  28. package/dist/standalone/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  29. package/dist/standalone/.next/server/app/_not-found/page/build-manifest.json +18 -0
  30. package/dist/standalone/.next/server/app/_not-found/page/next-font-manifest.json +12 -0
  31. package/dist/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  32. package/dist/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  33. package/dist/standalone/.next/server/app/_not-found/page.js +14 -0
  34. package/dist/standalone/.next/server/app/_not-found/page.js.map +5 -0
  35. package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -0
  36. package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +2 -0
  37. package/dist/standalone/.next/server/app/_not-found.html +1 -0
  38. package/dist/standalone/.next/server/app/_not-found.meta +16 -0
  39. package/dist/standalone/.next/server/app/_not-found.rsc +19 -0
  40. package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +19 -0
  41. package/dist/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +8 -0
  42. package/dist/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -0
  43. package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
  44. package/dist/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +4 -0
  45. package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
  46. package/dist/standalone/.next/server/app/api/[[...route]]/route/app-paths-manifest.json +3 -0
  47. package/dist/standalone/.next/server/app/api/[[...route]]/route/build-manifest.json +11 -0
  48. package/dist/standalone/.next/server/app/api/[[...route]]/route/server-reference-manifest.json +4 -0
  49. package/dist/standalone/.next/server/app/api/[[...route]]/route.js +7 -0
  50. package/dist/standalone/.next/server/app/api/[[...route]]/route.js.map +5 -0
  51. package/dist/standalone/.next/server/app/api/[[...route]]/route.js.nft.json +1 -0
  52. package/dist/standalone/.next/server/app/api/[[...route]]/route_client-reference-manifest.js +2 -0
  53. package/dist/standalone/.next/server/app/apps/[appId]/page/app-paths-manifest.json +3 -0
  54. package/dist/standalone/.next/server/app/apps/[appId]/page/build-manifest.json +18 -0
  55. package/dist/standalone/.next/server/app/apps/[appId]/page/next-font-manifest.json +12 -0
  56. package/dist/standalone/.next/server/app/apps/[appId]/page/react-loadable-manifest.json +1 -0
  57. package/dist/standalone/.next/server/app/apps/[appId]/page/server-reference-manifest.json +4 -0
  58. package/dist/standalone/.next/server/app/apps/[appId]/page.js +17 -0
  59. package/dist/standalone/.next/server/app/apps/[appId]/page.js.map +5 -0
  60. package/dist/standalone/.next/server/app/apps/[appId]/page.js.nft.json +1 -0
  61. package/dist/standalone/.next/server/app/apps/[appId]/page_client-reference-manifest.js +2 -0
  62. package/dist/standalone/.next/server/app/apps/[appId]/settings/page/app-paths-manifest.json +3 -0
  63. package/dist/standalone/.next/server/app/apps/[appId]/settings/page/build-manifest.json +18 -0
  64. package/dist/standalone/.next/server/app/apps/[appId]/settings/page/next-font-manifest.json +12 -0
  65. package/dist/standalone/.next/server/app/apps/[appId]/settings/page/react-loadable-manifest.json +1 -0
  66. package/dist/standalone/.next/server/app/apps/[appId]/settings/page/server-reference-manifest.json +4 -0
  67. package/dist/standalone/.next/server/app/apps/[appId]/settings/page.js +17 -0
  68. package/dist/standalone/.next/server/app/apps/[appId]/settings/page.js.map +5 -0
  69. package/dist/standalone/.next/server/app/apps/[appId]/settings/page.js.nft.json +1 -0
  70. package/dist/standalone/.next/server/app/apps/[appId]/settings/page_client-reference-manifest.js +2 -0
  71. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page/app-paths-manifest.json +3 -0
  72. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page/build-manifest.json +18 -0
  73. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page/next-font-manifest.json +12 -0
  74. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page/react-loadable-manifest.json +1 -0
  75. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page/server-reference-manifest.json +4 -0
  76. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page.js +17 -0
  77. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page.js.map +5 -0
  78. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page.js.nft.json +1 -0
  79. package/dist/standalone/.next/server/app/apps/[appId]/threads/[threadId]/page_client-reference-manifest.js +2 -0
  80. package/dist/standalone/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
  81. package/dist/standalone/.next/server/app/favicon.ico/route/build-manifest.json +11 -0
  82. package/dist/standalone/.next/server/app/favicon.ico/route.js +7 -0
  83. package/dist/standalone/.next/server/app/favicon.ico/route.js.map +5 -0
  84. package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  85. package/dist/standalone/.next/server/app/favicon.ico.body +0 -0
  86. package/dist/standalone/.next/server/app/favicon.ico.meta +1 -0
  87. package/dist/standalone/.next/server/app/index.html +1 -0
  88. package/dist/standalone/.next/server/app/index.meta +14 -0
  89. package/dist/standalone/.next/server/app/index.rsc +26 -0
  90. package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
  91. package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +26 -0
  92. package/dist/standalone/.next/server/app/index.segments/_head.segment.rsc +8 -0
  93. package/dist/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -0
  94. package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +5 -0
  95. package/dist/standalone/.next/server/app/page/app-paths-manifest.json +3 -0
  96. package/dist/standalone/.next/server/app/page/build-manifest.json +18 -0
  97. package/dist/standalone/.next/server/app/page/next-font-manifest.json +12 -0
  98. package/dist/standalone/.next/server/app/page/react-loadable-manifest.json +1 -0
  99. package/dist/standalone/.next/server/app/page/server-reference-manifest.json +4 -0
  100. package/dist/standalone/.next/server/app/page.js +16 -0
  101. package/dist/standalone/.next/server/app/page.js.map +5 -0
  102. package/dist/standalone/.next/server/app/page.js.nft.json +1 -0
  103. package/dist/standalone/.next/server/app/page_client-reference-manifest.js +2 -0
  104. package/dist/standalone/.next/server/app-paths-manifest.json +10 -0
  105. package/dist/standalone/.next/server/chunks/32a5c_next_0375a1f1._.js +17 -0
  106. package/dist/standalone/.next/server/chunks/[root-of-the-server]__5f8f2b74._.js +3 -0
  107. package/dist/standalone/.next/server/chunks/[root-of-the-server]__7970807c._.js +7 -0
  108. package/dist/standalone/.next/server/chunks/[root-of-the-server]__a0f47697._.js +28 -0
  109. package/dist/standalone/.next/server/chunks/[root-of-the-server]__b89b5a39._.js +3 -0
  110. package/dist/standalone/.next/server/chunks/[turbopack]_runtime.js +770 -0
  111. package/dist/standalone/.next/server/chunks/apps_web__next-internal_server_app_api_[[___route]]_route_actions_ad756856.js +3 -0
  112. package/dist/standalone/.next/server/chunks/apps_web__next-internal_server_app_favicon_ico_route_actions_63c3b0d9.js +3 -0
  113. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_c1a879d9._.js +4 -0
  114. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_c1fdfc17._.js +3 -0
  115. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_client_components_9085e245._.js +3 -0
  116. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_client_components_builtin_forbidden_3bc2a141.js +3 -0
  117. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_client_components_builtin_global-error_4bb26d7f.js +3 -0
  118. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_client_components_builtin_unauthorized_5c95c9e3.js +3 -0
  119. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_esm_af731943._.js +6 -0
  120. package/dist/standalone/.next/server/chunks/ssr/32a5c_next_dist_esm_build_templates_app-page_5d311e9f.js +4 -0
  121. package/dist/standalone/.next/server/chunks/ssr/37f04__next-internal_server_app_apps_[appId]_threads_[threadId]_page_actions_0a164142.js +3 -0
  122. package/dist/standalone/.next/server/chunks/ssr/8eb43_sonner_dist_index_mjs_a249e53a._.js +3 -0
  123. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__15021a09._.js +3 -0
  124. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__1764fab0._.js +3 -0
  125. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__1d8f92d3._.js +3 -0
  126. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__277f3037._.js +3 -0
  127. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__379bd934._.js +3 -0
  128. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__42df4b63._.js +3 -0
  129. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__5064350d._.js +3 -0
  130. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__659dbfe7._.js +4 -0
  131. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__80ea63f6._.js +4 -0
  132. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__9f3ff72e._.js +3 -0
  133. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__b6cee269._.js +3 -0
  134. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__e55c02ca._.js +3 -0
  135. package/dist/standalone/.next/server/chunks/ssr/[root-of-the-server]__f7807403._.js +3 -0
  136. package/dist/standalone/.next/server/chunks/ssr/[turbopack]_runtime.js +770 -0
  137. package/dist/standalone/.next/server/chunks/ssr/_1b351fd8._.js +3 -0
  138. package/dist/standalone/.next/server/chunks/ssr/_1db4c18c._.js +4 -0
  139. package/dist/standalone/.next/server/chunks/ssr/_203f0b29._.js +7 -0
  140. package/dist/standalone/.next/server/chunks/ssr/_442031f8._.js +7 -0
  141. package/dist/standalone/.next/server/chunks/ssr/_4b4df737._.js +4 -0
  142. package/dist/standalone/.next/server/chunks/ssr/_5066b883._.js +4 -0
  143. package/dist/standalone/.next/server/chunks/ssr/_82db472c._.js +3 -0
  144. package/dist/standalone/.next/server/chunks/ssr/_877d9b8d._.js +9 -0
  145. package/dist/standalone/.next/server/chunks/ssr/_b00f40b3._.js +3 -0
  146. package/dist/standalone/.next/server/chunks/ssr/_ba4460f0._.js +3 -0
  147. package/dist/standalone/.next/server/chunks/ssr/_d7dc3d79._.js +3 -0
  148. package/dist/standalone/.next/server/chunks/ssr/_d81226f8._.js +4 -0
  149. package/dist/standalone/.next/server/chunks/ssr/_ebd188d6._.js +3 -0
  150. package/dist/standalone/.next/server/chunks/ssr/_fce9eb14._.js +6 -0
  151. package/dist/standalone/.next/server/chunks/ssr/apps_web__next-internal_server_app__global-error_page_actions_e7650f86.js +3 -0
  152. package/dist/standalone/.next/server/chunks/ssr/apps_web__next-internal_server_app__not-found_page_actions_3df07a96.js +3 -0
  153. package/dist/standalone/.next/server/chunks/ssr/apps_web__next-internal_server_app_apps_[appId]_page_actions_3e495976.js +3 -0
  154. package/dist/standalone/.next/server/chunks/ssr/apps_web__next-internal_server_app_apps_[appId]_settings_page_actions_e98061b7.js +3 -0
  155. package/dist/standalone/.next/server/chunks/ssr/apps_web__next-internal_server_app_page_actions_a0623280.js +3 -0
  156. package/dist/standalone/.next/server/chunks/ssr/apps_web_app_apps_[appId]_layout_tsx_4c06ec7f._.js +3 -0
  157. package/dist/standalone/.next/server/chunks/ssr/apps_web_app_apps_[appId]_page_tsx_15e4fa55._.js +3 -0
  158. package/dist/standalone/.next/server/chunks/ssr/apps_web_app_apps_[appId]_settings_page_tsx_c072e295._.js +3 -0
  159. package/dist/standalone/.next/server/chunks/ssr/apps_web_app_apps_[appId]_threads_[threadId]_page_tsx_7dd7d764._.js +3 -0
  160. package/dist/standalone/.next/server/chunks/ssr/apps_web_app_e92ffe16._.js +3 -0
  161. package/dist/standalone/.next/server/chunks/ssr/apps_web_app_page_tsx_66bf978b._.js +3 -0
  162. package/dist/standalone/.next/server/chunks/ssr/apps_web_components_ui_15d0ea42._.js +3 -0
  163. package/dist/standalone/.next/server/chunks/ssr/apps_web_components_ui_1626551a._.js +3 -0
  164. package/dist/standalone/.next/server/chunks/ssr/apps_web_components_ui_c8132c43._.js +9 -0
  165. package/dist/standalone/.next/server/chunks/ssr/apps_web_components_ui_card_tsx_2c0359d4._.js +3 -0
  166. package/dist/standalone/.next/server/chunks/ssr/node_modules__bun_4bd60410._.js +6 -0
  167. package/dist/standalone/.next/server/chunks/ssr/node_modules__bun_930fb349._.js +3 -0
  168. package/dist/standalone/.next/server/functions-config-manifest.json +4 -0
  169. package/dist/standalone/.next/server/middleware-build-manifest.js +22 -0
  170. package/dist/standalone/.next/server/middleware-manifest.json +6 -0
  171. package/dist/standalone/.next/server/next-font-manifest.js +1 -0
  172. package/dist/standalone/.next/server/next-font-manifest.json +32 -0
  173. package/dist/standalone/.next/server/pages/404.html +1 -0
  174. package/dist/standalone/.next/server/pages/500.html +2 -0
  175. package/dist/standalone/.next/server/pages-manifest.json +4 -0
  176. package/dist/standalone/.next/server/server-reference-manifest.js +1 -0
  177. package/dist/standalone/.next/server/server-reference-manifest.json +5 -0
  178. package/dist/standalone/.next/static/9y8i31xPiG_Qcw_BXVNIB/_buildManifest.js +11 -0
  179. package/dist/standalone/.next/static/9y8i31xPiG_Qcw_BXVNIB/_clientMiddlewareManifest.json +1 -0
  180. package/dist/standalone/.next/static/9y8i31xPiG_Qcw_BXVNIB/_ssgManifest.js +1 -0
  181. package/dist/standalone/.next/static/chunks/001d990e82d317e7.js +1 -0
  182. package/dist/standalone/.next/static/chunks/0a3222f50a8ba36d.js +1 -0
  183. package/dist/standalone/.next/static/chunks/0d93d2e4091cb1d5.js +1 -0
  184. package/dist/standalone/.next/static/chunks/15389c2c0efe0c58.js +7 -0
  185. package/dist/standalone/.next/static/chunks/26aa014f0977bc3a.js +4 -0
  186. package/dist/standalone/.next/static/chunks/3468e573c929d9d3.js +1 -0
  187. package/dist/standalone/.next/static/chunks/3815bbfffdbb534d.js +1 -0
  188. package/dist/standalone/.next/static/chunks/3c1f17874396f056.js +1 -0
  189. package/dist/standalone/.next/static/chunks/46a444f4110b5209.js +7 -0
  190. package/dist/standalone/.next/static/chunks/540b3a38f32c78d0.js +1 -0
  191. package/dist/standalone/.next/static/chunks/5966736c7dbc65d2.js +1 -0
  192. package/dist/standalone/.next/static/chunks/6a4ccd90d00f8188.js +2 -0
  193. package/dist/standalone/.next/static/chunks/6b7a6f475b2cb221.js +1 -0
  194. package/dist/standalone/.next/static/chunks/6de1dc14b2653311.js +2 -0
  195. package/dist/standalone/.next/static/chunks/8eae4355671b488f.js +1 -0
  196. package/dist/standalone/.next/static/chunks/a6dad97d9634a72d.js +1 -0
  197. package/dist/standalone/.next/static/chunks/ab703521ea4f2141.js +1 -0
  198. package/dist/standalone/.next/static/chunks/b7ea835c5478b248.js +1 -0
  199. package/dist/standalone/.next/static/chunks/b8bc41a0b408222e.js +5 -0
  200. package/dist/standalone/.next/static/chunks/e4876b96721a69ca.css +4 -0
  201. package/dist/standalone/.next/static/chunks/f8e57df1af00077e.js +5 -0
  202. package/dist/standalone/.next/static/chunks/f9feac1b69b1185e.js +1 -0
  203. package/dist/standalone/.next/static/chunks/turbopack-e09224df42d3769a.js +3 -0
  204. package/dist/standalone/.next/static/media/13bf9871fe164e7f-s.f2220059.woff2 +0 -0
  205. package/dist/standalone/.next/static/media/3fe682a82f50d426-s.23358719.woff2 +0 -0
  206. package/dist/standalone/.next/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
  207. package/dist/standalone/.next/static/media/70bc3e132a0a741e-s.p.15008bfb.woff2 +0 -0
  208. package/dist/standalone/.next/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
  209. package/dist/standalone/.next/static/media/71b036adf157cdcf-s.bd5f4d11.woff2 +0 -0
  210. package/dist/standalone/.next/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
  211. package/dist/standalone/.next/static/media/89b21bb081cb7469-s.51c18f09.woff2 +0 -0
  212. package/dist/standalone/.next/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
  213. package/dist/standalone/.next/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
  214. package/dist/standalone/.next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
  215. package/dist/standalone/.next/static/media/cc545e633e20c56d-s.f6f1950f.woff2 +0 -0
  216. package/dist/standalone/.next/static/media/favicon.0b3bf435.ico +0 -0
  217. package/dist/standalone/app/apps/[appId]/layout.tsx +3 -0
  218. package/dist/standalone/app/apps/[appId]/page.tsx +238 -0
  219. package/dist/standalone/app/apps/[appId]/settings/page.tsx +224 -0
  220. package/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +283 -0
  221. package/dist/standalone/components/apps-table.tsx +274 -0
  222. package/dist/standalone/components.json +24 -0
  223. package/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +3 -0
  224. package/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +238 -0
  225. package/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +224 -0
  226. package/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +283 -0
  227. package/dist/standalone/dist/standalone/components/apps-table.tsx +274 -0
  228. package/dist/standalone/dist/standalone/components.json +24 -0
  229. package/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +3 -0
  230. package/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +238 -0
  231. package/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +224 -0
  232. package/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +283 -0
  233. package/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +274 -0
  234. package/dist/standalone/dist/standalone/dist/standalone/components.json +24 -0
  235. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +3 -0
  236. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +238 -0
  237. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +224 -0
  238. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +283 -0
  239. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +274 -0
  240. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +24 -0
  241. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +3 -0
  242. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +238 -0
  243. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +224 -0
  244. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +283 -0
  245. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +274 -0
  246. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +24 -0
  247. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +3 -0
  248. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +238 -0
  249. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +224 -0
  250. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +283 -0
  251. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +274 -0
  252. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +24 -0
  253. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +3 -0
  254. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +238 -0
  255. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +224 -0
  256. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +283 -0
  257. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +274 -0
  258. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +24 -0
  259. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +3 -0
  260. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +238 -0
  261. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +224 -0
  262. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +283 -0
  263. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +274 -0
  264. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +24 -0
  265. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +3 -0
  266. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +238 -0
  267. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +224 -0
  268. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +283 -0
  269. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +274 -0
  270. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +24 -0
  271. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/layout.tsx +3 -0
  272. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/page.tsx +238 -0
  273. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/settings/page.tsx +224 -0
  274. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/app/apps/[appId]/threads/[threadId]/page.tsx +283 -0
  275. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components/apps-table.tsx +274 -0
  276. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/components.json +24 -0
  277. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +65 -0
  278. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +34 -0
  279. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +65 -0
  280. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +34 -0
  281. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +65 -0
  282. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +34 -0
  283. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +65 -0
  284. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +34 -0
  285. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +65 -0
  286. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +34 -0
  287. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +65 -0
  288. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +34 -0
  289. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/package.json +65 -0
  290. package/dist/standalone/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +34 -0
  291. package/dist/standalone/dist/standalone/dist/standalone/package.json +65 -0
  292. package/dist/standalone/dist/standalone/dist/standalone/tsconfig.json +34 -0
  293. package/dist/standalone/dist/standalone/package.json +65 -0
  294. package/dist/standalone/dist/standalone/tsconfig.json +34 -0
  295. package/dist/standalone/package.json +65 -0
  296. package/dist/standalone/public/file.svg +1 -0
  297. package/dist/standalone/public/globe.svg +1 -0
  298. package/dist/standalone/public/next.svg +1 -0
  299. package/dist/standalone/public/vercel.svg +1 -0
  300. package/dist/standalone/public/window.svg +1 -0
  301. package/dist/standalone/server.js +44 -0
  302. package/dist/standalone/tsconfig.json +34 -0
  303. package/package.json +65 -0
@@ -0,0 +1,1912 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from "node:module";
3
+ var __create = Object.create;
4
+ var __getProtoOf = Object.getPrototypeOf;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __toESM = (mod, isNodeMode, target) => {
9
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
10
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
11
+ for (let key of __getOwnPropNames(mod))
12
+ if (!__hasOwnProp.call(to, key))
13
+ __defProp(to, key, {
14
+ get: () => mod[key],
15
+ enumerable: true
16
+ });
17
+ return to;
18
+ };
19
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
20
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
21
+
22
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/error.js
23
+ var require_error = __commonJS((exports) => {
24
+ class CommanderError extends Error {
25
+ constructor(exitCode, code, message) {
26
+ super(message);
27
+ Error.captureStackTrace(this, this.constructor);
28
+ this.name = this.constructor.name;
29
+ this.code = code;
30
+ this.exitCode = exitCode;
31
+ this.nestedError = undefined;
32
+ }
33
+ }
34
+
35
+ class InvalidArgumentError extends CommanderError {
36
+ constructor(message) {
37
+ super(1, "commander.invalidArgument", message);
38
+ Error.captureStackTrace(this, this.constructor);
39
+ this.name = this.constructor.name;
40
+ }
41
+ }
42
+ exports.CommanderError = CommanderError;
43
+ exports.InvalidArgumentError = InvalidArgumentError;
44
+ });
45
+
46
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/argument.js
47
+ var require_argument = __commonJS((exports) => {
48
+ var { InvalidArgumentError } = require_error();
49
+
50
+ class Argument {
51
+ constructor(name, description) {
52
+ this.description = description || "";
53
+ this.variadic = false;
54
+ this.parseArg = undefined;
55
+ this.defaultValue = undefined;
56
+ this.defaultValueDescription = undefined;
57
+ this.argChoices = undefined;
58
+ switch (name[0]) {
59
+ case "<":
60
+ this.required = true;
61
+ this._name = name.slice(1, -1);
62
+ break;
63
+ case "[":
64
+ this.required = false;
65
+ this._name = name.slice(1, -1);
66
+ break;
67
+ default:
68
+ this.required = true;
69
+ this._name = name;
70
+ break;
71
+ }
72
+ if (this._name.length > 3 && this._name.slice(-3) === "...") {
73
+ this.variadic = true;
74
+ this._name = this._name.slice(0, -3);
75
+ }
76
+ }
77
+ name() {
78
+ return this._name;
79
+ }
80
+ _concatValue(value, previous) {
81
+ if (previous === this.defaultValue || !Array.isArray(previous)) {
82
+ return [value];
83
+ }
84
+ return previous.concat(value);
85
+ }
86
+ default(value, description) {
87
+ this.defaultValue = value;
88
+ this.defaultValueDescription = description;
89
+ return this;
90
+ }
91
+ argParser(fn) {
92
+ this.parseArg = fn;
93
+ return this;
94
+ }
95
+ choices(values) {
96
+ this.argChoices = values.slice();
97
+ this.parseArg = (arg, previous) => {
98
+ if (!this.argChoices.includes(arg)) {
99
+ throw new InvalidArgumentError(`Allowed choices are ${this.argChoices.join(", ")}.`);
100
+ }
101
+ if (this.variadic) {
102
+ return this._concatValue(arg, previous);
103
+ }
104
+ return arg;
105
+ };
106
+ return this;
107
+ }
108
+ argRequired() {
109
+ this.required = true;
110
+ return this;
111
+ }
112
+ argOptional() {
113
+ this.required = false;
114
+ return this;
115
+ }
116
+ }
117
+ function humanReadableArgName(arg) {
118
+ const nameOutput = arg.name() + (arg.variadic === true ? "..." : "");
119
+ return arg.required ? "<" + nameOutput + ">" : "[" + nameOutput + "]";
120
+ }
121
+ exports.Argument = Argument;
122
+ exports.humanReadableArgName = humanReadableArgName;
123
+ });
124
+
125
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/help.js
126
+ var require_help = __commonJS((exports) => {
127
+ var { humanReadableArgName } = require_argument();
128
+
129
+ class Help {
130
+ constructor() {
131
+ this.helpWidth = undefined;
132
+ this.sortSubcommands = false;
133
+ this.sortOptions = false;
134
+ this.showGlobalOptions = false;
135
+ }
136
+ visibleCommands(cmd) {
137
+ const visibleCommands = cmd.commands.filter((cmd2) => !cmd2._hidden);
138
+ const helpCommand = cmd._getHelpCommand();
139
+ if (helpCommand && !helpCommand._hidden) {
140
+ visibleCommands.push(helpCommand);
141
+ }
142
+ if (this.sortSubcommands) {
143
+ visibleCommands.sort((a, b) => {
144
+ return a.name().localeCompare(b.name());
145
+ });
146
+ }
147
+ return visibleCommands;
148
+ }
149
+ compareOptions(a, b) {
150
+ const getSortKey = (option) => {
151
+ return option.short ? option.short.replace(/^-/, "") : option.long.replace(/^--/, "");
152
+ };
153
+ return getSortKey(a).localeCompare(getSortKey(b));
154
+ }
155
+ visibleOptions(cmd) {
156
+ const visibleOptions = cmd.options.filter((option) => !option.hidden);
157
+ const helpOption = cmd._getHelpOption();
158
+ if (helpOption && !helpOption.hidden) {
159
+ const removeShort = helpOption.short && cmd._findOption(helpOption.short);
160
+ const removeLong = helpOption.long && cmd._findOption(helpOption.long);
161
+ if (!removeShort && !removeLong) {
162
+ visibleOptions.push(helpOption);
163
+ } else if (helpOption.long && !removeLong) {
164
+ visibleOptions.push(cmd.createOption(helpOption.long, helpOption.description));
165
+ } else if (helpOption.short && !removeShort) {
166
+ visibleOptions.push(cmd.createOption(helpOption.short, helpOption.description));
167
+ }
168
+ }
169
+ if (this.sortOptions) {
170
+ visibleOptions.sort(this.compareOptions);
171
+ }
172
+ return visibleOptions;
173
+ }
174
+ visibleGlobalOptions(cmd) {
175
+ if (!this.showGlobalOptions)
176
+ return [];
177
+ const globalOptions = [];
178
+ for (let ancestorCmd = cmd.parent;ancestorCmd; ancestorCmd = ancestorCmd.parent) {
179
+ const visibleOptions = ancestorCmd.options.filter((option) => !option.hidden);
180
+ globalOptions.push(...visibleOptions);
181
+ }
182
+ if (this.sortOptions) {
183
+ globalOptions.sort(this.compareOptions);
184
+ }
185
+ return globalOptions;
186
+ }
187
+ visibleArguments(cmd) {
188
+ if (cmd._argsDescription) {
189
+ cmd.registeredArguments.forEach((argument) => {
190
+ argument.description = argument.description || cmd._argsDescription[argument.name()] || "";
191
+ });
192
+ }
193
+ if (cmd.registeredArguments.find((argument) => argument.description)) {
194
+ return cmd.registeredArguments;
195
+ }
196
+ return [];
197
+ }
198
+ subcommandTerm(cmd) {
199
+ const args = cmd.registeredArguments.map((arg) => humanReadableArgName(arg)).join(" ");
200
+ return cmd._name + (cmd._aliases[0] ? "|" + cmd._aliases[0] : "") + (cmd.options.length ? " [options]" : "") + (args ? " " + args : "");
201
+ }
202
+ optionTerm(option) {
203
+ return option.flags;
204
+ }
205
+ argumentTerm(argument) {
206
+ return argument.name();
207
+ }
208
+ longestSubcommandTermLength(cmd, helper) {
209
+ return helper.visibleCommands(cmd).reduce((max, command) => {
210
+ return Math.max(max, helper.subcommandTerm(command).length);
211
+ }, 0);
212
+ }
213
+ longestOptionTermLength(cmd, helper) {
214
+ return helper.visibleOptions(cmd).reduce((max, option) => {
215
+ return Math.max(max, helper.optionTerm(option).length);
216
+ }, 0);
217
+ }
218
+ longestGlobalOptionTermLength(cmd, helper) {
219
+ return helper.visibleGlobalOptions(cmd).reduce((max, option) => {
220
+ return Math.max(max, helper.optionTerm(option).length);
221
+ }, 0);
222
+ }
223
+ longestArgumentTermLength(cmd, helper) {
224
+ return helper.visibleArguments(cmd).reduce((max, argument) => {
225
+ return Math.max(max, helper.argumentTerm(argument).length);
226
+ }, 0);
227
+ }
228
+ commandUsage(cmd) {
229
+ let cmdName = cmd._name;
230
+ if (cmd._aliases[0]) {
231
+ cmdName = cmdName + "|" + cmd._aliases[0];
232
+ }
233
+ let ancestorCmdNames = "";
234
+ for (let ancestorCmd = cmd.parent;ancestorCmd; ancestorCmd = ancestorCmd.parent) {
235
+ ancestorCmdNames = ancestorCmd.name() + " " + ancestorCmdNames;
236
+ }
237
+ return ancestorCmdNames + cmdName + " " + cmd.usage();
238
+ }
239
+ commandDescription(cmd) {
240
+ return cmd.description();
241
+ }
242
+ subcommandDescription(cmd) {
243
+ return cmd.summary() || cmd.description();
244
+ }
245
+ optionDescription(option) {
246
+ const extraInfo = [];
247
+ if (option.argChoices) {
248
+ extraInfo.push(`choices: ${option.argChoices.map((choice) => JSON.stringify(choice)).join(", ")}`);
249
+ }
250
+ if (option.defaultValue !== undefined) {
251
+ const showDefault = option.required || option.optional || option.isBoolean() && typeof option.defaultValue === "boolean";
252
+ if (showDefault) {
253
+ extraInfo.push(`default: ${option.defaultValueDescription || JSON.stringify(option.defaultValue)}`);
254
+ }
255
+ }
256
+ if (option.presetArg !== undefined && option.optional) {
257
+ extraInfo.push(`preset: ${JSON.stringify(option.presetArg)}`);
258
+ }
259
+ if (option.envVar !== undefined) {
260
+ extraInfo.push(`env: ${option.envVar}`);
261
+ }
262
+ if (extraInfo.length > 0) {
263
+ return `${option.description} (${extraInfo.join(", ")})`;
264
+ }
265
+ return option.description;
266
+ }
267
+ argumentDescription(argument) {
268
+ const extraInfo = [];
269
+ if (argument.argChoices) {
270
+ extraInfo.push(`choices: ${argument.argChoices.map((choice) => JSON.stringify(choice)).join(", ")}`);
271
+ }
272
+ if (argument.defaultValue !== undefined) {
273
+ extraInfo.push(`default: ${argument.defaultValueDescription || JSON.stringify(argument.defaultValue)}`);
274
+ }
275
+ if (extraInfo.length > 0) {
276
+ const extraDescripton = `(${extraInfo.join(", ")})`;
277
+ if (argument.description) {
278
+ return `${argument.description} ${extraDescripton}`;
279
+ }
280
+ return extraDescripton;
281
+ }
282
+ return argument.description;
283
+ }
284
+ formatHelp(cmd, helper) {
285
+ const termWidth = helper.padWidth(cmd, helper);
286
+ const helpWidth = helper.helpWidth || 80;
287
+ const itemIndentWidth = 2;
288
+ const itemSeparatorWidth = 2;
289
+ function formatItem(term, description) {
290
+ if (description) {
291
+ const fullText = `${term.padEnd(termWidth + itemSeparatorWidth)}${description}`;
292
+ return helper.wrap(fullText, helpWidth - itemIndentWidth, termWidth + itemSeparatorWidth);
293
+ }
294
+ return term;
295
+ }
296
+ function formatList(textArray) {
297
+ return textArray.join(`
298
+ `).replace(/^/gm, " ".repeat(itemIndentWidth));
299
+ }
300
+ let output = [`Usage: ${helper.commandUsage(cmd)}`, ""];
301
+ const commandDescription = helper.commandDescription(cmd);
302
+ if (commandDescription.length > 0) {
303
+ output = output.concat([
304
+ helper.wrap(commandDescription, helpWidth, 0),
305
+ ""
306
+ ]);
307
+ }
308
+ const argumentList = helper.visibleArguments(cmd).map((argument) => {
309
+ return formatItem(helper.argumentTerm(argument), helper.argumentDescription(argument));
310
+ });
311
+ if (argumentList.length > 0) {
312
+ output = output.concat(["Arguments:", formatList(argumentList), ""]);
313
+ }
314
+ const optionList = helper.visibleOptions(cmd).map((option) => {
315
+ return formatItem(helper.optionTerm(option), helper.optionDescription(option));
316
+ });
317
+ if (optionList.length > 0) {
318
+ output = output.concat(["Options:", formatList(optionList), ""]);
319
+ }
320
+ if (this.showGlobalOptions) {
321
+ const globalOptionList = helper.visibleGlobalOptions(cmd).map((option) => {
322
+ return formatItem(helper.optionTerm(option), helper.optionDescription(option));
323
+ });
324
+ if (globalOptionList.length > 0) {
325
+ output = output.concat([
326
+ "Global Options:",
327
+ formatList(globalOptionList),
328
+ ""
329
+ ]);
330
+ }
331
+ }
332
+ const commandList = helper.visibleCommands(cmd).map((cmd2) => {
333
+ return formatItem(helper.subcommandTerm(cmd2), helper.subcommandDescription(cmd2));
334
+ });
335
+ if (commandList.length > 0) {
336
+ output = output.concat(["Commands:", formatList(commandList), ""]);
337
+ }
338
+ return output.join(`
339
+ `);
340
+ }
341
+ padWidth(cmd, helper) {
342
+ return Math.max(helper.longestOptionTermLength(cmd, helper), helper.longestGlobalOptionTermLength(cmd, helper), helper.longestSubcommandTermLength(cmd, helper), helper.longestArgumentTermLength(cmd, helper));
343
+ }
344
+ wrap(str, width, indent, minColumnWidth = 40) {
345
+ const indents = " \\f\\t\\v   -    \uFEFF";
346
+ const manualIndent = new RegExp(`[\\n][${indents}]+`);
347
+ if (str.match(manualIndent))
348
+ return str;
349
+ const columnWidth = width - indent;
350
+ if (columnWidth < minColumnWidth)
351
+ return str;
352
+ const leadingStr = str.slice(0, indent);
353
+ const columnText = str.slice(indent).replace(`\r
354
+ `, `
355
+ `);
356
+ const indentString = " ".repeat(indent);
357
+ const zeroWidthSpace = "​";
358
+ const breaks = `\\s${zeroWidthSpace}`;
359
+ const regex = new RegExp(`
360
+ |.{1,${columnWidth - 1}}([${breaks}]|$)|[^${breaks}]+?([${breaks}]|$)`, "g");
361
+ const lines = columnText.match(regex) || [];
362
+ return leadingStr + lines.map((line, i) => {
363
+ if (line === `
364
+ `)
365
+ return "";
366
+ return (i > 0 ? indentString : "") + line.trimEnd();
367
+ }).join(`
368
+ `);
369
+ }
370
+ }
371
+ exports.Help = Help;
372
+ });
373
+
374
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/option.js
375
+ var require_option = __commonJS((exports) => {
376
+ var { InvalidArgumentError } = require_error();
377
+
378
+ class Option {
379
+ constructor(flags, description) {
380
+ this.flags = flags;
381
+ this.description = description || "";
382
+ this.required = flags.includes("<");
383
+ this.optional = flags.includes("[");
384
+ this.variadic = /\w\.\.\.[>\]]$/.test(flags);
385
+ this.mandatory = false;
386
+ const optionFlags = splitOptionFlags(flags);
387
+ this.short = optionFlags.shortFlag;
388
+ this.long = optionFlags.longFlag;
389
+ this.negate = false;
390
+ if (this.long) {
391
+ this.negate = this.long.startsWith("--no-");
392
+ }
393
+ this.defaultValue = undefined;
394
+ this.defaultValueDescription = undefined;
395
+ this.presetArg = undefined;
396
+ this.envVar = undefined;
397
+ this.parseArg = undefined;
398
+ this.hidden = false;
399
+ this.argChoices = undefined;
400
+ this.conflictsWith = [];
401
+ this.implied = undefined;
402
+ }
403
+ default(value, description) {
404
+ this.defaultValue = value;
405
+ this.defaultValueDescription = description;
406
+ return this;
407
+ }
408
+ preset(arg) {
409
+ this.presetArg = arg;
410
+ return this;
411
+ }
412
+ conflicts(names) {
413
+ this.conflictsWith = this.conflictsWith.concat(names);
414
+ return this;
415
+ }
416
+ implies(impliedOptionValues) {
417
+ let newImplied = impliedOptionValues;
418
+ if (typeof impliedOptionValues === "string") {
419
+ newImplied = { [impliedOptionValues]: true };
420
+ }
421
+ this.implied = Object.assign(this.implied || {}, newImplied);
422
+ return this;
423
+ }
424
+ env(name) {
425
+ this.envVar = name;
426
+ return this;
427
+ }
428
+ argParser(fn) {
429
+ this.parseArg = fn;
430
+ return this;
431
+ }
432
+ makeOptionMandatory(mandatory = true) {
433
+ this.mandatory = !!mandatory;
434
+ return this;
435
+ }
436
+ hideHelp(hide = true) {
437
+ this.hidden = !!hide;
438
+ return this;
439
+ }
440
+ _concatValue(value, previous) {
441
+ if (previous === this.defaultValue || !Array.isArray(previous)) {
442
+ return [value];
443
+ }
444
+ return previous.concat(value);
445
+ }
446
+ choices(values) {
447
+ this.argChoices = values.slice();
448
+ this.parseArg = (arg, previous) => {
449
+ if (!this.argChoices.includes(arg)) {
450
+ throw new InvalidArgumentError(`Allowed choices are ${this.argChoices.join(", ")}.`);
451
+ }
452
+ if (this.variadic) {
453
+ return this._concatValue(arg, previous);
454
+ }
455
+ return arg;
456
+ };
457
+ return this;
458
+ }
459
+ name() {
460
+ if (this.long) {
461
+ return this.long.replace(/^--/, "");
462
+ }
463
+ return this.short.replace(/^-/, "");
464
+ }
465
+ attributeName() {
466
+ return camelcase(this.name().replace(/^no-/, ""));
467
+ }
468
+ is(arg) {
469
+ return this.short === arg || this.long === arg;
470
+ }
471
+ isBoolean() {
472
+ return !this.required && !this.optional && !this.negate;
473
+ }
474
+ }
475
+
476
+ class DualOptions {
477
+ constructor(options) {
478
+ this.positiveOptions = new Map;
479
+ this.negativeOptions = new Map;
480
+ this.dualOptions = new Set;
481
+ options.forEach((option) => {
482
+ if (option.negate) {
483
+ this.negativeOptions.set(option.attributeName(), option);
484
+ } else {
485
+ this.positiveOptions.set(option.attributeName(), option);
486
+ }
487
+ });
488
+ this.negativeOptions.forEach((value, key) => {
489
+ if (this.positiveOptions.has(key)) {
490
+ this.dualOptions.add(key);
491
+ }
492
+ });
493
+ }
494
+ valueFromOption(value, option) {
495
+ const optionKey = option.attributeName();
496
+ if (!this.dualOptions.has(optionKey))
497
+ return true;
498
+ const preset = this.negativeOptions.get(optionKey).presetArg;
499
+ const negativeValue = preset !== undefined ? preset : false;
500
+ return option.negate === (negativeValue === value);
501
+ }
502
+ }
503
+ function camelcase(str) {
504
+ return str.split("-").reduce((str2, word) => {
505
+ return str2 + word[0].toUpperCase() + word.slice(1);
506
+ });
507
+ }
508
+ function splitOptionFlags(flags) {
509
+ let shortFlag;
510
+ let longFlag;
511
+ const flagParts = flags.split(/[ |,]+/);
512
+ if (flagParts.length > 1 && !/^[[<]/.test(flagParts[1]))
513
+ shortFlag = flagParts.shift();
514
+ longFlag = flagParts.shift();
515
+ if (!shortFlag && /^-[^-]$/.test(longFlag)) {
516
+ shortFlag = longFlag;
517
+ longFlag = undefined;
518
+ }
519
+ return { shortFlag, longFlag };
520
+ }
521
+ exports.Option = Option;
522
+ exports.DualOptions = DualOptions;
523
+ });
524
+
525
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/suggestSimilar.js
526
+ var require_suggestSimilar = __commonJS((exports) => {
527
+ var maxDistance = 3;
528
+ function editDistance(a, b) {
529
+ if (Math.abs(a.length - b.length) > maxDistance)
530
+ return Math.max(a.length, b.length);
531
+ const d = [];
532
+ for (let i = 0;i <= a.length; i++) {
533
+ d[i] = [i];
534
+ }
535
+ for (let j = 0;j <= b.length; j++) {
536
+ d[0][j] = j;
537
+ }
538
+ for (let j = 1;j <= b.length; j++) {
539
+ for (let i = 1;i <= a.length; i++) {
540
+ let cost = 1;
541
+ if (a[i - 1] === b[j - 1]) {
542
+ cost = 0;
543
+ } else {
544
+ cost = 1;
545
+ }
546
+ d[i][j] = Math.min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + cost);
547
+ if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {
548
+ d[i][j] = Math.min(d[i][j], d[i - 2][j - 2] + 1);
549
+ }
550
+ }
551
+ }
552
+ return d[a.length][b.length];
553
+ }
554
+ function suggestSimilar(word, candidates) {
555
+ if (!candidates || candidates.length === 0)
556
+ return "";
557
+ candidates = Array.from(new Set(candidates));
558
+ const searchingOptions = word.startsWith("--");
559
+ if (searchingOptions) {
560
+ word = word.slice(2);
561
+ candidates = candidates.map((candidate) => candidate.slice(2));
562
+ }
563
+ let similar = [];
564
+ let bestDistance = maxDistance;
565
+ const minSimilarity = 0.4;
566
+ candidates.forEach((candidate) => {
567
+ if (candidate.length <= 1)
568
+ return;
569
+ const distance = editDistance(word, candidate);
570
+ const length = Math.max(word.length, candidate.length);
571
+ const similarity = (length - distance) / length;
572
+ if (similarity > minSimilarity) {
573
+ if (distance < bestDistance) {
574
+ bestDistance = distance;
575
+ similar = [candidate];
576
+ } else if (distance === bestDistance) {
577
+ similar.push(candidate);
578
+ }
579
+ }
580
+ });
581
+ similar.sort((a, b) => a.localeCompare(b));
582
+ if (searchingOptions) {
583
+ similar = similar.map((candidate) => `--${candidate}`);
584
+ }
585
+ if (similar.length > 1) {
586
+ return `
587
+ (Did you mean one of ${similar.join(", ")}?)`;
588
+ }
589
+ if (similar.length === 1) {
590
+ return `
591
+ (Did you mean ${similar[0]}?)`;
592
+ }
593
+ return "";
594
+ }
595
+ exports.suggestSimilar = suggestSimilar;
596
+ });
597
+
598
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/command.js
599
+ var require_command = __commonJS((exports) => {
600
+ var EventEmitter = __require("node:events").EventEmitter;
601
+ var childProcess = __require("node:child_process");
602
+ var path = __require("node:path");
603
+ var fs = __require("node:fs");
604
+ var process2 = __require("node:process");
605
+ var { Argument, humanReadableArgName } = require_argument();
606
+ var { CommanderError } = require_error();
607
+ var { Help } = require_help();
608
+ var { Option, DualOptions } = require_option();
609
+ var { suggestSimilar } = require_suggestSimilar();
610
+
611
+ class Command extends EventEmitter {
612
+ constructor(name) {
613
+ super();
614
+ this.commands = [];
615
+ this.options = [];
616
+ this.parent = null;
617
+ this._allowUnknownOption = false;
618
+ this._allowExcessArguments = true;
619
+ this.registeredArguments = [];
620
+ this._args = this.registeredArguments;
621
+ this.args = [];
622
+ this.rawArgs = [];
623
+ this.processedArgs = [];
624
+ this._scriptPath = null;
625
+ this._name = name || "";
626
+ this._optionValues = {};
627
+ this._optionValueSources = {};
628
+ this._storeOptionsAsProperties = false;
629
+ this._actionHandler = null;
630
+ this._executableHandler = false;
631
+ this._executableFile = null;
632
+ this._executableDir = null;
633
+ this._defaultCommandName = null;
634
+ this._exitCallback = null;
635
+ this._aliases = [];
636
+ this._combineFlagAndOptionalValue = true;
637
+ this._description = "";
638
+ this._summary = "";
639
+ this._argsDescription = undefined;
640
+ this._enablePositionalOptions = false;
641
+ this._passThroughOptions = false;
642
+ this._lifeCycleHooks = {};
643
+ this._showHelpAfterError = false;
644
+ this._showSuggestionAfterError = true;
645
+ this._outputConfiguration = {
646
+ writeOut: (str) => process2.stdout.write(str),
647
+ writeErr: (str) => process2.stderr.write(str),
648
+ getOutHelpWidth: () => process2.stdout.isTTY ? process2.stdout.columns : undefined,
649
+ getErrHelpWidth: () => process2.stderr.isTTY ? process2.stderr.columns : undefined,
650
+ outputError: (str, write) => write(str)
651
+ };
652
+ this._hidden = false;
653
+ this._helpOption = undefined;
654
+ this._addImplicitHelpCommand = undefined;
655
+ this._helpCommand = undefined;
656
+ this._helpConfiguration = {};
657
+ }
658
+ copyInheritedSettings(sourceCommand) {
659
+ this._outputConfiguration = sourceCommand._outputConfiguration;
660
+ this._helpOption = sourceCommand._helpOption;
661
+ this._helpCommand = sourceCommand._helpCommand;
662
+ this._helpConfiguration = sourceCommand._helpConfiguration;
663
+ this._exitCallback = sourceCommand._exitCallback;
664
+ this._storeOptionsAsProperties = sourceCommand._storeOptionsAsProperties;
665
+ this._combineFlagAndOptionalValue = sourceCommand._combineFlagAndOptionalValue;
666
+ this._allowExcessArguments = sourceCommand._allowExcessArguments;
667
+ this._enablePositionalOptions = sourceCommand._enablePositionalOptions;
668
+ this._showHelpAfterError = sourceCommand._showHelpAfterError;
669
+ this._showSuggestionAfterError = sourceCommand._showSuggestionAfterError;
670
+ return this;
671
+ }
672
+ _getCommandAndAncestors() {
673
+ const result = [];
674
+ for (let command = this;command; command = command.parent) {
675
+ result.push(command);
676
+ }
677
+ return result;
678
+ }
679
+ command(nameAndArgs, actionOptsOrExecDesc, execOpts) {
680
+ let desc = actionOptsOrExecDesc;
681
+ let opts = execOpts;
682
+ if (typeof desc === "object" && desc !== null) {
683
+ opts = desc;
684
+ desc = null;
685
+ }
686
+ opts = opts || {};
687
+ const [, name, args] = nameAndArgs.match(/([^ ]+) *(.*)/);
688
+ const cmd = this.createCommand(name);
689
+ if (desc) {
690
+ cmd.description(desc);
691
+ cmd._executableHandler = true;
692
+ }
693
+ if (opts.isDefault)
694
+ this._defaultCommandName = cmd._name;
695
+ cmd._hidden = !!(opts.noHelp || opts.hidden);
696
+ cmd._executableFile = opts.executableFile || null;
697
+ if (args)
698
+ cmd.arguments(args);
699
+ this._registerCommand(cmd);
700
+ cmd.parent = this;
701
+ cmd.copyInheritedSettings(this);
702
+ if (desc)
703
+ return this;
704
+ return cmd;
705
+ }
706
+ createCommand(name) {
707
+ return new Command(name);
708
+ }
709
+ createHelp() {
710
+ return Object.assign(new Help, this.configureHelp());
711
+ }
712
+ configureHelp(configuration) {
713
+ if (configuration === undefined)
714
+ return this._helpConfiguration;
715
+ this._helpConfiguration = configuration;
716
+ return this;
717
+ }
718
+ configureOutput(configuration) {
719
+ if (configuration === undefined)
720
+ return this._outputConfiguration;
721
+ Object.assign(this._outputConfiguration, configuration);
722
+ return this;
723
+ }
724
+ showHelpAfterError(displayHelp = true) {
725
+ if (typeof displayHelp !== "string")
726
+ displayHelp = !!displayHelp;
727
+ this._showHelpAfterError = displayHelp;
728
+ return this;
729
+ }
730
+ showSuggestionAfterError(displaySuggestion = true) {
731
+ this._showSuggestionAfterError = !!displaySuggestion;
732
+ return this;
733
+ }
734
+ addCommand(cmd, opts) {
735
+ if (!cmd._name) {
736
+ throw new Error(`Command passed to .addCommand() must have a name
737
+ - specify the name in Command constructor or using .name()`);
738
+ }
739
+ opts = opts || {};
740
+ if (opts.isDefault)
741
+ this._defaultCommandName = cmd._name;
742
+ if (opts.noHelp || opts.hidden)
743
+ cmd._hidden = true;
744
+ this._registerCommand(cmd);
745
+ cmd.parent = this;
746
+ cmd._checkForBrokenPassThrough();
747
+ return this;
748
+ }
749
+ createArgument(name, description) {
750
+ return new Argument(name, description);
751
+ }
752
+ argument(name, description, fn, defaultValue) {
753
+ const argument = this.createArgument(name, description);
754
+ if (typeof fn === "function") {
755
+ argument.default(defaultValue).argParser(fn);
756
+ } else {
757
+ argument.default(fn);
758
+ }
759
+ this.addArgument(argument);
760
+ return this;
761
+ }
762
+ arguments(names) {
763
+ names.trim().split(/ +/).forEach((detail) => {
764
+ this.argument(detail);
765
+ });
766
+ return this;
767
+ }
768
+ addArgument(argument) {
769
+ const previousArgument = this.registeredArguments.slice(-1)[0];
770
+ if (previousArgument && previousArgument.variadic) {
771
+ throw new Error(`only the last argument can be variadic '${previousArgument.name()}'`);
772
+ }
773
+ if (argument.required && argument.defaultValue !== undefined && argument.parseArg === undefined) {
774
+ throw new Error(`a default value for a required argument is never used: '${argument.name()}'`);
775
+ }
776
+ this.registeredArguments.push(argument);
777
+ return this;
778
+ }
779
+ helpCommand(enableOrNameAndArgs, description) {
780
+ if (typeof enableOrNameAndArgs === "boolean") {
781
+ this._addImplicitHelpCommand = enableOrNameAndArgs;
782
+ return this;
783
+ }
784
+ enableOrNameAndArgs = enableOrNameAndArgs ?? "help [command]";
785
+ const [, helpName, helpArgs] = enableOrNameAndArgs.match(/([^ ]+) *(.*)/);
786
+ const helpDescription = description ?? "display help for command";
787
+ const helpCommand = this.createCommand(helpName);
788
+ helpCommand.helpOption(false);
789
+ if (helpArgs)
790
+ helpCommand.arguments(helpArgs);
791
+ if (helpDescription)
792
+ helpCommand.description(helpDescription);
793
+ this._addImplicitHelpCommand = true;
794
+ this._helpCommand = helpCommand;
795
+ return this;
796
+ }
797
+ addHelpCommand(helpCommand, deprecatedDescription) {
798
+ if (typeof helpCommand !== "object") {
799
+ this.helpCommand(helpCommand, deprecatedDescription);
800
+ return this;
801
+ }
802
+ this._addImplicitHelpCommand = true;
803
+ this._helpCommand = helpCommand;
804
+ return this;
805
+ }
806
+ _getHelpCommand() {
807
+ const hasImplicitHelpCommand = this._addImplicitHelpCommand ?? (this.commands.length && !this._actionHandler && !this._findCommand("help"));
808
+ if (hasImplicitHelpCommand) {
809
+ if (this._helpCommand === undefined) {
810
+ this.helpCommand(undefined, undefined);
811
+ }
812
+ return this._helpCommand;
813
+ }
814
+ return null;
815
+ }
816
+ hook(event, listener) {
817
+ const allowedValues = ["preSubcommand", "preAction", "postAction"];
818
+ if (!allowedValues.includes(event)) {
819
+ throw new Error(`Unexpected value for event passed to hook : '${event}'.
820
+ Expecting one of '${allowedValues.join("', '")}'`);
821
+ }
822
+ if (this._lifeCycleHooks[event]) {
823
+ this._lifeCycleHooks[event].push(listener);
824
+ } else {
825
+ this._lifeCycleHooks[event] = [listener];
826
+ }
827
+ return this;
828
+ }
829
+ exitOverride(fn) {
830
+ if (fn) {
831
+ this._exitCallback = fn;
832
+ } else {
833
+ this._exitCallback = (err) => {
834
+ if (err.code !== "commander.executeSubCommandAsync") {
835
+ throw err;
836
+ } else {}
837
+ };
838
+ }
839
+ return this;
840
+ }
841
+ _exit(exitCode, code, message) {
842
+ if (this._exitCallback) {
843
+ this._exitCallback(new CommanderError(exitCode, code, message));
844
+ }
845
+ process2.exit(exitCode);
846
+ }
847
+ action(fn) {
848
+ const listener = (args) => {
849
+ const expectedArgsCount = this.registeredArguments.length;
850
+ const actionArgs = args.slice(0, expectedArgsCount);
851
+ if (this._storeOptionsAsProperties) {
852
+ actionArgs[expectedArgsCount] = this;
853
+ } else {
854
+ actionArgs[expectedArgsCount] = this.opts();
855
+ }
856
+ actionArgs.push(this);
857
+ return fn.apply(this, actionArgs);
858
+ };
859
+ this._actionHandler = listener;
860
+ return this;
861
+ }
862
+ createOption(flags, description) {
863
+ return new Option(flags, description);
864
+ }
865
+ _callParseArg(target, value, previous, invalidArgumentMessage) {
866
+ try {
867
+ return target.parseArg(value, previous);
868
+ } catch (err) {
869
+ if (err.code === "commander.invalidArgument") {
870
+ const message = `${invalidArgumentMessage} ${err.message}`;
871
+ this.error(message, { exitCode: err.exitCode, code: err.code });
872
+ }
873
+ throw err;
874
+ }
875
+ }
876
+ _registerOption(option) {
877
+ const matchingOption = option.short && this._findOption(option.short) || option.long && this._findOption(option.long);
878
+ if (matchingOption) {
879
+ const matchingFlag = option.long && this._findOption(option.long) ? option.long : option.short;
880
+ throw new Error(`Cannot add option '${option.flags}'${this._name && ` to command '${this._name}'`} due to conflicting flag '${matchingFlag}'
881
+ - already used by option '${matchingOption.flags}'`);
882
+ }
883
+ this.options.push(option);
884
+ }
885
+ _registerCommand(command) {
886
+ const knownBy = (cmd) => {
887
+ return [cmd.name()].concat(cmd.aliases());
888
+ };
889
+ const alreadyUsed = knownBy(command).find((name) => this._findCommand(name));
890
+ if (alreadyUsed) {
891
+ const existingCmd = knownBy(this._findCommand(alreadyUsed)).join("|");
892
+ const newCmd = knownBy(command).join("|");
893
+ throw new Error(`cannot add command '${newCmd}' as already have command '${existingCmd}'`);
894
+ }
895
+ this.commands.push(command);
896
+ }
897
+ addOption(option) {
898
+ this._registerOption(option);
899
+ const oname = option.name();
900
+ const name = option.attributeName();
901
+ if (option.negate) {
902
+ const positiveLongFlag = option.long.replace(/^--no-/, "--");
903
+ if (!this._findOption(positiveLongFlag)) {
904
+ this.setOptionValueWithSource(name, option.defaultValue === undefined ? true : option.defaultValue, "default");
905
+ }
906
+ } else if (option.defaultValue !== undefined) {
907
+ this.setOptionValueWithSource(name, option.defaultValue, "default");
908
+ }
909
+ const handleOptionValue = (val, invalidValueMessage, valueSource) => {
910
+ if (val == null && option.presetArg !== undefined) {
911
+ val = option.presetArg;
912
+ }
913
+ const oldValue = this.getOptionValue(name);
914
+ if (val !== null && option.parseArg) {
915
+ val = this._callParseArg(option, val, oldValue, invalidValueMessage);
916
+ } else if (val !== null && option.variadic) {
917
+ val = option._concatValue(val, oldValue);
918
+ }
919
+ if (val == null) {
920
+ if (option.negate) {
921
+ val = false;
922
+ } else if (option.isBoolean() || option.optional) {
923
+ val = true;
924
+ } else {
925
+ val = "";
926
+ }
927
+ }
928
+ this.setOptionValueWithSource(name, val, valueSource);
929
+ };
930
+ this.on("option:" + oname, (val) => {
931
+ const invalidValueMessage = `error: option '${option.flags}' argument '${val}' is invalid.`;
932
+ handleOptionValue(val, invalidValueMessage, "cli");
933
+ });
934
+ if (option.envVar) {
935
+ this.on("optionEnv:" + oname, (val) => {
936
+ const invalidValueMessage = `error: option '${option.flags}' value '${val}' from env '${option.envVar}' is invalid.`;
937
+ handleOptionValue(val, invalidValueMessage, "env");
938
+ });
939
+ }
940
+ return this;
941
+ }
942
+ _optionEx(config, flags, description, fn, defaultValue) {
943
+ if (typeof flags === "object" && flags instanceof Option) {
944
+ throw new Error("To add an Option object use addOption() instead of option() or requiredOption()");
945
+ }
946
+ const option = this.createOption(flags, description);
947
+ option.makeOptionMandatory(!!config.mandatory);
948
+ if (typeof fn === "function") {
949
+ option.default(defaultValue).argParser(fn);
950
+ } else if (fn instanceof RegExp) {
951
+ const regex = fn;
952
+ fn = (val, def) => {
953
+ const m = regex.exec(val);
954
+ return m ? m[0] : def;
955
+ };
956
+ option.default(defaultValue).argParser(fn);
957
+ } else {
958
+ option.default(fn);
959
+ }
960
+ return this.addOption(option);
961
+ }
962
+ option(flags, description, parseArg, defaultValue) {
963
+ return this._optionEx({}, flags, description, parseArg, defaultValue);
964
+ }
965
+ requiredOption(flags, description, parseArg, defaultValue) {
966
+ return this._optionEx({ mandatory: true }, flags, description, parseArg, defaultValue);
967
+ }
968
+ combineFlagAndOptionalValue(combine = true) {
969
+ this._combineFlagAndOptionalValue = !!combine;
970
+ return this;
971
+ }
972
+ allowUnknownOption(allowUnknown = true) {
973
+ this._allowUnknownOption = !!allowUnknown;
974
+ return this;
975
+ }
976
+ allowExcessArguments(allowExcess = true) {
977
+ this._allowExcessArguments = !!allowExcess;
978
+ return this;
979
+ }
980
+ enablePositionalOptions(positional = true) {
981
+ this._enablePositionalOptions = !!positional;
982
+ return this;
983
+ }
984
+ passThroughOptions(passThrough = true) {
985
+ this._passThroughOptions = !!passThrough;
986
+ this._checkForBrokenPassThrough();
987
+ return this;
988
+ }
989
+ _checkForBrokenPassThrough() {
990
+ if (this.parent && this._passThroughOptions && !this.parent._enablePositionalOptions) {
991
+ throw new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`);
992
+ }
993
+ }
994
+ storeOptionsAsProperties(storeAsProperties = true) {
995
+ if (this.options.length) {
996
+ throw new Error("call .storeOptionsAsProperties() before adding options");
997
+ }
998
+ if (Object.keys(this._optionValues).length) {
999
+ throw new Error("call .storeOptionsAsProperties() before setting option values");
1000
+ }
1001
+ this._storeOptionsAsProperties = !!storeAsProperties;
1002
+ return this;
1003
+ }
1004
+ getOptionValue(key) {
1005
+ if (this._storeOptionsAsProperties) {
1006
+ return this[key];
1007
+ }
1008
+ return this._optionValues[key];
1009
+ }
1010
+ setOptionValue(key, value) {
1011
+ return this.setOptionValueWithSource(key, value, undefined);
1012
+ }
1013
+ setOptionValueWithSource(key, value, source) {
1014
+ if (this._storeOptionsAsProperties) {
1015
+ this[key] = value;
1016
+ } else {
1017
+ this._optionValues[key] = value;
1018
+ }
1019
+ this._optionValueSources[key] = source;
1020
+ return this;
1021
+ }
1022
+ getOptionValueSource(key) {
1023
+ return this._optionValueSources[key];
1024
+ }
1025
+ getOptionValueSourceWithGlobals(key) {
1026
+ let source;
1027
+ this._getCommandAndAncestors().forEach((cmd) => {
1028
+ if (cmd.getOptionValueSource(key) !== undefined) {
1029
+ source = cmd.getOptionValueSource(key);
1030
+ }
1031
+ });
1032
+ return source;
1033
+ }
1034
+ _prepareUserArgs(argv, parseOptions) {
1035
+ if (argv !== undefined && !Array.isArray(argv)) {
1036
+ throw new Error("first parameter to parse must be array or undefined");
1037
+ }
1038
+ parseOptions = parseOptions || {};
1039
+ if (argv === undefined && parseOptions.from === undefined) {
1040
+ if (process2.versions?.electron) {
1041
+ parseOptions.from = "electron";
1042
+ }
1043
+ const execArgv = process2.execArgv ?? [];
1044
+ if (execArgv.includes("-e") || execArgv.includes("--eval") || execArgv.includes("-p") || execArgv.includes("--print")) {
1045
+ parseOptions.from = "eval";
1046
+ }
1047
+ }
1048
+ if (argv === undefined) {
1049
+ argv = process2.argv;
1050
+ }
1051
+ this.rawArgs = argv.slice();
1052
+ let userArgs;
1053
+ switch (parseOptions.from) {
1054
+ case undefined:
1055
+ case "node":
1056
+ this._scriptPath = argv[1];
1057
+ userArgs = argv.slice(2);
1058
+ break;
1059
+ case "electron":
1060
+ if (process2.defaultApp) {
1061
+ this._scriptPath = argv[1];
1062
+ userArgs = argv.slice(2);
1063
+ } else {
1064
+ userArgs = argv.slice(1);
1065
+ }
1066
+ break;
1067
+ case "user":
1068
+ userArgs = argv.slice(0);
1069
+ break;
1070
+ case "eval":
1071
+ userArgs = argv.slice(1);
1072
+ break;
1073
+ default:
1074
+ throw new Error(`unexpected parse option { from: '${parseOptions.from}' }`);
1075
+ }
1076
+ if (!this._name && this._scriptPath)
1077
+ this.nameFromFilename(this._scriptPath);
1078
+ this._name = this._name || "program";
1079
+ return userArgs;
1080
+ }
1081
+ parse(argv, parseOptions) {
1082
+ const userArgs = this._prepareUserArgs(argv, parseOptions);
1083
+ this._parseCommand([], userArgs);
1084
+ return this;
1085
+ }
1086
+ async parseAsync(argv, parseOptions) {
1087
+ const userArgs = this._prepareUserArgs(argv, parseOptions);
1088
+ await this._parseCommand([], userArgs);
1089
+ return this;
1090
+ }
1091
+ _executeSubCommand(subcommand, args) {
1092
+ args = args.slice();
1093
+ let launchWithNode = false;
1094
+ const sourceExt = [".js", ".ts", ".tsx", ".mjs", ".cjs"];
1095
+ function findFile(baseDir, baseName) {
1096
+ const localBin = path.resolve(baseDir, baseName);
1097
+ if (fs.existsSync(localBin))
1098
+ return localBin;
1099
+ if (sourceExt.includes(path.extname(baseName)))
1100
+ return;
1101
+ const foundExt = sourceExt.find((ext) => fs.existsSync(`${localBin}${ext}`));
1102
+ if (foundExt)
1103
+ return `${localBin}${foundExt}`;
1104
+ return;
1105
+ }
1106
+ this._checkForMissingMandatoryOptions();
1107
+ this._checkForConflictingOptions();
1108
+ let executableFile = subcommand._executableFile || `${this._name}-${subcommand._name}`;
1109
+ let executableDir = this._executableDir || "";
1110
+ if (this._scriptPath) {
1111
+ let resolvedScriptPath;
1112
+ try {
1113
+ resolvedScriptPath = fs.realpathSync(this._scriptPath);
1114
+ } catch (err) {
1115
+ resolvedScriptPath = this._scriptPath;
1116
+ }
1117
+ executableDir = path.resolve(path.dirname(resolvedScriptPath), executableDir);
1118
+ }
1119
+ if (executableDir) {
1120
+ let localFile = findFile(executableDir, executableFile);
1121
+ if (!localFile && !subcommand._executableFile && this._scriptPath) {
1122
+ const legacyName = path.basename(this._scriptPath, path.extname(this._scriptPath));
1123
+ if (legacyName !== this._name) {
1124
+ localFile = findFile(executableDir, `${legacyName}-${subcommand._name}`);
1125
+ }
1126
+ }
1127
+ executableFile = localFile || executableFile;
1128
+ }
1129
+ launchWithNode = sourceExt.includes(path.extname(executableFile));
1130
+ let proc;
1131
+ if (process2.platform !== "win32") {
1132
+ if (launchWithNode) {
1133
+ args.unshift(executableFile);
1134
+ args = incrementNodeInspectorPort(process2.execArgv).concat(args);
1135
+ proc = childProcess.spawn(process2.argv[0], args, { stdio: "inherit" });
1136
+ } else {
1137
+ proc = childProcess.spawn(executableFile, args, { stdio: "inherit" });
1138
+ }
1139
+ } else {
1140
+ args.unshift(executableFile);
1141
+ args = incrementNodeInspectorPort(process2.execArgv).concat(args);
1142
+ proc = childProcess.spawn(process2.execPath, args, { stdio: "inherit" });
1143
+ }
1144
+ if (!proc.killed) {
1145
+ const signals = ["SIGUSR1", "SIGUSR2", "SIGTERM", "SIGINT", "SIGHUP"];
1146
+ signals.forEach((signal) => {
1147
+ process2.on(signal, () => {
1148
+ if (proc.killed === false && proc.exitCode === null) {
1149
+ proc.kill(signal);
1150
+ }
1151
+ });
1152
+ });
1153
+ }
1154
+ const exitCallback = this._exitCallback;
1155
+ proc.on("close", (code) => {
1156
+ code = code ?? 1;
1157
+ if (!exitCallback) {
1158
+ process2.exit(code);
1159
+ } else {
1160
+ exitCallback(new CommanderError(code, "commander.executeSubCommandAsync", "(close)"));
1161
+ }
1162
+ });
1163
+ proc.on("error", (err) => {
1164
+ if (err.code === "ENOENT") {
1165
+ const executableDirMessage = executableDir ? `searched for local subcommand relative to directory '${executableDir}'` : "no directory for search for local subcommand, use .executableDir() to supply a custom directory";
1166
+ const executableMissing = `'${executableFile}' does not exist
1167
+ - if '${subcommand._name}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
1168
+ - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
1169
+ - ${executableDirMessage}`;
1170
+ throw new Error(executableMissing);
1171
+ } else if (err.code === "EACCES") {
1172
+ throw new Error(`'${executableFile}' not executable`);
1173
+ }
1174
+ if (!exitCallback) {
1175
+ process2.exit(1);
1176
+ } else {
1177
+ const wrappedError = new CommanderError(1, "commander.executeSubCommandAsync", "(error)");
1178
+ wrappedError.nestedError = err;
1179
+ exitCallback(wrappedError);
1180
+ }
1181
+ });
1182
+ this.runningCommand = proc;
1183
+ }
1184
+ _dispatchSubcommand(commandName, operands, unknown) {
1185
+ const subCommand = this._findCommand(commandName);
1186
+ if (!subCommand)
1187
+ this.help({ error: true });
1188
+ let promiseChain;
1189
+ promiseChain = this._chainOrCallSubCommandHook(promiseChain, subCommand, "preSubcommand");
1190
+ promiseChain = this._chainOrCall(promiseChain, () => {
1191
+ if (subCommand._executableHandler) {
1192
+ this._executeSubCommand(subCommand, operands.concat(unknown));
1193
+ } else {
1194
+ return subCommand._parseCommand(operands, unknown);
1195
+ }
1196
+ });
1197
+ return promiseChain;
1198
+ }
1199
+ _dispatchHelpCommand(subcommandName) {
1200
+ if (!subcommandName) {
1201
+ this.help();
1202
+ }
1203
+ const subCommand = this._findCommand(subcommandName);
1204
+ if (subCommand && !subCommand._executableHandler) {
1205
+ subCommand.help();
1206
+ }
1207
+ return this._dispatchSubcommand(subcommandName, [], [this._getHelpOption()?.long ?? this._getHelpOption()?.short ?? "--help"]);
1208
+ }
1209
+ _checkNumberOfArguments() {
1210
+ this.registeredArguments.forEach((arg, i) => {
1211
+ if (arg.required && this.args[i] == null) {
1212
+ this.missingArgument(arg.name());
1213
+ }
1214
+ });
1215
+ if (this.registeredArguments.length > 0 && this.registeredArguments[this.registeredArguments.length - 1].variadic) {
1216
+ return;
1217
+ }
1218
+ if (this.args.length > this.registeredArguments.length) {
1219
+ this._excessArguments(this.args);
1220
+ }
1221
+ }
1222
+ _processArguments() {
1223
+ const myParseArg = (argument, value, previous) => {
1224
+ let parsedValue = value;
1225
+ if (value !== null && argument.parseArg) {
1226
+ const invalidValueMessage = `error: command-argument value '${value}' is invalid for argument '${argument.name()}'.`;
1227
+ parsedValue = this._callParseArg(argument, value, previous, invalidValueMessage);
1228
+ }
1229
+ return parsedValue;
1230
+ };
1231
+ this._checkNumberOfArguments();
1232
+ const processedArgs = [];
1233
+ this.registeredArguments.forEach((declaredArg, index) => {
1234
+ let value = declaredArg.defaultValue;
1235
+ if (declaredArg.variadic) {
1236
+ if (index < this.args.length) {
1237
+ value = this.args.slice(index);
1238
+ if (declaredArg.parseArg) {
1239
+ value = value.reduce((processed, v) => {
1240
+ return myParseArg(declaredArg, v, processed);
1241
+ }, declaredArg.defaultValue);
1242
+ }
1243
+ } else if (value === undefined) {
1244
+ value = [];
1245
+ }
1246
+ } else if (index < this.args.length) {
1247
+ value = this.args[index];
1248
+ if (declaredArg.parseArg) {
1249
+ value = myParseArg(declaredArg, value, declaredArg.defaultValue);
1250
+ }
1251
+ }
1252
+ processedArgs[index] = value;
1253
+ });
1254
+ this.processedArgs = processedArgs;
1255
+ }
1256
+ _chainOrCall(promise, fn) {
1257
+ if (promise && promise.then && typeof promise.then === "function") {
1258
+ return promise.then(() => fn());
1259
+ }
1260
+ return fn();
1261
+ }
1262
+ _chainOrCallHooks(promise, event) {
1263
+ let result = promise;
1264
+ const hooks = [];
1265
+ this._getCommandAndAncestors().reverse().filter((cmd) => cmd._lifeCycleHooks[event] !== undefined).forEach((hookedCommand) => {
1266
+ hookedCommand._lifeCycleHooks[event].forEach((callback) => {
1267
+ hooks.push({ hookedCommand, callback });
1268
+ });
1269
+ });
1270
+ if (event === "postAction") {
1271
+ hooks.reverse();
1272
+ }
1273
+ hooks.forEach((hookDetail) => {
1274
+ result = this._chainOrCall(result, () => {
1275
+ return hookDetail.callback(hookDetail.hookedCommand, this);
1276
+ });
1277
+ });
1278
+ return result;
1279
+ }
1280
+ _chainOrCallSubCommandHook(promise, subCommand, event) {
1281
+ let result = promise;
1282
+ if (this._lifeCycleHooks[event] !== undefined) {
1283
+ this._lifeCycleHooks[event].forEach((hook) => {
1284
+ result = this._chainOrCall(result, () => {
1285
+ return hook(this, subCommand);
1286
+ });
1287
+ });
1288
+ }
1289
+ return result;
1290
+ }
1291
+ _parseCommand(operands, unknown) {
1292
+ const parsed = this.parseOptions(unknown);
1293
+ this._parseOptionsEnv();
1294
+ this._parseOptionsImplied();
1295
+ operands = operands.concat(parsed.operands);
1296
+ unknown = parsed.unknown;
1297
+ this.args = operands.concat(unknown);
1298
+ if (operands && this._findCommand(operands[0])) {
1299
+ return this._dispatchSubcommand(operands[0], operands.slice(1), unknown);
1300
+ }
1301
+ if (this._getHelpCommand() && operands[0] === this._getHelpCommand().name()) {
1302
+ return this._dispatchHelpCommand(operands[1]);
1303
+ }
1304
+ if (this._defaultCommandName) {
1305
+ this._outputHelpIfRequested(unknown);
1306
+ return this._dispatchSubcommand(this._defaultCommandName, operands, unknown);
1307
+ }
1308
+ if (this.commands.length && this.args.length === 0 && !this._actionHandler && !this._defaultCommandName) {
1309
+ this.help({ error: true });
1310
+ }
1311
+ this._outputHelpIfRequested(parsed.unknown);
1312
+ this._checkForMissingMandatoryOptions();
1313
+ this._checkForConflictingOptions();
1314
+ const checkForUnknownOptions = () => {
1315
+ if (parsed.unknown.length > 0) {
1316
+ this.unknownOption(parsed.unknown[0]);
1317
+ }
1318
+ };
1319
+ const commandEvent = `command:${this.name()}`;
1320
+ if (this._actionHandler) {
1321
+ checkForUnknownOptions();
1322
+ this._processArguments();
1323
+ let promiseChain;
1324
+ promiseChain = this._chainOrCallHooks(promiseChain, "preAction");
1325
+ promiseChain = this._chainOrCall(promiseChain, () => this._actionHandler(this.processedArgs));
1326
+ if (this.parent) {
1327
+ promiseChain = this._chainOrCall(promiseChain, () => {
1328
+ this.parent.emit(commandEvent, operands, unknown);
1329
+ });
1330
+ }
1331
+ promiseChain = this._chainOrCallHooks(promiseChain, "postAction");
1332
+ return promiseChain;
1333
+ }
1334
+ if (this.parent && this.parent.listenerCount(commandEvent)) {
1335
+ checkForUnknownOptions();
1336
+ this._processArguments();
1337
+ this.parent.emit(commandEvent, operands, unknown);
1338
+ } else if (operands.length) {
1339
+ if (this._findCommand("*")) {
1340
+ return this._dispatchSubcommand("*", operands, unknown);
1341
+ }
1342
+ if (this.listenerCount("command:*")) {
1343
+ this.emit("command:*", operands, unknown);
1344
+ } else if (this.commands.length) {
1345
+ this.unknownCommand();
1346
+ } else {
1347
+ checkForUnknownOptions();
1348
+ this._processArguments();
1349
+ }
1350
+ } else if (this.commands.length) {
1351
+ checkForUnknownOptions();
1352
+ this.help({ error: true });
1353
+ } else {
1354
+ checkForUnknownOptions();
1355
+ this._processArguments();
1356
+ }
1357
+ }
1358
+ _findCommand(name) {
1359
+ if (!name)
1360
+ return;
1361
+ return this.commands.find((cmd) => cmd._name === name || cmd._aliases.includes(name));
1362
+ }
1363
+ _findOption(arg) {
1364
+ return this.options.find((option) => option.is(arg));
1365
+ }
1366
+ _checkForMissingMandatoryOptions() {
1367
+ this._getCommandAndAncestors().forEach((cmd) => {
1368
+ cmd.options.forEach((anOption) => {
1369
+ if (anOption.mandatory && cmd.getOptionValue(anOption.attributeName()) === undefined) {
1370
+ cmd.missingMandatoryOptionValue(anOption);
1371
+ }
1372
+ });
1373
+ });
1374
+ }
1375
+ _checkForConflictingLocalOptions() {
1376
+ const definedNonDefaultOptions = this.options.filter((option) => {
1377
+ const optionKey = option.attributeName();
1378
+ if (this.getOptionValue(optionKey) === undefined) {
1379
+ return false;
1380
+ }
1381
+ return this.getOptionValueSource(optionKey) !== "default";
1382
+ });
1383
+ const optionsWithConflicting = definedNonDefaultOptions.filter((option) => option.conflictsWith.length > 0);
1384
+ optionsWithConflicting.forEach((option) => {
1385
+ const conflictingAndDefined = definedNonDefaultOptions.find((defined) => option.conflictsWith.includes(defined.attributeName()));
1386
+ if (conflictingAndDefined) {
1387
+ this._conflictingOption(option, conflictingAndDefined);
1388
+ }
1389
+ });
1390
+ }
1391
+ _checkForConflictingOptions() {
1392
+ this._getCommandAndAncestors().forEach((cmd) => {
1393
+ cmd._checkForConflictingLocalOptions();
1394
+ });
1395
+ }
1396
+ parseOptions(argv) {
1397
+ const operands = [];
1398
+ const unknown = [];
1399
+ let dest = operands;
1400
+ const args = argv.slice();
1401
+ function maybeOption(arg) {
1402
+ return arg.length > 1 && arg[0] === "-";
1403
+ }
1404
+ let activeVariadicOption = null;
1405
+ while (args.length) {
1406
+ const arg = args.shift();
1407
+ if (arg === "--") {
1408
+ if (dest === unknown)
1409
+ dest.push(arg);
1410
+ dest.push(...args);
1411
+ break;
1412
+ }
1413
+ if (activeVariadicOption && !maybeOption(arg)) {
1414
+ this.emit(`option:${activeVariadicOption.name()}`, arg);
1415
+ continue;
1416
+ }
1417
+ activeVariadicOption = null;
1418
+ if (maybeOption(arg)) {
1419
+ const option = this._findOption(arg);
1420
+ if (option) {
1421
+ if (option.required) {
1422
+ const value = args.shift();
1423
+ if (value === undefined)
1424
+ this.optionMissingArgument(option);
1425
+ this.emit(`option:${option.name()}`, value);
1426
+ } else if (option.optional) {
1427
+ let value = null;
1428
+ if (args.length > 0 && !maybeOption(args[0])) {
1429
+ value = args.shift();
1430
+ }
1431
+ this.emit(`option:${option.name()}`, value);
1432
+ } else {
1433
+ this.emit(`option:${option.name()}`);
1434
+ }
1435
+ activeVariadicOption = option.variadic ? option : null;
1436
+ continue;
1437
+ }
1438
+ }
1439
+ if (arg.length > 2 && arg[0] === "-" && arg[1] !== "-") {
1440
+ const option = this._findOption(`-${arg[1]}`);
1441
+ if (option) {
1442
+ if (option.required || option.optional && this._combineFlagAndOptionalValue) {
1443
+ this.emit(`option:${option.name()}`, arg.slice(2));
1444
+ } else {
1445
+ this.emit(`option:${option.name()}`);
1446
+ args.unshift(`-${arg.slice(2)}`);
1447
+ }
1448
+ continue;
1449
+ }
1450
+ }
1451
+ if (/^--[^=]+=/.test(arg)) {
1452
+ const index = arg.indexOf("=");
1453
+ const option = this._findOption(arg.slice(0, index));
1454
+ if (option && (option.required || option.optional)) {
1455
+ this.emit(`option:${option.name()}`, arg.slice(index + 1));
1456
+ continue;
1457
+ }
1458
+ }
1459
+ if (maybeOption(arg)) {
1460
+ dest = unknown;
1461
+ }
1462
+ if ((this._enablePositionalOptions || this._passThroughOptions) && operands.length === 0 && unknown.length === 0) {
1463
+ if (this._findCommand(arg)) {
1464
+ operands.push(arg);
1465
+ if (args.length > 0)
1466
+ unknown.push(...args);
1467
+ break;
1468
+ } else if (this._getHelpCommand() && arg === this._getHelpCommand().name()) {
1469
+ operands.push(arg);
1470
+ if (args.length > 0)
1471
+ operands.push(...args);
1472
+ break;
1473
+ } else if (this._defaultCommandName) {
1474
+ unknown.push(arg);
1475
+ if (args.length > 0)
1476
+ unknown.push(...args);
1477
+ break;
1478
+ }
1479
+ }
1480
+ if (this._passThroughOptions) {
1481
+ dest.push(arg);
1482
+ if (args.length > 0)
1483
+ dest.push(...args);
1484
+ break;
1485
+ }
1486
+ dest.push(arg);
1487
+ }
1488
+ return { operands, unknown };
1489
+ }
1490
+ opts() {
1491
+ if (this._storeOptionsAsProperties) {
1492
+ const result = {};
1493
+ const len = this.options.length;
1494
+ for (let i = 0;i < len; i++) {
1495
+ const key = this.options[i].attributeName();
1496
+ result[key] = key === this._versionOptionName ? this._version : this[key];
1497
+ }
1498
+ return result;
1499
+ }
1500
+ return this._optionValues;
1501
+ }
1502
+ optsWithGlobals() {
1503
+ return this._getCommandAndAncestors().reduce((combinedOptions, cmd) => Object.assign(combinedOptions, cmd.opts()), {});
1504
+ }
1505
+ error(message, errorOptions) {
1506
+ this._outputConfiguration.outputError(`${message}
1507
+ `, this._outputConfiguration.writeErr);
1508
+ if (typeof this._showHelpAfterError === "string") {
1509
+ this._outputConfiguration.writeErr(`${this._showHelpAfterError}
1510
+ `);
1511
+ } else if (this._showHelpAfterError) {
1512
+ this._outputConfiguration.writeErr(`
1513
+ `);
1514
+ this.outputHelp({ error: true });
1515
+ }
1516
+ const config = errorOptions || {};
1517
+ const exitCode = config.exitCode || 1;
1518
+ const code = config.code || "commander.error";
1519
+ this._exit(exitCode, code, message);
1520
+ }
1521
+ _parseOptionsEnv() {
1522
+ this.options.forEach((option) => {
1523
+ if (option.envVar && option.envVar in process2.env) {
1524
+ const optionKey = option.attributeName();
1525
+ if (this.getOptionValue(optionKey) === undefined || ["default", "config", "env"].includes(this.getOptionValueSource(optionKey))) {
1526
+ if (option.required || option.optional) {
1527
+ this.emit(`optionEnv:${option.name()}`, process2.env[option.envVar]);
1528
+ } else {
1529
+ this.emit(`optionEnv:${option.name()}`);
1530
+ }
1531
+ }
1532
+ }
1533
+ });
1534
+ }
1535
+ _parseOptionsImplied() {
1536
+ const dualHelper = new DualOptions(this.options);
1537
+ const hasCustomOptionValue = (optionKey) => {
1538
+ return this.getOptionValue(optionKey) !== undefined && !["default", "implied"].includes(this.getOptionValueSource(optionKey));
1539
+ };
1540
+ this.options.filter((option) => option.implied !== undefined && hasCustomOptionValue(option.attributeName()) && dualHelper.valueFromOption(this.getOptionValue(option.attributeName()), option)).forEach((option) => {
1541
+ Object.keys(option.implied).filter((impliedKey) => !hasCustomOptionValue(impliedKey)).forEach((impliedKey) => {
1542
+ this.setOptionValueWithSource(impliedKey, option.implied[impliedKey], "implied");
1543
+ });
1544
+ });
1545
+ }
1546
+ missingArgument(name) {
1547
+ const message = `error: missing required argument '${name}'`;
1548
+ this.error(message, { code: "commander.missingArgument" });
1549
+ }
1550
+ optionMissingArgument(option) {
1551
+ const message = `error: option '${option.flags}' argument missing`;
1552
+ this.error(message, { code: "commander.optionMissingArgument" });
1553
+ }
1554
+ missingMandatoryOptionValue(option) {
1555
+ const message = `error: required option '${option.flags}' not specified`;
1556
+ this.error(message, { code: "commander.missingMandatoryOptionValue" });
1557
+ }
1558
+ _conflictingOption(option, conflictingOption) {
1559
+ const findBestOptionFromValue = (option2) => {
1560
+ const optionKey = option2.attributeName();
1561
+ const optionValue = this.getOptionValue(optionKey);
1562
+ const negativeOption = this.options.find((target) => target.negate && optionKey === target.attributeName());
1563
+ const positiveOption = this.options.find((target) => !target.negate && optionKey === target.attributeName());
1564
+ if (negativeOption && (negativeOption.presetArg === undefined && optionValue === false || negativeOption.presetArg !== undefined && optionValue === negativeOption.presetArg)) {
1565
+ return negativeOption;
1566
+ }
1567
+ return positiveOption || option2;
1568
+ };
1569
+ const getErrorMessage = (option2) => {
1570
+ const bestOption = findBestOptionFromValue(option2);
1571
+ const optionKey = bestOption.attributeName();
1572
+ const source = this.getOptionValueSource(optionKey);
1573
+ if (source === "env") {
1574
+ return `environment variable '${bestOption.envVar}'`;
1575
+ }
1576
+ return `option '${bestOption.flags}'`;
1577
+ };
1578
+ const message = `error: ${getErrorMessage(option)} cannot be used with ${getErrorMessage(conflictingOption)}`;
1579
+ this.error(message, { code: "commander.conflictingOption" });
1580
+ }
1581
+ unknownOption(flag) {
1582
+ if (this._allowUnknownOption)
1583
+ return;
1584
+ let suggestion = "";
1585
+ if (flag.startsWith("--") && this._showSuggestionAfterError) {
1586
+ let candidateFlags = [];
1587
+ let command = this;
1588
+ do {
1589
+ const moreFlags = command.createHelp().visibleOptions(command).filter((option) => option.long).map((option) => option.long);
1590
+ candidateFlags = candidateFlags.concat(moreFlags);
1591
+ command = command.parent;
1592
+ } while (command && !command._enablePositionalOptions);
1593
+ suggestion = suggestSimilar(flag, candidateFlags);
1594
+ }
1595
+ const message = `error: unknown option '${flag}'${suggestion}`;
1596
+ this.error(message, { code: "commander.unknownOption" });
1597
+ }
1598
+ _excessArguments(receivedArgs) {
1599
+ if (this._allowExcessArguments)
1600
+ return;
1601
+ const expected = this.registeredArguments.length;
1602
+ const s = expected === 1 ? "" : "s";
1603
+ const forSubcommand = this.parent ? ` for '${this.name()}'` : "";
1604
+ const message = `error: too many arguments${forSubcommand}. Expected ${expected} argument${s} but got ${receivedArgs.length}.`;
1605
+ this.error(message, { code: "commander.excessArguments" });
1606
+ }
1607
+ unknownCommand() {
1608
+ const unknownName = this.args[0];
1609
+ let suggestion = "";
1610
+ if (this._showSuggestionAfterError) {
1611
+ const candidateNames = [];
1612
+ this.createHelp().visibleCommands(this).forEach((command) => {
1613
+ candidateNames.push(command.name());
1614
+ if (command.alias())
1615
+ candidateNames.push(command.alias());
1616
+ });
1617
+ suggestion = suggestSimilar(unknownName, candidateNames);
1618
+ }
1619
+ const message = `error: unknown command '${unknownName}'${suggestion}`;
1620
+ this.error(message, { code: "commander.unknownCommand" });
1621
+ }
1622
+ version(str, flags, description) {
1623
+ if (str === undefined)
1624
+ return this._version;
1625
+ this._version = str;
1626
+ flags = flags || "-V, --version";
1627
+ description = description || "output the version number";
1628
+ const versionOption = this.createOption(flags, description);
1629
+ this._versionOptionName = versionOption.attributeName();
1630
+ this._registerOption(versionOption);
1631
+ this.on("option:" + versionOption.name(), () => {
1632
+ this._outputConfiguration.writeOut(`${str}
1633
+ `);
1634
+ this._exit(0, "commander.version", str);
1635
+ });
1636
+ return this;
1637
+ }
1638
+ description(str, argsDescription) {
1639
+ if (str === undefined && argsDescription === undefined)
1640
+ return this._description;
1641
+ this._description = str;
1642
+ if (argsDescription) {
1643
+ this._argsDescription = argsDescription;
1644
+ }
1645
+ return this;
1646
+ }
1647
+ summary(str) {
1648
+ if (str === undefined)
1649
+ return this._summary;
1650
+ this._summary = str;
1651
+ return this;
1652
+ }
1653
+ alias(alias) {
1654
+ if (alias === undefined)
1655
+ return this._aliases[0];
1656
+ let command = this;
1657
+ if (this.commands.length !== 0 && this.commands[this.commands.length - 1]._executableHandler) {
1658
+ command = this.commands[this.commands.length - 1];
1659
+ }
1660
+ if (alias === command._name)
1661
+ throw new Error("Command alias can't be the same as its name");
1662
+ const matchingCommand = this.parent?._findCommand(alias);
1663
+ if (matchingCommand) {
1664
+ const existingCmd = [matchingCommand.name()].concat(matchingCommand.aliases()).join("|");
1665
+ throw new Error(`cannot add alias '${alias}' to command '${this.name()}' as already have command '${existingCmd}'`);
1666
+ }
1667
+ command._aliases.push(alias);
1668
+ return this;
1669
+ }
1670
+ aliases(aliases) {
1671
+ if (aliases === undefined)
1672
+ return this._aliases;
1673
+ aliases.forEach((alias) => this.alias(alias));
1674
+ return this;
1675
+ }
1676
+ usage(str) {
1677
+ if (str === undefined) {
1678
+ if (this._usage)
1679
+ return this._usage;
1680
+ const args = this.registeredArguments.map((arg) => {
1681
+ return humanReadableArgName(arg);
1682
+ });
1683
+ return [].concat(this.options.length || this._helpOption !== null ? "[options]" : [], this.commands.length ? "[command]" : [], this.registeredArguments.length ? args : []).join(" ");
1684
+ }
1685
+ this._usage = str;
1686
+ return this;
1687
+ }
1688
+ name(str) {
1689
+ if (str === undefined)
1690
+ return this._name;
1691
+ this._name = str;
1692
+ return this;
1693
+ }
1694
+ nameFromFilename(filename) {
1695
+ this._name = path.basename(filename, path.extname(filename));
1696
+ return this;
1697
+ }
1698
+ executableDir(path2) {
1699
+ if (path2 === undefined)
1700
+ return this._executableDir;
1701
+ this._executableDir = path2;
1702
+ return this;
1703
+ }
1704
+ helpInformation(contextOptions) {
1705
+ const helper = this.createHelp();
1706
+ if (helper.helpWidth === undefined) {
1707
+ helper.helpWidth = contextOptions && contextOptions.error ? this._outputConfiguration.getErrHelpWidth() : this._outputConfiguration.getOutHelpWidth();
1708
+ }
1709
+ return helper.formatHelp(this, helper);
1710
+ }
1711
+ _getHelpContext(contextOptions) {
1712
+ contextOptions = contextOptions || {};
1713
+ const context = { error: !!contextOptions.error };
1714
+ let write;
1715
+ if (context.error) {
1716
+ write = (arg) => this._outputConfiguration.writeErr(arg);
1717
+ } else {
1718
+ write = (arg) => this._outputConfiguration.writeOut(arg);
1719
+ }
1720
+ context.write = contextOptions.write || write;
1721
+ context.command = this;
1722
+ return context;
1723
+ }
1724
+ outputHelp(contextOptions) {
1725
+ let deprecatedCallback;
1726
+ if (typeof contextOptions === "function") {
1727
+ deprecatedCallback = contextOptions;
1728
+ contextOptions = undefined;
1729
+ }
1730
+ const context = this._getHelpContext(contextOptions);
1731
+ this._getCommandAndAncestors().reverse().forEach((command) => command.emit("beforeAllHelp", context));
1732
+ this.emit("beforeHelp", context);
1733
+ let helpInformation = this.helpInformation(context);
1734
+ if (deprecatedCallback) {
1735
+ helpInformation = deprecatedCallback(helpInformation);
1736
+ if (typeof helpInformation !== "string" && !Buffer.isBuffer(helpInformation)) {
1737
+ throw new Error("outputHelp callback must return a string or a Buffer");
1738
+ }
1739
+ }
1740
+ context.write(helpInformation);
1741
+ if (this._getHelpOption()?.long) {
1742
+ this.emit(this._getHelpOption().long);
1743
+ }
1744
+ this.emit("afterHelp", context);
1745
+ this._getCommandAndAncestors().forEach((command) => command.emit("afterAllHelp", context));
1746
+ }
1747
+ helpOption(flags, description) {
1748
+ if (typeof flags === "boolean") {
1749
+ if (flags) {
1750
+ this._helpOption = this._helpOption ?? undefined;
1751
+ } else {
1752
+ this._helpOption = null;
1753
+ }
1754
+ return this;
1755
+ }
1756
+ flags = flags ?? "-h, --help";
1757
+ description = description ?? "display help for command";
1758
+ this._helpOption = this.createOption(flags, description);
1759
+ return this;
1760
+ }
1761
+ _getHelpOption() {
1762
+ if (this._helpOption === undefined) {
1763
+ this.helpOption(undefined, undefined);
1764
+ }
1765
+ return this._helpOption;
1766
+ }
1767
+ addHelpOption(option) {
1768
+ this._helpOption = option;
1769
+ return this;
1770
+ }
1771
+ help(contextOptions) {
1772
+ this.outputHelp(contextOptions);
1773
+ let exitCode = process2.exitCode || 0;
1774
+ if (exitCode === 0 && contextOptions && typeof contextOptions !== "function" && contextOptions.error) {
1775
+ exitCode = 1;
1776
+ }
1777
+ this._exit(exitCode, "commander.help", "(outputHelp)");
1778
+ }
1779
+ addHelpText(position, text) {
1780
+ const allowedValues = ["beforeAll", "before", "after", "afterAll"];
1781
+ if (!allowedValues.includes(position)) {
1782
+ throw new Error(`Unexpected value for position to addHelpText.
1783
+ Expecting one of '${allowedValues.join("', '")}'`);
1784
+ }
1785
+ const helpEvent = `${position}Help`;
1786
+ this.on(helpEvent, (context) => {
1787
+ let helpStr;
1788
+ if (typeof text === "function") {
1789
+ helpStr = text({ error: context.error, command: context.command });
1790
+ } else {
1791
+ helpStr = text;
1792
+ }
1793
+ if (helpStr) {
1794
+ context.write(`${helpStr}
1795
+ `);
1796
+ }
1797
+ });
1798
+ return this;
1799
+ }
1800
+ _outputHelpIfRequested(args) {
1801
+ const helpOption = this._getHelpOption();
1802
+ const helpRequested = helpOption && args.find((arg) => helpOption.is(arg));
1803
+ if (helpRequested) {
1804
+ this.outputHelp();
1805
+ this._exit(0, "commander.helpDisplayed", "(outputHelp)");
1806
+ }
1807
+ }
1808
+ }
1809
+ function incrementNodeInspectorPort(args) {
1810
+ return args.map((arg) => {
1811
+ if (!arg.startsWith("--inspect")) {
1812
+ return arg;
1813
+ }
1814
+ let debugOption;
1815
+ let debugHost = "127.0.0.1";
1816
+ let debugPort = "9229";
1817
+ let match;
1818
+ if ((match = arg.match(/^(--inspect(-brk)?)$/)) !== null) {
1819
+ debugOption = match[1];
1820
+ } else if ((match = arg.match(/^(--inspect(-brk|-port)?)=([^:]+)$/)) !== null) {
1821
+ debugOption = match[1];
1822
+ if (/^\d+$/.test(match[3])) {
1823
+ debugPort = match[3];
1824
+ } else {
1825
+ debugHost = match[3];
1826
+ }
1827
+ } else if ((match = arg.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/)) !== null) {
1828
+ debugOption = match[1];
1829
+ debugHost = match[3];
1830
+ debugPort = match[4];
1831
+ }
1832
+ if (debugOption && debugPort !== "0") {
1833
+ return `${debugOption}=${debugHost}:${parseInt(debugPort) + 1}`;
1834
+ }
1835
+ return arg;
1836
+ });
1837
+ }
1838
+ exports.Command = Command;
1839
+ });
1840
+
1841
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/index.js
1842
+ var require_commander = __commonJS((exports) => {
1843
+ var { Argument } = require_argument();
1844
+ var { Command } = require_command();
1845
+ var { CommanderError, InvalidArgumentError } = require_error();
1846
+ var { Help } = require_help();
1847
+ var { Option } = require_option();
1848
+ exports.program = new Command;
1849
+ exports.createCommand = (name) => new Command(name);
1850
+ exports.createOption = (flags, description) => new Option(flags, description);
1851
+ exports.createArgument = (name, description) => new Argument(name, description);
1852
+ exports.Command = Command;
1853
+ exports.Option = Option;
1854
+ exports.Argument = Argument;
1855
+ exports.Help = Help;
1856
+ exports.CommanderError = CommanderError;
1857
+ exports.InvalidArgumentError = InvalidArgumentError;
1858
+ exports.InvalidOptionArgumentError = InvalidArgumentError;
1859
+ });
1860
+
1861
+ // scripts/cli.ts
1862
+ import { spawn } from "child_process";
1863
+ import { existsSync } from "fs";
1864
+ import { dirname, resolve } from "path";
1865
+ import { fileURLToPath } from "url";
1866
+
1867
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/esm.mjs
1868
+ var import__ = __toESM(require_commander(), 1);
1869
+ var {
1870
+ program,
1871
+ createCommand,
1872
+ createArgument,
1873
+ createOption,
1874
+ CommanderError,
1875
+ InvalidArgumentError,
1876
+ InvalidOptionArgumentError,
1877
+ Command,
1878
+ Argument,
1879
+ Option,
1880
+ Help
1881
+ } = import__.default;
1882
+
1883
+ // scripts/cli.ts
1884
+ var __dirname2 = dirname(fileURLToPath(import.meta.url));
1885
+ var standaloneDir = resolve(__dirname2, "../standalone");
1886
+ var serverPath = resolve(standaloneDir, "server.js");
1887
+ var program2 = new Command;
1888
+ program2.name("ailog").description("CLI to run the Ailog LLM logging dashboard").version("0.1.0");
1889
+ program2.command("start").description("Start the Ailog dashboard server").option("-p, --port <port>", "Port to listen on", "9000").option("-H, --hostname <hostname>", "Hostname to bind to", "0.0.0.0").action((options) => {
1890
+ if (!existsSync(serverPath)) {
1891
+ console.error("Error: Server not found. The package may be corrupted.");
1892
+ process.exit(1);
1893
+ }
1894
+ console.log(`Starting Ailog dashboard on http://${options.hostname}:${options.port}`);
1895
+ const server = spawn("node", [serverPath], {
1896
+ env: {
1897
+ ...process.env,
1898
+ NODE_ENV: "production",
1899
+ PORT: options.port,
1900
+ HOSTNAME: options.hostname
1901
+ },
1902
+ cwd: standaloneDir,
1903
+ stdio: "inherit"
1904
+ });
1905
+ server.on("error", (err) => {
1906
+ console.error("Failed to start server:", err.message);
1907
+ process.exit(1);
1908
+ });
1909
+ process.on("SIGINT", () => server.kill("SIGINT"));
1910
+ process.on("SIGTERM", () => server.kill("SIGTERM"));
1911
+ });
1912
+ program2.parse();