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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enforce.js","sourceRoot":"","sources":["../../src/storage/enforce.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"enforce.js","sourceRoot":"","sources":["../../src/storage/enforce.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/index.d.ts
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* unimplemented Firebase APIs is owned by the conformance surface contract.
|
|
22
22
|
*/
|
|
23
23
|
export { getStorageSandbox, TARGET_SYMBOL } from './service.js';
|
|
24
|
-
export type { FirebaseStorage, StorageOptions, Target, SandboxTarget } from './service.js';
|
|
24
|
+
export type { CrossServiceIam, FirebaseStorage, StorageOptions, Target, SandboxTarget } from './service.js';
|
|
25
25
|
export { getStorage, connectStorageEmulator } from './instances.js';
|
|
26
26
|
export { StorageError } from './errors.js';
|
|
27
27
|
export type { StorageErrorCode } from './errors.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAChE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAChE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC5G,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3F,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACrE,YAAY,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AAOpB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
|
package/dist/storage/list.js
CHANGED
|
@@ -40,7 +40,7 @@ export async function listAll(refIn) {
|
|
|
40
40
|
// requires `read` on the scanned ref's path. Prefixes have no
|
|
41
41
|
// backing object, so `resource` is null (a list of an unauthorized
|
|
42
42
|
// tree throws `storage/unauthorized`, same as a denied read). When
|
|
43
|
-
// no rules are configured
|
|
43
|
+
// no rules are configured, enforcement fails closed.
|
|
44
44
|
enforceRules(service, {
|
|
45
45
|
request: {
|
|
46
46
|
auth: storageAuth(target),
|
package/dist/storage/list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/storage/list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,GAAG,EAAyB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAa5C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAuB;IACnD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACjD,gEAAgE;IAChE,mEAAmE;IACnE,8DAA8D;IAC9D,mEAAmE;IACnE,mEAAmE;IACnE,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/storage/list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,GAAG,EAAyB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAa5C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAuB;IACnD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACjD,gEAAgE;IAChE,mEAAmE;IACnE,8DAA8D;IAC9D,mEAAmE;IACnE,mEAAmE;IACnE,qDAAqD;IACrD,YAAY,CAAC,OAAO,EAAE;QACpB,OAAO,EAAE;YACP,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;YACzB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK,CAAC,QAAQ;SACrB;QACD,QAAQ,EAAE,IAAI;KACf,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC;IACrE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,SAAS,CAAC,YAAY;QAC/D,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,QAAQ,KAAK,EAAE;YAAE,SAAS;QAE9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YACpB,qBAAqB;YACrB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,GAAG,UAAU,GAAG,UAAU,EAAE,CAAC;YAChD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,oEAAoE;IACpE,SAAS;IACT,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1F,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -1,4 +1,29 @@
|
|
|
1
1
|
/** Fatal evaluator misuse caught at the allow boundary and converted to a deny. */
|
|
2
2
|
export declare class RuleEvalError extends Error {
|
|
3
3
|
}
|
|
4
|
+
/**
|
|
5
|
+
* A construct whose production verdict is unknowable locally: either
|
|
6
|
+
* production rejects the ruleset at deploy time (undefined function, wrong
|
|
7
|
+
* arity, unresolved import, unknown namespace method) or the simulator
|
|
8
|
+
* cannot model the construct at all. Its effect is EVALUATION-WIDE in
|
|
9
|
+
* production, where a determining `&&`/`||` operand cannot rescue it, so it is
|
|
10
|
+
* never absorbed and always fails closed.
|
|
11
|
+
*/
|
|
12
|
+
export declare class RuleUnsupportedError extends RuleEvalError {
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A resource-limit exhaustion (the two-document Firestore lookup cap, the
|
|
16
|
+
* max call depth). Production fails the WHOLE evaluation closed on these:
|
|
17
|
+
* they are not CEL error values, so commutative `&&`/`||` absorption must
|
|
18
|
+
* not turn one into an allow (same posture as the Firestore simulator's
|
|
19
|
+
* LookupBudgetError precedent).
|
|
20
|
+
*/
|
|
21
|
+
export declare class RuleResourceLimitError extends RuleEvalError {
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* True for the errors that CEL `&&`/`||` absorption may treat as an error
|
|
25
|
+
* VALUE at an operand boundary: genuine rule-evaluation failures, excluding
|
|
26
|
+
* the unsupported/compile-reject and resource-limit classes above.
|
|
27
|
+
*/
|
|
28
|
+
export declare function isAbsorbableEvalError(err: unknown): err is RuleEvalError;
|
|
4
29
|
//# sourceMappingURL=rules-evaluation-error.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules-evaluation-error.d.ts","sourceRoot":"","sources":["../../../src/storage/sandbox/rules-evaluation-error.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,qBAAa,aAAc,SAAQ,KAAK;CAAG"}
|
|
1
|
+
{"version":3,"file":"rules-evaluation-error.d.ts","sourceRoot":"","sources":["../../../src/storage/sandbox/rules-evaluation-error.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,qBAAa,aAAc,SAAQ,KAAK;CAAG;AAE3C;;;;;;;GAOG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;CAAG;AAE1D;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,aAAa;CAAG;AAE5D;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,aAAa,CAMxE"}
|
|
@@ -1,4 +1,33 @@
|
|
|
1
1
|
/** Fatal evaluator misuse caught at the allow boundary and converted to a deny. */
|
|
2
2
|
export class RuleEvalError extends Error {
|
|
3
3
|
}
|
|
4
|
+
/**
|
|
5
|
+
* A construct whose production verdict is unknowable locally: either
|
|
6
|
+
* production rejects the ruleset at deploy time (undefined function, wrong
|
|
7
|
+
* arity, unresolved import, unknown namespace method) or the simulator
|
|
8
|
+
* cannot model the construct at all. Its effect is EVALUATION-WIDE in
|
|
9
|
+
* production, where a determining `&&`/`||` operand cannot rescue it, so it is
|
|
10
|
+
* never absorbed and always fails closed.
|
|
11
|
+
*/
|
|
12
|
+
export class RuleUnsupportedError extends RuleEvalError {
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A resource-limit exhaustion (the two-document Firestore lookup cap, the
|
|
16
|
+
* max call depth). Production fails the WHOLE evaluation closed on these:
|
|
17
|
+
* they are not CEL error values, so commutative `&&`/`||` absorption must
|
|
18
|
+
* not turn one into an allow (same posture as the Firestore simulator's
|
|
19
|
+
* LookupBudgetError precedent).
|
|
20
|
+
*/
|
|
21
|
+
export class RuleResourceLimitError extends RuleEvalError {
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* True for the errors that CEL `&&`/`||` absorption may treat as an error
|
|
25
|
+
* VALUE at an operand boundary: genuine rule-evaluation failures, excluding
|
|
26
|
+
* the unsupported/compile-reject and resource-limit classes above.
|
|
27
|
+
*/
|
|
28
|
+
export function isAbsorbableEvalError(err) {
|
|
29
|
+
return (err instanceof RuleEvalError
|
|
30
|
+
&& !(err instanceof RuleUnsupportedError)
|
|
31
|
+
&& !(err instanceof RuleResourceLimitError));
|
|
32
|
+
}
|
|
4
33
|
//# sourceMappingURL=rules-evaluation-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules-evaluation-error.js","sourceRoot":"","sources":["../../../src/storage/sandbox/rules-evaluation-error.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,OAAO,aAAc,SAAQ,KAAK;CAAG"}
|
|
1
|
+
{"version":3,"file":"rules-evaluation-error.js","sourceRoot":"","sources":["../../../src/storage/sandbox/rules-evaluation-error.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,OAAO,aAAc,SAAQ,KAAK;CAAG;AAE3C;;;;;;;GAOG;AACH,MAAM,OAAO,oBAAqB,SAAQ,aAAa;CAAG;AAE1D;;;;;;GAMG;AACH,MAAM,OAAO,sBAAuB,SAAQ,aAAa;CAAG;AAE5D;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,OAAO,CACL,GAAG,YAAY,aAAa;WACzB,CAAC,CAAC,GAAG,YAAY,oBAAoB,CAAC;WACtC,CAAC,CAAC,GAAG,YAAY,sBAAsB,CAAC,CAC5C,CAAC;AACJ,CAAC"}
|
|
@@ -24,12 +24,17 @@ export interface EvalCtx {
|
|
|
24
24
|
/**
|
|
25
25
|
* Walk an `Expr` against the bindings + path params. Missing bindings or
|
|
26
26
|
* members and invalid operations produce `RuleError` values. They propagate
|
|
27
|
-
* unless
|
|
28
|
-
*
|
|
29
|
-
*
|
|
27
|
+
* unless a `&&`/`||` operand that uniquely determines the result absorbs
|
|
28
|
+
* them COMMUTATIVELY, CEL-style (`<error> || true` → true, and
|
|
29
|
+
* `<error> && false` → false, see the binary case). Any `RuleError` that
|
|
30
|
+
* reaches an allow boundary denies with its production-shaped reason.
|
|
30
31
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
32
|
+
* Function-evaluation failures throw `RuleEvalError`; at a `&&`/`||`
|
|
33
|
+
* operand boundary the ABSORBABLE ones are converted to error values so
|
|
34
|
+
* they participate in the same absorption, while unsupported/compile-reject
|
|
35
|
+
* (`RuleUnsupportedError`) and resource-limit (`RuleResourceLimitError`)
|
|
36
|
+
* failures re-throw and fail the evaluation closed. The allow boundary
|
|
37
|
+
* catches whatever still throws and denies instead of falling through to a
|
|
33
38
|
* potentially truthy value.
|
|
34
39
|
*/
|
|
35
40
|
export declare function evalExpr(expr: Expr, ctx: EvalCtx): unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules-evaluator.d.ts","sourceRoot":"","sources":["../../../src/storage/sandbox/rules-evaluator.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,IAAI,EACT,KAAK,eAAe,EACpB,KAAK,WAAW,EAGhB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"rules-evaluator.d.ts","sourceRoot":"","sources":["../../../src/storage/sandbox/rules-evaluator.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,IAAI,EACT,KAAK,eAAe,EACpB,KAAK,WAAW,EAGhB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAkBpB,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,eAAe,EACtB,GAAG,GAAE,IAAiB,EACtB,eAAe,CAAC,EAAE,eAAe,GAChC,gBAAgB,CAoGlB;AAsCD,kDAAkD;AAClD,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,eAAe,CAAC;IACvB;8CAC0C;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ;sEACkE;IAClE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1C,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,iDAAiD;IACjD,KAAK,EAAE,WAAW,CAAC;IACnB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd;wEACoE;IACpE,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,wEAAwE;IACxE,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAChC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAiL1D"}
|
|
@@ -2,7 +2,7 @@ import { RulesFloat } from '../../rules/simulator/wrappers/float.js';
|
|
|
2
2
|
import { expandVerb, } from './rules.js';
|
|
3
3
|
import { evalMethodCall } from './rules-methods.js';
|
|
4
4
|
import { formatPath, matchSegments, splitPath } from './rules-path-match.js';
|
|
5
|
-
import { RuleEvalError } from './rules-evaluation-error.js';
|
|
5
|
+
import { RuleEvalError, RuleResourceLimitError, RuleUnsupportedError, isAbsorbableEvalError, } from './rules-evaluation-error.js';
|
|
6
6
|
import { RuleError, describeRulesType as describeType, isRuleError as isErr, isRulesMap, numericValue as numVal, rulesEquals, } from './rules-values.js';
|
|
7
7
|
export function evaluateStorageRules(rules, input, now = new Date(), firestoreLookup) {
|
|
8
8
|
// `request.time` is the request's evaluation moment, modeled internally
|
|
@@ -62,6 +62,10 @@ export function evaluateStorageRules(rules, input, now = new Date(), firestoreLo
|
|
|
62
62
|
reasons.push(`match ${formatPath(block.segments)} ${input.request.method}: ${value.message}`);
|
|
63
63
|
continue;
|
|
64
64
|
}
|
|
65
|
+
// Unverified: production's behavior for a non-boolean allow
|
|
66
|
+
// condition (a CEL type error there, rather than this truthiness
|
|
67
|
+
// coercion) has not been captured. The coercion stays as written
|
|
68
|
+
// until a production capture settles it.
|
|
65
69
|
result = truthy(value);
|
|
66
70
|
}
|
|
67
71
|
catch (err) {
|
|
@@ -130,12 +134,17 @@ const MAX_CALL_DEPTH = 20;
|
|
|
130
134
|
/**
|
|
131
135
|
* Walk an `Expr` against the bindings + path params. Missing bindings or
|
|
132
136
|
* members and invalid operations produce `RuleError` values. They propagate
|
|
133
|
-
* unless
|
|
134
|
-
*
|
|
135
|
-
*
|
|
137
|
+
* unless a `&&`/`||` operand that uniquely determines the result absorbs
|
|
138
|
+
* them COMMUTATIVELY, CEL-style (`<error> || true` → true, and
|
|
139
|
+
* `<error> && false` → false, see the binary case). Any `RuleError` that
|
|
140
|
+
* reaches an allow boundary denies with its production-shaped reason.
|
|
136
141
|
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
142
|
+
* Function-evaluation failures throw `RuleEvalError`; at a `&&`/`||`
|
|
143
|
+
* operand boundary the ABSORBABLE ones are converted to error values so
|
|
144
|
+
* they participate in the same absorption, while unsupported/compile-reject
|
|
145
|
+
* (`RuleUnsupportedError`) and resource-limit (`RuleResourceLimitError`)
|
|
146
|
+
* failures re-throw and fail the evaluation closed. The allow boundary
|
|
147
|
+
* catches whatever still throws and denies instead of falling through to a
|
|
139
148
|
* potentially truthy value.
|
|
140
149
|
*/
|
|
141
150
|
export function evalExpr(expr, ctx) {
|
|
@@ -188,12 +197,20 @@ export function evalExpr(expr, ctx) {
|
|
|
188
197
|
case 'path':
|
|
189
198
|
// A path literal is only meaningful as a `firestore.get()/exists()`
|
|
190
199
|
// argument (handled directly there). Reaching it anywhere else means
|
|
191
|
-
// the rule used it out of position
|
|
192
|
-
|
|
200
|
+
// the rule used it out of position, a compile-reject-class failure
|
|
201
|
+
// (never absorbed): deny rather than coerce.
|
|
202
|
+
throw new RuleUnsupportedError('a Firestore path literal is only valid as an argument to firestore.get()/exists()');
|
|
193
203
|
case 'unary': {
|
|
194
|
-
// An error survives negation (production: `!(resource.name == 'x')` with
|
|
195
|
-
// `name` absent DENIES). Propagate rather than flipping it to `true`.
|
|
196
204
|
const a = evalExpr(expr.arg, ctx);
|
|
205
|
+
if (expr.op === '!') {
|
|
206
|
+
if (isErr(a)) {
|
|
207
|
+
throw new RuleEvalError(a.message);
|
|
208
|
+
}
|
|
209
|
+
if (typeof a !== 'boolean') {
|
|
210
|
+
throw new RuleEvalError(`Unary '!' expects a boolean, got ${describeType(a)}.`);
|
|
211
|
+
}
|
|
212
|
+
return !a;
|
|
213
|
+
}
|
|
197
214
|
if (isErr(a))
|
|
198
215
|
return a;
|
|
199
216
|
if (expr.op === '-') {
|
|
@@ -203,7 +220,7 @@ export function evalExpr(expr, ctx) {
|
|
|
203
220
|
return new RuleError(`Unary '-' applied to ${describeType(a)}.`);
|
|
204
221
|
return -a;
|
|
205
222
|
}
|
|
206
|
-
return
|
|
223
|
+
return undefined;
|
|
207
224
|
}
|
|
208
225
|
case 'ternary': {
|
|
209
226
|
const c = evalExpr(expr.cond, ctx);
|
|
@@ -211,6 +228,10 @@ export function evalExpr(expr, ctx) {
|
|
|
211
228
|
// through to the alternate branch and potentially allow.
|
|
212
229
|
if (isErr(c))
|
|
213
230
|
return c;
|
|
231
|
+
// Unverified: production's behavior for a non-boolean ternary
|
|
232
|
+
// condition (a CEL type error there, rather than this truthiness
|
|
233
|
+
// coercion) has not been captured. The coercion stays as written
|
|
234
|
+
// until a production capture settles it.
|
|
214
235
|
return truthy(c) ? evalExpr(expr.then, ctx) : evalExpr(expr.else, ctx);
|
|
215
236
|
}
|
|
216
237
|
case 'in': {
|
|
@@ -286,24 +307,14 @@ export function evalExpr(expr, ctx) {
|
|
|
286
307
|
return new RuleError(`Slice applied to ${describeType(t)} (expected a list or string).`);
|
|
287
308
|
}
|
|
288
309
|
case 'binary': {
|
|
289
|
-
//
|
|
290
|
-
//
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
if (expr.op === '||') {
|
|
298
|
-
const l = evalExpr(expr.left, ctx);
|
|
299
|
-
if (isErr(l)) {
|
|
300
|
-
// Production: `<error> || true` ALLOWS — a true disjunct rescues the
|
|
301
|
-
// error; `<error> || false` stays an error.
|
|
302
|
-
const r = evalExpr(expr.right, ctx);
|
|
303
|
-
return truthy(r) ? r : l;
|
|
304
|
-
}
|
|
305
|
-
return truthy(l) ? l : evalExpr(expr.right, ctx);
|
|
306
|
-
}
|
|
310
|
+
// RULES-B3: && and || are COMMUTATIVE error-absorbing operators in
|
|
311
|
+
// CEL, not JS left-to-right short-circuit. The two operators differ
|
|
312
|
+
// only in which operand value uniquely determines the result: false
|
|
313
|
+
// for &&, true for ||. Both are evaluated by the one helper below.
|
|
314
|
+
if (expr.op === '&&')
|
|
315
|
+
return evalAbsorbingOperator(expr.left, expr.right, false, ctx);
|
|
316
|
+
if (expr.op === '||')
|
|
317
|
+
return evalAbsorbingOperator(expr.left, expr.right, true, ctx);
|
|
307
318
|
const l = evalExpr(expr.left, ctx);
|
|
308
319
|
if (isErr(l))
|
|
309
320
|
return l;
|
|
@@ -344,6 +355,63 @@ export function evalExpr(expr, ctx) {
|
|
|
344
355
|
}
|
|
345
356
|
}
|
|
346
357
|
}
|
|
358
|
+
/**
|
|
359
|
+
* Evaluate one commutative error-absorbing operator, `&&` or `||`. The two
|
|
360
|
+
* differ only in `determining`, the operand value that fixes the result on
|
|
361
|
+
* its own: `false` for `&&`, `true` for `||`.
|
|
362
|
+
*
|
|
363
|
+
* If either operand evaluates to `determining`, that is the result and an
|
|
364
|
+
* error in the other operand is absorbed, whichever side it sits on. So
|
|
365
|
+
* `error && false` evaluates to false and `error || true` to true, while
|
|
366
|
+
* `error && true` and `error || false` propagate the error and deny.
|
|
367
|
+
* Laziness is preserved in the no-error path: a determining left operand
|
|
368
|
+
* skips the right one entirely.
|
|
369
|
+
*/
|
|
370
|
+
function evalAbsorbingOperator(left, right, determining, ctx) {
|
|
371
|
+
const l = evalLogicalOperand(left, ctx);
|
|
372
|
+
if (l === determining)
|
|
373
|
+
return determining; // left determines; right unevaluated
|
|
374
|
+
const r = evalLogicalOperand(right, ctx);
|
|
375
|
+
if (r === determining)
|
|
376
|
+
return determining; // right determines and absorbs any left error
|
|
377
|
+
if (isErr(l))
|
|
378
|
+
return l; // left errored and nothing determined
|
|
379
|
+
return r; // left was non-determining; right decides
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Evaluate one `&&`/`||` operand tri-state: `true`, `false`, or a
|
|
383
|
+
* {@link RuleError} value the operator may absorb commutatively.
|
|
384
|
+
*
|
|
385
|
+
* - A thrown ABSORBABLE {@link RuleEvalError} (for example
|
|
386
|
+
* `firestore.get()` without an injected capability, or `!` on an error)
|
|
387
|
+
* is converted to an error VALUE here so a determining sibling operand
|
|
388
|
+
* can absorb it: production evaluates these positions to a
|
|
389
|
+
* position-local error.
|
|
390
|
+
* - {@link RuleUnsupportedError} (compile-reject or unmodelable) and
|
|
391
|
+
* {@link RuleResourceLimitError} (lookup cap, call depth) re-throw:
|
|
392
|
+
* production fails those closed for the WHOLE evaluation, so no
|
|
393
|
+
* determining operand may rescue them (the lookup-budget precedent).
|
|
394
|
+
* - A non-boolean, non-error operand is a CEL TYPE error (RULES-B6,
|
|
395
|
+
* captured by rules-firestore-strict-boolean-control-flow): it becomes
|
|
396
|
+
* an absorbable error value, never a truthy/falsy coercion.
|
|
397
|
+
*/
|
|
398
|
+
function evalLogicalOperand(expr, ctx) {
|
|
399
|
+
let v;
|
|
400
|
+
try {
|
|
401
|
+
v = evalExpr(expr, ctx);
|
|
402
|
+
}
|
|
403
|
+
catch (err) {
|
|
404
|
+
if (isAbsorbableEvalError(err))
|
|
405
|
+
return new RuleError(err.message);
|
|
406
|
+
throw err;
|
|
407
|
+
}
|
|
408
|
+
if (isErr(v))
|
|
409
|
+
return v;
|
|
410
|
+
if (typeof v !== 'boolean') {
|
|
411
|
+
return new RuleError(`Expected a boolean '&&'/'||' operand, got ${describeType(v)}.`);
|
|
412
|
+
}
|
|
413
|
+
return v;
|
|
414
|
+
}
|
|
347
415
|
/**
|
|
348
416
|
* Evaluate a user-defined function call. Arguments are evaluated in the
|
|
349
417
|
* CALLER's context, then bound to the function's parameters; the body
|
|
@@ -354,18 +422,22 @@ export function evalExpr(expr, ctx) {
|
|
|
354
422
|
*/
|
|
355
423
|
function evalCall(expr, ctx) {
|
|
356
424
|
const fn = ctx.funcs.get(expr.name);
|
|
425
|
+
// Undefined functions, unresolved imports, and arity mismatches are
|
|
426
|
+
// COMPILE-reject failures in production (the ruleset never deploys), so
|
|
427
|
+
// they are RuleUnsupportedError: unabsorbable by &&/||, always deny.
|
|
357
428
|
if (!fn) {
|
|
358
|
-
throw new
|
|
429
|
+
throw new RuleUnsupportedError(`undefined function ${expr.name}()`);
|
|
359
430
|
}
|
|
360
431
|
if (fn.unresolvedImport !== undefined) {
|
|
361
|
-
throw new
|
|
432
|
+
throw new RuleUnsupportedError(`function ${expr.name}() is imported from '${fn.unresolvedImport}', but import module resolution is not implemented`);
|
|
362
433
|
}
|
|
363
434
|
if (fn.params.length !== expr.args.length) {
|
|
364
|
-
throw new
|
|
435
|
+
throw new RuleUnsupportedError(`function ${expr.name}() expects ${fn.params.length} argument(s), got ${expr.args.length}`);
|
|
365
436
|
}
|
|
366
437
|
const depth = ctx.depth + 1;
|
|
367
438
|
if (depth > MAX_CALL_DEPTH) {
|
|
368
|
-
|
|
439
|
+
// Resource-limit class: fails the evaluation closed, never absorbed.
|
|
440
|
+
throw new RuleResourceLimitError(`function ${expr.name}() exceeded max call depth ${MAX_CALL_DEPTH}`);
|
|
369
441
|
}
|
|
370
442
|
// Arguments: caller context.
|
|
371
443
|
const argVals = expr.args.map((a) => evalExpr(a, ctx));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules-evaluator.js","sourceRoot":"","sources":["../../../src/storage/sandbox/rules-evaluator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rules-evaluator.js","sourceRoot":"","sources":["../../../src/storage/sandbox/rules-evaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules-methods.d.ts","sourceRoot":"","sources":["../../../src/storage/sandbox/rules-methods.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"rules-methods.d.ts","sourceRoot":"","sources":["../../../src/storage/sandbox/rules-methods.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAmB9D;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAgEjG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { evalExpr } from './rules-evaluator.js';
|
|
2
|
-
import { RuleEvalError } from './rules-evaluation-error.js';
|
|
2
|
+
import { RuleEvalError, RuleResourceLimitError, RuleUnsupportedError, } from './rules-evaluation-error.js';
|
|
3
3
|
import { RuleError, describeRulesType as describeType, isRuleError as isErr, isRulesMap, rulesEquals, } from './rules-values.js';
|
|
4
4
|
// ═══════════════════════════════════════════════════════════════
|
|
5
5
|
// Builtin method / namespace calls
|
|
@@ -60,7 +60,10 @@ export function evalMethodCall(expr, ctx) {
|
|
|
60
60
|
if (expr.method === 'get') {
|
|
61
61
|
return evalMapGet(expr, ctx);
|
|
62
62
|
}
|
|
63
|
-
|
|
63
|
+
// An unknown method name is either unmodeled here or rejected by
|
|
64
|
+
// production's compiler. Its verdict is unknowable locally, so it is
|
|
65
|
+
// unabsorbable (fails closed even under a determining &&/|| operand).
|
|
66
|
+
throw new RuleUnsupportedError(`unsupported method .${expr.method}()`);
|
|
64
67
|
}
|
|
65
68
|
/**
|
|
66
69
|
* Evaluate `firestore.get(path)` / `firestore.exists(path)`.
|
|
@@ -81,7 +84,8 @@ export function evalMethodCall(expr, ctx) {
|
|
|
81
84
|
*/
|
|
82
85
|
function evalFirestoreBuiltin(expr, ctx) {
|
|
83
86
|
if (expr.method !== 'get' && expr.method !== 'exists') {
|
|
84
|
-
|
|
87
|
+
// Unknown namespace method, compile-reject class, never absorbed.
|
|
88
|
+
throw new RuleUnsupportedError(`unsupported method firestore.${expr.method}()`);
|
|
85
89
|
}
|
|
86
90
|
if (!ctx.firestoreLookup) {
|
|
87
91
|
// No sandbox-backed capability injected — keep the deny-with-reason
|
|
@@ -89,16 +93,20 @@ function evalFirestoreBuiltin(expr, ctx) {
|
|
|
89
93
|
throw new RuleEvalError(`firestore.${expr.method}() is unsupported here — no Firestore lookup capability is configured`);
|
|
90
94
|
}
|
|
91
95
|
if (expr.args.length !== 1) {
|
|
92
|
-
|
|
96
|
+
// Wrong call shape: production rejects at compile; never absorbed.
|
|
97
|
+
throw new RuleUnsupportedError(`firestore.${expr.method}() expects a single path argument`);
|
|
93
98
|
}
|
|
94
99
|
const arg = expr.args[0];
|
|
95
100
|
if (arg.kind !== 'path') {
|
|
96
|
-
throw new
|
|
101
|
+
throw new RuleUnsupportedError(`firestore.${expr.method}() requires a /databases/.../documents/... path literal`);
|
|
97
102
|
}
|
|
98
103
|
const docPath = buildFirestoreDocPath(arg, ctx);
|
|
99
104
|
if (!ctx.firestoreAccesses.has(docPath)) {
|
|
100
105
|
if (ctx.firestoreAccesses.size >= 2) {
|
|
101
|
-
|
|
106
|
+
// Resource-limit class, the same posture as the Firestore lookup
|
|
107
|
+
// budget: production fails the whole evaluation closed, so a
|
|
108
|
+
// determining &&/|| operand must NOT absorb this into an allow.
|
|
109
|
+
throw new RuleResourceLimitError('firestore access limit exceeded: at most two distinct documents');
|
|
102
110
|
}
|
|
103
111
|
ctx.firestoreAccesses.add(docPath);
|
|
104
112
|
}
|
|
@@ -108,7 +116,9 @@ function evalFirestoreBuiltin(expr, ctx) {
|
|
|
108
116
|
const fields = ctx.firestoreLookup.get(docPath);
|
|
109
117
|
if (fields === null) {
|
|
110
118
|
// A missing get is a Rules error VALUE: it denies at the allow boundary,
|
|
111
|
-
// but participates in CEL error absorption
|
|
119
|
+
// but participates in COMMUTATIVE CEL error absorption in `&&`/`||`
|
|
120
|
+
// (`error || true` allows, and `error && false` evaluates to false,
|
|
121
|
+
// see the tri-state operand handling in rules-evaluator.ts).
|
|
112
122
|
return new RuleError(`firestore.get() targeted a nonexistent document: ${docPath}`);
|
|
113
123
|
}
|
|
114
124
|
return { data: fields };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules-methods.js","sourceRoot":"","sources":["../../../src/storage/sandbox/rules-methods.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rules-methods.js","sourceRoot":"","sources":["../../../src/storage/sandbox/rules-methods.ts"],"names":[],"mappings":"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"}
|