pyric-admin 0.1.0-alpha.16 → 0.1.0-alpha.18

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.
Files changed (42) hide show
  1. package/README.md +42 -12
  2. package/dist/app/index.d.ts +7 -1
  3. package/dist/app/index.d.ts.map +1 -1
  4. package/dist/app/index.js +17 -8
  5. package/dist/app/index.js.map +1 -1
  6. package/dist/auth/index.d.ts +3 -91
  7. package/dist/auth/index.d.ts.map +1 -1
  8. package/dist/auth/index.js +6 -76
  9. package/dist/auth/index.js.map +1 -1
  10. package/dist/auth/token-decoders.d.ts +30 -0
  11. package/dist/auth/token-decoders.d.ts.map +1 -0
  12. package/dist/auth/token-decoders.js +130 -0
  13. package/dist/auth/token-decoders.js.map +1 -0
  14. package/dist/auth/types.d.ts +77 -0
  15. package/dist/auth/types.d.ts.map +1 -0
  16. package/dist/auth/types.js +2 -0
  17. package/dist/auth/types.js.map +1 -0
  18. package/dist/auth/verify-token.d.ts +16 -0
  19. package/dist/auth/verify-token.d.ts.map +1 -0
  20. package/dist/auth/verify-token.js +32 -0
  21. package/dist/auth/verify-token.js.map +1 -0
  22. package/dist/database/index.d.ts +5 -0
  23. package/dist/database/index.d.ts.map +1 -1
  24. package/dist/database/index.js +6 -0
  25. package/dist/database/index.js.map +1 -1
  26. package/dist/messaging/index.d.ts.map +1 -1
  27. package/dist/messaging/index.js +39 -16
  28. package/dist/messaging/index.js.map +1 -1
  29. package/dist/storage/index.d.ts +5 -0
  30. package/dist/storage/index.d.ts.map +1 -1
  31. package/dist/storage/index.js +8 -0
  32. package/dist/storage/index.js.map +1 -1
  33. package/package.json +2 -2
  34. package/src/app/index.ts +22 -13
  35. package/src/auth/auth.test.ts +24 -1
  36. package/src/auth/index.ts +15 -168
  37. package/src/auth/token-decoders.ts +158 -0
  38. package/src/auth/types.ts +81 -0
  39. package/src/auth/verify-token.ts +42 -0
  40. package/src/database/index.ts +10 -0
  41. package/src/messaging/index.ts +70 -18
  42. package/src/storage/index.ts +9 -0
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  <img src="https://pyric.dev/pyric-logo.svg" alt="Pyric" width="180" />
3
3
  </p>
4
4
 
5
- <h1 align="center">Build with Firebase without touching production</h1>
5
+ <h1 align="center">A local first Firebase development framework built for Agents</h1>
6
6
 
