@fuzdev/fuz_app 0.103.0 → 0.105.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/dist/actions/CLAUDE.md +2 -2
- package/dist/actions/action_bridge.d.ts.map +1 -1
- package/dist/actions/action_bridge.js +2 -2
- package/dist/actions/action_codegen.d.ts.map +1 -1
- package/dist/actions/action_codegen.js +3 -3
- package/dist/actions/action_dispatcher.d.ts.map +1 -1
- package/dist/actions/action_dispatcher.js +3 -3
- package/dist/actions/action_event.d.ts.map +1 -1
- package/dist/actions/action_event.js +11 -11
- package/dist/actions/action_event_data.d.ts.map +1 -1
- package/dist/actions/action_event_data.js +2 -2
- package/dist/actions/action_event_helpers.d.ts.map +1 -1
- package/dist/actions/action_event_helpers.js +2 -2
- package/dist/actions/action_event_types.d.ts.map +1 -1
- package/dist/actions/action_event_types.js +4 -4
- package/dist/actions/action_rpc.d.ts.map +1 -1
- package/dist/actions/action_rpc.js +13 -13
- package/dist/actions/action_spec.d.ts.map +1 -1
- package/dist/actions/action_spec.js +6 -6
- package/dist/actions/action_types.d.ts.map +1 -1
- package/dist/actions/broadcast_api.d.ts.map +1 -1
- package/dist/actions/broadcast_api.js +1 -1
- package/dist/actions/cancel.d.ts.map +1 -1
- package/dist/actions/cancel.js +3 -3
- package/dist/actions/compile_action_registry.d.ts.map +1 -1
- package/dist/actions/frontend_rpc_client.d.ts.map +1 -1
- package/dist/actions/frontend_rpc_client.js +3 -3
- package/dist/actions/heartbeat.d.ts.map +1 -1
- package/dist/actions/heartbeat.js +2 -2
- package/dist/actions/peer_ping.d.ts.map +1 -1
- package/dist/actions/peer_ping.js +6 -6
- package/dist/actions/peer_request.d.ts.map +1 -1
- package/dist/actions/perform_action.d.ts.map +1 -1
- package/dist/actions/perform_action.js +13 -13
- package/dist/actions/protocol.d.ts.map +1 -1
- package/dist/actions/protocol.js +1 -1
- package/dist/actions/register_action_ws.d.ts.map +1 -1
- package/dist/actions/register_action_ws.js +14 -11
- package/dist/actions/register_ws_endpoint.d.ts.map +1 -1
- package/dist/actions/register_ws_endpoint.js +3 -3
- package/dist/actions/request_tracker.svelte.d.ts.map +1 -1
- package/dist/actions/request_tracker.svelte.js +2 -2
- package/dist/actions/rpc_client.d.ts.map +1 -1
- package/dist/actions/rpc_client.js +7 -7
- package/dist/actions/socket.svelte.d.ts.map +1 -1
- package/dist/actions/socket.svelte.js +4 -3
- package/dist/actions/transports.d.ts.map +1 -1
- package/dist/actions/transports_http.d.ts.map +1 -1
- package/dist/actions/transports_http.js +7 -7
- package/dist/actions/transports_ws.d.ts.map +1 -1
- package/dist/actions/transports_ws.js +3 -3
- package/dist/actions/transports_ws_auth_guard.d.ts +4 -4
- package/dist/actions/transports_ws_auth_guard.d.ts.map +1 -1
- package/dist/actions/transports_ws_auth_guard.js +5 -5
- package/dist/actions/transports_ws_backend.d.ts.map +1 -1
- package/dist/actions/transports_ws_backend.js +2 -2
- package/dist/actions/ws_endpoint_spec.d.ts +2 -2
- package/dist/actions/ws_endpoint_spec.d.ts.map +1 -1
- package/dist/auth/CLAUDE.md +40 -18
- package/dist/auth/account_action_specs.d.ts +4 -4
- package/dist/auth/account_action_specs.d.ts.map +1 -1
- package/dist/auth/account_action_specs.js +18 -19
- package/dist/auth/account_actions.d.ts +3 -3
- package/dist/auth/account_actions.d.ts.map +1 -1
- package/dist/auth/account_actions.js +10 -10
- package/dist/auth/account_queries.d.ts.map +1 -1
- package/dist/auth/account_queries.js +6 -6
- package/dist/auth/account_route_schema.d.ts.map +1 -1
- package/dist/auth/account_route_schema.js +19 -19
- package/dist/auth/account_routes.d.ts +2 -2
- package/dist/auth/account_routes.d.ts.map +1 -1
- package/dist/auth/account_routes.js +27 -27
- package/dist/auth/account_schema.d.ts +13 -2
- package/dist/auth/account_schema.d.ts.map +1 -1
- package/dist/auth/account_schema.js +22 -11
- package/dist/auth/actor_lookup_action_specs.d.ts.map +1 -1
- package/dist/auth/actor_lookup_action_specs.js +5 -5
- package/dist/auth/actor_lookup_actions.d.ts +4 -2
- package/dist/auth/actor_lookup_actions.d.ts.map +1 -1
- package/dist/auth/actor_lookup_actions.js +3 -3
- package/dist/auth/actor_lookup_queries.d.ts.map +1 -1
- package/dist/auth/actor_search_action_specs.d.ts.map +1 -1
- package/dist/auth/actor_search_action_specs.js +6 -6
- package/dist/auth/actor_search_actions.d.ts +4 -2
- package/dist/auth/actor_search_actions.d.ts.map +1 -1
- package/dist/auth/actor_search_actions.js +5 -5
- package/dist/auth/actor_search_queries.d.ts.map +1 -1
- package/dist/auth/admin_action_specs.d.ts +2 -2
- package/dist/auth/admin_action_specs.d.ts.map +1 -1
- package/dist/auth/admin_action_specs.js +55 -55
- package/dist/auth/admin_actions.d.ts +5 -5
- package/dist/auth/admin_actions.d.ts.map +1 -1
- package/dist/auth/admin_actions.js +45 -44
- package/dist/auth/all_action_spec_registries.d.ts.map +1 -1
- package/dist/auth/all_action_spec_registries.js +1 -1
- package/dist/auth/all_cell_actions.d.ts.map +1 -1
- package/dist/auth/all_cell_actions.js +1 -1
- package/dist/auth/api_token.d.ts.map +1 -1
- package/dist/auth/api_token_queries.d.ts +7 -2
- package/dist/auth/api_token_queries.d.ts.map +1 -1
- package/dist/auth/api_token_queries.js +8 -3
- package/dist/auth/app_settings_queries.d.ts.map +1 -1
- package/dist/auth/app_settings_schema.d.ts.map +1 -1
- package/dist/auth/app_settings_schema.js +3 -3
- package/dist/auth/audit_emitter.d.ts +28 -20
- package/dist/auth/audit_emitter.d.ts.map +1 -1
- package/dist/auth/audit_emitter.js +37 -19
- package/dist/auth/audit_log_ddl.js +1 -1
- package/dist/auth/audit_log_queries.d.ts.map +1 -1
- package/dist/auth/audit_log_queries.js +2 -2
- package/dist/auth/audit_log_route_schema.d.ts.map +1 -1
- package/dist/auth/audit_log_route_schema.js +1 -1
- package/dist/auth/audit_log_routes.d.ts.map +1 -1
- package/dist/auth/audit_log_routes.js +3 -3
- package/dist/auth/audit_log_schema.d.ts +2 -2
- package/dist/auth/audit_log_schema.d.ts.map +1 -1
- package/dist/auth/audit_log_schema.js +69 -68
- package/dist/auth/auth_ddl.js +3 -3
- package/dist/auth/auth_guard_resolver.d.ts.map +1 -1
- package/dist/auth/bearer_auth.d.ts.map +1 -1
- package/dist/auth/bootstrap_account.d.ts.map +1 -1
- package/dist/auth/bootstrap_account.js +5 -5
- package/dist/auth/bootstrap_route_schema.d.ts.map +1 -1
- package/dist/auth/bootstrap_route_schema.js +6 -6
- package/dist/auth/bootstrap_routes.d.ts.map +1 -1
- package/dist/auth/bootstrap_routes.js +7 -7
- package/dist/auth/cell_action_specs.d.ts +227 -2
- package/dist/auth/cell_action_specs.d.ts.map +1 -1
- package/dist/auth/cell_action_specs.js +117 -39
- package/dist/auth/cell_actions.d.ts +34 -11
- package/dist/auth/cell_actions.d.ts.map +1 -1
- package/dist/auth/cell_actions.js +155 -41
- package/dist/auth/cell_audit_action_specs.d.ts.map +1 -1
- package/dist/auth/cell_audit_action_specs.js +4 -4
- package/dist/auth/cell_audit_actions.d.ts.map +1 -1
- package/dist/auth/cell_audit_actions.js +3 -3
- package/dist/auth/cell_audit_events.d.ts +1 -1
- package/dist/auth/cell_audit_events.d.ts.map +1 -1
- package/dist/auth/cell_audit_events.js +7 -6
- package/dist/auth/cell_audit_metadata.d.ts +15 -0
- package/dist/auth/cell_audit_metadata.d.ts.map +1 -1
- package/dist/auth/cell_audit_metadata.js +13 -2
- package/dist/auth/cell_authorize.d.ts.map +1 -1
- package/dist/auth/cell_data_schema.d.ts.map +1 -1
- package/dist/auth/cell_data_schema.js +1 -1
- package/dist/auth/cell_field_action_specs.d.ts.map +1 -1
- package/dist/auth/cell_field_action_specs.js +16 -16
- package/dist/auth/cell_field_actions.d.ts +2 -2
- package/dist/auth/cell_field_actions.d.ts.map +1 -1
- package/dist/auth/cell_field_actions.js +11 -11
- package/dist/auth/cell_field_audit_metadata.d.ts.map +1 -1
- package/dist/auth/cell_field_audit_metadata.js +2 -2
- package/dist/auth/cell_grant_action_specs.d.ts.map +1 -1
- package/dist/auth/cell_grant_action_specs.js +15 -15
- package/dist/auth/cell_grant_actions.d.ts +2 -2
- package/dist/auth/cell_grant_actions.d.ts.map +1 -1
- package/dist/auth/cell_grant_actions.js +12 -12
- package/dist/auth/cell_grant_audit_metadata.d.ts.map +1 -1
- package/dist/auth/cell_grant_audit_metadata.js +3 -3
- package/dist/auth/cell_item_action_specs.d.ts +6 -2
- package/dist/auth/cell_item_action_specs.d.ts.map +1 -1
- package/dist/auth/cell_item_action_specs.js +25 -21
- package/dist/auth/cell_item_actions.d.ts +2 -2
- package/dist/auth/cell_item_actions.d.ts.map +1 -1
- package/dist/auth/cell_item_actions.js +14 -14
- package/dist/auth/cell_item_audit_metadata.d.ts.map +1 -1
- package/dist/auth/cell_item_audit_metadata.js +3 -3
- package/dist/auth/cell_relation_visibility.d.ts.map +1 -1
- package/dist/auth/cleanup.d.ts.map +1 -1
- package/dist/auth/cleanup.js +2 -2
- package/dist/auth/credential_type_schema.d.ts.map +1 -1
- package/dist/auth/credential_type_schema.js +5 -5
- package/dist/auth/daemon_token.d.ts.map +1 -1
- package/dist/auth/daemon_token_middleware.d.ts.map +1 -1
- package/dist/auth/daemon_token_middleware.js +2 -2
- package/dist/auth/deps.d.ts +20 -5
- package/dist/auth/deps.d.ts.map +1 -1
- package/dist/auth/grant_path_schema.d.ts.map +1 -1
- package/dist/auth/grant_path_schema.js +8 -8
- package/dist/auth/invite_queries.d.ts.map +1 -1
- package/dist/auth/invite_schema.d.ts.map +1 -1
- package/dist/auth/invite_schema.js +2 -2
- package/dist/auth/keyring.d.ts.map +1 -1
- package/dist/auth/keyring.js +1 -1
- package/dist/auth/middleware.d.ts.map +1 -1
- package/dist/auth/middleware.js +7 -7
- package/dist/auth/migrations.d.ts.map +1 -1
- package/dist/auth/migrations.js +22 -20
- package/dist/auth/password.d.ts.map +1 -1
- package/dist/auth/password_argon2.d.ts.map +1 -1
- package/dist/auth/password_argon2.js +2 -2
- package/dist/auth/request_context.d.ts.map +1 -1
- package/dist/auth/request_context.js +7 -7
- package/dist/auth/role_grant_offer_action_specs.d.ts.map +1 -1
- package/dist/auth/role_grant_offer_action_specs.js +35 -35
- package/dist/auth/role_grant_offer_actions.d.ts +7 -4
- package/dist/auth/role_grant_offer_actions.d.ts.map +1 -1
- package/dist/auth/role_grant_offer_actions.js +43 -43
- package/dist/auth/role_grant_offer_notifications.d.ts.map +1 -1
- package/dist/auth/role_grant_offer_notifications.js +13 -13
- package/dist/auth/role_grant_offer_queries.d.ts +1 -1
- package/dist/auth/role_grant_offer_queries.d.ts.map +1 -1
- package/dist/auth/role_grant_offer_queries.js +11 -11
- package/dist/auth/role_grant_offer_schema.d.ts.map +1 -1
- package/dist/auth/role_grant_offer_schema.js +7 -7
- package/dist/auth/role_grant_queries.d.ts.map +1 -1
- package/dist/auth/role_grant_queries.js +3 -3
- package/dist/auth/role_schema.d.ts.map +1 -1
- package/dist/auth/role_schema.js +7 -7
- package/dist/auth/scope_kind_schema.d.ts.map +1 -1
- package/dist/auth/self_service_role_action_specs.d.ts.map +1 -1
- package/dist/auth/self_service_role_action_specs.js +5 -5
- package/dist/auth/self_service_role_actions.d.ts +3 -3
- package/dist/auth/self_service_role_actions.d.ts.map +1 -1
- package/dist/auth/self_service_role_actions.js +9 -9
- package/dist/auth/session_cookie.d.ts.map +1 -1
- package/dist/auth/session_cookie.js +3 -3
- package/dist/auth/session_middleware.d.ts.map +1 -1
- package/dist/auth/session_middleware.js +4 -4
- package/dist/auth/session_queries.d.ts +14 -4
- package/dist/auth/session_queries.d.ts.map +1 -1
- package/dist/auth/session_queries.js +13 -3
- package/dist/auth/signup_route_schema.d.ts.map +1 -1
- package/dist/auth/signup_route_schema.js +6 -6
- package/dist/auth/signup_routes.d.ts.map +1 -1
- package/dist/auth/signup_routes.js +11 -11
- package/dist/auth/standard_action_specs.d.ts.map +1 -1
- package/dist/auth/standard_action_specs.js +1 -1
- package/dist/auth/standard_rpc_actions.d.ts +4 -4
- package/dist/auth/standard_rpc_actions.d.ts.map +1 -1
- package/dist/auth/standard_rpc_actions.js +3 -3
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/daemon.js +3 -3
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +1 -1
- package/dist/cli/logger.d.ts.map +1 -1
- package/dist/cli/logger.js +1 -1
- package/dist/cli/util.d.ts.map +1 -1
- package/dist/cli/util.js +1 -1
- package/dist/db/CLAUDE.md +16 -6
- package/dist/db/cell_audit_queries.d.ts.map +1 -1
- package/dist/db/cell_audit_queries.js +1 -1
- package/dist/db/cell_ddl.d.ts +14 -1
- package/dist/db/cell_ddl.d.ts.map +1 -1
- package/dist/db/cell_ddl.js +26 -6
- package/dist/db/cell_field_queries.d.ts.map +1 -1
- package/dist/db/cell_grant_queries.d.ts.map +1 -1
- package/dist/db/cell_grant_queries.js +1 -1
- package/dist/db/cell_history_ddl.d.ts.map +1 -1
- package/dist/db/cell_history_ddl.js +4 -4
- package/dist/db/cell_item_queries.d.ts.map +1 -1
- package/dist/db/cell_queries.d.ts +46 -1
- package/dist/db/cell_queries.d.ts.map +1 -1
- package/dist/db/cell_queries.js +42 -5
- package/dist/db/create_db.d.ts.map +1 -1
- package/dist/db/create_db.js +1 -1
- package/dist/db/db.d.ts.map +1 -1
- package/dist/db/db_pg.d.ts.map +1 -1
- package/dist/db/db_pg.js +1 -1
- package/dist/db/db_pglite.d.ts.map +1 -1
- package/dist/db/db_pglite.js +1 -1
- package/dist/db/fact_ddl.d.ts.map +1 -1
- package/dist/db/fact_ddl.js +3 -3
- package/dist/db/fact_disk_storage.d.ts +1 -1
- package/dist/db/fact_disk_storage.d.ts.map +1 -1
- package/dist/db/fact_disk_storage.js +6 -6
- package/dist/db/fact_queries.d.ts +1 -1
- package/dist/db/fact_queries.d.ts.map +1 -1
- package/dist/db/fact_queries.js +2 -2
- package/dist/db/fact_store.d.ts +1 -1
- package/dist/db/fact_store.d.ts.map +1 -1
- package/dist/db/fact_store.js +9 -9
- package/dist/db/fact_store_errors.d.ts.map +1 -1
- package/dist/db/file_fact_url.d.ts +1 -1
- package/dist/db/file_fact_url.d.ts.map +1 -1
- package/dist/db/file_fact_url.js +1 -1
- package/dist/db/migrate.d.ts.map +1 -1
- package/dist/db/pg_error.d.ts.map +1 -1
- package/dist/db/query_deps.d.ts.map +1 -1
- package/dist/db/schema_ready.d.ts.map +1 -1
- package/dist/db/schema_ready.js +2 -2
- package/dist/db/status.d.ts.map +1 -1
- package/dist/db/status.js +6 -6
- package/dist/dev/setup.d.ts.map +1 -1
- package/dist/dev/setup.js +6 -6
- package/dist/env/dotenv.d.ts.map +1 -1
- package/dist/env/load.d.ts.map +1 -1
- package/dist/env/resolve.d.ts.map +1 -1
- package/dist/hono_context.d.ts.map +1 -1
- package/dist/hono_context.js +2 -2
- package/dist/http/auth_shape.d.ts.map +1 -1
- package/dist/http/auth_shape.js +6 -6
- package/dist/http/client_ip.d.ts.map +1 -1
- package/dist/http/common_routes.d.ts.map +1 -1
- package/dist/http/common_routes.js +8 -8
- package/dist/http/db_routes.d.ts.map +1 -1
- package/dist/http/db_routes.js +27 -23
- package/dist/http/error_schemas.d.ts +1 -1
- package/dist/http/error_schemas.d.ts.map +1 -1
- package/dist/http/error_schemas.js +13 -13
- package/dist/http/jsonrpc.d.ts.map +1 -1
- package/dist/http/jsonrpc.js +9 -9
- package/dist/http/jsonrpc_errors.d.ts.map +1 -1
- package/dist/http/jsonrpc_errors.js +21 -21
- package/dist/http/jsonrpc_helpers.d.ts.map +1 -1
- package/dist/http/jsonrpc_helpers.js +7 -7
- package/dist/http/middleware_spec.d.ts.map +1 -1
- package/dist/http/origin.d.ts.map +1 -1
- package/dist/http/pending_effects.d.ts.map +1 -1
- package/dist/http/proxy.d.ts.map +1 -1
- package/dist/http/proxy.js +1 -1
- package/dist/http/route_spec.d.ts.map +1 -1
- package/dist/http/route_spec.js +6 -6
- package/dist/http/schema_helpers.d.ts.map +1 -1
- package/dist/http/schema_helpers.js +1 -1
- package/dist/http/surface.d.ts.map +1 -1
- package/dist/http/surface.js +11 -11
- package/dist/http/surface_query.d.ts.map +1 -1
- package/dist/http/surface_query.js +1 -1
- package/dist/primitive_schemas.d.ts.map +1 -1
- package/dist/primitive_schemas.js +1 -1
- package/dist/rate_limiter.d.ts.map +1 -1
- package/dist/rate_limiter.js +4 -4
- package/dist/realtime/sse.d.ts.map +1 -1
- package/dist/realtime/sse.js +2 -2
- package/dist/realtime/sse_auth_guard.d.ts +4 -4
- package/dist/realtime/sse_auth_guard.d.ts.map +1 -1
- package/dist/realtime/sse_auth_guard.js +8 -8
- package/dist/realtime/subscriber_registry.d.ts.map +1 -1
- package/dist/runtime/deno.d.ts.map +1 -1
- package/dist/runtime/deno.js +7 -7
- package/dist/runtime/deps.d.ts.map +1 -1
- package/dist/runtime/fs.d.ts.map +1 -1
- package/dist/runtime/mock.d.ts.map +1 -1
- package/dist/runtime/mock.js +3 -3
- package/dist/runtime/node.d.ts.map +1 -1
- package/dist/runtime/node.js +7 -7
- package/dist/schema_meta.d.ts.map +1 -1
- package/dist/server/app_backend.d.ts +3 -3
- package/dist/server/app_backend.d.ts.map +1 -1
- package/dist/server/app_backend.js +3 -3
- package/dist/server/app_server.d.ts +6 -6
- package/dist/server/app_server.d.ts.map +1 -1
- package/dist/server/app_server.js +32 -32
- package/dist/server/app_server_context.d.ts.map +1 -1
- package/dist/server/env.d.ts.map +1 -1
- package/dist/server/env.js +9 -9
- package/dist/server/fact_write.d.ts +1 -1
- package/dist/server/fact_write.d.ts.map +1 -1
- package/dist/server/fact_write.js +2 -1
- package/dist/server/file_fact_fetcher.d.ts.map +1 -1
- package/dist/server/file_fact_fetcher.js +1 -1
- package/dist/server/serve_fact_route.d.ts.map +1 -1
- package/dist/server/serve_fact_route.js +15 -13
- package/dist/server/startup.d.ts.map +1 -1
- package/dist/server/static.d.ts.map +1 -1
- package/dist/server/validate_nginx.js +1 -1
- package/dist/server/x_accel.d.ts.map +1 -1
- package/dist/server/x_accel.js +1 -1
- package/dist/testing/CLAUDE.md +27 -18
- package/dist/testing/admin_integration.d.ts.map +1 -1
- package/dist/testing/admin_integration.js +62 -62
- package/dist/testing/adversarial_404.d.ts.map +1 -1
- package/dist/testing/adversarial_404.js +1 -1
- package/dist/testing/adversarial_headers.d.ts.map +1 -1
- package/dist/testing/adversarial_headers.js +15 -15
- package/dist/testing/adversarial_input.d.ts.map +1 -1
- package/dist/testing/adversarial_input.js +22 -22
- package/dist/testing/app_server.d.ts.map +1 -1
- package/dist/testing/app_server.js +32 -32
- package/dist/testing/assertions.d.ts.map +1 -1
- package/dist/testing/attack_surface.d.ts.map +1 -1
- package/dist/testing/attack_surface.js +12 -12
- package/dist/testing/audit_completeness.d.ts.map +1 -1
- package/dist/testing/audit_completeness.js +41 -41
- package/dist/testing/audit_drift_guard.d.ts +3 -1
- package/dist/testing/audit_drift_guard.d.ts.map +1 -1
- package/dist/testing/audit_drift_guard.js +12 -6
- package/dist/testing/auth_apps.d.ts.map +1 -1
- package/dist/testing/auth_apps.js +4 -4
- package/dist/testing/bootstrap_success.d.ts.map +1 -1
- package/dist/testing/bootstrap_success.js +11 -11
- package/dist/testing/connection_closer_helpers.d.ts.map +1 -1
- package/dist/testing/connection_closer_helpers.js +1 -1
- package/dist/testing/cross_backend/account_lifecycle.d.ts.map +1 -1
- package/dist/testing/cross_backend/account_lifecycle.js +1 -1
- package/dist/testing/cross_backend/action_manifest.d.ts.map +1 -1
- package/dist/testing/cross_backend/action_manifest.js +4 -4
- package/dist/testing/cross_backend/action_manifest_parity.d.ts.map +1 -1
- package/dist/testing/cross_backend/actor_lookup.d.ts.map +1 -1
- package/dist/testing/cross_backend/actor_lookup.js +3 -3
- package/dist/testing/cross_backend/actor_search.d.ts.map +1 -1
- package/dist/testing/cross_backend/actor_search.js +5 -5
- package/dist/testing/cross_backend/app_settings.d.ts.map +1 -1
- package/dist/testing/cross_backend/app_settings.js +6 -6
- package/dist/testing/cross_backend/backend_config.d.ts.map +1 -1
- package/dist/testing/cross_backend/bench/bench_report.d.ts.map +1 -1
- package/dist/testing/cross_backend/bench/bench_report.js +5 -5
- package/dist/testing/cross_backend/bench/run_cross_impl_bench.d.ts.map +1 -1
- package/dist/testing/cross_backend/bench/run_cross_impl_bench.js +2 -2
- package/dist/testing/cross_backend/bench/scenario.d.ts.map +1 -1
- package/dist/testing/cross_backend/bench/scenario.js +1 -1
- package/dist/testing/cross_backend/body_size.d.ts.map +1 -1
- package/dist/testing/cross_backend/body_size.js +1 -1
- package/dist/testing/cross_backend/bootstrap_backend.d.ts.map +1 -1
- package/dist/testing/cross_backend/bootstrap_backend.js +2 -2
- package/dist/testing/cross_backend/build_test_backend_paths.js +1 -1
- package/dist/testing/cross_backend/capabilities.js +2 -2
- package/dist/testing/cross_backend/cell_cross_helpers.d.ts.map +1 -1
- package/dist/testing/cross_backend/cell_crud.d.ts.map +1 -1
- package/dist/testing/cross_backend/cell_crud.js +5 -2
- package/dist/testing/cross_backend/cell_gated_create.d.ts +24 -0
- package/dist/testing/cross_backend/cell_gated_create.d.ts.map +1 -1
- package/dist/testing/cross_backend/cell_gated_create.js +178 -35
- package/dist/testing/cross_backend/cell_grant_role.d.ts.map +1 -1
- package/dist/testing/cross_backend/cell_grant_role.js +2 -2
- package/dist/testing/cross_backend/cell_relations.d.ts.map +1 -1
- package/dist/testing/cross_backend/cell_relations.js +13 -13
- package/dist/testing/cross_backend/conformance_case.d.ts.map +1 -1
- package/dist/testing/cross_backend/conformance_case.js +11 -11
- package/dist/testing/cross_backend/conformance_table.d.ts.map +1 -1
- package/dist/testing/cross_backend/conformance_table.js +11 -11
- package/dist/testing/cross_backend/cookie_attributes.d.ts.map +1 -1
- package/dist/testing/cross_backend/cookie_attributes.js +4 -4
- package/dist/testing/cross_backend/create_cross_backend_global_setup.d.ts +1 -1
- package/dist/testing/cross_backend/create_cross_backend_global_setup.d.ts.map +1 -1
- package/dist/testing/cross_backend/create_cross_backend_global_setup.js +1 -1
- package/dist/testing/cross_backend/create_dual_spawn_global_setup.d.ts +1 -1
- package/dist/testing/cross_backend/create_dual_spawn_global_setup.d.ts.map +1 -1
- package/dist/testing/cross_backend/create_dual_spawn_global_setup.js +1 -1
- package/dist/testing/cross_backend/credential_header_robustness.js +1 -1
- package/dist/testing/cross_backend/default_backend_configs.d.ts.map +1 -1
- package/dist/testing/cross_backend/default_backend_configs.js +12 -12
- package/dist/testing/cross_backend/default_spine_surface.d.ts.map +1 -1
- package/dist/testing/cross_backend/default_spine_surface.js +9 -9
- package/dist/testing/cross_backend/expected_schema.json +3 -0
- package/dist/testing/cross_backend/fact_serving.d.ts.map +1 -1
- package/dist/testing/cross_backend/fact_serving.js +2 -2
- package/dist/testing/cross_backend/full_spine_mount.d.ts.map +1 -1
- package/dist/testing/cross_backend/full_spine_mount.js +11 -8
- package/dist/testing/cross_backend/identity_parity.d.ts.map +1 -1
- package/dist/testing/cross_backend/identity_parity.js +28 -24
- package/dist/testing/cross_backend/in_process_setup.d.ts.map +1 -1
- package/dist/testing/cross_backend/in_process_setup.js +9 -9
- package/dist/testing/cross_backend/login_security.d.ts.map +1 -1
- package/dist/testing/cross_backend/login_security.js +2 -2
- package/dist/testing/cross_backend/make_cross_backend_project.d.ts +1 -1
- package/dist/testing/cross_backend/make_cross_backend_project.d.ts.map +1 -1
- package/dist/testing/cross_backend/make_cross_backend_project.js +3 -3
- package/dist/testing/cross_backend/method_coverage.d.ts.map +1 -1
- package/dist/testing/cross_backend/origin.d.ts.map +1 -1
- package/dist/testing/cross_backend/origin.js +4 -4
- package/dist/testing/cross_backend/peer_ping_ws.d.ts.map +1 -1
- package/dist/testing/cross_backend/peer_ping_ws.js +6 -6
- package/dist/testing/cross_backend/ready.d.ts.map +1 -1
- package/dist/testing/cross_backend/role_grant_offer_enumeration.d.ts.map +1 -1
- package/dist/testing/cross_backend/role_grant_offer_enumeration.js +1 -1
- package/dist/testing/cross_backend/role_grant_offer_notification_ws.d.ts.map +1 -1
- package/dist/testing/cross_backend/role_grant_offer_notification_ws.js +1 -1
- package/dist/testing/cross_backend/role_grant_participation.d.ts.map +1 -1
- package/dist/testing/cross_backend/rust_spine_stub_backend_config.d.ts.map +1 -1
- package/dist/testing/cross_backend/rust_spine_stub_backend_config.js +5 -5
- package/dist/testing/cross_backend/setup.d.ts.map +1 -1
- package/dist/testing/cross_backend/setup.js +36 -36
- package/dist/testing/cross_backend/spawn_backend.d.ts.map +1 -1
- package/dist/testing/cross_backend/spawn_backend.js +1 -1
- package/dist/testing/cross_backend/sse_round_trip.d.ts.map +1 -1
- package/dist/testing/cross_backend/sse_round_trip.js +10 -7
- package/dist/testing/cross_backend/standard.d.ts.map +1 -1
- package/dist/testing/cross_backend/standard.js +5 -5
- package/dist/testing/cross_backend/test_cell_gated_create_authorize.d.ts +12 -7
- package/dist/testing/cross_backend/test_cell_gated_create_authorize.d.ts.map +1 -1
- package/dist/testing/cross_backend/test_cell_gated_create_authorize.js +54 -15
- package/dist/testing/cross_backend/testing_backdoor.d.ts.map +1 -1
- package/dist/testing/cross_backend/testing_backdoor.js +7 -7
- package/dist/testing/cross_backend/testing_reset_actions.d.ts.map +1 -1
- package/dist/testing/cross_backend/testing_reset_actions.js +24 -23
- package/dist/testing/cross_backend/testing_server_bun.d.ts.map +1 -1
- package/dist/testing/cross_backend/testing_server_bun.js +3 -3
- package/dist/testing/cross_backend/testing_server_core.d.ts.map +1 -1
- package/dist/testing/cross_backend/testing_server_core.js +1 -1
- package/dist/testing/cross_backend/testing_server_deno.d.ts.map +1 -1
- package/dist/testing/cross_backend/testing_server_deno.js +1 -1
- package/dist/testing/cross_backend/testing_server_node.d.ts.map +1 -1
- package/dist/testing/cross_backend/testing_server_node.js +3 -3
- package/dist/testing/cross_backend/ts_spine_backend_config.d.ts.map +1 -1
- package/dist/testing/cross_backend/ts_spine_backend_config.js +13 -13
- package/dist/testing/cross_backend/ws_round_trip.d.ts.map +1 -1
- package/dist/testing/cross_backend/ws_round_trip.js +2 -2
- package/dist/testing/data_exposure.d.ts.map +1 -1
- package/dist/testing/data_exposure.js +8 -8
- package/dist/testing/db.d.ts.map +1 -1
- package/dist/testing/db.js +3 -3
- package/dist/testing/db_entities.d.ts.map +1 -1
- package/dist/testing/db_entities.js +1 -1
- package/dist/testing/entities.d.ts.map +1 -1
- package/dist/testing/entities.js +5 -5
- package/dist/testing/error_coverage.d.ts.map +1 -1
- package/dist/testing/integration.d.ts.map +1 -1
- package/dist/testing/integration.js +106 -106
- package/dist/testing/integration_helpers.d.ts.map +1 -1
- package/dist/testing/integration_helpers.js +3 -3
- package/dist/testing/middleware.d.ts.map +1 -1
- package/dist/testing/middleware.js +11 -11
- package/dist/testing/mock_fs.js +1 -1
- package/dist/testing/rate_limiting.d.ts.map +1 -1
- package/dist/testing/rate_limiting.js +23 -23
- package/dist/testing/role_grant_helpers.d.ts.map +1 -1
- package/dist/testing/role_grant_helpers.js +3 -3
- package/dist/testing/round_trip.d.ts.map +1 -1
- package/dist/testing/round_trip.js +6 -6
- package/dist/testing/rpc_attack_surface.d.ts.map +1 -1
- package/dist/testing/rpc_attack_surface.js +12 -12
- package/dist/testing/rpc_helpers.d.ts.map +1 -1
- package/dist/testing/rpc_helpers.js +11 -11
- package/dist/testing/rpc_round_trip.d.ts.map +1 -1
- package/dist/testing/rpc_round_trip.js +3 -3
- package/dist/testing/schema_generators.d.ts.map +1 -1
- package/dist/testing/schema_generators.js +3 -3
- package/dist/testing/schema_introspect.d.ts.map +1 -1
- package/dist/testing/schema_introspect.js +12 -12
- package/dist/testing/schema_parity.d.ts.map +1 -1
- package/dist/testing/schema_parity.js +7 -7
- package/dist/testing/schema_ready_fixture.d.ts.map +1 -1
- package/dist/testing/sse_round_trip.d.ts.map +1 -1
- package/dist/testing/sse_round_trip.js +8 -8
- package/dist/testing/standard.d.ts.map +1 -1
- package/dist/testing/standard.js +8 -8
- package/dist/testing/stubs.d.ts +6 -6
- package/dist/testing/stubs.d.ts.map +1 -1
- package/dist/testing/stubs.js +26 -23
- package/dist/testing/surface_invariants.d.ts.map +1 -1
- package/dist/testing/surface_invariants.js +5 -5
- package/dist/testing/testing_rate_limiter.d.ts.map +1 -1
- package/dist/testing/transports/bootstrap.d.ts.map +1 -1
- package/dist/testing/transports/bootstrap.js +4 -4
- package/dist/testing/transports/fetch_transport.d.ts.map +1 -1
- package/dist/testing/transports/sse_frame_reader.d.ts.map +1 -1
- package/dist/testing/transports/sse_transport.js +1 -1
- package/dist/testing/transports/ws_client.d.ts.map +1 -1
- package/dist/testing/transports/ws_client.js +1 -1
- package/dist/testing/transports/ws_transport.js +4 -4
- package/dist/testing/ws_round_trip.d.ts.map +1 -1
- package/dist/testing/ws_round_trip.js +21 -21
- package/dist/ui/AccountSessions.svelte +11 -11
- package/dist/ui/AdminAccounts.svelte +10 -10
- package/dist/ui/AdminAuditLog.svelte +14 -14
- package/dist/ui/AdminInvites.svelte +13 -13
- package/dist/ui/AdminOverview.svelte +22 -22
- package/dist/ui/AdminRoleGrantHistory.svelte +11 -11
- package/dist/ui/AdminSessions.svelte +12 -12
- package/dist/ui/AdminSettings.svelte +1 -1
- package/dist/ui/AdminSurface.svelte +3 -3
- package/dist/ui/AppShell.svelte +8 -8
- package/dist/ui/AppShell.svelte.d.ts.map +1 -1
- package/dist/ui/BootstrapForm.svelte +9 -9
- package/dist/ui/CLAUDE.md +1 -1
- package/dist/ui/ColumnLayout.svelte +2 -2
- package/dist/ui/ColumnLayout.svelte.d.ts.map +1 -1
- package/dist/ui/ConfirmButton.svelte +8 -8
- package/dist/ui/ConfirmButton.svelte.d.ts.map +1 -1
- package/dist/ui/Datatable.svelte +6 -6
- package/dist/ui/Datatable.svelte.d.ts.map +1 -1
- package/dist/ui/LoginForm.svelte +6 -6
- package/dist/ui/LogoutButton.svelte +2 -2
- package/dist/ui/LogoutButton.svelte.d.ts.map +1 -1
- package/dist/ui/MenuLink.svelte +5 -5
- package/dist/ui/MenuLink.svelte.d.ts.map +1 -1
- package/dist/ui/OpenSignupToggle.svelte +2 -2
- package/dist/ui/PopoverButton.svelte +10 -10
- package/dist/ui/PopoverButton.svelte.d.ts.map +1 -1
- package/dist/ui/RoleGrantOfferForm.svelte +8 -11
- package/dist/ui/RoleGrantOfferForm.svelte.d.ts.map +1 -1
- package/dist/ui/RoleGrantOfferHistory.svelte +11 -11
- package/dist/ui/RoleGrantOfferHistory.svelte.d.ts.map +1 -1
- package/dist/ui/RoleGrantOfferInbox.svelte +6 -6
- package/dist/ui/RoleGrantOfferInbox.svelte.d.ts.map +1 -1
- package/dist/ui/SignupForm.svelte +9 -9
- package/dist/ui/SurfaceExplorer.svelte +11 -11
- package/dist/ui/SurfaceExplorer.svelte.d.ts.map +1 -1
- package/dist/ui/account_sessions_state.svelte.d.ts.map +1 -1
- package/dist/ui/admin_accounts_state.svelte.d.ts.map +1 -1
- package/dist/ui/admin_accounts_state.svelte.js +2 -2
- package/dist/ui/admin_invites_state.svelte.d.ts.map +1 -1
- package/dist/ui/admin_rpc_adapters.d.ts.map +1 -1
- package/dist/ui/admin_rpc_adapters.js +5 -5
- package/dist/ui/admin_sessions_state.svelte.d.ts.map +1 -1
- package/dist/ui/app_settings_state.svelte.d.ts.map +1 -1
- package/dist/ui/async_slot.svelte.d.ts.map +1 -1
- package/dist/ui/audit_log_state.svelte.d.ts.map +1 -1
- package/dist/ui/audit_log_state.svelte.js +1 -1
- package/dist/ui/auth_state.svelte.js +4 -4
- package/dist/ui/form_state.svelte.d.ts.map +1 -1
- package/dist/ui/format_scope.d.ts.map +1 -1
- package/dist/ui/keyed_async_slot.svelte.d.ts.map +1 -1
- package/dist/ui/popover.svelte.d.ts.map +1 -1
- package/dist/ui/popover.svelte.js +1 -1
- package/dist/ui/position_helpers.js +1 -1
- package/dist/ui/role_grant_offers_state.svelte.d.ts.map +1 -1
- package/dist/ui/role_grant_offers_state.svelte.js +1 -1
- package/dist/ui/table_state.svelte.d.ts.map +1 -1
- package/dist/ui/ui_fetch.d.ts.map +1 -1
- package/dist/ui/ui_format.js +2 -2
- package/package.json +13 -12
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import { to_error_message } from '@fuzdev/fuz_util/error.ts';
|
|
20
20
|
import { ThrownJsonrpcError, jsonrpc_error_messages } from '../http/jsonrpc_errors.js';
|
|
21
|
-
import { is_jsonrpc_notification, is_jsonrpc_request, to_jsonrpc_message_id, to_jsonrpc_result, create_jsonrpc_response, create_jsonrpc_error_response
|
|
21
|
+
import { is_jsonrpc_notification, is_jsonrpc_request, to_jsonrpc_message_id, to_jsonrpc_result, create_jsonrpc_response, create_jsonrpc_error_response } from '../http/jsonrpc_helpers.js';
|
|
22
22
|
import { PEER_PING_METHOD, peer_ping_responder } from './peer_ping.js';
|
|
23
23
|
/**
|
|
24
24
|
* Thin adapter over `WebsocketRpcConnection` (canonical implementation:
|
|
@@ -99,7 +99,7 @@ export class FrontendWebsocketTransport {
|
|
|
99
99
|
const result = await this.#connection.request(message.method, message.params, {
|
|
100
100
|
id: message.id,
|
|
101
101
|
signal: options?.signal,
|
|
102
|
-
queue
|
|
102
|
+
queue
|
|
103
103
|
});
|
|
104
104
|
return create_jsonrpc_response(message.id, to_jsonrpc_result(result));
|
|
105
105
|
}
|
|
@@ -108,7 +108,7 @@ export class FrontendWebsocketTransport {
|
|
|
108
108
|
return create_jsonrpc_error_response(message.id, {
|
|
109
109
|
code: error.code,
|
|
110
110
|
message: error.message,
|
|
111
|
-
data: error.data
|
|
111
|
+
data: error.data
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
114
|
return create_jsonrpc_error_response(message.id, jsonrpc_error_messages.internal_error(to_error_message(error)));
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
*
|
|
19
19
|
* For standard WS endpoints mounted via `AppServerOptions.ws_endpoints`,
|
|
20
20
|
* `create_app_server` composes the guard automatically per
|
|
21
|
-
* `WsEndpointSpec.auth_guard`. For custom wiring,
|
|
21
|
+
* `WsEndpointSpec.auth_guard`. For custom wiring, register the handler
|
|
22
22
|
* inside the consumer's `audit_factory` body (or via
|
|
23
|
-
* `audit.
|
|
23
|
+
* `audit.add_listener(...)` post-assembly).
|
|
24
24
|
*
|
|
25
25
|
* @module
|
|
26
26
|
*/
|
|
@@ -61,8 +61,8 @@ export declare const ws_disconnect_event_types: ReadonlySet<string>;
|
|
|
61
61
|
*
|
|
62
62
|
* @param log - logger for disconnect events (info level on non-zero closures)
|
|
63
63
|
* @returns an `on_audit_event` callback suitable for `create_audit_emitter`'s
|
|
64
|
-
* `on_audit_event` slot, or for
|
|
65
|
-
* `audit.
|
|
64
|
+
* `on_audit_event` slot, or for registering via
|
|
65
|
+
* `audit.add_listener` post-assembly. The returned callback mutates
|
|
66
66
|
* `transport` (closing matching sockets via
|
|
67
67
|
* `close_sockets_for_session` / `_token` / `_account`) on every relevant event.
|
|
68
68
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transports_ws_auth_guard.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/transports_ws_auth_guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"transports_ws_auth_guard.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/transports_ws_auth_guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAE/D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAMxD,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,GAChC,WAAW,yBAAyB,EACpC,KAAK,MAAM,KACT,iBA6CF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,uBAAuB,GACnC,WAAW,yBAAyB,EACpC,KAAK,MAAM,KACT,iBAaF,CAAC"}
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
*
|
|
19
19
|
* For standard WS endpoints mounted via `AppServerOptions.ws_endpoints`,
|
|
20
20
|
* `create_app_server` composes the guard automatically per
|
|
21
|
-
* `WsEndpointSpec.auth_guard`. For custom wiring,
|
|
21
|
+
* `WsEndpointSpec.auth_guard`. For custom wiring, register the handler
|
|
22
22
|
* inside the consumer's `audit_factory` body (or via
|
|
23
|
-
* `audit.
|
|
23
|
+
* `audit.add_listener(...)` post-assembly).
|
|
24
24
|
*
|
|
25
25
|
* @module
|
|
26
26
|
*/
|
|
@@ -42,7 +42,7 @@ export const ws_disconnect_event_types = new Set([
|
|
|
42
42
|
'token_revoke',
|
|
43
43
|
'session_revoke_all',
|
|
44
44
|
'token_revoke_all',
|
|
45
|
-
'password_change'
|
|
45
|
+
'password_change'
|
|
46
46
|
]);
|
|
47
47
|
/**
|
|
48
48
|
* Create an audit event handler that closes WebSocket connections on auth changes.
|
|
@@ -54,8 +54,8 @@ export const ws_disconnect_event_types = new Set([
|
|
|
54
54
|
*
|
|
55
55
|
* @param log - logger for disconnect events (info level on non-zero closures)
|
|
56
56
|
* @returns an `on_audit_event` callback suitable for `create_audit_emitter`'s
|
|
57
|
-
* `on_audit_event` slot, or for
|
|
58
|
-
* `audit.
|
|
57
|
+
* `on_audit_event` slot, or for registering via
|
|
58
|
+
* `audit.add_listener` post-assembly. The returned callback mutates
|
|
59
59
|
* `transport` (closing matching sockets via
|
|
60
60
|
* `close_sockets_for_session` / `_token` / `_account`) on every relevant event.
|
|
61
61
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transports_ws_backend.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/transports_ws_backend.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"transports_ws_backend.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/transports_ws_backend.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAe,KAAK,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAEX,gCAAgC,EAChC,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAEN,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEN,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,MAAM,mBAAmB,CAAC;AAI3B;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IAClC,sEAAsE;IACtE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,4CAA4C;IAC5C,UAAU,EAAE,IAAI,CAAC;IACjB,sEAAsE;IACtE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,4BAA6B,SAAQ,SAAS;IAC9D,kBAAkB,EAAE,CACnB,OAAO,EAAE,gCAAgC,EACzC,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,KAChD,MAAM,CAAC;CACZ;AAED,qDAAqD;AACrD,eAAO,MAAM,iCAAiC,GAC7C,WAAW,SAAS,KAClB,SAAS,IAAI,4BAEqE,CAAC;AAEtF,qBAAa,yBAA0B,YAAW,4BAA4B;;IAC7E,QAAQ,CAAC,cAAc,EAAG,uBAAuB,CAAU;IAiB3D;;;;;;;;;;;;OAYG;IACH,cAAc,CACb,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,UAAU,EAAE,IAAI,EAChB,YAAY,GAAE,MAAM,GAAG,IAAW,GAChC,IAAI;IAQP;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IA0BtC;;;;;;OAMG;IACH,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIrD;;;;;;OAMG;IACH,yBAAyB,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM;IAInD;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAuB/C,IAAI,CACT,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAC5B,IAAI,CACT,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAyCvC;;;;;;;;;OASG;IACH,kBAAkB,CACjB,OAAO,EAAE,gCAAgC,EACzC,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,GAClD,MAAM;IAoBT;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,gCAAgC,GAAG,MAAM;IAIpF;;;;;;;;;;;;;;;;;;OAkBG;IACH,kBAAkB,CACjB,aAAa,EAAE,IAAI,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACxC,OAAO,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,kBAAkB,CAAC;IAkB9B;;;;;;;;;;OAUG;IACH,qBAAqB,CACpB,aAAa,EAAE,IAAI,EACnB,QAAQ,EAAE,eAAe,GAAG,oBAAoB,GAC9C,OAAO;IAIV,QAAQ,IAAI,OAAO;IAInB;;;;;;;OAOG;IACH,oBAAoB,IAAI,MAAM;CAG9B"}
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
import { to_error_message } from '@fuzdev/fuz_util/error.ts';
|
|
8
8
|
import { create_uuid } from '@fuzdev/fuz_util/id.ts';
|
|
9
9
|
import { jsonrpc_error_messages } from '../http/jsonrpc_errors.js';
|
|
10
|
-
import { create_jsonrpc_error_response, create_jsonrpc_request, to_jsonrpc_message_id, is_jsonrpc_request
|
|
10
|
+
import { create_jsonrpc_error_response, create_jsonrpc_request, to_jsonrpc_message_id, is_jsonrpc_request } from '../http/jsonrpc_helpers.js';
|
|
11
11
|
import { WS_CLOSE_SESSION_REVOKED } from './transports.js';
|
|
12
|
-
import { PendingPeerRequests
|
|
12
|
+
import { PendingPeerRequests } from './peer_request.js';
|
|
13
13
|
/** Type guard for `FilterableBroadcastTransport`. */
|
|
14
14
|
export const is_filterable_broadcast_transport = (transport) => 'broadcast_filtered' in transport &&
|
|
15
15
|
typeof transport.broadcast_filtered === 'function';
|
|
@@ -74,7 +74,7 @@ export interface WsEndpointSpec {
|
|
|
74
74
|
/**
|
|
75
75
|
* Default `true` — auto-composes `create_ws_auth_guard` +
|
|
76
76
|
* `create_ws_logout_closer` against this endpoint's transport and
|
|
77
|
-
*
|
|
77
|
+
* registers them via `deps.audit.add_listener`. Wiring is deduped by
|
|
78
78
|
* transport **reference identity** (`WeakSet<BackendWebsocketTransport>`),
|
|
79
79
|
* so two `WsEndpointSpec`s sharing the exact same instance get a
|
|
80
80
|
* single pair of listeners.
|
|
@@ -106,7 +106,7 @@ export interface WsEndpointSpec {
|
|
|
106
106
|
*/
|
|
107
107
|
auth_guard?: boolean;
|
|
108
108
|
/**
|
|
109
|
-
* Extra audit-event handlers
|
|
109
|
+
* Extra audit-event handlers registered via `deps.audit.add_listener`
|
|
110
110
|
* AFTER the standard `auth_guard` wiring (when enabled). By the time
|
|
111
111
|
* these run, the standard guards may have already closed sockets. Use
|
|
112
112
|
* for role-revoke disconnection, custom analytics, etc.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws_endpoint_spec.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/ws_endpoint_spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ws_endpoint_spec.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/ws_endpoint_spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EACX,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC9B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC;;;;;OAKG;IACH,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC;;;;OAIG;IACH,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;IAC7C,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CACxD"}
|
package/dist/auth/CLAUDE.md
CHANGED
|
@@ -18,7 +18,7 @@ documents the cross-cutting invariants that don't fit on any single symbol.
|
|
|
18
18
|
|
|
19
19
|
- **Capabilities** — `AppDeps` — stateless, injectable per env: `stat`, `read_text_file`, `delete_file`, `keyring`, `password`, `db`, `log`, `audit`.
|
|
20
20
|
- **Route caps** — `RouteFactoryDeps` — `Omit<AppDeps, 'db'>`; handlers get `db` via `RouteContext`.
|
|
21
|
-
- **Action caps** —
|
|
21
|
+
- **Action caps** — `ActionFactoryDeps` (`auth/deps.ts`) — the `{log, audit}` shape action factories take; `RouteFactoryDeps`/`AppDeps` satisfy it structurally (role-grant-offer adds `notification_sender?`). The two pure-read actor factories (`actor_lookup`/`actor_search`) take only `{log: Logger}`.
|
|
22
22
|
- **Parameters** — `*Options` — static startup values, per-factory.
|
|
23
23
|
- **Runtime state** — inline ref — mutable values: `bootstrap_status`, `DaemonTokenState`. NOT in deps or options.
|
|
24
24
|
|
|
@@ -96,17 +96,21 @@ upstream in `auth/signup_routes.ts` via `query_invite_find_unclaimed_match_for_u
|
|
|
96
96
|
`auth/audit_emitter.ts` defines the `AuditEmitter` capability that lives on
|
|
97
97
|
`AppDeps.audit`. Built once at backend assembly via the consumer's
|
|
98
98
|
`audit_factory` callback over `create_audit_emitter`; closes over the pool +
|
|
99
|
-
|
|
99
|
+
its registered listeners + optional `AuditLogConfig`. Six methods:
|
|
100
100
|
|
|
101
101
|
- `emit(ctx, input)` — fire-and-forget pool write, pushes to `ctx.pending_effects`
|
|
102
102
|
- `emit_role_grant_target(ctx, auth, input)` — lifts `actor_id` / `account_id` / `ip` boilerplate for role-grant-shape events
|
|
103
103
|
- `emit_pool(input)` — awaitable pool write for code paths without `pending_effects` (cleanup sweeps)
|
|
104
104
|
- `notify(event)` — fan out an already-written row to listeners (used by in-tx audit batches like `query_accept_offer.audit_events`)
|
|
105
|
+
- `add_listener(listener)` — append-only listener registration (twin of Rust `fuz_auth` `AuditEmitter::add_listener`)
|
|
106
|
+
- `listener_count()` — registered-listener count, for tests / diagnostics
|
|
105
107
|
|
|
106
|
-
|
|
107
|
-
the audit-log SSE listener and per-endpoint WS auth guards / logout closers
|
|
108
|
-
|
|
109
|
-
callback without shallow-copying `AppDeps`.
|
|
108
|
+
Listeners are closure-private and append-only. `create_app_server` registers
|
|
109
|
+
the audit-log SSE listener and per-endpoint WS auth guards / logout closers via
|
|
110
|
+
`add_listener` so SSE + WS fan-out compose on top of the consumer's
|
|
111
|
+
`on_audit_event` callback without shallow-copying `AppDeps`. `notify` iterates a
|
|
112
|
+
snapshot so a listener registered mid-fan-out fires only on the next event
|
|
113
|
+
(converges with the Rust twin's cloned vec).
|
|
110
114
|
|
|
111
115
|
**Drift counters** (`auth/audit_log_queries.ts`) — `audit_metadata_validation_failures`
|
|
112
116
|
and `audit_unknown_event_type_failures` are process-wide, fail-open
|
|
@@ -176,10 +180,14 @@ consumer's `validate_data` pass-through callback on `CellActionDeps`.
|
|
|
176
180
|
`visibility` / `path`), the write-once capability/identity axis; a stray
|
|
177
181
|
`kind` inside `data` is rejected fail-loud (`ERROR_CELL_KIND_IN_DATA`).
|
|
178
182
|
- `auth/cell_action_specs.ts` — `CellVisibility` enum, `CellPath` brand,
|
|
179
|
-
`CellJson`, the
|
|
180
|
-
delete / list / clone`), error reasons, and `all_cell_action_specs`
|
|
183
|
+
`CellJson`, the generic verb specs (`cell_create / get / update /
|
|
184
|
+
delete / list / clone / moderate`), error reasons, and `all_cell_action_specs`
|
|
181
185
|
(spreads in the grant / field / item / audit registries so codegen + UI
|
|
182
|
-
see one cell namespace). `CellJson` has no hub axis; `path` is global.
|
|
186
|
+
see one cell namespace). `CellJson` has no hub axis; `path` is global. The
|
|
187
|
+
directory-tree columns `parent_id` / `root_id` (containment, immutable in v1)
|
|
188
|
+
- the `moderation` lifecycle marker (`pending` / `approved` / `rejected`) are
|
|
189
|
+
top-level `CellJson` keys, peer to `visibility` (set by the create authorizer's
|
|
190
|
+
verdict + the `cell_moderate` verb, never in `data`).
|
|
183
191
|
- `auth/cell_grant_action_specs.ts` / `cell_field_action_specs.ts` /
|
|
184
192
|
`cell_item_action_specs.ts` / `cell_audit_action_specs.ts` — the
|
|
185
193
|
`cell_grant_*` (3) / `cell_field_*` (3) / `cell_item_*` (4) /
|
|
@@ -204,18 +212,32 @@ auth, ids)`: batched strict relation-read filter. Every relation read —
|
|
|
204
212
|
Two queries for the whole id-set (avoids the N+1 of a per-row check). The
|
|
205
213
|
reverse list verbs additionally cap the fetch by the wire `limit` so a
|
|
206
214
|
heavily inbound-linked target can't force an unbounded scan.
|
|
207
|
-
- `auth/cell_actions.ts` — `create_cell_actions(deps)`, the
|
|
215
|
+
- `auth/cell_actions.ts` — `create_cell_actions(deps)`, the generic
|
|
208
216
|
handlers. `cell_create` stamps `created_by` + writes the top-level `kind`
|
|
209
|
-
column; `path` writes are admin-only.
|
|
217
|
+
column; `path` writes are admin-only. It also resolves the directory tree:
|
|
218
|
+
`parent_id` (wire) → the governing `root_id` (`parent.root_id ?? parent.id`),
|
|
219
|
+
**404**-masking a hidden parent. `cell_update` gates `visibility`
|
|
210
220
|
writes on `can_manage_cell` (`ERROR_CELL_VISIBILITY_MANAGE_ONLY`) and
|
|
211
|
-
**never touches `kind`**
|
|
221
|
+
**never touches `kind`** / `parent_id` / `root_id` / `moderation` (all
|
|
222
|
+
write-once-at-birth or control-gated, never on the update patch).
|
|
212
223
|
`cell_get` bundles visibility-filtered `fields` + `items` (one over the cap
|
|
213
224
|
for truncation detection). `cell_clone` deep-walks viewable children only
|
|
214
|
-
(each clone inherits its source's `kind
|
|
215
|
-
dep (`CellCreateAuthorize` — wider
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
225
|
+
(each clone inherits its source's `kind`; clones are unparented). The optional
|
|
226
|
+
parent-aware `authorize_create` dep (`CellCreateAuthorize` — wider input
|
|
227
|
+
`{kind, data, parent_id, root_id, root_data, scope_id}` than `validate_data`,
|
|
228
|
+
returning a `CellCreateVerdict` `{allow:false} | {allow:true, moderation_required}`)
|
|
229
|
+
gates create by capability; it runs after the validator + the parent-resolve.
|
|
230
|
+
A **viewable**-parent / root-creation deny is **403** `cell_create_forbidden`
|
|
231
|
+
(the create-path **404** mask is reserved for a hidden parent); `Allow` folds
|
|
232
|
+
the moderation outcome (born `pending`+private vs `approved`+author-visibility).
|
|
233
|
+
The authorizer is **pure** — the handler reads the governing root's `data`
|
|
234
|
+
in-tx and hands it over as `root_data`, so a directory policy resolves
|
|
235
|
+
`root.data.policy[kind]` without its own DB read (which also dodges the
|
|
236
|
+
single-connection PGlite deadlock). `None`/omitted = open create (the default;
|
|
237
|
+
mirrors `validate_data`). `cell_moderate` is the `pending → approved | rejected`
|
|
238
|
+
transition, gated on `can_manage_cell` of the **governing root** (admin / root
|
|
239
|
+
owner — the author lands a 403, the anti-self-approval guard); approve flips
|
|
240
|
+
`moderation → approved` + `visibility → public`, reject sets `rejected`.
|
|
219
241
|
- `auth/cell_grant_actions.ts` / `cell_field_actions.ts` /
|
|
220
242
|
`cell_item_actions.ts` / `cell_audit_actions.ts` — the relation + ACL +
|
|
221
243
|
audit handlers, exporting `to_grant_json` / `to_field_json` /
|
|
@@ -589,7 +611,7 @@ builders, plus `role_grant_offer_notification_specs: Array<EventSpec>` for
|
|
|
589
611
|
`create_app_server`'s `event_specs` (drives surface generation and
|
|
590
612
|
DEV-mode `create_validated_broadcaster` payload validation).
|
|
591
613
|
|
|
592
|
-
Deps: `
|
|
614
|
+
Deps: `ActionFactoryDeps & {notification_sender?: NotificationSender | null}`.
|
|
593
615
|
`NotificationSender` is the narrow structural capability
|
|
594
616
|
(`send_to_account(account_id, message): number`); `BackendWebsocketTransport`
|
|
595
617
|
satisfies it structurally. Target account travels via the send argument, not
|
|
@@ -18,7 +18,7 @@ export type SessionListInput = z.infer<typeof SessionListInput>;
|
|
|
18
18
|
/** Output for `account_session_list`. */
|
|
19
19
|
export declare const SessionListOutput: z.ZodObject<{
|
|
20
20
|
sessions: z.ZodArray<z.ZodObject<{
|
|
21
|
-
id: z.ZodString
|
|
21
|
+
id: z.core.$ZodBranded<z.ZodString, "SessionId", "out">;
|
|
22
22
|
account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
|
|
23
23
|
created_at: z.ZodString;
|
|
24
24
|
expires_at: z.ZodString;
|
|
@@ -28,7 +28,7 @@ export declare const SessionListOutput: z.ZodObject<{
|
|
|
28
28
|
export type SessionListOutput = z.infer<typeof SessionListOutput>;
|
|
29
29
|
/** Input for `account_session_revoke`. `session_id` is the blake3 hash. */
|
|
30
30
|
export declare const SessionRevokeInput: z.ZodObject<{
|
|
31
|
-
session_id: z.ZodString
|
|
31
|
+
session_id: z.core.$ZodBranded<z.ZodString, "SessionId", "out">;
|
|
32
32
|
}, z.core.$strict>;
|
|
33
33
|
export type SessionRevokeInput = z.infer<typeof SessionRevokeInput>;
|
|
34
34
|
/** Output for `account_session_revoke`. `revoked` is `false` for IDOR misses. */
|
|
@@ -118,7 +118,7 @@ export declare const account_session_list_action_spec: {
|
|
|
118
118
|
input: z.ZodVoid;
|
|
119
119
|
output: z.ZodObject<{
|
|
120
120
|
sessions: z.ZodArray<z.ZodObject<{
|
|
121
|
-
id: z.ZodString
|
|
121
|
+
id: z.core.$ZodBranded<z.ZodString, "SessionId", "out">;
|
|
122
122
|
account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
|
|
123
123
|
created_at: z.ZodString;
|
|
124
124
|
expires_at: z.ZodString;
|
|
@@ -139,7 +139,7 @@ export declare const account_session_revoke_action_spec: {
|
|
|
139
139
|
};
|
|
140
140
|
side_effects: true;
|
|
141
141
|
input: z.ZodObject<{
|
|
142
|
-
session_id: z.ZodString
|
|
142
|
+
session_id: z.core.$ZodBranded<z.ZodString, "SessionId", "out">;
|
|
143
143
|
}, z.core.$strict>;
|
|
144
144
|
output: z.ZodObject<{
|
|
145
145
|
ok: z.ZodLiteral<true>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account_action_specs.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_action_specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"account_action_specs.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_action_specs.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,7 @@
|
|
|
8
8
|
* @module
|
|
9
9
|
*/
|
|
10
10
|
import { z } from 'zod';
|
|
11
|
-
import {
|
|
12
|
-
import { AuthSessionJson, ClientApiTokenJson, SessionAccountJson } from './account_schema.js';
|
|
11
|
+
import { AuthSessionJson, ClientApiTokenJson, SessionAccountJson, SessionId } from './account_schema.js';
|
|
13
12
|
import { ApiTokenId } from './api_token.js';
|
|
14
13
|
// -- Input/output schemas ---------------------------------------------------
|
|
15
14
|
/** Input for `account_verify`. No parameters — the caller is the subject. */
|
|
@@ -18,23 +17,23 @@ export const VerifyInput = z.void();
|
|
|
18
17
|
export const SessionListInput = z.void();
|
|
19
18
|
/** Output for `account_session_list`. */
|
|
20
19
|
export const SessionListOutput = z.strictObject({
|
|
21
|
-
sessions: z.array(AuthSessionJson)
|
|
20
|
+
sessions: z.array(AuthSessionJson)
|
|
22
21
|
});
|
|
23
22
|
/** Input for `account_session_revoke`. `session_id` is the blake3 hash. */
|
|
24
23
|
export const SessionRevokeInput = z.strictObject({
|
|
25
|
-
session_id:
|
|
24
|
+
session_id: SessionId.meta({ description: 'Session id (blake3 hash) to revoke.' })
|
|
26
25
|
});
|
|
27
26
|
/** Output for `account_session_revoke`. `revoked` is `false` for IDOR misses. */
|
|
28
27
|
export const SessionRevokeOutput = z.strictObject({
|
|
29
28
|
ok: z.literal(true),
|
|
30
|
-
revoked: z.boolean()
|
|
29
|
+
revoked: z.boolean()
|
|
31
30
|
});
|
|
32
31
|
/** Input for `account_session_revoke_all`. No parameters. */
|
|
33
32
|
export const SessionRevokeAllInput = z.void();
|
|
34
33
|
/** Output for `account_session_revoke_all`. */
|
|
35
34
|
export const SessionRevokeAllOutput = z.strictObject({
|
|
36
35
|
ok: z.literal(true),
|
|
37
|
-
count: z.number()
|
|
36
|
+
count: z.number()
|
|
38
37
|
});
|
|
39
38
|
/** Input for `account_token_create`. */
|
|
40
39
|
export const TokenCreateInput = z
|
|
@@ -42,7 +41,7 @@ export const TokenCreateInput = z
|
|
|
42
41
|
name: z
|
|
43
42
|
.string()
|
|
44
43
|
.default('CLI token')
|
|
45
|
-
.meta({ description: 'Human-friendly label; shown in the token list.' })
|
|
44
|
+
.meta({ description: 'Human-friendly label; shown in the token list.' })
|
|
46
45
|
})
|
|
47
46
|
.prefault({});
|
|
48
47
|
/** Output for `account_token_create`. `token` is returned exactly once. */
|
|
@@ -50,22 +49,22 @@ export const TokenCreateOutput = z.strictObject({
|
|
|
50
49
|
ok: z.literal(true),
|
|
51
50
|
token: z.string().meta({ description: 'Raw token — shown once, store securely.' }),
|
|
52
51
|
id: ApiTokenId,
|
|
53
|
-
name: z.string()
|
|
52
|
+
name: z.string()
|
|
54
53
|
});
|
|
55
54
|
/** Input for `account_token_list`. No parameters. */
|
|
56
55
|
export const TokenListInput = z.void();
|
|
57
56
|
/** Output for `account_token_list`. Hashes are excluded. */
|
|
58
57
|
export const TokenListOutput = z.strictObject({
|
|
59
|
-
tokens: z.array(ClientApiTokenJson)
|
|
58
|
+
tokens: z.array(ClientApiTokenJson)
|
|
60
59
|
});
|
|
61
60
|
/** Input for `account_token_revoke`. */
|
|
62
61
|
export const TokenRevokeInput = z.strictObject({
|
|
63
|
-
token_id: ApiTokenId.meta({ description: 'Public API token id (e.g. `tok_<12 chars>`).' })
|
|
62
|
+
token_id: ApiTokenId.meta({ description: 'Public API token id (e.g. `tok_<12 chars>`).' })
|
|
64
63
|
});
|
|
65
64
|
/** Output for `account_token_revoke`. `revoked` is `false` for IDOR misses. */
|
|
66
65
|
export const TokenRevokeOutput = z.strictObject({
|
|
67
66
|
ok: z.literal(true),
|
|
68
|
-
revoked: z.boolean()
|
|
67
|
+
revoked: z.boolean()
|
|
69
68
|
});
|
|
70
69
|
// -- Action specs -----------------------------------------------------------
|
|
71
70
|
export const account_verify_action_spec = {
|
|
@@ -77,7 +76,7 @@ export const account_verify_action_spec = {
|
|
|
77
76
|
input: VerifyInput,
|
|
78
77
|
output: SessionAccountJson,
|
|
79
78
|
async: true,
|
|
80
|
-
description: 'Verify the current session and echo the caller account.'
|
|
79
|
+
description: 'Verify the current session and echo the caller account.'
|
|
81
80
|
};
|
|
82
81
|
export const account_session_list_action_spec = {
|
|
83
82
|
method: 'account_session_list',
|
|
@@ -88,7 +87,7 @@ export const account_session_list_action_spec = {
|
|
|
88
87
|
input: SessionListInput,
|
|
89
88
|
output: SessionListOutput,
|
|
90
89
|
async: true,
|
|
91
|
-
description: 'List auth sessions for the current account.'
|
|
90
|
+
description: 'List auth sessions for the current account.'
|
|
92
91
|
};
|
|
93
92
|
// `credential_types: ['session']` — see `docs/security.md` §Credential-channel gating.
|
|
94
93
|
// A leaked bearer can otherwise compose `account_session_list` + N×revoke to
|
|
@@ -102,7 +101,7 @@ export const account_session_revoke_action_spec = {
|
|
|
102
101
|
input: SessionRevokeInput,
|
|
103
102
|
output: SessionRevokeOutput,
|
|
104
103
|
async: true,
|
|
105
|
-
description: 'Revoke a single auth session for the current account (IDOR-guarded).'
|
|
104
|
+
description: 'Revoke a single auth session for the current account (IDOR-guarded).'
|
|
106
105
|
};
|
|
107
106
|
// `credential_types: ['session']` — see `docs/security.md` §Credential-channel gating.
|
|
108
107
|
export const account_session_revoke_all_action_spec = {
|
|
@@ -114,7 +113,7 @@ export const account_session_revoke_all_action_spec = {
|
|
|
114
113
|
input: SessionRevokeAllInput,
|
|
115
114
|
output: SessionRevokeAllOutput,
|
|
116
115
|
async: true,
|
|
117
|
-
description: 'Revoke every auth session for the current account.'
|
|
116
|
+
description: 'Revoke every auth session for the current account.'
|
|
118
117
|
};
|
|
119
118
|
/**
|
|
120
119
|
* `credential_types: ['session']` — see `docs/security.md` §Credential-channel gating.
|
|
@@ -136,7 +135,7 @@ export const account_token_create_action_spec = {
|
|
|
136
135
|
output: TokenCreateOutput,
|
|
137
136
|
async: true,
|
|
138
137
|
description: 'Create an API token for the current account. Raw token is returned once.',
|
|
139
|
-
rate_limit: 'account'
|
|
138
|
+
rate_limit: 'account'
|
|
140
139
|
};
|
|
141
140
|
export const account_token_list_action_spec = {
|
|
142
141
|
method: 'account_token_list',
|
|
@@ -147,7 +146,7 @@ export const account_token_list_action_spec = {
|
|
|
147
146
|
input: TokenListInput,
|
|
148
147
|
output: TokenListOutput,
|
|
149
148
|
async: true,
|
|
150
|
-
description: 'List API tokens for the current account. Hashes are never returned.'
|
|
149
|
+
description: 'List API tokens for the current account. Hashes are never returned.'
|
|
151
150
|
};
|
|
152
151
|
// `credential_types: ['session']` — see `docs/security.md` §Credential-channel gating.
|
|
153
152
|
export const account_token_revoke_action_spec = {
|
|
@@ -159,7 +158,7 @@ export const account_token_revoke_action_spec = {
|
|
|
159
158
|
input: TokenRevokeInput,
|
|
160
159
|
output: TokenRevokeOutput,
|
|
161
160
|
async: true,
|
|
162
|
-
description: 'Revoke an API token for the current account (IDOR-guarded).'
|
|
161
|
+
description: 'Revoke an API token for the current account (IDOR-guarded).'
|
|
163
162
|
};
|
|
164
163
|
/**
|
|
165
164
|
* All self-service account action specs — a codegen-ready registry.
|
|
@@ -173,5 +172,5 @@ export const all_account_action_specs = [
|
|
|
173
172
|
account_session_revoke_all_action_spec,
|
|
174
173
|
account_token_create_action_spec,
|
|
175
174
|
account_token_list_action_spec,
|
|
176
|
-
account_token_revoke_action_spec
|
|
175
|
+
account_token_revoke_action_spec
|
|
177
176
|
];
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import { type RpcAction } from '../actions/action_rpc.js';
|
|
26
26
|
import type { ConnectionCloser } from '../actions/connection_closer.js';
|
|
27
|
-
import type {
|
|
27
|
+
import type { ActionFactoryDeps } from './deps.js';
|
|
28
28
|
/** Options for `create_account_actions`. */
|
|
29
29
|
export interface AccountActionOptions {
|
|
30
30
|
/**
|
|
@@ -50,11 +50,11 @@ export interface AccountActionOptions {
|
|
|
50
50
|
/**
|
|
51
51
|
* Create the self-service account RPC actions.
|
|
52
52
|
*
|
|
53
|
-
* @param deps - `
|
|
53
|
+
* @param deps - `ActionFactoryDeps` (`log`, `audit`). `audit.emit` writes
|
|
54
54
|
* audit rows via the captured pool; the bound emitter encapsulates
|
|
55
55
|
* `on_audit_event` fan-out and the optional `AuditLogConfig`.
|
|
56
56
|
* @param options - per-factory configuration
|
|
57
57
|
* @returns the `RpcAction` array to spread into a `create_rpc_endpoint` call
|
|
58
58
|
*/
|
|
59
|
-
export declare const create_account_actions: (deps:
|
|
59
|
+
export declare const create_account_actions: (deps: ActionFactoryDeps, options?: AccountActionOptions) => Array<RpcAction>;
|
|
60
60
|
//# sourceMappingURL=account_actions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"account_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAexE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAwBnD,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACpC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GAClC,MAAM,iBAAiB,EACvB,UAAS,oBAAyB,KAChC,KAAK,CAAC,SAAS,CAyIjB,CAAC"}
|
|
@@ -24,15 +24,15 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import { rpc_action } from '../actions/action_rpc.js';
|
|
26
26
|
import { to_session_account } from './account_schema.js';
|
|
27
|
-
import { query_session_list_for_account, query_session_revoke_for_account, query_session_revoke_all_for_account
|
|
28
|
-
import { query_api_token_enforce_limit, query_api_token_list_for_account, query_create_api_token, query_revoke_api_token_for_account
|
|
27
|
+
import { query_session_list_for_account, query_session_revoke_for_account, query_session_revoke_all_for_account } from './session_queries.js';
|
|
28
|
+
import { query_api_token_enforce_limit, query_api_token_list_for_account, query_create_api_token, query_revoke_api_token_for_account } from './api_token_queries.js';
|
|
29
29
|
import { generate_api_token } from './api_token.js';
|
|
30
30
|
import { DEFAULT_MAX_TOKENS } from './account_route_schema.js';
|
|
31
|
-
import { account_verify_action_spec, account_session_list_action_spec, account_session_revoke_action_spec, account_session_revoke_all_action_spec, account_token_create_action_spec, account_token_list_action_spec, account_token_revoke_action_spec
|
|
31
|
+
import { account_verify_action_spec, account_session_list_action_spec, account_session_revoke_action_spec, account_session_revoke_all_action_spec, account_token_create_action_spec, account_token_list_action_spec, account_token_revoke_action_spec } from './account_action_specs.js';
|
|
32
32
|
/**
|
|
33
33
|
* Create the self-service account RPC actions.
|
|
34
34
|
*
|
|
35
|
-
* @param deps - `
|
|
35
|
+
* @param deps - `ActionFactoryDeps` (`log`, `audit`). `audit.emit` writes
|
|
36
36
|
* audit rows via the captured pool; the bound emitter encapsulates
|
|
37
37
|
* `on_audit_event` fan-out and the optional `AuditLogConfig`.
|
|
38
38
|
* @param options - per-factory configuration
|
|
@@ -70,7 +70,7 @@ export const create_account_actions = (deps, options = {}) => {
|
|
|
70
70
|
account_id: ctx.auth.account.id,
|
|
71
71
|
ip: ctx.client_ip,
|
|
72
72
|
// `credential_type` defense in depth — see `docs/security.md` §Credential-channel gating.
|
|
73
|
-
metadata: { session_id: input.session_id, credential_type: ctx.credential_type ?? undefined }
|
|
73
|
+
metadata: { session_id: input.session_id, credential_type: ctx.credential_type ?? undefined }
|
|
74
74
|
});
|
|
75
75
|
return { ok: true, revoked };
|
|
76
76
|
};
|
|
@@ -91,7 +91,7 @@ export const create_account_actions = (deps, options = {}) => {
|
|
|
91
91
|
event_type: 'session_revoke_all',
|
|
92
92
|
account_id: ctx.auth.account.id,
|
|
93
93
|
ip: ctx.client_ip,
|
|
94
|
-
metadata: { count, credential_type: ctx.credential_type ?? undefined }
|
|
94
|
+
metadata: { count, credential_type: ctx.credential_type ?? undefined }
|
|
95
95
|
});
|
|
96
96
|
return { ok: true, count };
|
|
97
97
|
};
|
|
@@ -108,8 +108,8 @@ export const create_account_actions = (deps, options = {}) => {
|
|
|
108
108
|
metadata: {
|
|
109
109
|
token_id: id,
|
|
110
110
|
name: input.name,
|
|
111
|
-
credential_type: ctx.credential_type ?? undefined
|
|
112
|
-
}
|
|
111
|
+
credential_type: ctx.credential_type ?? undefined
|
|
112
|
+
}
|
|
113
113
|
});
|
|
114
114
|
return { ok: true, token, id, name: input.name };
|
|
115
115
|
};
|
|
@@ -128,7 +128,7 @@ export const create_account_actions = (deps, options = {}) => {
|
|
|
128
128
|
outcome: revoked ? 'success' : 'failure',
|
|
129
129
|
account_id: ctx.auth.account.id,
|
|
130
130
|
ip: ctx.client_ip,
|
|
131
|
-
metadata: { token_id: input.token_id, credential_type: ctx.credential_type ?? undefined }
|
|
131
|
+
metadata: { token_id: input.token_id, credential_type: ctx.credential_type ?? undefined }
|
|
132
132
|
});
|
|
133
133
|
return { ok: true, revoked };
|
|
134
134
|
};
|
|
@@ -139,6 +139,6 @@ export const create_account_actions = (deps, options = {}) => {
|
|
|
139
139
|
rpc_action(account_session_revoke_all_action_spec, session_revoke_all_handler),
|
|
140
140
|
rpc_action(account_token_create_action_spec, token_create_handler),
|
|
141
141
|
rpc_action(account_token_list_action_spec, token_list_handler),
|
|
142
|
-
rpc_action(account_token_revoke_action_spec, token_revoke_handler)
|
|
142
|
+
rpc_action(account_token_revoke_action_spec, token_revoke_handler)
|
|
143
143
|
];
|
|
144
144
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account_queries.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_queries.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"account_queries.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
9
|
import { assert_row } from '../db/assert_row.js';
|
|
10
|
-
import { to_admin_account
|
|
10
|
+
import { to_admin_account } from './account_schema.js';
|
|
11
11
|
import { ADMIN_ACCOUNT_LIST_DEFAULT_LIMIT } from './admin_action_specs.js';
|
|
12
12
|
/**
|
|
13
13
|
* The full `account` column set, named explicitly so a row read fails loud
|
|
@@ -292,7 +292,7 @@ export const query_admin_account_list = async (deps, options) => {
|
|
|
292
292
|
const where = options?.include_deleted ? '' : 'WHERE deleted_at IS NULL';
|
|
293
293
|
const account_query = limit == null
|
|
294
294
|
? deps.db.query(`SELECT * FROM account ${where} ORDER BY created_at OFFSET $1`, [
|
|
295
|
-
offset
|
|
295
|
+
offset
|
|
296
296
|
])
|
|
297
297
|
: deps.db.query(`SELECT * FROM account ${where} ORDER BY created_at LIMIT $1 OFFSET $2`, [limit, offset]);
|
|
298
298
|
const accounts = await account_query;
|
|
@@ -317,7 +317,7 @@ export const query_admin_account_list = async (deps, options) => {
|
|
|
317
317
|
AND po.retracted_at IS NULL
|
|
318
318
|
AND po.superseded_at IS NULL
|
|
319
319
|
AND po.expires_at > NOW()
|
|
320
|
-
ORDER BY po.expires_at ASC`, [account_ids])
|
|
320
|
+
ORDER BY po.expires_at ASC`, [account_ids])
|
|
321
321
|
]);
|
|
322
322
|
// Index actors by account_id. Multi-actor TODO: this Map keyed by
|
|
323
323
|
// account_id silently overwrites earlier actors when an account
|
|
@@ -364,7 +364,7 @@ export const query_admin_account_list = async (deps, options) => {
|
|
|
364
364
|
scope_id: p.scope_id,
|
|
365
365
|
created_at: p.created_at,
|
|
366
366
|
expires_at: p.expires_at,
|
|
367
|
-
granted_by: p.granted_by
|
|
367
|
+
granted_by: p.granted_by
|
|
368
368
|
})),
|
|
369
369
|
pending_offers: account_offers.map((o) => ({
|
|
370
370
|
id: o.id,
|
|
@@ -374,8 +374,8 @@ export const query_admin_account_list = async (deps, options) => {
|
|
|
374
374
|
from_actor_id: o.from_actor_id,
|
|
375
375
|
from_username: o.from_username,
|
|
376
376
|
created_at: o.created_at,
|
|
377
|
-
expires_at: o.expires_at
|
|
378
|
-
}))
|
|
377
|
+
expires_at: o.expires_at
|
|
378
|
+
}))
|
|
379
379
|
};
|
|
380
380
|
});
|
|
381
381
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account_route_schema.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_route_schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"account_route_schema.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_route_schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAQvD,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAC3C,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;kBAI9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,4EAA4E;AAC5E,eAAO,MAAM,iCAAiC;;;iBAG5C,CAAC;AACH,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAElG,oFAAoF;AACpF,eAAO,MAAM,UAAU;;;kBAGrB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,6EAA6E;AAC7E,eAAO,MAAM,WAAW;;kBAEtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,2EAA2E;AAC3E,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,wFAAwF;AACxF,eAAO,MAAM,YAAY;;;kBAGvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,sHAAsH;AACtH,eAAO,MAAM,mBAAmB;;;kBAG9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,uGAAuG;AACvG,eAAO,MAAM,oBAAoB;;;;kBAI/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,4CAA4C;AAC5C,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,8CAA8C;AAC9C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUD,CAAC;AAEvC,8EAA8E;AAC9E,MAAM,WAAW,wBAAwB;IACxC,8FAA8F;IAC9F,0BAA0B,EAAE,OAAO,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GACvC,SAAS,wBAAwB,KAC/B,CACF,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAC1B,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAC1B,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAC1B,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAoD1B,CAAC"}
|