@fuzdev/fuz_app 0.52.0 → 0.53.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 +29 -9
- package/dist/actions/action_codegen.d.ts +10 -35
- package/dist/actions/action_codegen.d.ts.map +1 -1
- package/dist/actions/action_codegen.js +13 -42
- package/dist/actions/action_peer.d.ts.map +1 -1
- package/dist/actions/action_peer.js +0 -9
- package/dist/actions/action_registry.d.ts +0 -4
- package/dist/actions/action_registry.d.ts.map +1 -1
- package/dist/actions/action_registry.js +4 -10
- package/dist/actions/action_rpc.d.ts +16 -0
- package/dist/actions/action_rpc.d.ts.map +1 -1
- package/dist/actions/action_rpc.js +41 -20
- package/dist/actions/action_spec.d.ts +54 -5
- package/dist/actions/action_spec.d.ts.map +1 -1
- package/dist/actions/action_spec.js +21 -5
- package/dist/actions/frontend_rpc_client.d.ts +1 -9
- package/dist/actions/frontend_rpc_client.d.ts.map +1 -1
- package/dist/actions/frontend_rpc_client.js +1 -9
- package/dist/actions/register_action_ws.d.ts +16 -0
- package/dist/actions/register_action_ws.d.ts.map +1 -1
- package/dist/actions/register_action_ws.js +41 -1
- package/dist/actions/request_tracker.svelte.d.ts +10 -15
- package/dist/actions/request_tracker.svelte.d.ts.map +1 -1
- package/dist/actions/request_tracker.svelte.js +10 -15
- package/dist/actions/rpc_client.d.ts +0 -1
- package/dist/actions/rpc_client.d.ts.map +1 -1
- package/dist/actions/rpc_client.js +3 -17
- package/dist/actions/socket.svelte.d.ts +0 -1
- package/dist/actions/socket.svelte.d.ts.map +1 -1
- package/dist/actions/socket.svelte.js +0 -1
- package/dist/actions/transports.d.ts +4 -3
- package/dist/actions/transports.d.ts.map +1 -1
- package/dist/actions/transports.js +4 -13
- package/dist/actions/transports_ws_auth_guard.d.ts +0 -2
- package/dist/actions/transports_ws_auth_guard.d.ts.map +1 -1
- package/dist/actions/transports_ws_auth_guard.js +0 -2
- package/dist/actions/transports_ws_backend.d.ts.map +1 -1
- package/dist/actions/transports_ws_backend.js +0 -9
- package/dist/auth/CLAUDE.md +24 -14
- package/dist/auth/account_queries.d.ts +0 -3
- package/dist/auth/account_queries.d.ts.map +1 -1
- package/dist/auth/account_queries.js +0 -3
- package/dist/auth/admin_action_specs.d.ts +5 -0
- package/dist/auth/admin_action_specs.d.ts.map +1 -1
- package/dist/auth/admin_action_specs.js +5 -0
- package/dist/auth/api_token_queries.d.ts +0 -1
- package/dist/auth/api_token_queries.d.ts.map +1 -1
- package/dist/auth/api_token_queries.js +0 -1
- package/dist/auth/audit_log_queries.d.ts +0 -1
- package/dist/auth/audit_log_queries.d.ts.map +1 -1
- package/dist/auth/audit_log_queries.js +0 -1
- package/dist/auth/audit_log_routes.d.ts +2 -2
- package/dist/auth/audit_log_routes.js +2 -2
- package/dist/auth/invite_queries.d.ts +0 -1
- package/dist/auth/invite_queries.d.ts.map +1 -1
- package/dist/auth/invite_queries.js +0 -1
- package/dist/auth/permit_offer_action_specs.d.ts +1 -0
- package/dist/auth/permit_offer_action_specs.d.ts.map +1 -1
- package/dist/auth/permit_offer_action_specs.js +1 -0
- package/dist/auth/permit_offer_queries.d.ts +0 -1
- package/dist/auth/permit_offer_queries.d.ts.map +1 -1
- package/dist/auth/permit_offer_queries.js +0 -1
- package/dist/auth/permit_queries.d.ts +0 -1
- package/dist/auth/permit_queries.d.ts.map +1 -1
- package/dist/auth/permit_queries.js +0 -1
- package/dist/auth/session_lifecycle.d.ts +0 -1
- package/dist/auth/session_lifecycle.d.ts.map +1 -1
- package/dist/auth/session_lifecycle.js +0 -1
- package/dist/auth/session_middleware.d.ts +0 -4
- package/dist/auth/session_middleware.d.ts.map +1 -1
- package/dist/auth/session_middleware.js +0 -4
- package/dist/cli/config.d.ts +0 -3
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +0 -3
- package/dist/cli/daemon.d.ts +1 -1
- package/dist/cli/daemon.js +1 -1
- package/dist/db/create_db.d.ts +0 -1
- package/dist/db/create_db.d.ts.map +1 -1
- package/dist/db/create_db.js +0 -1
- package/dist/db/db.d.ts +0 -4
- package/dist/db/db.d.ts.map +1 -1
- package/dist/db/db.js +0 -4
- package/dist/db/db_pg.d.ts +2 -2
- package/dist/db/db_pg.js +2 -2
- package/dist/db/db_pglite.d.ts +1 -2
- package/dist/db/db_pglite.d.ts.map +1 -1
- package/dist/db/db_pglite.js +1 -2
- package/dist/db/migrate.d.ts +0 -1
- package/dist/db/migrate.d.ts.map +1 -1
- package/dist/db/migrate.js +0 -1
- package/dist/dev/setup.d.ts +0 -3
- package/dist/dev/setup.d.ts.map +1 -1
- package/dist/dev/setup.js +0 -3
- package/dist/env/load.d.ts +0 -2
- package/dist/env/load.d.ts.map +1 -1
- package/dist/env/load.js +0 -2
- package/dist/hono_context.d.ts +2 -5
- package/dist/hono_context.d.ts.map +1 -1
- package/dist/hono_context.js +2 -5
- package/dist/http/common_routes.d.ts +0 -8
- package/dist/http/common_routes.d.ts.map +1 -1
- package/dist/http/common_routes.js +0 -8
- package/dist/http/db_routes.d.ts +0 -3
- package/dist/http/db_routes.d.ts.map +1 -1
- package/dist/http/db_routes.js +0 -3
- package/dist/http/error_schemas.d.ts +12 -11
- package/dist/http/error_schemas.d.ts.map +1 -1
- package/dist/http/error_schemas.js +11 -7
- package/dist/http/jsonrpc_errors.d.ts +0 -6
- package/dist/http/jsonrpc_errors.d.ts.map +1 -1
- package/dist/http/jsonrpc_errors.js +0 -6
- package/dist/http/origin.d.ts +6 -13
- package/dist/http/origin.d.ts.map +1 -1
- package/dist/http/origin.js +7 -14
- package/dist/http/proxy.d.ts +1 -7
- package/dist/http/proxy.d.ts.map +1 -1
- package/dist/http/proxy.js +1 -7
- package/dist/http/route_spec.d.ts +13 -35
- package/dist/http/route_spec.d.ts.map +1 -1
- package/dist/http/route_spec.js +10 -22
- package/dist/http/schema_helpers.d.ts +0 -4
- package/dist/http/schema_helpers.d.ts.map +1 -1
- package/dist/http/schema_helpers.js +0 -4
- package/dist/http/surface.d.ts +2 -12
- package/dist/http/surface.d.ts.map +1 -1
- package/dist/http/surface.js +1 -12
- package/dist/rate_limiter.d.ts +16 -0
- package/dist/rate_limiter.d.ts.map +1 -1
- package/dist/rate_limiter.js +26 -0
- package/dist/realtime/sse.d.ts +0 -1
- package/dist/realtime/sse.d.ts.map +1 -1
- package/dist/realtime/sse.js +0 -1
- package/dist/realtime/subscriber_registry.d.ts +0 -3
- package/dist/realtime/subscriber_registry.d.ts.map +1 -1
- package/dist/realtime/subscriber_registry.js +0 -3
- package/dist/runtime/fs.d.ts +1 -4
- package/dist/runtime/fs.d.ts.map +1 -1
- package/dist/runtime/fs.js +1 -4
- package/dist/runtime/mock.d.ts +0 -3
- package/dist/runtime/mock.d.ts.map +1 -1
- package/dist/runtime/mock.js +0 -3
- package/dist/server/app_server.d.ts +27 -5
- package/dist/server/app_server.d.ts.map +1 -1
- package/dist/server/app_server.js +19 -7
- package/dist/server/startup.d.ts +0 -2
- package/dist/server/startup.d.ts.map +1 -1
- package/dist/server/startup.js +0 -2
- package/dist/server/static.d.ts +0 -1
- package/dist/server/static.d.ts.map +1 -1
- package/dist/server/static.js +0 -1
- package/dist/server/validate_nginx.d.ts +0 -3
- package/dist/server/validate_nginx.d.ts.map +1 -1
- package/dist/server/validate_nginx.js +0 -3
- package/dist/testing/CLAUDE.md +1 -1
- package/dist/testing/admin_integration.d.ts +0 -1
- package/dist/testing/admin_integration.d.ts.map +1 -1
- package/dist/testing/admin_integration.js +3 -6
- package/dist/testing/adversarial_404.d.ts +0 -2
- package/dist/testing/adversarial_404.d.ts.map +1 -1
- package/dist/testing/adversarial_404.js +0 -2
- package/dist/testing/adversarial_headers.d.ts +0 -1
- package/dist/testing/adversarial_headers.d.ts.map +1 -1
- package/dist/testing/adversarial_headers.js +0 -1
- package/dist/testing/adversarial_input.d.ts +0 -2
- package/dist/testing/adversarial_input.d.ts.map +1 -1
- package/dist/testing/adversarial_input.js +0 -2
- package/dist/testing/app_server.d.ts +22 -0
- package/dist/testing/app_server.d.ts.map +1 -1
- package/dist/testing/app_server.js +2 -4
- package/dist/testing/assertions.d.ts +0 -4
- package/dist/testing/assertions.d.ts.map +1 -1
- package/dist/testing/assertions.js +0 -4
- package/dist/testing/attack_surface.d.ts +0 -4
- package/dist/testing/attack_surface.d.ts.map +1 -1
- package/dist/testing/attack_surface.js +0 -4
- package/dist/testing/audit_completeness.d.ts +0 -1
- package/dist/testing/audit_completeness.d.ts.map +1 -1
- package/dist/testing/audit_completeness.js +0 -1
- package/dist/testing/auth_apps.d.ts +2 -10
- package/dist/testing/auth_apps.d.ts.map +1 -1
- package/dist/testing/auth_apps.js +2 -10
- package/dist/testing/data_exposure.d.ts +0 -11
- package/dist/testing/data_exposure.d.ts.map +1 -1
- package/dist/testing/data_exposure.js +0 -11
- package/dist/testing/db.d.ts +0 -6
- package/dist/testing/db.d.ts.map +1 -1
- package/dist/testing/db.js +0 -6
- package/dist/testing/error_coverage.d.ts +0 -14
- package/dist/testing/error_coverage.d.ts.map +1 -1
- package/dist/testing/error_coverage.js +0 -14
- package/dist/testing/integration.d.ts +0 -1
- package/dist/testing/integration.d.ts.map +1 -1
- package/dist/testing/integration.js +0 -1
- package/dist/testing/integration_helpers.d.ts +1 -36
- package/dist/testing/integration_helpers.d.ts.map +1 -1
- package/dist/testing/integration_helpers.js +1 -43
- package/dist/testing/middleware.d.ts +0 -10
- package/dist/testing/middleware.d.ts.map +1 -1
- package/dist/testing/middleware.js +0 -10
- package/dist/testing/mock_fs.d.ts +0 -2
- package/dist/testing/mock_fs.d.ts.map +1 -1
- package/dist/testing/mock_fs.js +0 -2
- package/dist/testing/rate_limiting.d.ts +0 -1
- package/dist/testing/rate_limiting.d.ts.map +1 -1
- package/dist/testing/rate_limiting.js +0 -1
- package/dist/testing/round_trip.d.ts +0 -2
- package/dist/testing/round_trip.d.ts.map +1 -1
- package/dist/testing/round_trip.js +0 -2
- package/dist/testing/rpc_attack_surface.d.ts +0 -2
- package/dist/testing/rpc_attack_surface.d.ts.map +1 -1
- package/dist/testing/rpc_attack_surface.js +0 -2
- package/dist/testing/rpc_helpers.d.ts +0 -6
- package/dist/testing/rpc_helpers.d.ts.map +1 -1
- package/dist/testing/rpc_helpers.js +0 -6
- package/dist/testing/rpc_round_trip.d.ts +0 -2
- package/dist/testing/rpc_round_trip.d.ts.map +1 -1
- package/dist/testing/rpc_round_trip.js +0 -2
- package/dist/testing/schema_generators.d.ts +0 -3
- package/dist/testing/schema_generators.d.ts.map +1 -1
- package/dist/testing/schema_generators.js +17 -3
- package/dist/testing/sse_round_trip.d.ts +0 -1
- package/dist/testing/sse_round_trip.d.ts.map +1 -1
- package/dist/testing/sse_round_trip.js +0 -1
- package/dist/testing/standard.d.ts +0 -2
- package/dist/testing/standard.d.ts.map +1 -1
- package/dist/testing/standard.js +0 -2
- package/dist/testing/stubs.d.ts +3 -5
- package/dist/testing/stubs.d.ts.map +1 -1
- package/dist/testing/stubs.js +5 -5
- package/dist/testing/surface_invariants.d.ts +0 -3
- package/dist/testing/surface_invariants.d.ts.map +1 -1
- package/dist/testing/surface_invariants.js +0 -3
- package/dist/ui/CLAUDE.md +1 -1
- package/dist/ui/audit_log_state.svelte.js +1 -1
- package/dist/ui/position_helpers.d.ts +0 -3
- package/dist/ui/position_helpers.d.ts.map +1 -1
- package/dist/ui/position_helpers.js +0 -3
- package/dist/ui/sidebar_state.svelte.d.ts +1 -2
- package/dist/ui/sidebar_state.svelte.d.ts.map +1 -1
- package/dist/ui/sidebar_state.svelte.js +1 -2
- package/dist/ui/ui_fetch.d.ts +1 -7
- package/dist/ui/ui_fetch.d.ts.map +1 -1
- package/dist/ui/ui_fetch.js +1 -7
- package/dist/ui/ui_format.d.ts +2 -14
- package/dist/ui/ui_format.d.ts.map +1 -1
- package/dist/ui/ui_format.js +2 -14
- package/package.json +2 -2
|
@@ -85,7 +85,6 @@ export interface ErrorSchemaAuditEntry {
|
|
|
85
85
|
* (`z.string()`) vs specific `z.literal()` or `z.enum()` error codes.
|
|
86
86
|
* Use the output to prioritize progressive tightening of error schemas.
|
|
87
87
|
*
|
|
88
|
-
* @param surface - the app surface to audit
|
|
89
88
|
* @returns audit entries for every route x status combination
|
|
90
89
|
*/
|
|
91
90
|
export declare const audit_error_schema_tightness: (surface: AppSurface) => Array<ErrorSchemaAuditEntry>;
|
|
@@ -199,8 +198,6 @@ export declare const DEFAULT_ERROR_SCHEMA_TIGHTNESS: ErrorSchemaTightnessOptions
|
|
|
199
198
|
* the configured threshold. Use `allowlist` and `ignore_statuses` to exclude
|
|
200
199
|
* known exceptions during progressive tightening.
|
|
201
200
|
*
|
|
202
|
-
* @param surface - the app surface to check
|
|
203
|
-
* @param options - threshold and exclusion configuration
|
|
204
201
|
* @throws AssertionError listing every route × status combination whose error
|
|
205
202
|
* schema specificity is below `min_specificity` (default `'enum'`) and is
|
|
206
203
|
* not in `allowlist` or `ignore_statuses`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface_invariants.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/surface_invariants.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAuB7B,OAAO,KAAK,EAAC,UAAU,EAAuB,MAAM,oBAAoB,CAAC;AAczE;;GAEG;AACH,eAAO,MAAM,mCAAmC,GAAI,SAAS,UAAU,KAAG,IAQzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,8BAA8B,GAAI,SAAS,UAAU,KAAG,IASpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,+BAA+B,GAAI,SAAS,UAAU,KAAG,IAQrE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gCAAgC,GAAI,SAAS,UAAU,KAAG,IAQtE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,+BAA+B,GAAI,SAAS,UAAU,KAAG,IAQrE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,GAAI,SAAS,UAAU,KAAG,IAIjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,GAAI,SAAS,UAAU,KAAG,IAOhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mCAAmC,GAAI,SAAS,UAAU,KAAG,IAezE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uCAAuC,GAAI,SAAS,UAAU,KAAG,IAgB7E,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oCAAoC,GAAI,SAAS,UAAU,KAAG,IAuC1E,CAAC;AA0CF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sCAAsC,GAAI,SAAS,UAAU,KAAG,IAU5E,CAAC;AAIF,4DAA4D;AAC5D,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAEpE,iEAAiE;AACjE,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,sBAAsB,CAAC;IACpC,qDAAqD;IACrD,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CAClC;AA+BD
|
|
1
|
+
{"version":3,"file":"surface_invariants.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/surface_invariants.ts"],"names":[],"mappings":"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"}
|
|
@@ -278,7 +278,6 @@ const extract_error_codes = (schema) => {
|
|
|
278
278
|
* (`z.string()`) vs specific `z.literal()` or `z.enum()` error codes.
|
|
279
279
|
* Use the output to prioritize progressive tightening of error schemas.
|
|
280
280
|
*
|
|
281
|
-
* @param surface - the app surface to audit
|
|
282
281
|
* @returns audit entries for every route x status combination
|
|
283
282
|
*/
|
|
284
283
|
export const audit_error_schema_tightness = (surface) => {
|
|
@@ -423,8 +422,6 @@ export const DEFAULT_ERROR_SCHEMA_TIGHTNESS = {
|
|
|
423
422
|
* the configured threshold. Use `allowlist` and `ignore_statuses` to exclude
|
|
424
423
|
* known exceptions during progressive tightening.
|
|
425
424
|
*
|
|
426
|
-
* @param surface - the app surface to check
|
|
427
|
-
* @param options - threshold and exclusion configuration
|
|
428
425
|
* @throws AssertionError listing every route × status combination whose error
|
|
429
426
|
* schema specificity is below `min_specificity` (default `'enum'`) and is
|
|
430
427
|
* not in `allowlist` or `ignore_statuses`.
|
package/dist/ui/CLAUDE.md
CHANGED
|
@@ -238,7 +238,7 @@ destructive actions.
|
|
|
238
238
|
`connected`. Internal `#last_seq` for SSE gap fill on reconnect.
|
|
239
239
|
Methods: `fetch(options?)` (RPC), `fetch_permit_history`,
|
|
240
240
|
`subscribe()` (opens `EventSource` at `#stream_url`, default
|
|
241
|
-
`/api/admin/audit
|
|
241
|
+
`/api/admin/audit/stream`; prepends new events; refills gap
|
|
242
242
|
via `since_seq`), `disconnect()`. SSE stays on `EventSource` —
|
|
243
243
|
streaming is not an RPC concern.
|
|
244
244
|
- `admin_accounts_state.svelte.ts` — `AdminAccountsState` extends
|
|
@@ -32,7 +32,7 @@ export class AuditLogState extends Loadable {
|
|
|
32
32
|
constructor(options) {
|
|
33
33
|
super();
|
|
34
34
|
this.#get_rpc = options?.get_rpc ?? (() => null);
|
|
35
|
-
this.#stream_url = options?.stream_url ?? '/api/admin/audit
|
|
35
|
+
this.#stream_url = options?.stream_url ?? '/api/admin/audit/stream';
|
|
36
36
|
}
|
|
37
37
|
/** True when an RPC adapter is wired. `fetch`/`fetch_permit_history` no-op without it. */
|
|
38
38
|
get has_rpc() {
|
|
@@ -18,10 +18,7 @@ export type Alignment = 'start' | 'center' | 'end';
|
|
|
18
18
|
/**
|
|
19
19
|
* Generates CSS positioning styles for UI elements.
|
|
20
20
|
*
|
|
21
|
-
* @param position - where to position the element ('left', 'right', etc.)
|
|
22
|
-
* @param align - alignment along the position edge ('start', 'center', 'end')
|
|
23
21
|
* @param offset - distance from the position (CSS value)
|
|
24
|
-
* @returns CSS styles as a Record
|
|
25
22
|
* @throws UnreachableError if `position` is not a known `Position` value
|
|
26
23
|
*/
|
|
27
24
|
export declare const generate_position_styles: (position?: Position, align?: Alignment, offset?: string) => Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position_helpers.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/position_helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,gBAAgB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEnD
|
|
1
|
+
{"version":3,"file":"position_helpers.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/position_helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,gBAAgB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GACpC,WAAU,QAAmB,EAC7B,QAAO,SAAoB,EAC3B,eAAY,KACV,MAAM,CAAC,MAAM,EAAE,MAAM,CAiEvB,CAAC"}
|
|
@@ -7,10 +7,7 @@ import { UnreachableError } from '@fuzdev/fuz_util/error.js';
|
|
|
7
7
|
/**
|
|
8
8
|
* Generates CSS positioning styles for UI elements.
|
|
9
9
|
*
|
|
10
|
-
* @param position - where to position the element ('left', 'right', etc.)
|
|
11
|
-
* @param align - alignment along the position edge ('start', 'center', 'end')
|
|
12
10
|
* @param offset - distance from the position (CSS value)
|
|
13
|
-
* @returns CSS styles as a Record
|
|
14
11
|
* @throws UnreachableError if `position` is not a known `Position` value
|
|
15
12
|
*/
|
|
16
13
|
export const generate_position_styles = (position = 'center', align = 'center', offset = '0') => {
|
|
@@ -35,8 +35,7 @@ export declare class SidebarState {
|
|
|
35
35
|
* Show the sidebar and enable the toggle. The returned disposer hides
|
|
36
36
|
* and disables on cleanup — pair with `$effect` for scoped activation.
|
|
37
37
|
*
|
|
38
|
-
* @
|
|
39
|
-
* @mutates `this`
|
|
38
|
+
* @mutates `this` - sets `enabled` and `show_sidebar`; disposer clears both
|
|
40
39
|
*/
|
|
41
40
|
activate(): () => void;
|
|
42
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/sidebar_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;2CAAwB,YAAY;4BAAZ,YAAY;uBAAZ,YAAY,WAAZ,YAAY;CAAG,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;CACxB;AAED,qBAAa,YAAY;;IAKxB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAEzB;IAED,IAAI,YAAY,IAAI,OAAO,CAG1B;IAED,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAE9B;gBAEW,OAAO,CAAC,EAAE,mBAAmB;IAIzC,cAAc,CAAC,KAAK,GAAE,OAA4B,GAAG,IAAI;IAIzD
|
|
1
|
+
{"version":3,"file":"sidebar_state.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/sidebar_state.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;2CAAwB,YAAY;4BAAZ,YAAY;uBAAZ,YAAY,WAAZ,YAAY;CAAG,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;CACxB;AAED,qBAAa,YAAY;;IAKxB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAEzB;IAED,IAAI,YAAY,IAAI,OAAO,CAG1B;IAED,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAE9B;gBAEW,OAAO,CAAC,EAAE,mBAAmB;IAIzC,cAAc,CAAC,KAAK,GAAE,OAA4B,GAAG,IAAI;IAIzD;;;;;OAKG;IACH,QAAQ,IAAI,MAAM,IAAI;CAQtB"}
|
|
@@ -40,8 +40,7 @@ export class SidebarState {
|
|
|
40
40
|
* Show the sidebar and enable the toggle. The returned disposer hides
|
|
41
41
|
* and disables on cleanup — pair with `$effect` for scoped activation.
|
|
42
42
|
*
|
|
43
|
-
* @
|
|
44
|
-
* @mutates `this`
|
|
43
|
+
* @mutates `this` - sets `enabled` and `show_sidebar`; disposer clears both
|
|
45
44
|
*/
|
|
46
45
|
activate() {
|
|
47
46
|
this.enabled = true;
|
package/dist/ui/ui_fetch.d.ts
CHANGED
|
@@ -9,10 +9,6 @@
|
|
|
9
9
|
*/
|
|
10
10
|
/**
|
|
11
11
|
* Fetch with credentials included (sends cookies).
|
|
12
|
-
*
|
|
13
|
-
* @param input - the request URL or Request object
|
|
14
|
-
* @param init - optional fetch init options
|
|
15
|
-
* @returns fetch response promise
|
|
16
12
|
*/
|
|
17
13
|
export declare const ui_fetch: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
18
14
|
/**
|
|
@@ -21,9 +17,7 @@ export declare const ui_fetch: (input: RequestInfo | URL, init?: RequestInit) =>
|
|
|
21
17
|
* Handles responses with non-JSON bodies (e.g. HTML 404 pages)
|
|
22
18
|
* that would throw on `response.json()`.
|
|
23
19
|
*
|
|
24
|
-
* @param
|
|
25
|
-
* @param fallback - fallback message when no `.error` field is found
|
|
26
|
-
* @returns error message string
|
|
20
|
+
* @param fallback - message when no `.error` field is found
|
|
27
21
|
*/
|
|
28
22
|
export declare const parse_response_error: (response: Response, fallback?: string) => Promise<string>;
|
|
29
23
|
//# sourceMappingURL=ui_fetch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui_fetch.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/ui_fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH
|
|
1
|
+
{"version":3,"file":"ui_fetch.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/ui_fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,WAAW,GAAG,GAAG,EAAE,OAAO,WAAW,KAAG,OAAO,CAAC,QAAQ,CACxC,CAAC;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAChC,UAAU,QAAQ,EAClB,WAAW,MAAM,KACf,OAAO,CAAC,MAAM,CAQhB,CAAC"}
|
package/dist/ui/ui_fetch.js
CHANGED
|
@@ -9,10 +9,6 @@
|
|
|
9
9
|
*/
|
|
10
10
|
/**
|
|
11
11
|
* Fetch with credentials included (sends cookies).
|
|
12
|
-
*
|
|
13
|
-
* @param input - the request URL or Request object
|
|
14
|
-
* @param init - optional fetch init options
|
|
15
|
-
* @returns fetch response promise
|
|
16
12
|
*/
|
|
17
13
|
export const ui_fetch = (input, init) => fetch(input, { ...init, credentials: 'include' });
|
|
18
14
|
/**
|
|
@@ -21,9 +17,7 @@ export const ui_fetch = (input, init) => fetch(input, { ...init, credentials: 'i
|
|
|
21
17
|
* Handles responses with non-JSON bodies (e.g. HTML 404 pages)
|
|
22
18
|
* that would throw on `response.json()`.
|
|
23
19
|
*
|
|
24
|
-
* @param
|
|
25
|
-
* @param fallback - fallback message when no `.error` field is found
|
|
26
|
-
* @returns error message string
|
|
20
|
+
* @param fallback - message when no `.error` field is found
|
|
27
21
|
*/
|
|
28
22
|
export const parse_response_error = async (response, fallback) => {
|
|
29
23
|
const default_message = fallback ?? `Error: ${response.status}`;
|
package/dist/ui/ui_format.d.ts
CHANGED
|
@@ -9,54 +9,42 @@
|
|
|
9
9
|
/**
|
|
10
10
|
* Format a timestamp as a relative time string.
|
|
11
11
|
*
|
|
12
|
-
* @param timestamp - a date value (`string`, `number`, or `Date`)
|
|
13
|
-
* @param now - reference time in ms since epoch, defaults to `Date.now()`
|
|
14
12
|
* @returns human-friendly relative time (e.g. "2m ago", "3h ago", "5d ago", "2mo ago", "1y ago")
|
|
15
13
|
*/
|
|
16
14
|
export declare const format_relative_time: (timestamp: string | number | Date, now?: number) => string;
|
|
17
15
|
/**
|
|
18
16
|
* Format milliseconds as a human-friendly uptime string.
|
|
19
17
|
*
|
|
20
|
-
* @param ms - duration in milliseconds
|
|
21
18
|
* @returns human-friendly duration (e.g. "45s", "12m", "3h 15m", "2d 5h")
|
|
22
19
|
*/
|
|
23
20
|
export declare const format_uptime: (ms: number) => string;
|
|
24
21
|
/**
|
|
25
22
|
* Truncate a string by keeping the start and end, with a separator in the middle.
|
|
26
23
|
*
|
|
27
|
-
* @param
|
|
28
|
-
* @param max_length - maximum total length including separator
|
|
29
|
-
* @param separator - the middle separator
|
|
24
|
+
* @param max_length - total length including separator
|
|
30
25
|
* @returns the truncated string, or the original if it fits
|
|
31
26
|
*/
|
|
32
27
|
export declare const truncate_middle: (str: string, max_length: number, separator?: string) => string;
|
|
33
28
|
/**
|
|
34
29
|
* Truncate a UUID for display, keeping start and end visible.
|
|
35
30
|
*
|
|
36
|
-
* @param uuid - the UUID string to truncate
|
|
37
31
|
* @returns a 12-character truncated UUID like `a1b2c…7890`
|
|
38
32
|
*/
|
|
39
33
|
export declare const truncate_uuid: (uuid: string) => string;
|
|
40
34
|
/**
|
|
41
35
|
* Format an arbitrary value for table cell display.
|
|
42
|
-
*
|
|
43
|
-
* @param value - the value to format
|
|
44
|
-
* @returns string representation suitable for UI display
|
|
45
36
|
*/
|
|
46
37
|
export declare const format_value: (value: unknown) => string;
|
|
47
38
|
/**
|
|
48
39
|
* Format a timestamp as an absolute datetime string for title attributes.
|
|
49
40
|
*
|
|
50
|
-
* @param timestamp - a date value
|
|
51
41
|
* @returns readable absolute datetime like `"2026-03-21 14:30:00 UTC"`
|
|
52
42
|
*/
|
|
53
43
|
export declare const format_datetime_local: (timestamp: string | number | Date) => string;
|
|
54
44
|
/**
|
|
55
45
|
* Format audit event metadata for display based on event type.
|
|
56
46
|
*
|
|
57
|
-
* @param event_type -
|
|
58
|
-
* @param metadata - the metadata object (may be null)
|
|
59
|
-
* @returns human-readable summary string
|
|
47
|
+
* @param event_type - builtin or consumer-registered audit event type
|
|
60
48
|
*/
|
|
61
49
|
export declare const format_audit_metadata: (event_type: string, metadata: Record<string, unknown> | null) => string;
|
|
62
50
|
//# sourceMappingURL=ui_format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui_format.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/ui_format.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH
|
|
1
|
+
{"version":3,"file":"ui_format.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/ui/ui_format.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAChC,WAAW,MAAM,GAAG,MAAM,GAAG,IAAI,EACjC,MAAK,MAAmB,KACtB,MA2BF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,KAAG,MAY1C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,EAAE,YAAY,MAAM,EAAE,kBAAe,KAAG,MAOlF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,MAAmC,CAAC;AAEjF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,MAS7C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,WAAW,MAAM,GAAG,MAAM,GAAG,IAAI,KAAG,MAOzE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GACjC,YAAY,MAAM,EAClB,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KACtC,MAuDF,CAAC"}
|
package/dist/ui/ui_format.js
CHANGED
|
@@ -9,8 +9,6 @@
|
|
|
9
9
|
/**
|
|
10
10
|
* Format a timestamp as a relative time string.
|
|
11
11
|
*
|
|
12
|
-
* @param timestamp - a date value (`string`, `number`, or `Date`)
|
|
13
|
-
* @param now - reference time in ms since epoch, defaults to `Date.now()`
|
|
14
12
|
* @returns human-friendly relative time (e.g. "2m ago", "3h ago", "5d ago", "2mo ago", "1y ago")
|
|
15
13
|
*/
|
|
16
14
|
export const format_relative_time = (timestamp, now = Date.now()) => {
|
|
@@ -49,7 +47,6 @@ export const format_relative_time = (timestamp, now = Date.now()) => {
|
|
|
49
47
|
/**
|
|
50
48
|
* Format milliseconds as a human-friendly uptime string.
|
|
51
49
|
*
|
|
52
|
-
* @param ms - duration in milliseconds
|
|
53
50
|
* @returns human-friendly duration (e.g. "45s", "12m", "3h 15m", "2d 5h")
|
|
54
51
|
*/
|
|
55
52
|
export const format_uptime = (ms) => {
|
|
@@ -72,9 +69,7 @@ export const format_uptime = (ms) => {
|
|
|
72
69
|
/**
|
|
73
70
|
* Truncate a string by keeping the start and end, with a separator in the middle.
|
|
74
71
|
*
|
|
75
|
-
* @param
|
|
76
|
-
* @param max_length - maximum total length including separator
|
|
77
|
-
* @param separator - the middle separator
|
|
72
|
+
* @param max_length - total length including separator
|
|
78
73
|
* @returns the truncated string, or the original if it fits
|
|
79
74
|
*/
|
|
80
75
|
export const truncate_middle = (str, max_length, separator = '…') => {
|
|
@@ -90,15 +85,11 @@ export const truncate_middle = (str, max_length, separator = '…') => {
|
|
|
90
85
|
/**
|
|
91
86
|
* Truncate a UUID for display, keeping start and end visible.
|
|
92
87
|
*
|
|
93
|
-
* @param uuid - the UUID string to truncate
|
|
94
88
|
* @returns a 12-character truncated UUID like `a1b2c…7890`
|
|
95
89
|
*/
|
|
96
90
|
export const truncate_uuid = (uuid) => truncate_middle(uuid, 12);
|
|
97
91
|
/**
|
|
98
92
|
* Format an arbitrary value for table cell display.
|
|
99
|
-
*
|
|
100
|
-
* @param value - the value to format
|
|
101
|
-
* @returns string representation suitable for UI display
|
|
102
93
|
*/
|
|
103
94
|
export const format_value = (value) => {
|
|
104
95
|
if (value === null)
|
|
@@ -118,7 +109,6 @@ export const format_value = (value) => {
|
|
|
118
109
|
/**
|
|
119
110
|
* Format a timestamp as an absolute datetime string for title attributes.
|
|
120
111
|
*
|
|
121
|
-
* @param timestamp - a date value
|
|
122
112
|
* @returns readable absolute datetime like `"2026-03-21 14:30:00 UTC"`
|
|
123
113
|
*/
|
|
124
114
|
export const format_datetime_local = (timestamp) => {
|
|
@@ -133,9 +123,7 @@ export const format_datetime_local = (timestamp) => {
|
|
|
133
123
|
/**
|
|
134
124
|
* Format audit event metadata for display based on event type.
|
|
135
125
|
*
|
|
136
|
-
* @param event_type -
|
|
137
|
-
* @param metadata - the metadata object (may be null)
|
|
138
|
-
* @returns human-readable summary string
|
|
126
|
+
* @param event_type - builtin or consumer-registered audit event type
|
|
139
127
|
*/
|
|
140
128
|
export const format_audit_metadata = (event_type, metadata) => {
|
|
141
129
|
if (!metadata)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fuzdev/fuz_app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.53.0",
|
|
4
4
|
"description": "fullstack app library",
|
|
5
5
|
"glyph": "🗝",
|
|
6
6
|
"logo": "logo.svg",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@fuzdev/blake3_wasm": "^0.1.0",
|
|
46
46
|
"@fuzdev/fuz_code": "^0.45.1",
|
|
47
47
|
"@fuzdev/fuz_css": "^0.59.0",
|
|
48
|
-
"@fuzdev/fuz_ui": "^0.
|
|
48
|
+
"@fuzdev/fuz_ui": "^0.192.0",
|
|
49
49
|
"@fuzdev/fuz_util": "^0.59.0",
|
|
50
50
|
"@fuzdev/gro": "^0.199.0",
|
|
51
51
|
"@jridgewell/trace-mapping": "^0.3.31",
|