7
7
  <p align="center">Keep the same <code>firebase/*</code> code. Pyric runs it against a local backend during development, then gets out of the way when the app ships to Firebase.</p>
8
8
 
@@ -14,12 +14,38 @@ Pyric adds a development-only resolution layer to a Firebase application. Run th
14
14
 
15
15
  The mirrored data services do not connect to a production Firebase project. Local writes cannot delete production data or create Firebase usage charges, and local rules changes do not deploy. Pyric owns the development sandbox and verification workflow. Firebase owns production, with `firebase-tools` or the Firebase Console handling deployment.
16
16
 
17
- ## Start a new Firebase application locally
17
+ ## Start with a coding agent
18
+
19
+ Install the Pyric plugin:
20
+
21
+ ```bash
22
+ npx plugins add davideast/pyric
23
+ ```
24
+
25
+ Antigravity CLI and OpenCode use the standalone skill installer:
26
+
27
+ ```bash
28
+ # Antigravity CLI
29
+ npx skills add https://github.com/davideast/pyric/tree/main/pyric-plugin/skills/pyric-start --agent antigravity-cli
30
+
31
+ # OpenCode
32
+ npx skills add https://github.com/davideast/pyric/tree/main/pyric-plugin/skills/pyric-start --agent opencode
33
+ ```
34
+
35
+ Then ask your agent:
36
+
37
+ ```text
38
+ Use the pyric-start skill to set up and run Pyric in this project.
39
+ ```
40
+
41
+ The skill chooses the project launcher, starts one local sandbox bridge, opens the application, and confirms that the browser sandbox is connected.
42
+
43
+ ## Start from the terminal
18
44
 
19
45
  Create a Vite application with canonical Firebase imports, Firestore rules, and the Pyric development plugin already configured:
20
46
 
21
47
  ```bash
22
- npm create pyric my-app
48
+ npm create pyric@latest my-app
23
49
  cd my-app
24
50
  npm install
25
51
  npm run dev
@@ -38,10 +64,10 @@ Add it to the existing Vite configuration:
38
64
  ```ts
39
65
  // vite.config.ts
40
66
  import { defineConfig } from 'vite';
41
- import { pyricSandbox } from '@pyric/cli/vite';
67
+ import { pyric } from '@pyric/cli/vite';
42
68
 
43
69
  export default defineConfig({
44
- plugins: [pyricSandbox()],
70
+ plugins: [pyric()],
45
71
  });
46
72
  ```
47
73
 
@@ -57,7 +83,7 @@ Pyric Studio is available on the Vite origin at `/__pyric/ui/`. It opens the sam
57
83
 
58
84
  For a static application or a Node process, `pyric dev` provides the same development-only package swap without the Vite plugin. The [CLI reference](packages/cli/docs/reference/cli.md) documents those paths and every command.
59
85
 
60
- ## Keep writing Firebase code
86
+ ## Keep using official Firebase SDKs
61
87
 
62
88
  Application code continues to import Firebase:
63
89
 
@@ -81,16 +107,18 @@ The Firebase configuration is accepted by the local mirror during development. T
81
107
 
82
108
  Pyric documents the parts that differ locally, including supported behavior, Security Rules, persistence, inspection, verification, and known gaps. See [use the Vite plugin](packages/cli/docs/how-to/use-the-vite-plugin.md) for the complete plugin contract.
83
109
 
84
- ## Inspect and correct a failed operation
110
+ ## Monitor the local environment in Pyric Studio
85
111
 
86
112
  Pyric Studio shows local data, requests, authentication state, Security Rules verdicts, and denied operations. Open `/__pyric/ui/` on the development server and reproduce the failure. A denied request includes the path and verdict needed to correct the rule or the application code.
87
113
 
114
+ <img width="1512" height="947" alt="image" src="https://github.com/user-attachments/assets/cb4a219c-c5f0-4fb7-8904-996416c0a79c" />
115
+
88
116
  The Vite plugin discovers the Firestore rules path from `firebase.json`, or falls back to `firestore.rules`. Saving that file replaces the active local ruleset without a production deploy. A parse failure leaves the last valid ruleset active and reports the error in the development server.
89
117
 
90
118
  State and test identities stay browser-local by default. Add `persist: true` to write a committable `.pyric/state/state.json`, or use `seed` to start from a known scenario:
91
119
 
92
120
  ```ts
93
- pyricSandbox({
121
+ pyric({
94
122
  persist: true,
95
123
  seed: 'seed.json',
96
124
  });
@@ -98,19 +126,21 @@ pyricSandbox({
98
126
 
99
127
  See [persistence and multi-tab behavior](packages/cli/docs/how-to/serve-persistence-and-multi-tab.md) for reset and seed precedence.
100
128
 
101
- ## Give coding agents the same local Firebase target
129
+ ## Connect Coding Agents to the Sandbox using the Pyric MCP server
102
130
 
103
131
  An agent can keep writing the same Firebase code while inspecting and changing the backend that the application is already using. Agent access is opt-in. Enable the MCP bridge in the Vite plugin:
104
132
 
105
133
  ```ts
106
- pyricSandbox({ bridge: true });
134
+ pyric({
135
+ bridge: true
136
+ });
107
137
  ```
108
138
 
109
- The bridge mounts on the Vite development origin and routes agent operations to the same SharedWorker backend used by the application and Studio. The included [Claude Code plugin](pyric-plugin/README.md) discovers that bridge, while other MCP clients can connect to its HTTP endpoint.
139
+ The bridge mounts on the Vite development origin and routes agent operations to the same SharedWorker backend used by the application and Studio.
110
140
 
111
141
  This protects the local workflow, not an independently credentialed process. A coding agent with production Firebase credentials or deployment access can still affect production outside Pyric.
112
142
 
113
- ## Verify the rules boundary
143
+ ## Verify the rules against production
114
144
 
115
145
  Development sessions capture Firestore and Realtime Database operations in `.pyric/last-session.json` by default. Replay those requests against candidate rules before deployment:
116
146
 
@@ -28,6 +28,12 @@ export type InitializeAdminAppConfig = {
28
28
  * application code asks the development sandbox for production credentials.
29
29
  */
