pyric-admin 0.1.0-alpha.7 → 0.1.0-alpha.9

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.
@@ -1,31 +1,20 @@
1
1
  /**
2
- * `pyric-admin/auth` — Phase 3 (branded-app dispatch) + Phase 4b
3
- * (minimal in-memory sandbox backend).
2
+ * `pyric-admin/auth` — the sandbox mirror for the Firebase Admin Auth shape.
4
3
  *
5
4
  * Mirrors `firebase-admin/auth` for a useful subset of methods. The
6
5
  * `app` argument is the branded handle from `pyric-admin/app`
7
- * ({@link PyricAdminApp}); the brand symbol picks the backend:
8
- *
9
- * - **Prod path** (`app[ADMIN_APP_TARGET] === 'prod'`) — delegates to
10
- * `firebase-admin/auth`'s `getAuth(app.adminApp)` and returns the
11
- * production `Auth` instance unchanged. Drop-in replacement for
12
- * `firebase-admin/auth` so agents already calling it keep their
13
- * exact behavior (tenants, providers, MFA, session cookies, action
14
- * codes, all present on the returned handle).
15
- *
16
- * - **Sandbox path** (`app[ADMIN_APP_TARGET] === 'sandbox'`) — backed
17
- * by an in-memory store keyed off `app.sandbox`. Implements the
18
- * core user-management subset listed below. Tokens are NOT real
19
- * JWTs — they're deterministic strings the same sandbox backend
20
- * parses on `verifyIdToken`. The sandbox backend is intentionally
21
- * minimal: enough to exercise agent code paths that use
22
- * `createUser` / `getUser` / `setCustomUserClaims` /
23
- * `createCustomToken` / `verifyIdToken`, not enough to model a
24
- * real identity platform.
6
+ * ({@link PyricAdminApp}); only sandbox-branded apps enter this package.
7
+ * The local sandbox path uses an in-memory store keyed off `app.sandbox`
8
+ * and implements the core user-management subset below. Tokens are NOT
9
+ * real JWTs — they are deterministic strings parsed by the same sandbox
10
+ * backend. This is enough to exercise agent code paths that use
11
+ * `createUser` / `getUser` / `setCustomUserClaims` /
12
+ * `createCustomToken` / `verifyIdToken`, not enough to model a real
13
+ * identity platform.
25
14
  *
26
15
  * - **Remote sandbox arm** — when the sandbox carries `pyric/sandbox`'s
27
16
  * remote brand (a Node-side handle onto the browser-hosted
28
- * SharedWorker sandbox from `pyric-tools`' `connectRemoteSandbox()`),
17
+ * SharedWorker sandbox from `@pyric/cli`' `connectRemoteSandbox()`),
29
18
  * user CRUD relays over the handle's worker channel instead of the
30
19
  * in-memory store, so server-created users land in the ONE user pool
31
20
  * the browser app + Studio share. See the "Remote sandbox arm"
@@ -69,12 +58,12 @@
69
58
  * - `getUserByPhoneNumber`, `getUserByProviderUid`.
70
59
  * - `updateUser` — not required by the brief.
71
60
  *
72
- * Real `firebase-admin` types are imported with `import type` so
73
- * signatures stay identical to upstream — there's no shape drift to
74
- * keep in sync.
61
+ * Public types are mirror-owned structural types. Production applications
62
+ * load `firebase-admin/auth` directly, outside this package graph.
75
63
  */
76
64
  import { isRemoteSandbox, } from 'pyric/sandbox';
77
65
  import { ADMIN_APP_TARGET, getApp, } from '../app/index.js';
66
+ import { assertAdminAppActive } from '../app/lifecycle.js';
78
67
  // ─── Sandbox backend ────────────────────────────────────────────────────
79
68
  /**
80
69
  * Per-sandbox in-memory store. One instance per `Sandbox` (tracked in
@@ -98,7 +87,7 @@ class AuthStore {
98
87
  * collision resistance — it needs a stable, debuggable identifier
99
88
  * that doesn't collide *within one sandbox session*. A counter plus
100
89
  * a constant prefix is enough; padding keeps the visual width
101
- * roughly consistent with prod uids.
90
+ * roughly consistent with Firebase Auth uids.
102
91
  */
