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,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `pyric/firestore` — shared sandbox snapshot rehydration.
|
|
3
|
+
*
|
|
4
|
+
* The read-path snapshot helpers used by BOTH `reads` (`getDoc` /
|
|
5
|
+
* `getDocs`) and `listeners` (`onSnapshot`): value finalization wrappers,
|
|
6
|
+
* ref tagging, and the `.exists` property→method normalization that makes
|
|
7
|
+
* sandbox snapshots match Firebase's modular-SDK shape.
|
|
8
|
+
*
|
|
9
|
+
* Package-internal — the barrel re-exports none of these; the public
|
|
10
|
+
* snapshot TYPES live in `types.ts`.
|
|
11
|
+
*/
|
|
12
|
+
import { tag, sandboxDb, sandboxLiveRebuild, refToUnderlying, finalizeSandboxData, } from './state.js';
|
|
13
|
+
/**
|
|
14
|
+
* Wrap a raw sandbox `DocumentSnapshot` so `.data()` runs the final
|
|
15
|
+
* value translation (rules wrappers → `firebase/firestore` types).
|
|
16
|
+
* Other surface (id / ref / exists) passes through unchanged so
|
|
17
|
+
* `tagSnapshotRefs` still operates on the original snap object.
|
|
18
|
+
*/
|
|
19
|
+
export function wrapSandboxDocSnap(snap) {
|
|
20
|
+
const s = snap;
|
|
21
|
+
const original = s.data.bind(snap);
|
|
22
|
+
Object.defineProperty(s, 'data', {
|
|
23
|
+
value: () => finalizeSandboxData(original()),
|
|
24
|
+
configurable: true,
|
|
25
|
+
writable: true,
|
|
26
|
+
});
|
|
27
|
+
return snap;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Wrap a plain sandbox `DocumentSnapshot` so `.data()` runs the
|
|
31
|
+
* converter's `fromFirestore`. Identity / `exists` pass through.
|
|
32
|
+
*/
|
|
33
|
+
export function applyConverterToDocSnap(snap, conv) {
|
|
34
|
+
return {
|
|
35
|
+
id: snap.id,
|
|
36
|
+
exists: snap.exists,
|
|
37
|
+
data: () => {
|
|
38
|
+
// Sandbox snaps expose `exists` as a property (Admin shape).
|
|
39
|
+
const exists = typeof snap.exists === 'function'
|
|
40
|
+
? snap.exists()
|
|
41
|
+
: snap.exists;
|
|
42
|
+
if (!exists)
|
|
43
|
+
return undefined;
|
|
44
|
+
const raw = finalizeSandboxData(snap.data());
|
|
45
|
+
// fromFirestore receives a QueryDocumentSnapshot-narrowed view —
|
|
46
|
+
// doc is known to exist at this branch, so `data()` returns the
|
|
47
|
+
// raw value (never undefined).
|
|
48
|
+
const queryDocSnap = {
|
|
49
|
+
id: snap.id,
|
|
50
|
+
exists: true,
|
|
51
|
+
data: () => raw,
|
|
52
|
+
};
|
|
53
|
+
return conv.fromFirestore(queryDocSnap);
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Walk a snapshot and tag every ref-shaped field in `refToTarget`,
|
|
59
|
+
* AND normalize `.exists` to method form so consumer code targeting
|
|
60
|
+
* Firebase's modular SDK (`if (snap.exists())`) works uniformly.
|
|
61
|
+
*
|
|
62
|
+
* The chainable adapter exposes `exists` as a property (Admin SDK
|
|
63
|
+
* shape — `if (snap.exists)`). Firebase's modular SDK exposes it as
|
|
64
|
+
* a method (`if (snap.exists())`). Without this normalization, user
|
|
65
|
+
* code written against the documented Firebase API crashes against
|
|
66
|
+
* the sandbox with "snap.exists is not a function" — a parity bug
|
|
67
|
+
* agents and developers all rediscover by hand.
|
|
68
|
+
*
|
|
69
|
+
* Both forms remain readable on the returned object — the function
|
|
70
|
+
* branch in any "did the existing FirestoreTab handle both shapes"
|
|
71
|
+
* code still works.
|
|
72
|
+
*
|
|
73
|
+
* Idempotent — tagging an already-tagged object is a no-op, and the
|
|
74
|
+
* `exists` getter we install is a no-op when one already exists.
|
|
75
|
+
*/
|
|
76
|
+
export function tagSnapshotRefs(snap, target) {
|
|
77
|
+
if (!snap || typeof snap !== 'object')
|
|
78
|
+
return snap;
|
|
79
|
+
const s = snap;
|
|
80
|
+
if (s.ref) {
|
|
81
|
+
tag(s.ref, target);
|
|
82
|
+
wireSnapshotRefToUnderlying(s.ref, target);
|
|
83
|
+
}
|
|
84
|
+
normalizeExists(s);
|
|
85
|
+
if (Array.isArray(s.docs)) {
|
|
86
|
+
for (const doc of s.docs) {
|
|
87
|
+
if (doc?.ref) {
|
|
88
|
+
tag(doc.ref, target);
|
|
89
|
+
wireSnapshotRefToUnderlying(doc.ref, target);
|
|
90
|
+
}
|
|
91
|
+
if (doc)
|
|
92
|
+
normalizeExists(doc);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return snap;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Snapshot `.ref` objects from the sandbox carry only `{ id, path }`
|
|
99
|
+
* — no `.onSnapshot`, `.get`, `.set`, etc. — so a follow-up
|
|
100
|
+
* `onSnapshot(snap.ref)` would crash with "ref.onSnapshot is not a
|
|
101
|
+
* function." Bind the snapshot ref to a full chainable doc ref via
|
|
102
|
+
* `refToUnderlying`; `underlyingOf(snap.ref)` then returns the real
|
|
103
|
+
* ref the chainable adapter exposes its op methods on. No-op for refs that
|
|
104
|
+
* already have a registered underlying.
|
|
105
|
+
*/
|
|
106
|
+
export function wireSnapshotRefToUnderlying(snapRef, target) {
|
|
107
|
+
if (typeof snapRef.path !== 'string' || snapRef.path.length === 0)
|
|
108
|
+
return;
|
|
109
|
+
if (refToUnderlying.has(snapRef))
|
|
110
|
+
return;
|
|
111
|
+
const path = snapRef.path;
|
|
112
|
+
try {
|
|
113
|
+
// Build a concrete chainable doc to back the snap-ref via
|
|
114
|
+
// `refToUnderlying`. For sandbox-live, also record a rebuild
|
|
115
|
+
// closure so subsequent ops on the snap ref re-resolve against
|
|
116
|
+
// the *current* `sandbox.currentUser` (rather than re-using the
|
|
117
|
+
// listener-time auth that was frozen into the chainable).
|
|
118
|
+
const full = sandboxDb(target).doc(path);
|
|
119
|
+
refToUnderlying.set(snapRef, full);
|
|
120
|
+
if (target.kind === 'sandbox-live') {
|
|
121
|
+
sandboxLiveRebuild.set(full, (fresh) => fresh.doc(path));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
// path → doc resolution can throw if the path is malformed
|
|
126
|
+
// (odd segment count, etc.). Best-effort — leave the snap ref
|
|
127
|
+
// pointing at itself; the next op call will surface a clear
|
|
128
|
+
// "ref.onSnapshot is not a function" instead of mangling state.
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* If `obj.exists` is a boolean property, replace it with a function
|
|
133
|
+
* that returns that value — so consumer code can do `snap.exists()`
|
|
134
|
+
* uniformly across the sandbox + Firebase backends. Idempotent: if
|
|
135
|
+
* `exists` is already a function, leave it alone.
|
|
136
|
+
*
|
|
137
|
+
* `configurable: true` so a later normalize (over a re-yielded
|
|
138
|
+
* snapshot from the same listener) can re-install cleanly.
|
|
139
|
+
*/
|
|
140
|
+
export function normalizeExists(obj) {
|
|
141
|
+
const current = obj.exists;
|
|
142
|
+
if (typeof current === 'function')
|
|
143
|
+
return;
|
|
144
|
+
const value = current === true;
|
|
145
|
+
try {
|
|
146
|
+
Object.defineProperty(obj, 'exists', {
|
|
147
|
+
value: () => value,
|
|
148
|
+
writable: true,
|
|
149
|
+
configurable: true,
|
|
150
|
+
enumerable: true,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
// Some snapshot impls might freeze the object. Best-effort —
|
|
155
|
+
// a frozen snap already provides the property reading the user
|
|
156
|
+
// can do `if (snap.exists)` against; the call-site failure is
|
|
157
|
+
// surfaced via the error boundary.
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=snapshots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/firestore/snapshots.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `pyric/firestore` — shared routing + branding state.
|
|
3
|
+
*
|
|
4
|
+
* The sandbox routing machinery every family module depends on: the
|
|
5
|
+
* {@link TARGET_SYMBOL} brand, the ref→target / converter / underlying
|
|
6
|
+
* WeakMaps, the tag / resolve helpers, and the sandbox read-path value
|
|
7
|
+
* finalizers. Hoisted out of the former single-file entry first (see the
|
|
8
|
+
* barrel `index.ts`) so the per-family moves that follow are clean.
|
|
9
|
+
*
|
|
10
|
+
* Only {@link TARGET_SYMBOL} is part of the published `pyric/firestore`
|
|
11
|
+
* surface (re-exported by the barrel). Every other export here is
|
|
12
|
+
* package-internal: it is imported by the family modules but never
|
|
13
|
+
* re-exported by the barrel, so it stays off the public subpath.
|
|
14
|
+
*/
|
|
15
|
+
import { type SandboxFirestore, type DocumentReference as ChainDocRef, type CollectionReference as ChainCollRef, type Query as ChainQuery, type DocumentData } from 'pyric/sandbox/admin-firestore';
|
|
16
|
+
import type { Sandbox } from 'pyric/sandbox';
|
|
17
|
+
import type { FirestoreDataConverter } from './types.js';
|
|
18
|
+
/**
|
|
19
|
+
* Hidden property on every {@link Firestore} handle. Discriminates
|
|
20
|
+
* the sandbox backend so free functions can recover their owner.
|
|
21
|
+
*/
|
|
22
|
+
export declare const TARGET_SYMBOL: unique symbol;
|
|
23
|
+
export type SandboxTarget = {
|
|
24
|
+
kind: 'sandbox';
|
|
25
|
+
db: SandboxFirestore;
|
|
26
|
+
sandbox: Sandbox;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Live-identity sandbox target — built by `getFirestore(sandbox)`.
|
|
30
|
+
*
|
|
31
|
+
* Unlike {@link SandboxTarget} (a frozen `SandboxContext` chosen at
|
|
32
|
+
* `getFirestore(ctx)` time), this variant reads `sandbox.currentUser`
|
|
33
|
+
* per operation via {@link getDb}. Every op constructs a fresh
|
|
34
|
+
* `SandboxContext` from the sandbox's *current* `currentUser` and
|
|
35
|
+
* obtains a chainable handle bound to that ctx.
|
|
36
|
+
*
|
|
37
|
+
* Wired into the modular surface so app code that uses both
|
|
38
|
+
* `pyric/auth` and `pyric/firestore` against the same `Sandbox` sees
|
|
39
|
+
* live auth-state changes: a `signInAnonymously` / `setUser` call on
|
|
40
|
+
* the auth side mutates `sandbox.currentUser`, and the next Firestore
|
|
41
|
+
* op evaluates rules under the new identity.
|
|
42
|
+
*
|
|
43
|
+
* `withAuth(null)` is anonymous; `withAuth(state)` is signed-in.
|
|
44
|
+
*/
|
|
45
|
+
export type SandboxLiveTarget = {
|
|
46
|
+
kind: 'sandbox-live';
|
|
47
|
+
sandbox: Sandbox;
|
|
48
|
+
getDb: () => SandboxFirestore;
|
|
49
|
+
authScope?: object;
|
|
50
|
+
own?: (cleanup: () => void) => () => void;
|
|
51
|
+
assertUsable?: () => void;
|
|
52
|
+
};
|
|
53
|
+
export type Target = SandboxTarget | SandboxLiveTarget;
|
|
54
|
+
/**
|
|
55
|
+
* Resolve a sandbox-flavored target to its chainable Firestore handle.
|
|
56
|
+
*
|
|
57
|
+
* `sandbox` targets carry a frozen handle from `getFirestore(ctx)` time;
|
|
58
|
+
* `sandbox-live` targets build a fresh handle bound to the sandbox's
|
|
59
|
+
* current `currentUser` at every call. Callers that issue multiple ops
|
|
60
|
+
* in a row should cache the result into a local — every `getDb()` call
|
|
61
|
+
* rebuilds the chainable, which is correct but wasteful when the auth
|
|
62
|
+
* state hasn't moved between adjacent ops.
|
|
63
|
+
*/
|
|
64
|
+
export declare function sandboxDb(target: SandboxTarget | SandboxLiveTarget): SandboxFirestore;
|
|
65
|
+
/**
|
|
66
|
+
* Map from refs / queries to their owning target. Populated by every
|
|
67
|
+
* factory + chaining operation; consulted by every free function.
|
|
68
|
+
*
|
|
69
|
+
* WeakMap keys let entries GC alongside the refs that produced them.
|
|
70
|
+
*/
|
|
71
|
+
export declare const refToTarget: WeakMap<object, Target>;
|
|
72
|
+
export declare function tag<T extends object>(obj: T, target: Target): T;
|
|
73
|
+
/**
|
|
74
|
+
* For `sandbox-live` refs/queries, record a closure that rebuilds the
|
|
75
|
+
* chainable ref against a fresh `SandboxFirestore` handle. Used by
|
|
76
|
+
* every dispatch site to re-resolve the ref under the sandbox's
|
|
77
|
+
* *current* `currentUser` rather than the auth that was active when
|
|
78
|
+
* the ref was first built.
|
|
79
|
+
*
|
|
80
|
+
* Necessary because `pyric-admin`'s chainable refs capture auth at
|
|
81
|
+
* construction time — calling `chainRef.get()` on a held ref runs
|
|
82
|
+
* under the auth from when the ref was built, not from when the op
|
|
83
|
+
* fires. For sandbox-live, every op must construct a fresh chainable
|
|
84
|
+
* ref bound to the current ctx before issuing the op.
|
|
85
|
+
*
|
|
86
|
+
* The closure form supports the full chain: `doc(coll, id)` rebuilds
|
|
87
|
+
* via `rebuild(coll)(db).doc(id)`; `query(coll, where(...))` rebuilds
|
|
88
|
+
* via `apply(constraints)` over the rebuilt source. Stored only for
|
|
89
|
+
* sandbox-live refs; frozen `sandbox` refs keep held-ref semantics.
|
|
90
|
+
*/
|
|
91
|
+
export declare const sandboxLiveRebuild: WeakMap<object, (db: SandboxFirestore) => object>;
|
|
92
|
+
export declare function tagLive<T extends object>(obj: T, target: SandboxLiveTarget, rebuild: (db: SandboxFirestore) => object): T;
|
|
93
|
+
/** Resolve the chainable doc ref to use for an op against `ref`. For
|
|
94
|
+
* `sandbox`, returns the held chainable; for `sandbox-live`, runs
|
|
95
|
+
* the recorded rebuild closure against a fresh handle. */
|
|
96
|
+
export declare function chainDocFor(target: SandboxTarget | SandboxLiveTarget, ref: object): ChainDocRef;
|
|
97
|
+
/** Same as {@link chainDocFor} but typed for collection refs. */
|
|
98
|
+
export declare function chainCollFor(target: SandboxTarget | SandboxLiveTarget, ref: object): ChainCollRef;
|
|
99
|
+
/** Same as {@link chainDocFor} but typed for queries. */
|
|
100
|
+
export declare function chainQueryFor(target: SandboxTarget | SandboxLiveTarget, q: object): ChainQuery;
|
|
101
|
+
/**
|
|
102
|
+
* Tag a sandbox-flavored ref + (optionally) record its rebuild
|
|
103
|
+
* closure. Routes to {@link tag} for frozen-ctx targets and
|
|
104
|
+
* {@link tagLive} for live targets. Centralizes the per-factory
|
|
105
|
+
* "record rebuild on live, plain tag on frozen" decision.
|
|
106
|
+
*/
|
|
107
|
+
export declare function tagSandboxRef<T extends object>(obj: T, target: SandboxTarget | SandboxLiveTarget, rebuild: (db: SandboxFirestore) => object): T;
|
|
108
|
+
/** Resolve a sandbox-flavored parent's rebuild closure. For
|
|
109
|
+
* sandbox-live, the parent must have been tagged via
|
|
110
|
+
* {@link tagSandboxRef}; for sandbox, returns a no-op stand-in
|
|
111
|
+
* since the held chainable is the only ref the dispatch sites use.
|
|
112
|
+
*
|
|
113
|
+
* Used by chaining factories (`doc(coll, …)`, `collection(doc, …)`,
|
|
114
|
+
* `query(coll, …)`) to derive a rebuild that reads the parent's
|
|
115
|
+
* rebuild and applies one more step. */
|
|
116
|
+
export declare function parentRebuild(parent: object): (db: SandboxFirestore) => object;
|
|
117
|
+
export declare function targetOf(refOrDb: object): Target;
|
|
118
|
+
export declare const refToConverter: WeakMap<object, FirestoreDataConverter<unknown, DocumentData> | null>;
|
|
119
|
+
export declare const refToUnderlying: WeakMap<object, object>;
|
|
120
|
+
export declare function converterOf(obj: object): FirestoreDataConverter<unknown> | null | undefined;
|
|
121
|
+
/** Resolve to the plain chain / fb ref. `withConverter` shells point
|
|
122
|
+
* at the underlying; everything else is its own underlying. */
|
|
123
|
+
export declare function underlyingOf<T extends object>(obj: T): object;
|
|
124
|
+
/** Build a new sandbox shell that points at `underlying` and carries
|
|
125
|
+
* `converter`. Inherits routing + identity (id/path) from underlying.
|
|
126
|
+
*
|
|
127
|
+
* Accepts both `SandboxTarget` and `SandboxLiveTarget`: the shell
|
|
128
|
+
* exists at the modular layer (above the chainable), so it only
|
|
129
|
+
* needs to record routing for `targetOf` and the underlying pointer
|
|
130
|
+
* for `underlyingOf`. The chain re-resolution (under current auth)
|
|
131
|
+
* happens at op time via {@link chainDocFor} / {@link chainCollFor}
|
|
132
|
+
* / {@link chainQueryFor} on the underlying. */
|
|
133
|
+
export declare function buildSandboxShell(underlying: {
|
|
134
|
+
id?: string;
|
|
135
|
+
path?: string;
|
|
136
|
+
}, target: SandboxTarget | SandboxLiveTarget, converter: FirestoreDataConverter<unknown>): object;
|
|
137
|
+
export declare function asChainDoc(r: object): ChainDocRef;
|
|
138
|
+
export declare function asChainColl(r: object): ChainCollRef;
|
|
139
|
+
export declare function asChainQuery(r: object): ChainQuery;
|
|
140
|
+
export declare function isNumberArray(a: unknown): a is number[];
|
|
141
|
+
/**
|
|
142
|
+
* A vector read from the sandbox may arrive as a live `Vector` wrapper, a
|
|
143
|
+
* prototype-stripped plain object (`{typeName:'vector', value}`), or the wire
|
|
144
|
+
* sentinel (`{__type__:'__vector__', value}`). Duck-type all three; `instanceof`
|
|
145
|
+
* alone misses the stripped form the read path hands back. Returns the
|
|
146
|
+
* components, or null if `value` isn't a vector.
|
|
147
|
+
*/
|
|
148
|
+
export declare function vectorValuesOf(value: unknown): number[] | null;
|
|
149
|
+
/**
|
|
150
|
+
* Final read-path translation for sandbox-target snapshots.
|
|
151
|
+
*
|
|
152
|
+
* The admin-compat read-path walker (in `pyric/sandbox`'s admin-compat
|
|
153
|
+
* `snapshots.ts`) leaves `pyric/rules` wrappers (`Bytes`,
|
|
154
|
+
* `LatLng`) as identity. The modular mirror owns the final conversion to
|
|
155
|
+
* its public scalar classes.
|
|
156
|
+
*
|
|
157
|
+
* Walk the value tree and convert recognized rules wrappers into the
|
|
158
|
+
* corresponding local modular value class so `instanceof` survives a
|
|
159
|
+
* sandbox round trip.
|
|
160
|
+
*
|
|
161
|
+
* Closes firestore COMPAT rows #109 (`Bytes`) and #110 (`GeoPoint`).
|
|
162
|
+
* Vectors (#111, `VectorValue` / `vector()`) round-trip the same way as of
|
|
163
|
+
* Phase 0-F; the formal COMPAT ✓ + oracle observation land with the
|
|
164
|
+
* conformance phase (Phase 5b). Vector SEARCH (`findNearest`) is separate.
|
|
165
|
+
*/
|
|
166
|
+
export declare function finalizeSandboxValue(value: unknown): unknown;
|
|
167
|
+
export declare function finalizeSandboxData(data: DocumentData | undefined): DocumentData | undefined;
|
|
168
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/firestore/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `pyric/firestore` — shared routing + branding state.
|
|
3
|
+
*
|
|
4
|
+
* The sandbox routing machinery every family module depends on: the
|
|
5
|
+
* {@link TARGET_SYMBOL} brand, the ref→target / converter / underlying
|
|
6
|
+
* WeakMaps, the tag / resolve helpers, and the sandbox read-path value
|
|
7
|
+
* finalizers. Hoisted out of the former single-file entry first (see the
|
|
8
|
+
* barrel `index.ts`) so the per-family moves that follow are clean.
|
|
9
|
+
*
|
|
10
|
+
* Only {@link TARGET_SYMBOL} is part of the published `pyric/firestore`
|
|
11
|
+
* surface (re-exported by the barrel). Every other export here is
|
|
12
|
+
* package-internal: it is imported by the family modules but never
|
|
13
|
+
* re-exported by the barrel, so it stays off the public subpath.
|
|
14
|
+
*/
|
|
15
|
+
import { Bytes as RulesBytes, LatLng as RulesLatLng, Vector as RulesVector, } from 'pyric/rules/internal';
|
|
16
|
+
import { Bytes, GeoPoint, vector } from './field-values.js';
|
|
17
|
+
// ─── Branding + routing ───────────────────────────────────────────────
|
|
18
|
+
/**
|
|
19
|
+
* Hidden property on every {@link Firestore} handle. Discriminates
|
|
20
|
+
* the sandbox backend so free functions can recover their owner.
|
|
21
|
+
*/
|
|
22
|
+
export const TARGET_SYMBOL = Symbol('pyric/firestore/target');
|
|
23
|
+
/**
|
|
24
|
+
* Resolve a sandbox-flavored target to its chainable Firestore handle.
|
|
25
|
+
*
|
|
26
|
+
* `sandbox` targets carry a frozen handle from `getFirestore(ctx)` time;
|
|
27
|
+
* `sandbox-live` targets build a fresh handle bound to the sandbox's
|
|
28
|
+
* current `currentUser` at every call. Callers that issue multiple ops
|
|
29
|
+
* in a row should cache the result into a local — every `getDb()` call
|
|
30
|
+
* rebuilds the chainable, which is correct but wasteful when the auth
|
|
31
|
+
* state hasn't moved between adjacent ops.
|
|
32
|
+
*/
|
|
33
|
+
export function sandboxDb(target) {
|
|
34
|
+
return target.kind === 'sandbox' ? target.db : target.getDb();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Map from refs / queries to their owning target. Populated by every
|
|
38
|
+
* factory + chaining operation; consulted by every free function.
|
|
39
|
+
*
|
|
40
|
+
* WeakMap keys let entries GC alongside the refs that produced them.
|
|
41
|
+
*/
|
|
42
|
+
export const refToTarget = new WeakMap();
|
|
43
|
+
export function tag(obj, target) {
|
|
44
|
+
refToTarget.set(obj, target);
|
|
45
|
+
return obj;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* For `sandbox-live` refs/queries, record a closure that rebuilds the
|
|
49
|
+
* chainable ref against a fresh `SandboxFirestore` handle. Used by
|
|
50
|
+
* every dispatch site to re-resolve the ref under the sandbox's
|
|
51
|
+
* *current* `currentUser` rather than the auth that was active when
|
|
52
|
+
* the ref was first built.
|
|
53
|
+
*
|
|
54
|
+
* Necessary because `pyric-admin`'s chainable refs capture auth at
|
|
55
|
+
* construction time — calling `chainRef.get()` on a held ref runs
|
|
56
|
+
* under the auth from when the ref was built, not from when the op
|
|
57
|
+
* fires. For sandbox-live, every op must construct a fresh chainable
|
|
58
|
+
* ref bound to the current ctx before issuing the op.
|
|
59
|
+
*
|
|
60
|
+
* The closure form supports the full chain: `doc(coll, id)` rebuilds
|
|
61
|
+
* via `rebuild(coll)(db).doc(id)`; `query(coll, where(...))` rebuilds
|
|
62
|
+
* via `apply(constraints)` over the rebuilt source. Stored only for
|
|
63
|
+
* sandbox-live refs; frozen `sandbox` refs keep held-ref semantics.
|
|
64
|
+
*/
|
|
65
|
+
export const sandboxLiveRebuild = new WeakMap();
|
|
66
|
+
export function tagLive(obj, target, rebuild) {
|
|
67
|
+
refToTarget.set(obj, target);
|
|
68
|
+
sandboxLiveRebuild.set(obj, rebuild);
|
|
69
|
+
return obj;
|
|
70
|
+
}
|
|
71
|
+
/** Resolve the chainable doc ref to use for an op against `ref`. For
|
|
72
|
+
* `sandbox`, returns the held chainable; for `sandbox-live`, runs
|
|
73
|
+
* the recorded rebuild closure against a fresh handle. */
|
|
74
|
+
export function chainDocFor(target, ref) {
|
|
75
|
+
const underlying = underlyingOf(ref);
|
|
76
|
+
if (target.kind === 'sandbox')
|
|
77
|
+
return underlying;
|
|
78
|
+
const rebuild = sandboxLiveRebuild.get(underlying);
|
|
79
|
+
if (!rebuild) {
|
|
80
|
+
throw new TypeError('pyric/firestore: live ref missing rebuild closure — was it produced by a factory in this package?');
|
|
81
|
+
}
|
|
82
|
+
return rebuild(sandboxDb(target));
|
|
83
|
+
}
|
|
84
|
+
/** Same as {@link chainDocFor} but typed for collection refs. */
|
|
85
|
+
export function chainCollFor(target, ref) {
|
|
86
|
+
const underlying = underlyingOf(ref);
|
|
87
|
+
if (target.kind === 'sandbox')
|
|
88
|
+
return underlying;
|
|
89
|
+
const rebuild = sandboxLiveRebuild.get(underlying);
|
|
90
|
+
if (!rebuild) {
|
|
91
|
+
throw new TypeError('pyric/firestore: live collection ref missing rebuild closure.');
|
|
92
|
+
}
|
|
93
|
+
return rebuild(sandboxDb(target));
|
|
94
|
+
}
|
|
95
|
+
/** Same as {@link chainDocFor} but typed for queries. */
|
|
96
|
+
export function chainQueryFor(target, q) {
|
|
97
|
+
const underlying = underlyingOf(q);
|
|
98
|
+
if (target.kind === 'sandbox')
|
|
99
|
+
return underlying;
|
|
100
|
+
const rebuild = sandboxLiveRebuild.get(underlying);
|
|
101
|
+
if (!rebuild) {
|
|
102
|
+
throw new TypeError('pyric/firestore: live query missing rebuild closure.');
|
|
103
|
+
}
|
|
104
|
+
return rebuild(sandboxDb(target));
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Tag a sandbox-flavored ref + (optionally) record its rebuild
|
|
108
|
+
* closure. Routes to {@link tag} for frozen-ctx targets and
|
|
109
|
+
* {@link tagLive} for live targets. Centralizes the per-factory
|
|
110
|
+
* "record rebuild on live, plain tag on frozen" decision.
|
|
111
|
+
*/
|
|
112
|
+
export function tagSandboxRef(obj, target, rebuild) {
|
|
113
|
+
if (target.kind === 'sandbox-live') {
|
|
114
|
+
return tagLive(obj, target, rebuild);
|
|
115
|
+
}
|
|
116
|
+
return tag(obj, target);
|
|
117
|
+
}
|
|
118
|
+
/** Resolve a sandbox-flavored parent's rebuild closure. For
|
|
119
|
+
* sandbox-live, the parent must have been tagged via
|
|
120
|
+
* {@link tagSandboxRef}; for sandbox, returns a no-op stand-in
|
|
121
|
+
* since the held chainable is the only ref the dispatch sites use.
|
|
122
|
+
*
|
|
123
|
+
* Used by chaining factories (`doc(coll, …)`, `collection(doc, …)`,
|
|
124
|
+
* `query(coll, …)`) to derive a rebuild that reads the parent's
|
|
125
|
+
* rebuild and applies one more step. */
|
|
126
|
+
export function parentRebuild(parent) {
|
|
127
|
+
const underlying = underlyingOf(parent);
|
|
128
|
+
const fn = sandboxLiveRebuild.get(underlying);
|
|
129
|
+
if (fn)
|
|
130
|
+
return fn;
|
|
131
|
+
// Frozen-ctx target. The chainable parent ref is bound to the same
|
|
132
|
+
// ctx for life; returning it as-is is correct because frozen-ctx
|
|
133
|
+
// chaining is what `pyric-admin`'s adapter already supports.
|
|
134
|
+
return () => underlying;
|
|
135
|
+
}
|
|
136
|
+
export function targetOf(refOrDb) {
|
|
137
|
+
let target;
|
|
138
|
+
if (TARGET_SYMBOL in refOrDb) {
|
|
139
|
+
target = refOrDb[TARGET_SYMBOL];
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
target = refToTarget.get(refOrDb);
|
|
143
|
+
}
|
|
144
|
+
if (!target) {
|
|
145
|
+
throw new TypeError('pyric/firestore: unrecognized reference — was it produced by a factory in this package?');
|
|
146
|
+
}
|
|
147
|
+
if (target.kind === 'sandbox-live')
|
|
148
|
+
target.assertUsable?.();
|
|
149
|
+
return target;
|
|
150
|
+
}
|
|
151
|
+
export const refToConverter = new WeakMap();
|
|
152
|
+
export const refToUnderlying = new WeakMap();
|
|
153
|
+
export function converterOf(obj) {
|
|
154
|
+
return refToConverter.get(obj);
|
|
155
|
+
}
|
|
156
|
+
/** Resolve to the plain chain / fb ref. `withConverter` shells point
|
|
157
|
+
* at the underlying; everything else is its own underlying. */
|
|
158
|
+
export function underlyingOf(obj) {
|
|
159
|
+
return refToUnderlying.get(obj) ?? obj;
|
|
160
|
+
}
|
|
161
|
+
/** Build a new sandbox shell that points at `underlying` and carries
|
|
162
|
+
* `converter`. Inherits routing + identity (id/path) from underlying.
|
|
163
|
+
*
|
|
164
|
+
* Accepts both `SandboxTarget` and `SandboxLiveTarget`: the shell
|
|
165
|
+
* exists at the modular layer (above the chainable), so it only
|
|
166
|
+
* needs to record routing for `targetOf` and the underlying pointer
|
|
167
|
+
* for `underlyingOf`. The chain re-resolution (under current auth)
|
|
168
|
+
* happens at op time via {@link chainDocFor} / {@link chainCollFor}
|
|
169
|
+
* / {@link chainQueryFor} on the underlying. */
|
|
170
|
+
export function buildSandboxShell(underlying, target, converter) {
|
|
171
|
+
const shell = {
|
|
172
|
+
id: underlying.id ?? '',
|
|
173
|
+
path: underlying.path ?? '',
|
|
174
|
+
};
|
|
175
|
+
refToConverter.set(shell, converter);
|
|
176
|
+
refToUnderlying.set(shell, underlying);
|
|
177
|
+
refToTarget.set(shell, target);
|
|
178
|
+
return shell;
|
|
179
|
+
}
|
|
180
|
+
// Shorthand: cast helpers used inside route arms. The runtime objects
|
|
181
|
+
// match these shapes precisely; the casts let the routing keep its
|
|
182
|
+
// single-typed public surface.
|
|
183
|
+
export function asChainDoc(r) { return r; }
|
|
184
|
+
export function asChainColl(r) { return r; }
|
|
185
|
+
export function asChainQuery(r) { return r; }
|
|
186
|
+
export function isNumberArray(a) {
|
|
187
|
+
return Array.isArray(a) && a.every((n) => typeof n === 'number');
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* A vector read from the sandbox may arrive as a live `Vector` wrapper, a
|
|
191
|
+
* prototype-stripped plain object (`{typeName:'vector', value}`), or the wire
|
|
192
|
+
* sentinel (`{__type__:'__vector__', value}`). Duck-type all three; `instanceof`
|
|
193
|
+
* alone misses the stripped form the read path hands back. Returns the
|
|
194
|
+
* components, or null if `value` isn't a vector.
|
|
195
|
+
*/
|
|
196
|
+
export function vectorValuesOf(value) {
|
|
197
|
+
if (value instanceof RulesVector)
|
|
198
|
+
return Array.from(value.value);
|
|
199
|
+
if (value === null || typeof value !== 'object')
|
|
200
|
+
return null;
|
|
201
|
+
const o = value;
|
|
202
|
+
if (o.typeName === 'vector' && isNumberArray(o.value))
|
|
203
|
+
return o.value;
|
|
204
|
+
if (o.__type__ === '__vector__' && isNumberArray(o.value))
|
|
205
|
+
return o.value;
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Final read-path translation for sandbox-target snapshots.
|
|
210
|
+
*
|
|
211
|
+
* The admin-compat read-path walker (in `pyric/sandbox`'s admin-compat
|
|
212
|
+
* `snapshots.ts`) leaves `pyric/rules` wrappers (`Bytes`,
|
|
213
|
+
* `LatLng`) as identity. The modular mirror owns the final conversion to
|
|
214
|
+
* its public scalar classes.
|
|
215
|
+
*
|
|
216
|
+
* Walk the value tree and convert recognized rules wrappers into the
|
|
217
|
+
* corresponding local modular value class so `instanceof` survives a
|
|
218
|
+
* sandbox round trip.
|
|
219
|
+
*
|
|
220
|
+
* Closes firestore COMPAT rows #109 (`Bytes`) and #110 (`GeoPoint`).
|
|
221
|
+
* Vectors (#111, `VectorValue` / `vector()`) round-trip the same way as of
|
|
222
|
+
* Phase 0-F; the formal COMPAT ✓ + oracle observation land with the
|
|
223
|
+
* conformance phase (Phase 5b). Vector SEARCH (`findNearest`) is separate.
|
|
224
|
+
*/
|
|
225
|
+
export function finalizeSandboxValue(value) {
|
|
226
|
+
if (value instanceof RulesBytes) {
|
|
227
|
+
return Bytes.fromUint8Array(value.data);
|
|
228
|
+
}
|
|
229
|
+
if (value instanceof RulesLatLng) {
|
|
230
|
+
return new GeoPoint(value.lat, value.lng);
|
|
231
|
+
}
|
|
232
|
+
const vectorValues = vectorValuesOf(value);
|
|
233
|
+
if (vectorValues) {
|
|
234
|
+
return vector(vectorValues);
|
|
235
|
+
}
|
|
236
|
+
if (Array.isArray(value)) {
|
|
237
|
+
return value.map(finalizeSandboxValue);
|
|
238
|
+
}
|
|
239
|
+
// Only walk plain objects (`{...}` literals + `Object.create(null)`).
|
|
240
|
+
// Class instances we don't recognize pass through as identity so we
|
|
241
|
+
// don't accidentally destructure their private state (the same gap
|
|
242
|
+
// that motivated #109/#110 in the first place).
|
|
243
|
+
if (value !== null && typeof value === 'object') {
|
|
244
|
+
const proto = Object.getPrototypeOf(value);
|
|
245
|
+
if (proto === Object.prototype || proto === null) {
|
|
246
|
+
const out = {};
|
|
247
|
+
for (const [k, v] of Object.entries(value)) {
|
|
248
|
+
out[k] = finalizeSandboxValue(v);
|
|
249
|
+
}
|
|
250
|
+
return out;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return value;
|
|
254
|
+
}
|
|
255
|
+
export function finalizeSandboxData(data) {
|
|
256
|
+
if (data === undefined)
|
|
257
|
+
return undefined;
|
|
258
|
+
return finalizeSandboxValue(data);
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/firestore/state.ts"],"names":[],"mappings":"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"}
|