30
30
  export declare function applicationDefault(): never;
31
+ /**
32
+ * Link-compatible mirror of `firebase-admin/app`'s `cert(serviceAccountPathOrObject)`.
33
+ * Returns an inert sandbox credential token so unchanged application setup code
34
+ * can assign `appOptions.credential = cert(...)` under `@pyric/cli/register`.
35
+ */
36
+ export declare function cert(serviceAccountPathOrObject: unknown): object;
31
37
  /**
32
38
  * Initialize a sandbox admin app.
33
39
  *
@@ -36,7 +42,7 @@ export declare function applicationDefault(): never;
36
42
  * `@pyric/cli/register`. Production callers must import `firebase-admin/app`
37
43
  * without Pyric activation instead of passing production options here.
38
44
  */
39
- export declare function initializeApp(config?: InitializeAdminAppConfig, name?: string): PyricAdminApp;
45
+ export declare function initializeApp(config?: InitializeAdminAppConfig | Record<string, unknown>, name?: string): PyricAdminApp;
40
46
  /** Return the registered app for `name`. */
41
47
  export declare function getApp(name?: string): PyricAdminApp;
42
48
  /** Return a copy of the app registry. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,eAAe,CAAC;AAGvB,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,eAAuC,CAAC;AACrE,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAE5C,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC;AAC5C,MAAM,MAAM,wBAAwB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE5D;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAK1C;AA4CD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,MAAM,CAAC,EAAE,wBAAwB,EACjC,IAAI,GAAE,MAAyB,GAC9B,aAAa,CAqCf;AAED,4CAA4C;AAC5C,wBAAgB,MAAM,CAAC,IAAI,GAAE,MAAyB,GAAG,aAAa,CAarE;AAED,yCAAyC;AACzC,wBAAgB,OAAO,IAAI,aAAa,EAAE,CAEzC;AAED,8CAA8C;AAC9C,wBAAgB,SAAS,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3D;AAgED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,GAAG,IAAI,eAAe,CAE5E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,eAAe,CAAC;AAGvB,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,eAAuC,CAAC;AACrE,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAE5C,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC;AAC5C,MAAM,MAAM,wBAAwB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE5D;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAK1C;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,0BAA0B,EAAE,OAAO,GAAG,MAAM,CAEhE;AA4CD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,MAAM,CAAC,EAAE,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,IAAI,GAAE,MAAyB,GAC9B,aAAa,CAkCf;AAED,4CAA4C;AAC5C,wBAAgB,MAAM,CAAC,IAAI,GAAE,MAAyB,GAAG,aAAa,CAarE;AAED,yCAAyC;AACzC,wBAAgB,OAAO,IAAI,aAAa,EAAE,CAEzC;AAED,8CAA8C;AAC9C,wBAAgB,SAAS,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3D;AAmED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,GAAG,IAAI,eAAe,CAE5E"}
package/dist/app/index.js CHANGED
@@ -22,6 +22,14 @@ export function applicationDefault() {
22
22
  throw new Error('pyric-admin/app: applicationDefault() is unavailable in the sandbox. ' +
23
23
  'Pyric development does not use production credentials.');
24
24
  }
25
+ /**
26
+ * Link-compatible mirror of `firebase-admin/app`'s `cert(serviceAccountPathOrObject)`.
27
+ * Returns an inert sandbox credential token so unchanged application setup code
28
+ * can assign `appOptions.credential = cert(...)` under `@pyric/cli/register`.
29
+ */
30
+ export function cert(serviceAccountPathOrObject) {
31
+ return { [Symbol.for('pyric.admin.credential')]: 'cert' };
32
+ }
25
33
  /** Local error with the observable firebase-admin app-error shape. */
