pyric 0.1.0-alpha.20 → 0.1.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -89
- package/dist/ai/blocked.d.ts +52 -0
- package/dist/ai/blocked.d.ts.map +1 -0
- package/dist/ai/blocked.js +83 -0
- package/dist/ai/blocked.js.map +1 -0
- package/dist/ai/broker/broker.d.ts +49 -0
- package/dist/ai/broker/broker.d.ts.map +1 -1
- package/dist/ai/broker/broker.js +90 -0
- package/dist/ai/broker/broker.js.map +1 -1
- package/dist/ai/broker/gemini-engine.d.ts +14 -1
- package/dist/ai/broker/gemini-engine.d.ts.map +1 -1
- package/dist/ai/broker/gemini-engine.js +30 -9
- package/dist/ai/broker/gemini-engine.js.map +1 -1
- package/dist/ai/broker/index.d.ts +2 -2
- package/dist/ai/broker/index.d.ts.map +1 -1
- package/dist/ai/broker/index.js +2 -2
- package/dist/ai/broker/index.js.map +1 -1
- package/dist/ai/broker/openai-engine.d.ts +10 -1
- package/dist/ai/broker/openai-engine.d.ts.map +1 -1
- package/dist/ai/broker/openai-engine.js +26 -4
- package/dist/ai/broker/openai-engine.js.map +1 -1
- package/dist/ai/broker/synthesizer.d.ts +14 -0
- package/dist/ai/broker/synthesizer.d.ts.map +1 -1
- package/dist/ai/broker/synthesizer.js +31 -0
- package/dist/ai/broker/synthesizer.js.map +1 -1
- package/dist/ai/broker/types.d.ts +24 -0
- package/dist/ai/broker/types.d.ts.map +1 -1
- package/dist/ai/internal.d.ts +5 -0
- package/dist/ai/internal.d.ts.map +1 -1
- package/dist/ai/internal.js +5 -0
- package/dist/ai/internal.js.map +1 -1
- package/dist/ai/response-helpers.d.ts.map +1 -1
- package/dist/ai/response-helpers.js +6 -24
- package/dist/ai/response-helpers.js.map +1 -1
- package/dist/analytics/index.d.ts +40 -0
- package/dist/analytics/index.d.ts.map +1 -0
- package/dist/analytics/index.js +25 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/app-check/index.d.ts +31 -0
- package/dist/app-check/index.d.ts.map +1 -0
- package/dist/app-check/index.js +20 -0
- package/dist/app-check/index.js.map +1 -0
- package/dist/database/controls.d.ts +1 -1
- package/dist/database/controls.js +1 -1
- package/dist/database/sandbox/rules-eval.d.ts +1 -1
- package/dist/database/sandbox/rules-eval.d.ts.map +1 -1
- package/dist/database/sandbox/rules-eval.js +2 -2
- package/dist/database/sandbox/rules-eval.js.map +1 -1
- package/dist/database/sandbox/write-plane.js +2 -2
- package/dist/database/sandbox/write-plane.js.map +1 -1
- package/dist/database/sandbox-controls.d.ts +12 -5
- package/dist/database/sandbox-controls.d.ts.map +1 -1
- package/dist/database/sandbox-controls.js +20 -9
- package/dist/database/sandbox-controls.js.map +1 -1
- package/dist/deferred/entry.d.ts +75 -0
- package/dist/deferred/entry.d.ts.map +1 -0
- package/dist/deferred/entry.js +143 -0
- package/dist/deferred/entry.js.map +1 -0
- package/dist/firestore/lite.d.ts +72 -0
- package/dist/firestore/lite.d.ts.map +1 -0
- package/dist/firestore/lite.js +22 -0
- package/dist/firestore/lite.js.map +1 -0
- package/dist/firestore/persistence.d.ts +2 -2
- package/dist/firestore/persistence.js +1 -1
- package/dist/functions/index.d.ts +29 -0
- package/dist/functions/index.d.ts.map +1 -0
- package/dist/functions/index.js +20 -0
- package/dist/functions/index.js.map +1 -0
- package/dist/performance/index.d.ts +22 -0
- package/dist/performance/index.d.ts.map +1 -0
- package/dist/performance/index.js +19 -0
- package/dist/performance/index.js.map +1 -0
- package/dist/remote-config/index.d.ts +40 -0
- package/dist/remote-config/index.d.ts.map +1 -0
- package/dist/remote-config/index.js +25 -0
- package/dist/remote-config/index.js.map +1 -0
- package/dist/rules/grammar/FirestoreValidator.d.ts.map +1 -1
- package/dist/rules/grammar/FirestoreValidator.js +43 -27
- package/dist/rules/grammar/FirestoreValidator.js.map +1 -1
- package/dist/rules/grammar/document-access-count.d.ts +24 -0
- package/dist/rules/grammar/document-access-count.d.ts.map +1 -0
- package/dist/rules/grammar/document-access-count.js +100 -0
- package/dist/rules/grammar/document-access-count.js.map +1 -0
- package/dist/rules/linter/ast-utils.d.ts +2 -6
- package/dist/rules/linter/ast-utils.d.ts.map +1 -1
- package/dist/rules/linter/ast-utils.js +2 -63
- package/dist/rules/linter/ast-utils.js.map +1 -1
- package/dist/rules/linter/hallucinations.d.ts +8 -0
- package/dist/rules/linter/hallucinations.d.ts.map +1 -1
- package/dist/rules/linter/hallucinations.js +121 -31
- package/dist/rules/linter/hallucinations.js.map +1 -1
- package/dist/rules/linter/linter.d.ts +10 -1
- package/dist/rules/linter/linter.d.ts.map +1 -1
- package/dist/rules/linter/linter.js +23 -9
- package/dist/rules/linter/linter.js.map +1 -1
- package/dist/rules/rtdb/grammar/simulator.d.ts.map +1 -1
- package/dist/rules/rtdb/grammar/simulator.js +13 -13
- package/dist/rules/rtdb/grammar/simulator.js.map +1 -1
- package/dist/rules/rtdb/simulation/handler.d.ts.map +1 -1
- package/dist/rules/rtdb/simulation/handler.js +96 -35
- package/dist/rules/rtdb/simulation/handler.js.map +1 -1
- package/dist/rules/simulator/document-lookups.d.ts +4 -0
- package/dist/rules/simulator/document-lookups.d.ts.map +1 -1
- package/dist/rules/simulator/document-lookups.js +42 -3
- package/dist/rules/simulator/document-lookups.js.map +1 -1
- package/dist/rules/simulator/eval-error.d.ts +11 -0
- package/dist/rules/simulator/eval-error.d.ts.map +1 -1
- package/dist/rules/simulator/eval-error.js +14 -0
- package/dist/rules/simulator/eval-error.js.map +1 -1
- package/dist/rules/simulator/evaluation-builtins.d.ts.map +1 -1
- package/dist/rules/simulator/evaluation-builtins.js +33 -8
- package/dist/rules/simulator/evaluation-builtins.js.map +1 -1
- package/dist/rules/simulator/evaluation-context.d.ts +12 -0
- package/dist/rules/simulator/evaluation-context.d.ts.map +1 -1
- package/dist/rules/simulator/evaluator.d.ts +1 -1
- package/dist/rules/simulator/evaluator.d.ts.map +1 -1
- package/dist/rules/simulator/evaluator.js +16 -4
- package/dist/rules/simulator/evaluator.js.map +1 -1
- package/dist/rules/simulator/handler.d.ts.map +1 -1
- package/dist/rules/simulator/handler.js +52 -5
- package/dist/rules/simulator/handler.js.map +1 -1
- package/dist/rules/simulator/lookup-budget.d.ts +37 -0
- package/dist/rules/simulator/lookup-budget.d.ts.map +1 -0
- package/dist/rules/simulator/lookup-budget.js +96 -0
- package/dist/rules/simulator/lookup-budget.js.map +1 -0
- package/dist/rules/stdlib-modules.d.ts +7 -0
- package/dist/rules/stdlib-modules.d.ts.map +1 -1
- package/dist/rules/stdlib-modules.js +11 -11
- package/dist/rules/stdlib-modules.js.map +1 -1
- package/dist/sandbox/admin-firestore/get-firestore.d.ts +6 -0
- package/dist/sandbox/admin-firestore/get-firestore.d.ts.map +1 -1
- package/dist/sandbox/admin-firestore/get-firestore.js +22 -3
- package/dist/sandbox/admin-firestore/get-firestore.js.map +1 -1
- package/dist/sandbox/index.d.ts +1 -1
- package/dist/sandbox/index.d.ts.map +1 -1
- package/dist/sandbox/index.js +1 -1
- package/dist/sandbox/index.js.map +1 -1
- package/dist/sandbox/persistence/types.d.ts +1 -1
- package/dist/sandbox/remote.d.ts +2 -2
- package/dist/sandbox/sandbox-context.d.ts +8 -1
- package/dist/sandbox/sandbox-context.d.ts.map +1 -1
- package/dist/sandbox/sandbox-context.js +59 -8
- package/dist/sandbox/sandbox-context.js.map +1 -1
- package/dist/sandbox/types/auth-state.d.ts +1 -0
- package/dist/sandbox/types/auth-state.d.ts.map +1 -1
- package/dist/sandbox/types/events.d.ts +2 -1
- package/dist/sandbox/types/events.d.ts.map +1 -1
- package/dist/sandbox/types/operation.d.ts +1 -0
- package/dist/sandbox/types/operation.d.ts.map +1 -1
- package/dist/storage/enforce.d.ts +20 -1
- package/dist/storage/enforce.d.ts.map +1 -1
- package/dist/storage/enforce.js +47 -14
- package/dist/storage/enforce.js.map +1 -1
- package/dist/storage/index.d.ts +1 -1
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/list.js +1 -1
- package/dist/storage/list.js.map +1 -1
- package/dist/storage/sandbox/rules-evaluation-error.d.ts +25 -0
- package/dist/storage/sandbox/rules-evaluation-error.d.ts.map +1 -1
- package/dist/storage/sandbox/rules-evaluation-error.js +29 -0
- package/dist/storage/sandbox/rules-evaluation-error.js.map +1 -1
- package/dist/storage/sandbox/rules-evaluator.d.ts +10 -5
- package/dist/storage/sandbox/rules-evaluator.d.ts.map +1 -1
- package/dist/storage/sandbox/rules-evaluator.js +105 -33
- package/dist/storage/sandbox/rules-evaluator.js.map +1 -1
- package/dist/storage/sandbox/rules-methods.d.ts.map +1 -1
- package/dist/storage/sandbox/rules-methods.js +17 -7
- package/dist/storage/sandbox/rules-methods.js.map +1 -1
- package/dist/storage/service.d.ts +23 -2
- package/dist/storage/service.d.ts.map +1 -1
- package/dist/storage/service.js +36 -26
- package/dist/storage/service.js.map +1 -1
- package/package.json +41 -1
- package/src/ai/blocked.ts +97 -0
- package/src/ai/broker/broker.ts +88 -0
- package/src/ai/broker/gemini-engine.ts +36 -9
- package/src/ai/broker/index.ts +2 -1
- package/src/ai/broker/openai-engine.ts +31 -3
- package/src/ai/broker/synthesizer.ts +34 -0
- package/src/ai/broker/types.ts +25 -0
- package/src/ai/internal.ts +5 -0
- package/src/ai/response-helpers.ts +6 -25
- package/src/analytics/index.ts +53 -0
- package/src/app/dispatch.test.ts +3 -1
- package/src/app-check/index.ts +41 -0
- package/src/database/controls.ts +1 -1
- package/src/database/sandbox/rules-eval.ts +2 -2
- package/src/database/sandbox/write-plane.ts +2 -2
- package/src/database/sandbox-controls.ts +29 -9
- package/src/deferred/entry.ts +167 -0
- package/src/firestore/lite.ts +91 -0
- package/src/firestore/persistence.ts +2 -2
- package/src/functions/index.ts +38 -0
- package/src/performance/index.ts +31 -0
- package/src/remote-config/index.ts +53 -0
- package/src/rules/grammar/FirestoreValidator.ts +44 -28
- package/src/rules/grammar/document-access-count.ts +75 -0
- package/src/rules/linter/ast-utils.ts +2 -36
- package/src/rules/linter/hallucinations.ts +123 -25
- package/src/rules/linter/linter.ts +32 -10
- package/src/rules/rtdb/grammar/simulator.ts +12 -13
- package/src/rules/rtdb/simulation/handler.ts +149 -46
- package/src/rules/simulator/document-lookups.ts +46 -3
- package/src/rules/simulator/eval-error.ts +16 -0
- package/src/rules/simulator/evaluation-builtins.ts +35 -8
- package/src/rules/simulator/evaluation-context.ts +12 -0
- package/src/rules/simulator/evaluator.ts +14 -3
- package/src/rules/simulator/handler.ts +68 -4
- package/src/rules/simulator/lookup-budget.ts +101 -0
- package/src/rules/stdlib-modules.ts +19 -11
- package/src/sandbox/admin-firestore/get-firestore.ts +19 -3
- package/src/sandbox/index.ts +5 -1
- package/src/sandbox/persistence/types.ts +1 -1
- package/src/sandbox/remote.ts +2 -2
- package/src/sandbox/sandbox-context.ts +69 -9
- package/src/sandbox/types/auth-state.ts +1 -1
- package/src/sandbox/types/events.ts +2 -1
- package/src/sandbox/types/operation.ts +1 -1
- package/src/storage/enforce.ts +53 -14
- package/src/storage/index.ts +1 -1
- package/src/storage/list.ts +1 -1
- package/src/storage/sandbox/rules-evaluation-error.ts +32 -0
- package/src/storage/sandbox/rules-evaluator.ts +109 -32
- package/src/storage/sandbox/rules-methods.ts +21 -7
- package/src/storage/service.ts +92 -27
|
@@ -66,7 +66,14 @@ const HALLUCINATED_GLOBALS = {
|
|
|
66
66
|
Promise: 'Rules are synchronous — no Promise support',
|
|
67
67
|
undefined: '`undefined` does not exist in rules — use `null`',
|
|
68
68
|
};
|
|
69
|
-
|
|
69
|
+
/**
|
|
70
|
+
* The math-namespace functions production Firestore actually compiles.
|
|
71
|
+
* Notably ABSENT: `isInfinite`. Reference docs list it, but production
|
|
72
|
+
* rejects it at compile (`Function not found error: Name: [math.isInfinite]`).
|
|
73
|
+
* Exported so the stdlib-modules drift test can assert the documented
|
|
74
|
+
* catalog never re-grows a name this validator rejects.
|
|
75
|
+
*/
|
|
76
|
+
export const VALID_MATH_METHODS = new Set(['abs', 'ceil', 'floor', 'round', 'sqrt', 'pow', 'isNaN']);
|
|
70
77
|
const WRONG_CONTEXT_PATHS = [
|
|
71
78
|
{ receiver: 'request', property: 'data',
|
|
72
79
|
suggestion: 'Use `request.resource.data` (the incoming write payload)' },
|
|
@@ -83,6 +90,20 @@ const WRONG_CONTEXT_PATHS = [
|
|
|
83
90
|
{ receiver: 'resource', property: 'id',
|
|
84
91
|
suggestion: '`resource.id` is not available — capture the document id with `/{docId}` in the match path' },
|
|
85
92
|
];
|
|
93
|
+
/**
|
|
94
|
+
* Auth-token claims that are typed BOOL in production. Comparing one
|
|
95
|
+
* against a STRING literal compiles fine (CEL is dynamically typed) but
|
|
96
|
+
* the comparison is cross-type, so `== "true"` is always false and
|
|
97
|
+
* `!= "true"` is always true, and the latter silently opens the rule.
|
|
98
|
+
* WRONG_CONTEXT_PATHS can't express this: it matches `receiver.property`
|
|
99
|
+
* at depth 2, while token claims live at `request.auth.token.<claim>`
|
|
100
|
+
* and the bug is in the *comparison*, not the path itself.
|
|
101
|
+
*
|
|
102
|
+
* Only claims verifiably typed bool belong here. `email_verified` is the
|
|
103
|
+
* documented one (`request.auth.token.email_verified: bool`).
|
|
104
|
+
* `firebase.sign_in_provider` is a string, so it is deliberately NOT listed.
|
|
105
|
+
*/
|
|
106
|
+
const BOOL_TOKEN_CLAIMS = new Set(['email_verified']);
|
|
86
107
|
/**
|
|
87
108
|
* Built-in CEL methods that, when accessed without parentheses, are
|
|
88
109
|
* almost certainly a missing-call mistake. Restricted to a small
|
|
@@ -135,61 +156,71 @@ export function checkSyntaxHints(source) {
|
|
|
135
156
|
}
|
|
136
157
|
return warnings;
|
|
137
158
|
}
|
|
138
|
-
|
|
159
|
+
/**
|
|
160
|
+
* Visit every expression in the match tree, carrying the set of
|
|
161
|
+
* user-defined function names visible where the expression sits. Scope
|
|
162
|
+
* accumulates outward-in: a block sees its own declarations plus every
|
|
163
|
+
* enclosing scope's, which is the resolution order the simulator
|
|
164
|
+
* implements in `simulator/match-resolution.ts`.
|
|
165
|
+
*/
|
|
166
|
+
function walkAllExpressions(match, inheritedScope, visit) {
|
|
139
167
|
const path = match.path.raw;
|
|
168
|
+
const scope = new Set(inheritedScope);
|
|
169
|
+
for (const fn of match.functions)
|
|
170
|
+
scope.add(fn.name);
|
|
140
171
|
for (const fn of match.functions) {
|
|
141
172
|
const loc = { matchPath: path, functionName: fn.name };
|
|
142
|
-
walkExpr(fn.body, loc, visit);
|
|
173
|
+
walkExpr(fn.body, loc, scope, visit);
|
|
143
174
|
for (const b of fn.lets)
|
|
144
|
-
walkExpr(b.value, loc, visit);
|
|
175
|
+
walkExpr(b.value, loc, scope, visit);
|
|
145
176
|
}
|
|
146
177
|
for (let i = 0; i < match.allows.length; i++) {
|
|
147
|
-
walkExpr(match.allows[i].condition, { matchPath: path, ruleIndex: i }, visit);
|
|
178
|
+
walkExpr(match.allows[i].condition, { matchPath: path, ruleIndex: i }, scope, visit);
|
|
148
179
|
}
|
|
149
180
|
for (const child of match.children)
|
|
150
|
-
walkAllExpressions(child, visit);
|
|
181
|
+
walkAllExpressions(child, scope, visit);
|
|
151
182
|
}
|
|
152
|
-
function walkExpr(expr, loc, visit) {
|
|
153
|
-
visit(expr, loc);
|
|
183
|
+
function walkExpr(expr, loc, scope, visit) {
|
|
184
|
+
visit(expr, loc, scope);
|
|
154
185
|
switch (expr.type) {
|
|
155
186
|
case 'binaryOp':
|
|
156
|
-
walkExpr(expr.left, loc, visit);
|
|
157
|
-
walkExpr(expr.right, loc, visit);
|
|
187
|
+
walkExpr(expr.left, loc, scope, visit);
|
|
188
|
+
walkExpr(expr.right, loc, scope, visit);
|
|
158
189
|
break;
|
|
159
190
|
case 'unaryOp':
|
|
160
|
-
walkExpr(expr.operand, loc, visit);
|
|
191
|
+
walkExpr(expr.operand, loc, scope, visit);
|
|
161
192
|
break;
|
|
162
193
|
case 'methodCall':
|
|
163
|
-
walkExpr(expr.object, loc, visit);
|
|
164
|
-
expr.args.forEach(a => walkExpr(a, loc, visit));
|
|
194
|
+
walkExpr(expr.object, loc, scope, visit);
|
|
195
|
+
expr.args.forEach(a => walkExpr(a, loc, scope, visit));
|
|
165
196
|
break;
|
|
166
197
|
case 'memberAccess':
|
|
167
|
-
walkExpr(expr.object, loc, visit);
|
|
198
|
+
walkExpr(expr.object, loc, scope, visit);
|
|
168
199
|
break;
|
|
169
200
|
case 'bracketAccess':
|
|
170
|
-
walkExpr(expr.object, loc, visit);
|
|
171
|
-
walkExpr(expr.index, loc, visit);
|
|
201
|
+
walkExpr(expr.object, loc, scope, visit);
|
|
202
|
+
walkExpr(expr.index, loc, scope, visit);
|
|
172
203
|
break;
|
|
173
204
|
case 'ternary':
|
|
174
|
-
walkExpr(expr.condition, loc, visit);
|
|
175
|
-
walkExpr(expr.consequent, loc, visit);
|
|
176
|
-
walkExpr(expr.alternate, loc, visit);
|
|
205
|
+
walkExpr(expr.condition, loc, scope, visit);
|
|
206
|
+
walkExpr(expr.consequent, loc, scope, visit);
|
|
207
|
+
walkExpr(expr.alternate, loc, scope, visit);
|
|
177
208
|
break;
|
|
178
209
|
case 'inExpr':
|
|
179
|
-
walkExpr(expr.element, loc, visit);
|
|
180
|
-
walkExpr(expr.collection, loc, visit);
|
|
210
|
+
walkExpr(expr.element, loc, scope, visit);
|
|
211
|
+
walkExpr(expr.collection, loc, scope, visit);
|
|
181
212
|
break;
|
|
182
213
|
case 'isExpr':
|
|
183
|
-
walkExpr(expr.value, loc, visit);
|
|
214
|
+
walkExpr(expr.value, loc, scope, visit);
|
|
184
215
|
break;
|
|
185
216
|
case 'listLiteral':
|
|
186
|
-
expr.elements.forEach(e => walkExpr(e, loc, visit));
|
|
217
|
+
expr.elements.forEach(e => walkExpr(e, loc, scope, visit));
|
|
187
218
|
break;
|
|
188
219
|
case 'mapLiteral':
|
|
189
|
-
expr.entries.forEach(en => { walkExpr(en.key, loc, visit); walkExpr(en.value, loc, visit); });
|
|
220
|
+
expr.entries.forEach(en => { walkExpr(en.key, loc, scope, visit); walkExpr(en.value, loc, scope, visit); });
|
|
190
221
|
break;
|
|
191
222
|
case 'functionCall':
|
|
192
|
-
expr.args.forEach(a => walkExpr(a, loc, visit));
|
|
223
|
+
expr.args.forEach(a => walkExpr(a, loc, scope, visit));
|
|
193
224
|
break;
|
|
194
225
|
}
|
|
195
226
|
}
|
|
@@ -200,10 +231,16 @@ function walkExpr(expr, loc, visit) {
|
|
|
200
231
|
* distinct (rule, key, location) tuple — duplicate identical patterns
|
|
201
232
|
* within the same rule are de-duplicated.
|
|
202
233
|
*/
|
|
203
|
-
|
|
234
|
+
/**
|
|
235
|
+
* A `debug(...)` call that resolves to NOTHING. Production has no built-in
|
|
236
|
+
* `debug`, but a ruleset is free to declare `function debug(v) { ... }`, and
|
|
237
|
+
* that call resolves and evaluates like any other user function, so only an
|
|
238
|
+
* unresolved call is a finding.
|
|
239
|
+
*/
|
|
240
|
+
function isUnresolvedDebugCall(expr, scope, allowDebug) {
|
|
204
241
|
if (allowDebug)
|
|
205
242
|
return false;
|
|
206
|
-
return expr.type === 'functionCall' && expr.name === 'debug';
|
|
243
|
+
return expr.type === 'functionCall' && expr.name === 'debug' && !scope.has('debug');
|
|
207
244
|
}
|
|
208
245
|
function isHallucinatedMethodCall(expr) {
|
|
209
246
|
return expr.type === 'methodCall' && Boolean(HALLUCINATED_METHODS[expr.method]);
|
|
@@ -244,6 +281,37 @@ function isWrongContextPath(expr) {
|
|
|
244
281
|
const prop = expr.property;
|
|
245
282
|
return WRONG_CONTEXT_PATHS.find(p => p.receiver === recv && p.property === prop);
|
|
246
283
|
}
|
|
284
|
+
/** Is `expr` a member access spelling exactly `request.auth.token.<claim>`
|
|
285
|
+
* for a claim in BOOL_TOKEN_CLAIMS? */
|
|
286
|
+
function boolTokenClaimName(expr) {
|
|
287
|
+
if (expr.type !== 'memberAccess' || !BOOL_TOKEN_CLAIMS.has(expr.property))
|
|
288
|
+
return undefined;
|
|
289
|
+
const token = expr.object;
|
|
290
|
+
if (token.type !== 'memberAccess' || token.property !== 'token')
|
|
291
|
+
return undefined;
|
|
292
|
+
const auth = token.object;
|
|
293
|
+
if (auth.type !== 'memberAccess' || auth.property !== 'auth')
|
|
294
|
+
return undefined;
|
|
295
|
+
return auth.object.type === 'identifier' && auth.object.name === 'request'
|
|
296
|
+
? expr.property
|
|
297
|
+
: undefined;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* `request.auth.token.email_verified == "true"` (or `!=`, either operand
|
|
301
|
+
* order). The claim is a bool; a string literal can never equal it, so the
|
|
302
|
+
* comparison is a constant: `==` always denies, `!=` always allows.
|
|
303
|
+
*/
|
|
304
|
+
function boolTokenClaimStringComparison(expr) {
|
|
305
|
+
if (expr.type !== 'binaryOp' || (expr.op !== '==' && expr.op !== '!='))
|
|
306
|
+
return undefined;
|
|
307
|
+
for (const [side, other] of [[expr.left, expr.right], [expr.right, expr.left]]) {
|
|
308
|
+
const claim = boolTokenClaimName(side);
|
|
309
|
+
if (claim && other.type === 'literal' && typeof other.value === 'string') {
|
|
310
|
+
return { claim, op: expr.op, literal: other.value };
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
return undefined;
|
|
314
|
+
}
|
|
247
315
|
function isLengthPropertyAccessOnMethod(expr) {
|
|
248
316
|
return expr.type === 'memberAccess' && expr.property === 'length' && expr.object.type === 'methodCall';
|
|
249
317
|
}
|
|
@@ -267,14 +335,23 @@ export function checkHallucinations(ast, options = {}) {
|
|
|
267
335
|
seen.add(dedup);
|
|
268
336
|
warnings.push(w);
|
|
269
337
|
}
|
|
270
|
-
|
|
271
|
-
|
|
338
|
+
// Functions declared above `service` and directly inside it are visible
|
|
339
|
+
// everywhere below, so they seed the scope the walk carries down.
|
|
340
|
+
const outerScope = new Set();
|
|
341
|
+
for (const fn of ast.functions ?? [])
|
|
342
|
+
outerScope.add(fn.name);
|
|
343
|
+
for (const fn of ast.service.functions ?? [])
|
|
344
|
+
outerScope.add(fn.name);
|
|
345
|
+
walkAllExpressions(ast.service.match, outerScope, (expr, loc, scope) => {
|
|
346
|
+
if (isUnresolvedDebugCall(expr, scope, options.allowDebug)) {
|
|
272
347
|
emit('HALLUCINATED_GLOBAL', 'debug', loc, {
|
|
273
348
|
rule: 'HALLUCINATED_GLOBAL',
|
|
274
349
|
severity: 'error',
|
|
275
|
-
message: '`debug()`
|
|
350
|
+
message: '`debug()` is not a Firestore rules function and no function named `debug` is declared in scope. '
|
|
351
|
+
+ 'Production rejects the whole ruleset at compile time with '
|
|
352
|
+
+ '`Function not found error: Name: [debug]`, so nothing in the file deploys.',
|
|
276
353
|
location: loc,
|
|
277
|
-
fix: 'Remove debug()
|
|
354
|
+
fix: 'Remove the debug() call and evaluate the inner expression directly.',
|
|
278
355
|
});
|
|
279
356
|
}
|
|
280
357
|
if (isHallucinatedMethodCall(expr)) {
|
|
@@ -358,6 +435,19 @@ export function checkHallucinations(ast, options = {}) {
|
|
|
358
435
|
});
|
|
359
436
|
}
|
|
360
437
|
}
|
|
438
|
+
const boolClaim = boolTokenClaimStringComparison(expr);
|
|
439
|
+
if (boolClaim) {
|
|
440
|
+
const { claim, op, literal } = boolClaim;
|
|
441
|
+
emit('BOOL_TOKEN_CLAIM', `${claim}|${op}|${literal}`, loc, {
|
|
442
|
+
rule: 'BOOL_TOKEN_CLAIM',
|
|
443
|
+
severity: 'error',
|
|
444
|
+
message: `\`request.auth.token.${claim}\` is a bool, but it is compared against the string ` +
|
|
445
|
+
`"${literal}", a cross-type comparison that is always ${op === '==' ? 'false (rule always denies)' : 'true (rule silently allows)'}. ` +
|
|
446
|
+
`Compare against the boolean literal instead: \`request.auth.token.${claim} ${op} true\`.`,
|
|
447
|
+
location: loc,
|
|
448
|
+
fix: `Drop the quotes: \`request.auth.token.${claim} ${op} ${literal === 'false' ? 'false' : 'true'}\`.`,
|
|
449
|
+
});
|
|
450
|
+
}
|
|
361
451
|
if (isLengthPropertyAccessOnMethod(expr)) {
|
|
362
452
|
emit('LENGTH_PROPERTY', '', loc, {
|
|
363
453
|
rule: 'LENGTH_PROPERTY',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hallucinations.js","sourceRoot":"","sources":["../../../src/rules/linter/hallucinations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hallucinations.js","sourceRoot":"","sources":["../../../src/rules/linter/hallucinations.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,7 +67,16 @@ export interface LintOptions {
|
|
|
67
67
|
* block linting of a valid current ruleset.
|
|
68
68
|
*/
|
|
69
69
|
previousSource?: string;
|
|
70
|
-
/**
|
|
70
|
+
/**
|
|
71
|
+
* Set to true ONLY when linting a scratch ruleset that will never be
|
|
72
|
+
* deployed and an unresolved `debug()` call should be tolerated.
|
|
73
|
+
* Production Firestore rejects a ruleset that calls `debug()` at compile
|
|
74
|
+
* time (`Function not found error: Name: [debug]`), so the linter rejects
|
|
75
|
+
* it by default, including when `testCases` is supplied. A ruleset that
|
|
76
|
+
* declares its own `function debug(...)` is never flagged, with or
|
|
77
|
+
* without this flag. This flag is an explicit caller choice; it is never
|
|
78
|
+
* inferred from other options.
|
|
79
|
+
*/
|
|
71
80
|
allowDebug?: boolean;
|
|
72
81
|
}
|
|
73
82
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../../src/rules/linter/linter.ts"],"names":[],"mappings":"AAUA,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAoBhD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;4FACoF;QACpF,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../../src/rules/linter/linter.ts"],"names":[],"mappings":"AAUA,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAoBhD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;4FACoF;QACpF,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAoqBD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,UAAU,CA+HxF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { parseToASTOrError } from '../grammar/FirestoreParser.js';
|
|
2
|
-
import { maxChainDepth, deepestChain, countExpressionNodes, expressionFingerprint, extractFirstExpression, buildCallGraph, maxCallDepth,
|
|
2
|
+
import { maxChainDepth, deepestChain, countExpressionNodes, expressionFingerprint, extractFirstExpression, buildCallGraph, maxCallDepth, countFunctionCallSites, functionContainsGet, referencesRequestTime, collectAllFunctions, collectAllRules, } from './ast-utils.js';
|
|
3
3
|
import { checkSyntaxHints, checkHallucinations } from './hallucinations.js';
|
|
4
|
+
import { countDocumentAccessCalls } from '../grammar/document-access-count.js';
|
|
4
5
|
// ═══ Thresholds (from production verification) ═══
|
|
5
6
|
const THRESHOLDS = {
|
|
6
7
|
SOURCE_SIZE: 256 * 1024, // 256 KB — exact, verified
|
|
@@ -17,7 +18,11 @@ const THRESHOLDS = {
|
|
|
17
18
|
CALL_DEPTH_WARN: 6,
|
|
18
19
|
CALL_DEPTH_ERROR: 10,
|
|
19
20
|
GET_COUNT_WARN: 5,
|
|
20
|
-
|
|
21
|
+
// Production allows EXACTLY 10 document access calls per request
|
|
22
|
+
// evaluation; the 11th fails (site-docs secure/firestore-rules-limits.md).
|
|
23
|
+
// Error fires strictly ABOVE this value, the same boundary as SEM-3 and
|
|
24
|
+
// the simulator's runtime LookupBudget.
|
|
25
|
+
GET_COUNT_ERROR: 10,
|
|
21
26
|
};
|
|
22
27
|
// ═══ Lint Rules ═══
|
|
23
28
|
function checkSourceSize(source, warnings) {
|
|
@@ -298,12 +303,14 @@ function checkGetCount(rules, allFunctions, warnings) {
|
|
|
298
303
|
for (const fn of allFunctions)
|
|
299
304
|
fnMap.set(fn.name, fn);
|
|
300
305
|
for (let i = 0; i < rules.length; i++) {
|
|
301
|
-
const count =
|
|
302
|
-
|
|
306
|
+
const count = countDocumentAccessCalls(rules[i].rule.condition, fnMap);
|
|
307
|
+
// Error only ABOVE the limit: production allows exactly 10 and fails
|
|
308
|
+
// the 11th, so a rule at exactly 10 is legal (still worth the WARN).
|
|
309
|
+
if (count > THRESHOLDS.GET_COUNT_ERROR) {
|
|
303
310
|
warnings.push({
|
|
304
311
|
rule: 'GET_COUNT',
|
|
305
312
|
severity: 'error',
|
|
306
|
-
message: `Rule #${i} may invoke ${count} get()/exists() calls. Limit is ${THRESHOLDS.GET_COUNT_ERROR}.`,
|
|
313
|
+
message: `Rule #${i} may invoke ${count} get()/exists()/getAfter()/existsAfter() calls. Limit is ${THRESHOLDS.GET_COUNT_ERROR}.`,
|
|
307
314
|
location: { ruleIndex: i },
|
|
308
315
|
fix: 'Cache get() results via a config() wrapper function. Same-path calls are cached by Firestore.',
|
|
309
316
|
});
|
|
@@ -312,7 +319,7 @@ function checkGetCount(rules, allFunctions, warnings) {
|
|
|
312
319
|
warnings.push({
|
|
313
320
|
rule: 'GET_COUNT',
|
|
314
321
|
severity: 'warning',
|
|
315
|
-
message: `Rule #${i} invokes ${count} get()/exists() calls. Limit is ${THRESHOLDS.GET_COUNT_ERROR}.`,
|
|
322
|
+
message: `Rule #${i} invokes ${count} get()/exists()/getAfter()/existsAfter() calls. Limit is ${THRESHOLDS.GET_COUNT_ERROR}.`,
|
|
316
323
|
location: { ruleIndex: i },
|
|
317
324
|
});
|
|
318
325
|
}
|
|
@@ -714,8 +721,15 @@ export function lintFirestoreRules(source, options = {}) {
|
|
|
714
721
|
checkGetCount(allRules, allFunctions, warnings);
|
|
715
722
|
// Rule 8: Get duplication (same get()-containing function called multiple times)
|
|
716
723
|
checkGetDuplication(allRules, allFunctions, warnings);
|
|
717
|
-
// Rule 9: Hallucinations
|
|
718
|
-
|
|
724
|
+
// Rule 9: Hallucinations, JS-style code that parses but fails at runtime.
|
|
725
|
+
// `allowDebug` is an EXPLICIT caller opt-in only. It used to be implied by
|
|
726
|
+
// a non-empty `testCases` array, which silently disabled the debug()
|
|
727
|
+
// rejection in any lint run that also carried a test suite, exactly the
|
|
728
|
+
// authoring path that feeds the write gate. Production rejects debug() at
|
|
729
|
+
// compile time (`Function not found error: Name: [debug]`), so the default
|
|
730
|
+
// must reject; a caller linting a ruleset that will never deploy can still
|
|
731
|
+
// pass `allowDebug: true`.
|
|
732
|
+
warnings.push(...checkHallucinations(ast, { allowDebug: options.allowDebug }));
|
|
719
733
|
// Rule 9.5: Always-true predicates and recursive-wildcard open rules.
|
|
720
734
|
// Severity: error so deployRules refuses to swap. The agent's #1
|
|
721
735
|
// failure mode in the playground was escaping denials with `if true`.
|
|
@@ -760,7 +774,7 @@ export function lintFirestoreRules(source, options = {}) {
|
|
|
760
774
|
let maxExprs = 0;
|
|
761
775
|
let maxGets = 0;
|
|
762
776
|
for (const r of allRules) {
|
|
763
|
-
const gets =
|
|
777
|
+
const gets = countDocumentAccessCalls(r.rule.condition, fnMap);
|
|
764
778
|
if (gets > maxGets)
|
|
765
779
|
maxGets = gets;
|
|
766
780
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linter.js","sourceRoot":"","sources":["../../../src/rules/linter/linter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"linter.js","sourceRoot":"","sources":["../../../src/rules/linter/linter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../../../src/rules/rtdb/grammar/simulator.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAgDD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAU;gBAEX,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,MAAY,EAAE,IAAI,CAAC,EAAE,OAAO;IAM9D,GAAG,IAAI,OAAO;IAId,MAAM,IAAI,OAAO;IAIjB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO;IAc/C,QAAQ,IAAI,OAAO;IAInB,QAAQ,IAAI,OAAO;IAInB,SAAS,IAAI,OAAO;IAIpB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;
|
|
1
|
+
{"version":3,"file":"simulator.d.ts","sourceRoot":"","sources":["../../../../src/rules/rtdb/grammar/simulator.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAgDD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAU;gBAEX,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,MAAY,EAAE,IAAI,CAAC,EAAE,OAAO;IAM9D,GAAG,IAAI,OAAO;IAId,MAAM,IAAI,OAAO;IAIjB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO;IAc/C,QAAQ,IAAI,OAAO;IAInB,QAAQ,IAAI,OAAO;IAInB,SAAS,IAAI,OAAO;IAIpB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;IAoBjC,MAAM,IAAI,YAAY,GAAG,IAAI;IAW7B,WAAW,IAAI,IAAI;CAGpB;AAiND,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAO7E"}
|
|
@@ -105,21 +105,21 @@ export class DataSnapshot {
|
|
|
105
105
|
}
|
|
106
106
|
child(path) {
|
|
107
107
|
const parts = path.split('/').filter(p => p.length > 0);
|
|
108
|
+
if (parts.length === 0)
|
|
109
|
+
return this;
|
|
108
110
|
let current = this._value;
|
|
109
|
-
let currentPath = this._path;
|
|
110
111
|
for (const part of parts) {
|
|
111
|
-
if (current
|
|
112
|
+
if (current !== null && current !== undefined && typeof current === 'object') {
|
|
113
|
+
current = Object.hasOwn(current, part)
|
|
114
|
+
? (current[part] ?? null)
|
|
115
|
+
: null;
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
112
118
|
current = null;
|
|
113
|
-
currentPath = `${currentPath}/${part}`.replace(/\/+/g, '/');
|
|
114
|
-
break;
|
|
115
119
|
}
|
|
116
|
-
// Own-property access only: a `__proto__`/`constructor` child must
|
|
117
|
-
// not resolve to the JS prototype chain.
|
|
118
|
-
current = Object.hasOwn(current, part)
|
|
119
|
-
? (current[part] ?? null)
|
|
120
|
-
: null;
|
|
121
|
-
currentPath = `${currentPath === '/' ? '' : currentPath}/${part}`;
|
|
122
120
|
}
|
|
121
|
+
const prefix = this._path === '/' ? '' : this._path;
|
|
122
|
+
const currentPath = `${prefix}/${parts.join('/')}`;
|
|
123
123
|
return new DataSnapshot(current, currentPath, this._root);
|
|
124
124
|
}
|
|
125
125
|
parent() {
|
|
@@ -127,10 +127,10 @@ export class DataSnapshot {
|
|
|
127
127
|
return null;
|
|
128
128
|
const parts = this._path.split('/').filter(p => p.length > 0);
|
|
129
129
|
parts.pop();
|
|
130
|
-
|
|
130
|
+
if (parts.length === 0) {
|
|
131
|
+
return new DataSnapshot(this._root, '/');
|
|
132
|
+
}
|
|
131
133
|
const rootSnap = new DataSnapshot(this._root, '/');
|
|
132
|
-
if (parentPath === '/')
|
|
133
|
-
return rootSnap;
|
|
134
134
|
return rootSnap.child(parts.join('/'));
|
|
135
135
|
}
|
|
136
136
|
getPriority() {
|