pyric 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 (229) hide show
  1. package/README.md +42 -12
  2. package/dist/auth/sandbox-token.d.ts +6 -9
  3. package/dist/auth/sandbox-token.d.ts.map +1 -1
  4. package/dist/auth/sandbox-token.js +8 -16
  5. package/dist/auth/sandbox-token.js.map +1 -1
  6. package/dist/database/references.d.ts.map +1 -1
  7. package/dist/database/references.js +4 -1
  8. package/dist/database/references.js.map +1 -1
  9. package/dist/database/sandbox/child-listeners.d.ts.map +1 -1
  10. package/dist/database/sandbox/child-listeners.js +13 -1
  11. package/dist/database/sandbox/child-listeners.js.map +1 -1
  12. package/dist/database/sandbox/data-tree.d.ts.map +1 -1
  13. package/dist/database/sandbox/data-tree.js +10 -0
  14. package/dist/database/sandbox/data-tree.js.map +1 -1
  15. package/dist/database/sandbox/operation-events.d.ts +3 -1
  16. package/dist/database/sandbox/operation-events.d.ts.map +1 -1
  17. package/dist/database/sandbox/operation-events.js +27 -10
  18. package/dist/database/sandbox/operation-events.js.map +1 -1
  19. package/dist/database/sandbox/persistence-state.d.ts.map +1 -1
  20. package/dist/database/sandbox/persistence-state.js +140 -9
  21. package/dist/database/sandbox/persistence-state.js.map +1 -1
  22. package/dist/database/sandbox/rules-eval.d.ts.map +1 -1
  23. package/dist/database/sandbox/rules-eval.js +24 -0
  24. package/dist/database/sandbox/rules-eval.js.map +1 -1
  25. package/dist/database/sandbox/value-listeners.d.ts.map +1 -1
  26. package/dist/database/sandbox/value-listeners.js +18 -2
  27. package/dist/database/sandbox/value-listeners.js.map +1 -1
  28. package/dist/database/sandbox/write-plane.d.ts.map +1 -1
  29. package/dist/database/sandbox/write-plane.js +60 -8
  30. package/dist/database/sandbox/write-plane.js.map +1 -1
  31. package/dist/database/sandbox-controls.d.ts +6 -0
  32. package/dist/database/sandbox-controls.d.ts.map +1 -1
  33. package/dist/database/sandbox-controls.js +81 -0
  34. package/dist/database/sandbox-controls.js.map +1 -1
  35. package/dist/firestore/aggregates.d.ts +15 -9
  36. package/dist/firestore/aggregates.d.ts.map +1 -1
  37. package/dist/firestore/aggregates.js +20 -0
  38. package/dist/firestore/aggregates.js.map +1 -1
  39. package/dist/firestore/bundles.d.ts +25 -0
  40. package/dist/firestore/bundles.d.ts.map +1 -0
  41. package/dist/firestore/bundles.js +36 -0
  42. package/dist/firestore/bundles.js.map +1 -0
  43. package/dist/firestore/index.d.ts +2 -0
  44. package/dist/firestore/index.d.ts.map +1 -1
  45. package/dist/firestore/index.js +2 -0
  46. package/dist/firestore/index.js.map +1 -1
  47. package/dist/firestore/persistence.d.ts +54 -0
  48. package/dist/firestore/persistence.d.ts.map +1 -1
  49. package/dist/firestore/persistence.js +25 -0
  50. package/dist/firestore/persistence.js.map +1 -1
  51. package/dist/firestore/query-constraints.d.ts +25 -0
  52. package/dist/firestore/query-constraints.d.ts.map +1 -1
  53. package/dist/firestore/query-constraints.js +42 -0
  54. package/dist/firestore/query-constraints.js.map +1 -1
  55. package/dist/firestore/sandbox/atomic-write-pipeline.d.ts.map +1 -1
  56. package/dist/firestore/sandbox/atomic-write-pipeline.js +21 -9
  57. package/dist/firestore/sandbox/atomic-write-pipeline.js.map +1 -1
  58. package/dist/firestore/sandbox/errors.d.ts +19 -0
  59. package/dist/firestore/sandbox/errors.d.ts.map +1 -1
  60. package/dist/firestore/sandbox/errors.js +23 -8
  61. package/dist/firestore/sandbox/errors.js.map +1 -1
  62. package/dist/firestore/sandbox/list-query-proof.d.ts +3 -2
  63. package/dist/firestore/sandbox/list-query-proof.d.ts.map +1 -1
  64. package/dist/firestore/sandbox/list-query-proof.js +87 -13
  65. package/dist/firestore/sandbox/list-query-proof.js.map +1 -1
  66. package/dist/firestore/sandbox/rules-list-authorizer.d.ts.map +1 -1
  67. package/dist/firestore/sandbox/rules-list-authorizer.js +50 -17
  68. package/dist/firestore/sandbox/rules-list-authorizer.js.map +1 -1
  69. package/dist/firestore/sandbox/rules-operation-reader.d.ts.map +1 -1
  70. package/dist/firestore/sandbox/rules-operation-reader.js +77 -27
  71. package/dist/firestore/sandbox/rules-operation-reader.js.map +1 -1
  72. package/dist/firestore/sandbox/rules-read-engine.d.ts.map +1 -1
  73. package/dist/firestore/sandbox/rules-read-engine.js +33 -12
  74. package/dist/firestore/sandbox/rules-read-engine.js.map +1 -1
  75. package/dist/firestore/sandbox/write-engine.d.ts.map +1 -1
  76. package/dist/firestore/sandbox/write-engine.js +41 -14
  77. package/dist/firestore/sandbox/write-engine.js.map +1 -1
  78. package/dist/firestore/sandbox/write-runtime.d.ts +4 -0
  79. package/dist/firestore/sandbox/write-runtime.d.ts.map +1 -1
  80. package/dist/firestore/sandbox/write-runtime.js +42 -2
  81. package/dist/firestore/sandbox/write-runtime.js.map +1 -1
  82. package/dist/firestore/sandbox-controls.d.ts.map +1 -1
  83. package/dist/firestore/sandbox-controls.js +98 -14
  84. package/dist/firestore/sandbox-controls.js.map +1 -1
  85. package/dist/firestore/ssr-snapshots.d.ts +15 -0
  86. package/dist/firestore/ssr-snapshots.d.ts.map +1 -0
  87. package/dist/firestore/ssr-snapshots.js +27 -0
  88. package/dist/firestore/ssr-snapshots.js.map +1 -0
  89. package/dist/firestore/types.d.ts +68 -2
  90. package/dist/firestore/types.d.ts.map +1 -1
  91. package/dist/firestore/types.js +87 -0
  92. package/dist/firestore/types.js.map +1 -1
  93. package/dist/firestore/writes.d.ts +3 -0
  94. package/dist/firestore/writes.d.ts.map +1 -1
  95. package/dist/firestore/writes.js +10 -0
  96. package/dist/firestore/writes.js.map +1 -1
  97. package/dist/rules/grammar/FirestoreAST.d.ts +21 -0
  98. package/dist/rules/grammar/FirestoreAST.d.ts.map +1 -1
  99. package/dist/rules/grammar/FirestoreAssembler.d.ts +11 -0
  100. package/dist/rules/grammar/FirestoreAssembler.d.ts.map +1 -1
  101. package/dist/rules/grammar/FirestoreAssembler.js +87 -19
  102. package/dist/rules/grammar/FirestoreAssembler.js.map +1 -1
  103. package/dist/rules/grammar/FirestoreParser.d.ts +1 -1
  104. package/dist/rules/grammar/FirestoreParser.d.ts.map +1 -1
  105. package/dist/rules/grammar/FirestoreParser.js +122 -19
  106. package/dist/rules/grammar/FirestoreParser.js.map +1 -1
  107. package/dist/rules/internal/index.d.ts +1 -1
  108. package/dist/rules/internal/index.d.ts.map +1 -1
  109. package/dist/rules/internal/index.js +1 -1
  110. package/dist/rules/internal/index.js.map +1 -1
  111. package/dist/rules/linter/hallucinations.d.ts +3 -7
  112. package/dist/rules/linter/hallucinations.d.ts.map +1 -1
  113. package/dist/rules/linter/hallucinations.js +141 -71
  114. package/dist/rules/linter/hallucinations.js.map +1 -1
  115. package/dist/rules/linter/linter.d.ts +2 -0
  116. package/dist/rules/linter/linter.d.ts.map +1 -1
  117. package/dist/rules/linter/linter.js +1 -1
  118. package/dist/rules/linter/linter.js.map +1 -1
  119. package/dist/rules/modules/resolver-browser.d.ts +1 -0
  120. package/dist/rules/modules/resolver-browser.d.ts.map +1 -1
  121. package/dist/rules/modules/resolver-browser.js +1 -0
  122. package/dist/rules/modules/resolver-browser.js.map +1 -1
  123. package/dist/rules/modules/resolver-core.d.ts +13 -1
  124. package/dist/rules/modules/resolver-core.d.ts.map +1 -1
  125. package/dist/rules/modules/resolver-core.js +160 -16
  126. package/dist/rules/modules/resolver-core.js.map +1 -1
  127. package/dist/rules/modules/resolver.d.ts +2 -2
  128. package/dist/rules/modules/resolver.d.ts.map +1 -1
  129. package/dist/rules/modules/resolver.js +1 -3
  130. package/dist/rules/modules/resolver.js.map +1 -1
  131. package/dist/rules/simulator/evaluation-builtins.d.ts.map +1 -1
  132. package/dist/rules/simulator/evaluation-builtins.js +3 -25
  133. package/dist/rules/simulator/evaluation-builtins.js.map +1 -1
  134. package/dist/rules/simulator/handler.d.ts.map +1 -1
  135. package/dist/rules/simulator/handler.js +94 -28
  136. package/dist/rules/simulator/handler.js.map +1 -1
  137. package/dist/rules/test/handler.d.ts.map +1 -1
  138. package/dist/rules/test/handler.js +4 -2
  139. package/dist/rules/test/handler.js.map +1 -1
  140. package/dist/rules/test/spec.d.ts +8 -0
  141. package/dist/rules/test/spec.d.ts.map +1 -1
  142. package/dist/rules/test/spec.js +75 -14
  143. package/dist/rules/test/spec.js.map +1 -1
  144. package/dist/sandbox/admin-firestore/error-translation.d.ts.map +1 -1
  145. package/dist/sandbox/admin-firestore/error-translation.js +35 -20
  146. package/dist/sandbox/admin-firestore/error-translation.js.map +1 -1
  147. package/dist/sandbox/branches/index.d.ts.map +1 -1
  148. package/dist/sandbox/branches/index.js +68 -1
  149. package/dist/sandbox/branches/index.js.map +1 -1
  150. package/dist/sandbox/operation-record.d.ts +4 -4
  151. package/dist/sandbox/operation-record.d.ts.map +1 -1
  152. package/dist/sandbox/operation-record.js +67 -13
  153. package/dist/sandbox/operation-record.js.map +1 -1
  154. package/dist/sandbox/types/errors.d.ts +7 -3
  155. package/dist/sandbox/types/errors.d.ts.map +1 -1
  156. package/dist/sandbox/types/errors.js.map +1 -1
  157. package/dist/sandbox/types/events.d.ts +3 -0
  158. package/dist/sandbox/types/events.d.ts.map +1 -1
  159. package/dist/storage/errors.d.ts +2 -1
  160. package/dist/storage/errors.d.ts.map +1 -1
  161. package/dist/storage/errors.js +3 -0
  162. package/dist/storage/errors.js.map +1 -1
  163. package/dist/storage/index.d.ts +2 -0
  164. package/dist/storage/index.d.ts.map +1 -1
  165. package/dist/storage/index.js +1 -0
  166. package/dist/storage/index.js.map +1 -1
  167. package/dist/storage/internal.d.ts +1 -0
  168. package/dist/storage/internal.d.ts.map +1 -1
  169. package/dist/storage/internal.js +1 -0
  170. package/dist/storage/internal.js.map +1 -1
  171. package/dist/storage/resumable.d.ts +41 -0
  172. package/dist/storage/resumable.d.ts.map +1 -0
  173. package/dist/storage/resumable.js +404 -0
  174. package/dist/storage/resumable.js.map +1 -0
  175. package/dist/storage/upload.d.ts +11 -0
  176. package/dist/storage/upload.d.ts.map +1 -1
  177. package/dist/storage/upload.js +2 -2
  178. package/dist/storage/upload.js.map +1 -1
  179. package/package.json +1 -1
  180. package/src/auth/sandbox-token.ts +9 -16
  181. package/src/database/references.ts +4 -1
  182. package/src/database/sandbox/child-listeners.ts +13 -1
  183. package/src/database/sandbox/data-tree.ts +7 -0
  184. package/src/database/sandbox/operation-events.ts +30 -11
  185. package/src/database/sandbox/persistence-state.ts +155 -12
  186. package/src/database/sandbox/rules-eval.ts +24 -0
  187. package/src/database/sandbox/value-listeners.ts +18 -2
  188. package/src/database/sandbox/write-plane.ts +63 -8
  189. package/src/database/sandbox-controls.ts +90 -0
  190. package/src/firestore/aggregates.ts +28 -4
  191. package/src/firestore/bundles.ts +62 -0
  192. package/src/firestore/index.ts +2 -0
  193. package/src/firestore/persistence.ts +42 -0
  194. package/src/firestore/query-constraints.ts +55 -0
  195. package/src/firestore/sandbox/atomic-write-pipeline.ts +36 -14
  196. package/src/firestore/sandbox/errors.ts +42 -4
  197. package/src/firestore/sandbox/list-query-proof.ts +104 -18
  198. package/src/firestore/sandbox/rules-list-authorizer.ts +83 -17
  199. package/src/firestore/sandbox/rules-operation-reader.ts +93 -27
  200. package/src/firestore/sandbox/rules-read-engine.ts +49 -12
  201. package/src/firestore/sandbox/write-engine.ts +55 -21
  202. package/src/firestore/sandbox/write-runtime.ts +56 -5
  203. package/src/firestore/sandbox-controls.ts +92 -15
  204. package/src/firestore/ssr-snapshots.ts +40 -0
  205. package/src/firestore/types.ts +114 -2
  206. package/src/firestore/writes.ts +15 -0
  207. package/src/rules/grammar/FirestoreAST.ts +22 -15
  208. package/src/rules/grammar/FirestoreAssembler.ts +123 -24
  209. package/src/rules/grammar/FirestoreParser.ts +129 -15
  210. package/src/rules/internal/index.ts +2 -1
  211. package/src/rules/linter/hallucinations.ts +148 -74
  212. package/src/rules/linter/linter.ts +3 -1
  213. package/src/rules/modules/resolver-browser.ts +5 -0
  214. package/src/rules/modules/resolver-core.ts +186 -17
  215. package/src/rules/modules/resolver.ts +3 -3
  216. package/src/rules/simulator/evaluation-builtins.ts +3 -23
  217. package/src/rules/simulator/handler.ts +98 -26
  218. package/src/rules/test/handler.ts +4 -2
  219. package/src/rules/test/spec.ts +86 -14
  220. package/src/sandbox/admin-firestore/error-translation.ts +36 -20
  221. package/src/sandbox/branches/index.ts +72 -1
  222. package/src/sandbox/operation-record.ts +72 -18
  223. package/src/sandbox/types/errors.ts +3 -2
  224. package/src/sandbox/types/events.ts +3 -0
  225. package/src/storage/errors.ts +6 -1
  226. package/src/storage/index.ts +3 -0
  227. package/src/storage/internal.ts +4 -0
  228. package/src/storage/resumable.ts +502 -0
  229. package/src/storage/upload.ts +2 -2
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
 
