@fuzdev/fuz_app 0.52.0 → 0.54.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 +43 -19
- 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_actions.d.ts.map +1 -1
- package/dist/auth/permit_offer_actions.js +9 -6
- 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/request_context.d.ts +47 -2
- package/dist/auth/request_context.d.ts.map +1 -1
- package/dist/auth/request_context.js +57 -2
- package/dist/auth/self_service_role_actions.d.ts.map +1 -1
- package/dist/auth/self_service_role_actions.js +14 -11
- 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 +29 -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
|
@@ -80,7 +80,6 @@ export class PermitOfferSelfTargetError extends Error {
|
|
|
80
80
|
*
|
|
81
81
|
* @mutates `permit_offer` table - inserts a new offer or upserts the matching pending row
|
|
82
82
|
* @throws PermitOfferSelfTargetError if the offering actor belongs to `to_account_id`
|
|
83
|
-
* @throws Error if the INSERT/UPSERT does not return a row (failed `assert_row` invariant)
|
|
84
83
|
*/
|
|
85
84
|
export const query_permit_offer_create = async (deps, input) => {
|
|
86
85
|
const actor = await query_actor_by_account(deps, input.to_account_id);
|
|
@@ -25,7 +25,6 @@ import { type SupersededOffer } from './permit_offer_schema.js';
|
|
|
25
25
|
* @param input - the permit fields
|
|
26
26
|
* @returns the created or existing active permit
|
|
27
27
|
* @mutates `permit` table - inserts a row when no active permit matches `(actor_id, role, scope_id)`
|
|
28
|
-
* @throws Error if the idempotent fallback `SELECT` does not return a row (failed `assert_row` invariant)
|
|
29
28
|
*/
|
|
30
29
|
export declare const query_grant_permit: (deps: QueryDeps, input: GrantPermitInput) => Promise<Permit>;
|
|
31
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permit_queries.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/permit_queries.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAEjD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAC,MAAM,EAAE,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAmC,KAAK,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAEhG
|
|
1
|
+
{"version":3,"file":"permit_queries.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/permit_queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,6 @@ import { PERMIT_OFFER_SCOPE_SENTINEL_UUID } from './permit_offer_schema.js';
|
|
|
23
23
|
* @param input - the permit fields
|
|
24
24
|
* @returns the created or existing active permit
|
|
25
25
|
* @mutates `permit` table - inserts a row when no active permit matches `(actor_id, role, scope_id)`
|
|
26
|
-
* @throws Error if the idempotent fallback `SELECT` does not return a row (failed `assert_row` invariant)
|
|
27
26
|
*/
|
|
28
27
|
export const query_grant_permit = async (deps, input) => {
|
|
29
28
|
const inserted = await deps.db.query_one(`INSERT INTO permit (actor_id, role, scope_id, expires_at, granted_by, source_offer_id)
|
|
@@ -56,13 +56,58 @@ export declare const require_request_context: (c: Context) => RequestContext;
|
|
|
56
56
|
* Check if a request context has an active permit for a given role.
|
|
57
57
|
*
|
|
58
58
|
* Checks the permits already loaded in the context (no DB query).
|
|
59
|
+
* Null-tolerant — `null` ctx (unauthenticated) returns `false`. Symmetric
|
|
60
|
+
* with `has_scoped_role` / `has_any_scoped_role` so the three helpers
|
|
61
|
+
* compose freely in the same predicate (e.g.
|
|
62
|
+
* `has_role(auth, ADMIN) || has_scoped_role(auth, role, scope)`).
|
|
59
63
|
*
|
|
60
|
-
* @param ctx - the request context
|
|
64
|
+
* @param ctx - the request context, or `null` for unauthenticated callers
|
|
61
65
|
* @param role - the role to check
|
|
62
66
|
* @param now - current time (defaults to `new Date()`, pass for testability and hot-path efficiency)
|
|
63
67
|
* @returns `true` if the actor has an active permit for the role
|
|
64
68
|
*/
|
|
65
|
-
export declare const has_role: (ctx: RequestContext, role: string, now?: Date) => boolean;
|
|
69
|
+
export declare const has_role: (ctx: RequestContext | null, role: string, now?: Date) => boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Whether the request context holds an active permit for `role` at `scope_id`.
|
|
72
|
+
*
|
|
73
|
+
* Walks the in-memory `ctx.permits` snapshot loaded once per request by
|
|
74
|
+
* `create_request_context_middleware`; zero DB roundtrip per check. The
|
|
75
|
+
* "freshness" framing of a SQL re-query is illusory because the race window
|
|
76
|
+
* is between predicate and the actual mutation, not predicate and middleware
|
|
77
|
+
* load. Closing that race needs a transactional re-check inside the
|
|
78
|
+
* UPDATE/INSERT, which neither style provides.
|
|
79
|
+
*
|
|
80
|
+
* Null-tolerant — `null` ctx (unauthenticated) returns `false`. Same
|
|
81
|
+
* convention as `has_role`; lets the helper drop into `auth: 'public'`
|
|
82
|
+
* handlers without a manual narrow. See `cell_authorize` for the
|
|
83
|
+
* resource-side analog.
|
|
84
|
+
*
|
|
85
|
+
* `scope_id` semantics: in-memory `permit.scope_id` is `string | null`, so
|
|
86
|
+
* JS `===` matches the SQL `IS NOT DISTINCT FROM` semantics exactly:
|
|
87
|
+
*
|
|
88
|
+
* - `scope_id === null` matches global permits (`scope_id IS NULL`).
|
|
89
|
+
* - `scope_id === '<uuid>'` matches permits bound to that exact scope.
|
|
90
|
+
*
|
|
91
|
+
* @param ctx - the request context, or `null` for unauthenticated callers
|
|
92
|
+
* @param role - the role to check
|
|
93
|
+
* @param scope_id - the scope to check (`null` for global)
|
|
94
|
+
* @param now - current time (defaults to `new Date()`, pass for testability and hot-path efficiency)
|
|
95
|
+
* @returns `true` iff the actor holds an active permit for the role at the requested scope
|
|
96
|
+
*/
|
|
97
|
+
export declare const has_scoped_role: (ctx: RequestContext | null, role: string, scope_id: string | null, now?: Date) => boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Whether the request context holds an active permit for any role in `roles`
|
|
100
|
+
* at `scope_id`. Empty `roles` short-circuits to `false` — documents intent
|
|
101
|
+
* at the call site ("zero roles trivially admit no-one"). Same scope and
|
|
102
|
+
* null-tolerance semantics as `has_scoped_role`.
|
|
103
|
+
*
|
|
104
|
+
* @param ctx - the request context, or `null` for unauthenticated callers
|
|
105
|
+
* @param roles - the roles that would admit the caller (any-of)
|
|
106
|
+
* @param scope_id - the scope to check (`null` for global)
|
|
107
|
+
* @param now - current time (defaults to `new Date()`, pass for testability)
|
|
108
|
+
* @returns `true` iff the actor holds an active permit for any role in `roles` at the requested scope
|
|
109
|
+
*/
|
|
110
|
+
export declare const has_any_scoped_role: (ctx: RequestContext | null, roles: ReadonlyArray<string>, scope_id: string | null, now?: Date) => boolean;
|
|
66
111
|
/**
|
|
67
112
|
* Create middleware that builds the request context from a session cookie.
|
|
68
113
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request_context.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/request_context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,OAAO,EAAE,iBAAiB,EAAC,MAAM,MAAM,CAAC;AACrD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAC,KAAK,OAAO,EAAE,KAAK,KAAK,EAAoB,KAAK,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAQ5F,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAOnD,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACvB;AAED,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AAErD;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AAErE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,GAAG,OAAO,KAAG,cAAc,GAAG,IAEjE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAAI,GAAG,OAAO,KAAG,cAMpD,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"request_context.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/request_context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,OAAO,EAAE,iBAAiB,EAAC,MAAM,MAAM,CAAC;AACrD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAC,KAAK,OAAO,EAAE,KAAK,KAAK,EAAoB,KAAK,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAQ5F,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAOnD,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACvB;AAED,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AAErD;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AAErE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,GAAG,OAAO,KAAG,cAAc,GAAG,IAEjE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAAI,GAAG,OAAO,KAAG,cAMpD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,GACpB,KAAK,cAAc,GAAG,IAAI,EAC1B,MAAM,MAAM,EACZ,MAAK,IAAiB,KACpB,OAAyF,CAAC;AAE7F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,eAAe,GAC3B,KAAK,cAAc,GAAG,IAAI,EAC1B,MAAM,MAAM,EACZ,UAAU,MAAM,GAAG,IAAI,EACvB,MAAK,IAAiB,KACpB,OAKF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,GAC/B,KAAK,cAAc,GAAG,IAAI,EAC1B,OAAO,aAAa,CAAC,MAAM,CAAC,EAC5B,UAAU,MAAM,GAAG,IAAI,EACvB,MAAK,IAAiB,KACpB,OAMF,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iCAAiC,GAC7C,MAAM,SAAS,EACf,KAAK,MAAM,EACX,4BAAuC,KACrC,iBA6CF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,iBAM1B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,iBAW3C,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,GAC3B,KAAK,cAAc,EACnB,MAAM,SAAS,KACb,OAAO,CAAC,cAAc,CAGxB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,GACjC,MAAM,SAAS,EACf,YAAY,MAAM,KAChB,OAAO,CAAC,cAAc,GAAG,IAAI,CAS/B,CAAC"}
|
|
@@ -60,13 +60,68 @@ export const require_request_context = (c) => {
|
|
|
60
60
|
* Check if a request context has an active permit for a given role.
|
|
61
61
|
*
|
|
62
62
|
* Checks the permits already loaded in the context (no DB query).
|
|
63
|
+
* Null-tolerant — `null` ctx (unauthenticated) returns `false`. Symmetric
|
|
64
|
+
* with `has_scoped_role` / `has_any_scoped_role` so the three helpers
|
|
65
|
+
* compose freely in the same predicate (e.g.
|
|
66
|
+
* `has_role(auth, ADMIN) || has_scoped_role(auth, role, scope)`).
|
|
63
67
|
*
|
|
64
|
-
* @param ctx - the request context
|
|
68
|
+
* @param ctx - the request context, or `null` for unauthenticated callers
|
|
65
69
|
* @param role - the role to check
|
|
66
70
|
* @param now - current time (defaults to `new Date()`, pass for testability and hot-path efficiency)
|
|
67
71
|
* @returns `true` if the actor has an active permit for the role
|
|
68
72
|
*/
|
|
69
|
-
export const has_role = (ctx, role, now = new Date()) => ctx
|
|
73
|
+
export const has_role = (ctx, role, now = new Date()) => ctx?.permits.some((p) => p.role === role && is_permit_active(p, now)) ?? false;
|
|
74
|
+
/**
|
|
75
|
+
* Whether the request context holds an active permit for `role` at `scope_id`.
|
|
76
|
+
*
|
|
77
|
+
* Walks the in-memory `ctx.permits` snapshot loaded once per request by
|
|
78
|
+
* `create_request_context_middleware`; zero DB roundtrip per check. The
|
|
79
|
+
* "freshness" framing of a SQL re-query is illusory because the race window
|
|
80
|
+
* is between predicate and the actual mutation, not predicate and middleware
|
|
81
|
+
* load. Closing that race needs a transactional re-check inside the
|
|
82
|
+
* UPDATE/INSERT, which neither style provides.
|
|
83
|
+
*
|
|
84
|
+
* Null-tolerant — `null` ctx (unauthenticated) returns `false`. Same
|
|
85
|
+
* convention as `has_role`; lets the helper drop into `auth: 'public'`
|
|
86
|
+
* handlers without a manual narrow. See `cell_authorize` for the
|
|
87
|
+
* resource-side analog.
|
|
88
|
+
*
|
|
89
|
+
* `scope_id` semantics: in-memory `permit.scope_id` is `string | null`, so
|
|
90
|
+
* JS `===` matches the SQL `IS NOT DISTINCT FROM` semantics exactly:
|
|
91
|
+
*
|
|
92
|
+
* - `scope_id === null` matches global permits (`scope_id IS NULL`).
|
|
93
|
+
* - `scope_id === '<uuid>'` matches permits bound to that exact scope.
|
|
94
|
+
*
|
|
95
|
+
* @param ctx - the request context, or `null` for unauthenticated callers
|
|
96
|
+
* @param role - the role to check
|
|
97
|
+
* @param scope_id - the scope to check (`null` for global)
|
|
98
|
+
* @param now - current time (defaults to `new Date()`, pass for testability and hot-path efficiency)
|
|
99
|
+
* @returns `true` iff the actor holds an active permit for the role at the requested scope
|
|
100
|
+
*/
|
|
101
|
+
export const has_scoped_role = (ctx, role, scope_id, now = new Date()) => {
|
|
102
|
+
if (!ctx)
|
|
103
|
+
return false;
|
|
104
|
+
return ctx.permits.some((p) => p.role === role && p.scope_id === scope_id && is_permit_active(p, now));
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Whether the request context holds an active permit for any role in `roles`
|
|
108
|
+
* at `scope_id`. Empty `roles` short-circuits to `false` — documents intent
|
|
109
|
+
* at the call site ("zero roles trivially admit no-one"). Same scope and
|
|
110
|
+
* null-tolerance semantics as `has_scoped_role`.
|
|
111
|
+
*
|
|
112
|
+
* @param ctx - the request context, or `null` for unauthenticated callers
|
|
113
|
+
* @param roles - the roles that would admit the caller (any-of)
|
|
114
|
+
* @param scope_id - the scope to check (`null` for global)
|
|
115
|
+
* @param now - current time (defaults to `new Date()`, pass for testability)
|
|
116
|
+
* @returns `true` iff the actor holds an active permit for any role in `roles` at the requested scope
|
|
117
|
+
*/
|
|
118
|
+
export const has_any_scoped_role = (ctx, roles, scope_id, now = new Date()) => {
|
|
119
|
+
if (!ctx)
|
|
120
|
+
return false;
|
|
121
|
+
if (roles.length === 0)
|
|
122
|
+
return false;
|
|
123
|
+
return ctx.permits.some((p) => roles.includes(p.role) && p.scope_id === scope_id && is_permit_active(p, now));
|
|
124
|
+
};
|
|
70
125
|
/**
|
|
71
126
|
* Create middleware that builds the request context from a session cookie.
|
|
72
127
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self_service_role_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/self_service_role_actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAiC,KAAK,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAExF,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"self_service_role_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/self_service_role_actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAiC,KAAK,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAExF,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAYhD,sDAAsD;AACtD,MAAM,WAAW,6BAA6B;IAC7C;;;;OAIG;IACH,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC;;;;OAIG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC3C,gBAAgB,EAChB,KAAK,GAAG,gBAAgB,GAAG,kBAAkB,CAC7C,CAAC;AAOF;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,GAC5C,MAAM,yBAAyB,EAC/B,SAAS,6BAA6B,KACpC,KAAK,CAAC,SAAS,CA+GjB,CAAC"}
|
|
@@ -33,8 +33,10 @@
|
|
|
33
33
|
*/
|
|
34
34
|
import { rpc_action } from '../actions/action_rpc.js';
|
|
35
35
|
import { jsonrpc_errors } from '../http/jsonrpc_errors.js';
|
|
36
|
-
import { query_grant_permit,
|
|
36
|
+
import { query_grant_permit, query_revoke_permit } from './permit_queries.js';
|
|
37
37
|
import { audit_log_fire_and_forget } from './audit_log_queries.js';
|
|
38
|
+
import { is_permit_active } from './account_schema.js';
|
|
39
|
+
import { has_scoped_role } from './request_context.js';
|
|
38
40
|
import { ERROR_ROLE_NOT_SELF_SERVICE_ELIGIBLE, self_service_role_set_action_spec, } from './self_service_role_action_specs.js';
|
|
39
41
|
const require_request_auth = (auth) => {
|
|
40
42
|
if (!auth)
|
|
@@ -73,13 +75,13 @@ export const create_self_service_role_actions = (deps, options) => {
|
|
|
73
75
|
// Pre-check for idempotent re-grant. `query_grant_permit` is itself
|
|
74
76
|
// idempotent (returns the existing permit instead of inserting), but
|
|
75
77
|
// it doesn't signal "already existed" vs "newly inserted" — so we
|
|
76
|
-
// peek first.
|
|
77
|
-
//
|
|
78
|
+
// peek first. Reads from the in-memory `auth.permits` snapshot
|
|
79
|
+
// (no DB roundtrip). The TOCTOU window is benign for self-service:
|
|
80
|
+
// two concurrent grants both observe "no permit", both call
|
|
78
81
|
// `query_grant_permit`, and one collapses onto the other inside the
|
|
79
82
|
// query's `ON CONFLICT DO NOTHING`. Worst case both responses report
|
|
80
83
|
// `changed: true`; the DB still ends up with exactly one permit.
|
|
81
|
-
|
|
82
|
-
if (already) {
|
|
84
|
+
if (has_scoped_role(auth, input.role, null)) {
|
|
83
85
|
return { ok: true, enabled: true, changed: false };
|
|
84
86
|
}
|
|
85
87
|
const permit = await query_grant_permit(ctx, {
|
|
@@ -103,12 +105,13 @@ export const create_self_service_role_actions = (deps, options) => {
|
|
|
103
105
|
}, deps);
|
|
104
106
|
return { ok: true, enabled: true, changed: true };
|
|
105
107
|
}
|
|
106
|
-
// Find an active global permit for this (actor, role)
|
|
107
|
-
//
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
-
|
|
111
|
-
const
|
|
108
|
+
// Find an active global permit for this (actor, role) in the in-memory
|
|
109
|
+
// `auth.permits` snapshot. No DB roundtrip — same correctness-equivalent
|
|
110
|
+
// pattern as `has_scoped_role` above (race window is between predicate
|
|
111
|
+
// and `query_revoke_permit`'s actual UPDATE, not between predicate and
|
|
112
|
+
// middleware load).
|
|
113
|
+
const now = new Date();
|
|
114
|
+
const target = auth.permits.find((p) => p.role === input.role && p.scope_id === null && is_permit_active(p, now));
|
|
112
115
|
if (!target) {
|
|
113
116
|
return { ok: true, enabled: false, changed: false };
|
|
114
117
|
}
|
|
@@ -32,7 +32,6 @@ export interface CreateSessionAndSetCookieOptions {
|
|
|
32
32
|
* sets the signed cookie.
|
|
33
33
|
*
|
|
34
34
|
* @mutates `auth_session` table - inserts the new session row (and evicts older rows when `max_sessions` is set)
|
|
35
|
-
* @mutates `options.c` - writes the signed session cookie via `Set-Cookie`
|
|
36
35
|
*/
|
|
37
36
|
export declare const create_session_and_set_cookie: (options: CreateSessionAndSetCookieOptions) => Promise<void>;
|
|
38
37
|
//# sourceMappingURL=session_lifecycle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_lifecycle.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/session_lifecycle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAElC,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAA8B,KAAK,cAAc,EAAC,MAAM,qBAAqB,CAAC;AASrF,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAChD,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,IAAI,EAAE,SAAS,CAAC;IAChB,2CAA2C;IAC3C,CAAC,EAAE,OAAO,CAAC;IACX,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED
|
|
1
|
+
{"version":3,"file":"session_lifecycle.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/session_lifecycle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAElC,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAA8B,KAAK,cAAc,EAAC,MAAM,qBAAqB,CAAC;AASrF,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAChD,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,IAAI,EAAE,SAAS,CAAC;IAChB,2CAA2C;IAC3C,CAAC,EAAE,OAAO,CAAC;IACX,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,GACzC,SAAS,gCAAgC,KACvC,OAAO,CAAC,IAAI,CAad,CAAC"}
|
|
@@ -14,7 +14,6 @@ import { generate_session_token, hash_session_token, AUTH_SESSION_LIFETIME_MS, q
|
|
|
14
14
|
* sets the signed cookie.
|
|
15
15
|
*
|
|
16
16
|
* @mutates `auth_session` table - inserts the new session row (and evicts older rows when `max_sessions` is set)
|
|
17
|
-
* @mutates `options.c` - writes the signed session cookie via `Set-Cookie`
|
|
18
17
|
*/
|
|
19
18
|
export const create_session_and_set_cookie = async (options) => {
|
|
20
19
|
const { keyring, deps, c, account_id, session_options, max_sessions } = options;
|
|
@@ -14,14 +14,10 @@ import { type SessionOptions } from './session_cookie.js';
|
|
|
14
14
|
export declare const get_session_cookie: <T>(c: Context, options: SessionOptions<T>) => string | undefined;
|
|
15
15
|
/**
|
|
16
16
|
* Set the session cookie on a response.
|
|
17
|
-
*
|
|
18
|
-
* @mutates `c` - writes the `Set-Cookie` header
|
|
19
17
|
*/
|
|
20
18
|
export declare const set_session_cookie: <T>(c: Context, value: string, options: SessionOptions<T>) => void;
|
|
21
19
|
/**
|
|
22
20
|
* Clear the session cookie on a response.
|
|
23
|
-
*
|
|
24
|
-
* @mutates `c` - writes a cookie-clearing `Set-Cookie` header
|
|
25
21
|
*/
|
|
26
22
|
export declare const clear_session_cookie: <T>(c: Context, options: SessionOptions<T>) => void;
|
|
27
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_middleware.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/session_middleware.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAC,OAAO,EAAE,iBAAiB,EAAC,MAAM,MAAM,CAAC;AAGrD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EACN,KAAK,cAAc,EAInB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,EACnC,GAAG,OAAO,EACV,SAAS,cAAc,CAAC,CAAC,CAAC,KACxB,MAAM,GAAG,SAEX,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"session_middleware.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/session_middleware.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAC,OAAO,EAAE,iBAAiB,EAAC,MAAM,MAAM,CAAC;AAGrD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EACN,KAAK,cAAc,EAInB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,EACnC,GAAG,OAAO,EACV,SAAS,cAAc,CAAC,CAAC,CAAC,KACxB,MAAM,GAAG,SAEX,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,EACnC,GAAG,OAAO,EACV,OAAO,MAAM,EACb,SAAS,cAAc,CAAC,CAAC,CAAC,KACxB,IASF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC,KAAG,IAMhF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,GAAI,SAAS,EAClD,SAAS,OAAO,EAChB,SAAS,cAAc,CAAC,SAAS,CAAC,KAChC,iBAgBF,CAAC"}
|
|
@@ -15,8 +15,6 @@ export const get_session_cookie = (c, options) => {
|
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
17
|
* Set the session cookie on a response.
|
|
18
|
-
*
|
|
19
|
-
* @mutates `c` - writes the `Set-Cookie` header
|
|
20
18
|
*/
|
|
21
19
|
export const set_session_cookie = (c, value, options) => {
|
|
22
20
|
const cookie_options = {
|
|
@@ -30,8 +28,6 @@ export const set_session_cookie = (c, value, options) => {
|
|
|
30
28
|
};
|
|
31
29
|
/**
|
|
32
30
|
* Clear the session cookie on a response.
|
|
33
|
-
*
|
|
34
|
-
* @mutates `c` - writes a cookie-clearing `Set-Cookie` header
|
|
35
31
|
*/
|
|
36
32
|
export const clear_session_cookie = (c, options) => {
|
|
37
33
|
const cookie_options = {
|
package/dist/cli/config.d.ts
CHANGED
|
@@ -37,14 +37,11 @@ export declare const load_config: <T>(runtime: Pick<FsReadDeps, "stat" | "read_t
|
|
|
37
37
|
/**
|
|
38
38
|
* Save CLI configuration to a JSON file.
|
|
39
39
|
*
|
|
40
|
-
* Creates parent directories if they don't exist.
|
|
41
|
-
*
|
|
42
40
|
* @param runtime - runtime with file write capability
|
|
43
41
|
* @param path - path to the config JSON file
|
|
44
42
|
* @param dir - directory containing the config file (created if missing)
|
|
45
43
|
* @param config - configuration to save
|
|
46
44
|
* @mutates filesystem - creates `dir` (recursive) and writes JSON to `path`
|
|
47
|
-
* @throws Error if `mkdir` or `write_text_file` fails
|
|
48
45
|
*/
|
|
49
46
|
export declare const save_config: <T>(runtime: Pick<FsWriteDeps, "mkdir" | "write_text_file">, path: string, dir: string, config: T) => Promise<void>;
|
|
50
47
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/cli/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/cli/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAE3B,OAAO,KAAK,EAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAElF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,IAGtF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,IAG1F,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAU,CAAC,EAClC,SAAS,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAC,GAAG,OAAO,EAC9D,MAAM,MAAM,EACZ,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAClB,OAAO,CAAC,CAAC,GAAG,IAAI,CAoBlB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/cli/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAE3B,OAAO,KAAK,EAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAElF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,IAGtF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,IAG1F,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAU,CAAC,EAClC,SAAS,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAC,GAAG,OAAO,EAC9D,MAAM,MAAM,EACZ,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAClB,OAAO,CAAC,CAAC,GAAG,IAAI,CAoBlB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GAAU,CAAC,EAClC,SAAS,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,iBAAiB,CAAC,EACvD,MAAM,MAAM,EACZ,KAAK,MAAM,EACX,QAAQ,CAAC,KACP,OAAO,CAAC,IAAI,CAOd,CAAC"}
|
package/dist/cli/config.js
CHANGED
|
@@ -61,14 +61,11 @@ export const load_config = async (runtime, path, schema) => {
|
|
|
61
61
|
/**
|
|
62
62
|
* Save CLI configuration to a JSON file.
|
|
63
63
|
*
|
|
64
|
-
* Creates parent directories if they don't exist.
|
|
65
|
-
*
|
|
66
64
|
* @param runtime - runtime with file write capability
|
|
67
65
|
* @param path - path to the config JSON file
|
|
68
66
|
* @param dir - directory containing the config file (created if missing)
|
|
69
67
|
* @param config - configuration to save
|
|
70
68
|
* @mutates filesystem - creates `dir` (recursive) and writes JSON to `path`
|
|
71
|
-
* @throws Error if `mkdir` or `write_text_file` fails
|
|
72
69
|
*/
|
|
73
70
|
export const save_config = async (runtime, path, dir, config) => {
|
|
74
71
|
// ensure directory exists
|
package/dist/cli/daemon.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export declare const get_daemon_info_path: (runtime: Pick<EnvDeps, "env_get">, n
|
|
|
40
40
|
* @param name - application name
|
|
41
41
|
* @param info - daemon info to write
|
|
42
42
|
* @mutates filesystem - creates `~/.{name}/run/` and atomically writes `daemon.json`
|
|
43
|
-
* @throws Error if `$HOME` is not set
|
|
43
|
+
* @throws Error if `$HOME` is not set
|
|
44
44
|
*/
|
|
45
45
|
export declare const write_daemon_info: (runtime: Pick<EnvDeps, "env_get"> & Pick<FsWriteDeps, "mkdir" | "write_text_file" | "rename">, name: string, info: DaemonInfo) => Promise<void>;
|
|
46
46
|
/**
|
package/dist/cli/daemon.js
CHANGED
|
@@ -44,7 +44,7 @@ export const get_daemon_info_path = (runtime, name) => {
|
|
|
44
44
|
* @param name - application name
|
|
45
45
|
* @param info - daemon info to write
|
|
46
46
|
* @mutates filesystem - creates `~/.{name}/run/` and atomically writes `daemon.json`
|
|
47
|
-
* @throws Error if `$HOME` is not set
|
|
47
|
+
* @throws Error if `$HOME` is not set
|
|
48
48
|
*/
|
|
49
49
|
export const write_daemon_info = async (runtime, name, info) => {
|
|
50
50
|
const app_dir = get_app_dir(runtime, name);
|
package/dist/db/create_db.d.ts
CHANGED
|
@@ -24,7 +24,6 @@ export interface CreateDbResult {
|
|
|
24
24
|
/**
|
|
25
25
|
* Create a database connection based on a URL.
|
|
26
26
|
*
|
|
27
|
-
* Returns the `Db` instance, a typed `close` callback, driver type, and display name.
|
|
28
27
|
* The `close` callback is bound to the actual driver — callers never need to
|
|
29
28
|
* know which driver is in use.
|
|
30
29
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create_db.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/db/create_db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAC,EAAE,EAAE,MAAM,EAAC,MAAM,SAAS,CAAC;AAIxC,yCAAyC;AACzC,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,EAAE,CAAC;IACP,iFAAiF;IACjF,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED
|
|
1
|
+
{"version":3,"file":"create_db.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/db/create_db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAC,EAAE,EAAE,MAAM,EAAC,MAAM,SAAS,CAAC;AAIxC,yCAAyC;AACzC,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,EAAE,CAAC;IACP,iFAAiF;IACjF,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,GAAU,cAAc,MAAM,KAAG,OAAO,CAAC,cAAc,CAgC5E,CAAC"}
|
package/dist/db/create_db.js
CHANGED
|
@@ -17,7 +17,6 @@ import { create_pglite_db } from './db_pglite.js';
|
|
|
17
17
|
/**
|
|
18
18
|
* Create a database connection based on a URL.
|
|
19
19
|
*
|
|
20
|
-
* Returns the `Db` instance, a typed `close` callback, driver type, and display name.
|
|
21
20
|
* The `close` callback is bound to the actual driver — callers never need to
|
|
22
21
|
* know which driver is in use.
|
|
23
22
|
*
|
package/dist/db/db.d.ts
CHANGED
|
@@ -81,8 +81,6 @@ export declare class Db {
|
|
|
81
81
|
* @param text - SQL text with `$1`, `$2`, ... parameter placeholders
|
|
82
82
|
* @param values - parameter values bound to the placeholders in `text`
|
|
83
83
|
* @returns the result rows, typed as `T`
|
|
84
|
-
* @throws Error propagated from the underlying driver on syntax errors,
|
|
85
|
-
* constraint violations, or connection failures
|
|
86
84
|
*/
|
|
87
85
|
query<T>(text: string, values?: Array<unknown>): Promise<Array<T>>;
|
|
88
86
|
/**
|
|
@@ -91,8 +89,6 @@ export declare class Db {
|
|
|
91
89
|
* @param text - SQL text with `$1`, `$2`, ... parameter placeholders
|
|
92
90
|
* @param values - parameter values bound to the placeholders in `text`
|
|
93
91
|
* @returns the first row, or `undefined` when the result set is empty
|
|
94
|
-
* @throws Error propagated from the underlying driver on syntax errors,
|
|
95
|
-
* constraint violations, or connection failures
|
|
96
92
|
*/
|
|
97
93
|
query_one<T>(text: string, values?: Array<unknown>): Promise<T | undefined>;
|
|
98
94
|
/**
|
package/dist/db/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/db/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,KAAK,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAC,CAAC,CAAC;CACzF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACtB,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC9D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,EAAE,CAAC;IACP,iFAAiF;IACjF,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,4BAA4B;AAC5B,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,aAAa,GAAG,eAAe,CAAC;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,aAAa,CAEvD,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,EAAE;;IACd,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;gBAId,OAAO,EAAE,MAAM;IAK3B
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/db/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,KAAK,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAC,CAAC,CAAC;CACzF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACtB,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC9D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,EAAE,CAAC;IACP,iFAAiF;IACjF,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,4BAA4B;AAC5B,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,aAAa,GAAG,eAAe,CAAC;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,aAAa,CAEvD,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,EAAE;;IACd,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;gBAId,OAAO,EAAE,MAAM;IAK3B;;;;;;OAMG;IACG,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAKxE;;;;;;OAMG;IACG,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAKjF;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAG/D"}
|
package/dist/db/db.js
CHANGED
|
@@ -53,8 +53,6 @@ export class Db {
|
|
|
53
53
|
* @param text - SQL text with `$1`, `$2`, ... parameter placeholders
|
|
54
54
|
* @param values - parameter values bound to the placeholders in `text`
|
|
55
55
|
* @returns the result rows, typed as `T`
|
|
56
|
-
* @throws Error propagated from the underlying driver on syntax errors,
|
|
57
|
-
* constraint violations, or connection failures
|
|
58
56
|
*/
|
|
59
57
|
async query(text, values) {
|
|
60
58
|
const result = await this.client.query(text, values);
|
|
@@ -66,8 +64,6 @@ export class Db {
|
|
|
66
64
|
* @param text - SQL text with `$1`, `$2`, ... parameter placeholders
|
|
67
65
|
* @param values - parameter values bound to the placeholders in `text`
|
|
68
66
|
* @returns the first row, or `undefined` when the result set is empty
|
|
69
|
-
* @throws Error propagated from the underlying driver on syntax errors,
|
|
70
|
-
* constraint violations, or connection failures
|
|
71
67
|
*/
|
|
72
68
|
async query_one(text, values) {
|
|
73
69
|
const rows = await this.query(text, values);
|
package/dist/db/db_pg.d.ts
CHANGED
|
@@ -12,8 +12,8 @@ import { type DbDriverResult } from './db.js';
|
|
|
12
12
|
/**
|
|
13
13
|
* Create a `Db` backed by a `pg.Pool`.
|
|
14
14
|
*
|
|
15
|
-
* Owns the transaction implementation
|
|
16
|
-
* per transaction
|
|
15
|
+
* Owns the transaction implementation, acquiring a dedicated pool client
|
|
16
|
+
* per transaction.
|
|
17
17
|
*
|
|
18
18
|
* @param pool - an already-constructed `pg.Pool`
|
|
19
19
|
* @returns the `Db` instance and a `close` callback bound to `pool.end()`
|
package/dist/db/db_pg.js
CHANGED
|
@@ -35,8 +35,8 @@ const create_pg_transaction = (pool) => async (fn) => {
|
|
|
35
35
|
/**
|
|
36
36
|
* Create a `Db` backed by a `pg.Pool`.
|
|
37
37
|
*
|
|
38
|
-
* Owns the transaction implementation
|
|
39
|
-
* per transaction
|
|
38
|
+
* Owns the transaction implementation, acquiring a dedicated pool client
|
|
39
|
+
* per transaction.
|
|
40
40
|
*
|
|
41
41
|
* @param pool - an already-constructed `pg.Pool`
|
|
42
42
|
* @returns the `Db` instance and a `close` callback bound to `pool.end()`
|
package/dist/db/db_pglite.d.ts
CHANGED
|
@@ -12,8 +12,7 @@ import { type DbDriverResult } from './db.js';
|
|
|
12
12
|
/**
|
|
13
13
|
* Create a `Db` backed by a `PGlite` instance.
|
|
14
14
|
*
|
|
15
|
-
* Delegates transactions to PGlite's native `transaction()` method
|
|
16
|
-
* and returns a `close` callback bound to `pglite.close()`.
|
|
15
|
+
* Delegates transactions to PGlite's native `transaction()` method.
|
|
17
16
|
*
|
|
18
17
|
* @param pglite - an already-constructed `PGlite` instance
|
|
19
18
|
* @returns the `Db` instance and a `close` callback bound to `pglite.close()`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db_pglite.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/db/db_pglite.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAA4B,KAAK,cAAc,EAAC,MAAM,SAAS,CAAC;AAYvE
|
|
1
|
+
{"version":3,"file":"db_pglite.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/db/db_pglite.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAA4B,KAAK,cAAc,EAAC,MAAM,SAAS,CAAC;AAYvE;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,cAGhD,CAAC"}
|
package/dist/db/db_pglite.js
CHANGED
|
@@ -17,8 +17,7 @@ const create_pglite_transaction = (pglite) => async (fn) => pglite.transaction(a
|
|
|
17
17
|
/**
|
|
18
18
|
* Create a `Db` backed by a `PGlite` instance.
|
|
19
19
|
*
|
|
20
|
-
* Delegates transactions to PGlite's native `transaction()` method
|
|
21
|
-
* and returns a `close` callback bound to `pglite.close()`.
|
|
20
|
+
* Delegates transactions to PGlite's native `transaction()` method.
|
|
22
21
|
*
|
|
23
22
|
* @param pglite - an already-constructed `PGlite` instance
|
|
24
23
|
* @returns the `Db` instance and a `close` callback bound to `pglite.close()`
|
package/dist/db/migrate.d.ts
CHANGED
|
@@ -121,7 +121,6 @@ export declare class MigrationError extends Error {
|
|
|
121
121
|
* @returns one result per namespace where work happened (already-up-to-date
|
|
122
122
|
* namespaces are omitted)
|
|
123
123
|
* @mutates schema_version - inserts one row per applied migration
|
|
124
|
-
* @mutates db - applies pending migrations' DDL/DML to the schema
|
|
125
124
|
* @throws MigrationError with `kind` of `binary-older-than-db`,
|
|
126
125
|
* `name-divergence-at-N`, `old-tracker-shape`, or `migration-failed`
|
|
127
126
|
*/
|
package/dist/db/migrate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/db/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAC,EAAE,EAAC,MAAM,SAAS,CAAC;AAEhC;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CAC7B;AAED,2DAA2D;AAC3D,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC3B,sBAAsB,GACtB,sBAAsB,GACtB,mBAAmB,GACnB,kBAAkB,GAClB,2BAA2B,GAC3B,4BAA4B,GAC5B,sCAAsC,CAAC;AAE1C,8DAA8D;AAC9D,MAAM,WAAW,qBAAqB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;gBAEnC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB;CAQtF;AA6ED
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/db/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAC,EAAE,EAAC,MAAM,SAAS,CAAC;AAEhC;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CAC7B;AAED,2DAA2D;AAC3D,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC3B,sBAAsB,GACtB,sBAAsB,GACtB,mBAAmB,GACnB,kBAAkB,GAClB,2BAA2B,GAC3B,4BAA4B,GAC5B,sCAAsC,CAAC;AAE1C,8DAA8D;AAC9D,MAAM,WAAW,qBAAqB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;gBAEnC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB;CAQtF;AA6ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,cAAc,GAC1B,IAAI,EAAE,EACN,YAAY,KAAK,CAAC,kBAAkB,CAAC,KACnC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAuFhC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,QAAQ,GACpB,IAAI,EAAE,EACN,IAAI,kBAAkB,EACtB,OAAO,aAAa,CAAC,MAAM,CAAC,KAC1B,OAAO,CAAC,IAAI,CA+Dd,CAAC"}
|
package/dist/db/migrate.js
CHANGED
|
@@ -155,7 +155,6 @@ const with_namespace_lock = async (db, namespace, fn) => {
|
|
|
155
155
|
* @returns one result per namespace where work happened (already-up-to-date
|
|
156
156
|
* namespaces are omitted)
|
|
157
157
|
* @mutates schema_version - inserts one row per applied migration
|
|
158
|
-
* @mutates db - applies pending migrations' DDL/DML to the schema
|
|
159
158
|
* @throws MigrationError with `kind` of `binary-older-than-db`,
|
|
160
159
|
* `name-divergence-at-N`, `old-tracker-shape`, or `migration-failed`
|
|
161
160
|
*/
|
package/dist/dev/setup.d.ts
CHANGED
|
@@ -114,7 +114,6 @@ export declare const read_env_var: (deps: Pick<FsReadDeps, "stat" | "read_text_f
|
|
|
114
114
|
* @param options - extra replacements, permissions, logger
|
|
115
115
|
* @returns result indicating whether the file was created or updated
|
|
116
116
|
* @mutates filesystem - writes `env_path` (creating from `example_path` if missing) and optionally chmods to `0o600`
|
|
117
|
-
* @throws Error if `example_path` cannot be read when `env_path` is missing, or if a generator / write fails
|
|
118
117
|
*/
|
|
119
118
|
export declare const setup_env_file: (deps: FsReadDeps & FsWriteDeps & CommandDeps, env_path: string, example_path: string, options?: SetupEnvOptions) => Promise<SetupEnvResult>;
|
|
120
119
|
/**
|
|
@@ -128,7 +127,6 @@ export declare const setup_env_file: (deps: FsReadDeps & FsWriteDeps & CommandDe
|
|
|
128
127
|
* @param options - state_dir override, permissions, logger
|
|
129
128
|
* @returns result indicating whether a token was created
|
|
130
129
|
* @mutates filesystem - creates state directory and writes the token file (optionally chmods to `0o700` / `0o600`)
|
|
131
|
-
* @throws Error if `mkdir`, key generation, or `write_text_file` fails
|
|
132
130
|
*/
|
|
133
131
|
export declare const setup_bootstrap_token: (deps: FsReadDeps & FsWriteDeps & CommandDeps & EnvDeps, app_name: string, options?: SetupBootstrapTokenOptions) => Promise<SetupTokenResult>;
|
|
134
132
|
/**
|
|
@@ -139,7 +137,6 @@ export declare const setup_bootstrap_token: (deps: FsReadDeps & FsWriteDeps & Co
|
|
|
139
137
|
* @param options - state_dir override, permissions, logger
|
|
140
138
|
* @returns result from creating the new token
|
|
141
139
|
* @mutates filesystem - removes the existing token file (if any) then writes a fresh one
|
|
142
|
-
* @throws Error if `remove` or the underlying `setup_bootstrap_token` call fails
|
|
143
140
|
*/
|
|
144
141
|
export declare const reset_bootstrap_token: (deps: FsReadDeps & FsWriteDeps & FsRemoveDeps & CommandDeps & EnvDeps, app_name: string, options?: SetupBootstrapTokenOptions) => Promise<SetupTokenResult>;
|
|
145
142
|
/**
|
package/dist/dev/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/dev/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACX,WAAW,EACX,aAAa,EACb,OAAO,EACP,UAAU,EACV,YAAY,EACZ,WAAW,EACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAQnD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,2CAA2C;AAC3C,eAAO,MAAM,oBAAoB,EAAE,WAIlC,CAAC;AAEF,kCAAkC;AAClC,MAAM,WAAW,cAAc;IAC9B,6DAA6D;IAC7D,OAAO,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAChC,kEAAkE;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC7B,+CAA+C;IAC/C,KAAK,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;CACxC;AAED,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC/B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,qEAAqE;IACrE,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,GAAG,CAAC,EAAE,WAAW,CAAC;CAClB;AAED,2CAA2C;AAC3C,MAAM,WAAW,0BAA0B;IAC1C,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,GAAG,CAAC,EAAE,WAAW,CAAC;CAClB;AAED,qCAAqC;AACrC,MAAM,WAAW,qBAAqB;IACrC,GAAG,CAAC,EAAE,WAAW,CAAC;CAClB;AAED,oCAAoC;AACpC,MAAM,WAAW,oBAAoB;IACpC,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,WAAW,CAAC;CAClB;AAID;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,IAQpD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAU,MAAM,WAAW,KAAG,OAAO,CAAC,MAAM,CAI3E,CAAC;AAIF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GACxB,MAAM,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAC,EACjD,UAAU,MAAM,EAChB,MAAM,MAAM,KACV,OAAO,CAAC,MAAM,GAAG,SAAS,CAU5B,CAAC;AAIF
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/dev/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/dev/setup.js
CHANGED
|
@@ -80,7 +80,6 @@ export const read_env_var = async (deps, env_path, name) => {
|
|
|
80
80
|
* @param options - extra replacements, permissions, logger
|
|
81
81
|
* @returns result indicating whether the file was created or updated
|
|
82
82
|
* @mutates filesystem - writes `env_path` (creating from `example_path` if missing) and optionally chmods to `0o600`
|
|
83
|
-
* @throws Error if `example_path` cannot be read when `env_path` is missing, or if a generator / write fails
|
|
84
83
|
*/
|
|
85
84
|
export const setup_env_file = async (deps, env_path, example_path, options) => {
|
|
86
85
|
const log = options?.log ?? default_setup_logger;
|
|
@@ -140,7 +139,6 @@ export const setup_env_file = async (deps, env_path, example_path, options) => {
|
|
|
140
139
|
* @param options - state_dir override, permissions, logger
|
|
141
140
|
* @returns result indicating whether a token was created
|
|
142
141
|
* @mutates filesystem - creates state directory and writes the token file (optionally chmods to `0o700` / `0o600`)
|
|
143
|
-
* @throws Error if `mkdir`, key generation, or `write_text_file` fails
|
|
144
142
|
*/
|
|
145
143
|
export const setup_bootstrap_token = async (deps, app_name, options) => {
|
|
146
144
|
const log = options?.log ?? default_setup_logger;
|
|
@@ -175,7 +173,6 @@ export const setup_bootstrap_token = async (deps, app_name, options) => {
|
|
|
175
173
|
* @param options - state_dir override, permissions, logger
|
|
176
174
|
* @returns result from creating the new token
|
|
177
175
|
* @mutates filesystem - removes the existing token file (if any) then writes a fresh one
|
|
178
|
-
* @throws Error if `remove` or the underlying `setup_bootstrap_token` call fails
|
|
179
176
|
*/
|
|
180
177
|
export const reset_bootstrap_token = async (deps, app_name, options) => {
|
|
181
178
|
const log = options?.log ?? default_setup_logger;
|
package/dist/env/load.d.ts
CHANGED
|
@@ -41,8 +41,6 @@ export declare const log_env_validation_error: (error: EnvValidationError, label
|
|
|
41
41
|
/**
|
|
42
42
|
* Load and validate env vars against a Zod schema.
|
|
43
43
|
*
|
|
44
|
-
* Reads each key from the schema using `get_env`, then validates.
|
|
45
|
-
*
|
|
46
44
|
* @param schema - Zod object schema defining expected env vars
|
|
47
45
|
* @param get_env - function to read an env var by key
|
|
48
46
|
* @returns validated env object
|
package/dist/env/load.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/env/load.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC5C,yCAAyC;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD,gCAAgC;IAChC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IACrC,4DAA4D;IAC5D,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;gBAEpB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;IAOhF;;;;OAIG;IACH,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC;CAG9B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,kBAAkB,EAAE,QAAQ,MAAM,KAAG,IAUpF,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/env/load.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC5C,yCAAyC;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD,gCAAgC;IAChC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IACrC,4DAA4D;IAC5D,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;gBAEpB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;IAOhF;;;;OAIG;IACH,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC;CAG9B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,kBAAkB,EAAE,QAAQ,MAAM,KAAG,IAUpF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAC7C,QAAQ,CAAC,EACT,SAAS,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,KAC1C,CAAC,CAAC,KAAK,CAAC,CAAC,CAaX,CAAC"}
|