26
34
  class FirebaseAppError extends Error {
27
35
  code;
@@ -60,10 +68,13 @@ function alreadyExists(name, code) {
60
68
  export function initializeApp(config, name = DEFAULT_APP_NAME) {
61
69
  validateAppName(name);
62
70
  const existing = appRegistry.get(name);
63
- if (config === undefined) {
71
+ const isBareOrAmbientConfig = config === undefined || !isSandboxConfig(config);
72
+ if (isBareOrAmbientConfig) {
64
73
  if (existing !== undefined) {
65
- if (ambientApps.has(existing))
74
+ const isExistingAmbient = ambientApps.has(existing);
75
+ if (isExistingAmbient) {
66
76
  return existing;
77
+ }
67
78
  throw alreadyExists(name, 'invalid-app-options');
68
79
  }
69
80
  const app = initializeAmbientApp(name);
@@ -71,10 +82,6 @@ export function initializeApp(config, name = DEFAULT_APP_NAME) {
71
82
  ambientApps.add(app);
72
83
  return app;
73
84
  }
74
- if (!isSandboxConfig(config)) {
75
- throw new TypeError('pyric-admin/app is a sandbox-only mirror. Production applications must ' +
76
- 'load firebase-admin/app without Pyric activation.');
77
- }
78
85
  if (existing !== undefined) {
79
86
  if (!ambientApps.has(existing) && existing.sandbox === config.sandbox)
80
87
  return existing;
@@ -141,8 +148,10 @@ function initializeAmbientApp(name) {
141
148
  }
142
149
  function parsePyricSandboxEnv(env) {
143
150
  const value = env.trim();
144
- if (value === 'remote')
151
+ const isRemoteOrBoolean = value === 'remote' || value === '1' || value === 'true';
152
+ if (isRemoteOrBoolean) {
145
153
  return {};
154
+ }
146
155
  if (value.startsWith('remote:')) {
147
156
  const url = value.slice('remote:'.length).trim();
148
157
  if (url === '') {
@@ -153,7 +162,7 @@ function parsePyricSandboxEnv(env) {
153
162
  return { url };
154
163
  }
155
164
  throw new Error(`pyric-admin: unrecognized PYRIC_SANDBOX value "${env}". Supported ` +
156
- 'values: "remote" (auto-discover the running `pyric dev`) or "remote:<url>".');
165
+ 'values: "1", "true", "remote" (auto-discover the running `pyric dev`), or "remote:<url>".');
157
166
  }
158
167
  function isSandboxConfig(config) {
159
168
  return typeof config === 'object' && config !== null && 'sandbox' in config;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"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"}
@@ -1,95 +1,7 @@
1
1
  import { type PyricAdminApp } from '../app/index.js';
2
- export interface CreateRequest {
3
- uid?: string;
4
- email?: string;
5
- emailVerified?: boolean;
6
- displayName?: string | null;
7
- photoURL?: string | null;
8
- phoneNumber?: string | null;
9
- disabled?: boolean;
10
- password?: string;
11
- }
12
- export interface UpdateRequest extends Omit<CreateRequest, 'uid'> {
13
- multiFactor?: unknown;
14
- providerToLink?: unknown;
15
- providersToUnlink?: unknown;
16
- }
17
- export interface DecodedIdToken extends Record<string, unknown> {
18
- aud: string;
19
- auth_time: number;
20
- exp: number;
21
- firebase: {
22
- identities: Record<string, unknown>;
23
- sign_in_provider: string;
24
- };
25
- iat: number;
26
- iss: string;
27
- sub: string;
28
- uid: string;
29
- }
30
- export interface UserMetadata {
31
- creationTime: string;
32
- lastSignInTime: string;
33
- toJSON(): Record<string, unknown>;
34
- }
35
- export interface UserInfo {
36
- providerId: string;
37
- uid: string;
38
- displayName?: string;
39
- email?: string;
40
- photoURL?: string;
41
- phoneNumber?: string;
42
- toJSON(): Record<string, unknown>;
43
- }
44
- export interface UserRecord {
45
- readonly uid: string;
46
- readonly email?: string;
47
- readonly emailVerified: boolean;
48
- readonly displayName?: string;
49
- readonly photoURL?: string;
50
- readonly phoneNumber?: string;
51
- readonly disabled: boolean;
52
- readonly metadata: UserMetadata;
53
- readonly providerData: UserInfo[];
54
- readonly customClaims?: Record<string, unknown>;
55
- readonly tenantId: string | null;
56
- toJSON(): Record<string, unknown>;
57
- }
58
- export interface ListUsersResult {
59
- users: UserRecord[];
60
- pageToken?: string;
61
- }
62
- /** Sandbox Auth interface intentionally limited to implemented behavior. */
63
- export interface Auth {
64
- readonly app: PyricAdminApp;
65
- createCustomToken(uid: string, developerClaims?: object): Promise<string>;
66
- verifyIdToken(idToken: string, checkRevoked?: boolean): Promise<DecodedIdToken>;
67
- createUser(properties: CreateRequest): Promise<UserRecord>;
68
- getUser(uid: string): Promise<UserRecord>;
69
- getUserByEmail(email: string): Promise<UserRecord>;
70
- deleteUser(uid: string): Promise<void>;
71
- setCustomUserClaims(uid: string, customUserClaims: object | null): Promise<void>;
72
- updateUser(uid: string, properties: UpdateRequest): Promise<UserRecord>;
73
- listUsers(maxResults?: number, pageToken?: string): Promise<ListUsersResult>;
74
- [key: string]: unknown;
75
- }
76
- /**
77
- * Token format minted by `createCustomToken` and parsed by
78
- * `verifyIdToken`. Exported as a constant so tests can lock the shape.
79
- *
80
- * Layout: `pyric-sandbox-custom:${uid}:${jsonClaims}`
81
- *
82
- * - The prefix lets `verifyIdToken` reject foreign tokens with a clear
83
- * "not a sandbox token" error rather than NaN'ing out.
84
- * - `uid` is colon-free per the auto-uid format above.
85
- * - `jsonClaims` is the JSON-stringified developer claims (or `{}` when
86
- * none were provided). Round-trips losslessly through `JSON.parse`.
87
- *
88
- * NOT a JWT. NOT signed. Do not use this token format to talk to any
89
- * real Firebase service — it only round-trips through this same
90
- * sandbox backend.
91
- */
92
- export declare const SANDBOX_TOKEN_PREFIX = "pyric-sandbox-custom";
2
+ import type { Auth } from './types.js';
3
+ export * from './types.js';
4
+ export { SANDBOX_TOKEN_PREFIX } from './token-decoders.js';
93
5
  /**
94
6
  * Return an `Auth` handle for the given app — or for the DEFAULT app when
95
7
  * called with no argument (mirrors firebase-admin's no-arg `getAuth()`:
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AA0EA,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EACV,IAAI,EAML,MAAM,YAAY,CAAC;AAIpB,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAwmB3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAoBjD"}
@@ -64,6 +64,10 @@
64
64
  import { isRemoteSandbox, } from 'pyric/sandbox';
65
65
  import { ADMIN_APP_TARGET, getApp, } from '../app/index.js';
66
66
  import { assertAdminAppActive } from '../app/lifecycle.js';
67
+ import { SANDBOX_TOKEN_PREFIX } from './token-decoders.js';
68
+ import { verifySandboxIdToken } from './verify-token.js';
69
+ export * from './types.js';
70
+ export { SANDBOX_TOKEN_PREFIX } from './token-decoders.js';
67
71
  // ─── Sandbox backend ────────────────────────────────────────────────────
68
72
  /**
69
73
  * Per-sandbox in-memory store. One instance per `Sandbox` (tracked in
@@ -87,7 +91,7 @@ class AuthStore {
87
91
  * collision resistance — it needs a stable, debuggable identifier
88
92
  * that doesn't collide *within one sandbox session*. A counter plus
89
93
  * a constant prefix is enough; padding keeps the visual width
90
- * roughly consistent with Firebase Auth uids.
94
+ * roughly consistent with Firebase Auth uids.
91
95
  */
92
96
  mintUid() {
93
97
  const n = String(this.nextAutoUid++).padStart(20, '0');
@@ -138,91 +142,17 @@ function storeFor(sandbox) {
138
142
  }
139
143
  return store;
140
144
  }
141
- /**
142
- * Token format minted by `createCustomToken` and parsed by
143
- * `verifyIdToken`. Exported as a constant so tests can lock the shape.
144
- *
145
- * Layout: `pyric-sandbox-custom:${uid}:${jsonClaims}`
146
- *
147
- * - The prefix lets `verifyIdToken` reject foreign tokens with a clear
148
- * "not a sandbox token" error rather than NaN'ing out.
149
- * - `uid` is colon-free per the auto-uid format above.
150
- * - `jsonClaims` is the JSON-stringified developer claims (or `{}` when
151
- * none were provided). Round-trips losslessly through `JSON.parse`.
152
- *
153
- * NOT a JWT. NOT signed. Do not use this token format to talk to any
154
- * real Firebase service — it only round-trips through this same
155
- * sandbox backend.
156
- */
157
- export const SANDBOX_TOKEN_PREFIX = 'pyric-sandbox-custom';
158
145
  /**
159
146
  * Mint a deterministic sandbox token (the {@link SANDBOX_TOKEN_PREFIX}
160
147
  * format). Stateless — shared verbatim by the local and remote sandbox
161
148
  * arms, so a token minted against either round-trips through
162
- * {@link verifySandboxIdToken} on the other.
149
+ * verifySandboxIdToken on the other.
163
150
  */
164
151
  function mintSandboxCustomToken(uid, developerClaims) {
165
152
  const claims = developerClaims ?? {};
166
153
  const token = `${SANDBOX_TOKEN_PREFIX}:${uid}:${JSON.stringify(claims)}`;
167
154
  return Promise.resolve(token);
168
155
  }
169
- /**
170
- * Parse a token minted by {@link mintSandboxCustomToken}. Returns a
171
- * `DecodedIdToken`-shaped object — every required field is filled with a
172
- * sandbox-appropriate placeholder (`iss`/`aud` = `pyric-sandbox`, time
173
- * fields = now), and the developer claims are spread onto the result so
174
- * `decoded.role` etc. retain the familiar Firebase Admin shape.
175
- *
176
- * Throws on any token that doesn't match the
177
- * `${SANDBOX_TOKEN_PREFIX}:${uid}:${json}` shape — including real JWTs
178
- * that another verifier would parse. The sandbox backends are
179
- * intentionally not drop-ins for production token verification.
180
- */
181
- function verifySandboxIdToken(idToken) {
182
- if (typeof idToken !== 'string' || !idToken.startsWith(`${SANDBOX_TOKEN_PREFIX}:`)) {
183
- return Promise.reject(new Error('pyric-admin/auth: verifyIdToken on the sandbox backend only ' +
184
- 'accepts tokens minted by this sandbox\'s createCustomToken. ' +
185
- `Token prefix must be "${SANDBOX_TOKEN_PREFIX}:".`));
186
- }
187
- // The token is `prefix:uid:json`. Split on the first two colons
188
- // only — the JSON payload may itself contain colons (e.g. inside
189
- // a string value) so `split(':')` with no limit would corrupt it.
190
- const firstColon = idToken.indexOf(':');
191
- const secondColon = idToken.indexOf(':', firstColon + 1);
192
- if (secondColon < 0) {
193
- return Promise.reject(new Error(`pyric-admin/auth: verifyIdToken received a malformed sandbox token (missing claims segment): ${idToken}`));
194
- }
195
- const uid = idToken.slice(firstColon + 1, secondColon);
196
- const jsonClaims = idToken.slice(secondColon + 1);
197
- let claims;
198
- try {
199
- claims = JSON.parse(jsonClaims);
200
- }
201
- catch (e) {
202
- return Promise.reject(new Error(`pyric-admin/auth: verifyIdToken failed to parse sandbox token claims as JSON: ${e.message}`));
203
- }
204
- const nowSec = Math.floor(Date.now() / 1000);
205
- // `DecodedIdToken` requires `aud`/`iss`/`sub`/`uid`/`auth_time`/
206
- // `exp`/`iat`/`firebase` to be present; the sandbox fills them
207
- // with placeholders so consumers that read them get sensible
208
- // values rather than `undefined`. Developer claims are spread on
209
- // top so they shadow nothing critical.
210
- const decoded = {
211
- aud: 'pyric-sandbox',
212
- auth_time: nowSec,
213
- exp: nowSec + 3600,
214
- firebase: {
215
- identities: {},
216
- sign_in_provider: 'custom',
217
- },
218
- iat: nowSec,
219
- iss: 'pyric-sandbox',
220
- sub: uid,
221
- uid,
222
- ...claims,
223
- };
224
- return Promise.resolve(decoded);
225
- }
226
156
  /**
227
157
  * Build the in-memory `Auth` handle for a sandbox app. Returns an
228
158
  * object structurally compatible with `firebase-admin/auth`'s `Auth`
@@ -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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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Modular token decoders for `pyric-admin/auth` verification.
3
+ * Each decoder strategy isolates prefix detection and claim decoding
4
+ * for one recognized token format.
5
+ */
6
+ import type { DecodedIdToken } from './types.js';
7
+ /**
8
+ * Token format minted by `createCustomToken` and parsed by
9
+ * `verifyIdToken`. Exported as a constant so tests can lock the shape.
10
+ *
11
+ * Layout: `pyric-sandbox-custom:${uid}:${jsonClaims}`
12
+ *
13
+ * - The prefix lets `verifyIdToken` reject foreign tokens with a clear
14
+ * "not a sandbox token" error rather than NaN'ing out.
15
+ * - `uid` is colon-free per the auto-uid format above.
16
+ * - `jsonClaims` is the JSON-stringified developer claims (or `{}` when
17
+ * none were provided). Round-trips losslessly through `JSON.parse`.
18
+ *
19
+ * NOT a JWT. NOT signed. Do not use this token format to talk to any
20
+ * real Firebase service — it only round-trips through this same
21
+ * sandbox backend.
22
+ */
23
+ export declare const SANDBOX_TOKEN_PREFIX = "pyric-sandbox-custom";
24
+ export interface TokenDecoder {
25
+ readonly name: string;
26
+ readonly prefix: string;
27
+ decode(token: string, nowSec: number): DecodedIdToken;
28
+ }
29
+ export declare const TOKEN_DECODERS: TokenDecoder[];
30
+ //# sourceMappingURL=token-decoders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-decoders.d.ts","sourceRoot":"","sources":["../../src/auth/token-decoders.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC;CACvD;AAgID,eAAO,MAAM,cAAc,EAAE,YAAY,EAA+C,CAAC"}