@fuzdev/fuz_app 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.
- package/LICENSE +21 -0
- package/README.md +49 -0
- package/dist/actions/action_bridge.d.ts +65 -0
- package/dist/actions/action_bridge.d.ts.map +1 -0
- package/dist/actions/action_bridge.js +76 -0
- package/dist/actions/action_codegen.d.ts +97 -0
- package/dist/actions/action_codegen.d.ts.map +1 -0
- package/dist/actions/action_codegen.js +280 -0
- package/dist/actions/action_registry.d.ts +35 -0
- package/dist/actions/action_registry.d.ts.map +1 -0
- package/dist/actions/action_registry.js +83 -0
- package/dist/actions/action_spec.d.ts +169 -0
- package/dist/actions/action_spec.d.ts.map +1 -0
- package/dist/actions/action_spec.js +76 -0
- package/dist/auth/account_queries.d.ts +96 -0
- package/dist/auth/account_queries.d.ts.map +1 -0
- package/dist/auth/account_queries.js +172 -0
- package/dist/auth/account_routes.d.ts +86 -0
- package/dist/auth/account_routes.d.ts.map +1 -0
- package/dist/auth/account_routes.js +406 -0
- package/dist/auth/account_schema.d.ts +192 -0
- package/dist/auth/account_schema.d.ts.map +1 -0
- package/dist/auth/account_schema.js +105 -0
- package/dist/auth/admin_routes.d.ts +29 -0
- package/dist/auth/admin_routes.d.ts.map +1 -0
- package/dist/auth/admin_routes.js +193 -0
- package/dist/auth/api_token.d.ts +33 -0
- package/dist/auth/api_token.d.ts.map +1 -0
- package/dist/auth/api_token.js +36 -0
- package/dist/auth/api_token_queries.d.ts +80 -0
- package/dist/auth/api_token_queries.d.ts.map +1 -0
- package/dist/auth/api_token_queries.js +116 -0
- package/dist/auth/app_settings_queries.d.ts +33 -0
- package/dist/auth/app_settings_queries.d.ts.map +1 -0
- package/dist/auth/app_settings_queries.js +51 -0
- package/dist/auth/app_settings_routes.d.ts +27 -0
- package/dist/auth/app_settings_routes.d.ts.map +1 -0
- package/dist/auth/app_settings_routes.js +66 -0
- package/dist/auth/app_settings_schema.d.ts +35 -0
- package/dist/auth/app_settings_schema.d.ts.map +1 -0
- package/dist/auth/app_settings_schema.js +22 -0
- package/dist/auth/audit_log_queries.d.ts +90 -0
- package/dist/auth/audit_log_queries.d.ts.map +1 -0
- package/dist/auth/audit_log_queries.js +205 -0
- package/dist/auth/audit_log_routes.d.ts +33 -0
- package/dist/auth/audit_log_routes.d.ts.map +1 -0
- package/dist/auth/audit_log_routes.js +106 -0
- package/dist/auth/audit_log_schema.d.ts +259 -0
- package/dist/auth/audit_log_schema.d.ts.map +1 -0
- package/dist/auth/audit_log_schema.js +123 -0
- package/dist/auth/bearer_auth.d.ts +32 -0
- package/dist/auth/bearer_auth.d.ts.map +1 -0
- package/dist/auth/bearer_auth.js +90 -0
- package/dist/auth/bootstrap_account.d.ts +82 -0
- package/dist/auth/bootstrap_account.d.ts.map +1 -0
- package/dist/auth/bootstrap_account.js +97 -0
- package/dist/auth/bootstrap_routes.d.ts +74 -0
- package/dist/auth/bootstrap_routes.d.ts.map +1 -0
- package/dist/auth/bootstrap_routes.js +154 -0
- package/dist/auth/daemon_token.d.ts +49 -0
- package/dist/auth/daemon_token.d.ts.map +1 -0
- package/dist/auth/daemon_token.js +49 -0
- package/dist/auth/daemon_token_middleware.d.ts +93 -0
- package/dist/auth/daemon_token_middleware.d.ts.map +1 -0
- package/dist/auth/daemon_token_middleware.js +167 -0
- package/dist/auth/ddl.d.ts +27 -0
- package/dist/auth/ddl.d.ts.map +1 -0
- package/dist/auth/ddl.js +111 -0
- package/dist/auth/deps.d.ts +52 -0
- package/dist/auth/deps.d.ts.map +1 -0
- package/dist/auth/deps.js +10 -0
- package/dist/auth/invite_queries.d.ts +68 -0
- package/dist/auth/invite_queries.d.ts.map +1 -0
- package/dist/auth/invite_queries.js +105 -0
- package/dist/auth/invite_routes.d.ts +18 -0
- package/dist/auth/invite_routes.d.ts.map +1 -0
- package/dist/auth/invite_routes.js +129 -0
- package/dist/auth/invite_schema.d.ts +51 -0
- package/dist/auth/invite_schema.d.ts.map +1 -0
- package/dist/auth/invite_schema.js +25 -0
- package/dist/auth/keyring.d.ts +87 -0
- package/dist/auth/keyring.d.ts.map +1 -0
- package/dist/auth/keyring.js +142 -0
- package/dist/auth/middleware.d.ts +40 -0
- package/dist/auth/middleware.d.ts.map +1 -0
- package/dist/auth/middleware.js +64 -0
- package/dist/auth/migrations.d.ts +42 -0
- package/dist/auth/migrations.d.ts.map +1 -0
- package/dist/auth/migrations.js +79 -0
- package/dist/auth/password.d.ts +39 -0
- package/dist/auth/password.d.ts.map +1 -0
- package/dist/auth/password.js +25 -0
- package/dist/auth/password_argon2.d.ts +43 -0
- package/dist/auth/password_argon2.d.ts.map +1 -0
- package/dist/auth/password_argon2.js +76 -0
- package/dist/auth/permit_queries.d.ts +72 -0
- package/dist/auth/permit_queries.d.ts.map +1 -0
- package/dist/auth/permit_queries.js +116 -0
- package/dist/auth/request_context.d.ts +114 -0
- package/dist/auth/request_context.d.ts.map +1 -0
- package/dist/auth/request_context.js +176 -0
- package/dist/auth/require_keeper.d.ts +20 -0
- package/dist/auth/require_keeper.d.ts.map +1 -0
- package/dist/auth/require_keeper.js +35 -0
- package/dist/auth/role_schema.d.ts +69 -0
- package/dist/auth/role_schema.d.ts.map +1 -0
- package/dist/auth/role_schema.js +70 -0
- package/dist/auth/route_guards.d.ts +21 -0
- package/dist/auth/route_guards.d.ts.map +1 -0
- package/dist/auth/route_guards.js +32 -0
- package/dist/auth/session_cookie.d.ts +158 -0
- package/dist/auth/session_cookie.d.ts.map +1 -0
- package/dist/auth/session_cookie.js +135 -0
- package/dist/auth/session_lifecycle.d.ts +35 -0
- package/dist/auth/session_lifecycle.d.ts.map +1 -0
- package/dist/auth/session_lifecycle.js +27 -0
- package/dist/auth/session_middleware.d.ts +33 -0
- package/dist/auth/session_middleware.d.ts.map +1 -0
- package/dist/auth/session_middleware.js +62 -0
- package/dist/auth/session_queries.d.ts +135 -0
- package/dist/auth/session_queries.d.ts.map +1 -0
- package/dist/auth/session_queries.js +186 -0
- package/dist/auth/signup_routes.d.ts +32 -0
- package/dist/auth/signup_routes.d.ts.map +1 -0
- package/dist/auth/signup_routes.js +150 -0
- package/dist/cli/args.d.ts +48 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +76 -0
- package/dist/cli/config.d.ts +48 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +77 -0
- package/dist/cli/daemon.d.ts +82 -0
- package/dist/cli/daemon.d.ts.map +1 -0
- package/dist/cli/daemon.js +149 -0
- package/dist/cli/help.d.ts +85 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +138 -0
- package/dist/cli/logger.d.ts +46 -0
- package/dist/cli/logger.d.ts.map +1 -0
- package/dist/cli/logger.js +48 -0
- package/dist/cli/util.d.ts +36 -0
- package/dist/cli/util.d.ts.map +1 -0
- package/dist/cli/util.js +50 -0
- package/dist/crypto.d.ts +13 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +19 -0
- package/dist/db/assert_row.d.ts +18 -0
- package/dist/db/assert_row.d.ts.map +1 -0
- package/dist/db/assert_row.js +24 -0
- package/dist/db/create_db.d.ts +38 -0
- package/dist/db/create_db.d.ts.map +1 -0
- package/dist/db/create_db.js +57 -0
- package/dist/db/db.d.ts +97 -0
- package/dist/db/db.d.ts.map +1 -0
- package/dist/db/db.js +76 -0
- package/dist/db/db_pg.d.ts +21 -0
- package/dist/db/db_pg.d.ts.map +1 -0
- package/dist/db/db_pg.js +45 -0
- package/dist/db/db_pglite.d.ts +21 -0
- package/dist/db/db_pglite.d.ts.map +1 -0
- package/dist/db/db_pglite.js +28 -0
- package/dist/db/migrate.d.ts +67 -0
- package/dist/db/migrate.d.ts.map +1 -0
- package/dist/db/migrate.js +118 -0
- package/dist/db/pg_error.d.ts +16 -0
- package/dist/db/pg_error.d.ts.map +1 -0
- package/dist/db/pg_error.js +15 -0
- package/dist/db/query_deps.d.ts +14 -0
- package/dist/db/query_deps.d.ts.map +1 -0
- package/dist/db/query_deps.js +9 -0
- package/dist/db/sql_identifier.d.ts +27 -0
- package/dist/db/sql_identifier.d.ts.map +1 -0
- package/dist/db/sql_identifier.js +31 -0
- package/dist/db/status.d.ts +62 -0
- package/dist/db/status.d.ts.map +1 -0
- package/dist/db/status.js +116 -0
- package/dist/dev/setup.d.ts +159 -0
- package/dist/dev/setup.d.ts.map +1 -0
- package/dist/dev/setup.js +265 -0
- package/dist/env/dotenv.d.ts +25 -0
- package/dist/env/dotenv.d.ts.map +1 -0
- package/dist/env/dotenv.js +52 -0
- package/dist/env/load.d.ts +52 -0
- package/dist/env/load.d.ts.map +1 -0
- package/dist/env/load.js +79 -0
- package/dist/env/mask.d.ts +19 -0
- package/dist/env/mask.d.ts.map +1 -0
- package/dist/env/mask.js +26 -0
- package/dist/env/resolve.d.ts +126 -0
- package/dist/env/resolve.d.ts.map +1 -0
- package/dist/env/resolve.js +200 -0
- package/dist/hono_context.d.ts +48 -0
- package/dist/hono_context.d.ts.map +1 -0
- package/dist/hono_context.js +22 -0
- package/dist/http/common_routes.d.ts +52 -0
- package/dist/http/common_routes.d.ts.map +1 -0
- package/dist/http/common_routes.js +65 -0
- package/dist/http/db_routes.d.ts +57 -0
- package/dist/http/db_routes.d.ts.map +1 -0
- package/dist/http/db_routes.js +176 -0
- package/dist/http/error_schemas.d.ts +169 -0
- package/dist/http/error_schemas.d.ts.map +1 -0
- package/dist/http/error_schemas.js +178 -0
- package/dist/http/middleware_spec.d.ts +19 -0
- package/dist/http/middleware_spec.d.ts.map +1 -0
- package/dist/http/middleware_spec.js +9 -0
- package/dist/http/origin.d.ts +57 -0
- package/dist/http/origin.d.ts.map +1 -0
- package/dist/http/origin.js +207 -0
- package/dist/http/proxy.d.ts +112 -0
- package/dist/http/proxy.d.ts.map +1 -0
- package/dist/http/proxy.js +240 -0
- package/dist/http/route_spec.d.ts +197 -0
- package/dist/http/route_spec.d.ts.map +1 -0
- package/dist/http/route_spec.js +243 -0
- package/dist/http/schema_helpers.d.ts +64 -0
- package/dist/http/schema_helpers.d.ts.map +1 -0
- package/dist/http/schema_helpers.js +90 -0
- package/dist/http/surface.d.ts +132 -0
- package/dist/http/surface.d.ts.map +1 -0
- package/dist/http/surface.js +156 -0
- package/dist/http/surface_query.d.ts +77 -0
- package/dist/http/surface_query.d.ts.map +1 -0
- package/dist/http/surface_query.js +86 -0
- package/dist/rate_limiter.d.ts +94 -0
- package/dist/rate_limiter.d.ts.map +1 -0
- package/dist/rate_limiter.js +156 -0
- package/dist/realtime/sse.d.ts +80 -0
- package/dist/realtime/sse.d.ts.map +1 -0
- package/dist/realtime/sse.js +109 -0
- package/dist/realtime/sse_auth_guard.d.ts +93 -0
- package/dist/realtime/sse_auth_guard.d.ts.map +1 -0
- package/dist/realtime/sse_auth_guard.js +111 -0
- package/dist/realtime/subscriber_registry.d.ts +85 -0
- package/dist/realtime/subscriber_registry.d.ts.map +1 -0
- package/dist/realtime/subscriber_registry.js +108 -0
- package/dist/runtime/deno.d.ts +21 -0
- package/dist/runtime/deno.d.ts.map +1 -0
- package/dist/runtime/deno.js +83 -0
- package/dist/runtime/deps.d.ts +113 -0
- package/dist/runtime/deps.d.ts.map +1 -0
- package/dist/runtime/deps.js +10 -0
- package/dist/runtime/fs.d.ts +15 -0
- package/dist/runtime/fs.d.ts.map +1 -0
- package/dist/runtime/fs.js +17 -0
- package/dist/runtime/mock.d.ts +81 -0
- package/dist/runtime/mock.d.ts.map +1 -0
- package/dist/runtime/mock.js +195 -0
- package/dist/runtime/node.d.ts +17 -0
- package/dist/runtime/node.d.ts.map +1 -0
- package/dist/runtime/node.js +117 -0
- package/dist/schema_meta.d.ts +16 -0
- package/dist/schema_meta.d.ts.map +1 -0
- package/dist/schema_meta.js +9 -0
- package/dist/sensitivity.d.ts +15 -0
- package/dist/sensitivity.d.ts.map +1 -0
- package/dist/sensitivity.js +9 -0
- package/dist/server/app_backend.d.ts +74 -0
- package/dist/server/app_backend.d.ts.map +1 -0
- package/dist/server/app_backend.js +39 -0
- package/dist/server/app_server.d.ts +201 -0
- package/dist/server/app_server.d.ts.map +1 -0
- package/dist/server/app_server.js +266 -0
- package/dist/server/env.d.ts +68 -0
- package/dist/server/env.d.ts.map +1 -0
- package/dist/server/env.js +95 -0
- package/dist/server/startup.d.ts +22 -0
- package/dist/server/startup.d.ts.map +1 -0
- package/dist/server/startup.js +48 -0
- package/dist/server/static.d.ts +39 -0
- package/dist/server/static.d.ts.map +1 -0
- package/dist/server/static.js +38 -0
- package/dist/server/validate_nginx.d.ts +34 -0
- package/dist/server/validate_nginx.d.ts.map +1 -0
- package/dist/server/validate_nginx.js +118 -0
- package/dist/testing/CLAUDE.md +3 -0
- package/dist/testing/admin_integration.d.ts +45 -0
- package/dist/testing/admin_integration.d.ts.map +1 -0
- package/dist/testing/admin_integration.js +840 -0
- package/dist/testing/adversarial_404.d.ts +15 -0
- package/dist/testing/adversarial_404.d.ts.map +1 -0
- package/dist/testing/adversarial_404.js +118 -0
- package/dist/testing/adversarial_headers.d.ts +36 -0
- package/dist/testing/adversarial_headers.d.ts.map +1 -0
- package/dist/testing/adversarial_headers.js +128 -0
- package/dist/testing/adversarial_input.d.ts +56 -0
- package/dist/testing/adversarial_input.d.ts.map +1 -0
- package/dist/testing/adversarial_input.js +494 -0
- package/dist/testing/app_server.d.ts +169 -0
- package/dist/testing/app_server.d.ts.map +1 -0
- package/dist/testing/app_server.js +240 -0
- package/dist/testing/assert_dev_env.d.ts +10 -0
- package/dist/testing/assert_dev_env.d.ts.map +1 -0
- package/dist/testing/assert_dev_env.js +13 -0
- package/dist/testing/assertions.d.ts +61 -0
- package/dist/testing/assertions.d.ts.map +1 -0
- package/dist/testing/assertions.js +96 -0
- package/dist/testing/attack_surface.d.ts +63 -0
- package/dist/testing/attack_surface.d.ts.map +1 -0
- package/dist/testing/attack_surface.js +224 -0
- package/dist/testing/audit_completeness.d.ts +29 -0
- package/dist/testing/audit_completeness.d.ts.map +1 -0
- package/dist/testing/audit_completeness.js +410 -0
- package/dist/testing/auth_apps.d.ts +55 -0
- package/dist/testing/auth_apps.d.ts.map +1 -0
- package/dist/testing/auth_apps.js +122 -0
- package/dist/testing/data_exposure.d.ts +62 -0
- package/dist/testing/data_exposure.d.ts.map +1 -0
- package/dist/testing/data_exposure.js +297 -0
- package/dist/testing/db.d.ts +111 -0
- package/dist/testing/db.d.ts.map +1 -0
- package/dist/testing/db.js +258 -0
- package/dist/testing/entities.d.ts +21 -0
- package/dist/testing/entities.d.ts.map +1 -0
- package/dist/testing/entities.js +42 -0
- package/dist/testing/error_coverage.d.ts +78 -0
- package/dist/testing/error_coverage.d.ts.map +1 -0
- package/dist/testing/error_coverage.js +135 -0
- package/dist/testing/integration.d.ts +37 -0
- package/dist/testing/integration.d.ts.map +1 -0
- package/dist/testing/integration.js +1139 -0
- package/dist/testing/integration_helpers.d.ts +107 -0
- package/dist/testing/integration_helpers.d.ts.map +1 -0
- package/dist/testing/integration_helpers.js +246 -0
- package/dist/testing/middleware.d.ts +125 -0
- package/dist/testing/middleware.d.ts.map +1 -0
- package/dist/testing/middleware.js +210 -0
- package/dist/testing/rate_limiting.d.ts +43 -0
- package/dist/testing/rate_limiting.d.ts.map +1 -0
- package/dist/testing/rate_limiting.js +216 -0
- package/dist/testing/round_trip.d.ts +37 -0
- package/dist/testing/round_trip.d.ts.map +1 -0
- package/dist/testing/round_trip.js +128 -0
- package/dist/testing/schema_generators.d.ts +33 -0
- package/dist/testing/schema_generators.d.ts.map +1 -0
- package/dist/testing/schema_generators.js +137 -0
- package/dist/testing/standard.d.ts +49 -0
- package/dist/testing/standard.d.ts.map +1 -0
- package/dist/testing/standard.js +16 -0
- package/dist/testing/stubs.d.ts +96 -0
- package/dist/testing/stubs.d.ts.map +1 -0
- package/dist/testing/stubs.js +192 -0
- package/dist/testing/surface_invariants.d.ts +189 -0
- package/dist/testing/surface_invariants.d.ts.map +1 -0
- package/dist/testing/surface_invariants.js +450 -0
- package/dist/ui/AccountSessions.svelte +75 -0
- package/dist/ui/AccountSessions.svelte.d.ts +19 -0
- package/dist/ui/AccountSessions.svelte.d.ts.map +1 -0
- package/dist/ui/AdminAccounts.svelte +107 -0
- package/dist/ui/AdminAccounts.svelte.d.ts +19 -0
- package/dist/ui/AdminAccounts.svelte.d.ts.map +1 -0
- package/dist/ui/AdminAuditLog.svelte +144 -0
- package/dist/ui/AdminAuditLog.svelte.d.ts +4 -0
- package/dist/ui/AdminAuditLog.svelte.d.ts.map +1 -0
- package/dist/ui/AdminInvites.svelte +142 -0
- package/dist/ui/AdminInvites.svelte.d.ts +4 -0
- package/dist/ui/AdminInvites.svelte.d.ts.map +1 -0
- package/dist/ui/AdminOverview.svelte +337 -0
- package/dist/ui/AdminOverview.svelte.d.ts +4 -0
- package/dist/ui/AdminOverview.svelte.d.ts.map +1 -0
- package/dist/ui/AdminPermitHistory.svelte +61 -0
- package/dist/ui/AdminPermitHistory.svelte.d.ts +19 -0
- package/dist/ui/AdminPermitHistory.svelte.d.ts.map +1 -0
- package/dist/ui/AdminSessions.svelte +85 -0
- package/dist/ui/AdminSessions.svelte.d.ts +19 -0
- package/dist/ui/AdminSessions.svelte.d.ts.map +1 -0
- package/dist/ui/AdminSettings.svelte +32 -0
- package/dist/ui/AdminSettings.svelte.d.ts +19 -0
- package/dist/ui/AdminSettings.svelte.d.ts.map +1 -0
- package/dist/ui/AdminSurface.svelte +42 -0
- package/dist/ui/AdminSurface.svelte.d.ts +4 -0
- package/dist/ui/AdminSurface.svelte.d.ts.map +1 -0
- package/dist/ui/AppShell.svelte +93 -0
- package/dist/ui/AppShell.svelte.d.ts +20 -0
- package/dist/ui/AppShell.svelte.d.ts.map +1 -0
- package/dist/ui/BootstrapForm.svelte +105 -0
- package/dist/ui/BootstrapForm.svelte.d.ts +4 -0
- package/dist/ui/BootstrapForm.svelte.d.ts.map +1 -0
- package/dist/ui/ColumnLayout.svelte +46 -0
- package/dist/ui/ColumnLayout.svelte.d.ts +11 -0
- package/dist/ui/ColumnLayout.svelte.d.ts.map +1 -0
- package/dist/ui/ConfirmButton.svelte +125 -0
- package/dist/ui/ConfirmButton.svelte.d.ts +54 -0
- package/dist/ui/ConfirmButton.svelte.d.ts.map +1 -0
- package/dist/ui/Datatable.svelte +185 -0
- package/dist/ui/Datatable.svelte.d.ts +35 -0
- package/dist/ui/Datatable.svelte.d.ts.map +1 -0
- package/dist/ui/LoginForm.svelte +82 -0
- package/dist/ui/LoginForm.svelte.d.ts +8 -0
- package/dist/ui/LoginForm.svelte.d.ts.map +1 -0
- package/dist/ui/LogoutButton.svelte +36 -0
- package/dist/ui/LogoutButton.svelte.d.ts +10 -0
- package/dist/ui/LogoutButton.svelte.d.ts.map +1 -0
- package/dist/ui/MenuLink.svelte +35 -0
- package/dist/ui/MenuLink.svelte.d.ts +12 -0
- package/dist/ui/MenuLink.svelte.d.ts.map +1 -0
- package/dist/ui/OpenSignupToggle.svelte +36 -0
- package/dist/ui/OpenSignupToggle.svelte.d.ts +19 -0
- package/dist/ui/OpenSignupToggle.svelte.d.ts.map +1 -0
- package/dist/ui/PopoverButton.svelte +136 -0
- package/dist/ui/PopoverButton.svelte.d.ts +63 -0
- package/dist/ui/PopoverButton.svelte.d.ts.map +1 -0
- package/dist/ui/SignupForm.svelte +117 -0
- package/dist/ui/SignupForm.svelte.d.ts +7 -0
- package/dist/ui/SignupForm.svelte.d.ts.map +1 -0
- package/dist/ui/SurfaceExplorer.svelte +287 -0
- package/dist/ui/SurfaceExplorer.svelte.d.ts +8 -0
- package/dist/ui/SurfaceExplorer.svelte.d.ts.map +1 -0
- package/dist/ui/account_sessions_state.svelte.d.ts +15 -0
- package/dist/ui/account_sessions_state.svelte.d.ts.map +1 -0
- package/dist/ui/account_sessions_state.svelte.js +45 -0
- package/dist/ui/admin_accounts_state.svelte.d.ts +19 -0
- package/dist/ui/admin_accounts_state.svelte.d.ts.map +1 -0
- package/dist/ui/admin_accounts_state.svelte.js +65 -0
- package/dist/ui/admin_invites_state.svelte.d.ts +19 -0
- package/dist/ui/admin_invites_state.svelte.d.ts.map +1 -0
- package/dist/ui/admin_invites_state.svelte.js +71 -0
- package/dist/ui/admin_sessions_state.svelte.d.ts +18 -0
- package/dist/ui/admin_sessions_state.svelte.d.ts.map +1 -0
- package/dist/ui/admin_sessions_state.svelte.js +62 -0
- package/dist/ui/app_settings_state.svelte.d.ts +14 -0
- package/dist/ui/app_settings_state.svelte.d.ts.map +1 -0
- package/dist/ui/app_settings_state.svelte.js +44 -0
- package/dist/ui/audit_log_state.svelte.d.ts +40 -0
- package/dist/ui/audit_log_state.svelte.d.ts.map +1 -0
- package/dist/ui/audit_log_state.svelte.js +153 -0
- package/dist/ui/auth_state.svelte.d.ts +85 -0
- package/dist/ui/auth_state.svelte.d.ts.map +1 -0
- package/dist/ui/auth_state.svelte.js +238 -0
- package/dist/ui/datatable.d.ts +25 -0
- package/dist/ui/datatable.d.ts.map +1 -0
- package/dist/ui/datatable.js +9 -0
- package/dist/ui/enter_advance.d.ts +13 -0
- package/dist/ui/enter_advance.d.ts.map +1 -0
- package/dist/ui/enter_advance.js +30 -0
- package/dist/ui/loadable.svelte.d.ts +55 -0
- package/dist/ui/loadable.svelte.d.ts.map +1 -0
- package/dist/ui/loadable.svelte.js +75 -0
- package/dist/ui/popover.svelte.d.ts +137 -0
- package/dist/ui/popover.svelte.d.ts.map +1 -0
- package/dist/ui/popover.svelte.js +288 -0
- package/dist/ui/position_helpers.d.ts +27 -0
- package/dist/ui/position_helpers.d.ts.map +1 -0
- package/dist/ui/position_helpers.js +81 -0
- package/dist/ui/sidebar_state.svelte.d.ts +30 -0
- package/dist/ui/sidebar_state.svelte.d.ts.map +1 -0
- package/dist/ui/sidebar_state.svelte.js +39 -0
- package/dist/ui/table_state.svelte.d.ts +63 -0
- package/dist/ui/table_state.svelte.d.ts.map +1 -0
- package/dist/ui/table_state.svelte.js +117 -0
- package/dist/ui/ui_fetch.d.ts +29 -0
- package/dist/ui/ui_fetch.d.ts.map +1 -0
- package/dist/ui/ui_fetch.js +37 -0
- package/dist/ui/ui_format.d.ts +63 -0
- package/dist/ui/ui_format.d.ts.map +1 -0
- package/dist/ui/ui_format.js +196 -0
- package/package.json +121 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgreSQL error utilities.
|
|
3
|
+
*
|
|
4
|
+
* Works with both `pg` and `@electric-sql/pglite` — both set `.code`
|
|
5
|
+
* on error objects using standard PostgreSQL error codes.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Check if an error is a PostgreSQL unique constraint violation (error code 23505).
|
|
11
|
+
*
|
|
12
|
+
* @param error - the caught error
|
|
13
|
+
* @returns `true` if the error is a unique constraint violation
|
|
14
|
+
*/
|
|
15
|
+
export declare const is_pg_unique_violation: (error: unknown) => boolean;
|
|
16
|
+
//# sourceMappingURL=pg_error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pg_error.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/db/pg_error.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,OACiC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgreSQL error utilities.
|
|
3
|
+
*
|
|
4
|
+
* Works with both `pg` and `@electric-sql/pglite` — both set `.code`
|
|
5
|
+
* on error objects using standard PostgreSQL error codes.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Check if an error is a PostgreSQL unique constraint violation (error code 23505).
|
|
11
|
+
*
|
|
12
|
+
* @param error - the caught error
|
|
13
|
+
* @returns `true` if the error is a unique constraint violation
|
|
14
|
+
*/
|
|
15
|
+
export const is_pg_unique_violation = (error) => error instanceof Error && 'code' in error && error.code === '23505';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared query dependency type.
|
|
3
|
+
*
|
|
4
|
+
* All `query_*` functions take `deps: QueryDeps` as their first argument.
|
|
5
|
+
* Widened per-function when additional capabilities are needed (e.g., `log` for token validation).
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import type { Db } from './db.js';
|
|
10
|
+
/** Base dependency for all query functions. */
|
|
11
|
+
export interface QueryDeps {
|
|
12
|
+
db: Db;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=query_deps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query_deps.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/db/query_deps.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAC,EAAE,EAAC,MAAM,SAAS,CAAC;AAEhC,+CAA+C;AAC/C,MAAM,WAAW,SAAS;IACzB,EAAE,EAAE,EAAE,CAAC;CACP"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQL identifier validation for dynamic DDL queries.
|
|
3
|
+
*
|
|
4
|
+
* PostgreSQL DDL operations (DROP TABLE, TRUNCATE, ALTER) do not support
|
|
5
|
+
* parameterized table/column names — only values can be parameterized.
|
|
6
|
+
* This validator ensures identifiers are safe for string interpolation
|
|
7
|
+
* in those specific cases.
|
|
8
|
+
*
|
|
9
|
+
* @module
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Pattern matching valid SQL identifiers: starts with a letter or underscore,
|
|
13
|
+
* followed by letters, digits, or underscores.
|
|
14
|
+
*/
|
|
15
|
+
export declare const VALID_SQL_IDENTIFIER: RegExp;
|
|
16
|
+
/**
|
|
17
|
+
* Assert that a string is a valid SQL identifier.
|
|
18
|
+
*
|
|
19
|
+
* Use this before interpolating table or column names into DDL queries
|
|
20
|
+
* where parameterized placeholders (`$1`) are not supported.
|
|
21
|
+
*
|
|
22
|
+
* @param name - the identifier to validate
|
|
23
|
+
* @returns the validated identifier
|
|
24
|
+
* @throws if the identifier contains invalid characters
|
|
25
|
+
*/
|
|
26
|
+
export declare const assert_valid_sql_identifier: (name: string) => string;
|
|
27
|
+
//# sourceMappingURL=sql_identifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql_identifier.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/db/sql_identifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAA6B,CAAC;AAE/D;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GAAI,MAAM,MAAM,KAAG,MAK1D,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQL identifier validation for dynamic DDL queries.
|
|
3
|
+
*
|
|
4
|
+
* PostgreSQL DDL operations (DROP TABLE, TRUNCATE, ALTER) do not support
|
|
5
|
+
* parameterized table/column names — only values can be parameterized.
|
|
6
|
+
* This validator ensures identifiers are safe for string interpolation
|
|
7
|
+
* in those specific cases.
|
|
8
|
+
*
|
|
9
|
+
* @module
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Pattern matching valid SQL identifiers: starts with a letter or underscore,
|
|
13
|
+
* followed by letters, digits, or underscores.
|
|
14
|
+
*/
|
|
15
|
+
export const VALID_SQL_IDENTIFIER = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
|
|
16
|
+
/**
|
|
17
|
+
* Assert that a string is a valid SQL identifier.
|
|
18
|
+
*
|
|
19
|
+
* Use this before interpolating table or column names into DDL queries
|
|
20
|
+
* where parameterized placeholders (`$1`) are not supported.
|
|
21
|
+
*
|
|
22
|
+
* @param name - the identifier to validate
|
|
23
|
+
* @returns the validated identifier
|
|
24
|
+
* @throws if the identifier contains invalid characters
|
|
25
|
+
*/
|
|
26
|
+
export const assert_valid_sql_identifier = (name) => {
|
|
27
|
+
if (!VALID_SQL_IDENTIFIER.test(name)) {
|
|
28
|
+
throw new Error(`Invalid SQL identifier: ${name}`);
|
|
29
|
+
}
|
|
30
|
+
return name;
|
|
31
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database status utility for CLI and dev workflows.
|
|
3
|
+
*
|
|
4
|
+
* Queries migration state and table info without a running server.
|
|
5
|
+
* Returns structured data that consumer scripts can print however they like.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import type { Db } from './db.js';
|
|
10
|
+
import type { MigrationNamespace } from './migrate.js';
|
|
11
|
+
/**
|
|
12
|
+
* Migration status for a single namespace.
|
|
13
|
+
*/
|
|
14
|
+
export interface MigrationStatus {
|
|
15
|
+
namespace: string;
|
|
16
|
+
/** Current applied version (0 if never migrated). */
|
|
17
|
+
current_version: number;
|
|
18
|
+
/** Total available migrations in the namespace. */
|
|
19
|
+
available_version: number;
|
|
20
|
+
/** Whether the schema is up to date. */
|
|
21
|
+
up_to_date: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Table info with row count.
|
|
25
|
+
*/
|
|
26
|
+
export interface TableStatus {
|
|
27
|
+
name: string;
|
|
28
|
+
row_count: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Full database status snapshot.
|
|
32
|
+
*/
|
|
33
|
+
export interface DbStatus {
|
|
34
|
+
/** Whether the database is reachable. */
|
|
35
|
+
connected: boolean;
|
|
36
|
+
/** Error message if connection failed. */
|
|
37
|
+
error?: string;
|
|
38
|
+
/** Number of public tables. */
|
|
39
|
+
table_count: number;
|
|
40
|
+
/** Per-table row counts. */
|
|
41
|
+
tables: Array<TableStatus>;
|
|
42
|
+
/** Per-namespace migration status. */
|
|
43
|
+
migrations: Array<MigrationStatus>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Query database status including connectivity, tables, and migration versions.
|
|
47
|
+
*
|
|
48
|
+
* Designed for CLI `db:status` commands. Does not modify the database.
|
|
49
|
+
*
|
|
50
|
+
* @param db - the database instance
|
|
51
|
+
* @param namespaces - migration namespaces to check versions for
|
|
52
|
+
* @returns a snapshot of database status
|
|
53
|
+
*/
|
|
54
|
+
export declare const query_db_status: (db: Db, namespaces?: Array<MigrationNamespace>) => Promise<DbStatus>;
|
|
55
|
+
/**
|
|
56
|
+
* Format a `DbStatus` as a human-readable string for CLI output.
|
|
57
|
+
*
|
|
58
|
+
* @param status - the status to format
|
|
59
|
+
* @returns multi-line string suitable for console output
|
|
60
|
+
*/
|
|
61
|
+
export declare const format_db_status: (status: DbStatus) => string;
|
|
62
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/db/status.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAC,EAAE,EAAC,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,eAAe,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,UAAU,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,yCAAyC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3B,sCAAsC;IACtC,UAAU,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;CACnC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAC3B,IAAI,EAAE,EACN,aAAa,KAAK,CAAC,kBAAkB,CAAC,KACpC,OAAO,CAAC,QAAQ,CA+ElB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,QAAQ,KAAG,MA6BnD,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database status utility for CLI and dev workflows.
|
|
3
|
+
*
|
|
4
|
+
* Queries migration state and table info without a running server.
|
|
5
|
+
* Returns structured data that consumer scripts can print however they like.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Query database status including connectivity, tables, and migration versions.
|
|
11
|
+
*
|
|
12
|
+
* Designed for CLI `db:status` commands. Does not modify the database.
|
|
13
|
+
*
|
|
14
|
+
* @param db - the database instance
|
|
15
|
+
* @param namespaces - migration namespaces to check versions for
|
|
16
|
+
* @returns a snapshot of database status
|
|
17
|
+
*/
|
|
18
|
+
export const query_db_status = async (db, namespaces) => {
|
|
19
|
+
// check connectivity
|
|
20
|
+
try {
|
|
21
|
+
await db.query('SELECT 1');
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
return {
|
|
25
|
+
connected: false,
|
|
26
|
+
error: err instanceof Error ? err.message : String(err),
|
|
27
|
+
table_count: 0,
|
|
28
|
+
tables: [],
|
|
29
|
+
migrations: [],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
// list tables with row counts
|
|
33
|
+
const table_rows = await db.query(`SELECT table_name FROM information_schema.tables
|
|
34
|
+
WHERE table_schema = 'public'
|
|
35
|
+
ORDER BY table_name`);
|
|
36
|
+
const tables = [];
|
|
37
|
+
for (const { table_name } of table_rows) {
|
|
38
|
+
// table_name from information_schema is trusted
|
|
39
|
+
// eslint-disable-next-line no-await-in-loop
|
|
40
|
+
const result = await db.query_one(`SELECT COUNT(*) as count FROM "${table_name}"`);
|
|
41
|
+
tables.push({
|
|
42
|
+
name: table_name,
|
|
43
|
+
row_count: result ? parseInt(result.count, 10) : 0,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
// check migration versions
|
|
47
|
+
const migrations = [];
|
|
48
|
+
if (namespaces?.length) {
|
|
49
|
+
// check if schema_version table exists
|
|
50
|
+
const sv_exists = await db.query_one(`SELECT EXISTS (
|
|
51
|
+
SELECT 1 FROM information_schema.tables
|
|
52
|
+
WHERE table_schema = 'public' AND table_name = 'schema_version'
|
|
53
|
+
) as exists`);
|
|
54
|
+
if (sv_exists?.exists) {
|
|
55
|
+
for (const { namespace, migrations: ns_migrations } of namespaces) {
|
|
56
|
+
// eslint-disable-next-line no-await-in-loop
|
|
57
|
+
const row = await db.query_one('SELECT version FROM schema_version WHERE namespace = $1', [namespace]);
|
|
58
|
+
const current_version = row?.version ?? 0;
|
|
59
|
+
migrations.push({
|
|
60
|
+
namespace,
|
|
61
|
+
current_version,
|
|
62
|
+
available_version: ns_migrations.length,
|
|
63
|
+
up_to_date: current_version === ns_migrations.length,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
// no schema_version table — all namespaces are at version 0
|
|
69
|
+
for (const { namespace, migrations: ns_migrations } of namespaces) {
|
|
70
|
+
migrations.push({
|
|
71
|
+
namespace,
|
|
72
|
+
current_version: 0,
|
|
73
|
+
available_version: ns_migrations.length,
|
|
74
|
+
up_to_date: ns_migrations.length === 0,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
connected: true,
|
|
81
|
+
table_count: tables.length,
|
|
82
|
+
tables,
|
|
83
|
+
migrations,
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Format a `DbStatus` as a human-readable string for CLI output.
|
|
88
|
+
*
|
|
89
|
+
* @param status - the status to format
|
|
90
|
+
* @returns multi-line string suitable for console output
|
|
91
|
+
*/
|
|
92
|
+
export const format_db_status = (status) => {
|
|
93
|
+
const lines = [];
|
|
94
|
+
if (!status.connected) {
|
|
95
|
+
lines.push(` Connection: FAILED${status.error ? ` (${status.error})` : ''}`);
|
|
96
|
+
return lines.join('\n');
|
|
97
|
+
}
|
|
98
|
+
lines.push(` Connection: OK`);
|
|
99
|
+
lines.push(` Tables: ${status.table_count}`);
|
|
100
|
+
if (status.tables.length > 0) {
|
|
101
|
+
lines.push('');
|
|
102
|
+
const max_name = Math.max(...status.tables.map((t) => t.name.length));
|
|
103
|
+
for (const t of status.tables) {
|
|
104
|
+
lines.push(` ${t.name.padEnd(max_name)} ${t.row_count} rows`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (status.migrations.length > 0) {
|
|
108
|
+
lines.push('');
|
|
109
|
+
lines.push(' Migrations:');
|
|
110
|
+
for (const m of status.migrations) {
|
|
111
|
+
const marker = m.up_to_date ? 'up to date' : `${m.current_version}/${m.available_version}`;
|
|
112
|
+
lines.push(` ${m.namespace}: v${m.current_version} (${marker})`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return lines.join('\n');
|
|
116
|
+
};
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dev workflow helpers for setup, reset, and database management.
|
|
3
|
+
*
|
|
4
|
+
* Composable functions that consumer projects (tx, visiones, etc.) use in their
|
|
5
|
+
* `scripts/dev_setup.ts`, `scripts/dev_reset.ts`, etc. All functions accept narrow
|
|
6
|
+
* `*Deps` interfaces from `runtime/deps.ts` — pass a `RuntimeDeps` instance
|
|
7
|
+
* created by `create_deno_runtime()`.
|
|
8
|
+
*
|
|
9
|
+
* @module
|
|
10
|
+
*/
|
|
11
|
+
import type { CommandDeps, CommandResult, EnvDeps, FsReadDeps, FsRemoveDeps, FsWriteDeps } from '../runtime/deps.js';
|
|
12
|
+
/**
|
|
13
|
+
* Optional logger for setup helpers.
|
|
14
|
+
*
|
|
15
|
+
* Functions that accept a logger use it for status messages.
|
|
16
|
+
* When omitted, a default bracket-format logger writes to console.
|
|
17
|
+
*/
|
|
18
|
+
export interface SetupLogger {
|
|
19
|
+
ok: (msg: string) => void;
|
|
20
|
+
skip: (msg: string) => void;
|
|
21
|
+
error: (msg: string) => void;
|
|
22
|
+
}
|
|
23
|
+
/** Default logger using bracket format. */
|
|
24
|
+
export declare const default_setup_logger: SetupLogger;
|
|
25
|
+
/** Result of `setup_env_file`. */
|
|
26
|
+
export interface SetupEnvResult {
|
|
27
|
+
/** Whether a new file was created (vs updating existing). */
|
|
28
|
+
created: boolean;
|
|
29
|
+
/** Whether any values were generated/replaced. */
|
|
30
|
+
updated: boolean;
|
|
31
|
+
/** The env file path. */
|
|
32
|
+
path: string;
|
|
33
|
+
}
|
|
34
|
+
/** Result of `setup_bootstrap_token`. */
|
|
35
|
+
export interface SetupTokenResult {
|
|
36
|
+
/** Whether a new token was created (false if already existed). */
|
|
37
|
+
created: boolean;
|
|
38
|
+
/** The token file path. */
|
|
39
|
+
token_path: string;
|
|
40
|
+
}
|
|
41
|
+
/** Result of `reset_database`. */
|
|
42
|
+
export interface ResetDbResult {
|
|
43
|
+
/** Whether the database was actually reset. */
|
|
44
|
+
reset: boolean;
|
|
45
|
+
/** Whether the operation was skipped (e.g. pglite with no data dir). */
|
|
46
|
+
skipped: boolean;
|
|
47
|
+
/** What type of database was detected. */
|
|
48
|
+
db_type: 'postgres' | 'pglite' | 'none';
|
|
49
|
+
}
|
|
50
|
+
/** Options for `setup_env_file`. */
|
|
51
|
+
export interface SetupEnvOptions {
|
|
52
|
+
/**
|
|
53
|
+
* Extra env var replacements beyond the default `SECRET_COOKIE_KEYS`.
|
|
54
|
+
*
|
|
55
|
+
* Keys are env var names, values are async generators.
|
|
56
|
+
* Replaces `^KEY=$` (empty value) patterns in the env file.
|
|
57
|
+
*/
|
|
58
|
+
replacements?: Record<string, () => Promise<string>>;
|
|
59
|
+
/** Optional callback to set file permissions (e.g. `Deno.chmod`). */
|
|
60
|
+
set_permissions?: (path: string, mode: number) => Promise<void>;
|
|
61
|
+
log?: SetupLogger;
|
|
62
|
+
}
|
|
63
|
+
/** Options for `setup_bootstrap_token`. */
|
|
64
|
+
export interface SetupBootstrapTokenOptions {
|
|
65
|
+
/** State directory override. Defaults to `~/.{app_name}`. */
|
|
66
|
+
state_dir?: string;
|
|
67
|
+
/** Optional callback to set file/directory permissions. */
|
|
68
|
+
set_permissions?: (path: string, mode: number) => Promise<void>;
|
|
69
|
+
log?: SetupLogger;
|
|
70
|
+
}
|
|
71
|
+
/** Options for `create_database`. */
|
|
72
|
+
export interface CreateDatabaseOptions {
|
|
73
|
+
log?: SetupLogger;
|
|
74
|
+
}
|
|
75
|
+
/** Options for `reset_database`. */
|
|
76
|
+
export interface ResetDatabaseOptions {
|
|
77
|
+
/** Directory to remove for file-based pglite. */
|
|
78
|
+
pglite_data_dir?: string;
|
|
79
|
+
log?: SetupLogger;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Extract the database name from a PostgreSQL URL.
|
|
83
|
+
*
|
|
84
|
+
* @returns the database name, or `null` if the URL is invalid or has no path
|
|
85
|
+
*/
|
|
86
|
+
export declare const parse_db_name: (url: string) => string | null;
|
|
87
|
+
/**
|
|
88
|
+
* Generate a random base64 key using openssl.
|
|
89
|
+
*
|
|
90
|
+
* @param deps - command execution capability
|
|
91
|
+
* @returns a random 32-byte base64-encoded key
|
|
92
|
+
*/
|
|
93
|
+
export declare const generate_random_key: (deps: CommandDeps) => Promise<string>;
|
|
94
|
+
/**
|
|
95
|
+
* Read a single env var from a dotenv-style file.
|
|
96
|
+
*
|
|
97
|
+
* @param deps - file read capability
|
|
98
|
+
* @param env_path - path to the .env file
|
|
99
|
+
* @param name - the variable name to read
|
|
100
|
+
* @returns the value, or `undefined` if the file or variable doesn't exist
|
|
101
|
+
*/
|
|
102
|
+
export declare const read_env_var: (deps: FsReadDeps, env_path: string, name: string) => Promise<string | undefined>;
|
|
103
|
+
/**
|
|
104
|
+
* Create an env file from its example template, auto-generating `SECRET_COOKIE_KEYS`.
|
|
105
|
+
*
|
|
106
|
+
* If the file already exists, backfills any empty values that have generators.
|
|
107
|
+
* Idempotent — safe to re-run.
|
|
108
|
+
*
|
|
109
|
+
* @param deps - file read, write, and command capabilities
|
|
110
|
+
* @param env_path - path for the env file (e.g. `.env.development`)
|
|
111
|
+
* @param example_path - path to the example template
|
|
112
|
+
* @param options - extra replacements, permissions, logger
|
|
113
|
+
* @returns result indicating whether the file was created or updated
|
|
114
|
+
*/
|
|
115
|
+
export declare const setup_env_file: (deps: FsReadDeps & FsWriteDeps & CommandDeps, env_path: string, example_path: string, options?: SetupEnvOptions) => Promise<SetupEnvResult>;
|
|
116
|
+
/**
|
|
117
|
+
* Create a bootstrap token file if it doesn't exist.
|
|
118
|
+
*
|
|
119
|
+
* The token is a one-shot secret used to create the first admin account.
|
|
120
|
+
* Stored at `~/.{app_name}/secret_bootstrap_token` by default.
|
|
121
|
+
*
|
|
122
|
+
* @param deps - file, command, and env capabilities
|
|
123
|
+
* @param app_name - application name (used for default state directory)
|
|
124
|
+
* @param options - state_dir override, permissions, logger
|
|
125
|
+
* @returns result indicating whether a token was created
|
|
126
|
+
*/
|
|
127
|
+
export declare const setup_bootstrap_token: (deps: FsReadDeps & FsWriteDeps & CommandDeps & EnvDeps, app_name: string, options?: SetupBootstrapTokenOptions) => Promise<SetupTokenResult>;
|
|
128
|
+
/**
|
|
129
|
+
* Remove an existing bootstrap token and create a new one.
|
|
130
|
+
*
|
|
131
|
+
* @param deps - file, command, env, and remove capabilities
|
|
132
|
+
* @param app_name - application name
|
|
133
|
+
* @param options - state_dir override, permissions, logger
|
|
134
|
+
* @returns result from creating the new token
|
|
135
|
+
*/
|
|
136
|
+
export declare const reset_bootstrap_token: (deps: FsReadDeps & FsWriteDeps & FsRemoveDeps & CommandDeps & EnvDeps, app_name: string, options?: SetupBootstrapTokenOptions) => Promise<SetupTokenResult>;
|
|
137
|
+
/**
|
|
138
|
+
* Create a PostgreSQL database if `createdb` is available.
|
|
139
|
+
*
|
|
140
|
+
* @param deps - command execution capability
|
|
141
|
+
* @param db_name - database name to create
|
|
142
|
+
* @param options - logger
|
|
143
|
+
* @returns the command result
|
|
144
|
+
*/
|
|
145
|
+
export declare const create_database: (deps: CommandDeps, db_name: string, options?: CreateDatabaseOptions) => Promise<CommandResult>;
|
|
146
|
+
/**
|
|
147
|
+
* Reset a database to a clean slate.
|
|
148
|
+
*
|
|
149
|
+
* For PostgreSQL: drops and recreates the database.
|
|
150
|
+
* For pglite: removes the data directory if `pglite_data_dir` is provided.
|
|
151
|
+
* For empty/missing URLs: skips.
|
|
152
|
+
*
|
|
153
|
+
* @param deps - command and file capabilities
|
|
154
|
+
* @param database_url - the DATABASE_URL value
|
|
155
|
+
* @param options - pglite_data_dir, logger
|
|
156
|
+
* @returns result describing what happened
|
|
157
|
+
*/
|
|
158
|
+
export declare const reset_database: (deps: CommandDeps & FsReadDeps & FsRemoveDeps, database_url: string, options?: ResetDatabaseOptions) => Promise<ResetDbResult>;
|
|
159
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/dev/setup.ts"],"names":[],"mappings":"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"}
|