@@ -5,20 +5,17 @@
5
5
  * produce the string.
6
6
  */
7
7
  /**
8
- * Opaque token string. Hash is a tiny deterministic digest over the
9
- * serialized claims map + a monotonic serial enough that two
10
- * different claim maps for the same uid get different tokens AND
11
- * back-to-back refreshes for the same uid + claims also get
12
- * different tokens. NOT a cryptographic primitive. The
13
- * `sandbox-id-token-` prefix is grepable in logs.
8
+ * Deterministic sandbox token string embedding serialized claims.
9
+ * Includes a monotonic serial so back-to-back refreshes for the same uid + claims
10
+ * get distinct token strings. Embedding claims after the colon allows stateless
11
+ * verifiers (such as `pyric-admin/auth`) to decode the token without a network roundtrip.
12
+ * NOT a cryptographic primitive. The `sandbox-id-token-` prefix is grepable in logs.
14
13
  *
15
14
  * Claims-sensitivity is locked with uid AND serial held fixed (two
16
15
  * independent fresh backends, each at its first mint) in
17
16
  * `test/auth/sandbox-token-refresh.test.ts` — "token string is
18
17
  * sensitive to claims, not just the mint serial". Every other token
19
- * test compares mints across a serial bump (refresh, re-sign-in),
20
- * which alone can't distinguish "claims changed the hash" from "serial
21
- * changed the hash".
18
+ * test compares mints across a serial bump (refresh, re-sign-in).
22
19
  */