103
92
  mintUid() {
104
93
  const n = String(this.nextAutoUid++).padStart(20, '0');
@@ -182,7 +171,7 @@ function mintSandboxCustomToken(uid, developerClaims) {
182
171
  * `DecodedIdToken`-shaped object — every required field is filled with a
183
172
  * sandbox-appropriate placeholder (`iss`/`aud` = `pyric-sandbox`, time
184
173
  * fields = now), and the developer claims are spread onto the result so
185
- * `decoded.role` etc. work the same way they do in prod.
174
+ * `decoded.role` etc. retain the familiar Firebase Admin shape.
186
175
  *
187
176
  * Throws on any token that doesn't match the
188
177
  * `${SANDBOX_TOKEN_PREFIX}:${uid}:${json}` shape — including real JWTs
@@ -291,9 +280,8 @@ function makeSandboxAuth(sandbox) {
291
280
  // rest throw via `notImplemented`. Cast to `Auth` at return.
292
281
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
293
282
  const handle = {
294
- /** Stamp the app on the handle so debugging shows where it came
295
- * from. The prod handle has an `app` getter too — matching the
296
- * shape keeps consumers that inspect `auth.app` from breaking. */
283
+ /** Preserve the upstream `auth.app` property shape while failing loudly
284
+ * because the minimal local backend does not expose an app handle. */
297
285
  get app() {
298
286
  throw notImplemented('auth.app');
299
287
  },
@@ -692,44 +680,13 @@ function makeRemoteAuth(sandbox) {
692
680
  };
693
681
  return handle;
694
682
  }
695
- // ─── Dispatch ────────────────────────────────────────────────────────────
696
- /**
697
- * Type guard for the prod arm of {@link PyricAdminApp}. Reads the
698
- * brand symbol from `pyric-admin/app` — no structural sniffing.
699
- */
700
- function isProdAdminApp(app) {
701
- return app[ADMIN_APP_TARGET] === 'prod';
702
- }
703
- /**
704
- * Type guard for the sandbox arm of {@link PyricAdminApp}. Brand-based,
705
- * symmetric with {@link isProdAdminApp}.
706
- */
707
- function isSandboxAdminApp(app) {
708
- return app[ADMIN_APP_TARGET] === 'sandbox';
709
- }
683
+ // ─── Sandbox selection ──────────────────────────────────────────────────
710
684
  /**
711
685
  * Return an `Auth` handle for the given app — or for the DEFAULT app when
712
686
  * called with no argument (mirrors firebase-admin's no-arg `getAuth()`:
713
687
  * resolves `'[DEFAULT]'` through `pyric-admin/app`'s registry and throws
714
- * `app/no-app` when nothing has been initialized). Works on all three
715
- * arms — local sandbox, remote sandbox, prod — since dispatch happens on
716
- * whatever brand the resolved app carries.
717
- *
718
- * Dispatches on the brand symbol set by `pyric-admin/app`'s
719
- * `initializeApp`:
720
- * - `'prod'` → delegates to `firebase-admin/auth`'s `getAuth` against
721
- * `app.adminApp`. The returned `Auth` is the production object,
722
- * unmodified.
723
- * - `'sandbox'` → returns an in-memory `Auth` handle backed by an
724
- * {@link AuthStore} keyed off `app.sandbox`. Repeat calls for the
725
- * same sandbox share the store, so writes are visible across
726
- * handles (matches upstream `getAuth(app)` idempotency).
727
- *
728
- * The firebase-admin import is dynamic (`require` at call time) so the
729
- * module's top-level evaluation stays cheap and so sandbox-only
730
- * consumers do not pay the firebase-admin initialization cost. Mirrors
731
- * how `pyric/firestore` defers its firebase init: backends are
732
- * pay-for-what-you-use.
688
+ * `app/no-app` when nothing has been initialized). Local sandboxes use the
689
+ * in-memory store; remote sandboxes relay to the browser-hosted worker.
733
690
  *
734
691
  * @example
735
692
  * ```ts
@@ -756,30 +713,14 @@ export function getAuth(app) {
756
713
  if (app === null || typeof app !== 'object' || !(ADMIN_APP_TARGET in app)) {
757
714
  throw new TypeError('pyric-admin/auth: getAuth expected a PyricAdminApp (from pyric-admin/app#initializeApp). ' +
758
715
  'Received a value with no ADMIN_APP_TARGET brand. Pass the handle returned by ' +
759
- '`initializeApp({ credential })` (prod) or `initializeApp({ sandbox })` (sandbox).');
760
- }
761
- if (isSandboxAdminApp(app)) {
762
- // Remote-branded sandboxes dispatch BEFORE the local arm: the local
763
- // in-memory store would be a private server-side user table the
764
- // browser never sees (and its `sandbox.onEvent` reset wiring throws
765
- // on remote handles by design).
766
- if (isRemoteSandbox(app.sandbox)) {
767
- return makeRemoteAuth(app.sandbox);
768
- }
769
- return makeSandboxAuth(app.sandbox);
716
+ '`initializeApp({ sandbox })`.');
770
717
  }
771
- if (isProdAdminApp(app)) {
772
- // Prod path — defer the firebase-admin import to call time so the
773
- // module load is cheap. `require` works in Bun + Node ESM via
774
- // module-interop and avoids top-level `await` (which would force
775
- // every consumer to live in an async module graph).
776
- // eslint-disable-next-line @typescript-eslint/no-require-imports
777
- const { getAuth: getAdminAuth } = require('firebase-admin/auth');
778
- return getAdminAuth(app.adminApp);
718
+ assertAdminAppActive(app);
719
+ if (app[ADMIN_APP_TARGET] !== 'sandbox') {
720
+ throw new TypeError('pyric-admin/auth: getAuth expected a sandbox admin app.');
779
721
  }
780
- // Branded with a value the dispatch table doesn't know — future
781
- // target string from a newer `pyric-admin/app` we haven't been
782
- // updated for.
783
- throw new TypeError(`pyric-admin/auth: getAuth received a PyricAdminApp with an unrecognized ADMIN_APP_TARGET value: ${String(app[ADMIN_APP_TARGET])}`);
722
+ return isRemoteSandbox(app.sandbox)
723
+ ? makeRemoteAuth(app.sandbox)
724
+ : makeSandboxAuth(app.sandbox);
784
725
  }
785
726
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,9 @@
1
1
  /**
2
- * `pyric-admin/database` — Phase 3 dispatch + Phase 4b sandbox backend.
2
+ * `pyric-admin/database` — sandbox mirror for the admin-shape RTDB surface.
3
3
  *
4
4
  * Mirrors `firebase-admin/database` for the admin-shape RTDB surface,
5
- * with backend dispatch on the {@link PyricAdminApp} brand
6
- * (ADR-001 D6 — every `pyric-admin/*` subpath dispatches on
7
- * `ADMIN_APP_TARGET`):
8
- *
9
- * - **Prod path** (`ADMIN_APP_TARGET === 'prod'`) — `getDatabase`
10
- * delegates to `firebase-admin/database`. The returned
11
- * `Database` / `Reference` instances are the genuine firebase-admin
12
- * objects, so every instance method (`set`, `get`, `update`,
13
- * `remove`, `push`, `transaction`, `onDisconnect`, `child`, query
14
- * builders, …) is present and identical in behavior to calling
15
- * firebase-admin directly.
16
- *
17
- * - **Sandbox path** (`ADMIN_APP_TARGET === 'sandbox'`) — a minimal
18
- * in-memory RTDB implemented in this file. Backs the load-bearing
19
- * data-plane subset:
5
+ * selected by the sandbox brand on {@link PyricAdminApp}. The local path is
6
+ * an in-memory RTDB implementing this load-bearing data-plane subset:
20
7
  *
21
8
  * - `Database.ref(path?)` returns a {@link Reference}.
22
9
  * - `Reference#set(value)` writes into the in-memory tree.
@@ -61,7 +48,7 @@
61
48
  *
62
49
  * - **Remote sandbox arm** (sandbox target whose `Sandbox` carries the
63
50
  * `pyric/sandbox` remote brand — a Node-side handle onto the
64
- * browser-hosted SharedWorker sandbox, built by `pyric-tools`'
51
+ * browser-hosted SharedWorker sandbox, built by `@pyric/cli`'
65
52
  * `connectRemoteSandbox()`) — every `Reference` data operation routes
66
53
  * through the handle's worker-relay channel (`rtdb.get/set/update/
67
54
  * remove/push` ops with `actAs: { mode: 'admin' }` pinned — firebase-
@@ -74,7 +61,7 @@
74
61
  * channel's RTDB value subscription; other event types still
75
62
  * throw "not implemented").
76
63
  * - `update()` relays to the worker's full multi-path update
77
- * (`pyric/database/modular` semantics) rather than the local
64
+ * (`pyric/database` semantics) rather than the local
78
65
  * arm's shallow per-key merge.
79
66
  * - Server-side writes run through the real worker RTDB backend,
80
67
  * so they emit `SandboxEvent`s into the unified stream (visible
@@ -83,37 +70,83 @@
83
70
  * `push()` keeps its sync `.key`: the client mints the push id and
84
71
  * sends it with the `rtdb.push` op (the worker-protocol contract).
85
72
  */
86
- import type { Database as AdminDatabase, Reference as AdminReference, DataSnapshot as AdminDataSnapshot, ThenableReference as AdminThenableReference, Query as AdminQuery, OnDisconnect as AdminOnDisconnect, EventType as AdminEventType } from 'firebase-admin/database';
87
73
  import { type PyricAdminApp } from '../app/index.js';
88
- export type { AdminDatabase as Database, AdminReference as Reference, AdminDataSnapshot as DataSnapshot, AdminThenableReference as ThenableReference, AdminQuery as Query, AdminOnDisconnect as OnDisconnect, AdminEventType as EventType, };
74
+ /** Mirror-owned structural types for the implemented admin RTDB surface. */
75
+ export type EventType = 'value' | 'child_added' | 'child_changed' | 'child_removed' | 'child_moved';
76
+ export interface Database {
77
+ ref(path?: string): Reference;
78
+ refFromURL(url: string): Reference;
79
+ goOffline(): void;
80
+ goOnline(): void;
81
+ getRules(): Promise<string>;
82
+ getRulesJSON(): Promise<object>;
83
+ setRules(source: string | object): Promise<void>;
84
+ readonly app: unknown;
85
+ }
86
+ export interface DataSnapshot {
87
+ readonly key: string | null;
88
+ readonly ref: Reference;
89
+ val(): unknown;
90
+ exists(): boolean;
91
+ child(path: string): DataSnapshot;
92
+ hasChild(path: string): boolean;
93
+ hasChildren(children?: string[]): boolean;
94
+ numChildren(): number;
95
+ forEach(action: (child: DataSnapshot) => boolean | void): boolean;
96
+ exportVal(): unknown;
97
+ getPriority(): string | number | null;
98
+ toJSON(): unknown;
99
+ }
100
+ export interface Reference {
101
+ readonly key: string | null;
102
+ readonly parent: Reference | null;
103
+ readonly root: Reference;
104
+ readonly database: Database;
105
+ readonly ref: Reference;
106
+ toString(): string;
107
+ get(): Promise<DataSnapshot>;
108
+ once(eventType: EventType, successCallback?: (snapshot: DataSnapshot) => unknown, failureCallback?: (error: Error) => unknown): Promise<DataSnapshot>;
109
+ set(value: unknown, onComplete?: (error: Error | null) => void): Promise<void>;
110
+ update(values: object, onComplete?: (error: Error | null) => void): Promise<void>;
111
+ remove(onComplete?: (error: Error | null) => void): Promise<void>;
112
+ push(value?: unknown, onComplete?: (error: Error | null) => void): ThenableReference;
113
+ child(path: string): Reference;
114
+ on(eventType: EventType, callback: (snapshot: DataSnapshot, previousChildKey?: string | null) => unknown, cancelCallback?: (error: Error) => unknown): unknown;
115
+ off(eventType?: EventType, callback?: (snapshot: DataSnapshot, previousChildKey?: string | null) => unknown): void;
116
+ [key: string]: unknown;
117
+ }
118
+ export type ThenableReference = Reference & PromiseLike<Reference>;
119
+ export type Query = Reference;
120
+ export interface OnDisconnect {
121
+ [key: string]: unknown;
122
+ }
123
+ type AdminDatabase = Database;
89
124
  /**
90
125
  * Returns the {@link AdminDatabase} service for the supplied app.
91
126
  *
92
- * Signature mirrors `firebase-admin/database`'s `getDatabase(app?)` and
93
- * `getDatabaseWithUrl(url, app)` collapsed into a single function:
127
+ * Signature mirrors `firebase-admin/database`'s `getDatabase(app?)`.
94
128
  *
95
129
  * - `getDatabase()` — default database for the DEFAULT app (resolved
96
130
  * through `pyric-admin/app`'s registry, exactly like firebase-admin's
97
131
  * no-arg `getDatabase()`; throws `app/no-app` when no default app has
98
- * been initialized). Works on all three arms — local sandbox, remote
99
- * sandbox, and prod — since it dispatches on whatever brand the
100
- * registered default app carries.
132
+ * been initialized). Works for local and remote sandbox apps.
101
133
  * - `getDatabase(app)` — default database for the app.
102
- * - `getDatabase(app, url)` — database at the explicit URL (delegates
103
- * to firebase-admin's `getDatabaseWithUrl` on the prod path; the
104
- * sandbox path ignores `url` since the sandbox has no notion of
105
- * multiple database instances per project).
106
- *
107
- * Backend dispatch is by `ADMIN_APP_TARGET` brand on the
108
- * {@link PyricAdminApp} handle:
134
+ * - `getDatabase(app, url)` — legacy Pyric-only compatibility form. New
135
+ * code should use the upstream-shaped {@link getDatabaseWithUrl} export.
109
136
  *
110
- * - `'prod'` → delegates to `firebase-admin/database`. The returned
111
- * object is the genuine firebase-admin `Database`, so every
112
- * instance method (`ref`, query builders, `getRules` / `setRules`,
113
- * transactions, …) works unchanged.
137
+ * The sandbox brand returns the local or remote `Database` backed by the
138
+ * per-`Sandbox` state described in the module-level docs.
139
+ */
140
+ export declare function getDatabase(app?: PyricAdminApp, _url?: string): AdminDatabase;
141
+ /**
142
+ * Returns the {@link AdminDatabase} service selected by an upstream-shaped
143
+ * database URL.
114
144
  *
115
- * - `'sandbox'` → returns the minimal in-memory `Database` backed by
116
- * the per-`Sandbox` state described in the module-level docs.
145
+ * This is the exact `firebase-admin/database` argument order used by the
146
+ * Firebase Functions SDK: `getDatabaseWithUrl(url, app?)`. The first Pyric
147
+ * Functions slice has one shared RTDB instance, so the URL selects that
148
+ * instance rather than creating a second sandbox database.
117
149
  */
118
- export declare function getDatabase(app?: PyricAdminApp, url?: string): AdminDatabase;
150
+ export declare function getDatabaseWithUrl(_url: string, app?: PyricAdminApp): AdminDatabase;
151
+ export {};
119
152
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AAOH,OAAO,KAAK,EACV,QAAQ,IAAI,aAAa,EACzB,SAAS,IAAI,cAAc,EAC3B,YAAY,IAAI,iBAAiB,EACjC,iBAAiB,IAAI,sBAAsB,EAC3C,KAAK,IAAI,UAAU,EACnB,YAAY,IAAI,iBAAiB,EACjC,SAAS,IAAI,cAAc,EAC5B,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AAOzB,YAAY,EACV,aAAa,IAAI,QAAQ,EACzB,cAAc,IAAI,SAAS,EAC3B,iBAAiB,IAAI,YAAY,EACjC,sBAAsB,IAAI,iBAAiB,EAC3C,UAAU,IAAI,KAAK,EACnB,iBAAiB,IAAI,YAAY,EACjC,cAAc,IAAI,SAAS,GAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,WAAW,CACzB,GAAG,CAAC,EAAE,aAAa,EACnB,GAAG,CAAC,EAAE,MAAM,GACX,aAAa,CAkBf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,9 @@
1
1
  /**
2
- * `pyric-admin/database` — Phase 3 dispatch + Phase 4b sandbox backend.
2
+ * `pyric-admin/database` — sandbox mirror for the admin-shape RTDB surface.
3
3
  *
4
4
  * Mirrors `firebase-admin/database` for the admin-shape RTDB surface,
5
- * with backend dispatch on the {@link PyricAdminApp} brand
6
- * (ADR-001 D6 — every `pyric-admin/*` subpath dispatches on
7
- * `ADMIN_APP_TARGET`):
8
- *
9
- * - **Prod path** (`ADMIN_APP_TARGET === 'prod'`) — `getDatabase`
10
- * delegates to `firebase-admin/database`. The returned
11
- * `Database` / `Reference` instances are the genuine firebase-admin
12
- * objects, so every instance method (`set`, `get`, `update`,
13
- * `remove`, `push`, `transaction`, `onDisconnect`, `child`, query
14
- * builders, …) is present and identical in behavior to calling
15
- * firebase-admin directly.
16
- *
17
- * - **Sandbox path** (`ADMIN_APP_TARGET === 'sandbox'`) — a minimal
18
- * in-memory RTDB implemented in this file. Backs the load-bearing
19
- * data-plane subset:
5
+ * selected by the sandbox brand on {@link PyricAdminApp}. The local path is
6
+ * an in-memory RTDB implementing this load-bearing data-plane subset:
20
7
  *
21
8
  * - `Database.ref(path?)` returns a {@link Reference}.
22
9
  * - `Reference#set(value)` writes into the in-memory tree.
@@ -61,7 +48,7 @@
61
48
  *
62
49
  * - **Remote sandbox arm** (sandbox target whose `Sandbox` carries the
63
50
  * `pyric/sandbox` remote brand — a Node-side handle onto the
64
- * browser-hosted SharedWorker sandbox, built by `pyric-tools`'
51
+ * browser-hosted SharedWorker sandbox, built by `@pyric/cli`'
65
52
  * `connectRemoteSandbox()`) — every `Reference` data operation routes
66
53
  * through the handle's worker-relay channel (`rtdb.get/set/update/
67
54
  * remove/push` ops with `actAs: { mode: 'admin' }` pinned — firebase-
@@ -74,7 +61,7 @@
74
61
  * channel's RTDB value subscription; other event types still
75
62
  * throw "not implemented").
76
63
  * - `update()` relays to the worker's full multi-path update
77
- * (`pyric/database/modular` semantics) rather than the local
64
+ * (`pyric/database` semantics) rather than the local
78
65
  * arm's shallow per-key merge.
79
66
  * - Server-side writes run through the real worker RTDB backend,
80
67
  * so they emit `SandboxEvent`s into the unified stream (visible
@@ -83,55 +70,50 @@
83
70
  * `push()` keeps its sync `.key`: the client mints the push id and
84
71
  * sends it with the `rtdb.push` op (the worker-protocol contract).
85
72
  */
86
- import { getDatabase as adminGetDatabase, getDatabaseWithUrl as adminGetDatabaseWithUrl, } from 'firebase-admin/database';
87
73
  import { isRemoteSandbox, } from 'pyric/sandbox';
88
74
  import { ADMIN_APP_TARGET, getApp, } from '../app/index.js';
75
+ import { assertAdminAppActive } from '../app/lifecycle.js';
89
76
  /**
90
77
  * Returns the {@link AdminDatabase} service for the supplied app.
91
78
  *
92
- * Signature mirrors `firebase-admin/database`'s `getDatabase(app?)` and
93
- * `getDatabaseWithUrl(url, app)` collapsed into a single function:
79
+ * Signature mirrors `firebase-admin/database`'s `getDatabase(app?)`.
94
80
  *
95
81
  * - `getDatabase()` — default database for the DEFAULT app (resolved
96
82
  * through `pyric-admin/app`'s registry, exactly like firebase-admin's
97
83
  * no-arg `getDatabase()`; throws `app/no-app` when no default app has
98
- * been initialized). Works on all three arms — local sandbox, remote
99
- * sandbox, and prod — since it dispatches on whatever brand the
100
- * registered default app carries.
84
+ * been initialized). Works for local and remote sandbox apps.
101
85
  * - `getDatabase(app)` — default database for the app.
102
- * - `getDatabase(app, url)` — database at the explicit URL (delegates
103
- * to firebase-admin's `getDatabaseWithUrl` on the prod path; the
104
- * sandbox path ignores `url` since the sandbox has no notion of
105
- * multiple database instances per project).
106
- *
107
- * Backend dispatch is by `ADMIN_APP_TARGET` brand on the
108
- * {@link PyricAdminApp} handle:
86
+ * - `getDatabase(app, url)` — legacy Pyric-only compatibility form. New
87
+ * code should use the upstream-shaped {@link getDatabaseWithUrl} export.
109
88
  *
110
- * - `'prod'` → delegates to `firebase-admin/database`. The returned
111
- * object is the genuine firebase-admin `Database`, so every
112
- * instance method (`ref`, query builders, `getRules` / `setRules`,
113
- * transactions, …) works unchanged.
114
- *
115
- * - `'sandbox'` → returns the minimal in-memory `Database` backed by
116
- * the per-`Sandbox` state described in the module-level docs.
89
+ * The sandbox brand returns the local or remote `Database` backed by the
90
+ * per-`Sandbox` state described in the module-level docs.
117
91
  */
118
- export function getDatabase(app, url) {
92
+ export function getDatabase(app, _url) {
119
93
  if (app === undefined) {
120
94
  // No-arg mirror of firebase-admin's `getDatabase()` — resolve the
121
95
  // '[DEFAULT]' app from the registry (throws app/no-app on a miss).
122
96
  app = getApp();
123
97
  }
124
- if (app[ADMIN_APP_TARGET] === 'prod') {
125
- return url === undefined
126
- ? adminGetDatabase(app.adminApp)
127
- : adminGetDatabaseWithUrl(url, app.adminApp);
128
- }
98
+ assertAdminAppActive(app);
129
99
  if (app[ADMIN_APP_TARGET] === 'sandbox') {
130
100
  return getSandboxDatabase(app.sandbox);
131
101
  }
132
102
  throw new TypeError('pyric-admin/database: getDatabase expected a PyricAdminApp ' +
133
103
  '(initialize via `initializeApp` from pyric-admin/app).');
134
104
  }
105
+ /**
106
+ * Returns the {@link AdminDatabase} service selected by an upstream-shaped
107
+ * database URL.
108
+ *
109
+ * This is the exact `firebase-admin/database` argument order used by the
110
+ * Firebase Functions SDK: `getDatabaseWithUrl(url, app?)`. The first Pyric
111
+ * Functions slice has one shared RTDB instance, so the URL selects that
112
+ * instance rather than creating a second sandbox database.
113
+ */
114
+ export function getDatabaseWithUrl(_url, app) {
115
+ return getDatabase(app);
116
+ }
135
117
  /** One backend per `Sandbox`. Successive `getDatabase(app)` calls for
136
118
  * the same sandbox return handles that share data — matches
137
119
  * firebase-admin's singleton-per-app semantics. */
@@ -762,7 +744,7 @@ function buildRemoteRef(state, db, path) {
762
744
  });
763
745
  },
764
746
  /** Relays `rtdb.update` — the worker applies the FULL multi-path
765
- * update semantics (`pyric/database/modular`), an upgrade over the
747
+ * update semantics (`pyric/database`), an upgrade over the
766
748
  * local arm's shallow per-key merge. `null` values delete. */
767
749
  async update(values) {
768
750
  if (values === null || typeof values !== 'object') {