pyric 0.0.1 → 0.1.0-alpha.10
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/LICENSE +216 -0
- package/README.md +179 -2
- package/README.md.orig +54 -0
- package/dist/ai/backend.d.ts +35 -0
- package/dist/ai/backend.d.ts.map +1 -0
- package/dist/ai/backend.js +42 -0
- package/dist/ai/backend.js.map +1 -0
- package/dist/ai/broker/broker.d.ts +65 -0
- package/dist/ai/broker/broker.d.ts.map +1 -0
- package/dist/ai/broker/broker.js +184 -0
- package/dist/ai/broker/broker.js.map +1 -0
- package/dist/ai/broker/index.d.ts +12 -0
- package/dist/ai/broker/index.d.ts.map +1 -0
- package/dist/ai/broker/index.js +11 -0
- package/dist/ai/broker/index.js.map +1 -0
- package/dist/ai/broker/openai-engine.d.ts +175 -0
- package/dist/ai/broker/openai-engine.d.ts.map +1 -0
- package/dist/ai/broker/openai-engine.js +502 -0
- package/dist/ai/broker/openai-engine.js.map +1 -0
- package/dist/ai/broker/scripted-engine.d.ts +44 -0
- package/dist/ai/broker/scripted-engine.d.ts.map +1 -0
- package/dist/ai/broker/scripted-engine.js +218 -0
- package/dist/ai/broker/scripted-engine.js.map +1 -0
- package/dist/ai/broker/synthesizer.d.ts +100 -0
- package/dist/ai/broker/synthesizer.d.ts.map +1 -0
- package/dist/ai/broker/synthesizer.js +278 -0
- package/dist/ai/broker/synthesizer.js.map +1 -0
- package/dist/ai/broker/types.d.ts +210 -0
- package/dist/ai/broker/types.d.ts.map +1 -0
- package/dist/ai/broker/types.js +20 -0
- package/dist/ai/broker/types.js.map +1 -0
- package/dist/ai/enums.d.ts +174 -0
- package/dist/ai/enums.d.ts.map +1 -0
- package/dist/ai/enums.js +155 -0
- package/dist/ai/enums.js.map +1 -0
- package/dist/ai/errors.d.ts +66 -0
- package/dist/ai/errors.d.ts.map +1 -0
- package/dist/ai/errors.js +100 -0
- package/dist/ai/errors.js.map +1 -0
- package/dist/ai/index.d.ts +31 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +27 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/instances.d.ts +15 -0
- package/dist/ai/instances.d.ts.map +1 -0
- package/dist/ai/instances.js +69 -0
- package/dist/ai/instances.js.map +1 -0
- package/dist/ai/internal.d.ts +13 -0
- package/dist/ai/internal.d.ts.map +1 -0
- package/dist/ai/internal.js +45 -0
- package/dist/ai/internal.js.map +1 -0
- package/dist/ai/models.d.ts +116 -0
- package/dist/ai/models.d.ts.map +1 -0
- package/dist/ai/models.js +213 -0
- package/dist/ai/models.js.map +1 -0
- package/dist/ai/request-helpers.d.ts +59 -0
- package/dist/ai/request-helpers.d.ts.map +1 -0
- package/dist/ai/request-helpers.js +157 -0
- package/dist/ai/request-helpers.js.map +1 -0
- package/dist/ai/response-helpers.d.ts +41 -0
- package/dist/ai/response-helpers.d.ts.map +1 -0
- package/dist/ai/response-helpers.js +204 -0
- package/dist/ai/response-helpers.js.map +1 -0
- package/dist/ai/sandbox-plane.d.ts +41 -0
- package/dist/ai/sandbox-plane.d.ts.map +1 -0
- package/dist/ai/sandbox-plane.js +159 -0
- package/dist/ai/sandbox-plane.js.map +1 -0
- package/dist/ai/schema.d.ts +105 -0
- package/dist/ai/schema.d.ts.map +1 -0
- package/dist/ai/schema.js +174 -0
- package/dist/ai/schema.js.map +1 -0
- package/dist/ai/scripting.d.ts +53 -0
- package/dist/ai/scripting.d.ts.map +1 -0
- package/dist/ai/scripting.js +73 -0
- package/dist/ai/scripting.js.map +1 -0
- package/dist/ai/target.d.ts +20 -0
- package/dist/ai/target.d.ts.map +1 -0
- package/dist/ai/target.js +29 -0
- package/dist/ai/target.js.map +1 -0
- package/dist/ai/types.d.ts +400 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +10 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/app/diagnostics.d.ts +29 -0
- package/dist/app/diagnostics.d.ts.map +1 -0
- package/dist/app/diagnostics.js +88 -0
- package/dist/app/diagnostics.js.map +1 -0
- package/dist/app/index.d.ts +7 -0
- package/dist/app/index.d.ts.map +1 -0
- package/dist/app/index.js +5 -0
- package/dist/app/index.js.map +1 -0
- package/dist/app/internal.d.ts +11 -0
- package/dist/app/internal.d.ts.map +1 -0
- package/dist/app/internal.js +18 -0
- package/dist/app/internal.js.map +1 -0
- package/dist/app/options.d.ts +3 -0
- package/dist/app/options.d.ts.map +1 -0
- package/dist/app/options.js +19 -0
- package/dist/app/options.js.map +1 -0
- package/dist/app/register.d.ts +4 -0
- package/dist/app/register.d.ts.map +1 -0
- package/dist/app/register.js +35 -0
- package/dist/app/register.js.map +1 -0
- package/dist/app/registry.d.ts +12 -0
- package/dist/app/registry.d.ts.map +1 -0
- package/dist/app/registry.js +147 -0
- package/dist/app/registry.js.map +1 -0
- package/dist/app/runtime.d.ts +18 -0
- package/dist/app/runtime.d.ts.map +1 -0
- package/dist/app/runtime.js +119 -0
- package/dist/app/runtime.js.map +1 -0
- package/dist/app/types.d.ts +21 -0
- package/dist/app/types.d.ts.map +1 -0
- package/dist/app/types.js +2 -0
- package/dist/app/types.js.map +1 -0
- package/dist/auth/action-code-url.d.ts +70 -0
- package/dist/auth/action-code-url.d.ts.map +1 -0
- package/dist/auth/action-code-url.js +124 -0
- package/dist/auth/action-code-url.js.map +1 -0
- package/dist/auth/action-codes.d.ts +201 -0
- package/dist/auth/action-codes.d.ts.map +1 -0
- package/dist/auth/action-codes.js +355 -0
- package/dist/auth/action-codes.js.map +1 -0
- package/dist/auth/auth-errors.d.ts +21 -0
- package/dist/auth/auth-errors.d.ts.map +1 -0
- package/dist/auth/auth-errors.js +23 -0
- package/dist/auth/auth-errors.js.map +1 -0
- package/dist/auth/config-tokens.d.ts +90 -0
- package/dist/auth/config-tokens.d.ts.map +1 -0
- package/dist/auth/config-tokens.js +86 -0
- package/dist/auth/config-tokens.js.map +1 -0
- package/dist/auth/credentials.d.ts +140 -0
- package/dist/auth/credentials.d.ts.map +1 -0
- package/dist/auth/credentials.js +194 -0
- package/dist/auth/credentials.js.map +1 -0
- package/dist/auth/email-link.d.ts +91 -0
- package/dist/auth/email-link.d.ts.map +1 -0
- package/dist/auth/email-link.js +172 -0
- package/dist/auth/email-link.js.map +1 -0
- package/dist/auth/enums.d.ts +210 -0
- package/dist/auth/enums.d.ts.map +1 -0
- package/dist/auth/enums.js +206 -0
- package/dist/auth/enums.js.map +1 -0
- package/dist/auth/index.d.ts +3 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +3 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/instances.d.ts +14 -0
- package/dist/auth/instances.d.ts.map +1 -0
- package/dist/auth/instances.js +95 -0
- package/dist/auth/instances.js.map +1 -0
- package/dist/auth/linking.d.ts +93 -0
- package/dist/auth/linking.d.ts.map +1 -0
- package/dist/auth/linking.js +189 -0
- package/dist/auth/linking.js.map +1 -0
- package/dist/auth/modular.d.ts +22 -0
- package/dist/auth/modular.d.ts.map +1 -0
- package/dist/auth/modular.js +18 -0
- package/dist/auth/modular.js.map +1 -0
- package/dist/auth/password-policy.d.ts +60 -0
- package/dist/auth/password-policy.d.ts.map +1 -0
- package/dist/auth/password-policy.js +68 -0
- package/dist/auth/password-policy.js.map +1 -0
- package/dist/auth/providers.d.ts +153 -0
- package/dist/auth/providers.d.ts.map +1 -0
- package/dist/auth/providers.js +207 -0
- package/dist/auth/providers.js.map +1 -0
- package/dist/auth/reauth.d.ts +73 -0
- package/dist/auth/reauth.d.ts.map +1 -0
- package/dist/auth/reauth.js +148 -0
- package/dist/auth/reauth.js.map +1 -0
- package/dist/auth/sandbox/driver.d.ts +51 -0
- package/dist/auth/sandbox/driver.d.ts.map +1 -0
- package/dist/auth/sandbox/driver.js +88 -0
- package/dist/auth/sandbox/driver.js.map +1 -0
- package/dist/auth/sandbox/persistence.d.ts +7 -0
- package/dist/auth/sandbox/persistence.d.ts.map +1 -0
- package/dist/auth/sandbox/persistence.js +121 -0
- package/dist/auth/sandbox/persistence.js.map +1 -0
- package/dist/auth/sandbox/project-store.d.ts +15 -0
- package/dist/auth/sandbox/project-store.d.ts.map +1 -0
- package/dist/auth/sandbox/project-store.js +17 -0
- package/dist/auth/sandbox/project-store.js.map +1 -0
- package/dist/auth/sandbox-auth-flow.d.ts +173 -0
- package/dist/auth/sandbox-auth-flow.d.ts.map +1 -0
- package/dist/auth/sandbox-auth-flow.js +165 -0
- package/dist/auth/sandbox-auth-flow.js.map +1 -0
- package/dist/auth/sandbox-backend-types.d.ts +197 -0
- package/dist/auth/sandbox-backend-types.d.ts.map +1 -0
- package/dist/auth/sandbox-backend-types.js +18 -0
- package/dist/auth/sandbox-backend-types.js.map +1 -0
- package/dist/auth/sandbox-backend.d.ts +811 -0
- package/dist/auth/sandbox-backend.d.ts.map +1 -0
- package/dist/auth/sandbox-backend.js +2007 -0
- package/dist/auth/sandbox-backend.js.map +1 -0
- package/dist/auth/sandbox-credential-validators.d.ts +30 -0
- package/dist/auth/sandbox-credential-validators.d.ts.map +1 -0
- package/dist/auth/sandbox-credential-validators.js +47 -0
- package/dist/auth/sandbox-credential-validators.js.map +1 -0
- package/dist/auth/sandbox-token.d.ts +24 -0
- package/dist/auth/sandbox-token.d.ts.map +1 -0
- package/dist/auth/sandbox-token.js +32 -0
- package/dist/auth/sandbox-token.js.map +1 -0
- package/dist/auth/sign-in.d.ts +14 -0
- package/dist/auth/sign-in.d.ts.map +1 -0
- package/dist/auth/sign-in.js +140 -0
- package/dist/auth/sign-in.js.map +1 -0
- package/dist/auth/target.d.ts +29 -0
- package/dist/auth/target.d.ts.map +1 -0
- package/dist/auth/target.js +23 -0
- package/dist/auth/target.js.map +1 -0
- package/dist/auth/tokens.d.ts +54 -0
- package/dist/auth/tokens.d.ts.map +1 -0
- package/dist/auth/tokens.js +142 -0
- package/dist/auth/tokens.js.map +1 -0
- package/dist/auth/types.d.ts +283 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +24 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/auth/user-lifecycle.d.ts +17 -0
- package/dist/auth/user-lifecycle.d.ts.map +1 -0
- package/dist/auth/user-lifecycle.js +60 -0
- package/dist/auth/user-lifecycle.js.map +1 -0
- package/dist/database/index.d.ts +9 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +9 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/listener-registry.d.ts +16 -0
- package/dist/database/listener-registry.d.ts.map +1 -0
- package/dist/database/listener-registry.js +68 -0
- package/dist/database/listener-registry.js.map +1 -0
- package/dist/database/modular.d.ts +632 -0
- package/dist/database/modular.d.ts.map +1 -0
- package/dist/database/modular.js +1071 -0
- package/dist/database/modular.js.map +1 -0
- package/dist/database/replay.d.ts +32 -0
- package/dist/database/replay.d.ts.map +1 -0
- package/dist/database/replay.js +124 -0
- package/dist/database/replay.js.map +1 -0
- package/dist/database/sandbox/backend-for.d.ts +10 -0
- package/dist/database/sandbox/backend-for.d.ts.map +1 -0
- package/dist/database/sandbox/backend-for.js +19 -0
- package/dist/database/sandbox/backend-for.js.map +1 -0
- package/dist/database/sandbox/backend.d.ts +407 -0
- package/dist/database/sandbox/backend.d.ts.map +1 -0
- package/dist/database/sandbox/backend.js +1495 -0
- package/dist/database/sandbox/backend.js.map +1 -0
- package/dist/database/sandbox/data-tree.d.ts +123 -0
- package/dist/database/sandbox/data-tree.d.ts.map +1 -0
- package/dist/database/sandbox/data-tree.js +310 -0
- package/dist/database/sandbox/data-tree.js.map +1 -0
- package/dist/database/sandbox/normalize.d.ts +77 -0
- package/dist/database/sandbox/normalize.d.ts.map +1 -0
- package/dist/database/sandbox/normalize.js +165 -0
- package/dist/database/sandbox/normalize.js.map +1 -0
- package/dist/database/sandbox/push-id.d.ts +32 -0
- package/dist/database/sandbox/push-id.d.ts.map +1 -0
- package/dist/database/sandbox/push-id.js +82 -0
- package/dist/database/sandbox/push-id.js.map +1 -0
- package/dist/database/sandbox/query.d.ts +175 -0
- package/dist/database/sandbox/query.d.ts.map +1 -0
- package/dist/database/sandbox/query.js +269 -0
- package/dist/database/sandbox/query.js.map +1 -0
- package/dist/database/sandbox/rules-eval.d.ts +87 -0
- package/dist/database/sandbox/rules-eval.d.ts.map +1 -0
- package/dist/database/sandbox/rules-eval.js +131 -0
- package/dist/database/sandbox/rules-eval.js.map +1 -0
- package/dist/database/sandbox/sentinels.d.ts +71 -0
- package/dist/database/sandbox/sentinels.d.ts.map +1 -0
- package/dist/database/sandbox/sentinels.js +92 -0
- package/dist/database/sandbox/sentinels.js.map +1 -0
- package/dist/database/sandbox-controls.d.ts +15 -0
- package/dist/database/sandbox-controls.d.ts.map +1 -0
- package/dist/database/sandbox-controls.js +18 -0
- package/dist/database/sandbox-controls.js.map +1 -0
- package/dist/firestore/aggregates.d.ts +50 -0
- package/dist/firestore/aggregates.d.ts.map +1 -0
- package/dist/firestore/aggregates.js +40 -0
- package/dist/firestore/aggregates.js.map +1 -0
- package/dist/firestore/equality.d.ts +5 -0
- package/dist/firestore/equality.d.ts.map +1 -0
- package/dist/firestore/equality.js +20 -0
- package/dist/firestore/equality.js.map +1 -0
- package/dist/firestore/field-values.d.ts +61 -0
- package/dist/firestore/field-values.d.ts.map +1 -0
- package/dist/firestore/field-values.js +167 -0
- package/dist/firestore/field-values.js.map +1 -0
- package/dist/firestore/index.d.ts +54 -0
- package/dist/firestore/index.d.ts.map +1 -0
- package/dist/firestore/index.js +54 -0
- package/dist/firestore/index.js.map +1 -0
- package/dist/firestore/instances.d.ts +123 -0
- package/dist/firestore/instances.d.ts.map +1 -0
- package/dist/firestore/instances.js +177 -0
- package/dist/firestore/instances.js.map +1 -0
- package/dist/firestore/internal/index.d.ts +2 -0
- package/dist/firestore/internal/index.d.ts.map +1 -0
- package/dist/firestore/internal/index.js +2 -0
- package/dist/firestore/internal/index.js.map +1 -0
- package/dist/firestore/internal/listener-routing.d.ts +4 -0
- package/dist/firestore/internal/listener-routing.d.ts.map +1 -0
- package/dist/firestore/internal/listener-routing.js +4 -0
- package/dist/firestore/internal/listener-routing.js.map +1 -0
- package/dist/firestore/listeners.d.ts +12 -0
- package/dist/firestore/listeners.d.ts.map +1 -0
- package/dist/firestore/listeners.js +200 -0
- package/dist/firestore/listeners.js.map +1 -0
- package/dist/firestore/persistence.d.ts +227 -0
- package/dist/firestore/persistence.d.ts.map +1 -0
- package/dist/firestore/persistence.js +245 -0
- package/dist/firestore/persistence.js.map +1 -0
- package/dist/firestore/query-constraints.d.ts +72 -0
- package/dist/firestore/query-constraints.d.ts.map +1 -0
- package/dist/firestore/query-constraints.js +168 -0
- package/dist/firestore/query-constraints.js.map +1 -0
- package/dist/firestore/reads.d.ts +12 -0
- package/dist/firestore/reads.d.ts.map +1 -0
- package/dist/firestore/reads.js +32 -0
- package/dist/firestore/reads.js.map +1 -0
- package/dist/firestore/refs.d.ts +27 -0
- package/dist/firestore/refs.d.ts.map +1 -0
- package/dist/firestore/refs.js +74 -0
- package/dist/firestore/refs.js.map +1 -0
- package/dist/firestore/sandbox-controls.d.ts +60 -0
- package/dist/firestore/sandbox-controls.d.ts.map +1 -0
- package/dist/firestore/sandbox-controls.js +77 -0
- package/dist/firestore/sandbox-controls.js.map +1 -0
- package/dist/firestore/snapshots.d.ts +71 -0
- package/dist/firestore/snapshots.d.ts.map +1 -0
- package/dist/firestore/snapshots.js +160 -0
- package/dist/firestore/snapshots.js.map +1 -0
- package/dist/firestore/state.d.ts +168 -0
- package/dist/firestore/state.d.ts.map +1 -0
- package/dist/firestore/state.js +260 -0
- package/dist/firestore/state.js.map +1 -0
- package/dist/firestore/tools.d.ts +71 -0
- package/dist/firestore/tools.d.ts.map +1 -0
- package/dist/firestore/tools.js +320 -0
- package/dist/firestore/tools.js.map +1 -0
- package/dist/firestore/transactions.d.ts +4 -0
- package/dist/firestore/transactions.d.ts.map +1 -0
- package/dist/firestore/transactions.js +14 -0
- package/dist/firestore/transactions.js.map +1 -0
- package/dist/firestore/types.d.ts +82 -0
- package/dist/firestore/types.d.ts.map +1 -0
- package/dist/firestore/types.js +15 -0
- package/dist/firestore/types.js.map +1 -0
- package/dist/firestore/writes.d.ts +43 -0
- package/dist/firestore/writes.d.ts.map +1 -0
- package/dist/firestore/writes.js +40 -0
- package/dist/firestore/writes.js.map +1 -0
- package/dist/firestore-values/index.d.ts +63 -0
- package/dist/firestore-values/index.d.ts.map +1 -0
- package/dist/firestore-values/index.js +148 -0
- package/dist/firestore-values/index.js.map +1 -0
- package/dist/messaging/broker/broker.d.ts +171 -0
- package/dist/messaging/broker/broker.d.ts.map +1 -0
- package/dist/messaging/broker/broker.js +400 -0
- package/dist/messaging/broker/broker.js.map +1 -0
- package/dist/messaging/broker/envelopes.d.ts +96 -0
- package/dist/messaging/broker/envelopes.d.ts.map +1 -0
- package/dist/messaging/broker/envelopes.js +132 -0
- package/dist/messaging/broker/envelopes.js.map +1 -0
- package/dist/messaging/broker/index.d.ts +27 -0
- package/dist/messaging/broker/index.d.ts.map +1 -0
- package/dist/messaging/broker/index.js +21 -0
- package/dist/messaging/broker/index.js.map +1 -0
- package/dist/messaging/broker/tokens.d.ts +22 -0
- package/dist/messaging/broker/tokens.d.ts.map +1 -0
- package/dist/messaging/broker/tokens.js +37 -0
- package/dist/messaging/broker/tokens.js.map +1 -0
- package/dist/messaging/broker/types.d.ts +117 -0
- package/dist/messaging/broker/types.d.ts.map +1 -0
- package/dist/messaging/broker/types.js +12 -0
- package/dist/messaging/broker/types.js.map +1 -0
- package/dist/messaging/broker/validate.d.ts +58 -0
- package/dist/messaging/broker/validate.d.ts.map +1 -0
- package/dist/messaging/broker/validate.js +196 -0
- package/dist/messaging/broker/validate.js.map +1 -0
- package/dist/messaging/client.d.ts +108 -0
- package/dist/messaging/client.d.ts.map +1 -0
- package/dist/messaging/client.js +65 -0
- package/dist/messaging/client.js.map +1 -0
- package/dist/messaging/index.d.ts +3 -0
- package/dist/messaging/index.d.ts.map +1 -0
- package/dist/messaging/index.js +3 -0
- package/dist/messaging/index.js.map +1 -0
- package/dist/messaging/instance.d.ts +72 -0
- package/dist/messaging/instance.d.ts.map +1 -0
- package/dist/messaging/instance.js +93 -0
- package/dist/messaging/instance.js.map +1 -0
- package/dist/messaging/internal.d.ts +12 -0
- package/dist/messaging/internal.d.ts.map +1 -0
- package/dist/messaging/internal.js +12 -0
- package/dist/messaging/internal.js.map +1 -0
- package/dist/messaging/sw.d.ts +49 -0
- package/dist/messaging/sw.d.ts.map +1 -0
- package/dist/messaging/sw.js +49 -0
- package/dist/messaging/sw.js.map +1 -0
- package/dist/project-scope.d.ts +5 -0
- package/dist/project-scope.d.ts.map +1 -0
- package/dist/project-scope.js +2 -0
- package/dist/project-scope.js.map +1 -0
- package/dist/rules/api/assert.d.ts +39 -0
- package/dist/rules/api/assert.d.ts.map +1 -0
- package/dist/rules/api/assert.js +93 -0
- package/dist/rules/api/assert.js.map +1 -0
- package/dist/rules/api/case-types.d.ts +141 -0
- package/dist/rules/api/case-types.d.ts.map +1 -0
- package/dist/rules/api/case-types.js +13 -0
- package/dist/rules/api/case-types.js.map +1 -0
- package/dist/rules/api/errors.d.ts +38 -0
- package/dist/rules/api/errors.d.ts.map +1 -0
- package/dist/rules/api/errors.js +47 -0
- package/dist/rules/api/errors.js.map +1 -0
- package/dist/rules/api/firestore.d.ts +34 -0
- package/dist/rules/api/firestore.d.ts.map +1 -0
- package/dist/rules/api/firestore.js +137 -0
- package/dist/rules/api/firestore.js.map +1 -0
- package/dist/rules/api/issue.d.ts +50 -0
- package/dist/rules/api/issue.d.ts.map +1 -0
- package/dist/rules/api/issue.js +66 -0
- package/dist/rules/api/issue.js.map +1 -0
- package/dist/rules/api/lint.d.ts +16 -0
- package/dist/rules/api/lint.d.ts.map +1 -0
- package/dist/rules/api/lint.js +60 -0
- package/dist/rules/api/lint.js.map +1 -0
- package/dist/rules/api/rtdb.d.ts +33 -0
- package/dist/rules/api/rtdb.d.ts.map +1 -0
- package/dist/rules/api/rtdb.js +166 -0
- package/dist/rules/api/rtdb.js.map +1 -0
- package/dist/rules/api/values.d.ts +51 -0
- package/dist/rules/api/values.d.ts.map +1 -0
- package/dist/rules/api/values.js +66 -0
- package/dist/rules/api/values.js.map +1 -0
- package/dist/rules/generators/assembler.d.ts +19 -0
- package/dist/rules/generators/assembler.d.ts.map +1 -0
- package/dist/rules/generators/assembler.js +292 -0
- package/dist/rules/generators/assembler.js.map +1 -0
- package/dist/rules/generators/expressions.d.ts +52 -0
- package/dist/rules/generators/expressions.d.ts.map +1 -0
- package/dist/rules/generators/expressions.js +117 -0
- package/dist/rules/generators/expressions.js.map +1 -0
- package/dist/rules/generators/grid.d.ts +22 -0
- package/dist/rules/generators/grid.d.ts.map +1 -0
- package/dist/rules/generators/grid.js +52 -0
- package/dist/rules/generators/grid.js.map +1 -0
- package/dist/rules/grammar/FirestoreAST.d.ts +129 -0
- package/dist/rules/grammar/FirestoreAST.d.ts.map +1 -0
- package/dist/rules/grammar/FirestoreAST.js +3 -0
- package/dist/rules/grammar/FirestoreAST.js.map +1 -0
- package/dist/rules/grammar/FirestoreAssembler.d.ts +5 -0
- package/dist/rules/grammar/FirestoreAssembler.d.ts.map +1 -0
- package/dist/rules/grammar/FirestoreAssembler.js +158 -0
- package/dist/rules/grammar/FirestoreAssembler.js.map +1 -0
- package/dist/rules/grammar/FirestoreParser.d.ts +46 -0
- package/dist/rules/grammar/FirestoreParser.d.ts.map +1 -0
- package/dist/rules/grammar/FirestoreParser.js +409 -0
- package/dist/rules/grammar/FirestoreParser.js.map +1 -0
- package/dist/rules/grammar/FirestoreRules.ohm +229 -0
- package/dist/rules/grammar/FirestoreRules.ohm.generated.d.ts +2 -0
- package/dist/rules/grammar/FirestoreRules.ohm.generated.d.ts.map +1 -0
- package/dist/rules/grammar/FirestoreRules.ohm.generated.js +234 -0
- package/dist/rules/grammar/FirestoreRules.ohm.generated.js.map +1 -0
- package/dist/rules/grammar/FirestoreValidator.d.ts +10 -0
- package/dist/rules/grammar/FirestoreValidator.d.ts.map +1 -0
- package/dist/rules/grammar/FirestoreValidator.js +482 -0
- package/dist/rules/grammar/FirestoreValidator.js.map +1 -0
- package/dist/rules/index.d.ts +41 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +40 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/indexes/extract/annotation-collect.d.ts +42 -0
- package/dist/rules/indexes/extract/annotation-collect.d.ts.map +1 -0
- package/dist/rules/indexes/extract/annotation-collect.js +69 -0
- package/dist/rules/indexes/extract/annotation-collect.js.map +1 -0
- package/dist/rules/indexes/extract/annotations.d.ts +50 -0
- package/dist/rules/indexes/extract/annotations.d.ts.map +1 -0
- package/dist/rules/indexes/extract/annotations.js +144 -0
- package/dist/rules/indexes/extract/annotations.js.map +1 -0
- package/dist/rules/indexes/extract/ast.d.ts +54 -0
- package/dist/rules/indexes/extract/ast.d.ts.map +1 -0
- package/dist/rules/indexes/extract/ast.js +119 -0
- package/dist/rules/indexes/extract/ast.js.map +1 -0
- package/dist/rules/indexes/extract/classify.d.ts +41 -0
- package/dist/rules/indexes/extract/classify.d.ts.map +1 -0
- package/dist/rules/indexes/extract/classify.js +138 -0
- package/dist/rules/indexes/extract/classify.js.map +1 -0
- package/dist/rules/indexes/extract/composite.d.ts +38 -0
- package/dist/rules/indexes/extract/composite.d.ts.map +1 -0
- package/dist/rules/indexes/extract/composite.js +85 -0
- package/dist/rules/indexes/extract/composite.js.map +1 -0
- package/dist/rules/indexes/extract/dataflow.d.ts +45 -0
- package/dist/rules/indexes/extract/dataflow.d.ts.map +1 -0
- package/dist/rules/indexes/extract/dataflow.js +200 -0
- package/dist/rules/indexes/extract/dataflow.js.map +1 -0
- package/dist/rules/indexes/extract/enumerate.d.ts +41 -0
- package/dist/rules/indexes/extract/enumerate.d.ts.map +1 -0
- package/dist/rules/indexes/extract/enumerate.js +163 -0
- package/dist/rules/indexes/extract/enumerate.js.map +1 -0
- package/dist/rules/indexes/extract/extractor.d.ts +3 -0
- package/dist/rules/indexes/extract/extractor.d.ts.map +1 -0
- package/dist/rules/indexes/extract/extractor.js +274 -0
- package/dist/rules/indexes/extract/extractor.js.map +1 -0
- package/dist/rules/indexes/extract/types.d.ts +211 -0
- package/dist/rules/indexes/extract/types.d.ts.map +1 -0
- package/dist/rules/indexes/extract/types.js +14 -0
- package/dist/rules/indexes/extract/types.js.map +1 -0
- package/dist/rules/indexes/extractHandler.d.ts +16 -0
- package/dist/rules/indexes/extractHandler.d.ts.map +1 -0
- package/dist/rules/indexes/extractHandler.js +100 -0
- package/dist/rules/indexes/extractHandler.js.map +1 -0
- package/dist/rules/indexes/extractTool.d.ts +15 -0
- package/dist/rules/indexes/extractTool.d.ts.map +1 -0
- package/dist/rules/indexes/extractTool.js +55 -0
- package/dist/rules/indexes/extractTool.js.map +1 -0
- package/dist/rules/indexes/types.d.ts +71 -0
- package/dist/rules/indexes/types.d.ts.map +1 -0
- package/dist/rules/indexes/types.js +15 -0
- package/dist/rules/indexes/types.js.map +1 -0
- package/dist/rules/inspect/handler.d.ts +6 -0
- package/dist/rules/inspect/handler.d.ts.map +1 -0
- package/dist/rules/inspect/handler.js +144 -0
- package/dist/rules/inspect/handler.js.map +1 -0
- package/dist/rules/inspect/spec.d.ts +37 -0
- package/dist/rules/inspect/spec.d.ts.map +1 -0
- package/dist/rules/inspect/spec.js +2 -0
- package/dist/rules/inspect/spec.js.map +1 -0
- package/dist/rules/inspect/tools.d.ts +21 -0
- package/dist/rules/inspect/tools.d.ts.map +1 -0
- package/dist/rules/inspect/tools.js +21 -0
- package/dist/rules/inspect/tools.js.map +1 -0
- package/dist/rules/internal/extract.d.ts +28 -0
- package/dist/rules/internal/extract.d.ts.map +1 -0
- package/dist/rules/internal/extract.js +25 -0
- package/dist/rules/internal/extract.js.map +1 -0
- package/dist/rules/internal/index.d.ts +82 -0
- package/dist/rules/internal/index.d.ts.map +1 -0
- package/dist/rules/internal/index.js +103 -0
- package/dist/rules/internal/index.js.map +1 -0
- package/dist/rules/internal/node.d.ts +18 -0
- package/dist/rules/internal/node.d.ts.map +1 -0
- package/dist/rules/internal/node.js +27 -0
- package/dist/rules/internal/node.js.map +1 -0
- package/dist/rules/internal/rtdb.d.ts +20 -0
- package/dist/rules/internal/rtdb.d.ts.map +1 -0
- package/dist/rules/internal/rtdb.js +15 -0
- package/dist/rules/internal/rtdb.js.map +1 -0
- package/dist/rules/linter/ast-utils.d.ts +97 -0
- package/dist/rules/linter/ast-utils.d.ts.map +1 -0
- package/dist/rules/linter/ast-utils.js +491 -0
- package/dist/rules/linter/ast-utils.js.map +1 -0
- package/dist/rules/linter/hallucinations.d.ts +34 -0
- package/dist/rules/linter/hallucinations.d.ts.map +1 -0
- package/dist/rules/linter/hallucinations.js +334 -0
- package/dist/rules/linter/hallucinations.js.map +1 -0
- package/dist/rules/linter/linter.d.ts +84 -0
- package/dist/rules/linter/linter.d.ts.map +1 -0
- package/dist/rules/linter/linter.js +783 -0
- package/dist/rules/linter/linter.js.map +1 -0
- package/dist/rules/modules/resolver-browser.d.ts +41 -0
- package/dist/rules/modules/resolver-browser.d.ts.map +1 -0
- package/dist/rules/modules/resolver-browser.js +63 -0
- package/dist/rules/modules/resolver-browser.js.map +1 -0
- package/dist/rules/modules/resolver-core.d.ts +51 -0
- package/dist/rules/modules/resolver-core.d.ts.map +1 -0
- package/dist/rules/modules/resolver-core.js +338 -0
- package/dist/rules/modules/resolver-core.js.map +1 -0
- package/dist/rules/modules/resolver.d.ts +17 -0
- package/dist/rules/modules/resolver.d.ts.map +1 -0
- package/dist/rules/modules/resolver.js +49 -0
- package/dist/rules/modules/resolver.js.map +1 -0
- package/dist/rules/modules/stdlib/atomic.rules +52 -0
- package/dist/rules/modules/stdlib/atomic.test.json +152 -0
- package/dist/rules/modules/stdlib/auth.rules +7 -0
- package/dist/rules/modules/stdlib/auth.test.json +53 -0
- package/dist/rules/modules/stdlib/content.rules +50 -0
- package/dist/rules/modules/stdlib/content.test.json +238 -0
- package/dist/rules/modules/stdlib/counters.rules +41 -0
- package/dist/rules/modules/stdlib/counters.test.json +254 -0
- package/dist/rules/modules/stdlib/geometry.rules +43 -0
- package/dist/rules/modules/stdlib/geometry.test.json +200 -0
- package/dist/rules/modules/stdlib/joining.rules +49 -0
- package/dist/rules/modules/stdlib/joining.test.json +287 -0
- package/dist/rules/modules/stdlib/lifecycle.rules +51 -0
- package/dist/rules/modules/stdlib/lifecycle.test.json +288 -0
- package/dist/rules/modules/stdlib/lobby.rules +44 -0
- package/dist/rules/modules/stdlib/lobby.test.json +32 -0
- package/dist/rules/modules/stdlib/membership.rules +40 -0
- package/dist/rules/modules/stdlib/membership.test.json +107 -0
- package/dist/rules/modules/stdlib/spaces.rules +46 -0
- package/dist/rules/modules/stdlib/spaces.test.json +392 -0
- package/dist/rules/modules/stdlib/state.rules +28 -0
- package/dist/rules/modules/stdlib/state.test.json +55 -0
- package/dist/rules/modules/stdlib/timing.rules +20 -0
- package/dist/rules/modules/stdlib/timing.test.json +106 -0
- package/dist/rules/modules/stdlib/transitions.rules +34 -0
- package/dist/rules/modules/stdlib/transitions.test.json +86 -0
- package/dist/rules/modules/stdlib/turns.rules +27 -0
- package/dist/rules/modules/stdlib/turns.test.json +64 -0
- package/dist/rules/modules/stdlib/validation.rules +31 -0
- package/dist/rules/modules/stdlib/validation.test.json +184 -0
- package/dist/rules/modules/stdlib-content.d.ts +11 -0
- package/dist/rules/modules/stdlib-content.d.ts.map +1 -0
- package/dist/rules/modules/stdlib-content.js +590 -0
- package/dist/rules/modules/stdlib-content.js.map +1 -0
- package/dist/rules/rtdb/compiled-rules.d.ts +11 -0
- package/dist/rules/rtdb/compiled-rules.d.ts.map +1 -0
- package/dist/rules/rtdb/compiled-rules.js +95 -0
- package/dist/rules/rtdb/compiled-rules.js.map +1 -0
- package/dist/rules/rtdb/constraints/atoms.d.ts +29 -0
- package/dist/rules/rtdb/constraints/atoms.d.ts.map +1 -0
- package/dist/rules/rtdb/constraints/atoms.js +43 -0
- package/dist/rules/rtdb/constraints/atoms.js.map +1 -0
- package/dist/rules/rtdb/constraints/compose.d.ts +16 -0
- package/dist/rules/rtdb/constraints/compose.d.ts.map +1 -0
- package/dist/rules/rtdb/constraints/compose.js +15 -0
- package/dist/rules/rtdb/constraints/compose.js.map +1 -0
- package/dist/rules/rtdb/constraints/data.d.ts +30 -0
- package/dist/rules/rtdb/constraints/data.d.ts.map +1 -0
- package/dist/rules/rtdb/constraints/data.js +46 -0
- package/dist/rules/rtdb/constraints/data.js.map +1 -0
- package/dist/rules/rtdb/constraints/document.d.ts +57 -0
- package/dist/rules/rtdb/constraints/document.d.ts.map +1 -0
- package/dist/rules/rtdb/constraints/document.js +85 -0
- package/dist/rules/rtdb/constraints/document.js.map +1 -0
- package/dist/rules/rtdb/constraints/game.d.ts +30 -0
- package/dist/rules/rtdb/constraints/game.d.ts.map +1 -0
- package/dist/rules/rtdb/constraints/game.js +49 -0
- package/dist/rules/rtdb/constraints/game.js.map +1 -0
- package/dist/rules/rtdb/constraints/index.d.ts +12 -0
- package/dist/rules/rtdb/constraints/index.d.ts.map +1 -0
- package/dist/rules/rtdb/constraints/index.js +9 -0
- package/dist/rules/rtdb/constraints/index.js.map +1 -0
- package/dist/rules/rtdb/constraints/policies.d.ts +16 -0
- package/dist/rules/rtdb/constraints/policies.d.ts.map +1 -0
- package/dist/rules/rtdb/constraints/policies.js +17 -0
- package/dist/rules/rtdb/constraints/policies.js.map +1 -0
- package/dist/rules/rtdb/constraints/ruleset.d.ts +5 -0
- package/dist/rules/rtdb/constraints/ruleset.d.ts.map +1 -0
- package/dist/rules/rtdb/constraints/ruleset.js +132 -0
- package/dist/rules/rtdb/constraints/ruleset.js.map +1 -0
- package/dist/rules/rtdb/constraints/schema.d.ts +17 -0
- package/dist/rules/rtdb/constraints/schema.d.ts.map +1 -0
- package/dist/rules/rtdb/constraints/schema.js +74 -0
- package/dist/rules/rtdb/constraints/schema.js.map +1 -0
- package/dist/rules/rtdb/constraints/types.d.ts +22 -0
- package/dist/rules/rtdb/constraints/types.d.ts.map +1 -0
- package/dist/rules/rtdb/constraints/types.js +2 -0
- package/dist/rules/rtdb/constraints/types.js.map +1 -0
- package/dist/rules/rtdb/constraints/write-rules-file.d.ts +24 -0
- package/dist/rules/rtdb/constraints/write-rules-file.d.ts.map +1 -0
- package/dist/rules/rtdb/constraints/write-rules-file.js +30 -0
- package/dist/rules/rtdb/constraints/write-rules-file.js.map +1 -0
- package/dist/rules/rtdb/expression-engine.d.ts +8 -0
- package/dist/rules/rtdb/expression-engine.d.ts.map +1 -0
- package/dist/rules/rtdb/expression-engine.js +20 -0
- package/dist/rules/rtdb/expression-engine.js.map +1 -0
- package/dist/rules/rtdb/grammar/RtdbExpr.ohm +98 -0
- package/dist/rules/rtdb/grammar/RtdbExpr.ohm.generated.d.ts +2 -0
- package/dist/rules/rtdb/grammar/RtdbExpr.ohm.generated.d.ts.map +1 -0
- package/dist/rules/rtdb/grammar/RtdbExpr.ohm.generated.js +103 -0
- package/dist/rules/rtdb/grammar/RtdbExpr.ohm.generated.js.map +1 -0
- package/dist/rules/rtdb/grammar/RtdbExprParser.d.ts +3 -0
- package/dist/rules/rtdb/grammar/RtdbExprParser.d.ts.map +1 -0
- package/dist/rules/rtdb/grammar/RtdbExprParser.js +56 -0
- package/dist/rules/rtdb/grammar/RtdbExprParser.js.map +1 -0
- package/dist/rules/rtdb/grammar/linter.d.ts +3 -0
- package/dist/rules/rtdb/grammar/linter.d.ts.map +1 -0
- package/dist/rules/rtdb/grammar/linter.js +73 -0
- package/dist/rules/rtdb/grammar/linter.js.map +1 -0
- package/dist/rules/rtdb/grammar/simulator.d.ts +30 -0
- package/dist/rules/rtdb/grammar/simulator.d.ts.map +1 -0
- package/dist/rules/rtdb/grammar/simulator.js +282 -0
- package/dist/rules/rtdb/grammar/simulator.js.map +1 -0
- package/dist/rules/rtdb/grammar/validator.d.ts +3 -0
- package/dist/rules/rtdb/grammar/validator.d.ts.map +1 -0
- package/dist/rules/rtdb/grammar/validator.js +91 -0
- package/dist/rules/rtdb/grammar/validator.js.map +1 -0
- package/dist/rules/rtdb/simulation/handler.d.ts +6 -0
- package/dist/rules/rtdb/simulation/handler.d.ts.map +1 -0
- package/dist/rules/rtdb/simulation/handler.js +325 -0
- package/dist/rules/rtdb/simulation/handler.js.map +1 -0
- package/dist/rules/rtdb/simulation/spec.d.ts +102 -0
- package/dist/rules/rtdb/simulation/spec.d.ts.map +1 -0
- package/dist/rules/rtdb/simulation/spec.js +40 -0
- package/dist/rules/rtdb/simulation/spec.js.map +1 -0
- package/dist/rules/rtdb/types.d.ts +166 -0
- package/dist/rules/rtdb/types.d.ts.map +1 -0
- package/dist/rules/rtdb/types.js +21 -0
- package/dist/rules/rtdb/types.js.map +1 -0
- package/dist/rules/simulator/evaluator.d.ts +206 -0
- package/dist/rules/simulator/evaluator.d.ts.map +1 -0
- package/dist/rules/simulator/evaluator.js +1251 -0
- package/dist/rules/simulator/evaluator.js.map +1 -0
- package/dist/rules/simulator/expression/eval-errors.d.ts +86 -0
- package/dist/rules/simulator/expression/eval-errors.d.ts.map +1 -0
- package/dist/rules/simulator/expression/eval-errors.js +68 -0
- package/dist/rules/simulator/expression/eval-errors.js.map +1 -0
- package/dist/rules/simulator/expression/evaluator.d.ts +43 -0
- package/dist/rules/simulator/expression/evaluator.d.ts.map +1 -0
- package/dist/rules/simulator/expression/evaluator.js +298 -0
- package/dist/rules/simulator/expression/evaluator.js.map +1 -0
- package/dist/rules/simulator/expression/lexer.d.ts +36 -0
- package/dist/rules/simulator/expression/lexer.d.ts.map +1 -0
- package/dist/rules/simulator/expression/lexer.js +318 -0
- package/dist/rules/simulator/expression/lexer.js.map +1 -0
- package/dist/rules/simulator/expression/parser.d.ts +39 -0
- package/dist/rules/simulator/expression/parser.d.ts.map +1 -0
- package/dist/rules/simulator/expression/parser.js +329 -0
- package/dist/rules/simulator/expression/parser.js.map +1 -0
- package/dist/rules/simulator/expression/types.d.ts +137 -0
- package/dist/rules/simulator/expression/types.d.ts.map +1 -0
- package/dist/rules/simulator/expression/types.js +90 -0
- package/dist/rules/simulator/expression/types.js.map +1 -0
- package/dist/rules/simulator/expression/walk-data.d.ts +52 -0
- package/dist/rules/simulator/expression/walk-data.d.ts.map +1 -0
- package/dist/rules/simulator/expression/walk-data.js +167 -0
- package/dist/rules/simulator/expression/walk-data.js.map +1 -0
- package/dist/rules/simulator/firestore-set.d.ts +25 -0
- package/dist/rules/simulator/firestore-set.d.ts.map +1 -0
- package/dist/rules/simulator/firestore-set.js +89 -0
- package/dist/rules/simulator/firestore-set.js.map +1 -0
- package/dist/rules/simulator/handler.d.ts +47 -0
- package/dist/rules/simulator/handler.d.ts.map +1 -0
- package/dist/rules/simulator/handler.js +644 -0
- package/dist/rules/simulator/handler.js.map +1 -0
- package/dist/rules/simulator/mapdiff.d.ts +29 -0
- package/dist/rules/simulator/mapdiff.d.ts.map +1 -0
- package/dist/rules/simulator/mapdiff.js +72 -0
- package/dist/rules/simulator/mapdiff.js.map +1 -0
- package/dist/rules/simulator/project-after-state.d.ts +33 -0
- package/dist/rules/simulator/project-after-state.d.ts.map +1 -0
- package/dist/rules/simulator/project-after-state.js +88 -0
- package/dist/rules/simulator/project-after-state.js.map +1 -0
- package/dist/rules/simulator/query-proof.d.ts +80 -0
- package/dist/rules/simulator/query-proof.d.ts.map +1 -0
- package/dist/rules/simulator/query-proof.js +142 -0
- package/dist/rules/simulator/query-proof.js.map +1 -0
- package/dist/rules/simulator/value-equality.d.ts +8 -0
- package/dist/rules/simulator/value-equality.d.ts.map +1 -0
- package/dist/rules/simulator/value-equality.js +40 -0
- package/dist/rules/simulator/value-equality.js.map +1 -0
- package/dist/rules/simulator/wrappers/base.d.ts +129 -0
- package/dist/rules/simulator/wrappers/base.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/base.js +90 -0
- package/dist/rules/simulator/wrappers/base.js.map +1 -0
- package/dist/rules/simulator/wrappers/bytes.d.ts +45 -0
- package/dist/rules/simulator/wrappers/bytes.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/bytes.js +130 -0
- package/dist/rules/simulator/wrappers/bytes.js.map +1 -0
- package/dist/rules/simulator/wrappers/duration.d.ts +76 -0
- package/dist/rules/simulator/wrappers/duration.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/duration.js +176 -0
- package/dist/rules/simulator/wrappers/duration.js.map +1 -0
- package/dist/rules/simulator/wrappers/float.d.ts +52 -0
- package/dist/rules/simulator/wrappers/float.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/float.js +88 -0
- package/dist/rules/simulator/wrappers/float.js.map +1 -0
- package/dist/rules/simulator/wrappers/latlng.d.ts +40 -0
- package/dist/rules/simulator/wrappers/latlng.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/latlng.js +100 -0
- package/dist/rules/simulator/wrappers/latlng.js.map +1 -0
- package/dist/rules/simulator/wrappers/path.d.ts +75 -0
- package/dist/rules/simulator/wrappers/path.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/path.js +158 -0
- package/dist/rules/simulator/wrappers/path.js.map +1 -0
- package/dist/rules/simulator/wrappers/reference.d.ts +82 -0
- package/dist/rules/simulator/wrappers/reference.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/reference.js +145 -0
- package/dist/rules/simulator/wrappers/reference.js.map +1 -0
- package/dist/rules/simulator/wrappers/timestamp.d.ts +86 -0
- package/dist/rules/simulator/wrappers/timestamp.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/timestamp.js +207 -0
- package/dist/rules/simulator/wrappers/timestamp.js.map +1 -0
- package/dist/rules/simulator/wrappers/vector.d.ts +43 -0
- package/dist/rules/simulator/wrappers/vector.d.ts.map +1 -0
- package/dist/rules/simulator/wrappers/vector.js +80 -0
- package/dist/rules/simulator/wrappers/vector.js.map +1 -0
- package/dist/rules/simulator-tools-impl.d.ts +64 -0
- package/dist/rules/simulator-tools-impl.d.ts.map +1 -0
- package/dist/rules/simulator-tools-impl.js +462 -0
- package/dist/rules/simulator-tools-impl.js.map +1 -0
- package/dist/rules/simulator.d.ts +20 -0
- package/dist/rules/simulator.d.ts.map +1 -0
- package/dist/rules/simulator.js +24 -0
- package/dist/rules/simulator.js.map +1 -0
- package/dist/rules/stdlib-modules.d.ts +73 -0
- package/dist/rules/stdlib-modules.d.ts.map +1 -0
- package/dist/rules/stdlib-modules.js +837 -0
- package/dist/rules/stdlib-modules.js.map +1 -0
- package/dist/rules/stdlib-tools.d.ts +19 -0
- package/dist/rules/stdlib-tools.d.ts.map +1 -0
- package/dist/rules/stdlib-tools.js +164 -0
- package/dist/rules/stdlib-tools.js.map +1 -0
- package/dist/rules/test/handler.d.ts +21 -0
- package/dist/rules/test/handler.d.ts.map +1 -0
- package/dist/rules/test/handler.js +214 -0
- package/dist/rules/test/handler.js.map +1 -0
- package/dist/rules/test/spec.d.ts +677 -0
- package/dist/rules/test/spec.d.ts.map +1 -0
- package/dist/rules/test/spec.js +327 -0
- package/dist/rules/test/spec.js.map +1 -0
- package/dist/rules/tools.d.ts +41 -0
- package/dist/rules/tools.d.ts.map +1 -0
- package/dist/rules/tools.js +120 -0
- package/dist/rules/tools.js.map +1 -0
- package/dist/rules/write/handler.d.ts +6 -0
- package/dist/rules/write/handler.d.ts.map +1 -0
- package/dist/rules/write/handler.js +126 -0
- package/dist/rules/write/handler.js.map +1 -0
- package/dist/rules/write/spec.d.ts +28 -0
- package/dist/rules/write/spec.d.ts.map +1 -0
- package/dist/rules/write/spec.js +2 -0
- package/dist/rules/write/spec.js.map +1 -0
- package/dist/sandbox/admin-compat.d.ts +20 -0
- package/dist/sandbox/admin-compat.d.ts.map +1 -0
- package/dist/sandbox/admin-compat.js +19 -0
- package/dist/sandbox/admin-compat.js.map +1 -0
- package/dist/sandbox/admin-firestore/error-translation.d.ts +90 -0
- package/dist/sandbox/admin-firestore/error-translation.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/error-translation.js +214 -0
- package/dist/sandbox/admin-firestore/error-translation.js.map +1 -0
- package/dist/sandbox/admin-firestore/get-admin-firestore.d.ts +44 -0
- package/dist/sandbox/admin-firestore/get-admin-firestore.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/get-admin-firestore.js +62 -0
- package/dist/sandbox/admin-firestore/get-admin-firestore.js.map +1 -0
- package/dist/sandbox/admin-firestore/get-firestore.d.ts +34 -0
- package/dist/sandbox/admin-firestore/get-firestore.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/get-firestore.js +71 -0
- package/dist/sandbox/admin-firestore/get-firestore.js.map +1 -0
- package/dist/sandbox/admin-firestore/index.d.ts +36 -0
- package/dist/sandbox/admin-firestore/index.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/index.js +33 -0
- package/dist/sandbox/admin-firestore/index.js.map +1 -0
- package/dist/sandbox/admin-firestore/listeners.d.ts +46 -0
- package/dist/sandbox/admin-firestore/listeners.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/listeners.js +290 -0
- package/dist/sandbox/admin-firestore/listeners.js.map +1 -0
- package/dist/sandbox/admin-firestore/local-handle.d.ts +23 -0
- package/dist/sandbox/admin-firestore/local-handle.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/local-handle.js +74 -0
- package/dist/sandbox/admin-firestore/local-handle.js.map +1 -0
- package/dist/sandbox/admin-firestore/remote/batch.d.ts +6 -0
- package/dist/sandbox/admin-firestore/remote/batch.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/remote/batch.js +38 -0
- package/dist/sandbox/admin-firestore/remote/batch.js.map +1 -0
- package/dist/sandbox/admin-firestore/remote/channel.d.ts +22 -0
- package/dist/sandbox/admin-firestore/remote/channel.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/remote/channel.js +27 -0
- package/dist/sandbox/admin-firestore/remote/channel.js.map +1 -0
- package/dist/sandbox/admin-firestore/remote/doc-ref.d.ts +10 -0
- package/dist/sandbox/admin-firestore/remote/doc-ref.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/remote/doc-ref.js +88 -0
- package/dist/sandbox/admin-firestore/remote/doc-ref.js.map +1 -0
- package/dist/sandbox/admin-firestore/remote/errors.d.ts +17 -0
- package/dist/sandbox/admin-firestore/remote/errors.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/remote/errors.js +32 -0
- package/dist/sandbox/admin-firestore/remote/errors.js.map +1 -0
- package/dist/sandbox/admin-firestore/remote/listeners.d.ts +43 -0
- package/dist/sandbox/admin-firestore/remote/listeners.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/remote/listeners.js +89 -0
- package/dist/sandbox/admin-firestore/remote/listeners.js.map +1 -0
- package/dist/sandbox/admin-firestore/remote/query.d.ts +47 -0
- package/dist/sandbox/admin-firestore/remote/query.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/remote/query.js +186 -0
- package/dist/sandbox/admin-firestore/remote/query.js.map +1 -0
- package/dist/sandbox/admin-firestore/remote/remote-firestore.d.ts +55 -0
- package/dist/sandbox/admin-firestore/remote/remote-firestore.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/remote/remote-firestore.js +111 -0
- package/dist/sandbox/admin-firestore/remote/remote-firestore.js.map +1 -0
- package/dist/sandbox/admin-firestore/remote/snapshots.d.ts +10 -0
- package/dist/sandbox/admin-firestore/remote/snapshots.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/remote/snapshots.js +37 -0
- package/dist/sandbox/admin-firestore/remote/snapshots.js.map +1 -0
- package/dist/sandbox/admin-firestore/remote/transaction.d.ts +19 -0
- package/dist/sandbox/admin-firestore/remote/transaction.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/remote/transaction.js +105 -0
- package/dist/sandbox/admin-firestore/remote/transaction.js.map +1 -0
- package/dist/sandbox/admin-firestore/remote/value-codec.d.ts +52 -0
- package/dist/sandbox/admin-firestore/remote/value-codec.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/remote/value-codec.js +120 -0
- package/dist/sandbox/admin-firestore/remote/value-codec.js.map +1 -0
- package/dist/sandbox/admin-firestore/remote/wire-types.d.ts +111 -0
- package/dist/sandbox/admin-firestore/remote/wire-types.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/remote/wire-types.js +8 -0
- package/dist/sandbox/admin-firestore/remote/wire-types.js.map +1 -0
- package/dist/sandbox/admin-firestore/types.d.ts +59 -0
- package/dist/sandbox/admin-firestore/types.d.ts.map +1 -0
- package/dist/sandbox/admin-firestore/types.js +6 -0
- package/dist/sandbox/admin-firestore/types.js.map +1 -0
- package/dist/sandbox/branches/index.d.ts +141 -0
- package/dist/sandbox/branches/index.d.ts.map +1 -0
- package/dist/sandbox/branches/index.js +327 -0
- package/dist/sandbox/branches/index.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/batch.d.ts +34 -0
- package/dist/sandbox/firestore/admin-compat/batch.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/batch.js +73 -0
- package/dist/sandbox/firestore/admin-compat/batch.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/doc-ref.d.ts +38 -0
- package/dist/sandbox/firestore/admin-compat/doc-ref.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/doc-ref.js +154 -0
- package/dist/sandbox/firestore/admin-compat/doc-ref.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/firestore.d.ts +47 -0
- package/dist/sandbox/firestore/admin-compat/firestore.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/firestore.js +117 -0
- package/dist/sandbox/firestore/admin-compat/firestore.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/index.d.ts +49 -0
- package/dist/sandbox/firestore/admin-compat/index.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/index.js +27 -0
- package/dist/sandbox/firestore/admin-compat/index.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/paths.d.ts +37 -0
- package/dist/sandbox/firestore/admin-compat/paths.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/paths.js +49 -0
- package/dist/sandbox/firestore/admin-compat/paths.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/query.d.ts +261 -0
- package/dist/sandbox/firestore/admin-compat/query.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/query.js +758 -0
- package/dist/sandbox/firestore/admin-compat/query.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/read-translation.d.ts +8 -0
- package/dist/sandbox/firestore/admin-compat/read-translation.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/read-translation.js +59 -0
- package/dist/sandbox/firestore/admin-compat/read-translation.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/snapshots.d.ts +39 -0
- package/dist/sandbox/firestore/admin-compat/snapshots.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/snapshots.js +50 -0
- package/dist/sandbox/firestore/admin-compat/snapshots.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/transaction.d.ts +35 -0
- package/dist/sandbox/firestore/admin-compat/transaction.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/transaction.js +88 -0
- package/dist/sandbox/firestore/admin-compat/transaction.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/types.d.ts +297 -0
- package/dist/sandbox/firestore/admin-compat/types.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/types.js +127 -0
- package/dist/sandbox/firestore/admin-compat/types.js.map +1 -0
- package/dist/sandbox/firestore/admin-compat/value-order.d.ts +49 -0
- package/dist/sandbox/firestore/admin-compat/value-order.d.ts.map +1 -0
- package/dist/sandbox/firestore/admin-compat/value-order.js +172 -0
- package/dist/sandbox/firestore/admin-compat/value-order.js.map +1 -0
- package/dist/sandbox/firestore/auto-id.d.ts +26 -0
- package/dist/sandbox/firestore/auto-id.d.ts.map +1 -0
- package/dist/sandbox/firestore/auto-id.js +36 -0
- package/dist/sandbox/firestore/auto-id.js.map +1 -0
- package/dist/sandbox/firestore/converters/bytes-geopoint.d.ts +48 -0
- package/dist/sandbox/firestore/converters/bytes-geopoint.d.ts.map +1 -0
- package/dist/sandbox/firestore/converters/bytes-geopoint.js +85 -0
- package/dist/sandbox/firestore/converters/bytes-geopoint.js.map +1 -0
- package/dist/sandbox/firestore/converters/fieldvalue.d.ts +69 -0
- package/dist/sandbox/firestore/converters/fieldvalue.d.ts.map +1 -0
- package/dist/sandbox/firestore/converters/fieldvalue.js +166 -0
- package/dist/sandbox/firestore/converters/fieldvalue.js.map +1 -0
- package/dist/sandbox/firestore/converters/reference.d.ts +31 -0
- package/dist/sandbox/firestore/converters/reference.d.ts.map +1 -0
- package/dist/sandbox/firestore/converters/reference.js +51 -0
- package/dist/sandbox/firestore/converters/reference.js.map +1 -0
- package/dist/sandbox/firestore/converters/timestamp.d.ts +32 -0
- package/dist/sandbox/firestore/converters/timestamp.d.ts.map +1 -0
- package/dist/sandbox/firestore/converters/timestamp.js +63 -0
- package/dist/sandbox/firestore/converters/timestamp.js.map +1 -0
- package/dist/sandbox/firestore/converters/user-timestamp.d.ts +46 -0
- package/dist/sandbox/firestore/converters/user-timestamp.d.ts.map +1 -0
- package/dist/sandbox/firestore/converters/user-timestamp.js +65 -0
- package/dist/sandbox/firestore/converters/user-timestamp.js.map +1 -0
- package/dist/sandbox/firestore/converters/vector.d.ts +24 -0
- package/dist/sandbox/firestore/converters/vector.d.ts.map +1 -0
- package/dist/sandbox/firestore/converters/vector.js +53 -0
- package/dist/sandbox/firestore/converters/vector.js.map +1 -0
- package/dist/sandbox/firestore/errors.d.ts +82 -0
- package/dist/sandbox/firestore/errors.d.ts.map +1 -0
- package/dist/sandbox/firestore/errors.js +54 -0
- package/dist/sandbox/firestore/errors.js.map +1 -0
- package/dist/sandbox/firestore/event-log.d.ts +99 -0
- package/dist/sandbox/firestore/event-log.d.ts.map +1 -0
- package/dist/sandbox/firestore/event-log.js +67 -0
- package/dist/sandbox/firestore/event-log.js.map +1 -0
- package/dist/sandbox/firestore/field-merge.d.ts +64 -0
- package/dist/sandbox/firestore/field-merge.d.ts.map +1 -0
- package/dist/sandbox/firestore/field-merge.js +221 -0
- package/dist/sandbox/firestore/field-merge.js.map +1 -0
- package/dist/sandbox/firestore/list-query-proof.d.ts +77 -0
- package/dist/sandbox/firestore/list-query-proof.d.ts.map +1 -0
- package/dist/sandbox/firestore/list-query-proof.js +170 -0
- package/dist/sandbox/firestore/list-query-proof.js.map +1 -0
- package/dist/sandbox/firestore/local-environment.d.ts +825 -0
- package/dist/sandbox/firestore/local-environment.d.ts.map +1 -0
- package/dist/sandbox/firestore/local-environment.js +3129 -0
- package/dist/sandbox/firestore/local-environment.js.map +1 -0
- package/dist/sandbox/firestore/local-state.d.ts +196 -0
- package/dist/sandbox/firestore/local-state.d.ts.map +1 -0
- package/dist/sandbox/firestore/local-state.js +413 -0
- package/dist/sandbox/firestore/local-state.js.map +1 -0
- package/dist/sandbox/firestore/overlay-backing.d.ts +44 -0
- package/dist/sandbox/firestore/overlay-backing.d.ts.map +1 -0
- package/dist/sandbox/firestore/overlay-backing.js +82 -0
- package/dist/sandbox/firestore/overlay-backing.js.map +1 -0
- package/dist/sandbox/firestore/sentinel-capture.d.ts +30 -0
- package/dist/sandbox/firestore/sentinel-capture.d.ts.map +1 -0
- package/dist/sandbox/firestore/sentinel-capture.js +61 -0
- package/dist/sandbox/firestore/sentinel-capture.js.map +1 -0
- package/dist/sandbox/firestore/snapshot-listeners.d.ts +290 -0
- package/dist/sandbox/firestore/snapshot-listeners.d.ts.map +1 -0
- package/dist/sandbox/firestore/snapshot-listeners.js +194 -0
- package/dist/sandbox/firestore/snapshot-listeners.js.map +1 -0
- package/dist/sandbox/firestore/topk.d.ts +12 -0
- package/dist/sandbox/firestore/topk.d.ts.map +1 -0
- package/dist/sandbox/firestore/topk.js +42 -0
- package/dist/sandbox/firestore/topk.js.map +1 -0
- package/dist/sandbox/firestore/transaction-merge.d.ts +55 -0
- package/dist/sandbox/firestore/transaction-merge.d.ts.map +1 -0
- package/dist/sandbox/firestore/transaction-merge.js +107 -0
- package/dist/sandbox/firestore/transaction-merge.js.map +1 -0
- package/dist/sandbox/firestore/transaction-types.d.ts +155 -0
- package/dist/sandbox/firestore/transaction-types.d.ts.map +1 -0
- package/dist/sandbox/firestore/transaction-types.js +10 -0
- package/dist/sandbox/firestore/transaction-types.js.map +1 -0
- package/dist/sandbox/firestore/transaction.d.ts +79 -0
- package/dist/sandbox/firestore/transaction.d.ts.map +1 -0
- package/dist/sandbox/firestore/transaction.js +95 -0
- package/dist/sandbox/firestore/transaction.js.map +1 -0
- package/dist/sandbox/firestore/value-equality.d.ts +2 -0
- package/dist/sandbox/firestore/value-equality.d.ts.map +1 -0
- package/dist/sandbox/firestore/value-equality.js +35 -0
- package/dist/sandbox/firestore/value-equality.js.map +1 -0
- package/dist/sandbox/firestore/value-resolver.d.ts +172 -0
- package/dist/sandbox/firestore/value-resolver.d.ts.map +1 -0
- package/dist/sandbox/firestore/value-resolver.js +221 -0
- package/dist/sandbox/firestore/value-resolver.js.map +1 -0
- package/dist/sandbox/firestore/wire-encoder.d.ts +14 -0
- package/dist/sandbox/firestore/wire-encoder.d.ts.map +1 -0
- package/dist/sandbox/firestore/wire-encoder.js +130 -0
- package/dist/sandbox/firestore/wire-encoder.js.map +1 -0
- package/dist/sandbox/index.d.ts +53 -0
- package/dist/sandbox/index.d.ts.map +1 -0
- package/dist/sandbox/index.js +65 -0
- package/dist/sandbox/index.js.map +1 -0
- package/dist/sandbox/internal/client-app.d.ts +29 -0
- package/dist/sandbox/internal/client-app.d.ts.map +1 -0
- package/dist/sandbox/internal/client-app.js +18 -0
- package/dist/sandbox/internal/client-app.js.map +1 -0
- package/dist/sandbox/internal/firebase-error.d.ts +14 -0
- package/dist/sandbox/internal/firebase-error.d.ts.map +1 -0
- package/dist/sandbox/internal/firebase-error.js +22 -0
- package/dist/sandbox/internal/firebase-error.js.map +1 -0
- package/dist/sandbox/internal/index.d.ts +39 -0
- package/dist/sandbox/internal/index.d.ts.map +1 -0
- package/dist/sandbox/internal/index.js +75 -0
- package/dist/sandbox/internal/index.js.map +1 -0
- package/dist/sandbox/internal/local-brand.d.ts +3 -0
- package/dist/sandbox/internal/local-brand.d.ts.map +1 -0
- package/dist/sandbox/internal/local-brand.js +3 -0
- package/dist/sandbox/internal/local-brand.js.map +1 -0
- package/dist/sandbox/internal/provenance.d.ts +16 -0
- package/dist/sandbox/internal/provenance.d.ts.map +1 -0
- package/dist/sandbox/internal/provenance.js +139 -0
- package/dist/sandbox/internal/provenance.js.map +1 -0
- package/dist/sandbox/internal/sandbox-impl.d.ts +328 -0
- package/dist/sandbox/internal/sandbox-impl.d.ts.map +1 -0
- package/dist/sandbox/internal/sandbox-impl.js +695 -0
- package/dist/sandbox/internal/sandbox-impl.js.map +1 -0
- package/dist/sandbox/operation-record.d.ts +48 -0
- package/dist/sandbox/operation-record.d.ts.map +1 -0
- package/dist/sandbox/operation-record.js +143 -0
- package/dist/sandbox/operation-record.js.map +1 -0
- package/dist/sandbox/persistence/backends.d.ts +37 -0
- package/dist/sandbox/persistence/backends.d.ts.map +1 -0
- package/dist/sandbox/persistence/backends.js +202 -0
- package/dist/sandbox/persistence/backends.js.map +1 -0
- package/dist/sandbox/persistence/chunk-format.d.ts +58 -0
- package/dist/sandbox/persistence/chunk-format.d.ts.map +1 -0
- package/dist/sandbox/persistence/chunk-format.js +163 -0
- package/dist/sandbox/persistence/chunk-format.js.map +1 -0
- package/dist/sandbox/persistence/controller.d.ts +39 -0
- package/dist/sandbox/persistence/controller.d.ts.map +1 -0
- package/dist/sandbox/persistence/controller.js +505 -0
- package/dist/sandbox/persistence/controller.js.map +1 -0
- package/dist/sandbox/persistence/index.d.ts +13 -0
- package/dist/sandbox/persistence/index.d.ts.map +1 -0
- package/dist/sandbox/persistence/index.js +5 -0
- package/dist/sandbox/persistence/index.js.map +1 -0
- package/dist/sandbox/persistence/serialize.d.ts +53 -0
- package/dist/sandbox/persistence/serialize.d.ts.map +1 -0
- package/dist/sandbox/persistence/serialize.js +98 -0
- package/dist/sandbox/persistence/serialize.js.map +1 -0
- package/dist/sandbox/persistence/types.d.ts +118 -0
- package/dist/sandbox/persistence/types.d.ts.map +1 -0
- package/dist/sandbox/persistence/types.js +15 -0
- package/dist/sandbox/persistence/types.js.map +1 -0
- package/dist/sandbox/remote.d.ts +118 -0
- package/dist/sandbox/remote.d.ts.map +1 -0
- package/dist/sandbox/remote.js +60 -0
- package/dist/sandbox/remote.js.map +1 -0
- package/dist/sandbox/replay/index.d.ts +106 -0
- package/dist/sandbox/replay/index.d.ts.map +1 -0
- package/dist/sandbox/replay/index.js +246 -0
- package/dist/sandbox/replay/index.js.map +1 -0
- package/dist/sandbox/sandbox-context.d.ts +48 -0
- package/dist/sandbox/sandbox-context.d.ts.map +1 -0
- package/dist/sandbox/sandbox-context.js +97 -0
- package/dist/sandbox/sandbox-context.js.map +1 -0
- package/dist/sandbox/tab-sync/index.d.ts +120 -0
- package/dist/sandbox/tab-sync/index.d.ts.map +1 -0
- package/dist/sandbox/tab-sync/index.js +273 -0
- package/dist/sandbox/tab-sync/index.js.map +1 -0
- package/dist/sandbox/types/auth-state.d.ts +23 -0
- package/dist/sandbox/types/auth-state.d.ts.map +1 -0
- package/dist/sandbox/types/auth-state.js +8 -0
- package/dist/sandbox/types/auth-state.js.map +1 -0
- package/dist/sandbox/types/context.d.ts +33 -0
- package/dist/sandbox/types/context.d.ts.map +1 -0
- package/dist/sandbox/types/context.js +5 -0
- package/dist/sandbox/types/context.js.map +1 -0
- package/dist/sandbox/types/errors.d.ts +109 -0
- package/dist/sandbox/types/errors.d.ts.map +1 -0
- package/dist/sandbox/types/errors.js +41 -0
- package/dist/sandbox/types/errors.js.map +1 -0
- package/dist/sandbox/types/events.d.ts +577 -0
- package/dist/sandbox/types/events.d.ts.map +1 -0
- package/dist/sandbox/types/events.js +7 -0
- package/dist/sandbox/types/events.js.map +1 -0
- package/dist/sandbox/types/index.d.ts +24 -0
- package/dist/sandbox/types/index.d.ts.map +1 -0
- package/dist/sandbox/types/index.js +17 -0
- package/dist/sandbox/types/index.js.map +1 -0
- package/dist/sandbox/types/operation.d.ts +60 -0
- package/dist/sandbox/types/operation.d.ts.map +1 -0
- package/dist/sandbox/types/operation.js +3 -0
- package/dist/sandbox/types/operation.js.map +1 -0
- package/dist/sandbox/types/persistence.d.ts +130 -0
- package/dist/sandbox/types/persistence.d.ts.map +1 -0
- package/dist/sandbox/types/persistence.js +7 -0
- package/dist/sandbox/types/persistence.js.map +1 -0
- package/dist/sandbox/types/service.d.ts +357 -0
- package/dist/sandbox/types/service.d.ts.map +1 -0
- package/dist/sandbox/types/service.js +6 -0
- package/dist/sandbox/types/service.js.map +1 -0
- package/dist/storage/admin/api.d.ts +206 -0
- package/dist/storage/admin/api.d.ts.map +1 -0
- package/dist/storage/admin/api.js +349 -0
- package/dist/storage/admin/api.js.map +1 -0
- package/dist/storage/admin/handler.d.ts +28 -0
- package/dist/storage/admin/handler.d.ts.map +1 -0
- package/dist/storage/admin/handler.js +82 -0
- package/dist/storage/admin/handler.js.map +1 -0
- package/dist/storage/admin/spec.d.ts +64 -0
- package/dist/storage/admin/spec.d.ts.map +1 -0
- package/dist/storage/admin/spec.js +8 -0
- package/dist/storage/admin/spec.js.map +1 -0
- package/dist/storage/admin/tools.d.ts +22 -0
- package/dist/storage/admin/tools.d.ts.map +1 -0
- package/dist/storage/admin/tools.js +90 -0
- package/dist/storage/admin/tools.js.map +1 -0
- package/dist/storage/download.d.ts +41 -0
- package/dist/storage/download.d.ts.map +1 -0
- package/dist/storage/download.js +137 -0
- package/dist/storage/download.js.map +1 -0
- package/dist/storage/enforce.d.ts +5 -0
- package/dist/storage/enforce.d.ts.map +1 -0
- package/dist/storage/enforce.js +147 -0
- package/dist/storage/enforce.js.map +1 -0
- package/dist/storage/errors.d.ts +44 -0
- package/dist/storage/errors.d.ts.map +1 -0
- package/dist/storage/errors.js +64 -0
- package/dist/storage/errors.js.map +1 -0
- package/dist/storage/index.d.ts +45 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +39 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/instances.d.ts +9 -0
- package/dist/storage/instances.d.ts.map +1 -0
- package/dist/storage/instances.js +24 -0
- package/dist/storage/instances.js.map +1 -0
- package/dist/storage/internal.d.ts +18 -0
- package/dist/storage/internal.d.ts.map +1 -0
- package/dist/storage/internal.js +18 -0
- package/dist/storage/internal.js.map +1 -0
- package/dist/storage/list.d.ts +42 -0
- package/dist/storage/list.d.ts.map +1 -0
- package/dist/storage/list.js +83 -0
- package/dist/storage/list.js.map +1 -0
- package/dist/storage/metadata.d.ts +92 -0
- package/dist/storage/metadata.d.ts.map +1 -0
- package/dist/storage/metadata.js +164 -0
- package/dist/storage/metadata.js.map +1 -0
- package/dist/storage/persistence.d.ts +134 -0
- package/dist/storage/persistence.d.ts.map +1 -0
- package/dist/storage/persistence.js +132 -0
- package/dist/storage/persistence.js.map +1 -0
- package/dist/storage/reference.d.ts +57 -0
- package/dist/storage/reference.d.ts.map +1 -0
- package/dist/storage/reference.js +105 -0
- package/dist/storage/reference.js.map +1 -0
- package/dist/storage/rules.d.ts +339 -0
- package/dist/storage/rules.d.ts.map +1 -0
- package/dist/storage/rules.js +1334 -0
- package/dist/storage/rules.js.map +1 -0
- package/dist/storage/service.d.ts +122 -0
- package/dist/storage/service.d.ts.map +1 -0
- package/dist/storage/service.js +247 -0
- package/dist/storage/service.js.map +1 -0
- package/dist/storage/upload.d.ts +50 -0
- package/dist/storage/upload.d.ts.map +1 -0
- package/dist/storage/upload.js +246 -0
- package/dist/storage/upload.js.map +1 -0
- package/package.json +156 -3
|
@@ -0,0 +1,677 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { ExprTraceEntry } from '../simulator/evaluator.js';
|
|
3
|
+
/**
|
|
4
|
+
* THE Firestore rules method union — the one canonical declaration.
|
|
5
|
+
* Everything that talks about per-method access (the simulator's
|
|
6
|
+
* `TestCase`, the playground's workspace-test runner, the app-spec
|
|
7
|
+
* access matrix) imports this; nothing redeclares it.
|
|
8
|
+
*
|
|
9
|
+
* Note: this is the RULES vocabulary (`request.method`). Data-plane
|
|
10
|
+
* vocabularies that include `set` (sandbox `RequestEvent`, traffic
|
|
11
|
+
* types) are deliberately distinct — `set` lowers to create/update at
|
|
12
|
+
* rules-evaluation time.
|
|
13
|
+
*/
|
|
14
|
+
export declare const FIRESTORE_METHODS: readonly ["get", "list", "create", "update", "delete"];
|
|
15
|
+
export type FirestoreMethod = (typeof FIRESTORE_METHODS)[number];
|
|
16
|
+
/**
|
|
17
|
+
* THE test-identity shape — a signed-in principal for a rules check.
|
|
18
|
+
* Custom claims live under `token` and read as
|
|
19
|
+
* `request.auth.token.<name>` in rules. `null` at usage sites means
|
|
20
|
+
* unauthenticated; the shape itself is always a signed-in identity.
|
|
21
|
+
*/
|
|
22
|
+
export declare const TestIdentitySchema: z.ZodObject<{
|
|
23
|
+
uid: z.ZodString;
|
|
24
|
+
token: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
25
|
+
}, "strip", z.ZodTypeAny, {
|
|
26
|
+
uid: string;
|
|
27
|
+
token?: Record<string, unknown> | undefined;
|
|
28
|
+
}, {
|
|
29
|
+
uid: string;
|
|
30
|
+
token?: Record<string, unknown> | undefined;
|
|
31
|
+
}>;
|
|
32
|
+
export type TestIdentity = z.infer<typeof TestIdentitySchema>;
|
|
33
|
+
export declare const FunctionMockSchema: z.ZodObject<{
|
|
34
|
+
function: z.ZodEnum<["get", "exists"]>;
|
|
35
|
+
path: z.ZodString;
|
|
36
|
+
result: z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodBoolean]>;
|
|
37
|
+
}, "strip", z.ZodTypeAny, {
|
|
38
|
+
function: "get" | "exists";
|
|
39
|
+
path: string;
|
|
40
|
+
result: boolean | Record<string, unknown>;
|
|
41
|
+
}, {
|
|
42
|
+
function: "get" | "exists";
|
|
43
|
+
path: string;
|
|
44
|
+
result: boolean | Record<string, unknown>;
|
|
45
|
+
}>;
|
|
46
|
+
export type FunctionMock = z.infer<typeof FunctionMockSchema>;
|
|
47
|
+
/**
|
|
48
|
+
* Item 0.D / Item 7 — typed write-mode discriminator.
|
|
49
|
+
*
|
|
50
|
+
* Without this, an `update` test had to pre-merge its payload into the
|
|
51
|
+
* post-state by hand (because the simulator just used `tc.data` as the
|
|
52
|
+
* after-state). That works for shallow updates, but for nested-map
|
|
53
|
+
* updates and dot-path updates it silently produces the wrong shape —
|
|
54
|
+
* which then makes `request.resource.data.x.y` and `getAfter()` lie.
|
|
55
|
+
*
|
|
56
|
+
* The four modes mirror what the Firestore admin SDK actually emits:
|
|
57
|
+
* create → write fails if doc exists; after = payload
|
|
58
|
+
* set { merge: false } → full replace; pre-state irrelevant
|
|
59
|
+
* set { merge: true } → recursive merge of pre-state and payload
|
|
60
|
+
* update → top-level keys replace; dot-paths patch nested maps
|
|
61
|
+
*
|
|
62
|
+
* `writeMode` is optional. When omitted, the simulator falls back to the
|
|
63
|
+
* legacy "tc.data IS the full after-state" behavior, which keeps every
|
|
64
|
+
* existing test passing. New tests SHOULD set writeMode whenever the
|
|
65
|
+
* rule reads nested maps or calls getAfter()/existsAfter().
|
|
66
|
+
*/
|
|
67
|
+
export declare const WriteModeSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
68
|
+
kind: z.ZodLiteral<"create">;
|
|
69
|
+
}, "strip", z.ZodTypeAny, {
|
|
70
|
+
kind: "create";
|
|
71
|
+
}, {
|
|
72
|
+
kind: "create";
|
|
73
|
+
}>, z.ZodObject<{
|
|
74
|
+
kind: z.ZodLiteral<"set">;
|
|
75
|
+
merge: z.ZodBoolean;
|
|
76
|
+
}, "strip", z.ZodTypeAny, {
|
|
77
|
+
kind: "set";
|
|
78
|
+
merge: boolean;
|
|
79
|
+
}, {
|
|
80
|
+
kind: "set";
|
|
81
|
+
merge: boolean;
|
|
82
|
+
}>, z.ZodObject<{
|
|
83
|
+
kind: z.ZodLiteral<"update">;
|
|
84
|
+
}, "strip", z.ZodTypeAny, {
|
|
85
|
+
kind: "update";
|
|
86
|
+
}, {
|
|
87
|
+
kind: "update";
|
|
88
|
+
}>, z.ZodObject<{
|
|
89
|
+
kind: z.ZodLiteral<"delete">;
|
|
90
|
+
}, "strip", z.ZodTypeAny, {
|
|
91
|
+
kind: "delete";
|
|
92
|
+
}, {
|
|
93
|
+
kind: "delete";
|
|
94
|
+
}>]>;
|
|
95
|
+
export type WriteMode = z.infer<typeof WriteModeSchema>;
|
|
96
|
+
/**
|
|
97
|
+
* Shape of `request.query` — only populated for `list` operations
|
|
98
|
+
* (REBUILD_PLAN.md Item 6 follow-up). Production exposes:
|
|
99
|
+
* - limit: the requested page size
|
|
100
|
+
* - offset: the start offset within the result set
|
|
101
|
+
* - orderBy: the orderBy clause as a string (field name with optional direction)
|
|
102
|
+
*
|
|
103
|
+
* Unset fields read as `null` from rules. Tests SHOULD set this whenever the
|
|
104
|
+
* rule under evaluation references `request.query.<x>`; otherwise the field
|
|
105
|
+
* read returns null and the rule may silently DENY.
|
|
106
|
+
*/
|
|
107
|
+
export declare const ListQuerySchema: z.ZodObject<{
|
|
108
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
109
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
110
|
+
orderBy: z.ZodOptional<z.ZodString>;
|
|
111
|
+
}, "strip", z.ZodTypeAny, {
|
|
112
|
+
limit?: number | undefined;
|
|
113
|
+
offset?: number | undefined;
|
|
114
|
+
orderBy?: string | undefined;
|
|
115
|
+
}, {
|
|
116
|
+
limit?: number | undefined;
|
|
117
|
+
offset?: number | undefined;
|
|
118
|
+
orderBy?: string | undefined;
|
|
119
|
+
}>;
|
|
120
|
+
export type ListQuery = z.infer<typeof ListQuerySchema>;
|
|
121
|
+
export type ExpressionReportLevel = 'NONE' | 'VISITED' | 'FULL';
|
|
122
|
+
export interface RulesTestIssue {
|
|
123
|
+
sourcePosition?: unknown;
|
|
124
|
+
description: string;
|
|
125
|
+
severity: string;
|
|
126
|
+
}
|
|
127
|
+
export interface RulesTestApiResultDetails {
|
|
128
|
+
errorPosition?: unknown;
|
|
129
|
+
functionCalls?: unknown[];
|
|
130
|
+
visitedExpressions?: unknown[];
|
|
131
|
+
expressionReports?: unknown[];
|
|
132
|
+
}
|
|
133
|
+
export declare const TestCaseSchema: z.ZodObject<{
|
|
134
|
+
description: z.ZodString;
|
|
135
|
+
expectation: z.ZodEnum<["ALLOW", "DENY"]>;
|
|
136
|
+
method: z.ZodEnum<["get", "list", "create", "update", "delete"]>;
|
|
137
|
+
path: z.ZodString;
|
|
138
|
+
auth: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
|
|
139
|
+
uid: z.ZodString;
|
|
140
|
+
token: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
141
|
+
}, "strip", z.ZodTypeAny, {
|
|
142
|
+
uid: string;
|
|
143
|
+
token?: Record<string, unknown> | undefined;
|
|
144
|
+
}, {
|
|
145
|
+
uid: string;
|
|
146
|
+
token?: Record<string, unknown> | undefined;
|
|
147
|
+
}>, z.ZodNull]>>;
|
|
148
|
+
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
149
|
+
resource: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
150
|
+
functionMocks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
151
|
+
function: z.ZodEnum<["get", "exists"]>;
|
|
152
|
+
path: z.ZodString;
|
|
153
|
+
result: z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodBoolean]>;
|
|
154
|
+
}, "strip", z.ZodTypeAny, {
|
|
155
|
+
function: "get" | "exists";
|
|
156
|
+
path: string;
|
|
157
|
+
result: boolean | Record<string, unknown>;
|
|
158
|
+
}, {
|
|
159
|
+
function: "get" | "exists";
|
|
160
|
+
path: string;
|
|
161
|
+
result: boolean | Record<string, unknown>;
|
|
162
|
+
}>, "many">>;
|
|
163
|
+
/**
|
|
164
|
+
* Optional `request.query` payload for `list` operations only. Populating
|
|
165
|
+
* this is the only way to satisfy rules that read `request.query.limit /
|
|
166
|
+
* .offset / .orderBy` — without it, the field read returns null and a
|
|
167
|
+
* naive `request.query.limit < 100` evaluates as `null < 100 → false → DENY`.
|
|
168
|
+
* Ignored for non-list methods.
|
|
169
|
+
*/
|
|
170
|
+
query: z.ZodOptional<z.ZodObject<{
|
|
171
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
172
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
173
|
+
orderBy: z.ZodOptional<z.ZodString>;
|
|
174
|
+
}, "strip", z.ZodTypeAny, {
|
|
175
|
+
limit?: number | undefined;
|
|
176
|
+
offset?: number | undefined;
|
|
177
|
+
orderBy?: string | undefined;
|
|
178
|
+
}, {
|
|
179
|
+
limit?: number | undefined;
|
|
180
|
+
offset?: number | undefined;
|
|
181
|
+
orderBy?: string | undefined;
|
|
182
|
+
}>>;
|
|
183
|
+
/**
|
|
184
|
+
* Override for `request.time` (REBUILD_PLAN.md Item 0.F). ISO-8601 string.
|
|
185
|
+
* Defaults to wallclock when omitted — but date-gated rules then evaluate
|
|
186
|
+
* non-deterministically across CI runs. Set this whenever the rule under
|
|
187
|
+
* test references `request.time`.
|
|
188
|
+
*/
|
|
189
|
+
requestTime: z.ZodOptional<z.ZodString>;
|
|
190
|
+
/**
|
|
191
|
+
* Optional explicit write semantics (REBUILD_PLAN.md Item 0.D / Item 7).
|
|
192
|
+
* When set, the simulator runs `projectAfterState(writeMode, resource, data)`
|
|
193
|
+
* to derive both `request.resource.data` AND the value `getAfter(path)`
|
|
194
|
+
* returns. When omitted, the simulator preserves legacy behavior:
|
|
195
|
+
* `tc.data` IS the after-state.
|
|
196
|
+
*/
|
|
197
|
+
writeMode: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
198
|
+
kind: z.ZodLiteral<"create">;
|
|
199
|
+
}, "strip", z.ZodTypeAny, {
|
|
200
|
+
kind: "create";
|
|
201
|
+
}, {
|
|
202
|
+
kind: "create";
|
|
203
|
+
}>, z.ZodObject<{
|
|
204
|
+
kind: z.ZodLiteral<"set">;
|
|
205
|
+
merge: z.ZodBoolean;
|
|
206
|
+
}, "strip", z.ZodTypeAny, {
|
|
207
|
+
kind: "set";
|
|
208
|
+
merge: boolean;
|
|
209
|
+
}, {
|
|
210
|
+
kind: "set";
|
|
211
|
+
merge: boolean;
|
|
212
|
+
}>, z.ZodObject<{
|
|
213
|
+
kind: z.ZodLiteral<"update">;
|
|
214
|
+
}, "strip", z.ZodTypeAny, {
|
|
215
|
+
kind: "update";
|
|
216
|
+
}, {
|
|
217
|
+
kind: "update";
|
|
218
|
+
}>, z.ZodObject<{
|
|
219
|
+
kind: z.ZodLiteral<"delete">;
|
|
220
|
+
}, "strip", z.ZodTypeAny, {
|
|
221
|
+
kind: "delete";
|
|
222
|
+
}, {
|
|
223
|
+
kind: "delete";
|
|
224
|
+
}>]>>;
|
|
225
|
+
}, "strip", z.ZodTypeAny, {
|
|
226
|
+
path: string;
|
|
227
|
+
description: string;
|
|
228
|
+
expectation: "ALLOW" | "DENY";
|
|
229
|
+
method: "get" | "list" | "create" | "update" | "delete";
|
|
230
|
+
auth?: {
|
|
231
|
+
uid: string;
|
|
232
|
+
token?: Record<string, unknown> | undefined;
|
|
233
|
+
} | null | undefined;
|
|
234
|
+
data?: Record<string, unknown> | undefined;
|
|
235
|
+
resource?: Record<string, unknown> | undefined;
|
|
236
|
+
functionMocks?: {
|
|
237
|
+
function: "get" | "exists";
|
|
238
|
+
path: string;
|
|
239
|
+
result: boolean | Record<string, unknown>;
|
|
240
|
+
}[] | undefined;
|
|
241
|
+
query?: {
|
|
242
|
+
limit?: number | undefined;
|
|
243
|
+
offset?: number | undefined;
|
|
244
|
+
orderBy?: string | undefined;
|
|
245
|
+
} | undefined;
|
|
246
|
+
requestTime?: string | undefined;
|
|
247
|
+
writeMode?: {
|
|
248
|
+
kind: "create";
|
|
249
|
+
} | {
|
|
250
|
+
kind: "set";
|
|
251
|
+
merge: boolean;
|
|
252
|
+
} | {
|
|
253
|
+
kind: "update";
|
|
254
|
+
} | {
|
|
255
|
+
kind: "delete";
|
|
256
|
+
} | undefined;
|
|
257
|
+
}, {
|
|
258
|
+
path: string;
|
|
259
|
+
description: string;
|
|
260
|
+
expectation: "ALLOW" | "DENY";
|
|
261
|
+
method: "get" | "list" | "create" | "update" | "delete";
|
|
262
|
+
auth?: {
|
|
263
|
+
uid: string;
|
|
264
|
+
token?: Record<string, unknown> | undefined;
|
|
265
|
+
} | null | undefined;
|
|
266
|
+
data?: Record<string, unknown> | undefined;
|
|
267
|
+
resource?: Record<string, unknown> | undefined;
|
|
268
|
+
functionMocks?: {
|
|
269
|
+
function: "get" | "exists";
|
|
270
|
+
path: string;
|
|
271
|
+
result: boolean | Record<string, unknown>;
|
|
272
|
+
}[] | undefined;
|
|
273
|
+
query?: {
|
|
274
|
+
limit?: number | undefined;
|
|
275
|
+
offset?: number | undefined;
|
|
276
|
+
orderBy?: string | undefined;
|
|
277
|
+
} | undefined;
|
|
278
|
+
requestTime?: string | undefined;
|
|
279
|
+
writeMode?: {
|
|
280
|
+
kind: "create";
|
|
281
|
+
} | {
|
|
282
|
+
kind: "set";
|
|
283
|
+
merge: boolean;
|
|
284
|
+
} | {
|
|
285
|
+
kind: "update";
|
|
286
|
+
} | {
|
|
287
|
+
kind: "delete";
|
|
288
|
+
} | undefined;
|
|
289
|
+
}>;
|
|
290
|
+
export type TestCase = z.infer<typeof TestCaseSchema>;
|
|
291
|
+
/**
|
|
292
|
+
* Per-rule evaluation entry produced by the local simulator. Each entry
|
|
293
|
+
* corresponds to one `allow` declaration the simulator evaluated, in
|
|
294
|
+
* source order.
|
|
295
|
+
*
|
|
296
|
+
* Populated only by the internal simulator (which has the parsed
|
|
297
|
+
* AST in hand); the production Test API client (`TestFirestoreRulesHandler`)
|
|
298
|
+
* returns an empty `trace` and surfaces the wire text on `TestResult.notes`.
|
|
299
|
+
*/
|
|
300
|
+
export interface RuleEvaluation {
|
|
301
|
+
/** Position of the `allow` declaration within its match block, 0-indexed
|
|
302
|
+
* in source order. */
|
|
303
|
+
ruleIndex: number;
|
|
304
|
+
/** Operations declared on the allow rule (`read`, `write`, `get`, ...). */
|
|
305
|
+
operations: Array<'read' | 'write' | 'get' | 'list' | 'create' | 'update' | 'delete'>;
|
|
306
|
+
/**
|
|
307
|
+
* Outcome for this single rule. The TestResult's overall `decision` is
|
|
308
|
+
* derived from the trace under OR semantics (any `'ALLOW'` ⇒ ALLOW,
|
|
309
|
+
* else any `'UNSUPPORTED'` ⇒ UNSUPPORTED, else DENY).
|
|
310
|
+
*/
|
|
311
|
+
verdict: 'ALLOW' | 'DENY' | 'UNSUPPORTED' | 'ERROR';
|
|
312
|
+
/** Pretty-printed condition expression. Use this verbatim in agent-facing
|
|
313
|
+
* summaries — derived from the AST via `printExpression`, so it survives
|
|
314
|
+
* comment removal and whitespace re-flow in the source. */
|
|
315
|
+
conditionText?: string;
|
|
316
|
+
/** 1-indexed source line of the `allow` keyword. Populated when the
|
|
317
|
+
* rule's `loc` was set by the parser. */
|
|
318
|
+
line?: number;
|
|
319
|
+
/**
|
|
320
|
+
* Source-rendered path of the `match` block this rule belongs to, e.g.
|
|
321
|
+
* `'/docs/{docId}'` or `'/{document=**}'`. Populated when the request
|
|
322
|
+
* path matches MORE THAN ONE overlapping `match` block: allows OR-combine
|
|
323
|
+
* across every matching block (production semantics — there is no
|
|
324
|
+
* first-match-wins), so a DENY trace can carry entries from several
|
|
325
|
+
* blocks. This field keeps them unambiguous — which block did this rule
|
|
326
|
+
* live in. Absent for the common single-block case.
|
|
327
|
+
*/
|
|
328
|
+
matchPath?: string;
|
|
329
|
+
/** Human-readable diagnostic — populated for `UNSUPPORTED` (which sim
|
|
330
|
+
* surface is missing) and `ERROR` (which runtime error caused the
|
|
331
|
+
* rule to abort). */
|
|
332
|
+
message?: string;
|
|
333
|
+
/**
|
|
334
|
+
* Per-sub-expression evaluation trace for this rule's condition.
|
|
335
|
+
* Flat, in evaluation order; reconstruct the tree via the `parent`
|
|
336
|
+
* index on each entry. Populated by the local simulator when the
|
|
337
|
+
* caller enables tracing — currently always on for
|
|
338
|
+
* the simulator so agents can see *why*
|
|
339
|
+
* a rule's condition resolved as it did (which disjunct was true,
|
|
340
|
+
* which `let` binding the value flowed through, which method call
|
|
341
|
+
* threw). Absent on entries that came from the production Test API
|
|
342
|
+
* client (no AST visibility).
|
|
343
|
+
*/
|
|
344
|
+
expressionTrace?: ExprTraceEntry[];
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* One `match` block the simulator considered while resolving the
|
|
348
|
+
* request path. Together, `PathResolutionTrace.attempts` forms a
|
|
349
|
+
* complete picture of "what did the resolver try, and where did
|
|
350
|
+
* each attempt fall apart?" — useful for the agent when a request
|
|
351
|
+
* lands in the default-deny path because no block matched.
|
|
352
|
+
*
|
|
353
|
+
* Recorded only by the local simulator; the production Test API
|
|
354
|
+
* client doesn't expose path-resolution internals.
|
|
355
|
+
*/
|
|
356
|
+
export interface PathResolutionEntry {
|
|
357
|
+
/** Source line of the `match` keyword. Absent when the parser
|
|
358
|
+
* didn't populate `loc` (programmatically-constructed blocks). */
|
|
359
|
+
line?: number;
|
|
360
|
+
/** Raw match path as written in the source, e.g.
|
|
361
|
+
* `'/users/{uid}/messages/{mId}'`. */
|
|
362
|
+
blockPath: string;
|
|
363
|
+
/** How many of the block's path segments matched against the
|
|
364
|
+
* request path before the resolver gave up or completed. */
|
|
365
|
+
matchedSegments: number;
|
|
366
|
+
/** Total segments in the block's path pattern. */
|
|
367
|
+
totalSegments: number;
|
|
368
|
+
/** Wildcard / recursive bindings the block produced (even when
|
|
369
|
+
* the overall match failed — the partial bindings are still
|
|
370
|
+
* diagnostic). */
|
|
371
|
+
bindings: Record<string, string>;
|
|
372
|
+
/** True for a block that fully resolved (no remaining request
|
|
373
|
+
* segments AND every nested match either completed or wasn't
|
|
374
|
+
* needed). MULTIPLE entries may be `matched: true` in one trace:
|
|
375
|
+
* a request path can match several overlapping `match` blocks
|
|
376
|
+
* (e.g. `/docs/{doc}` and a sibling `/{document=**}`), and every
|
|
377
|
+
* matching block's allows OR-combine. Container blocks whose
|
|
378
|
+
* children completed the resolution are also flagged matched. */
|
|
379
|
+
matched: boolean;
|
|
380
|
+
/** Why the resolver moved on. Absent when `matched: true`.
|
|
381
|
+
* - `'literal-mismatch'` — a literal segment in the block
|
|
382
|
+
* didn't match the corresponding request segment.
|
|
383
|
+
* - `'request-shorter'` — block path had more segments than
|
|
384
|
+
* the request supplied (e.g. block is `/a/{b}/c`, request is `/a/x`).
|
|
385
|
+
* - `'no-matching-child'` — block matched its own segments but
|
|
386
|
+
* remaining request segments weren't covered by any child block. */
|
|
387
|
+
reason?: 'literal-mismatch' | 'request-shorter' | 'no-matching-child';
|
|
388
|
+
}
|
|
389
|
+
export interface PathResolutionTrace {
|
|
390
|
+
/** The request path that was resolved, verbatim from `TestCase.path`. */
|
|
391
|
+
requestPath: string;
|
|
392
|
+
/** One entry per match block the resolver considered, in the
|
|
393
|
+
* order it tried them. `attempts[i].matched: true` marks a
|
|
394
|
+
* block that fully resolved; one or more per trace, since
|
|
395
|
+
* overlapping blocks all match and OR-combine. */
|
|
396
|
+
attempts: PathResolutionEntry[];
|
|
397
|
+
}
|
|
398
|
+
export interface TestResult {
|
|
399
|
+
description: string;
|
|
400
|
+
expectation: 'ALLOW' | 'DENY';
|
|
401
|
+
/**
|
|
402
|
+
* Expectation-relative state. `'UNSUPPORTED'` is emitted only by the
|
|
403
|
+
* local simulator when it hits a
|
|
404
|
+
* feature it doesn't yet implement — see REBUILD_PLAN.md Item 0.A. The
|
|
405
|
+
* production Test API (`TestFirestoreRulesHandler`) only ever returns
|
|
406
|
+
* `'PASSED'` | `'FAILED'`.
|
|
407
|
+
*/
|
|
408
|
+
state: 'PASSED' | 'FAILED' | 'UNSUPPORTED';
|
|
409
|
+
/** Absolute decision (ignores expectation). Always set. */
|
|
410
|
+
decision: 'ALLOW' | 'DENY' | 'UNSUPPORTED';
|
|
411
|
+
/** Per-rule evaluation entries in source order. Empty when no allow rule
|
|
412
|
+
* was evaluated (e.g. no matching path, or method not declared by any
|
|
413
|
+
* allow rule); see `notes` for the reason in that case. Also empty when
|
|
414
|
+
* the result came from the production Test API client. */
|
|
415
|
+
trace: RuleEvaluation[];
|
|
416
|
+
/** Top-level diagnostic strings. From the local simulator, holds
|
|
417
|
+
* no-match / no-rule-found descriptions (e.g. `"No match block found
|
|
418
|
+
* for path 'X'"`). From the production Test API client, this is the
|
|
419
|
+
* raw `debugMessages` from the wire response. */
|
|
420
|
+
notes: string[];
|
|
421
|
+
/** Per-test-case path-resolution trace — which `match` blocks the
|
|
422
|
+
* resolver considered and where each one failed (or succeeded).
|
|
423
|
+
* Populated by the local simulator; absent on results from the
|
|
424
|
+
* production Test API client. Empty `attempts` is possible when
|
|
425
|
+
* the ruleset has no match blocks at all (degenerate, but valid). */
|
|
426
|
+
pathResolution?: PathResolutionTrace;
|
|
427
|
+
/** Diagnostics returned by Firebase's hosted Rules Test API. Local
|
|
428
|
+
* simulation leaves this absent because its structured diagnostics live
|
|
429
|
+
* in `trace` and `pathResolution`. */
|
|
430
|
+
api?: RulesTestApiResultDetails;
|
|
431
|
+
}
|
|
432
|
+
export type TestFirestoreRulesResult = {
|
|
433
|
+
success: true;
|
|
434
|
+
data: {
|
|
435
|
+
passed: number;
|
|
436
|
+
failed: number;
|
|
437
|
+
unsupported: number;
|
|
438
|
+
results: TestResult[];
|
|
439
|
+
issues?: RulesTestIssue[];
|
|
440
|
+
};
|
|
441
|
+
} | {
|
|
442
|
+
success: false;
|
|
443
|
+
error: {
|
|
444
|
+
code: string;
|
|
445
|
+
message: string;
|
|
446
|
+
recoverable: boolean;
|
|
447
|
+
};
|
|
448
|
+
};
|
|
449
|
+
/**
|
|
450
|
+
* Render a `TestResult` as a flat `debugMessages: string[]` trail.
|
|
451
|
+
*
|
|
452
|
+
* Format mirrors what the simulator emitted before the structured trace
|
|
453
|
+
* landed: per-rule lines `Rule #<i> (<ops>) → <verdict>` plus top-level
|
|
454
|
+
* `notes` plus a final `Simulated: <decision>` summary line.
|
|
455
|
+
*
|
|
456
|
+
* Use this for the (small) set of consumers that still expect a flat
|
|
457
|
+
* string trail — currently the sandbox's `RequestEvent.debugMessages`
|
|
458
|
+
* surface, which propagates into the playground's traffic log UI. New
|
|
459
|
+
* consumers should read `result.trace` + `result.notes` directly.
|
|
460
|
+
*/
|
|
461
|
+
/**
|
|
462
|
+
* The DECIDING rule's source position + sub-expression trace, projected from a
|
|
463
|
+
* {@link TestResult} — for BOTH verdicts: the `allow` rule that granted an
|
|
464
|
+
* ALLOW, or the rule responsible for a DENY. Additive companion to
|
|
465
|
+
* {@link renderLegacyDebugMessages}: that flattens the per-rule trace to
|
|
466
|
+
* strings (dropping `line` and `expressionTrace`); this preserves the
|
|
467
|
+
* structured detail a UI needs to point at the exact source line and step
|
|
468
|
+
* through the evaluation ("show the work"). Position/trace fields are optional
|
|
469
|
+
* so a partial trace projects honestly.
|
|
470
|
+
*/
|
|
471
|
+
export interface EvaluatedRuleInfo {
|
|
472
|
+
/** The verdict the deciding rule produced for the op. */
|
|
473
|
+
verdict: 'allow' | 'deny';
|
|
474
|
+
/** 1-indexed source line of the deciding `allow` rule. */
|
|
475
|
+
line?: number;
|
|
476
|
+
/** Pretty-printed condition text of the deciding rule. */
|
|
477
|
+
expression?: string;
|
|
478
|
+
/** Per-sub-expression evaluation trace of the deciding rule. */
|
|
479
|
+
expressionTrace?: ExprTraceEntry[];
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* Project the DECIDING rule from a simulated {@link TestResult}.
|
|
483
|
+
*
|
|
484
|
+
* For an ALLOW, picks the `ALLOW` trace entry (evaluation short-circuits on the
|
|
485
|
+
* first allowing rule, so it's unique). For a DENY, picks the rule the sandbox
|
|
486
|
+
* would report as responsible: the first `DENY`/`ERROR` entry, falling back to
|
|
487
|
+
* the last evaluated rule. Returns `undefined` when no rule was evaluated
|
|
488
|
+
* (implicit deny — no matching `allow`) or the simulator abstained
|
|
489
|
+
* (`UNSUPPORTED`). Never invents data: a missing line/trace stays absent.
|
|
490
|
+
*/
|
|
491
|
+
export declare function projectEvaluatedRule(result: TestResult): EvaluatedRuleInfo | undefined;
|
|
492
|
+
export declare function renderLegacyDebugMessages(result: TestResult): string[];
|
|
493
|
+
export interface ApiTestCase {
|
|
494
|
+
expectation: 'ALLOW' | 'DENY';
|
|
495
|
+
expressionReportLevel?: ExpressionReportLevel;
|
|
496
|
+
request: {
|
|
497
|
+
auth: {
|
|
498
|
+
uid: string;
|
|
499
|
+
token: Record<string, unknown>;
|
|
500
|
+
} | undefined;
|
|
501
|
+
method: string;
|
|
502
|
+
path: string;
|
|
503
|
+
resource?: {
|
|
504
|
+
data: Record<string, unknown>;
|
|
505
|
+
};
|
|
506
|
+
query?: ListQuery;
|
|
507
|
+
/** ISO-8601 — forwarded from `TestCase.requestTime` (Item 0.F). */
|
|
508
|
+
time?: string;
|
|
509
|
+
};
|
|
510
|
+
resource?: {
|
|
511
|
+
data: Record<string, unknown>;
|
|
512
|
+
};
|
|
513
|
+
functionMocks?: ApiFunctionMock[];
|
|
514
|
+
}
|
|
515
|
+
export interface ApiFunctionMock {
|
|
516
|
+
function: 'get' | 'exists';
|
|
517
|
+
args: Array<{
|
|
518
|
+
exactValue: string;
|
|
519
|
+
}>;
|
|
520
|
+
result: {
|
|
521
|
+
value: {
|
|
522
|
+
data: Record<string, unknown>;
|
|
523
|
+
};
|
|
524
|
+
} | {
|
|
525
|
+
value: boolean;
|
|
526
|
+
} | undefined;
|
|
527
|
+
}
|
|
528
|
+
export declare function normalizeDocPath(path: string): string;
|
|
529
|
+
export interface BuildApiTestCaseOptions {
|
|
530
|
+
expressionReportLevel?: ExpressionReportLevel;
|
|
531
|
+
}
|
|
532
|
+
export declare function buildApiTestCase(tc: TestCase, opts?: BuildApiTestCaseOptions): ApiTestCase;
|
|
533
|
+
/** The rules methods a Storage test case may exercise — short verbs only.
|
|
534
|
+
* The coarse umbrellas (`read`/`write`) are a GRANT-side vocabulary; a
|
|
535
|
+
* request is always one precise granular verb. */
|
|
536
|
+
export declare const STORAGE_TEST_METHODS: readonly ["get", "list", "create", "update", "delete"];
|
|
537
|
+
export type StorageTestMethod = (typeof STORAGE_TEST_METHODS)[number];
|
|
538
|
+
/** Default bucket used when a case omits one. The bucket name is opaque to
|
|
539
|
+
* the rules engine (matched by the `{bucket}` path param), so any stable
|
|
540
|
+
* value works; keep it constant so observation paths are reproducible. */
|
|
541
|
+
export declare const DEFAULT_STORAGE_BUCKET = "demo-pyric.appspot.com";
|
|
542
|
+
/**
|
|
543
|
+
* `request.resource.*` / `resource.*` binding shape the Storage rules language
|
|
544
|
+
* sees.
|
|
545
|
+
*
|
|
546
|
+
* This is ALSO the wire shape: the production Rules Test API takes the
|
|
547
|
+
* `resource` field of a test case as a LITERAL MAP and derives nothing from the
|
|
548
|
+
* request path — live-probed, a case that sends `{ size }` and whose rule reads
|
|
549
|
+
* `resource.name` gets "Property name is undefined on object." and DENIES.
|
|
550
|
+
* So every field a scenario's rule reads must be supplied here explicitly.
|
|
551
|
+
*
|
|
552
|
+
* Types follow production: `timeCreated` / `updated` are TIMESTAMPS and must be
|
|
553
|
+
* ISO-8601 strings (sending epoch millis is rejected with "Unsupported
|
|
554
|
+
* operation error. Received: int < timestamp"); `generation` /
|
|
555
|
+
* `metageneration` are ints.
|
|
556
|
+
*/
|
|
557
|
+
export interface StorageResourceShape {
|
|
558
|
+
size?: number;
|
|
559
|
+
contentType?: string;
|
|
560
|
+
metadata?: Record<string, string>;
|
|
561
|
+
/** Full object path within the bucket (`uploads/pic.png`) — GCS object-name
|
|
562
|
+
* semantics, NOT the client SDK's last-path-segment `name`. */
|
|
563
|
+
name?: string;
|
|
564
|
+
bucket?: string;
|
|
565
|
+
/** ISO-8601. Production types it `timestamp`. */
|
|
566
|
+
timeCreated?: string;
|
|
567
|
+
/** ISO-8601. Production types it `timestamp`. The language has NO
|
|
568
|
+
* `timeUpdated` field — this is the update-time field. */
|
|
569
|
+
updated?: string;
|
|
570
|
+
generation?: number;
|
|
571
|
+
metageneration?: number;
|
|
572
|
+
}
|
|
573
|
+
export declare const StorageFunctionMockSchema: z.ZodObject<{
|
|
574
|
+
function: z.ZodEnum<["get", "exists"]>;
|
|
575
|
+
path: z.ZodString;
|
|
576
|
+
result: z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodBoolean]>;
|
|
577
|
+
}, "strip", z.ZodTypeAny, {
|
|
578
|
+
function: "get" | "exists";
|
|
579
|
+
path: string;
|
|
580
|
+
result: boolean | Record<string, unknown>;
|
|
581
|
+
}, {
|
|
582
|
+
function: "get" | "exists";
|
|
583
|
+
path: string;
|
|
584
|
+
result: boolean | Record<string, unknown>;
|
|
585
|
+
}>;
|
|
586
|
+
export type StorageFunctionMock = z.infer<typeof StorageFunctionMockSchema>;
|
|
587
|
+
/**
|
|
588
|
+
* A single Storage rules conformance case. Mirrors the Firestore {@link TestCase}
|
|
589
|
+
* but with the Storage request shape. `path` is the OBJECT path within the
|
|
590
|
+
* bucket (e.g. `"images/alice.png"`); `normalizeStoragePath` lifts it to the
|
|
591
|
+
* `/b/{bucket}/o/{object}` resource name that BOTH the production API and the
|
|
592
|
+
* in-process evaluator match against.
|
|
593
|
+
*/
|
|
594
|
+
export interface StorageTestCase {
|
|
595
|
+
description: string;
|
|
596
|
+
expectation: 'ALLOW' | 'DENY';
|
|
597
|
+
method: StorageTestMethod;
|
|
598
|
+
/** Object path within the bucket, e.g. `"images/alice.png"`. */
|
|
599
|
+
path: string;
|
|
600
|
+
/** Bucket name; defaults to {@link DEFAULT_STORAGE_BUCKET}. */
|
|
601
|
+
bucket?: string;
|
|
602
|
+
/** Auth context; `null`/omitted for anonymous. */
|
|
603
|
+
auth?: TestIdentity | null;
|
|
604
|
+
/** `request.resource` — the about-to-write object (writes only). */
|
|
605
|
+
resource?: StorageResourceShape;
|
|
606
|
+
/** `resource` — the existing object. `null`/omitted means no object yet
|
|
607
|
+
* (the create case), which the evaluator reads as `resource == null`. */
|
|
608
|
+
existingResource?: StorageResourceShape | null;
|
|
609
|
+
/** Override for `request.time` (ISO-8601). Set whenever the rule reads
|
|
610
|
+
* `request.time`, so date-gated cases are deterministic. */
|
|
611
|
+
requestTime?: string;
|
|
612
|
+
/** Cross-service `firestore.get()/exists()` mocks. */
|
|
613
|
+
functionMocks?: StorageFunctionMock[];
|
|
614
|
+
/**
|
|
615
|
+
* Marks a case whose in-process EVALUATOR verdict is KNOWN to diverge from
|
|
616
|
+
* production because the evaluator does not implement the feature the rule
|
|
617
|
+
* uses (e.g. `resource.timeCreated`). The capture still records production's
|
|
618
|
+
* real verdict; the replay suite records but does NOT assert these, exactly
|
|
619
|
+
* as the Firestore replay skips its simulator's `UNSUPPORTED` abstentions.
|
|
620
|
+
* The string is the reason, for the record.
|
|
621
|
+
*/
|
|
622
|
+
knownGap?: string;
|
|
623
|
+
}
|
|
624
|
+
export interface StorageApiFunctionMock {
|
|
625
|
+
/** QUALIFIED cross-service name: `firestore.get` / `firestore.exists`. */
|
|
626
|
+
function: string;
|
|
627
|
+
args: Array<{
|
|
628
|
+
exactValue: string;
|
|
629
|
+
}>;
|
|
630
|
+
result: {
|
|
631
|
+
value: {
|
|
632
|
+
data: Record<string, unknown>;
|
|
633
|
+
};
|
|
634
|
+
} | {
|
|
635
|
+
value: boolean;
|
|
636
|
+
} | undefined;
|
|
637
|
+
}
|
|
638
|
+
export interface StorageApiTestCase {
|
|
639
|
+
expectation: 'ALLOW' | 'DENY';
|
|
640
|
+
request: {
|
|
641
|
+
auth: {
|
|
642
|
+
uid: string;
|
|
643
|
+
token: Record<string, unknown>;
|
|
644
|
+
} | undefined;
|
|
645
|
+
method: string;
|
|
646
|
+
path: string;
|
|
647
|
+
/** ISO-8601 — forwarded from `StorageTestCase.requestTime`. */
|
|
648
|
+
time?: string;
|
|
649
|
+
/** `request.resource` for writes. */
|
|
650
|
+
resource?: StorageResourceShape;
|
|
651
|
+
};
|
|
652
|
+
/** Existing-object `resource`. */
|
|
653
|
+
resource?: StorageResourceShape;
|
|
654
|
+
functionMocks?: StorageApiFunctionMock[];
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* Lift an object path to the Storage resource-name form the rules engine and
|
|
658
|
+
* the evaluator both match against: `/b/{bucket}/o/{object}`. A path that is
|
|
659
|
+
* already absolute has its leading slash stripped before the object segment so
|
|
660
|
+
* `"images/x"` and `"/images/x"` normalize identically.
|
|
661
|
+
*/
|
|
662
|
+
export declare function normalizeStoragePath(objectPath: string, bucket?: string): string;
|
|
663
|
+
/** Convert a {@link StorageTestCase} into the production Rules Test API wire
|
|
664
|
+
* shape. Symmetric with {@link buildApiTestCase} for Firestore. */
|
|
665
|
+
export declare function buildStorageApiTestCase(tc: StorageTestCase): StorageApiTestCase;
|
|
666
|
+
/**
|
|
667
|
+
* Build a cross-service Firestore function mock for a Storage ruleset. Unlike
|
|
668
|
+
* the Firestore-internal {@link buildFunctionMock} (bare `get`/`exists`), a
|
|
669
|
+
* Storage rule reaching into Firestore names the function with its service
|
|
670
|
+
* QUALIFIER — `firestore.get` / `firestore.exists` — live-confirmed against the
|
|
671
|
+
* production endpoint. The `exists()` result is a bool `{ value }`, never the
|
|
672
|
+
* `{ value: { data } }` map shape (the same fix `buildFunctionMock` carries):
|
|
673
|
+
* a map there is rejected with a bool/map type error and silently denies.
|
|
674
|
+
*/
|
|
675
|
+
export declare function buildStorageFunctionMock(mock: StorageFunctionMock): StorageApiFunctionMock;
|
|
676
|
+
export declare function buildFunctionMock(mock: FunctionMock): ApiFunctionMock;
|
|
677
|
+
//# sourceMappingURL=spec.d.ts.map
|