23
20
  export declare function sandboxTokenFor(uid: string, claims: Record<string, unknown>, serial: number): string;
24
21
  //# sourceMappingURL=sandbox-token.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-token.d.ts","sourceRoot":"","sources":["../../src/auth/sandbox-token.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAQpG"}
1
+ {"version":3,"file":"sandbox-token.d.ts","sourceRoot":"","sources":["../../src/auth/sandbox-token.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGpG"}
@@ -5,28 +5,20 @@
5
5
  * produce the string.
6
6
  */
7
7
  /**
8
- * Opaque token string. Hash is a tiny deterministic digest over the
9
- * serialized claims map + a monotonic serial enough that two
10
- * different claim maps for the same uid get different tokens AND
11
- * back-to-back refreshes for the same uid + claims also get
12
- * different tokens. NOT a cryptographic primitive. The
13
- * `sandbox-id-token-` prefix is grepable in logs.
8
+ * Deterministic sandbox token string embedding serialized claims.
9
+ * Includes a monotonic serial so back-to-back refreshes for the same uid + claims
10
+ * get distinct token strings. Embedding claims after the colon allows stateless
11
+ * verifiers (such as `pyric-admin/auth`) to decode the token without a network roundtrip.
12
+ * NOT a cryptographic primitive. The `sandbox-id-token-` prefix is grepable in logs.
14
13
  *
15
14
  * Claims-sensitivity is locked with uid AND serial held fixed (two
16
15
  * independent fresh backends, each at its first mint) in
17
16
  * `test/auth/sandbox-token-refresh.test.ts` — "token string is
18
17
  * sensitive to claims, not just the mint serial". Every other token
19
- * test compares mints across a serial bump (refresh, re-sign-in),
20
- * which alone can't distinguish "claims changed the hash" from "serial
21
- * changed the hash".
18
+ * test compares mints across a serial bump (refresh, re-sign-in).
22
19
  */
23
20
  export function sandboxTokenFor(uid, claims, serial) {
24
- let hash = 5381;
25
- const json = JSON.stringify(claims) + ':' + String(serial);
26
- for (let i = 0; i < json.length; i++) {
27
- hash = ((hash << 5) + hash + json.charCodeAt(i)) | 0;
28
- }
29
- const hex = (hash >>> 0).toString(16).padStart(8, '0');
30
- return `sandbox-id-token-${uid}-${hex}`;
21
+ const json = JSON.stringify(claims);
22
+ return `sandbox-id-token-${uid}-${String(serial)}:${json}`;
31
23
  }
32
24
  //# sourceMappingURL=sandbox-token.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-token.js","sourceRoot":"","sources":["../../src/auth/sandbox-token.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,MAA+B,EAAE,MAAc;IAC1F,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,OAAO,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"sandbox-token.js","sourceRoot":"","sources":["../../src/auth/sandbox-token.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,MAA+B,EAAE,MAAc;IAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,oBAAoB,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;AAC7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/database/references.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACzF,OAAO,EAAgB,KAAK,QAAQ,EAAE,KAAK,iBAAiB,EAAc,MAAM,YAAY,CAAC;AAK7F;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAIlE;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAKhF;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAevE;AAUD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,GAAG,iBAAiB,EACzC,IAAI,EAAE,MAAM,GACX,iBAAiB,CAsCnB"}
1
+ {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/database/references.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACzF,OAAO,EAAgB,KAAK,QAAQ,EAAE,KAAK,iBAAiB,EAAc,MAAM,YAAY,CAAC;AAK7F;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAIlE;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAKhF;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAevE;AAaD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,GAAG,iBAAiB,EACzC,IAAI,EAAE,MAAM,GACX,iBAAiB,CAsCnB"}
@@ -50,7 +50,10 @@ export function refFromURL(db, url) {
50
50
  return ref(db, parsed.pathname);
51
51
  }
52
52
  function validateReferencePath(path, allowEmpty) {
53
- if ((!allowEmpty && path.length === 0) || /[.#$[\]]/.test(path)) {
53
+ const normalized = path.replace(/^\/*\.info(\/|$)/, '/');
54
+ const isInvalidLength = !allowEmpty && path.length === 0;
55
+ const containsForbiddenChars = /[.#$[\]]/.test(normalized);
56
+ if (isInvalidLength || containsForbiddenChars) {
54
57
  throw new Error(`child failed: path argument was an invalid path = "${path}". Paths must be non-empty strings and can't contain ".", "#", "$", "[", or "]"`);
55
58
  }
56
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"references.js","sourceRoot":"","sources":["../../src/database/references.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"references.js","sourceRoot":"","sources":["../../src/database/references.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAA8C,MAAM,cAAc,CAAC;AACzF,OAAO,EAAE,YAAY,EAAqD,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,wEAAwE;AAExE;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CAAC,EAAY,EAAE,IAAa;IAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5B,IAAI,IAAI,KAAK,SAAS;QAAE,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1D,OAAO,eAAe,CAAC,MAAM,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,MAAyB,EAAE,IAAY;IAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAA2B,CAAC,CAAC;IACrD,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,OAAO,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,EAAY,EAAE,GAAW;IAClD,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,4EAA4E,GAAG,EAAE,CAClF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,sHAAsH,CACvH,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY,EAAE,UAAmB;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IACzD,MAAM,sBAAsB,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,eAAe,IAAI,sBAAsB,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,sDAAsD,IAAI,iFAAiF,CAC5I,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAyC,EACzC,IAAY;IAEZ,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IAC9D,MAAM,IAAI,GAAsB;QAC9B,GAAG;QACH,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,SAAS,EAAE;QAClB,CAAC,YAAY,CAAC,EAAE,IAAI;QACpB,IAAI,GAAG;YACL,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM;YACR,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACnC,OAAO,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,IAAI;YACN,OAAO,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QACD,QAAQ;YACN,OAAO,iBAAiB,SAAS,EAAE,CAAC;QACtC,CAAC;QACD,MAAM;YACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,KAAmB;YACzB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAClG,IAAI,CAAC;gBACH,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAwB,CAAC,KAAK,MAAM;uBACrD,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS;uBAC7B,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;KACF,CAAC;IACF,GAAG,CAAC,IAAyB,EAAE,MAAM,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"child-listeners.d.ts","sourceRoot":"","sources":["../../../src/database/sandbox/child-listeners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAEU,KAAK,SAAS,EAC9B,MAAM,YAAY,CAAC;AAIpB,KAAK,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AAsBzC,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,YAAY;IAEhD,OAAO,CACL,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,EACvB,IAAI,CAAC,EAAE,SAAS,EAChB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EACvC,UAAU,CAAC,EAAE,MAAM,IAAI,GACtB,MAAM,IAAI;IAwDb,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI;IAW/D,eAAe,IAAI,mBAAmB;IAUtC,MAAM,CAAC,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI;IA2C9E,KAAK,IAAI,MAAM;IAIf,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,OAAO;CAchB"}
1
+ {"version":3,"file":"child-listeners.d.ts","sourceRoot":"","sources":["../../../src/database/sandbox/child-listeners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAEU,KAAK,SAAS,EAC9B,MAAM,YAAY,CAAC;AAIpB,KAAK,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AAsBzC,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,YAAY;IAEhD,OAAO,CACL,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,EACvB,IAAI,CAAC,EAAE,SAAS,EAChB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EACvC,UAAU,CAAC,EAAE,MAAM,IAAI,GACtB,MAAM,IAAI;IAoEb,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI;IAW/D,eAAe,IAAI,mBAAmB;IAUtC,MAAM,CAAC,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI;IA2C9E,KAAK,IAAI,MAAM;IAIf,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,OAAO;CAchB"}
@@ -38,13 +38,25 @@ export class ChildListeners {
38
38
  this.state.events.operation(auth, 'listen', path, denyResultFor(evaluation.check), evaluation, {
39
39
  at, durationMs: Date.now() - at, origin: 'listener', detail: { event },
40
40
  });
41
+ const rulesObj = {
42
+ engine: 'rtdb',
43
+ matchedPath: evaluation.matchedPath,
44
+ matchedRule: evaluation.matchedRule,
45
+ pathVariableBindings: evaluation.pathVariableBindings,
46
+ reason: evaluation.reason,
47
+ errorCode: evaluation.errorCode,
48
+ };
41
49
  this.state.events.listener('errored', { id, path }, auth, {
42
50
  event, result: 'deny',
43
51
  error: { code: 'PERMISSION_DENIED', message: 'PERMISSION_DENIED: Permission denied', reasons: evaluation.reasons },
52
+ reasons: evaluation.reasons,
53
+ rules: rulesObj,
44
54
  });
45
55
  if (cancelCallback) {
46
56
  queueMicrotask(() => {
47
- onCanceled?.();
57
+ if (onCanceled) {
58
+ onCanceled();
59
+ }
48
60
  cancelCallback(listenerPermissionDenied(path));
49
61
  });
50
62
  return () => { };
@@ -1 +1 @@
1
- {"version":3,"file":"child-listeners.js","sourceRoot":"","sources":["../../../src/database/sandbox/child-listeners.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"child-listeners.js","sourceRoot":"","sources":["../../../src/database/sandbox/child-listeners.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-tree.d.ts","sourceRoot":"","sources":["../../../src/database/sandbox/data-tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,MAAM,SAAS,GACjB,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAWjC;6DAC6D;AAC7D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAanD;AAED,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAGnD;AAED;;;gBAGgB;AAChB,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI/C;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED;;sCAEsC;AACtC,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAQtD;AAED;uCACuC;AACvC,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAE/E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAY/D;AAED;;;;;;;;;;GAUG;AACH,qBAAa,QAAQ;IAInB,OAAO,CAAC,IAAI,CAAiB;IAE7B;qEACiE;IACjE,QAAQ,IAAI,SAAS;IAIrB,wDAAwD;IACxD,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAI9B;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAgB7B;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS;IAiDhD;;;;;;;;;;OAUG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IA6B1F;;;;;;;;OAQG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IAYxG,sEAAsE;IACtE,OAAO,CAAC,IAAI;CA4Bb"}
1
+ {"version":3,"file":"data-tree.d.ts","sourceRoot":"","sources":["../../../src/database/sandbox/data-tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,MAAM,SAAS,GACjB,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAWjC;6DAC6D;AAC7D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAanD;AAED,2EAA2E;AAC3E,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAGnD;AAED;;;gBAGgB;AAChB,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI/C;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED;;sCAEsC;AACtC,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAQtD;AAED;uCACuC;AACvC,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAE/E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAY/D;AAED;;;;;;;;;;GAUG;AACH,qBAAa,QAAQ;IAInB,OAAO,CAAC,IAAI,CAAiB;IAE7B;qEACiE;IACjE,QAAQ,IAAI,SAAS;IAIrB,wDAAwD;IACxD,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAI9B;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAuB7B;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS;IAiDhD;;;;;;;;;;OAUG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IA6B1F;;;;;;;;OAQG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IAYxG,sEAAsE;IACtE,OAAO,CAAC,IAAI;CA4Bb"}
@@ -147,6 +147,16 @@ export class DataTree {
147
147
  */
148
148
  read(path) {
149
149
  const segs = pathSegments(path);
150
+ const isInfoSystemPath = segs.length > 0 && segs[0] === '.info';
151
+ if (isInfoSystemPath) {
152
+ if (segs.length === 1)
153
+ return { connected: true, serverTimeOffset: 0 };
154
+ if (segs[1] === 'connected')
155
+ return true;
156
+ if (segs[1] === 'serverTimeOffset')
157
+ return 0;
158
+ return null;
159
+ }
150
160
  let node = this.root;
151
161
  for (const seg of segs) {
152
162
  if (node === null || typeof node !== 'object' || Array.isArray(node)) {
@@ -1 +1 @@
1
- {"version":3,"file":"data-tree.js","sourceRoot":"","sources":["../../../src/database/sandbox/data-tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-tree.js","sourceRoot":"","sources":["../../../src/database/sandbox/data-tree.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AuthState, Sandbox } from 'pyric/sandbox';
1
+ import type { AuthState, Sandbox, SandboxOperationEvent } from 'pyric/sandbox';
2
2
  import type { ChildListener, ValueListener } from './listener-types.js';
3
3
  import type { RuleCheck, RuleEvaluationDetails } from './rules-eval.js';
4
4
  export declare function denyResultFor(check: RuleCheck): 'deny' | 'unsupported';
@@ -71,6 +71,8 @@ export declare class OperationEvents {
71
71
  path?: string;
72
72
  };
73
73
  detail?: Record<string, unknown>;
74
+ reasons?: string[];
75
+ rules?: SandboxOperationEvent['rules'];
74
76
  }): void;
75
77
  }
76
78
  //# sourceMappingURL=operation-events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operation-events.d.ts","sourceRoot":"","sources":["../../../src/database/sandbox/operation-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation-events.d.ts","sourceRoot":"","sources":["../../../src/database/sandbox/operation-events.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  import { emitSandboxEvent, makeSandboxCommitEvent, makeSandboxListenerEvent, makeSandboxOperationEvent, makeServiceMutationEvent, } from 'pyric/sandbox/internal';
2
2
  import { joinPath, pathSegments } from './data-tree.js';
3
3
  export function denyResultFor(check) {
4
- return check === 'unsupported' ? 'unsupported' : 'deny';
4
+ if (check === 'unsupported') {
5
+ return 'unsupported';
6
+ }
7
+ return 'deny';
5
8
  }
6
9
  export function canonicalPath(path) {
7
10
  return joinPath(pathSegments(path));
@@ -35,16 +38,26 @@ export class OperationEvents {
35
38
  if (!this.sandbox)
36
39
  return;
37
40
  try {
41
+ let rulesObj = undefined;
42
+ if (evaluation) {
43
+ rulesObj = {
44
+ engine: 'rtdb',
45
+ matchedPath: evaluation.matchedPath,
46
+ matchedRule: evaluation.matchedRule,
47
+ pathVariableBindings: evaluation.pathVariableBindings,
48
+ reason: evaluation.reason,
49
+ errorCode: evaluation.errorCode,
50
+ };
51
+ }
52
+ let originVal = 'user';
53
+ if (fields.origin) {
54
+ originVal = fields.origin;
55
+ }
38
56
  emitSandboxEvent(this.sandbox, makeSandboxOperationEvent({
39
57
  service: 'rtdb', method, path: canonicalPath(path), auth, result,
40
- origin: fields.origin ?? 'user', durationMs: fields.durationMs,
58
+ origin: originVal, durationMs: fields.durationMs,
41
59
  reasons: evaluation?.reasons,
42
- rules: evaluation ? {
43
- engine: 'rtdb', matchedPath: evaluation.matchedPath,
44
- matchedRule: evaluation.matchedRule,
45
- pathVariableBindings: evaluation.pathVariableBindings,
46
- reason: evaluation.reason, errorCode: evaluation.errorCode,
47
- } : undefined,
60
+ rules: rulesObj,
48
61
  request: fields.request, resourceBefore: fields.resourceBefore,
49
62
  resourceAfter: fields.resourceAfter, groupId: fields.groupId,
50
63
  groupKind: fields.groupKind, triggeredBy: fields.triggeredBy,
@@ -70,12 +83,16 @@ export class OperationEvents {
70
83
  if (!this.sandbox)
71
84
  return;
72
85
  try {
86
+ let kindVal = 'value';
87
+ if (fields.event) {
88
+ kindVal = fields.event;
89
+ }
73
90
  emitSandboxEvent(this.sandbox, makeSandboxListenerEvent({
74
91
  service: 'rtdb', phase, listenerId: listener.id,
75
- target: { kind: fields.event ?? 'value', path: canonicalPath(listener.path) },
92
+ target: { kind: kindVal, path: canonicalPath(listener.path) },
76
93
  auth, result: fields.result, size: fields.size, sample: fields.sample,
77
94
  reason: fields.reason, error: fields.error, triggeredBy: fields.triggeredBy,
78
- detail: fields.detail,
95
+ detail: fields.detail, reasons: fields.reasons, rules: fields.rules,
79
96
  }), { service: 'rtdb' });
80
97
  }
81
98
  catch { /* telemetry is observational */ }
@@ -1 +1 @@
1
- {"version":3,"file":"operation-events.js","sourceRoot":"","sources":["../../../src/database/sandbox/operation-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation-events.js","sourceRoot":"","sources":["../../../src/database/sandbox/operation-events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"persistence-state.d.ts","sourceRoot":"","sources":["../../../src/database/sandbox/persistence-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAuB3D,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,cAAc;IAG3C,UAAU,IAAI,SAAS;IAIvB,WAAW,IAAI,SAAS;IAQxB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAU9B,KAAK,IAAI,IAAI;IAKb,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;CAI5C"}
1
+ {"version":3,"file":"persistence-state.d.ts","sourceRoot":"","sources":["../../../src/database/sandbox/persistence-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA0I3D,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,cAAc;IAG3C,UAAU,IAAI,SAAS;IAIvB,WAAW,IAAI,SAAS;IAaxB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAiC9B,KAAK,IAAI,IAAI;IAKb,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;CAI5C"}