@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,15 @@
|
|
|
1
|
+
import './assert_dev_env.js';
|
|
2
|
+
import type { AdversarialTestOptions } from './attack_surface.js';
|
|
3
|
+
/**
|
|
4
|
+
* Generate adversarial 404 response validation tests.
|
|
5
|
+
*
|
|
6
|
+
* For each route with `params` + 404 in `error_schemas`:
|
|
7
|
+
* 1. Creates a stub handler returning 404 with the declared error code
|
|
8
|
+
* 2. Fires a request with valid-format params (nil UUIDs for UUID params)
|
|
9
|
+
* 3. Validates response status is 404
|
|
10
|
+
* 4. Validates response body matches the declared 404 Zod schema
|
|
11
|
+
*
|
|
12
|
+
* @param options - the test configuration
|
|
13
|
+
*/
|
|
14
|
+
export declare const describe_adversarial_404: (options: AdversarialTestOptions) => void;
|
|
15
|
+
//# sourceMappingURL=adversarial_404.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adversarial_404.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/adversarial_404.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAoB7B,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,qBAAqB,CAAC;AAyBhE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,GAAI,SAAS,sBAAsB,KAAG,IA2E1E,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import './assert_dev_env.js';
|
|
2
|
+
/**
|
|
3
|
+
* Adversarial 404 testing for routes with params and declared 404 error schemas.
|
|
4
|
+
*
|
|
5
|
+
* Creates stub handlers that return 404 with the declared error code,
|
|
6
|
+
* fires requests with valid-format-but-nonexistent params (nil UUIDs),
|
|
7
|
+
* and validates response bodies against the declared 404 Zod schemas.
|
|
8
|
+
*
|
|
9
|
+
* No DB needed — tests schema conformance of 404 responses, not real handlers.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
import { test, assert, describe } from 'vitest';
|
|
14
|
+
import { z } from 'zod';
|
|
15
|
+
import { is_null_schema } from '../http/schema_helpers.js';
|
|
16
|
+
import { create_auth_test_apps, select_auth_app } from './auth_apps.js';
|
|
17
|
+
import { resolve_valid_path, generate_valid_body } from './schema_generators.js';
|
|
18
|
+
/**
|
|
19
|
+
* Extract the error code from a 404 Zod schema for use in the stub handler.
|
|
20
|
+
*
|
|
21
|
+
* Supports `z.literal()` (`{const: '...'}`) and `z.enum()` (`{enum: [...]}`, uses first value).
|
|
22
|
+
*/
|
|
23
|
+
const extract_404_error_code = (schema) => {
|
|
24
|
+
try {
|
|
25
|
+
const json = z.toJSONSchema(schema);
|
|
26
|
+
if (json.type !== 'object' || !json.properties || typeof json.properties !== 'object')
|
|
27
|
+
return null;
|
|
28
|
+
const props = json.properties;
|
|
29
|
+
if (!props.error || typeof props.error !== 'object')
|
|
30
|
+
return null;
|
|
31
|
+
const error_schema = props.error;
|
|
32
|
+
if (typeof error_schema.const === 'string')
|
|
33
|
+
return error_schema.const;
|
|
34
|
+
if (Array.isArray(error_schema.enum) && typeof error_schema.enum[0] === 'string')
|
|
35
|
+
return error_schema.enum[0];
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
// schema can't be converted
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Generate adversarial 404 response validation tests.
|
|
44
|
+
*
|
|
45
|
+
* For each route with `params` + 404 in `error_schemas`:
|
|
46
|
+
* 1. Creates a stub handler returning 404 with the declared error code
|
|
47
|
+
* 2. Fires a request with valid-format params (nil UUIDs for UUID params)
|
|
48
|
+
* 3. Validates response status is 404
|
|
49
|
+
* 4. Validates response body matches the declared 404 Zod schema
|
|
50
|
+
*
|
|
51
|
+
* @param options - the test configuration
|
|
52
|
+
*/
|
|
53
|
+
export const describe_adversarial_404 = (options) => {
|
|
54
|
+
const { build, roles } = options;
|
|
55
|
+
const { surface, route_specs } = build();
|
|
56
|
+
// Build spec lookup for Zod schema access
|
|
57
|
+
const spec_lookup = new Map();
|
|
58
|
+
for (const spec of route_specs) {
|
|
59
|
+
spec_lookup.set(`${spec.method} ${spec.path}`, spec);
|
|
60
|
+
}
|
|
61
|
+
// Find testable routes: params + 404 + extractable error code
|
|
62
|
+
const testable = [];
|
|
63
|
+
for (const route of surface.routes) {
|
|
64
|
+
if (route.params_schema === null)
|
|
65
|
+
continue;
|
|
66
|
+
if (!route.error_schemas || !('404' in route.error_schemas))
|
|
67
|
+
continue;
|
|
68
|
+
const key = `${route.method} ${route.path}`;
|
|
69
|
+
const spec = spec_lookup.get(key);
|
|
70
|
+
if (!spec?.params || !spec.errors?.[404])
|
|
71
|
+
continue;
|
|
72
|
+
const error_code = extract_404_error_code(spec.errors[404]);
|
|
73
|
+
if (!error_code)
|
|
74
|
+
continue;
|
|
75
|
+
testable.push({ key, error_code, spec });
|
|
76
|
+
}
|
|
77
|
+
if (testable.length === 0)
|
|
78
|
+
return;
|
|
79
|
+
describe('adversarial 404 response validation', () => {
|
|
80
|
+
// Create stub specs: replace handlers for testable routes with 404 stubs
|
|
81
|
+
const error_code_by_key = new Map();
|
|
82
|
+
for (const entry of testable) {
|
|
83
|
+
error_code_by_key.set(entry.key, entry.error_code);
|
|
84
|
+
}
|
|
85
|
+
const stub_specs = route_specs.map((spec) => {
|
|
86
|
+
const error_code = error_code_by_key.get(`${spec.method} ${spec.path}`);
|
|
87
|
+
if (!error_code)
|
|
88
|
+
return spec;
|
|
89
|
+
return {
|
|
90
|
+
...spec,
|
|
91
|
+
handler: (c) => c.json({ error: error_code }, 404),
|
|
92
|
+
};
|
|
93
|
+
});
|
|
94
|
+
const apps = create_auth_test_apps(stub_specs, roles);
|
|
95
|
+
for (const { key, error_code, spec } of testable) {
|
|
96
|
+
test(key, async () => {
|
|
97
|
+
const route = surface.routes.find((r) => `${r.method} ${r.path}` === key);
|
|
98
|
+
const app = select_auth_app(apps, route.auth);
|
|
99
|
+
const url = resolve_valid_path(route.path, spec.params);
|
|
100
|
+
const request_init = { method: route.method };
|
|
101
|
+
// Send valid body for routes with input
|
|
102
|
+
if (!is_null_schema(spec.input)) {
|
|
103
|
+
const body = generate_valid_body(spec.input);
|
|
104
|
+
if (body !== undefined) {
|
|
105
|
+
request_init.headers = { 'Content-Type': 'application/json' };
|
|
106
|
+
request_init.body = JSON.stringify(body);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
const res = await app.request(url, request_init);
|
|
110
|
+
assert.strictEqual(res.status, 404, `Expected 404 for ${key}, got ${res.status}`);
|
|
111
|
+
const body = await res.json();
|
|
112
|
+
assert.strictEqual(body.error, error_code, `Expected error '${error_code}' for ${key}, got: ${body.error}`);
|
|
113
|
+
// Validate against declared 404 Zod schema
|
|
114
|
+
spec.errors[404].parse(body);
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import './assert_dev_env.js';
|
|
2
|
+
import type { z } from 'zod';
|
|
3
|
+
import { type TestMiddlewareStackOptions } from './middleware.js';
|
|
4
|
+
/** A header-level attack case for middleware stack testing. */
|
|
5
|
+
export interface AdversarialHeaderCase {
|
|
6
|
+
name: string;
|
|
7
|
+
headers: Record<string, string>;
|
|
8
|
+
expected_status: number;
|
|
9
|
+
expected_error?: string;
|
|
10
|
+
/** Zod schema to validate error response body against. Defaults to `ApiError` when `expected_error` is set. */
|
|
11
|
+
expected_error_schema?: z.ZodType;
|
|
12
|
+
/** Whether the request should reach token validation or be short-circuited by earlier middleware. */
|
|
13
|
+
validate_expectation: 'called' | 'not_called';
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 7 standard adversarial header cases applicable to any middleware stack.
|
|
17
|
+
*
|
|
18
|
+
* @param allowed_origin - an origin that passes the origin check
|
|
19
|
+
* @returns the standard adversarial header cases
|
|
20
|
+
*/
|
|
21
|
+
export declare const create_standard_adversarial_cases: (allowed_origin: string) => Array<AdversarialHeaderCase>;
|
|
22
|
+
/**
|
|
23
|
+
* Create a middleware stack app with standard adversarial header tests.
|
|
24
|
+
*
|
|
25
|
+
* Convenience wrapper combining `create_test_middleware_stack_app`
|
|
26
|
+
* and `create_standard_adversarial_cases`.
|
|
27
|
+
* Asserts body content for both error and success cases, and checks
|
|
28
|
+
* `mock_validate` call status via per-case declarative flags.
|
|
29
|
+
*
|
|
30
|
+
* @param suite_name - the describe block name
|
|
31
|
+
* @param options - middleware stack configuration
|
|
32
|
+
* @param allowed_origin - an origin that passes the origin check (used for standard cases)
|
|
33
|
+
* @param extra_cases - additional cases appended after the 7 standard ones
|
|
34
|
+
*/
|
|
35
|
+
export declare const describe_standard_adversarial_headers: (suite_name: string, options: TestMiddlewareStackOptions, allowed_origin: string, extra_cases?: Array<AdversarialHeaderCase>) => void;
|
|
36
|
+
//# sourceMappingURL=adversarial_headers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adversarial_headers.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/adversarial_headers.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAY7B,OAAO,KAAK,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAS3B,OAAO,EAGN,KAAK,0BAA0B,EAC/B,MAAM,iBAAiB,CAAC;AAIzB,+DAA+D;AAC/D,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+GAA+G;IAC/G,qBAAqB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IAClC,qGAAqG;IACrG,oBAAoB,EAAE,QAAQ,GAAG,YAAY,CAAC;CAC9C;AAID;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,GAC7C,gBAAgB,MAAM,KACpB,KAAK,CAAC,qBAAqB,CAkE7B,CAAC;AAIF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qCAAqC,GACjD,YAAY,MAAM,EAClB,SAAS,0BAA0B,EACnC,gBAAgB,MAAM,EACtB,cAAc,KAAK,CAAC,qBAAqB,CAAC,KACxC,IAkCF,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import './assert_dev_env.js';
|
|
2
|
+
/**
|
|
3
|
+
* Adversarial header attack test suite.
|
|
4
|
+
*
|
|
5
|
+
* Provides standard header injection test cases and a convenience wrapper
|
|
6
|
+
* for exercising middleware stacks with adversarial headers.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import { test, assert, describe } from 'vitest';
|
|
11
|
+
import { ApiError, ERROR_FORBIDDEN_ORIGIN, ERROR_FORBIDDEN_REFERER, ERROR_BEARER_REJECTED_BROWSER, ERROR_INVALID_TOKEN, } from '../http/error_schemas.js';
|
|
12
|
+
import { create_test_middleware_stack_app, TEST_MIDDLEWARE_PATH, } from './middleware.js';
|
|
13
|
+
// --- Standard adversarial header cases ---
|
|
14
|
+
/**
|
|
15
|
+
* 7 standard adversarial header cases applicable to any middleware stack.
|
|
16
|
+
*
|
|
17
|
+
* @param allowed_origin - an origin that passes the origin check
|
|
18
|
+
* @returns the standard adversarial header cases
|
|
19
|
+
*/
|
|
20
|
+
export const create_standard_adversarial_cases = (allowed_origin) => [
|
|
21
|
+
{
|
|
22
|
+
name: 'bearer token with Origin header is rejected before token validation',
|
|
23
|
+
headers: {
|
|
24
|
+
Authorization: 'Bearer secret_fuz_token_test',
|
|
25
|
+
Origin: 'https://attacker.com',
|
|
26
|
+
},
|
|
27
|
+
expected_status: 403,
|
|
28
|
+
expected_error: ERROR_FORBIDDEN_ORIGIN,
|
|
29
|
+
validate_expectation: 'not_called',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: 'bearer token with allowed Origin is rejected as browser context',
|
|
33
|
+
headers: {
|
|
34
|
+
Authorization: 'Bearer secret_fuz_token_test',
|
|
35
|
+
Origin: allowed_origin,
|
|
36
|
+
},
|
|
37
|
+
expected_status: 403,
|
|
38
|
+
expected_error: ERROR_BEARER_REJECTED_BROWSER,
|
|
39
|
+
validate_expectation: 'not_called',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'request with no auth headers passes through all middleware',
|
|
43
|
+
headers: {},
|
|
44
|
+
expected_status: 200,
|
|
45
|
+
validate_expectation: 'not_called',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'empty Origin header is rejected by origin middleware before bearer auth (defense-in-depth)',
|
|
49
|
+
headers: {
|
|
50
|
+
Authorization: 'Bearer secret_fuz_token_test',
|
|
51
|
+
Origin: '',
|
|
52
|
+
},
|
|
53
|
+
expected_status: 403,
|
|
54
|
+
expected_error: ERROR_FORBIDDEN_ORIGIN,
|
|
55
|
+
validate_expectation: 'not_called',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'lowercase bearer scheme is recognized (case-insensitive per RFC 7235)',
|
|
59
|
+
headers: {
|
|
60
|
+
Authorization: 'bearer secret_fuz_token_test',
|
|
61
|
+
},
|
|
62
|
+
expected_status: 401,
|
|
63
|
+
expected_error: ERROR_INVALID_TOKEN,
|
|
64
|
+
validate_expectation: 'called',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: 'bearer token with Referer from untrusted source is rejected',
|
|
68
|
+
headers: {
|
|
69
|
+
Authorization: 'Bearer secret_fuz_token_test',
|
|
70
|
+
Referer: 'https://attacker.com/page',
|
|
71
|
+
},
|
|
72
|
+
expected_status: 403,
|
|
73
|
+
expected_error: ERROR_FORBIDDEN_REFERER,
|
|
74
|
+
validate_expectation: 'not_called',
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: 'bearer token with Referer from allowed origin is rejected as browser context (defense-in-depth)',
|
|
78
|
+
headers: {
|
|
79
|
+
Authorization: 'Bearer secret_fuz_token_test',
|
|
80
|
+
Referer: `${allowed_origin}/page`,
|
|
81
|
+
},
|
|
82
|
+
expected_status: 403,
|
|
83
|
+
expected_error: ERROR_BEARER_REJECTED_BROWSER,
|
|
84
|
+
validate_expectation: 'not_called',
|
|
85
|
+
},
|
|
86
|
+
];
|
|
87
|
+
// --- Convenience wrapper ---
|
|
88
|
+
/**
|
|
89
|
+
* Create a middleware stack app with standard adversarial header tests.
|
|
90
|
+
*
|
|
91
|
+
* Convenience wrapper combining `create_test_middleware_stack_app`
|
|
92
|
+
* and `create_standard_adversarial_cases`.
|
|
93
|
+
* Asserts body content for both error and success cases, and checks
|
|
94
|
+
* `mock_validate` call status via per-case declarative flags.
|
|
95
|
+
*
|
|
96
|
+
* @param suite_name - the describe block name
|
|
97
|
+
* @param options - middleware stack configuration
|
|
98
|
+
* @param allowed_origin - an origin that passes the origin check (used for standard cases)
|
|
99
|
+
* @param extra_cases - additional cases appended after the 7 standard ones
|
|
100
|
+
*/
|
|
101
|
+
export const describe_standard_adversarial_headers = (suite_name, options, allowed_origin, extra_cases) => {
|
|
102
|
+
const cases = [...create_standard_adversarial_cases(allowed_origin), ...(extra_cases ?? [])];
|
|
103
|
+
describe(suite_name, () => {
|
|
104
|
+
for (const tc of cases) {
|
|
105
|
+
test(tc.name, async () => {
|
|
106
|
+
const { app, mock_validate } = create_test_middleware_stack_app(options);
|
|
107
|
+
const res = await app.request(TEST_MIDDLEWARE_PATH, { headers: tc.headers });
|
|
108
|
+
assert.strictEqual(res.status, tc.expected_status);
|
|
109
|
+
const body = await res.json();
|
|
110
|
+
if (tc.expected_error) {
|
|
111
|
+
assert.strictEqual(body.error, tc.expected_error);
|
|
112
|
+
const error_schema = tc.expected_error_schema ?? ApiError;
|
|
113
|
+
error_schema.parse(body);
|
|
114
|
+
}
|
|
115
|
+
if (tc.expected_status === 200) {
|
|
116
|
+
assert.strictEqual(body.ok, true, 'expected ok to be true for 200 response');
|
|
117
|
+
assert.strictEqual(body.has_context, false, 'expected has_context to be false (no auth)');
|
|
118
|
+
}
|
|
119
|
+
if (tc.validate_expectation === 'not_called') {
|
|
120
|
+
assert.strictEqual(mock_validate.mock.calls.length, 0, 'validate should not have been called — middleware should short-circuit');
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
assert.ok(mock_validate.mock.calls.length > 0, 'validate should have been called — request reached token validation');
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import './assert_dev_env.js';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { ERROR_INVALID_REQUEST_BODY, ERROR_INVALID_JSON_BODY } from '../http/error_schemas.js';
|
|
4
|
+
import type { AdversarialTestOptions } from './attack_surface.js';
|
|
5
|
+
interface InputTestCase {
|
|
6
|
+
label: string;
|
|
7
|
+
body: unknown;
|
|
8
|
+
expected_error: typeof ERROR_INVALID_REQUEST_BODY | typeof ERROR_INVALID_JSON_BODY;
|
|
9
|
+
}
|
|
10
|
+
interface ParamsTestCase {
|
|
11
|
+
label: string;
|
|
12
|
+
params: Record<string, string>;
|
|
13
|
+
}
|
|
14
|
+
interface QueryTestCase {
|
|
15
|
+
label: string;
|
|
16
|
+
query: Record<string, string>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Generate adversarial test cases for a route's input schema.
|
|
20
|
+
*
|
|
21
|
+
* Produces focused, non-redundant cases:
|
|
22
|
+
* - Whole-body: send array instead of object, extra unknown key
|
|
23
|
+
* - Missing required fields (without defaults)
|
|
24
|
+
* - One wrong-type value per field
|
|
25
|
+
* - Null for required non-nullable fields
|
|
26
|
+
* - One format violation per constrained field
|
|
27
|
+
*/
|
|
28
|
+
export declare const generate_input_test_cases: (input_schema: z.ZodType) => Array<InputTestCase>;
|
|
29
|
+
/**
|
|
30
|
+
* Generate adversarial test cases for a route's params schema.
|
|
31
|
+
*
|
|
32
|
+
* Params are always strings from URL segments. Only generates cases for
|
|
33
|
+
* format-constrained fields (uuid, pattern) since unconstrained string
|
|
34
|
+
* params accept any string value.
|
|
35
|
+
*/
|
|
36
|
+
export declare const generate_params_test_cases: (params_schema: z.ZodObject) => Array<ParamsTestCase>;
|
|
37
|
+
/**
|
|
38
|
+
* Generate adversarial test cases for a route's query schema.
|
|
39
|
+
*
|
|
40
|
+
* Query params are always strings from the URL. Generates cases for:
|
|
41
|
+
* - Missing required fields
|
|
42
|
+
* - Format violations on constrained fields (uuid, pattern)
|
|
43
|
+
*/
|
|
44
|
+
export declare const generate_query_test_cases: (query_schema: z.ZodObject) => Array<QueryTestCase>;
|
|
45
|
+
/**
|
|
46
|
+
* Generate adversarial input validation test suites.
|
|
47
|
+
*
|
|
48
|
+
* Tests input body validation and params validation for all routes.
|
|
49
|
+
* Uses correct auth credentials so auth guards pass and validation
|
|
50
|
+
* middleware is actually exercised.
|
|
51
|
+
*
|
|
52
|
+
* @param options - the test configuration
|
|
53
|
+
*/
|
|
54
|
+
export declare const describe_adversarial_input: (options: AdversarialTestOptions) => void;
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=adversarial_input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adversarial_input.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/adversarial_input.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAiB7B,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAUtB,OAAO,EAEN,0BAA0B,EAC1B,uBAAuB,EAGvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,qBAAqB,CAAC;AA8ChE,UAAU,aAAa;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,OAAO,0BAA0B,GAAG,OAAO,uBAAuB,CAAC;CACnF;AAED,UAAU,cAAc;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,UAAU,aAAa;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAID;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,GAAI,cAAc,CAAC,CAAC,OAAO,KAAG,KAAK,CAAC,aAAa,CAyLtF,CAAC;AAIF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GAAI,eAAe,CAAC,CAAC,SAAS,KAAG,KAAK,CAAC,cAAc,CA+B3F,CAAC;AAIF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GAAI,cAAc,CAAC,CAAC,SAAS,KAAG,KAAK,CAAC,aAAa,CA4CxF,CAAC;AAqBF;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,GAAI,SAAS,sBAAsB,KAAG,IA6L5E,CAAC"}
|