codecrypto-cli 1.0.8 → 1.0.9
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.
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +64 -7
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/deploy-sc.d.ts.map +1 -1
- package/dist/commands/deploy-sc.js +162 -0
- package/dist/commands/deploy-sc.js.map +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +352 -43
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +518 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/docker-build/Dockerfile +4 -0
- package/docker-build/standalone/.next/BUILD_ID +1 -1
- package/docker-build/standalone/.next/app-path-routes-manifest.json +0 -7
- package/docker-build/standalone/.next/build-manifest.json +6 -7
- package/docker-build/standalone/.next/prerender-manifest.json +3 -75
- package/docker-build/standalone/.next/required-server-files.json +2 -2
- package/docker-build/standalone/.next/routes-manifest.json +0 -42
- package/docker-build/standalone/.next/server/app/_global-error/page/build-manifest.json +4 -5
- package/docker-build/standalone/.next/server/app/_global-error/page.js +10 -10
- package/docker-build/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/docker-build/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/docker-build/standalone/.next/server/app/_global-error.html +2 -2
- package/docker-build/standalone/.next/server/app/_global-error.rsc +8 -8
- package/docker-build/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/docker-build/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
- package/docker-build/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +4 -4
- package/docker-build/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/docker-build/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/docker-build/standalone/.next/server/app/_not-found/page/build-manifest.json +4 -5
- package/docker-build/standalone/.next/server/app/_not-found/page/next-font-manifest.json +1 -1
- package/docker-build/standalone/.next/server/app/_not-found/page.js +13 -13
- package/docker-build/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/docker-build/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/docker-build/standalone/.next/server/app/_not-found.html +1 -1
- package/docker-build/standalone/.next/server/app/_not-found.rsc +10 -10
- package/docker-build/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +10 -10
- package/docker-build/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/docker-build/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
- package/docker-build/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/docker-build/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/docker-build/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/docker-build/standalone/.next/server/app/favicon.ico/route.js +5 -6
- package/docker-build/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/docker-build/standalone/.next/server/app/index.html +1 -1
- package/docker-build/standalone/.next/server/app/index.rsc +13 -22
- package/docker-build/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -7
- package/docker-build/standalone/.next/server/app/index.segments/_full.segment.rsc +13 -22
- package/docker-build/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/docker-build/standalone/.next/server/app/index.segments/_index.segment.rsc +4 -4
- package/docker-build/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/docker-build/standalone/.next/server/app/page/build-manifest.json +4 -5
- package/docker-build/standalone/.next/server/app/page/next-font-manifest.json +1 -1
- package/docker-build/standalone/.next/server/app/page.js +15 -15
- package/docker-build/standalone/.next/server/app/page.js.nft.json +1 -1
- package/docker-build/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/docker-build/standalone/.next/server/app-paths-manifest.json +0 -7
- package/docker-build/standalone/.next/server/chunks/66d90_example-navidad__next-internal_server_app_favicon_ico_route_actions_a30dceae.js +3 -0
- package/docker-build/standalone/.next/server/chunks/[externals]_next_dist_03fe02e0._.js +3 -0
- package/docker-build/standalone/.next/server/chunks/[root-of-the-server]__4b49000d._.js +21 -0
- package/docker-build/standalone/.next/server/chunks/ssr/10072_infra_example-navidad__next-internal_server_app_page_actions_a387aef9.js +3 -0
- package/docker-build/standalone/.next/server/chunks/ssr/2025_cc_CODECRYPTO_infra_example-navidad_377109b0._.js +3 -0
- package/docker-build/standalone/.next/server/chunks/ssr/{2025_cc_CODECRYPTO_infra_server-cc_d03dcb7a._.js → 2025_cc_CODECRYPTO_infra_example-navidad_90799f30._.js} +3 -3
- package/docker-build/standalone/.next/server/chunks/ssr/2025_cc_CODECRYPTO_infra_example-navidad_app_b9057478._.js +3 -0
- package/docker-build/standalone/.next/server/chunks/ssr/66d90_example-navidad__next-internal_server_app__global-error_page_actions_a079475f.js +3 -0
- package/docker-build/standalone/.next/server/chunks/ssr/66d90_example-navidad__next-internal_server_app__not-found_page_actions_ac88cec2.js +3 -0
- package/docker-build/standalone/.next/server/chunks/ssr/{6f6aa_next_dist_5002976b._.js → 77a20_next_dist_51be1544._.js} +3 -3
- package/docker-build/standalone/.next/server/chunks/ssr/77a20_next_dist_8dba0557._.js +6 -0
- package/docker-build/standalone/.next/server/chunks/ssr/{6f6aa_next_dist_client_components_a432b2d3._.js → 77a20_next_dist_client_components_41330064._.js} +2 -2
- package/docker-build/standalone/.next/server/chunks/ssr/{6f6aa_next_dist_client_components_builtin_forbidden_b4e63d3a.js → 77a20_next_dist_client_components_builtin_forbidden_ff3a0457.js} +2 -2
- package/docker-build/standalone/.next/server/chunks/ssr/77a20_next_dist_client_components_builtin_global-error_e0d57e6e.js +3 -0
- package/docker-build/standalone/.next/server/chunks/ssr/{6f6aa_next_dist_client_components_builtin_unauthorized_f08488ad.js → 77a20_next_dist_client_components_builtin_unauthorized_f1c47e13.js} +2 -2
- package/docker-build/standalone/.next/server/chunks/ssr/77a20_next_dist_d332f292._.js +3 -0
- package/docker-build/standalone/.next/server/chunks/ssr/{6f6aa_next_dist_esm_build_templates_app-page_c7a8656a.js → 77a20_next_dist_esm_build_templates_app-page_cf6afba1.js} +3 -3
- package/docker-build/standalone/.next/server/chunks/ssr/{[root-of-the-server]__5ecc39a2._.js → [root-of-the-server]__02f3f427._.js} +2 -2
- package/docker-build/standalone/.next/server/chunks/ssr/{[root-of-the-server]__f2372d3f._.js → [root-of-the-server]__2f460610._.js} +2 -2
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__4722e53c._.js +3 -0
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__53b749fa._.js +3 -0
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__61942f2d._.js +3 -0
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__7707ad1b._.js +3 -0
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__864cadbf._.js +10 -0
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__9939e281._.js +3 -0
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__b4b0aa8a._.js +3 -0
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__d2b7072b._.js +3 -0
- package/docker-build/standalone/.next/server/middleware-build-manifest.js +4 -5
- package/docker-build/standalone/.next/server/next-font-manifest.js +1 -1
- package/docker-build/standalone/.next/server/next-font-manifest.json +2 -14
- package/docker-build/standalone/.next/server/pages/404.html +1 -1
- package/docker-build/standalone/.next/server/pages/500.html +2 -2
- package/docker-build/standalone/.next/server/server-reference-manifest.js +1 -1
- package/docker-build/standalone/.next/server/server-reference-manifest.json +1 -1
- package/docker-build/standalone/.next/static/chunks/57d1af92f5dc15fa.js +1 -0
- package/docker-build/standalone/.next/static/chunks/6ae71d5e8ea4d1eb.js +1 -0
- package/docker-build/standalone/.next/static/chunks/70977d70c9306213.js +1 -0
- package/docker-build/standalone/.next/static/chunks/777dac7104fe2a30.js +5 -0
- package/docker-build/standalone/.next/static/chunks/a6dad97d9634a72d.js.map +1 -1
- package/docker-build/standalone/.next/static/chunks/d6aec49b013224a2.css +3 -0
- package/docker-build/standalone/.next/static/chunks/turbopack-0ce517fb6224c1f0.js +4 -0
- package/docker-build/standalone/package.json +4 -13
- package/package.json +1 -1
- package/src/commands/auth.ts +71 -8
- package/src/commands/deploy-sc.ts +182 -0
- package/src/commands/deploy.ts +365 -47
- package/src/commands/doctor.ts +498 -0
- package/src/index.ts +2 -0
- package/token.json +69 -0
- package/docker-build/standalone/.next/server/app/api/deploy/route/app-paths-manifest.json +0 -3
- package/docker-build/standalone/.next/server/app/api/deploy/route/build-manifest.json +0 -11
- package/docker-build/standalone/.next/server/app/api/deploy/route/server-reference-manifest.json +0 -4
- package/docker-build/standalone/.next/server/app/api/deploy/route.js +0 -7
- package/docker-build/standalone/.next/server/app/api/deploy/route.js.map +0 -5
- package/docker-build/standalone/.next/server/app/api/deploy/route.js.nft.json +0 -1
- package/docker-build/standalone/.next/server/app/api/deploy/route_client-reference-manifest.js +0 -2
- package/docker-build/standalone/.next/server/app/api/deploy-image/route/app-paths-manifest.json +0 -3
- package/docker-build/standalone/.next/server/app/api/deploy-image/route/build-manifest.json +0 -11
- package/docker-build/standalone/.next/server/app/api/deploy-image/route/server-reference-manifest.json +0 -4
- package/docker-build/standalone/.next/server/app/api/deploy-image/route.js +0 -6
- package/docker-build/standalone/.next/server/app/api/deploy-image/route.js.map +0 -5
- package/docker-build/standalone/.next/server/app/api/deploy-image/route.js.nft.json +0 -1
- package/docker-build/standalone/.next/server/app/api/deploy-image/route_client-reference-manifest.js +0 -2
- package/docker-build/standalone/.next/server/app/api/docker-images/route/app-paths-manifest.json +0 -3
- package/docker-build/standalone/.next/server/app/api/docker-images/route/build-manifest.json +0 -11
- package/docker-build/standalone/.next/server/app/api/docker-images/route/server-reference-manifest.json +0 -4
- package/docker-build/standalone/.next/server/app/api/docker-images/route.js +0 -6
- package/docker-build/standalone/.next/server/app/api/docker-images/route.js.map +0 -5
- package/docker-build/standalone/.next/server/app/api/docker-images/route.js.nft.json +0 -1
- package/docker-build/standalone/.next/server/app/api/docker-images/route_client-reference-manifest.js +0 -2
- package/docker-build/standalone/.next/server/app/api/faucet/route/app-paths-manifest.json +0 -3
- package/docker-build/standalone/.next/server/app/api/faucet/route/build-manifest.json +0 -11
- package/docker-build/standalone/.next/server/app/api/faucet/route/server-reference-manifest.json +0 -4
- package/docker-build/standalone/.next/server/app/api/faucet/route.js +0 -9
- package/docker-build/standalone/.next/server/app/api/faucet/route.js.map +0 -5
- package/docker-build/standalone/.next/server/app/api/faucet/route.js.nft.json +0 -1
- package/docker-build/standalone/.next/server/app/api/faucet/route_client-reference-manifest.js +0 -2
- package/docker-build/standalone/.next/server/app/deploy/page/app-paths-manifest.json +0 -3
- package/docker-build/standalone/.next/server/app/deploy/page/build-manifest.json +0 -17
- package/docker-build/standalone/.next/server/app/deploy/page/next-font-manifest.json +0 -11
- package/docker-build/standalone/.next/server/app/deploy/page/react-loadable-manifest.json +0 -1
- package/docker-build/standalone/.next/server/app/deploy/page/server-reference-manifest.json +0 -4
- package/docker-build/standalone/.next/server/app/deploy/page.js +0 -16
- package/docker-build/standalone/.next/server/app/deploy/page.js.map +0 -5
- package/docker-build/standalone/.next/server/app/deploy/page.js.nft.json +0 -1
- package/docker-build/standalone/.next/server/app/deploy/page_client-reference-manifest.js +0 -2
- package/docker-build/standalone/.next/server/app/deploy.html +0 -1
- package/docker-build/standalone/.next/server/app/deploy.meta +0 -15
- package/docker-build/standalone/.next/server/app/deploy.rsc +0 -20
- package/docker-build/standalone/.next/server/app/deploy.segments/_full.segment.rsc +0 -20
- package/docker-build/standalone/.next/server/app/deploy.segments/_head.segment.rsc +0 -6
- package/docker-build/standalone/.next/server/app/deploy.segments/_index.segment.rsc +0 -5
- package/docker-build/standalone/.next/server/app/deploy.segments/_tree.segment.rsc +0 -4
- package/docker-build/standalone/.next/server/app/deploy.segments/deploy/__PAGE__.segment.rsc +0 -9
- package/docker-build/standalone/.next/server/app/deploy.segments/deploy.segment.rsc +0 -4
- package/docker-build/standalone/.next/server/app/faucet/page/app-paths-manifest.json +0 -3
- package/docker-build/standalone/.next/server/app/faucet/page/build-manifest.json +0 -17
- package/docker-build/standalone/.next/server/app/faucet/page/next-font-manifest.json +0 -11
- package/docker-build/standalone/.next/server/app/faucet/page/react-loadable-manifest.json +0 -1
- package/docker-build/standalone/.next/server/app/faucet/page/server-reference-manifest.json +0 -4
- package/docker-build/standalone/.next/server/app/faucet/page.js +0 -16
- package/docker-build/standalone/.next/server/app/faucet/page.js.map +0 -5
- package/docker-build/standalone/.next/server/app/faucet/page.js.nft.json +0 -1
- package/docker-build/standalone/.next/server/app/faucet/page_client-reference-manifest.js +0 -2
- package/docker-build/standalone/.next/server/app/faucet.html +0 -1
- package/docker-build/standalone/.next/server/app/faucet.meta +0 -15
- package/docker-build/standalone/.next/server/app/faucet.rsc +0 -20
- package/docker-build/standalone/.next/server/app/faucet.segments/_full.segment.rsc +0 -20
- package/docker-build/standalone/.next/server/app/faucet.segments/_head.segment.rsc +0 -6
- package/docker-build/standalone/.next/server/app/faucet.segments/_index.segment.rsc +0 -5
- package/docker-build/standalone/.next/server/app/faucet.segments/_tree.segment.rsc +0 -4
- package/docker-build/standalone/.next/server/app/faucet.segments/faucet/__PAGE__.segment.rsc +0 -9
- package/docker-build/standalone/.next/server/app/faucet.segments/faucet.segment.rsc +0 -4
- package/docker-build/standalone/.next/server/app/images/page/app-paths-manifest.json +0 -3
- package/docker-build/standalone/.next/server/app/images/page/build-manifest.json +0 -17
- package/docker-build/standalone/.next/server/app/images/page/next-font-manifest.json +0 -11
- package/docker-build/standalone/.next/server/app/images/page/react-loadable-manifest.json +0 -1
- package/docker-build/standalone/.next/server/app/images/page/server-reference-manifest.json +0 -4
- package/docker-build/standalone/.next/server/app/images/page.js +0 -16
- package/docker-build/standalone/.next/server/app/images/page.js.map +0 -5
- package/docker-build/standalone/.next/server/app/images/page.js.nft.json +0 -1
- package/docker-build/standalone/.next/server/app/images/page_client-reference-manifest.js +0 -2
- package/docker-build/standalone/.next/server/app/images.html +0 -1
- package/docker-build/standalone/.next/server/app/images.meta +0 -15
- package/docker-build/standalone/.next/server/app/images.rsc +0 -20
- package/docker-build/standalone/.next/server/app/images.segments/_full.segment.rsc +0 -20
- package/docker-build/standalone/.next/server/app/images.segments/_head.segment.rsc +0 -6
- package/docker-build/standalone/.next/server/app/images.segments/_index.segment.rsc +0 -5
- package/docker-build/standalone/.next/server/app/images.segments/_tree.segment.rsc +0 -4
- package/docker-build/standalone/.next/server/app/images.segments/images/__PAGE__.segment.rsc +0 -9
- package/docker-build/standalone/.next/server/app/images.segments/images.segment.rsc +0 -4
- package/docker-build/standalone/.next/server/chunks/10072_infra_server-cc__next-internal_server_app_api_deploy_route_actions_6cdc6432.js +0 -3
- package/docker-build/standalone/.next/server/chunks/10072_infra_server-cc__next-internal_server_app_api_faucet_route_actions_f54ec975.js +0 -3
- package/docker-build/standalone/.next/server/chunks/10072_infra_server-cc__next-internal_server_app_favicon_ico_route_actions_d73715d1.js +0 -3
- package/docker-build/standalone/.next/server/chunks/66d90_server-cc__next-internal_server_app_api_deploy-image_route_actions_b340a7f4.js +0 -3
- package/docker-build/standalone/.next/server/chunks/66d90_server-cc__next-internal_server_app_api_docker-images_route_actions_4adcb030.js +0 -3
- package/docker-build/standalone/.next/server/chunks/6f6aa_4d460f49._.js +0 -30
- package/docker-build/standalone/.next/server/chunks/6f6aa_@noble_curves_esm_secp256k1_c7f9b58b.js +0 -3
- package/docker-build/standalone/.next/server/chunks/6f6aa_next_dist_esm_build_templates_app-route_1a9ee783.js +0 -6
- package/docker-build/standalone/.next/server/chunks/6f6aa_next_dist_esm_build_templates_app-route_8d132e6a.js +0 -3
- package/docker-build/standalone/.next/server/chunks/6f6aa_viem__esm_utils_ccip_bb7bf310.js +0 -3
- package/docker-build/standalone/.next/server/chunks/[externals]_next_dist_b01ab6e1._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/[root-of-the-server]__0928cca7._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/[root-of-the-server]__0c6b3bd9._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/[root-of-the-server]__1846bb23._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/[root-of-the-server]__8f8a2ff9._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/[root-of-the-server]__90ea784b._.js +0 -21
- package/docker-build/standalone/.next/server/chunks/[root-of-the-server]__f6379956._.js +0 -39
- package/docker-build/standalone/.next/server/chunks/ssr/10072_infra_server-cc__next-internal_server_app__global-error_page_actions_bdbde336.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/10072_infra_server-cc__next-internal_server_app__not-found_page_actions_41269af3.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/10072_infra_server-cc__next-internal_server_app_deploy_page_actions_3988cfb8.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/10072_infra_server-cc__next-internal_server_app_faucet_page_actions_e5e8dd8a.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/10072_infra_server-cc__next-internal_server_app_images_page_actions_bcdfd86b.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/2025_cc_CODECRYPTO_infra_server-cc_293382c4._.js +0 -4
- package/docker-build/standalone/.next/server/chunks/ssr/2025_cc_CODECRYPTO_infra_server-cc_55723634._.js +0 -4
- package/docker-build/standalone/.next/server/chunks/ssr/2025_cc_CODECRYPTO_infra_server-cc_821445df._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/2025_cc_CODECRYPTO_infra_server-cc_8545ebc7._.js +0 -4
- package/docker-build/standalone/.next/server/chunks/ssr/2025_cc_CODECRYPTO_infra_server-cc_acad38a1._.js +0 -6
- package/docker-build/standalone/.next/server/chunks/ssr/2025_cc_CODECRYPTO_infra_server-cc_app_b373a582._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/6f6aa_7c51ed4c._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/6f6aa_next_dist_05cd73d5._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/6f6aa_next_dist_3e60adb5._.js +0 -6
- package/docker-build/standalone/.next/server/chunks/ssr/6f6aa_next_dist_client_components_builtin_global-error_edcabd66.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e0d983d._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__0f25bf3b._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__10dae68a._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__1ebd727b._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__30996048._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__587c95dd._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__6382fff8._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__8ed1042a._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__91644c56._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__a2833bcd._.js +0 -10
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__acf31a1c._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__ae009f46._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__daca67ae._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__f2ed834a._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/[root-of-the-server]__ff0dddf3._.js +0 -3
- package/docker-build/standalone/.next/server/chunks/ssr/e6d68_cc_CODECRYPTO_infra_server-cc__next-internal_server_app_page_actions_12ae3ff1.js +0 -3
- package/docker-build/standalone/.next/static/chunks/0c03a563297c48f4.js +0 -1
- package/docker-build/standalone/.next/static/chunks/3142ddfdb448fd24.js +0 -1
- package/docker-build/standalone/.next/static/chunks/35b2ae0057b43b20.js +0 -1
- package/docker-build/standalone/.next/static/chunks/5a1aef391fd12242.js +0 -1
- package/docker-build/standalone/.next/static/chunks/66401b6fc62891de.js +0 -4
- package/docker-build/standalone/.next/static/chunks/782a67ca986fb1bd.js +0 -1
- package/docker-build/standalone/.next/static/chunks/8b27abf6cb0fca62.js +0 -2
- package/docker-build/standalone/.next/static/chunks/8dba80aa68873762.css +0 -3
- package/docker-build/standalone/.next/static/chunks/902797f337bf356c.js +0 -1
- package/docker-build/standalone/.next/static/chunks/9706b17cfd50df01.js +0 -1
- package/docker-build/standalone/.next/static/chunks/df3b8eb181fde7c2.js +0 -1
- package/docker-build/standalone/.next/static/chunks/turbopack-237950634fd3a365.js +0 -4
- package/docker-build/standalone/public/deploy-test.html +0 -276
- /package/docker-build/standalone/.next/static/{ZrQJjBH5oznRmy8xN4NKX → _NbfI2TKfapiyxsQgIG3h}/_buildManifest.js +0 -0
- /package/docker-build/standalone/.next/static/{ZrQJjBH5oznRmy8xN4NKX → _NbfI2TKfapiyxsQgIG3h}/_clientMiddlewareManifest.json +0 -0
- /package/docker-build/standalone/.next/static/{ZrQJjBH5oznRmy8xN4NKX → _NbfI2TKfapiyxsQgIG3h}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,498 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import ora from 'ora';
|
|
4
|
+
import { execSync } from 'child_process';
|
|
5
|
+
import * as fs from 'fs';
|
|
6
|
+
import * as path from 'path';
|
|
7
|
+
import * as os from 'os';
|
|
8
|
+
|
|
9
|
+
interface CheckResult {
|
|
10
|
+
name: string;
|
|
11
|
+
status: 'success' | 'warning' | 'error';
|
|
12
|
+
message: string;
|
|
13
|
+
details?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const doctorCommand = new Command('doctor')
|
|
17
|
+
.description('Validate all requirements for Next.js/Docker and Foundry deployments')
|
|
18
|
+
.option('--verbose', 'Show detailed information', false)
|
|
19
|
+
.action(async (options) => {
|
|
20
|
+
console.log(chalk.blue('\n🏥 CodeCrypto Doctor - System Health Check\n'));
|
|
21
|
+
|
|
22
|
+
const checks: CheckResult[] = [];
|
|
23
|
+
const verbose = options.verbose;
|
|
24
|
+
|
|
25
|
+
// ============================================
|
|
26
|
+
// NEXT.JS / DOCKER CHECKS
|
|
27
|
+
// ============================================
|
|
28
|
+
console.log(chalk.cyan('📦 Next.js / Docker Deployment Checks\n'));
|
|
29
|
+
|
|
30
|
+
// 1. Check Node.js
|
|
31
|
+
const nodeCheck = ora('Checking Node.js...').start();
|
|
32
|
+
try {
|
|
33
|
+
const nodeVersion = execSync('node --version', { encoding: 'utf-8', stdio: 'pipe' }).trim();
|
|
34
|
+
nodeCheck.succeed(`Node.js: ${nodeVersion}`);
|
|
35
|
+
checks.push({
|
|
36
|
+
name: 'Node.js',
|
|
37
|
+
status: 'success',
|
|
38
|
+
message: `Node.js installed: ${nodeVersion}`
|
|
39
|
+
});
|
|
40
|
+
} catch (error) {
|
|
41
|
+
nodeCheck.fail('Node.js not found');
|
|
42
|
+
checks.push({
|
|
43
|
+
name: 'Node.js',
|
|
44
|
+
status: 'error',
|
|
45
|
+
message: 'Node.js is not installed or not in PATH',
|
|
46
|
+
details: 'Install Node.js from https://nodejs.org/'
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// 2. Check npm
|
|
51
|
+
const npmCheck = ora('Checking npm...').start();
|
|
52
|
+
try {
|
|
53
|
+
const npmVersion = execSync('npm --version', { encoding: 'utf-8', stdio: 'pipe' }).trim();
|
|
54
|
+
npmCheck.succeed(`npm: ${npmVersion}`);
|
|
55
|
+
checks.push({
|
|
56
|
+
name: 'npm',
|
|
57
|
+
status: 'success',
|
|
58
|
+
message: `npm installed: ${npmVersion}`
|
|
59
|
+
});
|
|
60
|
+
} catch (error) {
|
|
61
|
+
npmCheck.fail('npm not found');
|
|
62
|
+
checks.push({
|
|
63
|
+
name: 'npm',
|
|
64
|
+
status: 'error',
|
|
65
|
+
message: 'npm is not installed or not in PATH',
|
|
66
|
+
details: 'npm comes with Node.js, reinstall Node.js if needed'
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// 3. Check Docker
|
|
71
|
+
const dockerCheck = ora('Checking Docker...').start();
|
|
72
|
+
try {
|
|
73
|
+
const dockerVersion = execSync('docker --version', { encoding: 'utf-8', stdio: 'pipe' }).trim();
|
|
74
|
+
dockerCheck.succeed(`Docker: ${dockerVersion}`);
|
|
75
|
+
checks.push({
|
|
76
|
+
name: 'Docker',
|
|
77
|
+
status: 'success',
|
|
78
|
+
message: `Docker installed: ${dockerVersion}`
|
|
79
|
+
});
|
|
80
|
+
} catch (error) {
|
|
81
|
+
dockerCheck.fail('Docker not found');
|
|
82
|
+
checks.push({
|
|
83
|
+
name: 'Docker',
|
|
84
|
+
status: 'error',
|
|
85
|
+
message: 'Docker is not installed or not in PATH',
|
|
86
|
+
details: 'Install Docker from https://www.docker.com/get-started'
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// 4. Check Docker daemon
|
|
91
|
+
const dockerDaemonCheck = ora('Checking Docker daemon...').start();
|
|
92
|
+
try {
|
|
93
|
+
execSync('docker info', { encoding: 'utf-8', stdio: 'pipe' });
|
|
94
|
+
dockerDaemonCheck.succeed('Docker daemon is running');
|
|
95
|
+
checks.push({
|
|
96
|
+
name: 'Docker Daemon',
|
|
97
|
+
status: 'success',
|
|
98
|
+
message: 'Docker daemon is running'
|
|
99
|
+
});
|
|
100
|
+
} catch (error) {
|
|
101
|
+
dockerDaemonCheck.fail('Docker daemon is not running');
|
|
102
|
+
checks.push({
|
|
103
|
+
name: 'Docker Daemon',
|
|
104
|
+
status: 'error',
|
|
105
|
+
message: 'Docker daemon is not running',
|
|
106
|
+
details: 'Start Docker Desktop or Docker daemon'
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// 5. Check Docker buildx
|
|
111
|
+
const buildxCheck = ora('Checking Docker buildx...').start();
|
|
112
|
+
try {
|
|
113
|
+
const buildxVersion = execSync('docker buildx version', { encoding: 'utf-8', stdio: 'pipe' }).trim();
|
|
114
|
+
buildxCheck.succeed(`Docker buildx: ${buildxVersion}`);
|
|
115
|
+
checks.push({
|
|
116
|
+
name: 'Docker buildx',
|
|
117
|
+
status: 'success',
|
|
118
|
+
message: `Docker buildx available: ${buildxVersion}`
|
|
119
|
+
});
|
|
120
|
+
} catch (error) {
|
|
121
|
+
buildxCheck.fail('Docker buildx not found');
|
|
122
|
+
checks.push({
|
|
123
|
+
name: 'Docker buildx',
|
|
124
|
+
status: 'error',
|
|
125
|
+
message: 'Docker buildx is not available',
|
|
126
|
+
details: 'Docker buildx should come with Docker. Update Docker if needed.'
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// 6. Check Docker Hub authentication (optional)
|
|
131
|
+
const dockerAuthCheck = ora('Checking Docker Hub authentication...').start();
|
|
132
|
+
try {
|
|
133
|
+
execSync('docker pull hello-world:latest', { encoding: 'utf-8', stdio: 'pipe' });
|
|
134
|
+
dockerAuthCheck.succeed('Docker Hub authentication OK');
|
|
135
|
+
checks.push({
|
|
136
|
+
name: 'Docker Hub Auth',
|
|
137
|
+
status: 'success',
|
|
138
|
+
message: 'Docker Hub authentication verified'
|
|
139
|
+
});
|
|
140
|
+
} catch (error) {
|
|
141
|
+
dockerAuthCheck.warn('Docker Hub authentication may be required');
|
|
142
|
+
checks.push({
|
|
143
|
+
name: 'Docker Hub Auth',
|
|
144
|
+
status: 'warning',
|
|
145
|
+
message: 'Docker Hub authentication not verified',
|
|
146
|
+
details: 'Run "docker login" if you need to push images'
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// 7. Check CodeCrypto token
|
|
151
|
+
const tokenCheck = ora('Checking CodeCrypto authentication token...').start();
|
|
152
|
+
const tokenFilePath = path.join(os.homedir(), '.codecrypto', 'token.json');
|
|
153
|
+
if (fs.existsSync(tokenFilePath)) {
|
|
154
|
+
try {
|
|
155
|
+
const tokenData = JSON.parse(fs.readFileSync(tokenFilePath, 'utf-8'));
|
|
156
|
+
if (tokenData.token && tokenData.email) {
|
|
157
|
+
tokenCheck.succeed(`Token found for: ${tokenData.email}`);
|
|
158
|
+
checks.push({
|
|
159
|
+
name: 'CodeCrypto Token',
|
|
160
|
+
status: 'success',
|
|
161
|
+
message: `Token found for: ${tokenData.email}`
|
|
162
|
+
});
|
|
163
|
+
} else {
|
|
164
|
+
tokenCheck.fail('Token file exists but is invalid');
|
|
165
|
+
checks.push({
|
|
166
|
+
name: 'CodeCrypto Token',
|
|
167
|
+
status: 'error',
|
|
168
|
+
message: 'Token file exists but is invalid',
|
|
169
|
+
details: 'Run "codecrypto auth --force" to refresh your token'
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
} catch (error: any) {
|
|
173
|
+
tokenCheck.fail('Token file is corrupted');
|
|
174
|
+
checks.push({
|
|
175
|
+
name: 'CodeCrypto Token',
|
|
176
|
+
status: 'error',
|
|
177
|
+
message: 'Token file is corrupted',
|
|
178
|
+
details: 'Run "codecrypto auth --force" to refresh your token'
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
} else {
|
|
182
|
+
tokenCheck.fail('Token file not found');
|
|
183
|
+
checks.push({
|
|
184
|
+
name: 'CodeCrypto Token',
|
|
185
|
+
status: 'error',
|
|
186
|
+
message: 'Token file not found',
|
|
187
|
+
details: 'Run "codecrypto auth" to authenticate'
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// 8. Check Docker certificates in token.json
|
|
192
|
+
const certCheck = ora('Checking Docker certificates in token.json...').start();
|
|
193
|
+
try {
|
|
194
|
+
if (fs.existsSync(tokenFilePath)) {
|
|
195
|
+
const tokenData = JSON.parse(fs.readFileSync(tokenFilePath, 'utf-8'));
|
|
196
|
+
if (tokenData.adminGlobals && Array.isArray(tokenData.adminGlobals)) {
|
|
197
|
+
const certKeys = {
|
|
198
|
+
ca: 'docker-client/ca-pem',
|
|
199
|
+
cert: 'docker-client/cert.pem',
|
|
200
|
+
key: 'docker-client/key.pem'
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
const foundCerts: string[] = [];
|
|
204
|
+
for (const global of tokenData.adminGlobals) {
|
|
205
|
+
if (global && global.key) {
|
|
206
|
+
if (global.key === certKeys.ca || global.key === certKeys.cert || global.key === certKeys.key) {
|
|
207
|
+
foundCerts.push(global.key);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
if (foundCerts.length === 3) {
|
|
213
|
+
certCheck.succeed('All Docker certificates found in token.json');
|
|
214
|
+
checks.push({
|
|
215
|
+
name: 'Docker Certificates',
|
|
216
|
+
status: 'success',
|
|
217
|
+
message: 'All Docker certificates found in token.json'
|
|
218
|
+
});
|
|
219
|
+
} else {
|
|
220
|
+
certCheck.fail(`Missing certificates: ${3 - foundCerts.length} of 3`);
|
|
221
|
+
const missing = Object.values(certKeys).filter(k => !foundCerts.includes(k));
|
|
222
|
+
checks.push({
|
|
223
|
+
name: 'Docker Certificates',
|
|
224
|
+
status: 'error',
|
|
225
|
+
message: `Missing certificates: ${missing.join(', ')}`,
|
|
226
|
+
details: 'Run "codecrypto auth --force" to refresh your token with certificates'
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
} else {
|
|
230
|
+
certCheck.fail('adminGlobals not found in token.json');
|
|
231
|
+
checks.push({
|
|
232
|
+
name: 'Docker Certificates',
|
|
233
|
+
status: 'error',
|
|
234
|
+
message: 'adminGlobals not found in token.json',
|
|
235
|
+
details: 'Run "codecrypto auth --force" to refresh your token'
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
} else {
|
|
239
|
+
certCheck.fail('Token file not found');
|
|
240
|
+
checks.push({
|
|
241
|
+
name: 'Docker Certificates',
|
|
242
|
+
status: 'error',
|
|
243
|
+
message: 'Token file not found',
|
|
244
|
+
details: 'Run "codecrypto auth" to authenticate'
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
} catch (error: any) {
|
|
248
|
+
certCheck.fail('Error checking certificates');
|
|
249
|
+
checks.push({
|
|
250
|
+
name: 'Docker Certificates',
|
|
251
|
+
status: 'error',
|
|
252
|
+
message: `Error checking certificates: ${error.message}`,
|
|
253
|
+
details: 'Run "codecrypto auth --force" to refresh your token'
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
// 9. Check Git (optional but recommended)
|
|
258
|
+
const gitCheck = ora('Checking Git...').start();
|
|
259
|
+
try {
|
|
260
|
+
const gitVersion = execSync('git --version', { encoding: 'utf-8', stdio: 'pipe' }).trim();
|
|
261
|
+
gitCheck.succeed(`Git: ${gitVersion}`);
|
|
262
|
+
checks.push({
|
|
263
|
+
name: 'Git',
|
|
264
|
+
status: 'success',
|
|
265
|
+
message: `Git installed: ${gitVersion}`
|
|
266
|
+
});
|
|
267
|
+
} catch (error) {
|
|
268
|
+
gitCheck.warn('Git not found');
|
|
269
|
+
checks.push({
|
|
270
|
+
name: 'Git',
|
|
271
|
+
status: 'warning',
|
|
272
|
+
message: 'Git is not installed or not in PATH',
|
|
273
|
+
details: 'Git is recommended for version control. Install from https://git-scm.com/'
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
// ============================================
|
|
278
|
+
// FOUNDRY / SMART CONTRACTS CHECKS
|
|
279
|
+
// ============================================
|
|
280
|
+
console.log(chalk.cyan('\n🔷 Foundry / Smart Contracts Deployment Checks\n'));
|
|
281
|
+
|
|
282
|
+
// 10. Check Foundry (forge)
|
|
283
|
+
const forgeCheck = ora('Checking Foundry (forge)...').start();
|
|
284
|
+
try {
|
|
285
|
+
const forgeVersion = execSync('forge --version', { encoding: 'utf-8', stdio: 'pipe' }).trim();
|
|
286
|
+
forgeCheck.succeed(`Foundry: ${forgeVersion}`);
|
|
287
|
+
checks.push({
|
|
288
|
+
name: 'Foundry (forge)',
|
|
289
|
+
status: 'success',
|
|
290
|
+
message: `Foundry installed: ${forgeVersion}`
|
|
291
|
+
});
|
|
292
|
+
} catch (error) {
|
|
293
|
+
forgeCheck.fail('Foundry (forge) not found');
|
|
294
|
+
checks.push({
|
|
295
|
+
name: 'Foundry (forge)',
|
|
296
|
+
status: 'error',
|
|
297
|
+
message: 'Foundry (forge) is not installed or not in PATH',
|
|
298
|
+
details: 'Install Foundry: curl -L https://foundry.paradigm.xyz | bash && foundryup'
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
// 11. Check cast
|
|
303
|
+
const castCheck = ora('Checking cast...').start();
|
|
304
|
+
try {
|
|
305
|
+
const castVersion = execSync('cast --version', { encoding: 'utf-8', stdio: 'pipe' }).trim();
|
|
306
|
+
castCheck.succeed(`cast: ${castVersion}`);
|
|
307
|
+
checks.push({
|
|
308
|
+
name: 'cast',
|
|
309
|
+
status: 'success',
|
|
310
|
+
message: `cast installed: ${castVersion}`
|
|
311
|
+
});
|
|
312
|
+
} catch (error) {
|
|
313
|
+
castCheck.fail('cast not found');
|
|
314
|
+
checks.push({
|
|
315
|
+
name: 'cast',
|
|
316
|
+
status: 'error',
|
|
317
|
+
message: 'cast is not installed or not in PATH',
|
|
318
|
+
details: 'cast comes with Foundry. Run "foundryup" to update.'
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// 12. Check anvil
|
|
323
|
+
const anvilCheck = ora('Checking anvil...').start();
|
|
324
|
+
try {
|
|
325
|
+
const anvilVersion = execSync('anvil --version', { encoding: 'utf-8', stdio: 'pipe' }).trim();
|
|
326
|
+
anvilCheck.succeed(`anvil: ${anvilVersion}`);
|
|
327
|
+
checks.push({
|
|
328
|
+
name: 'anvil',
|
|
329
|
+
status: 'success',
|
|
330
|
+
message: `anvil installed: ${anvilVersion}`
|
|
331
|
+
});
|
|
332
|
+
} catch (error) {
|
|
333
|
+
anvilCheck.fail('anvil not found');
|
|
334
|
+
checks.push({
|
|
335
|
+
name: 'anvil',
|
|
336
|
+
status: 'error',
|
|
337
|
+
message: 'anvil is not installed or not in PATH',
|
|
338
|
+
details: 'anvil comes with Foundry. Run "foundryup" to update.'
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
// 13. Check if Anvil is running on correct port and chain-id
|
|
343
|
+
const anvilRunningCheck = ora('Checking if Anvil is running (port 55556, chain-id 3133731337)...').start();
|
|
344
|
+
try {
|
|
345
|
+
// Try to get chain id from the RPC
|
|
346
|
+
const rpcUrl = 'http://localhost:55556';
|
|
347
|
+
const chainIdResponse = execSync(
|
|
348
|
+
`cast chain-id --rpc-url ${rpcUrl}`,
|
|
349
|
+
{ encoding: 'utf-8', stdio: 'pipe', timeout: 5000 }
|
|
350
|
+
).trim();
|
|
351
|
+
|
|
352
|
+
// cast chain-id returns decimal number, but handle hex if needed
|
|
353
|
+
let chainId: number;
|
|
354
|
+
if (chainIdResponse.startsWith('0x') || chainIdResponse.startsWith('0X')) {
|
|
355
|
+
chainId = parseInt(chainIdResponse, 16);
|
|
356
|
+
} else {
|
|
357
|
+
chainId = parseInt(chainIdResponse, 10);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
if (chainId === 3133731337) {
|
|
361
|
+
anvilRunningCheck.succeed(`Anvil running on port 55556 with chain-id ${chainId}`);
|
|
362
|
+
checks.push({
|
|
363
|
+
name: 'Anvil Running',
|
|
364
|
+
status: 'success',
|
|
365
|
+
message: `Anvil running on port 55556 with chain-id ${chainId}`
|
|
366
|
+
});
|
|
367
|
+
} else {
|
|
368
|
+
anvilRunningCheck.fail(`Anvil running but wrong chain-id: ${chainId} (expected 3133731337)`);
|
|
369
|
+
checks.push({
|
|
370
|
+
name: 'Anvil Running',
|
|
371
|
+
status: 'error',
|
|
372
|
+
message: `Anvil running but wrong chain-id: ${chainId}`,
|
|
373
|
+
details: 'Start Anvil with: anvil --chain-id 3133731337 --port 55556'
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
} catch (error: any) {
|
|
377
|
+
const errorMsg = error.message || String(error);
|
|
378
|
+
if (errorMsg.includes('ECONNREFUSED') || errorMsg.includes('Connection refused')) {
|
|
379
|
+
anvilRunningCheck.fail('Anvil is not running');
|
|
380
|
+
checks.push({
|
|
381
|
+
name: 'Anvil Running',
|
|
382
|
+
status: 'error',
|
|
383
|
+
message: 'Anvil is not running on port 55556',
|
|
384
|
+
details: 'Start Anvil with: anvil --chain-id 3133731337 --port 55556'
|
|
385
|
+
});
|
|
386
|
+
} else if (errorMsg.includes('timeout') || errorMsg.includes('ETIMEDOUT')) {
|
|
387
|
+
anvilRunningCheck.fail('Anvil connection timeout');
|
|
388
|
+
checks.push({
|
|
389
|
+
name: 'Anvil Running',
|
|
390
|
+
status: 'error',
|
|
391
|
+
message: 'Anvil connection timeout',
|
|
392
|
+
details: 'Check if Anvil is running: anvil --chain-id 3133731337 --port 55556'
|
|
393
|
+
});
|
|
394
|
+
} else {
|
|
395
|
+
anvilRunningCheck.fail('Cannot connect to Anvil');
|
|
396
|
+
checks.push({
|
|
397
|
+
name: 'Anvil Running',
|
|
398
|
+
status: 'error',
|
|
399
|
+
message: 'Cannot connect to Anvil',
|
|
400
|
+
details: `Error: ${errorMsg}. Start Anvil with: anvil --chain-id 3133731337 --port 55556`
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
// 14. Check Anvil account 0
|
|
406
|
+
const anvilAccountCheck = ora('Checking Anvil account 0...').start();
|
|
407
|
+
try {
|
|
408
|
+
const rpcUrl = 'http://localhost:55556';
|
|
409
|
+
const balance = execSync(
|
|
410
|
+
`cast balance 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --rpc-url ${rpcUrl}`,
|
|
411
|
+
{ encoding: 'utf-8', stdio: 'pipe', timeout: 5000 }
|
|
412
|
+
).trim();
|
|
413
|
+
|
|
414
|
+
anvilAccountCheck.succeed(`Account 0 balance: ${balance} wei`);
|
|
415
|
+
checks.push({
|
|
416
|
+
name: 'Anvil Account 0',
|
|
417
|
+
status: 'success',
|
|
418
|
+
message: `Account 0 available with balance: ${balance} wei`
|
|
419
|
+
});
|
|
420
|
+
} catch (error: any) {
|
|
421
|
+
anvilAccountCheck.fail('Cannot access Anvil account 0');
|
|
422
|
+
checks.push({
|
|
423
|
+
name: 'Anvil Account 0',
|
|
424
|
+
status: 'error',
|
|
425
|
+
message: 'Cannot access Anvil account 0',
|
|
426
|
+
details: 'Make sure Anvil is running and account 0 is unlocked'
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
// ============================================
|
|
431
|
+
// SUMMARY
|
|
432
|
+
// ============================================
|
|
433
|
+
console.log(chalk.cyan('\n📊 Summary\n'));
|
|
434
|
+
console.log(chalk.gray('─'.repeat(60)));
|
|
435
|
+
|
|
436
|
+
const successCount = checks.filter(c => c.status === 'success').length;
|
|
437
|
+
const warningCount = checks.filter(c => c.status === 'warning').length;
|
|
438
|
+
const errorCount = checks.filter(c => c.status === 'error').length;
|
|
439
|
+
|
|
440
|
+
console.log(chalk.white(` Total checks: ${chalk.cyan(checks.length)}`));
|
|
441
|
+
console.log(chalk.white(` ${chalk.green('✓')} Success: ${chalk.green(successCount)}`));
|
|
442
|
+
console.log(chalk.white(` ${chalk.yellow('⚠')} Warnings: ${chalk.yellow(warningCount)}`));
|
|
443
|
+
console.log(chalk.white(` ${chalk.red('✗')} Errors: ${chalk.red(errorCount)}`));
|
|
444
|
+
console.log(chalk.gray('─'.repeat(60)));
|
|
445
|
+
|
|
446
|
+
if (verbose) {
|
|
447
|
+
console.log(chalk.cyan('\n📋 Detailed Results\n'));
|
|
448
|
+
checks.forEach(check => {
|
|
449
|
+
const icon = check.status === 'success' ? chalk.green('✓') :
|
|
450
|
+
check.status === 'warning' ? chalk.yellow('⚠') :
|
|
451
|
+
chalk.red('✗');
|
|
452
|
+
console.log(chalk.gray(` ${icon} ${chalk.white(check.name)}: ${check.message}`));
|
|
453
|
+
if (check.details) {
|
|
454
|
+
console.log(chalk.gray(` ${chalk.dim(check.details)}`));
|
|
455
|
+
}
|
|
456
|
+
});
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
// Show errors and warnings
|
|
460
|
+
const errors = checks.filter(c => c.status === 'error');
|
|
461
|
+
const warnings = checks.filter(c => c.status === 'warning');
|
|
462
|
+
|
|
463
|
+
if (errors.length > 0) {
|
|
464
|
+
console.log(chalk.red('\n❌ Errors that need to be fixed:\n'));
|
|
465
|
+
errors.forEach(error => {
|
|
466
|
+
console.log(chalk.red(` ✗ ${error.name}`));
|
|
467
|
+
console.log(chalk.white(` ${error.message}`));
|
|
468
|
+
if (error.details) {
|
|
469
|
+
console.log(chalk.gray(` 💡 ${error.details}`));
|
|
470
|
+
}
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
if (warnings.length > 0) {
|
|
475
|
+
console.log(chalk.yellow('\n⚠️ Warnings (optional but recommended):\n'));
|
|
476
|
+
warnings.forEach(warning => {
|
|
477
|
+
console.log(chalk.yellow(` ⚠ ${warning.name}`));
|
|
478
|
+
console.log(chalk.white(` ${warning.message}`));
|
|
479
|
+
if (warning.details) {
|
|
480
|
+
console.log(chalk.gray(` 💡 ${warning.details}`));
|
|
481
|
+
}
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
// Final status
|
|
486
|
+
console.log('');
|
|
487
|
+
if (errorCount === 0 && warningCount === 0) {
|
|
488
|
+
console.log(chalk.green('✅ All checks passed! You are ready to deploy.\n'));
|
|
489
|
+
process.exit(0);
|
|
490
|
+
} else if (errorCount === 0) {
|
|
491
|
+
console.log(chalk.yellow('⚠️ Some warnings found, but you can proceed with deployments.\n'));
|
|
492
|
+
process.exit(0);
|
|
493
|
+
} else {
|
|
494
|
+
console.log(chalk.red('❌ Some errors found. Please fix them before deploying.\n'));
|
|
495
|
+
process.exit(1);
|
|
496
|
+
}
|
|
497
|
+
});
|
|
498
|
+
|
package/src/index.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { Command } from 'commander';
|
|
|
4
4
|
import { deployCommand } from './commands/deploy';
|
|
5
5
|
import { deployScCommand } from './commands/deploy-sc';
|
|
6
6
|
import { authCommand } from './commands/auth';
|
|
7
|
+
import { doctorCommand } from './commands/doctor';
|
|
7
8
|
|
|
8
9
|
const program = new Command();
|
|
9
10
|
|
|
@@ -16,5 +17,6 @@ program
|
|
|
16
17
|
program.addCommand(deployCommand);
|
|
17
18
|
program.addCommand(deployScCommand);
|
|
18
19
|
program.addCommand(authCommand);
|
|
20
|
+
program.addCommand(doctorCommand);
|
|
19
21
|
|
|
20
22
|
program.parse(process.argv);
|
package/token.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"token": "eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Imp2aWVqb0BnbWFpbC5jb20iLCJpYXQiOjE3NjY5NDI5NDMsImV4cCI6MTc5ODQ3ODk0M30.ZILFm5cFxIbcpeHOXP3Ya2mLHCIXtJWGBJBk5GiE1M4",
|
|
3
|
+
"email": "jviejo@gmail.com",
|
|
4
|
+
"tokenId": "695168be3a6c2001aa651404",
|
|
5
|
+
"code": "615267",
|
|
6
|
+
"serverUrl": "http://localhost:3000",
|
|
7
|
+
"verifiedAt": "2025-12-28T17:29:05.128Z",
|
|
8
|
+
"studentGlobalsAll": [
|
|
9
|
+
{
|
|
10
|
+
"_id": "694c2b5c4b5b842a33ec9c59",
|
|
11
|
+
"projectId": "global",
|
|
12
|
+
"studentEmail": "jviejo@gmail.com",
|
|
13
|
+
"environment": "dev",
|
|
14
|
+
"key": "A",
|
|
15
|
+
"value": "1",
|
|
16
|
+
"createdAt": "2025-12-24T18:05:16.826Z",
|
|
17
|
+
"updatedAt": "2025-12-24T18:05:16.826Z"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"_id": "694c2b5c4b5b842a33ec9c5a",
|
|
21
|
+
"projectId": "global",
|
|
22
|
+
"studentEmail": "jviejo@gmail.com",
|
|
23
|
+
"environment": "dev",
|
|
24
|
+
"key": "B",
|
|
25
|
+
"value": "2",
|
|
26
|
+
"createdAt": "2025-12-24T18:05:16.888Z",
|
|
27
|
+
"updatedAt": "2025-12-24T18:05:16.888Z"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"adminGlobals": [
|
|
31
|
+
{
|
|
32
|
+
"_id": "6950fd3a8d438028a4492cd9",
|
|
33
|
+
"projectId": "global",
|
|
34
|
+
"environment": "all",
|
|
35
|
+
"key": "docker-client/ca-pem",
|
|
36
|
+
"value": "-----BEGIN CERTIFICATE-----\nMIIFiTCCA3GgAwIBAgIUCA9aZbNMRyz1oTh01G6mMpzZoUgwDQYJKoZIhvcNAQEL\nBQAwVDELMAkGA1UEBhMCRVMxDzANBgNVBAgMBk1hZHJpZDEPMA0GA1UEBwwGTWFk\ncmlkMQ8wDQYDVQQKDAZEb2NrZXIxEjAQBgNVBAMMCURvY2tlci1DQTAeFw0yNTEy\nMjUxOTE3NTVaFw0yNjEyMjUxOTE3NTVaMFQxCzAJBgNVBAYTAkVTMQ8wDQYDVQQI\nDAZNYWRyaWQxDzANBgNVBAcMBk1hZHJpZDEPMA0GA1UECgwGRG9ja2VyMRIwEAYD\nVQQDDAlEb2NrZXItQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM\nhPVDHtJCKoD6mfPvXK1qyQA7cqTPf3pooCR6y1W0E9lRMP9DetdZS45HFy+vJgMR\nTpxqFod1eBnmTw/tGCeuzndpA1ntFTScTbE+nCozHF/6SmH0++7SH3qqZ3Df4myj\nKUJUYgylAL++tcZsJkkAZ3KPC55y+7hdDsR3aLt2AuqBN2x1nYmFx776N7j6hArP\nmM+PJEKVd+1bVB/f3Yz0tNzup4cgESIee+a7dXKFXDPibhmiRn+pA1l3Opmo7f09\nKLiGAxj72ILI61wsWg774xg4Ncv2IDo6NpHtW9q345frpjRPJMmaqJWKZ7cQU8m4\nbwx2w4YH2riNbD0jWoUx+dDkBX2esI5gmrugZKnSj81cZwyQFr+9Dgxa4N9yn5V/\nXXht2EID7S8oYXI8Fz7u54iShf8wtk6YQumQYUc4b3GL6Y8Jg7SXzsvuY2oo+cId\n05b1r8ESV8SxLZ75+irhC8g0IH2KjMluk0ceUsoCfEh3WaJs4fEcfqywEfkU+3VA\nFdYxaeMBydVBa/BsxXMVQudzixXJr1qAZ6WA/zGnMbCI0idxxStEgHt3+d42bfMv\n99iT5/rgQRxHl1GW7G78hTz6AEJf4ULLG+VJsiBqUahlSKVpquZjLRPAtZjzZ0qv\n4BgQi8SuPqDZ7KNiYJuBdlTyIR8hXC70j5NxqdcZOwIDAQABo1MwUTAdBgNVHQ4E\nFgQUZvAcG1qqcADfqXTCjCoNbqzhy9cwHwYDVR0jBBgwFoAUZvAcG1qqcADfqXTC\njCoNbqzhy9cwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAxRqx\nTNyAtoc3bOkp45a93AY8OY/OnVAiCBt6KQ+nS7iv4NZ/I3VI/ZD+OyG8+Rk1A2HB\nY9AdRt9vfSHNpEH+MDdomx3Bvq5ErFDgDDbCGVkdtlcFTHs7UNL/161Z9oh1RCvF\nYVygIJZKxJ6v0dCSZvUvjKmCdR5XN+FAsDZvWNePkaTY7usInUuDM9ONwEXTuoo8\n9h9pLU/R9o4GNwXR5H8l6EqGcevKJhMnaaIdg8AyYIiL2vC0Qnt4BPFFV0S2Aeim\nAOPT2ERuypEA9xlG0NiWsY5B84oX5wiR7D8gsws4EzIvMm8LSlkBHM7joppMKNPq\nXsD/SAlLpGO2w9mZe2lEYQ7S1PX8RJlCMaPx6PYn1QRGGG9tstyaHlA3RCqfQXgk\n96wmGfKu7wmohD8lJIlDXayYOJE45ogZ6R9gOJNUF8pj0YN5ElvdCCoRan/vbyOH\nj7e9cEr6+if7o/fTG8x7FoxBOWQbPfOqVf7tM4LUA91O1xdqk5fqWmjNIqa075Oi\nlkDhAo2hr8yDbzJRxW7KrtvEh0GzlG0pwVrlU14EwuwdZadgkzyiv4goNSDg+hfA\n59Sx7bmfGX9Te+5ELg8WcH+XcLI+143Dh0QPm8dpRdgK452y05QRl0YTASXnxEXf\n//7MY0ONUH55rumpj03vAy+RMhANd4Jv7q8sKT8=\n-----END CERTIFICATE-----",
|
|
37
|
+
"createdAt": "2025-12-28T09:49:46.110Z",
|
|
38
|
+
"updatedAt": "2025-12-28T10:04:15.387Z"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"_id": "6950fd6b8d438028a4492cda",
|
|
42
|
+
"projectId": "global",
|
|
43
|
+
"environment": "all",
|
|
44
|
+
"key": "docker-client/cert.pem",
|
|
45
|
+
"value": "-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIULnKTk/HTmOsi2yZETw4PHCwLGvcwDQYJKoZIhvcNAQEL\nBQAwVDELMAkGA1UEBhMCRVMxDzANBgNVBAgMBk1hZHJpZDEPMA0GA1UEBwwGTWFk\ncmlkMQ8wDQYDVQQKDAZEb2NrZXIxEjAQBgNVBAMMCURvY2tlci1DQTAeFw0yNTEy\nMjUxOTE4MzBaFw0yNjEyMjUxOTE4MzBaMBUxEzARBgNVBAMMCmNvZGVjcnlwdG8w\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCaUBQkyZYS9RgeSK3t7oed\niOrOpwvBvLHLvPeh1EHGRt7ZIbfMTDBTCeMUqgbiQ0aoEk6Y0bsY/KBrqtpZFhiC\n/zZk5lnHOjJpX+jWMDrLQbHUCmIhPYRE8ZyxPuKl1wYpiRRjVY37cFW6oicn0e4T\njAG59k+1/fltn5OYq4LOJDrScOwuCHeuoryqimXKqhqVHO8537Ye+8r6HcP84+BO\n9gtuXKXBnVHi/xSIfgZ/ErcpeO+jQ3D3l0Zmj/BIAY3qSNw1HcDULSKKtwrqdMNW\nuKGHl58mBiGvTG9SYiD8H207S0vvnyGThzwtbNRhM96cK3OyhVRVx+ilE+Mr4oOX\nfH/OTWp2dGXysPAQbmpWL6cWeea5+Ts/SoryAgFNmtqxLLa9riVhBmF+sR8wyDZw\nYuSE/CWs1J5bds9Mip/fndRvBuLEV3B91GcxZXX/dHOof74awlAMLdL2QVdhD+1U\nMIQynJ8a38VBuexKzg8jqx8EBFKQQSirfFnJX1NTpANIjUWwCCds0rmxXMJEuBfP\nOEc1wYr52b7nLylpwaAkTQJaQRpvoKm+xTIxWoBtWIVaOuQpvgRtRVfXFUooD8KN\nPRGNqUtzjZBaJPMs6O1NPHP2pef+vTuR/x45Hx5bX6xg+sEZO4YmNP5GQMVZXDWP\nRUKk8N8SPXaV0mj1V1DyrwIDAQABo28wbTAfBgNVHSMEGDAWgBRm8BwbWqpwAN+p\ndMKMKg1urOHL1zAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDATBgNVHSUEDDAKBggr\nBgEFBQcDAjAdBgNVHQ4EFgQUB1Z0Z9m6Wkqm1+gzAGURQIFBOtgwDQYJKoZIhvcN\nAQELBQADggIBAIPlwhzIA43IJx3Wd4u5zKgEXbBrD7rJRzhuLs0qFi3pIUoBzTka\nUwABshAn6ZZzXi0YZfygskIsNX4TIxgkDtu2IcKttHHYAXetYRalZD/CDt/QNUgY\nnQwNiAT0rNPUcPiiizkifXbQu0Qr1/vWAtSrJbElJqMBpjwUiBjrfxt2BSnCwl4/\n9wYYL7j/164MdA+gwOVYCyAzGzaRW9mlORTP4bbTho+dsHYTyZbt5pxybDLnYBxs\nHDknLdaa24Uso8SUW7wNnalg+Bqy3oWFr/hl78EjNxyCNQ1CBrTnQVi7L9NkFh/N\nzbG86aH8sBPjqpU2WOl8nUQbfTGCwScb1BJUPKu0nYpHC3C4ghuQfSD3tDfgGPcj\nPxXjY+A/K0CU+0l5CyRAu+pMYJo9HMALmcidcghX0sRZt/ZEvKe4k/cGZ0yIxRlV\nXAso6RaJ+Auok+JOSmao+3WZCqrXEG0st0PBG9PyiClxjGxSYmB5Caa91UAmlaFG\nVFlEQfkhm0VwOqr/ANGOdHOn+QzLOn7y3ZWB+xL5JFRBY/ZC1JpAtB2t+e+iYN8u\n/D4IzSW62gdsg+yU/1NAyT6ygmnya2p4VHaIxy/pzPOr/c0hPHciBG1/5st9vKy/\n0CAQH9PFBR4jX0zkVJQdn35V0opNs6PWWRfJtPPvt/HCn/6tBsCkvQEY\n-----END CERTIFICATE-----",
|
|
46
|
+
"createdAt": "2025-12-28T09:50:35.462Z",
|
|
47
|
+
"updatedAt": "2025-12-28T17:21:40.620Z"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"_id": "6950fda68d438028a4492cdb",
|
|
51
|
+
"projectId": "global",
|
|
52
|
+
"environment": "all",
|
|
53
|
+
"key": "docker-client/key.pem",
|
|
54
|
+
"value": "-----BEGIN PRIVATE KEY-----\n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\no99r+Qeei3PQTkI4bhvZ7y9Rz7gE\n-----END PRIVATE KEY-----",
|
|
55
|
+
"createdAt": "2025-12-28T09:51:34.588Z",
|
|
56
|
+
"updatedAt": "2025-12-28T10:02:41.563Z"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"_id": "6951068b3a6c2001aa6513d7",
|
|
60
|
+
"projectId": "global",
|
|
61
|
+
"environment": "dev",
|
|
62
|
+
"scope": "client",
|
|
63
|
+
"key": "clave ",
|
|
64
|
+
"value": "valor",
|
|
65
|
+
"createdAt": "2025-12-28T10:29:31.244Z",
|
|
66
|
+
"updatedAt": "2025-12-28T10:29:31.244Z"
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
var R=require("../../../chunks/[turbopack]_runtime.js")("server/app/api/deploy/route.js")
|
|
2
|
-
R.c("server/chunks/[root-of-the-server]__0c6b3bd9._.js")
|
|
3
|
-
R.c("server/chunks/[root-of-the-server]__90ea784b._.js")
|
|
4
|
-
R.c("server/chunks/[root-of-the-server]__f6379956._.js")
|
|
5
|
-
R.c("server/chunks/10072_infra_server-cc__next-internal_server_app_api_deploy_route_actions_6cdc6432.js")
|
|
6
|
-
R.m(88251)
|
|
7
|
-
module.exports=R.m(88251).exports
|